정규화된 이름: Std.StatePreparation.PreparePureStateD
operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl
요약
계수 집합과 big-endian 양자 레지스터가 지정된 계수에 설명된 해당 레지스터의 상태를 준비합니다.
설명
이 작업은 n-큐비트 계산 기준 상태 |0...0⟩ 계수 aj를 사용하여 임의 양자 상태 |ψ⟩ 준비합니다.
all-zeros 상태의 U 동작은 $$ \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{정렬} $$
입력
계수
최대 2개의 실제 계수 배열입니다. j-th 계수는 big-endian 형식으로 인코딩된 숫자 상태 |j⟩ 인덱싱합니다.
큐비트
큐비트 레지스터 인코딩 숫자 상태는 big-endian 형식입니다. 계산 기준 상태 |0...0⟩ 초기화될 것으로 예상됩니다.
비고
2보다 작으면 coefficients 정규화되고 aj = 0.0 요소로 패딩됩니다.
예시
다음 코드 조각은 큐비트 레지스터 qubits양자 상태 |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩을 준비합니다.
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);
참고문헌
- arXiv:quant-ph/0406176 "양자 논리 회로의 합성", 비벡 V. 셴데, 스티븐 S. 불록, 이고르 L. 마르코프
또한 참조하십시오
- Std.StatePreparation.ApproximatelyPreparePureStateCP