次の方法で共有


IncByLEUsingAddLE 操作

完全修飾名: Std.Arithmetic.IncByLEUsingAddLE

operation IncByLEUsingAddLE(forwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), backwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), xs : Qubit[], ys : Qubit[]) : Unit is Adj + Ctl

概要

2 つのアウトプレース 加算器を 1 つのインプレース 加算器に変換する一般的な操作

説明

この実装では、前方方向と後方方向に 2 つの異なる加算器を指定できます。 前方加算器は常にそのボディバリアントに適用されますが、後方加算器は常にその隣接するバリアントで適用されます。 したがって、たとえば、T ゲートを必要としない場合に、さざら行う配置外加算器を後方方向に使用できます。

制御されたバリアントは、加算器以外のすべてを制御する方法で最適化されています。

リファレンス

  • arXiv:2012.01624 「量子ブロック先読み加算器と魔法の状態を待つ」、クレイグ・ギドニー。