PreparationBasis¶
- class PreparationBasis(name)[source]¶
Abstract base class for a tomography preparation basis.
Subclasses should implement the following abstract methods to define a preparation basis:
The
circuit()
method which returns the logical preparationQuantumCircuit
for basis element index on the specified qubits. This circuit should be a logical circuit on the specified number of qubits and will be remapped to the corresponding physical qubits during transpilation.The
matrix()
method which returns the density matrix prepared by the bases element index on the specified qubits.The
index_shape()
method which returns the shape of allowed basis indices for the specified qubits, and their values.The
matrix_shape()
method which returns the shape of subsystem dimensions of the density matrix state on the specified qubits.
Initialize a basis.
- Parameters:
name (str) – the name for the basis.
Attributes
- name¶
Return the basis name
Methods
- abstract circuit(index, qubits=None)¶
Return the basis preparation circuit.
- Parameters:
index (Sequence[int]) – a list of basis elements to tensor together.
qubits (Sequence[int] | None) – Optional, the physical qubit subsystems for the index. If None this will be set to
(0, ..., N-1)
for a length N index.
- Returns:
The logical basis circuit for the specified index and qubits.
- Return type:
Note
This returns a logical circuit on the specified number of qubits and should be remapped to the corresponding physical qubits during experiment transpilation.
- abstract index_shape(qubits)¶
Return the shape for the specified number of indices.
- Parameters:
qubits (Sequence[int]) – the basis subsystems to return the index shape for.
- Returns:
The shape of allowed values for the index on the specified qubits.
- Return type:
Tuple[int, …]
- abstract matrix(index, qubits=None)[source]¶
Return the density matrix data array for the index and qubits.
This state is used by tomography fitters for reconstruction and should correspond to the target state for the corresponding preparation
circuit()
.- Parameters:
index (Sequence[int]) – a list of subsystem basis indices.
qubits (Sequence[int] | None) – Optional, the physical qubit subsystems for the index. If None this will be set to
(0, ..., N-1)
for a length N index.
- Returns:
The density matrix prepared by the specified index and qubits.
- Return type:
ndarray