ObservablesArray
class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)
ベース: ShapedMixin
ある Estimator 原始関数に対するエルミート観測量のND配列。
オブザーバブルの配列を初期化します。
パラメーター
- observables (ObservablesArrayLike) – 基底観測可能オブジェクトの配列のようなもの。
- copy (bool) – オブザーバブルを初期化する際は、関
object_array()``copy数のkwargを指定してください。 - num_qubits (int | None) – 観測量の量子ビット数。 指定がない場合、量子ビットの数は観測量から推測されます。 指定された場合、指定された量子ビット数は、観測量の量子ビット数と一致している必要があります。
- validate (bool) – その場合、エントリを内部形式に変換し、検証を行う。 false の場合、入力はすでに配列のような構造である必要があります。
昇給
ValueError – もし validate=True であり、かつ入力観測値の配列が無効な場合。
属性
ndim
num_qubits
各観測量が作用する量子ビットの数。
shape
size
方法
apply_layout
apply_layout(layout, num_qubits=None)
このファイルにトランスパイラー ObservablesArrayのレイアウトを適用します。
パラメーター
- layout (TranspileLayout |list[int] | None) – a
TranspileLayout、整数のリスト、またはNoneのいずれか。 layout と の両num_qubits方が none の場合、配列の完全コピーが返されます。 - num_qubits (int | None) – アレイを拡張するクビット数。 指定がない場合、が である
layoutときは、デフォルトでTranspileLayoutトランスパイラの出力回路の量子ビット数が使用されます。 が整数のリストlayoutである場合、指定された順列は展開されることなく適用されます。 layout が None の場合、配列は指定された量子ビット数まで拡張されます。
戻り値
提供されたレイアウトを適用した ObservablesArray 新しいもの。
昇給
…
戻りの型
coerce
classmethod coerce(observables)
ObservablesArrayLike を ObservableArray に変換する。
パラメーター
observables (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float] | ArrayLike) – オブジェクトをobservables配列に追加する。
戻り値
強制型オブザーバブル配列。
戻りの型
coerce_observable
classmethod coerce_observable(observable)
オブザーバブルのようなオブジェクトを内部形式に変換します。
パラメーター
observable (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float]) – format へのオブザーバブルのようなもの。
戻り値
強制された観測量。
昇給
- TypeError – 型の無効により、入力の書式設定ができない場合。
- ValueError – 入力オブザーバブルが無効または空の場合。
戻りの型
copy
equivalent
equivalent(other, tol=1e-08)
指定された許容誤差の範囲内で、観測可能な配列が等しいかどうかを計算します。
パラメーター
- other (ObservablesArray) – 比較対象となる別の観測値の配列。
- tol (float) – チェック時に
simplify許容する範囲。
戻り値
2つの観測量配列が同じ形状と量子ビット数を持っているかどうか、また、そうである場合、許容誤差の範囲内で等しいかどうか。
戻りの型
ravel
reshape
reshape(*shape)
異なる形状の新しい配列を返す。
これにより、同じ配列に対する新しいビューが生成されます。
パラメーター
shape (int |Iterable[int]) – 返される配列の形状。
戻り値
新しい配列。
戻りの型
slice
slice(args: int | tuple[int, ...]) → SparseObservable
slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray
この配列に含まれるオブザーバブルの一部を取り出します。
このメソッドはオブザーバブルをコピーしません。返されたオブザーバブルを変更すると、このインスタンスにも影響が及びます。
戻り値
配列の各軸に対して整数が指定されている場合は単一の配列 SparseObservable を返し、そうでない場合は新しい配列を ObservablesArray返す。
sparse_observables_array
sparse_observables_array(copy=False)
を、型 の numpy.ndarray 要素を持つ SparseObservableに変換します。
パラメーター
copy (bool) – 新しい疎なオブザーバブルを要素として含む新しい配列インスタンスを作成するかどうか。
戻り値
A numpy.ndarray で、要素の型が SparseObservable.
戻りの型
tolist
tolist()
ネストされたリストに変換します。
NumPyの tolist メソッドと同様に、ネストの深さは観測可能変数の配列の次元によって決まります。 次元が0の場合、このメソッドはリストではなく、単一のオブザーバブル(パウリ演算子のdict 重み付き和の場合)を返します。
例:
要素が1つのリストと単一の要素の戻り値の比較:
>>> from qiskit.primitives.containers.observables_array import ObservablesArray
>>> oa = ObservablesArray.coerce(["Z"])
>>> print(type(oa.tolist()))
<class 'list'>
>>> oa = ObservablesArray.coerce("Z")
>>> print(type(oa.tolist()))
<class 'dict'>戻りの型
リスト | 文字列 | パウリ | SparsePauliOp | SparseObservable | マッピング [ 文字列 | パウリ, 浮動小数点数 ]