SXdgGate
class qiskit.circuit.library.SXdgGate(*args, _force_mutable=False, **kwargs)
ベース: SingletonGate
逆単一量子ビットSqrt(X)ゲート。
メソッド sxdg() を使用して、 QuantumCircuit に適用できます。
と の定義の間には、全体的な位相差が存在します。
新しいSXdgゲートを作成します。
属性
base_class
この命令の基本クラスを取得します。 これは間違いなくの系譜 selfに含まれている。
命令の「基底クラス」とは、そのオブジェクトが、あらゆる回路用途において完全に互換性があるとみなされるべき、継承ツリーにおける最下位のクラスを指します。 これは通常、サブクラスが単にベースクラスよりもプログラマーにとって使い勝手を良くするために定義されており、行動の観点からはベースクラスこそが「真の」クラスであることを意味します。 特に、代替の測定戦略や、完全 Target なパラメータ化ゲートと区別するために特定のパラメータセットを持つパラメータ化ゲートのバージョンなど、ハードウェアによって異なる方法で実装される命令のカスタムバージョンを定義する場合は*、 *base_class override を使用しないでください。
これは、標準ライブラリの命令のシングルトンインスタンスの場合を除き、多くの場合、 type(obj)これとまったく同等です。 これらのシングルトンインスタンスは、その基底クラスの特別なサブクラスであり、このプロパティはその基底クラスを返します。 例:
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True一般的に、命令の正確なクラスに依存すべきではありません。特定の回路内においては、ほとんどの場合、 Instruction.name の方がより適切な判別基準となると考えられます。
decompositions
SessionEquivalenceLibrary から命令の分解情報を取得します。
definition
他の基本ゲートを用いて定義を導出せよ。
label
戻り先ラベル
mutable
このインスタンスは変更可能な一意のインスタンスですか、それともそうではありませんか。
この属性が設定 False されている場合、ゲートインスタンスは共有シングルトンであり、変更不可能です。
name
名前を返す。
num_clbits
clbits の数を返す。
num_qubits
量子ビットの数を返す。
params
このパラメータ Instructionは…… 理想的には、これらはゲート角度となるはずです。
方法
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
引数の検証と処理、およびそれらの関係。
例えば、 cx([q[0],q[1]], q[2]) は を意味します cx(q[0], q[2]); cx(q[1], q[2])。 この方法では、引数が正しいグループ分けで返されます。 次の例では:
in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
[q[1], q[2]], []放送に関する一般的な規則は以下の通りです:
もし len(qargs) == 1 なら:
[q[0], q[1]] -> [q[0]],[q[1]]もし len(qargs) == 2 なら:
[[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]]もし len(qargs) ≧ 3 なら:
[q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...]
パラメーター
戻り値
引数が1つのタプル。
昇給
CircuitError – 入力が不正な場合。 たとえば、引数の数がゲートの期待値と一致していません。
戻りの型
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
そのオブジェクトの制御されたバージョンを返す。
制御ゲートは、 Falseが annotated のときは ControlledGate として、が annotated のときは AnnotatedOperationTrue として実装される。
qiskit.circuit.gate.Gate.control()この引数は、Qiskit 2.3annotated 以降、非推奨となっています。 これはQiskit 3.0 で削除される予定です。 Gate.control () メソッドは、annoted=None を指定できなくなりました。 新しいデフォルト値は annotated=True となり、これにより制御ゲートは AnnotatedOperation として表現されます(専用の制御ゲートクラスがすでに存在する場合を除く)。 以前の動作を維持するには、明示的に annotated=False を設定してください。 ただし、annotated=True を指定することを推奨します。これにより、制御回路の構築がトランスパイラに委ねられるほか、制御ゲートに関するさらなる最適化が可能となり(通常、より高品質な回路が得られるため)、
パラメーター
- num_ctrl_qubits (int) – 追加するコントロールの数。 デフォルトは
1です。 - label (str | None) – ゲートラベル(任意)。 デフォルトは
Noneです。 制御ゲートが注釈付き操作として実装されている場合は、無視されます。 - ctrl_state (int |str | None) – ゲートの制御状態。整数またはビット列(例:
"110")で指定されます。 の場合None、デフォルトでは全1の状態になります2**num_ctrl_qubits - 1。 - annotated (bool | None) – 制御ゲートを制御ゲートとして実装するか、注釈付き演算子として実装するかを指定します。 もし
None、とみなすならばFalse。
戻り値
このゲートの制御版。
昇給
QiskitError – 無効 num_ctrl_qubits または ctrl_state。
copy
copy(name=None)
説明書の写し。
パラメーター
name (str) – コピーした回路に付ける名前。もし None であれば、名前はそのままになります。
戻り値
現在の指示書の写し(名前が指定されていた場合は、その名前を反映したもの)
戻りの型
inverse
inverse(annotated=False)
SXdgゲートの逆関数を返す(つまり、SX)。
パラメーター
annotated (bool) – に設定した場合 True、これは通常、具体的な ではなく Gate、逆の修飾子が設定された を AnnotatedOperation 返すために使用されます。 ただし、このクラスでは、 SXGateこのゲートの逆関数は常にであるため、この引数は無視されます。
戻り値
の逆 SXdgGate
戻りの型
is_parameterized
power
power(exponent, annotated=False)
このゲートを の累乗に上げてください exponent。
単一ゲートとして実装される(参照: UnitaryGate) あるいは、注釈付き操作として(参照 AnnotatedOperation)。 いくつかの標準ゲート( RXGate例えば)の場合、あるゲートの動作を、直接返される別の標準ゲートを用いて表現できる。
パラメーター
- exponent (float) – 門を開ける力
- annotated (bool) – パワーゲートが注釈付き演算として実装可能かどうかを示します。 やなどのいくつかの標準ゲートの場合、あるゲートの電力が別の標準ゲ
RXGateートを用いて表現できるときは、この引数は無視されます。
戻り値
実装する操作 gate^exponent
昇給
CircuitError – ゲートがユニタリーでない場合
repeat
repeat(n)
self を回繰り返す命令を作成します。
パラメーター
n (int) – 指示を繰り返す回数
戻り値
定義が含まれています。
戻りの型
昇給
CircuitError – n < 1 の場合。
reverse_ops
reverse_ops()
複合命令の場合、サブ命令の順序を逆にする。
これは、すべてのサブ命令を再帰的に反転させることによって行われます。 どのゲートも反転させません。
戻り値
新しい命令で
サブ命令の順序が逆になっています。
戻りの型
soft_compare
soft_compare(other)
ゲート間のソフトな比較。 それらの名前、量子ビット数、および古典ビット数は一致していなければならない。 パラメータの数は一致している必要があります。 各パラメータが比較されます。 ParameterExpression である場合は、考慮されません。
パラメーター
other (instruction) – その他の指示。
戻り値
パラメータ式までは、自己と他者が等しい。
戻りの型
to_matrix
to_matrix()
ゲートの単位行列を表す Numpy.array を返す。
戻り値
Gateサブクラスに行列の定義がある場合。
戻りの型
np.ndarray
昇給
CircuitError – ゲートサブクラスがこのメソッドを実装していない場合、この基底クラスのメソッドが呼び出されると例外が発生します。
to_mutable
to_mutable()
このゲートの変更可能なコピーを返す。
このメソッドは、このゲートインスタンスの新しい変更可能なコピーを返します。 シングルトンインスタンスが使用されている場合、これは変更可能な新しい一意のインスタンスとなります。 そのインスタンスがすでに変更可能な状態であれば、そのインスタンスの完全なコピーが作成されます。