{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "c457f721-e66d-403e-84be-10b26863c86d",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"「Estimator」のオプションを指定する\"\n",
        "description: \"Estimatorプリミティブを使用してビルドする際、オプションを指定します。\"\n",
        "---\n",
        "\n",
        "<span id=\"specify-estimator-options\" />\n",
        "\n",
        "# 「Estimator」のオプションを指定する\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "1a97b5d6-3fb2-4c33-9b95-807bb6768a84",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "{/*\n",
        "  DO NOT EDIT THIS CELL!!!\n",
        "  This cell's content is generated automatically by a script. Anything you add\n",
        "  here will be removed next time the notebook is run. To add new content, create\n",
        "  a new cell before or after this one.\n",
        "  */}\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"パッケージ・バージョン\">\n",
        "    このページのコードは、以下の要件に基づいて開発されました。\n",
        "    これらのバージョン以降のご利用をお勧めします。\n",
        "\n",
        "    ```\n",
        "    qiskit[all]~=2.5.1\n",
        "    qiskit-ibm-runtime~=0.47.0\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "3c1e38b5-3f01-4818-943e-f52d877be6ad",
      "metadata": {},
      "source": [
        "オプションを使用して、Estimatorプリミティブをカスタマイズできます。 プリミティブ `run()` のメソッドのインターフェースはすべての実装で共通していますが、そのオプションは共通ではありません。 および オプション [`qiskit.primitives.BaseEstimatorV2`](/docs/api/qiskit/qiskit.primitives.BaseEstimatorV2)[`qiskit_aer.BaseEstimatorV2`](https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.primitives.EstimatorV2.html) の詳細については、APIリファレンスを参照してください。\n",
        "\n",
        "注記：\n",
        "\n",
        "<Admonition type=\"note\" title=\"Estimatorプリミティブでのオプション指定に関する注意事項\">\n",
        "  * Estimatorの初期化中または初期化後に、利用可能なオプションを確認したり、オプションの値を更新したりすることができます。\n",
        "  * この `update()` メソッドを使用して、\\`\\`属性 `options` に変更を適用します。\n",
        "  * オプションの値を指定しない場合、そのオプションには特別な値が割り当てられ、 `Unset` サーバーのデフォルト設定が使用されます。\n",
        "  * この `options` 属性は、 Python 型です `dataclass` 。  組み込み `asdict` のメソッドを使って、それを辞書に変換することができます。\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"pass-options\" />\n",
        "\n",
        "<span id=\"set-estimator-options\" />\n",
        "\n",
        "## 見積もりツールのオプションを設定する\n",
        "\n",
        "オプションの設定は、Estimatorの初期化時、初期化後、または（のみの場合 `precision` ）メソッド `run()` 内で行うことができます。\n",
        "\n",
        "<span id=\"primitive-initialization\" />\n",
        "\n",
        "### プリミティブ型の初期化\n",
        "\n",
        "Estimatorを初期化する際、オプションクラスのインスタンスまたは辞書を渡すことができ、これによりそれらのオプションのコピーが作成されます。 したがって、元の辞書やオプションのインスタンスを変更しても、プリミティブが所有するオプションには影響しません。\n",
        "\n",
        "<span id=\"options-class\" />\n",
        "\n",
        "#### オプションクラス\n",
        "\n",
        "この `EstimatorV2` クラスのインスタンスを作成する際、オプションクラスのインスタンスを渡すことができます。 その後、計算を実行する際に、 `run()` それらのオプションが適用されます。  オプションは次の形式で指定してください： `options.option.sub-option.sub-sub-option = choice`.  例えば次のようにします：`options.dynamical_decoupling.enable = True`\n",
        "\n",
        "例:\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "a20ed38a-31b7-4f0a-aed1-bd11046ab10e",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "from qiskit_ibm_runtime.options import EstimatorOptions\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "options = EstimatorOptions(\n",
        "    resilience_level=2,\n",
        "    resilience={\"zne_mitigation\": True, \"zne\": {\"noise_factors\": [1, 3, 5]}},\n",
        ")\n",
        "\n",
        "# or...\n",
        "options = EstimatorOptions()\n",
        "options.resilience_level = 2\n",
        "options.resilience.zne_mitigation = True\n",
        "options.resilience.zne.noise_factors = [1, 3, 5]\n",
        "\n",
        "estimator = Estimator(mode=backend, options=options)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "dc5ba623-45f2-4abf-9478-ff83490b480c",
      "metadata": {},
      "source": [
        "<span id=\"dictionary\" />\n",
        "\n",
        "#### 辞書\n",
        "\n",
        "Estimatorを初期化する際、オプションを辞書として指定することができます。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "869e4bf1-a7f9-4a66-8876-f327dcb87811",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "# Setting options during initialization\n",
        "estimator = Estimator(\n",
        "    backend,\n",
        "    options={\n",
        "        \"resilience_level\": 2,\n",
        "        \"resilience\": {\n",
        "            \"zne_mitigation\": True,\n",
        "            \"zne\": {\"noise_factors\": [1, 3, 5]},\n",
        "        },\n",
        "    },\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "498899b6-3253-4348-9589-19dbbd6bc22b",
      "metadata": {},
      "source": [
        "<span id=\"update-options-after-initialization\" />\n",
        "\n",
        "### 初期化後のオプションの更新\n",
        "\n",
        "オプションは、 `estimator.options.option.sub-option.sub-sub-option = choice` オートコンプリート機能を利用するためにこの形式で指定するか、一括更新を行うには メソッド `update()` を使用してください。\n",
        "\n",
        "プリミティブの初期化後にオプションを設定する場合、options クラス ([`EstimatorOptions`](/docs/api/qiskit-ibm-runtime/options-estimator-options)) を `EstimatorV2` インスタンス化する必要はありません。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "id": "1cd195bb-50a5-4c64-aa0b-effb1ea621ce",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "estimator = Estimator(mode=backend)\n",
        "\n",
        "# Setting options after initialization\n",
        "# This uses auto-complete.\n",
        "estimator.options.default_precision = 0.01\n",
        "# This does bulk update.\n",
        "estimator.options.update(\n",
        "    default_precision=0.02, resilience={\"zne_mitigation\": True}\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "7cde6f7f-278e-4170-afa3-2c3fb4ec4bfa",
      "metadata": {},
      "source": [
        "<span id=\"run-method\" />\n",
        "\n",
        "<span id=\"run-method\" />\n",
        "\n",
        "### Run() メソッド\n",
        "\n",
        "に渡し得る値は、 `run()` インターフェースで定義されているものに限られます。  つまり、Estimator `precision` については、 これにより、現在の実行に対して `default_precision` 設定された値が上書きされます。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "id": "c0606f38-2bed-4b56-8202-708669e5ea66",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<RuntimeJobV2('d9mqa0g8csec73fagtl0', 'estimator')>"
            ]
          },
          "execution_count": 4,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "from qiskit.circuit.library import random_iqp\n",
        "from qiskit.transpiler import generate_preset_pass_manager\n",
        "from qiskit.quantum_info import SparsePauliOp\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "circuit1 = random_iqp(3)\n",
        "circuit1.measure_all()\n",
        "circuit2 = random_iqp(3)\n",
        "circuit2.measure_all()\n",
        "\n",
        "observable = SparsePauliOp(\"Z\" * 3)\n",
        "\n",
        "pass_manager = generate_preset_pass_manager(\n",
        "    optimization_level=3, backend=backend\n",
        ")\n",
        "\n",
        "transpiled1 = pass_manager.run(circuit1)\n",
        "transpiled2 = pass_manager.run(circuit2)\n",
        "isa_observable1 = observable.apply_layout(transpiled1.layout)\n",
        "isa_observable2 = observable.apply_layout(transpiled2.layout)\n",
        "\n",
        "estimator = Estimator(mode=backend)\n",
        "# Default precision to use if not specified in run()\n",
        "estimator.options.default_precision = 0.01\n",
        "# Run two circuits, requiring a precision of .02 for both.\n",
        "estimator.run(\n",
        "    [(transpiled1, isa_observable1), (transpiled2, isa_observable2)],\n",
        "    precision=0.02,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "effe450a-255f-4837-a276-c8c3ea6e2db0",
      "metadata": {},
      "source": [
        "<span id=\"special-case-precision\" />\n",
        "\n",
        "### 特例：精度\n",
        "\n",
        "この `EstimatorV2.run` メソッドは2つの引数を受け取ります。1つはPUBのリストで、各PUBは精度について PUB 固有の値を指定できます。もう1つは精度のキーワード引数です。 これらの精度値は、Estimatorの実行インターフェースの一部であり、Runtime Estimatorのオプションとは独立しています。  これらは、Estimatorの抽象化に準拠するため、オプションとして指定された値よりも優先されます。\n",
        "\n",
        "ただし、 PUB または実行時のキーワード引数で が `precision` 指定されていない場合（あるいはそれらがすべて `None`である場合）、オプションで指定された精度値が使用されます。特に、 `default_precision` が使用されます。\n",
        "\n",
        "<Admonition type=\"note\">\n",
        "  これらの精度パラメータは、 *目標*精度を指定するためのみに用いられるものであり、結果が指定された精度に達することが保証されるわけではありません。\n",
        "</Admonition>\n",
        "\n",
        "なお、Estimatorのオプションには と の `default_shots` 両方が含ま `default_precision`れています。 ただし、ゲート・トゥイリングはデフォルトで有効になっているため、と `num_randomizations` の積が、これら2つの `shots_per_randomization` オプションよりも優先されます。\n",
        "\n",
        "具体的には、任意のEstimator PUB について：\n",
        "\n",
        "1. PUB で精度が指定されている場合は、その値を使用してください。\n",
        "2. に precision `run`キーワード引数が指定されている場合は、その値を使用します。\n",
        "3. `shots_per_randomization`が有効になっている場合 `twirling` （デフォルトは True）、 [オプション `twirling`](/docs/api/qiskit-ibm-runtime/options-twirling-options) として指定された と の `num_randomizations` 積が使用されます。\n",
        "4. が指定されている `estimator.options.default_shots` 場合は、その値を使用してデータ量を制御します。\n",
        "5. が指定されている `estimator.options.default_precision` 場合は、その値を使用します。\n",
        "\n",
        "たとえば、4か所すべてで精度が指定されている場合、優先順位が最も高いもの（ PUB で指定された精度）が使用されます。\n",
        "\n",
        "<Admonition type=\"note\">\n",
        "  PUB および で `run` 指定された精度の方が優先度が高いものの、 が有効になっており、かつ と `shots_per_randomization` の `num_randomizations` 積が、その精度を達成するために必要なショット数よりも小さい場合 `twirling` 、ジョブは失敗します。 `num_randomizations`このシナリオでは、 `EstimatorV2` 指定された に対してショットを割り当てることができません。\n",
        "</Admonition>\n",
        "\n",
        "<Admonition type=\"note\">\n",
        "  精度は使用頻度と反比例する。  つまり、精度が低いほど、実行にかかるQPU時間が長くなります。\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "id": "bf02c107-226e-443a-ab4c-dfd3246ada2c",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<RuntimeJobV2('d9mqa2o8csec73fagtpg', 'estimator')>"
            ]
          },
          "execution_count": 5,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "from qiskit.circuit.library import random_iqp\n",
        "from qiskit.transpiler import generate_preset_pass_manager\n",
        "from qiskit.quantum_info import SparsePauliOp\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "observable = SparsePauliOp(\"Z\" * 3)\n",
        "\n",
        "circuit = random_iqp(3)\n",
        "circuit.measure_all()\n",
        "\n",
        "pass_manager = generate_preset_pass_manager(\n",
        "    optimization_level=3, backend=backend\n",
        ")\n",
        "\n",
        "isa_circuit = pass_manager.run(circuit)\n",
        "isa_observable = observable.apply_layout(isa_circuit.layout)\n",
        "\n",
        "# Setting precision during primitive initialization\n",
        "estimator = Estimator(mode=backend, options={\"default_precision\": 0.05})\n",
        "\n",
        "# Run with precision=0.02, overwriting the default.\n",
        "estimator.run(\n",
        "    [(isa_circuit, isa_observable1)],\n",
        "    precision=0.02,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "be2f096d-355a-4f5f-8729-4808a0c5791d",
      "metadata": {},
      "source": [
        "<span id=\"no-error-mitigation\" />\n",
        "\n",
        "<span id=\"turn-off-all-error-mitigation-and-error-suppression\" />\n",
        "\n",
        "## すべてのエラー緩和およびエラー抑制機能を無効にする\n",
        "\n",
        "たとえば、独自の緩和策について研究している場合などには、すべてのエラーの緩和および抑制機能を無効にすることができます。 これを実現するには、次のように設定します `resilience_level = 0`。\n",
        "\n",
        "例:\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "id": "0e357659-44c4-4332-80b9-c0a9080adfbd",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator, QiskitRuntimeService\n",
        "\n",
        "# Define the service.  This allows you to access an IBM QPU.\n",
        "service = QiskitRuntimeService()\n",
        "\n",
        "# Get a backend\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "# Define Estimator\n",
        "estimator = Estimator(backend)\n",
        "\n",
        "options = estimator.options\n",
        "\n",
        "# Turn off all error mitigation and suppression\n",
        "options.resilience_level = 0"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e64d93fc-2a2c-4e6b-a94a-fd7142858c99",
      "metadata": {},
      "source": [
        "<span id=\"options-table\" />\n",
        "\n",
        "<span id=\"available-options\" />\n",
        "\n",
        "## 使用可能なオプション\n",
        "\n",
        "次の表は、最新バージョンの `qiskit-ibm-runtime`.のオプションをまとめたものです。 以前のバージョンのオプションを確認するには、 [API `qiskit-ibm-runtime` リファレンス](/docs/api/qiskit-ibm-runtime)にアクセスし、以前のバージョンを選択してください。\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"`default_shots`\">\n",
        "    構成ごとに、1つの回路あたりに使用するショットの総数。\n",
        "\n",
        "    **選択肢** ：0以上の整数\n",
        "\n",
        "    **既定値** ：なし\n",
        "\n",
        "    [`default_shots` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#default_shots)\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`default_precision`\">\n",
        "    PUB または `run()` の呼び出しにおいて、精度が指定されていない場合のデフォルトの精度。\n",
        "\n",
        "    **選択肢** ：Float > 0\n",
        "\n",
        "    **デフォルト** : 0.015625 (1 / √4096)\n",
        "\n",
        "    [`default_precision` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#default_precision)\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`dynamical_decoupling`\">\n",
        "    動的デカップリング誤差の低減設定を制御します。\n",
        "\n",
        "    [`dynamical_decoupling` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#dynamical_decoupling)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`dynamical_decoupling.enable`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`dynamical_decoupling.extra_slack_distribution`\">\n",
        "        **選択肢** ： `middle`, `edges`\n",
        "\n",
        "        **既定値** ： `middle`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`dynamical_decoupling.scheduling_method`\">\n",
        "        選択肢： `asap`, `alap`\n",
        "        デフォルト： `alap`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`dynamical_decoupling.sequence_type`\">\n",
        "        選択肢： `XX`, `XpXm`, `XY4`\n",
        "        デフォルト： `XX`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`dynamical_decoupling.skip_reset_qubits`\">\n",
        "        選択肢： `True`, `False`\n",
        "        デフォルト： `False`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`environment`\">\n",
        "    [`environment` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#environment)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`environment.callback`\">\n",
        "        と `Job ID` を受け取る呼び出し `Job result`可能な関数。\n",
        "\n",
        "        **選択肢** ：なし\n",
        "\n",
        "        **既定値** ：なし\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.job_tags`\">\n",
        "        タグの一覧。\n",
        "\n",
        "        **選択肢** ：なし\n",
        "\n",
        "        **既定値** ：なし\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.log_level`\">\n",
        "        **選択肢** ：DEBUG、INFO、WARNING、ERROR、CRITICAL\n",
        "\n",
        "        **デフォルト** : 警告\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.private`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `False`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`execution`\">\n",
        "    [`execution` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#execution)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`execution.init_qubits`\">\n",
        "        ショットごとに量子ビットを基底状態にリセットするかどうか。\n",
        "\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `True`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`execution.rep_delay`\">\n",
        "        測定とそれに続く量子回路との間の時間差。\n",
        "\n",
        "        **選択肢** ：指定された範囲内の値 `backend.rep_delay_range`\n",
        "\n",
        "        **デフォルト** ：指定された値 `backend.default_rep_delay`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`max_execution_time`\">\n",
        "    ジョブの実行時間を秒単位で制限します。 詳細については[、最大実行時間](/docs/guides/max-execution-time)に関するガイドをご覧ください。\n",
        "\n",
        "    **選択肢** ： \\[1 から 10800 までの]範囲の秒数（整数）\n",
        "\n",
        "    **デフォルト** ：10800（3時間）\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`resilience`\">\n",
        "    レジリエンス戦略を微調整するための高度なオプション。\n",
        "\n",
        "    [`resilience` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#resilience)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`resilience.layer_noise_learning`\">\n",
        "        レイヤーノイズの学習オプション。\n",
        "\n",
        "        [`resilience.layer_noise_learning` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-layer-noise-learning-options)\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.layer_noise_learning.layer_pair_depths`\">\n",
        "        **選択肢** ： \\[0～200] の範囲の2～10個の値\\[のリスト]\n",
        "\n",
        "        **既定値** ： `(0, 1, 2, 4, 16, 32)`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.layer_noise_learning.max_layers_to_learn`\">\n",
        "        **選択肢** ：なし、1以上の整数\n",
        "\n",
        "        **既定値** ： `4`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.layer_noise_learning.num_randomizations`\">\n",
        "        **選択肢** ：1以上の整数\n",
        "\n",
        "        **既定値** ： `32`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.layer_noise_learning.shots_per_randomization`\">\n",
        "        **選択肢** ：1以上の整数\n",
        "\n",
        "        **既定値** ： `128`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.layer_noise_model`\">\n",
        "        **選択肢** ： `NoiseLearnerResult`, `Sequence[LayerError]`\n",
        "\n",
        "        **既定値** ：なし\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.measure_mitigation`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `True`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.measure_noise_learning`\">\n",
        "        測定ノイズ学習のオプション。\n",
        "\n",
        "        [`resilience.measure_noise_learning` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-measure-noise-learning-options)\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.measure_noise_learning.num_randomizations`\">\n",
        "        **選択肢** ：1以上の整数\n",
        "\n",
        "        **既定値** ： `32`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.measure_noise_learning.shots_per_randomization`\">\n",
        "        **選択肢** ：整数、 `auto`\n",
        "\n",
        "        **既定値** ： `auto`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.pec_mitigation`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.pec`\">\n",
        "        確率論的誤差相殺の緩和策。\n",
        "\n",
        "        [`resilience.pec` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-pec-options)\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.pec.max_overhead`\">\n",
        "        **選択肢** ： `None`、1以上の整数\n",
        "\n",
        "        **既定値** ： `100`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.pec.noise_gain`\">\n",
        "        **選択肢** ： `auto`、 \\[0～1] の範囲の浮動小数点数\n",
        "\n",
        "        **既定値** ： `auto`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne_mitigation`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne`\">\n",
        "        [`resilience.zne` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-zne-options)\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne.amplifier`\">\n",
        "        **選択肢** ： `gate_folding`, `gate_folding_front`, `gate_folding_back`, `pea`\n",
        "\n",
        "        **既定値** ： `gate_folding`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne.extrapolated_noise_factors`\">\n",
        "        **選択肢** ：フロートのリスト\n",
        "\n",
        "        **既定値** ： `[0, *noise_factors]`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne.extrapolator`\">\n",
        "        **選択肢** ：以下のうち1つ以上： `exponential`、 `linear`、 `double_exponential`、 `polynomial_degree_(1 <= k <= 7)`、 `fallback`\n",
        "\n",
        "        **既定値** ： `(exponential, linear)`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`resilience.zne.noise_factors`\">\n",
        "        **選択肢** ：フロートのリスト。各フロートの値は 1 以上\n",
        "\n",
        "        **デフォルト** : `(1, 1.5, 2)` の場合 `PEA`、それ `(1, 3, 5)` 以外の場合は\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`resilience_level`\">\n",
        "    エラーに対してどの程度の耐性を構築すべきか。 レベルが高いほど、処理時間は長くなりますが、より正確な結果が得られます。 詳細については、「騒音管理」トピックの 「[耐性レベル](/docs/guides/estimator-noise-management#resilience) 」のセクションをご覧ください。\n",
        "\n",
        "    **選択肢** ： `0`, `1`, `2`\n",
        "\n",
        "    **既定値** ： `1`\n",
        "\n",
        "    [`resilience_level` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-estimator-options#resilience_level)\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`seed_estimator`\">\n",
        "    **選択肢** ：整数\n",
        "\n",
        "    **既定値** ：なし\n",
        "\n",
        "    [`seed_estimator`](/docs/api/qiskit-ibm-runtime/options-estimator-options#seed_estimator)\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`simulator`\">\n",
        "    バックエンドをシミュレートする際に渡すオプション\n",
        "\n",
        "    [`simulator` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-simulator-options)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`simulator.basis_gates`\">\n",
        "        **選択肢** ：アンロール先の基本ゲート名のリスト\n",
        "\n",
        "        **デフォルト** ： [Qiskit Aer シミュ](https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html)レータがサポートするすべての基本ゲートの集合\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`simulator.coupling_map`\">\n",
        "        **選択肢** ：方向性を持つ2量子ビット相互作用の一覧\n",
        "\n",
        "        **デフォルト** ：なし。これは、接続性の制約がない（完全接続）ことを意味します。\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`simulator.noise_model`\">\n",
        "        **選択肢** ： [Qiskit Aer NoiseModel](/docs/guides/build-noise-models)、またはその表現\n",
        "\n",
        "        **既定値** ：なし\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`simulator.seed_simulator`\">\n",
        "        **選択肢** ：整数\n",
        "\n",
        "        **既定値** ：なし\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`twirling`\">\n",
        "    回転オプション\n",
        "\n",
        "    [`twirling` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-twirling-options)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`twirling.enable_gates`\">\n",
        "        **選択肢** ：はい、いいえ\n",
        "\n",
        "        **デフォルト** : False\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`twirling.enable_measure`\">\n",
        "        **選択肢** ：はい、いいえ\n",
        "\n",
        "        **デフォルト** : True\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`twirling.num_randomizations`\">\n",
        "        **選択肢** ： `auto`、1以上の整数\n",
        "\n",
        "        **既定値** ： `auto`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`twirling.shots_per_randomization`\">\n",
        "        **選択肢** ： `auto`、1以上の整数\n",
        "\n",
        "        **既定値** ： `auto`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`twirling.strategy`\">\n",
        "        **選択肢** ： `active`, `active-circuit`, `active-accum`, `all`\n",
        "\n",
        "        **既定値** ： `active-accum`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`experimental`\">\n",
        "    利用可能な場合は、実験的なオプション。\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "83f4261c-fe8e-4993-ad7c-280350a970f3",
      "metadata": {},
      "source": [
        "<span id=\"options-compatibility-table\" />\n",
        "\n",
        "<span id=\"feature-compatibility\" />\n",
        "\n",
        "## フィーチャーの互換性\n",
        "\n",
        "特定のランタイム機能は、1つのジョブ内で同時に使用することはできません。 選択した機能と互換性のない機能の一覧を表示するには、該当するタブをクリックしてください：\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"部分ゲート\">\n",
        "    互換性がないもの：\n",
        "\n",
        "    * 門をくるくる回す\n",
        "    * PEA\n",
        "    * PEC\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"ゲートフォールディングZNE\">\n",
        "    カスタムゲートを使用している場合、正常に動作しない可能性があります。 互換性がないもの：\n",
        "\n",
        "    * PEA\n",
        "    * PEC\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"門をくるくる回す\">\n",
        "    互換性がないもの：\n",
        "\n",
        "    * 部分ゲート\n",
        "    * ストレッチ\n",
        "\n",
        "    その他の注意事項：\n",
        "\n",
        "    * 測定の反転は、端子測定にのみ適用できます。\n",
        "    * Clifford型以外のエンタングラーでは動作しません。\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"PEA\">\n",
        "    互換性がないもの：\n",
        "\n",
        "    * 部分ゲート\n",
        "    * ゲートフォールディングZNE\n",
        "    * PEC\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"PEC\">\n",
        "    互換性がないもの：\n",
        "\n",
        "    * 部分ゲート\n",
        "    * ゲートフォールディングZNE\n",
        "    * PEA\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5e795454-5b76-40d3-94c6-bb982be58239",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## 次のステップ\n",
        "\n",
        "<Admonition type=\"tip\" title=\"推奨事項\">\n",
        "  * 各メソッド `EstimatorV2` の詳細については、 [Estimator API リファレンス](/docs/api/qiskit-ibm-runtime/estimator-v2)をご覧ください。\n",
        "  * ジョブ[を実行](/docs/guides/execution-modes)するモードを決定します。\n",
        "  * [Estimatorを使った騒音管理](/docs/guides/estimator-noise-management)について学びましょう。\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}