
176
9
章 データの量子表現
便利な関数
amplitude_encode()
を使うと、
QCEngine
で振幅エンコーディングされたベクトルを
生成することができます。例9-3は値のベクトルと
QPU
レジスタへの参照(十分大きな必要がある)を
受け取り、ベクトルの振幅エンコーディングを行ってそのレジスタを準備します。
サンプルコード
https://oreilly-qc.github.io?p=9-3
で例9-3を実行してみましょう。
例9-3
// We have ensured that our input vector has a length
// that is a power of two
2
var vector = [-1.0, 1.0, 1.0, 5.0, 5.0, 6.0, 6.0, 6.0];
// Create register of right size to amplitude-encode vector
var num_qubits = Math.log2(vector.length);
qc.reset(num_qubits);
var amp_enc_reg = qint.new(num_qubits, 'amp_enc_reg');
amp_enc_reg
...