uniqc.algorithmics.state_preparation.basis_state module#

Computational basis-state preparation.

uniqc.algorithmics.state_preparation.basis_state.basis_state(circuit, state, qubits=None)[source]#

Prepare a computational basis state |state> on the given qubits.

Applies X gates to the qubits whose corresponding bit in the binary representation of state is 1. All other qubits are left in |0>.

Parameters:
  • circuit (Circuit) – Quantum circuit to operate on (mutated in-place).

  • state (int) – Non-negative integer whose binary representation specifies the target basis state. Qubit 0 corresponds to the least-significant bit.

  • qubits (List[int] | None) – Qubit indices to use. None means list(range(n_bits)) where n_bits is the number of bits needed.

Raises:

ValueErrorstate is negative.

Return type:

None

Example

>>> from uniqc.circuit_builder import Circuit
>>> from uniqc.algorithmics.state_preparation import basis_state
>>> c = Circuit()
>>> basis_state(c, state=5, qubits=[0, 1, 2])  # ``|101>``