BasicSimulator
class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)
ベース: BackendV2
Python 基本的な(効率の悪い)量子シミュレータの実装。
このシミュレータは、状態ベクトルシミュレーションでは最大24キュービット、クリフォード演算/スタビライザー演算のシミュレーションでは最大2048キュービットに対応しています。
パラメーター
- provider - バックエンドのプロバイダオブジェクトへの後方参照 (オプション)。
- target (Target | None) – シミュレータを設定するためのオプションのターゲット。
- fields - デフォルトのオプションを上書きするために使用する値の kwargs。
レイズ
AttributeError - バックエンドのオプション外のフィールドが指定された場合。
属性
MAX_QUBITS_CLIFFORD
デフォルト値: 2048
MAX_QUBITS_STATEVECTOR
デフォルト値: 24
coupling_map
を返します。 CouplingMap オブジェクト
dt
入力信号のシステム時間分解能を返す
これは、バックエンドがパルススケジューリングをサポートしている場合に実装する必要がある。
戻り値
入力信号のタイムステップ(秒)。 バックエンドが dt を定義していない場合、 None が返される。
dtm
instruction_durations
オブジェクトを返す。 InstructionDurations オブジェクトを返します。
instructions
フォームのバックエンドにある命令タプルのリスト (instruction, (qubits))
max_circuits
meas_map
多重化された測定値のグループ化を返す
これは、バックエンドがパルススケジューリングをサポートしている場合に実装する必要がある。
戻り値
多重化された測定のグループ化
レイズ
NotImplementedError - バックエンドが測定マッピングのクエリをサポートしていない場合
num_qubits
バックエンドが持つ量子ビットの数を返します。
operation_names
バックエンドがサポートする命令名のリスト。
operations
バックエンドがサポートする Instruction バックエンドがサポートするインスタンスの一覧。
options
バックエンドのオプションを返します
バックエンドのオプションは、バックエンドの使用方法を定義する動的パラメータです。 これらは run() メソッドを使用する。
provider
target
version
デフォルト値: 2
name
バックエンドの名前。
description
任意で人間が読める説明文。
online_date
バックエンドがオンラインになった日付。
backend_version
提供されるバックエンドのバージョン。 とは異なる。 BackendV2.versionこれは Backend 抽象インターフェースのバージョンである
方法
qubit_properties
qubit_properties(qubit)
与えられた量子ビットの QubitProperties を返す。
定義されていないか、バックエンドがこれらの詳細の問い合わせをサポートしていない場合、このメソッドを実装する必要はない。
パラメーター
qubit (int |list[int]) – その QubitProperties オブジェクトを取得するための量子ビット。 これは、1クビットを表す単一の整数でも、クビットのリストでもよく、オブジェクト QubitProperties のリストが同じ順序で返されます
戻り値
指定された量子ビットの QubitProperties オブジェクトを返します。 量子ビットのリストが提供された場合、リストが返される。 量子ビットのプロパティが欠落している場合は、 None。
レイズ
NotImplementedError - バックエンドが量子ビットのプロパティのクエリをサポートしていない場合
戻りの型
run
run(run_input, **run_options)
バックエンドで実行する。
パラメーター
- run_input (QuantumCircuit orlist) – 実行する QuantumCircuit (または QuantumCircuit オブジェクトのリスト)
- run_options (kwargs) – ランタイムバックエンドオプションの追加
戻り値
由来 BaseJob
戻りの型
追加情報:
-
run_optionsで指定されたkwargオプションは、現在の実行で設定されている同名のオプションを一時的に上書きする。 その中には次のようなものがあります。- "initial_statevector":ベクトルのようなもの。 initial_statevector "オプションは、オールゼロ状態の代わりに使用するカスタム初期状態ベクトルを指定する。 このベクトルのサイズは、
run_inputの引数の量子ビット数に対応しなければならない。 - "seed_simulator": int. これはサンプル生成のための内部シードである。
- "ショット": int. シミュレーションに使用されたショット数。
- "memory":ブール。 Trueの場合、結果には各ショットのシミュレーション結果が含まれます。
- “use_clifford_optimization”: bool. Trueの場合、スタビライザー形式を用いたクリフォード回路の最適化を有効にします。 デフォルトは False です。
- "initial_statevector":ベクトルのようなもの。 initial_statevector "オプションは、オールゼロ状態の代わりに使用するカスタム初期状態ベクトルを指定する。 このベクトルのサイズは、
例:
backend.run(
circuit_2q,
initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)set_options
set_options(**fields)
バックエンドのオプションフィールドを設定する
このメソッドは、バックエンドのオプションを更新するために使われます。 実行前にオプションを変更する必要がある場合は、オプションの新しい値をkwargに渡してください。
パラメーター
fields - オプションを更新するフィールド
レイズ
AttributeError - 渡されたフィールドがオプションの一部でない場合