Skip to main content
IBM Quantum Platform

オペレーター利用規約

このモジュールは、演算子の個々の項に対して操作を行うルーチンを集めたもので、それらの構造に基づいて項を分割します。 以下のサブモジュールは、関連する機能をまとめています。


グループ化

このモジュールの機能に関する詳細な説明については、「グループ演算子の用語」 を参照してください。演算子の構造を活用してください。

割り当て

このモジュールは、常にユーザー自身にグループインデックスの指定を任せるのではなく、グループ化情報を自動的に決定する一連の関数を提供します。

コラム「 1 」
コラム「 2 」
group_terms_by_electronic_structure(op,...)演算子の項を、その電子構造に基づいて分類する。

解析

グループインデックス自体には本質的な意味はありません。この配列は、どの項が互いに属するかを示すだけで、その理由を示すことはありません。 したがって、以下の関数はいずれも、グループ分けが「正しい」かどうかを報告するものではありません。それぞれが、既存のグループ分けに関する、明確に定義された限定的な質問に答えるだけであり、その解釈はユーザーに委ねられています。 これらは、下流の消費者がグループ分けについて抱く仮定を、呼び出しのたびに処理コストを支払うのではなく、あらかじめ確認できるようにするために用意されています。

コラム「 1 」
コラム「 2 」
group_coeff_means(op)各グループの絶対係数の平均値を取得します。
groups_are_hermitian(op, *[, atol])各グループについて、そのグループの項から構成される演算子がエルミート演算子であるかどうかを返す。
groups_have_uniform_coeffs(op, *[, atol, abs])各グループについて、その係数がすべて数値的に等しいかどうかを返します。

フィルタリング

このモジュールは、後続の計算に実質的な寄与をしない項を、演算子から除去するための便利な関数を提供します。

メンバー

コラム「 1 」
コラム「 2 」
filter_diagonal_terms(op)占有数基底において対角成分となる演算子の項を除去する。

順序付け

このモジュールは、演算子の項の順序を入れ替えるための関数を提供します。 結果として得られる演算子は数学的には同一ですが、項の順序は、項の反復順序に起因して、実行時のアルゴリズムの挙動に重大な影響を及ぼす可能性があります。

グループインデックスは、各項に割り当てられるタグであり、その項がどこに位置するかについては何も示さないため、1つのグループに属する項は、一般的に演算子全体に散在している。 group_order() 各グループを1つの連続した範囲にまとめることで、すべての項をスキャンする代わりに、二分探索によって要求されたグループを特定 split_out_groups() できるようになります。

注

とは異なり canonical_order()、 order_terms() にはC APIにおける対応する関数はありません。

メンバー

コラム「 1 」
コラム「 2 」
canonical_order(op)オペレータのコピーを返し、その項が標準的な順序に並べ替えられます。
group_order(op)演算子のコピーを返し、その項はグループインデックス順に並べ替えられています。
order_terms(op, key, *[, reverse] )ユーザーが指定したキーに基づいて項の順序を並べ替えた演算子のコピーを返します。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。