Internally Used Gate Methods
The gate classes described in the API reference possess various methods to implement the Protocols defined in the Reference of Internal Functions.
TwoQubitGate
- TwoQubitGate.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- TwoQubitGate.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states. The number of blocks and their dimensionality depends on the interaction strengths.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- TwoQubitGate.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- TwoQubitGate.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- TwoQubitGate.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array
TwoQubitGateAsym
- TwoQubitGateAsym.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- TwoQubitGateAsym.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- TwoQubitGateAsym.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- TwoQubitGateAsym.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- TwoQubitGateAsym.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array
ThreeQubitGateIsosceles
- ThreeQubitGateIsosceles.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- ThreeQubitGateIsosceles.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states. The number of blocks and their dimensionality depends on the interaction strengths.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- ThreeQubitGateIsosceles.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- ThreeQubitGateIsosceles.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- ThreeQubitGateIsosceles.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array
ThreeQubitGateAsym
- ThreeQubitGateAsym.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- ThreeQubitGateAsym.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- ThreeQubitGateAsym.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- ThreeQubitGateAsym.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- ThreeQubitGateAsym.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array
FourQubitGatePyramidal
- FourQubitGatePyramidal.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- FourQubitGatePyramidal.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states. The number of blocks and their dimensionality depends on the interaction strengths.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- FourQubitGatePyramidal.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- FourQubitGatePyramidal.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- FourQubitGatePyramidal.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array
FourQubitGateAsym
- FourQubitGateAsym.with_decay(decay)[source]
Creates a copy of the gate with a new decay strength.
- Parameters:
decay (float) – New decay strength \(\gamma/\Omega_0\).
- Returns:
A copy of the gate object with the new decay strength.
- Return type:
Self
- FourQubitGateAsym.hamiltonian_functions_for_basis_states()[source]
The full gate Hamiltonian can be split into distinct blocks that describe the time evolution of basis states.
- Returns:
Tuple of Hamiltonian functions.
- Return type:
tuple[TypeAliasForwardRef(‘HamiltonianFunction’), …]
- FourQubitGateAsym.rydberg_population_operators_for_basis_states()[source]
For each basis state, the Rydberg population operators count the number of Rydberg excitations on the diagonal.
- Returns:
Tuple of operators.
- Return type:
tuple[Array, …]
- FourQubitGateAsym.initial_basis_states()[source]
The initial basis states \((1, 0, ...)\) of appropriate dimension are provided.
- Returns:
Tuple of arrays.
- Return type:
tuple[Array, …]
- FourQubitGateAsym.rydberg_time(expectation_values_of_basis_states)[source]
Given the expectation values of Rydberg populations for each basis state, integrated over the full pulse, this function calculates the average time spent in Rydberg states during the gate.
- Parameters:
expectation_values_of_basis_states (tuple[Array, ...]) – Expected Rydberg times for each basis state.
- Returns:
Averaged Rydberg time \(T_R\).
- Return type:
Array