Поделиться через


Операция PreparePureStateD

Полное имя: Std.StatePreparation.PreparePureStateD

operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl

Сводка

Учитывая набор коэффициентов и большой квантовый регистр, подготавливает состояние для этого регистра, описанного заданными коэффициентами.

Описание

Эта операция подготавливает произвольное квантовое состояние |ψ⟩ с коэффициентами aj из состояния вычислительной базы n-кубита |0...0⟩.

Действие U для состояния all-zeros дано $$ \begin{align} U \ket{0\cdots 0} = \ket{\psi} = \frac{\sum_{j=0}^^.{2^n-1}\alpha_j \ket{j}{\sqrt{\sum_{j=0}^{2^n-1}|\alpha_j|^2}}. \end{align} $$

Ввод

Коэффициенты

Массив до 2ⁿ реальных коэффициентов. Коэффициент j-th индексирует состояние числа |j⟩ закодированное в формате big-endian.

кубиты

Номера кодирования регистра Кубита в формате big-endian. Ожидается, что это будет инициализировано в вычислительном состоянии |0...0⟩.

Замечания

coefficients будут нормализованы и заполнены элементами aj = 0,0, если указано меньше 2ⁿ.

Пример

Следующий фрагмент кода подготавливает квантовое состояние |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ в регистре кубита qubits.

let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);

Ссылки

  • arXiv:quant-ph/0406176 "Синтез квантовых логических каналов", Vivek V. Shende, Стивен С. Буллок, Игорь Марков

См. также

  • Std.StatePreparation.ПриблизительноPreparePureStateCP