{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "7acdb263-fde4-4ff3-a13d-c499a2ba77e4",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"実行者のオプションを指定する\"\n",
        "description: \"Executorプリミティブを使用してビルドする際、オプションを指定します。\"\n",
        "---\n",
        "\n",
        "<span id=\"specify-executor-options\" />\n",
        "\n",
        "# 実行者のオプションを指定する\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "73e3d6f4",
      "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-ibm-runtime~=0.46.1\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "513837ac-8853-4f45-8d8f-1a8297d5ab68",
      "metadata": {},
      "source": [
        "オプションを使用して、Executorプリミティブをカスタマイズすることができます。 SamplerやEstimatorとは異なり、Executorにはオプションがほとんどありません。これは、設計意図の大部分がsamplexに組み込まれているためです。\n",
        "\n",
        "<Admonition type=\"note\" title=\"ノート\">\n",
        "  * プリミティブの初期化中または初期化後に、利用可能なオプションを確認したり、オプションの値を更新したりすることができます。\n",
        "  * この `update()` メソッドを使用して、属性 `options` に変更を適用します。\n",
        "  * この `options` 属性は、 Python 型です `dataclass` 。  組み込み `asdict` のメソッドを使って、それを辞書に変換することができます。\n",
        "  * Executorは、samplexにエンコードされた情報のみを処理できます。 制限事項については、 [Samplomaticのガイド](https://qiskit.github.io/samplomatic/guides/index)をご参照ください。\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"pass-options\" />\n",
        "\n",
        "<span id=\"set-executor-options\" />\n",
        "\n",
        "## 実行者のオプションを設定する\n",
        "\n",
        "プリミティブの初期化中と初期化後の両方でオプションが指定された場合、プリミティブの初期化後に設定された値が使用されます。\n",
        "\n",
        "<span id=\"primitive-initialization\" />\n",
        "\n",
        "### プリミティブ型の初期化\n",
        "\n",
        "Executor を初期化する際、オプションクラスのインスタンスまたは辞書を渡すことができ、これによりそれらのオプションのコピーが作成されます。 したがって、元の辞書やオプションのインスタンスを変更しても、プリミティブが所有するオプションには影響しません。\n",
        "\n",
        "<span id=\"options-class\" />\n",
        "\n",
        "#### オプションクラス\n",
        "\n",
        "この `Executor` クラスのインスタンスを作成する際、オプションクラスのインスタンスを渡すことができます。 `run()` これらのオプションは、計算を実行する際に適用されます。  オプションは次の形式で指定してください： `options.option.sub-option.sub-sub-option = choice`.  例: `options.environment.log_level = INFO`。\n",
        "\n",
        "例:\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "948f4e75-3079-4c18-ba38-ce536b3f99b5",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService, Executor\n",
        "from qiskit_ibm_runtime.options import ExecutorOptions\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "options = ExecutorOptions(\n",
        "    environment={\"log_level\": \"INFO\"},\n",
        "    execution={\"init_qubits\": True},\n",
        ")\n",
        "\n",
        "# or use the following instead:\n",
        "\n",
        "options = ExecutorOptions()\n",
        "options.environment.log_level = \"INFO\"\n",
        "options.execution.init_qubits = True\n",
        "\n",
        "executor = Executor(mode=backend, options=options)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "ba2f5146-2781-49da-9fa2-8a22647225d0",
      "metadata": {},
      "source": [
        "<span id=\"dictionary\" />\n",
        "\n",
        "#### 辞書\n",
        "\n",
        "Executor を初期化する際、オプションを辞書として指定することができます。\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "cf4359c2-c97a-475c-998d-518dc05a445e",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService, Executor\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "# Setting options during primitive initialization\n",
        "executor = Executor(\n",
        "    backend,\n",
        "    options={\n",
        "        \"environment\": {\"log_level\": \"INFO\"},\n",
        "        \"execution\": {\"init_qubits\": True},\n",
        "    },\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b981eda7-bd9b-4d1e-959a-12cfc35fc2a1",
      "metadata": {},
      "source": [
        "<span id=\"options-table\" />\n",
        "\n",
        "<span id=\"available-options\" />\n",
        "\n",
        "## 使用可能なオプション\n",
        "\n",
        "`qiskit-ibm-runtime`以下の表は、最新バージョンの.のオプションをまとめたものです。 以前のオプションのバージョンを確認するには、\\[ここ [`qiskit-ibm-runtime` APIリファレンス](/docs/api/qiskit-ibm-runtime) ]\\(リンク) にアクセスし、以前のバージョンを選択してください。\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"`environment`\">\n",
        "    [`environment` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-sampler-options#environment)\n",
        "\n",
        "    <Accordion>\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",
        "        **デフォルト** : WARNING\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.private`\">\n",
        "        **選択肢** ： `True`, `False`\n",
        "\n",
        "        **既定値** ： `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.max_execution_time`\">\n",
        "        **選択肢** ： \\[1 から 10800 までの]範囲の秒数（整数）\n",
        "\n",
        "        **デフォルト** : 10800 (3時間)\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`execution`\">\n",
        "    [`execution` APIドキュメント](/docs/api/qiskit-ibm-runtime/options-sampler-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",
        "\n",
        "      <AccordionItem title=\"`execution.meas_type`\">\n",
        "        **選択肢** ： `classified`, `kerneled`, `avg_kerneled`\n",
        "\n",
        "        **既定値** ： `classified`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`experimental`\">\n",
        "    利用可能な場合は、実験的なオプション。\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9b86001b-718a-4d72-b3b5-4a67eabf0a45",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## 次のステップ\n",
        "\n",
        "<Admonition type=\"tip\" title=\"推奨事項\">\n",
        "  * [ExecutionOptionsV2](/docs/api/qiskit-ibm-runtime/options-execution-options-v2) のAPIドキュメントを確認してください。\n",
        "  * [EnvironmentOptions](/docs/api/qiskit-ibm-runtime/options-environment-options) のAPIドキュメントを確認してください。\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
}