Dicke State Preparation#

dicke_state(qv, k)[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
from qrisp.misc.dicke_state import dicke_state

qv = QuantumVariable(4)
x(qv[2])
x(qv[3])

dicke_state(qv, 2)
split_cycle_shift(qv, highIndex, lowIndex)[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.