ビット反転チェック
qiskit_addon_utils.noise_management.bit_flip_checks
回路のビット反転チェックによるポストセレクションのための関数とクラス。
PostSelectionSummary
class PostSelectionSummary(primary_cregs, measure_map, edges, *, measure_map_ps=None, measure_map_pre=None, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)
ベース: object
ビット反転チェックに基づいてポストセレクトを行うために必要な、量子回路のプロパティを格納するためのヘルパークラス。
オブジェクトを PostSelectionSummary 初期化します。
パラメーター
- primary_cregs (set[str]) – 「主要な」古典的レジスタの名前、すなわち、回路チェック前および回路チェック後の接尾辞で終わらないもの。
- measure_map (dict[int, tuple[str, int]]) – レジスタ内の量子ビットインデックスと、それらの量子ビットに対する測定を一意に定義するclbitsとの間の対応関係(一次測定)。
- edges (set[frozenset[int]]) – 隣接する量子ビットのペアを定義するタプルのリスト。
- measure_map_ps (dict[int, tuple[str, int]] | None) – 回路チェック後の測定用オプションマップ。
- measure_map_pre (dict[int, tuple[str, int]] | None) – 回路接続前のチェック測定用のオプションマップ。
- post_check_suffix (str) – 回路後チェックレジスタの接尾辞。
- pre_check_suffix (str) – 回路前チェックレジスタの接尾辞。
AddSpectatorPostCircuitBitFlipChecksspectator_cregs (set[str] | None) – 観客の測定値を保持するプライマリレジスタの名前(によって生成された観客のパリティチェックの前半部分)。
edges
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)
量子回路から初期化します。
パラメーター
- circuit (QuantumCircuit) – ビットフリップチェックを含む回路……
- coupling_map (CouplingMap |list[tuple[int, int]]) – カップリングマップ、または隣接する量子ビットのペアを示すタプルのリスト。
- post_check_suffix (str) – 回路後のチェック用古典レジスタ向けの固定サフィックス。
- pre_check_suffix (str) – 回路前チェック用の古典レジスタに対する固定サフィックス。
- spectator_cregs (set[str] | list[str] | None) – 観測値が格納されている主要なレジスタの名前。
AddSpectatorPostCircuitBitFlipChecks["spec"]デフォルトは であり、が使用するデフォルト名と一致します。
戻りの型
measure_map
measure_map_pre
measure_map_ps
post_check_suffix
種類: str
回路後チェックレジスタの接尾辞。
pre_check_suffix
種類: str
回路前チェックレジスタの接尾辞。
primary_cregs
spectator_cregs
PostSelector
class PostSelector(summary)
ベース: object
ビットフリップチェックの結果を処理するためのクラス。
オブジェクトを PostSelector 初期化します。
パラメーター
summary (PostSelectionSummary) – ビットフリップチェックを含む回路の概要。
compute_mask
compute_mask(result, strategy=PostSelectionStrategy.NODE, *, mode='post')
どのショットを残し、どのショットを削除すべきかを示すブールマスクを算出する。
設計上、返されるマスクは結果の配列と同じ形状ですが、次元が1つ少なくなっています(各配列の最後の軸、つまりclbitsにわたる軸が、マスクには存在しません)。
パラメーター
- result (dict[str, ndarray[tuple[int, ...], dtype[bool]]]) – 後処理を行う結果。 レジスタ名をブール値の配列にマッピングする辞書でなければなりません。
- strategy (Literal['node', 'edge'] | ~qiskit_addon_utils.noise_management.bit_flip_checks.post_selector.PostSelectionStrategy) – ポストセレクション戦略(「ノード」または「エッジ」)。
- mode (Literal['post', 'pre', 'both']) – 適用するポストセレクションの種類: - 「post」:回路後のチェックのみを適用 - 「pre」:回路前のチェックのみを適用 - 「both」:回路前と回路後の両方のチェックを適用
戻り値
ブール値のマスク。Trueは保持するショット、Falseは破棄するショットを示します。
昇給
ValueError – 要求されたモードが利用できない場合(例:回路に事前チェック用の測定値がないにもかかわらず、mode=”pre” が要求された場合)。
戻りの型
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)
量子回路から初期化します。
パラメーター
- circuit (QuantumCircuit) – ビットフリップチェック機能を備えた回路。
- coupling_map (CouplingMap |list[tuple[int, int]]) – カップリングマップ、または隣接する量子ビットのペアを示すタプルのリスト。
- post_check_suffix (str) – 回路後のチェックに関連付けられた、古典レジスタ用の固定サフィックス。
- pre_check_suffix (str) – 回路前のチェックに関連付けられた、古典レジスタ用の固定サフィックス。
AddSpectatorPostCircuitBitFlipChecksspectator_cregs (set[str] | list[str] | None) – 観客の測定値を格納するレジスタの名前(によって生成された観客のパリティチェックの前半部分)。AddSpectatorPostCircuitBitFlipChecksデフォルトでは、に["spec"]一致するように設定されています。
戻りの型
summary
ビットフリップチェックを含む回路の概要。
PostSelectionStrategy
class PostSelectionStrategy(value)
サポートされているポストセレクション戦略。
EDGE
デフォルト値: 'edge'
両方のチェックに失敗する隣接する量子ビットのペアが存在するショットはすべて除外する。
NODE
デフォルト値: 'node'
1つ以上のチェックに失敗したショットはすべて除外する。
capitalize
capitalize()
文字列を大文字に変換して返します。
具体的には、最初の文字を大文字にし、残りの文字を小文字にしてください。
casefold
casefold()
大文字小文字を区別しない比較に適した文字列のバージョンを返します。
center
center(width, fillchar=' ', /)
長さ width の文字列を中央揃えにして返します。
パディングは、指定された埋め込み文字(デフォルトはスペース)を使用して行われます。
count
count(sub[, start[, end]]) → int
文字列 [Sstart:end] の中で、部分文字列 sub が重複せずに現れる回数を返します。 オプション引数の「start」と「end」は、スライス表記と同様に解釈されます。
encode
encode(encoding='utf-8', errors='strict')
エンコード用に登録されたコーデックを使用して、文字列をエンコードします。
エンコード
文字列をエンコードする際に使用するエンコーディング。
エラー
エンコードエラーに対して使用するエラー処理方式。 デフォルトは「strict」であり、これはエンコーディングエラーが発生すると UnicodeEncodeError がスローされることを意味します。 その他の可能な値としては、「ignore」、「replace」、「xmlcharrefreplace」のほか、 codecs.register_error に登録され、 UnicodeEncodeErrors を処理できる任意の名前が挙げられます。
endswith
endswith(suffix[, start[, end]]) → bool
S が指定された接尾辞で終わる場合は True を返し、そうでない場合は False を返す。 「オプションの開始」を選択した場合、その位置からテストSを開始します。 「オプションのエンド」を指定した場合は、その位置でSの比較を終了します。 接尾辞は、試す文字列のタプルでも構いません。
expandtabs
expandtabs(tabsize=8)
すべてのタブ文字がスペースに置き換えられたコピーを返す。
tabsize が指定されていない場合は、タブ幅は 8 文字とみなされます。
find
find(sub[, start[, end]]) → int
[Sstart:end] の範囲内に部分文字列 sub が含まれる場合、S 内で sub が最初に現れるインデックスを返します。 オプション引数の「start」と「end」は、スライス表記と同様に解釈されます。
失敗した場合は、 -1 を返す。
format
format(*args, **kwargs) → str
args および kwargs からの置換を使用して、S の書式設定済みバージョンを返します。 置換箇所は中括弧(「 {’ and ‘} 」)で示されています。
format_map
format_map(mapping) → str
mapping による置換を適用し、S の整形済みバージョンを返す。 置換箇所は中括弧(「 {’ and ‘} 」)で示されています。
index
index(sub[, start[, end]]) → int
[Sstart:end] の範囲内に部分文字列 sub が含まれる場合、S 内で sub が最初に現れるインデックスを返します。 オプション引数の「start」と「end」は、スライス表記と同様に解釈されます。
部分文字列が見つからない場合、 ValueError が発生します。
isalnum
isalnum()
文字列が英数字の文字列である場合は True を返し、そうでない場合は False を返します。
文字列は、そのすべての文字が英数字であり、かつ少なくとも1文字が含まれている場合に、英数字文字列である。
isalpha
isalpha()
文字列がアルファベットのみから成る場合は True を返し、そうでない場合は False を返す。
文字列は、その文字列に含まれるすべての文字がアルファベットであり、かつその文字列に少なくとも1つの文字が含まれている場合に、アルファベット文字列である。
isascii
isascii()
文字列内のすべての文字がASCIIである場合はTrueを返し、そうでない場合はFalseを返す。
ASCII文字のコードポイントは、 U+0000-U+007F の範囲にあります。 空の文字列もASCIIです。
isdecimal
isdecimal()
文字列が10進数の文字列である場合はTrueを返し、そうでない場合はFalseを返す。
文字列は、その文字列に含まれるすべての文字が10進数であり、かつ文字が少なくとも1つ含まれている場合、10進数文字列である。
isdigit
isdigit()
文字列が数字のみから成る場合は True を返し、そうでない場合は False を返す。
文字列は、その文字列に含まれるすべての文字が数字であり、かつ少なくとも1文字が含まれている場合、数字の文字列である。
isidentifier
isidentifier()
その文字列が有効な Python 識別子である場合はTrueを返し、そうでない場合はFalseを返す。
keyword.iskeyword (s) を呼び出して、文字列 s が「def」や「class」などの予約済み識別子であるかどうかをテストします。
islower
islower()
文字列が小文字の文字列である場合は True を返し、そうでない場合は False を返します。
文字列に含まれる大文字・小文字の区別がある文字がすべて小文字であり、かつその文字列に大文字・小文字の区別がある文字が少なくとも1つ含まれている場合、その文字列は小文字の文字列である。
isnumeric
isnumeric()
文字列が数値文字列である場合は True を返し、そうでない場合は False を返す。
文字列は、その文字列に含まれるすべての文字が数値であり、かつ文字列に少なくとも1つの文字が含まれている場合に、数値文字列である。
isprintable
isprintable()
文字列が印刷可能であれば True を返し、そうでない場合は False を返す。
文字列は、そのすべての文字が repr() において印刷可能とみなされる場合、または空の場合に、印刷可能とみなされます。
isspace
isspace()
文字列が空白文字のみからなる場合は True を返し、それ以外の場合は False を返す。
文字列は、その文字列に含まれるすべての文字が空白文字であり、かつ少なくとも1文字が含まれている場合に、空白文字のみからなる文字列である。
istitle
istitle()
文字列がタイトルケースの文字列である場合は True を返し、そうでない場合は False を返します。
タイトルケースの文字列では、大文字およびタイトルケースの文字は、大文字・小文字区別のない文字の後にのみ続くことができ、小文字は、大文字またはタイトルケースの文字の後にのみ続くことができます。
isupper
isupper()
文字列が大文字の文字列である場合は True を返し、そうでない場合は False を返します。
文字列に含まれる大文字・小文字の区別がある文字がすべて大文字であり、かつその文字列に大文字・小文字の区別がある文字が少なくとも1つ含まれている場合、その文字列は大文字の文字列である。
join
join(iterable, /)
任意の数の文字列をつなぎ合わせます。
メソッドが呼び出された文字列は、指定された各文字列の間に挿入されます。 結果は新しい文字列として返されます。
例:「.」.join( [「ab」、「pq」、「rs」] )→「 ab.pq.rs 」
ljust
ljust(width, fillchar=' ', /)
長さ width の左揃えの文字列を返します。
パディングは、指定された埋め込み文字(デフォルトはスペース)を使用して行われます。
lower
lower()
文字列を小文字に変換したコピーを返します。
lstrip
lstrip(chars=None, /)
先頭の空白文字を削除した文字列のコピーを返す。
chars が指定され、かつ None でない場合は、代わりに chars 内の文字を削除します。
maketrans
static maketrans()
str.translate () で使用可能な翻訳テーブルを返します。
引数が1つしかない場合、その引数は、Unicode 序数(整数)または文字を、Unicode 序数、文字列、あるいは None にマッピングする辞書でなければなりません。 その後、文字キーは順序番号に変換されます。 引数が2つある場合、それらは同じ長さの文字列でなければなりません。また、生成される辞書では、xの各文字がyの同じ位置にある文字に対応付けられます。 3番目の引数がある場合、それは文字列でなければならず、その文字は結果においてNoneにマッピングされます。
partition
partition(sep, /)
指定された区切り文字を使用して、文字列を3つの部分に分割してください。
これにより、文字列内の区切り文字が検索されます。 区切り文字が見つかった場合、区切り文字の前の部分、区切り文字自体、および区切り文字の後の部分を含む3要素のタプルを返します。
区切り文字が見つからない場合は、元の文字列と2つの空文字列を含む3タプルを返します。
removeprefix
removeprefix(prefix, /)
指定されたプレフィックス文字列が存在する場合、それを削除した文字列を返します。
文字列が接頭辞文字列で始まる場合、 [stringlen(prefix) を]返す。 それ以外の場合は、元の文字列のコピーを返す。
removesuffix
removesuffix(suffix, /)
指定された接尾辞文字列が存在する場合、それを削除した文字列を返します。
文字列が接尾辞 string で終わり、かつその接尾辞が空でない場合、 [string:-len(suffix)] を返す。 それ以外の場合は、元の文字列のコピーを返す。
replace
replace(old, new, count=-1, /)
「old」という部分文字列がすべて「new」に置き換えられたコピーを返します。
カウント
置換する最大出現回数。 -1 (デフォルト値)は、すべての出現箇所を置換することを意味します。
オプションの引数「count」が指定された場合、最初の「count」回分のみが置換されます。
rfind
rfind(sub[, start[, end]]) → int
[Sstart:end] の範囲内に部分文字列 sub が含まれる場合、S 内で sub が最初に現れるインデックスを返します。 オプション引数の「start」と「end」は、スライス表記と同様に解釈されます。
失敗した場合は、 -1 を返す。
rindex
rindex(sub[, start[, end]]) → int
[Sstart:end] の範囲内に部分文字列 sub が含まれる場合、S 内で sub が最初に現れるインデックスを返します。 オプション引数の「start」と「end」は、スライス表記と同様に解釈されます。
部分文字列が見つからない場合、 ValueError が発生します。
rjust
rjust(width, fillchar=' ', /)
長さ width の右揃えの文字列を返します。
パディングは、指定された埋め込み文字(デフォルトはスペース)を使用して行われます。
rpartition
rpartition(sep, /)
指定された区切り文字を使用して、文字列を3つの部分に分割してください。
これにより、文字列の末尾から順に区切り文字が検索されます。 区切り文字が見つかった場合、区切り文字の前の部分、区切り文字自体、および区切り文字の後の部分を含む3要素のタプルを返します。
区切り文字が見つからない場合は、2つの空文字列と元の文字列を含む3タプルを返します。
rsplit
rsplit(sep=None, maxsplit=-1)
sep を区切り文字として、文字列に含まれる部分文字列のリストを返します。
9月
文字列を分割するために使用される区切り文字。
「None」(デフォルト値)に設定すると、任意の空白文字(\n、\r、\t、\f、およびスペースを含む)で分割され、結果から空の文字列が除外されます。
maxsplit
分割の最大数(左側から開始)。 -1 (デフォルト値)は、制限なしを意味します。
分割は文字列の末尾から始まり、先頭に向かって行われます。
rstrip
rstrip(chars=None, /)
末尾の空白を削除した文字列のコピーを返す。
chars が指定され、かつ None でない場合は、代わりに chars 内の文字を削除します。
split
split(sep=None, maxsplit=-1)
sep を区切り文字として、文字列に含まれる部分文字列のリストを返します。
9月
文字列を分割するために使用される区切り文字。
「None」(デフォルト値)に設定すると、任意の空白文字(\n、\r、\t、\f、およびスペースを含む)で分割され、結果から空の文字列が除外されます。
maxsplit
分割の最大数(左側から開始)。 -1 (デフォルト値)は、制限なしを意味します。
なお、 str.split () は、主に意図的に区切り文字が設定されたデータに対して有用です。 句読点を含む自然なテキストの場合は、正規表現モジュールの使用を検討してください。
splitlines
splitlines(keepends=False)
文字列内の各行を、行の区切りで分割してリストとして返します。
keepends が指定され、かつ true である場合を除き、結果のリストには改行は含まれません。
startswith
startswith(prefix[, start[, end]]) → bool
S が指定された接頭辞で始まる場合は True を返し、そうでない場合は False を返す。 「オプションの開始」を選択した場合、その位置からテストSを開始します。 「オプションのエンド」を指定した場合は、その位置でSの比較を終了します。 prefix には、試す文字列のタプルを指定することもできます。
strip
strip(chars=None, /)
先頭と末尾の空白文字を取り除いた文字列のコピーを返す。
chars が指定され、かつ None でない場合は、代わりに chars 内の文字を削除します。
swapcase
swapcase()
大文字を小文字に、小文字を大文字に変換します。
title
title()
各単語の頭文字を大文字にし、残りを小文字にした文字列を返す。
具体的には、単語の最初の文字は大文字で始まり、それ以外の文字はすべて小文字になります。
translate
translate(table, /)
指定された変換テーブルを用いて、文字列内の各文字を置き換えてください。
テーブル
変換テーブル。これは、Unicode 序数を Unicode 序数、文字列、または None にマッピングするものでなければなりません。
テーブルは、__getitem__ を通じてルックアップ/インデックス機能を実装している必要があります。例えば、辞書やリストなどです。 この操作によって LookupError, が発生した場合、その文字は変更されません。 None にマッピングされた文字は削除されます。
upper
upper()
文字列を大文字に変換したコピーを返します。
zfill
zfill(width, /)
数値文字列の左側にゼロを埋めて、指定された幅のフィールドを埋めます。
文字列が切り詰められることはありません。
XSlowGate
class XSlowGate(label='xslow', xslow_gate_name='xslow')
ベース: Gate
超低速ゲート。
パラメーター
- name – ゲートの名前。
- num_qubits – ゲートが作用する量子ビットの数。
- params – パラメータのリスト。
- label (str) – ゲート用のオプションのラベル。
- xslow_gate_name (str)
add_decomposition
add_decomposition(decomposition)
SessionEquivalenceLibrary に、その命令の分解情報を追加してください。
base_class
タイプ: type[Instruction]
この命令の基底クラスを取得します。 selfこれは、の継承ツリーに含まれていることが保証されています。
命令の「基底クラス」とは、そのオブジェクトが、あらゆる回路用途において完全に互換性があるとみなされるべき、継承ツリー内の最下位のクラスを指します。 これは通常、サブクラスが基底クラスに比べてプログラマーにとって何らかの利便性を提供することのみを目的として定義されており、行動の観点からは基底クラスこそが「真の」クラスであることを意味します。 特に、代替の測定戦略など、ハードウェアによって異なる方法で実装される命令のカスタムバージョンを定義する場合、あるいは、完全なパラメータ化ゲートと Target 区別するために特定のパラメータセットを持つパラメータ化ゲートのバージョンを定義する場合は、オーバーライ base_class* ドを行わないで*ください。
type(obj)これは、標準ライブラリの命令のシングルトンインスタンスの場合を除き、多くの場合、これとまったく同等です。 これらのシングルトンインスタンスは、その基底クラスの特別なサブクラスであり、このプロパティはその基底クラスを返します。 例:
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True一般的に、命令の正確なクラスに依存すべきではありません。特定の回路内においては、ほとんどの場合、の方がより適切な判別基準となることが Instruction.name 予想されます。
broadcast_arguments
broadcast_arguments(qargs, cargs)
引数の検証と処理、およびそれらの関係。
cx(q[0], q[2]); cx(q[1], q[2])たとえば、 cx([q[0],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)
そのオブジェクトの制御済みバージョンを返します。
True``False制御ゲートは、が のときは annotated として ControlledGate 、が のときは annotated として AnnotatedOperation 実装される。
qiskit.circuit.gate.Gate.control()の引 annotated 数は、Qiskit 2.3 以降、非推奨となっています。 Qiskit 3.0 では削除される予定です。 Gate.control () メソッドは、annotated=None を指定できなくなりました。 新しいデフォルト値は annotated=True であり、これにより制御ゲートは AnnotatedOperation として表現されます(専用の制御ゲートクラスがすでに存在する場合を除く)。 以前の動作を維持するには、annotated=False を明示的に設定してください。 ただし、annotated=True を指定することをお勧めします。これにより、制御回路の構築がトランスパイラに委ねられるほか、制御ゲートに関するさらなる最適化が可能となり(通常、より高品質な回路が得られる)、
パラメーター
- num_ctrl_qubits (int) – 追加する対照群の数。 デフォルトは
1です。 - label (str | None) – ゲートラベル(任意)。 デフォルトは
Noneです。 制御対象のゲートが注釈付き操作として実装されている場合は、この設定は無視されます。 "110"ctrl_state (int |str | None) – ゲートの制御状態。整数またはビット列(例:)で指定されます。2**num_ctrl_qubits - 1``Noneの場合、デフォルトでは「すべて1」の状態になります。- annotated (bool | None) – 制御ゲートを、制御ゲートとして実装するか、注釈付き演算子として実装するかを指定します。
False``Noneもし、とみなすならば。
戻り値
このゲートの制御版。
昇給
QiskitError – 無効 num_ctrl_qubits または ctrl_state。
copy
copy(name=None)
説明書の写し。
パラメーター
name (str) – コピーした回路に付ける名前。もし None の場合、名前はそのままになります。
戻り値
現在の指示書の写し(名前が指定されていた場合は、その名前を更新したもの)
戻りの型
decompositions
SessionEquivalenceLibrary から、その命令の分解情報を取得します。
definition
他の基本ゲートを用いて定義を導出せよ。
inverse
inverse(annotated=False)
この指示を逆にしてください。
annotated が False の場合、逆の命令は、再帰的に反転された定義を持つ新しい命令として実装されます。
AnnotatedOperationannotated が True の場合、逆命令は として実装され、指定された命令に「逆修飾子」が付けられたものに対応します。
Instruction から継承する特殊な命令は、独自の逆関数を実装することができます(例:T や Tdg、Barrier など) 特に、引 annotated 数の扱い方を自由に選択することができ、その中には、逆関数が標準ゲートとして定義されている場合に、その引数を無視して常に具体的なゲートクラスを返すという処理も含む。
パラメーター
AnnotatedOperationannotated (bool) – True に設定すると、出力の反転ゲートが として返されます。
戻り値
逆の演算。
昇給
CircuitError – その命令が複合命令ではなく、かつその逆演算が実装されていない場合。
is_parameterized
is_parameterized()
に Instruction コンパイル時パラメータが含まれているかどうかを返す。
label
種類: str
リターン命令ラベル
mutable
name
名前を返す。
num_clbits
clbits の数を返します。
num_qubits
量子ビットの数を返す。
params
Instructionこのパラメータは…… 理想的には、これらはゲート角度となるはずです。
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()
このゲートの変更可能なコピーを返します。
このメソッドは、このゲートインスタンスの新しい変更可能なコピーを返します。 シングルトンインスタンスが使用されている場合、これは変更可能な新しい一意のインスタンスとなります。 インスタンスがすでに変更可能な状態である場合、そのインスタンスのディープコピーが作成されます。
validate_parameter
validate_parameter(parameter)
ゲートパラメータは、int、float、または ParameterExpression のいずれかでなければなりません