PrepareArbitraryState operation
Warning
This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.
Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.
Namespace: Microsoft.Quantum.Preparation
Package: Microsoft.Quantum.Standard
Warning
PrepareArbitraryState has been deprecated. Please use PrepareArbitraryStateCP operation instead.
Given a set of coefficients and a little-endian encoded quantum register, prepares an state on that register described by the given coefficients.
operation PrepareArbitraryState (coefficients : Microsoft.Quantum.Math.ComplexPolar[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
Description
This operation prepares an arbitrary quantum state $\ket{\psi}$ with complex coefficients $r_j e^{i t_j}$ from the $n$-qubit computational basis state $\ket{0 \cdots 0}$. In particular, the action of this operation can be simulated by the a unitary transformation $U$ which acts on the all-zeros state as
$$ \begin{align} U\ket{0...0} & = \ket{\psi} \\ & = \frac{ \sum_{j=0}^{2^n-1} r_j e^{i t_j} \ket{j} }{ \sqrt{\sum_{j=0}^{2^n-1} |r_j|^2} }. \end{align} $$
Input
coefficients : ComplexPolar[]
Array of up to $2^n$ complex coefficients represented by their absolute value and phase $(r_j, t_j)$. The $j$th coefficient indexes the number state $\ket{j}$ encoded in little-endian format.
qubits : LittleEndian
Qubit register encoding number states in little-endian format. This is expected to be initialized in the computational basis state $\ket{0...0}$.
Output : Unit
Remarks
Negative input coefficients $r_j < 0$ will be treated as though
positive with value $|r_j|$. coefficients
will be padded with
elements $(r_j, t_j) = (0.0, 0.0)$ if fewer than $2^n$ are
specified.
References
- Synthesis of Quantum Logic Circuits Vivek V. Shende, Stephen S. Bullock, Igor L. Markov https://arxiv.org/abs/quant-ph/0406176
See Also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for