{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "b40b58ca-20e6-411f-8707-80ab3edf414d",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Configurare la gestione del rumore con Sampler\"\n",
        "description: \"Come configurare la gestione del rumore con la primitiva \\\"Estimator\\\" di \\\" IBM Quantum \\\".\"\n",
        "---\n",
        "\n",
        "<span id=\"configure-noise-management-with-sampler\" />\n",
        "\n",
        "# Configurare la gestione del rumore con Sampler\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9dc0196d-5180-433b-8fbc-8f937330a0ea",
      "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=\"Versioni del pacchetto\">\n",
        "    Il codice presente in questa pagina è stato sviluppato sulla base dei seguenti requisiti.\n",
        "    Si consiglia di utilizzare queste versioni o quelle più recenti.\n",
        "\n",
        "    ```\n",
        "    qiskit-ibm-runtime~=0.47.0\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "eaa0b874-f0e6-4fc9-82f7-e993770ebf47",
      "metadata": {},
      "source": [
        "Esistono diversi modi per gestire gli errori, in genere ricorrendo a varie tecniche di mitigazione e soppressione degli errori per prevenirli prima che si verifichino.  Queste tecniche comportano solitamente un sovraccarico di elaborazione preliminare.  È quindi importante trovare un equilibrio tra il perfezionamento dei risultati e la garanzia che il lavoro venga portato a termine in un lasso di tempo ragionevole.\n",
        "\n",
        "Sampler supporta le seguenti tecniche di gestione del rumore. Per una spiegazione dettagliata di ciascuna di esse, consultare [la sezione \"Tecniche di mitigazione e soppressione degli errori\"](error-mitigation-and-suppression-techniques).\n",
        "\n",
        "* [disaccoppiamento dinamico](/docs/api/qiskit-ibm-runtime/options-dynamical-decoupling-options#dynamicaldecouplingoptions)\n",
        "* [Il giro di Pauli](/docs/api/qiskit-ibm-runtime/options-twirling-options)\n",
        "\n",
        "<Admonition type=\"note\">\n",
        "  Non tutte le opzioni sono compatibili tra loro su tutti i tipi di circuiti. Per ulteriori dettagli, consulta la [tabella](/docs/guides/sampler-options#options-compatibility-table) di compatibilità delle funzionalità.\n",
        "</Admonition>\n",
        "\n",
        "Esempio\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "ca9a0d48-34a2-4a22-a24c-46327c622a93",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            ">>> dynamical decoupling sequence to use: XpXm\n",
            ">>> gate twirling is turned on: True\n"
          ]
        }
      ],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import SamplerV2 as Sampler\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "sampler = Sampler(backend)\n",
        "\n",
        "# Turn on dynamical decoupling with sequence XpXm.\n",
        "sampler.options.dynamical_decoupling.enable = True\n",
        "sampler.options.dynamical_decoupling.sequence_type = \"XpXm\"\n",
        "# Turn on gate twirling. Requires qiskit_ibm_runtime 0.23.0 or later.\n",
        "sampler.options.twirling.enable_gates = True\n",
        "\n",
        "print(\n",
        "    f\">>> dynamical decoupling sequence to use: \"\n",
        "    f\"{sampler.options.dynamical_decoupling.sequence_type}\"\n",
        ")\n",
        "print(\n",
        "    f\">>> gate twirling is turned on: {sampler.options.twirling.enable_gates}\"\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "db285d76-0e96-4ae4-a65c-3fdae1407bee",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## Passi successivi\n",
        "\n",
        "<Admonition type=\"tip\" title=\"Suggerimenti\">\n",
        "  * Scopri di più sulle [tecniche di mitigazione e soppressione degli errori](error-mitigation-and-suppression-techniques).\n",
        "  * Scopri [le opzioni](/docs/guides/sampler-options) di Sampler.\n",
        "  * Decidi in quale [modalità di esecuzione](execution-modes) eseguire il tuo processo.\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
}