Quantum State Preparation#
- prepare(qv, target_array, reversed=False)[source]#
This method performs quantum state preparation. Given a vector \(b=(b_0,\dotsc,b_{N-1})\), the function acts as
\[\ket{0} \rightarrow \sum_{i=0}^{N-1}b_i\ket{i}\]- Parameters:
- qvQuantumVariable
The quantum variable on which to apply state preparation.
- target_arraynumpy.ndarray
The vector \(b\).
- reversedboolean
If set to
True
, the endianness is reversed. The default isFalse
.
Examples
We create a QuantumFloat and prepare the state \(\sum_{i=0}^3b_i\ket{i}\) for \(b=(0,1,2,3)\).
b = np.array([0,1,2,3]) qf = QuantumFloat(2) prepare(qf, b) res_dict = qf.get_measurement() for k, v in res_dict.items(): res_dict[k] = v**0.5 for k, v in res_dict.items(): res_dict[k] = v/res_dict[1.0] print(res_dict) # Yields: {3: 2.9999766670425863, 2: 1.999965000393743, 1: 1.0}