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