Skip to main content
IBM Quantum Platform

IBMバックエンド

class IBMBackend(configuration, service, api_client, instance=None, calibration_id=None)

GitHub

ベース: BackendV2

IBM Quantum バックエンドと連携するバックエンドクラス。

  • IBMBackend クラスを直接インスタンス化してはならない。 代わりに QiskitRuntimeService インスタンスが提供するメソッドを使います。

このクラスは IBM Quantum バックエンドを表します。 その属性とメソッドは、バックエンドに関する情報を提供する。 例えば status() メソッドは BackendStatus インスタンスを返します。 このインスタンスには operationalpending_jobs 属性があり、それぞれバックエンドが稼動しているかどうかと、バックエンドのサーバーキューにあるジョブの数を示します:

status = backend.status()
is_operational = status.operational
jobs_in_queue = status.pending_jobs

IBMBackend クラスで利用可能な属性のリストです:

  • name: バックエンド名。

  • backend_version: バックエンドのバージョン X.Y.Z.

  • num_qubits: qubitsの数。

  • ターゲットA qiskit.transpiler.Target オブジェクトを返します。

  • basis_gates: バックエンドの基本ゲート名のリスト。

  • gate: バックエンドの基本ゲートのリスト。

  • local: バックエンドがローカルかリモートか。

  • シミュレーター:バックエンドはシミュレーターである。

  • conditional: バックエンドは条件操作をサポートする。

  • open_pulse: バックエンドがオープンパルスをサポート。

  • memory: バックエンドはメモリをサポートする。

  • coupling_map (リスト):デバイスのカップリングマップ

  • supported_instructions ( [Liststr] ):バックエンドがサポートする命令。

  • dynamic_reprate_enabled (bool): プリミティブ間のディレイを動的に設定するかどうか(つまり rep_delay 経由)。 デフォルト値は false です。

  • rep_delay_range ( [Listfloat] ): バックエンドの反復遅延のサポート範囲をμs単位で定義する 2d リスト。 最初のエントリーがレンジの下限、2番目のエントリーがレンジの上限。 オプションだが、 dynamic_reprate_enabled=True のときに指定される。

  • default_repache_delay (float):ユーザーおよび dynamic_reprate_enabled=True によって指定されない場合、 rep_delay の値。

  • n_uchannels:uチャンネルの数。

  • u_channelデバイスlosのUチャンネル関係。

  • meas_levels:サポートされる測定レベル。

  • qubit_lo_range:各クビットのQubit lo range (min, max) (GHz単位)。

  • meas_lo_range:各qubitの測定lo範囲、単位はGHz。

  • dt:Qubit駆動チャンネルのタイムステップ(ナノ秒単位)。

  • dtm:測定ドライブチャンネルのタイムステップ(ナノ秒単位)。

  • rep_times:バックエンドのサポートされる繰り返し時間(プログラム実行時間)(μs単位)。

  • meas_kernels:サポートされる測定カーネル。

  • ディスクリミネーターサポートされる識別器。

  • ハミルトニアン:システムのハミルトニアンを特徴づけるフィールドを持つオプションの辞書。

  • channel_bandwidth (リスト):全チャンネルの帯域幅 (量子ビット、計測、U)

  • acquisition_latency (リスト):n_qubits x n_registers次元の配列。 量子ビットnの測定結果をレジスタスロットmに書き込むまでの待ち時間(単位はdt)。

  • conditional_latency (リスト):Array of dimension n_channels [d->u->m] x n_registers. レジスタ・スロットmからチャネルnに対して条件演算を行うまでの待ち時間(dt単位

  • meas_map (リスト):多重化された測定のグループ化

  • sample_name (str):バックエンドのサンプル名

  • n_registers (int):フィードバックに利用可能なレジスタスロットの数(条件がTrueの場合)

  • register_map (リスト):n_qubits X n_registersの次元の配列で、量子ビットが特定のレジスタスロットに測定値を格納できるかどうかを指定する。

  • configurable (bool):バックエンドがシミュレータの場合は true

  • credits_required (bool):バックエンドがジョブの実行にクレジットを要求する場合に真。

  • online_date (datetime):デバイスがオンラインになった日付

  • display_name (str):バックエンドの代替名フィールド

  • description (str):バックエンドの説明

  • tags (リスト):バックエンドを表す文字列タグのリスト

  • version: Backend クラスのバージョン (例: 1, 2)

  • チャンネル:各チャンネルの情報(目的、タイプ、操作される量子ビット)を含むオプションの辞書。

  • parametric_pulses (リスト):バックエンドでサポートされているパルス形状のリスト。 例:['gaussian', 'constant']

  • processor_type (dict):このバックエンドのプロセッサタイプ。 {"family": "Canary", "revision": "1.0", segment: "A"} のような {"family": <str>, "revision": <str>, segment: <str>} 形式の辞書。

    • ファミリ:このバックエンドのプロセッサファミリ。
    • リビジョン:このプロセッサのリビジョンバージョン。
    • セグメント:より大きなチップの中で、このプロセッサが属するセグメント。

パラメーター

  • configuration (QasmBackendConfiguration) – バックエンドの設定。
  • service (QiskitRuntimeService) – QiskitRuntimeService のインスタンス。
  • api_client (RuntimeClient) – IBM クライアントがサーバーと通信するために使用される。
  • instance (str | None) – 使用するサービスインスタンス。
  • calibration_id (str | None) – このバックエンドで使用する較正ID(オプション

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

パラメーター

  • プロバイダー – バックエンドの由来となるプロバイダーオブジェクトへの、任意の逆参照
  • name – バックエンドの任意の名前
  • 説明 – バックエンドに関する任意の説明
  • online_date – バックエンドがオンラインになった日時(任意)
  • backend_version – オプションのバックエンドバージョン文字列。 これは 属性 version とは異なります。なぜなら、 version はオブジェクトの抽象 Backend 的なインターフェース版を表すのに対し、 backend_version はバックエンド自体のバージョン管理を表すからです。
  • fields – デフォルトのオプションを上書きするために使用する値のkwargs。
  • configuration (QasmBackendConfiguration)
  • service (QiskitRuntimeService)
  • api_client (RuntimeClient)
  • instance (str | None)
  • calibration_id (str | None)

レイズ

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


属性

calibration_id

このバックエンドで使用するキャリブレーション ID。

coupling_map

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

dt

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

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

戻り値

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

dtm

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

戻り値

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

id_warning_issued

デフォルト値: False

instruction_durations

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

instructions

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

max_circuits

1つのジョブで実行可能な回路の最大数を返します。

このプロパティは、以前はバックエンド構成からmax_experiments値を返していたが、この値はもはやバックエンド回路制限の正確な表現ではない。 新しい制限を示す新しいフィールドが追加される。

meas_map

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

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

戻り値

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

num_qubits

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

operation_names

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

operations

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

options

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

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

provider

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

戻り値

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

戻りの型

提供者

service

オブジェクトを service 返す。

戻り値

QiskitRuntimeService のインスタンス

target

A qiskit.transpiler.Target オブジェクトを返します。

戻り値

ターゲット

version

デフォルト値: 2

name

バックエンドの名前。

description

任意で人間が読める説明文。

online_date

バックエンドがオンラインになった日付。

backend_version

提供されるバックエンドのバージョン。 これは、 Backend 抽象インターフェースのバージョンである BackendV2.version とは異なる。


方法

__call__

__call__()

GitHub

関数として呼び出された場合、バックエンドインスタンスを返す。

戻りの型

IBMBバックエンド

check_faulty

check_faulty(circuit)

GitHub

入力回路に欠陥のある量子ビットやエッジが使われていないかチェックする。

パラメーター

circuit (QuantumCircuit) – 確認すべき回路。

レイズ

ValueError - 欠陥のある量子ビットやエッジで動作する命令が見つかった場合。

戻りの型

なし

configuration

configuration()

GitHub

バックエンドの設定を返します。

バックエンドの設定には、バックエンドの名前、量子ビット数、基底ゲート、カップリングマップ、量子体積など、バックエンドに関する固定情報が含まれる。

バックエンド設定に関する情報は、Get backend configuration REST API で確認できます。

バックエンドの設定プロパティの詳細については、こちらを参照してください。 QasmBackendConfiguration.

IBM バックエンドは以下のプロパティも含むことができる:

  • supported_features: サポートされている機能の文字列のリスト(例: “qasm3” )

    動的回路のサポート。

  • parallel_compilationバックエンドが複数の

    の仕事を一度にこなす。 古典的な計算の一部は並列化される。

戻り値

バックエンドの設定。

戻りの型

QasmBackendConfiguration

get_translation_stage_plugin

get_translation_stage_plugin()

GitHub

IBM バックエンドのデフォルトの翻訳ステージプラグイン名を返します。

戻りの型

str

properties

properties(refresh=False, datetime=None)

GitHub

バックエンドのプロパティを返します。

このデータには、量子ビットのプロパティ( T1 や T2 など)、ゲートのプロパティ(ゲート長やエラーなど)、その他バックエンドの一般的なプロパティが記述されている。

バックエンドのプロパティに関する情報は、 Get backend configuration REST API で確認できます。

パラメーター

  • refresh (bool) – True の場合、バックエンドのプロパティをサーバーに再照会する。 そうでない場合は、キャッシュされたバージョンを返す。
  • datetime (python_datetime | None) – datetime を指定すると、この関数は、指定された日時よりも古いものの、それに最も近いタイムスタンプを持つ DateTime BackendProperties インスタンスを返します。

戻り値

バックエンド・プロパティ、またはバックエンド・プロパティが現在利用できない場合は None

レイズ

  • TypeError - 入力引数の型が正しくない場合。
  • NotImplementedError - クラウドランタイム使用時にdatetimeが指定された場合。

戻りの型

BackendProperties | なし

qubit_properties

qubit_properties(qubit)

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

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

パラメーター

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

戻り値

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

レイズ

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

戻りの型

QubitProperties | list[ QubitProperties ]

refresh

refresh()

GitHub

最新のバックエンド設定を取得し、現在のバックエンドターゲットをリフレッシュします。

戻りの型

なし

run

run(*args, **kwargs)

GitHub

バックエンドでジョブを実行する。

レイズ

IBMBackendError - run()メソッドはサポートされなくなった。

戻りの型

なし

set_options

set_options(**fields)

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

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

パラメーター

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

レイズ

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

status

status()

GitHub

バックエンドのステータスを返します。

返された BackendStatus インスタンスに operational=True があるが、 status_msg="internal" がない場合、バックエンドはジョブを受け入れているが、処理していないことになる。

戻り値

バックエンドの状態。

レイズ

IBMBackendApiProtocolError - バックエンドのステータスが正しくフォーマットできない場合。

戻りの型

BackendStatus

target_history

target_history(datetime=None)

GitHub

A qiskit.transpiler.Target オブジェクトを返します。

戻り値

datetimeで見つかったプロパティを持つターゲット

パラメーター

datetime (python_datetime | None)

戻りの型

ターゲット

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