{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "7acdb263-fde4-4ff3-a13d-c499a2ba77e4",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Executor-Optionen festlegen\"\n",
        "description: \"Geben Sie beim Erstellen mit der Executor-Primitive Optionen an.\"\n",
        "---\n",
        "\n",
        "<span id=\"specify-executor-options\" />\n",
        "\n",
        "# Executor-Optionen festlegen\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=\"Paketversionen\">\n",
        "    Der Code auf dieser Seite wurde unter Berücksichtigung der folgenden Anforderungen entwickelt.\n",
        "    Wir empfehlen, diese Versionen oder neuere zu verwenden.\n",
        "\n",
        "    ```\n",
        "    qiskit-ibm-runtime~=0.47.0\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "513837ac-8853-4f45-8d8f-1a8297d5ab68",
      "metadata": {},
      "source": [
        "Sie können die Executor-Primitive mithilfe von Optionen anpassen. Im Gegensatz zu „Sampler“ und „Estimator“ verfügt „Executor“ nur über sehr wenige Optionen, da der Großteil der Entwurfsabsichten bereits im „Samplex“ kodiert ist.\n",
        "\n",
        "<Admonition type=\"note\" title=\"Hinweise\">\n",
        "  * Sie können die verfügbaren Optionen einsehen und die Werte der Optionen während oder nach der Initialisierung der Primitive anpassen.\n",
        "  * Verwenden Sie die `update()` Methode, um Änderungen am Attribut `options` zu übernehmen.\n",
        "  * Das `options` Attribut ist vom `dataclass` Typ „ Python “.  Du kannst die integrierte `asdict` Methode verwenden, um es in ein Wörterbuch umzuwandeln.\n",
        "  * Executor kann nur Informationen verarbeiten, die in Samplexen kodiert sind. Informationen zu den Einschränkungen finden Sie in den [Samplomatic-Anleitungen](/docs/addons/samplomatic/index).\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"pass-options\" />\n",
        "\n",
        "<span id=\"set-executor-options\" />\n",
        "\n",
        "## Optionen für den Executor festlegen\n",
        "\n",
        "Wird eine Option sowohl während als auch nach der Initialisierung des Primitivs angegeben, wird der nach der Initialisierung des Primitivs festgelegte Wert verwendet.\n",
        "\n",
        "<span id=\"primitive-initialization\" />\n",
        "\n",
        "### Initialisierung von Primitiven\n",
        "\n",
        "Bei der Initialisierung von Executor können Sie eine Instanz der Optionsklasse oder ein Wörterbuch übergeben, woraufhin eine Kopie dieser Optionen erstellt wird. Eine Änderung des ursprünglichen Wörterbuchs oder der Optionsinstanz hat daher keine Auswirkungen auf die Optionen, die der Primitivtyp besitzt.\n",
        "\n",
        "<span id=\"options-class\" />\n",
        "\n",
        "#### Optionen-Kurs\n",
        "\n",
        "Beim Erstellen einer Instanz der `Executor` Klasse können Sie eine Instanz der Optionsklasse übergeben. `run()` Diese Optionen werden dann angewendet, wenn Sie die Berechnung durchführen.  Geben Sie die Optionen in diesem Format an: `options.option.sub-option.sub-sub-option = choice`.  Beispiel: `options.environment.log_level = INFO`.\n",
        "\n",
        "Beispiel:\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_models 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",
        "#### Wörterbuch\n",
        "\n",
        "Bei der Initialisierung von Executor können Sie Optionen als Wörterbuch angeben.\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",
        "## Verfügbare Optionen\n",
        "\n",
        "Die folgende Tabelle enthält die Optionen aus der neuesten Version von `qiskit-ibm-runtime`. Um ältere Versionen der Optionen anzuzeigen, besuchen Sie die Seite [`qiskit-ibm-runtime` API-Referenz](/docs/api/qiskit-ibm-runtime) und wählen Sie eine frühere Version aus.\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"`environment`\">\n",
        "    [`environment` API-Dokumentation](/docs/api/qiskit-ibm-runtime/options-models-sampler-options#environment)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`environment.job_tags`\">\n",
        "        Liste der Tags.\n",
        "\n",
        "        **Auswahlmöglichkeiten** : Keine\n",
        "\n",
        "        **Standard** : Keine\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.log_level`\">\n",
        "        **Optionen** : DEBUG, INFO, WARNING, ERROR, CRITICAL\n",
        "\n",
        "        **Standard** : WARNUNG\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.private`\">\n",
        "        **Auswahlmöglichkeiten** : `True`, `False`\n",
        "\n",
        "        **Standard** : `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.max_execution_time`\">\n",
        "        **Auswahlmöglichkeiten** : Ganzzahlige Angabe der Sekunden im Bereich \\[von] 1 bis 10800\n",
        "\n",
        "        **Standard** : 10800 (3 Stunden)\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`execution`\">\n",
        "    [`execution` API-Dokumentation](/docs/api/qiskit-ibm-runtime/options-models-sampler-options#execution)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`execution.init_qubits`\">\n",
        "        Ob die Qubits bei jedem Durchlauf in den Grundzustand zurückgesetzt werden sollen.\n",
        "\n",
        "        **Auswahlmöglichkeiten** : `True`, `False`\n",
        "\n",
        "        **Standard** : `True`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`execution.rep_delay`\">\n",
        "        Die Verzögerung zwischen einer Messung und dem darauf folgenden Quantenkreis.\n",
        "\n",
        "        **Auswahlmöglichkeiten** : Wert im angegebenen Bereich `backend.rep_delay_range`\n",
        "\n",
        "        **Standard** : Vorgelegt von `backend.default_rep_delay`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`execution.meas_type`\">\n",
        "        **Auswahlmöglichkeiten** : `classified`, `kerneled`, `avg_kerneled`\n",
        "\n",
        "        **Standard** : `classified`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`experimental`\">\n",
        "    Experimentelle Optionen, sofern verfügbar.\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9b86001b-718a-4d72-b3b5-4a67eabf0a45",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## Nächste Schritte\n",
        "\n",
        "<Admonition type=\"tip\" title=\"Empfehlungen\">\n",
        "  * Lesen Sie die API-Dokumentation zu „ [ExecutionOptionsV2](/docs/api/qiskit-ibm-runtime/options-models-execution-options) “ durch.\n",
        "  * Lesen Sie die Dokumentation zur „ [EnvironmentOptions](/docs/api/qiskit-ibm-runtime/options-models-environment-options) “-API durch.\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
}