Dicke State Preparation#
- dicke_state(qv: QuantumVariable | Sequence[Qubit], k: int) None[source]#
Dicke State initialization of a QuantumVariable, based on the deterministic alogrithm in https://arxiv.org/abs/1904.07358. This algorithm creates an equal superposition of Dicke states for a given Hamming weight. The initial input variable has to be within this subspace.
- Parameters:
- qvQuantumVariable
Initial quantum variable to be prepared. Has to be in target subspace.
- kint
The Hamming weight (i.e. number of “ones”) for the desired dicke state.
Examples
We initiate a QuantumVariable in the “0011” state and from this create the Dicke state with Hamming weight 2.
from qrisp import QuantumVariable, x, dicke_state qv = QuantumVariable(4) x(qv[2]) x(qv[3]) dicke_state(qv, 2)
- split_cycle_shift(qv: QuantumVariable | Sequence[Qubit], highIndex: int, lowIndex: int) None[source]#
Helper function for Dicke State initialization of a QuantumVariable, based on the deterministic alogrithm in https://arxiv.org/abs/1904.07358.
- Parameters:
- qvQuantumVariable
Initial quantum variable to be prepared. Has to be in target subspace.
- highIndexint
Index for indication of preparation steps, as seen in original algorithm.
- lowIndexint
Index for indication of preparation steps, as seen in original algorithm.