Skip to main content
IBM Quantum Platform

BasicSimulator

class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)

GitHub

ベース: 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

出力信号のシステム時間分解能を返す

戻り値

出力信号のタイムステップ(秒)。

レイズ

NotImplementedError - バックエンドが出力信号のタイムステップクエリをサポートしていない場合

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)

GitHub

与えられた量子ビットの QubitProperties を返す。

定義されていないか、バックエンドがこれらの詳細の問い合わせをサポートしていない場合、このメソッドを実装する必要はない。

パラメーター

qubit (int |list[int]) – その QubitProperties オブジェクトを取得するための量子ビット。 これは、1クビットを表す単一の整数でも、クビットのリストでもよく、オブジェクト QubitProperties のリストが同じ順序で返されます

戻り値

指定された量子ビットの QubitProperties オブジェクトを返します。 量子ビットのリストが提供された場合、リストが返される。 量子ビットのプロパティが欠落している場合は、 None

レイズ

NotImplementedError - バックエンドが量子ビットのプロパティのクエリをサポートしていない場合

戻りの型

QubitProperties | list [ QubitProperties ]

run

run(run_input, **run_options)

GitHub

バックエンドで実行する。

パラメーター

  • run_input (QuantumCircuit orlist) – 実行する QuantumCircuit (または QuantumCircuit オブジェクトのリスト)
  • run_options (kwargs) – ランタイムバックエンドオプションの追加

戻り値

由来 BaseJob

戻りの型

BasicProviderJob

追加情報:

  • run_options で指定されたkwargオプションは、現在の実行で設定されている同名のオプションを一時的に上書きする。 その中には次のようなものがあります。

    • "initial_statevector":ベクトルのようなもの。 initial_statevector "オプションは、オールゼロ状態の代わりに使用するカスタム初期状態ベクトルを指定する。 このベクトルのサイズは、 run_input の引数の量子ビット数に対応しなければならない。
    • "seed_simulator": int. これはサンプル生成のための内部シードである。
    • "ショット": int. シミュレーションに使用されたショット数。
    • "memory":ブール。 Trueの場合、結果には各ショットのシミュレーション結果が含まれます。
    • “use_clifford_optimization”: bool. Trueの場合、スタビライザー形式を用いたクリフォード回路の最適化を有効にします。 デフォルトは False です。

例:

backend.run(
    circuit_2q,
    initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)

set_options

set_options(**fields)

GitHub

バックエンドのオプションフィールドを設定する

このメソッドは、バックエンドのオプションを更新するために使われます。 実行前にオプションを変更する必要がある場合は、オプションの新しい値をkwargに渡してください。

パラメーター

fields - オプションを更新するフィールド

レイズ

AttributeError - 渡されたフィールドがオプションの一部でない場合

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。