Skip to main content
IBM Quantum Platform

BackendV2

class qiskit.providers.BackendV2(provider=None, name=None, description=None, online_date=None, backend_version=None, **fields)

GitHub

ベース: Backend, ABC

バックエンドの抽象クラス

この抽象クラスは、プロバイダが作成するすべての Backend オブジェクトに使用されます。 このバージョンは、以前の抽象Backendクラスとは異なり、configuration属性が存在しなくなりました。 その代わりに、バックエンドデバイスの同等の必要な不変プロパティを公開する属性が追加される。 例えば、 backend.configuration().n_qubits は現在、 backend.num_qubits からアクセスできる。

バックエンドの options 属性は、バックエンドの動的なユーザ設定可能オプションを格納するために使用されます。 バックエンドがどのように使われるかを設定するランタイムオプションにもっと使われるべきだ。 例えば、実験を実行するバックエンドの shots フィールドのようなもので、実行するショットの数をintで指定する。

バックエンドオブジェクトには、必要に応じて および get_translation_stage_plugin という名前の get_scheduling_stage_pluginメソッドを含めることができます。 バックエンドオブジェクトにこれらのメソッドが存在し、そのオブジェクトが または transpile() に使用される場合 generate_preset_pass_manager() 、トランスパイル処理では、デフォルトでそれらのメソッドの出力がスケジューリング段階および翻訳コンパイル段階に使用されます。 これにより、コンパイルに関して独自の要件を持つバックエンドは、これらのステージに対してステージプラグインを指定し、回路を独自に変換することで、バックエンド上で確実に実行できるようにすることができます。 これらのフックはデフォルトで有効になっており、バックエンド上で回路が実行可能であることを保証するため、あるいは期待されるパフォーマンスレベルを確保するために必要な場合にのみ、追加のコンパイルステップを有効にするために使用すべきです。 これらのメソッドには入力引数が渡されず、ステージプラグインであるべきメソッド名を表す値を str 返すものと想定されています(プラグインの詳細については qiskit.transpiler.preset_passmanagers.plugin 、を参照してください)。 一般的な想定されるユースケースとしては、バックエンドプロバイダが、カスタムコンパイルパスを含む または scheduling translation 用のステージプラグインを実装し、バックエンドオブジェクトのフックメソッドがプラグイン名を返すようにすることで、 がそのバックエンドをターゲットとする際にデフォルトでそのプラグインを使用する transpile() ようになる、というものです。

このサブクラスは、publicメソッド run() と内部メソッド _default_options():

_default_options

abstractmethod classmethod _default_options()

GitHub

デフォルトのオプションを返す

このメソッドは qiskit.providers.Options サブクラス・オブジェクトを返します。 これらは、バックエンドのオプションに使用するデフォルトのパラメータとなります。

戻り値

を持つオプション・オブジェクト。

デフォルト値

戻りの型

qiskit.providers.Options

BackendV2 ベースのバックエンドを初期化する

パラメーター

  • provider - バックエンドのプロバイダオブジェクトへの後方参照(オプション)
  • name (str | None) – バックエンドの別名
  • description (str | None) – バックエンドに関する任意の説明
  • online_date (datetime | None) – バックエンドが稼働を開始した日時(任意)
  • backend_version (str | None) – オプションのバックエンドのバージョン文字列。 これは 属性 version とは異なります。なぜなら、 version はオブジェクトの抽象的な Backend インターフェース版を表すのに対し、 backend_version はバックエンド自体のバージョン管理を表すからです。
  • fields - デフォルトのオプションを上書きするために使用する値の kwargs。

レイズ

AttributeError - バックエンドのオプション外のフィールドが指定された場合


属性

coupling_map

を返します。 CouplingMap オブジェクト

dt

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

これは、バックエンドがパルススケジューリングをサポートしている場合に実装する必要がある。

戻り値

入力信号のタイムステップ(秒)。 バックエンドが dt を定義していない場合、 None が返される。

dtm

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

戻り値

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

レイズ

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

instruction_durations

オブジェクトを返す。 InstructionDurations オブジェクトを返します。

instructions

フォームのバックエンドにある命令タプルのリスト (instruction, (qubits))

max_circuits

1つのジョブで実行できる回路の最大数。

制限がない場合は None を返します

meas_map

多重化された測定値のグループ化を返す

これは、バックエンドがパルススケジューリングをサポートしている場合に実装する必要がある。

戻り値

多重化された測定のグループ化

レイズ

NotImplementedError - バックエンドが計測マッピングのクエリをサポートしていない場合

num_qubits

バックエンドが持つ量子ビットの数を返します。

operation_names

バックエンドがサポートする命令名のリスト。

operations

バックエンドがサポートする Instruction バックエンドがサポートするインスタンスの一覧。

options

バックエンドのオプションを返します

バックエンドのオプションは、バックエンドの使用方法を定義する動的パラメータです。 これらは run() メソッドを使用する。

provider

バックエンドプロバイダを返します。

戻り値

バックエンドを担当するプロバイダ。

戻りの型

提供者

target

A qiskit.transpiler.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

abstractmethod run(run_input, **options)

GitHub

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

このメソッドは Job オブジェクトを返す。 バックエンドによっては、これは非同期呼び出しか同期呼び出しのどちらかになる。 ジョブ・クラスはどちらの状況にも対応できます。

パラメーター

  • run_input (QuantumCircuit orlist) – バックエンドで実行する QuantumCircuit オブジェクトのリスト。
  • options - 設定を実行するためにバックエンドに渡す任意の kwarg オプション。 キーがoptions属性/オブジェクトにも存在する場合、optionsオブジェクトで設定された値の代わりに、指定された値が使われることが期待されます。

戻り値

ランのジョブオブジェクト

戻りの型

ジョブ

set_options

set_options(**fields)

GitHub

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

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

パラメーター

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

レイズ

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

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