qat.core.simutil.get_substate
- qat.core.simutil.get_substate(state: int, nbqbits: int, qubits_list: list) int
Extract substate for a given qubit list.
Example
Extracting qubits [1, 2] from state \(\ket{100}\) returns \(\ket{00}\)
Extracting qubits [1, 0] from state \(\ket{100}\) returns \(\ket{01}\)
Extracting qubits [0, 1] from state \(\ket{100}\) returns \(\ket{10}\)
Note
In the examples above, state \(\ket{100}\) is given by the state integer and the number of qubits.
from qat.core.simutil import get_substate state = 0b100 # State |100> stored as an integer nb_qubits = 3 print(get_substate(state, nb_qubits, [0, 1]) == 0b10) print(get_substate(state, nb_qubits, [1, 0]) == 0b01)
True True
- Parameters:
state (int) – State index
nbqbits (int) – Number of qubits of input state
qubits_list (list) – Measured qubits
- Returns:
Substate
- Return type:
int