{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "b6d1e3ec",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Dissoziations-PES-Kurven mit Qunova HiVQE\"\n",
        "description: \"Verwenden Sie Qunova HiVQE, um Dissoziationspotentialenergie-Oberflächenkurven (PES) zu berechnen.\"\n",
        "---\n",
        "\n",
        "{/* cspell:ignore fontsize labelsize DMRG hivqe mcscf CASCI */}\n",
        "\n",
        "<span id=\"dissociation-pes-curves-with-qunova-hivqe\" />\n",
        "\n",
        "# Dissoziations-PES-Kurven mit Qunova HiVQE\n",
        "\n"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "a6f69b77",
      "metadata": {},
      "source": [
        "<Admonition type=\"note\" title=\"Anmerkung\">\n",
        "  Qiskit-Funktionen sind eine experimentelle Funktion, die nur für Benutzer des IBM Quantum® Premium Plan, Flex Plan und On-Prem (über IBM Quantum Platform API) Plan verfügbar ist. Sie befinden sich im Status einer Vorabversion und können sich noch ändern.\n",
        "</Admonition>\n",
        "\n",
        "*Schätzung des Verbrauchs (HINWEIS: Dies ist nur eine Schätzung. Ihre Laufzeit kann variieren.)*\n",
        "\n",
        "* Li2S: Fünf Minuten QPU-Zeit auf einem Heron r2 Prozessor\n",
        "* FeP-NO: Fünf Minuten QPU-Zeit auf einem Heron r2 Prozessor\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "8bf80006",
      "metadata": {},
      "source": [
        "<span id=\"background\" />\n",
        "\n",
        "## Hintergrund\n",
        "\n",
        "Die genaue Berechnung chemischer Reaktionsenergien ist von entscheidender Bedeutung für wissenschaftliche Fortschritte in der Materialwissenschaft, der chemischen Technik, der Arzneimittelforschung und anderen Bereichen. Unter den verschiedenen chemischen Systemen hat das Li-S-System großes Interesse für das Verständnis und die Entwicklung neuer Batteriezusammensetzungen geweckt. Dieses Tutorial vermittelt praktische Erfahrungen bei der Berechnung der potentiellen Energieoberfläche der Li-S-Bindung (PES) eines $Li_2S$ Systems durch Entfernen eines Lithiumatoms mit Hilfe von HiVQE Berechnungen. Die Ergebnisse können sowohl mit Referenzrechnungen (CASCI) als auch mit klassischen Methoden wie Hartree-Fock (HF) für ein 20-Qubit-Problem verglichen werden.\n",
        "\n",
        "Das Beispiel der Lithium-Schwefel-Batterie verbindet diesen Arbeitsablauf mit der Forschung an Batterien der nächsten Generation für die Energiespeicherung. Die Berechnung der Energieveränderungen beim Aufbrechen einer Li–S-Bindung liefert Erkenntnisse auf molekularer Ebene, die für das Verständnis der chemischen Umwandlungen in diesen Systemen von Bedeutung sind. Allgemeiner gesagt sind potentielle Energieoberflächen Werkzeuge zur Untersuchung von Reaktionswegen und Katalysatoren für ressourceneffizientere chemische Prozesse.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "55b94021",
      "metadata": {},
      "source": [
        "<span id=\"requirements\" />\n",
        "\n",
        "## Anforderungen\n",
        "\n",
        "Installieren Sie die folgenden Abhängigkeiten, um den Code in diesem Lernprogramm auszuführen.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "0a778d85",
      "metadata": {},
      "outputs": [],
      "source": [
        "!pip install --upgrade pip\n",
        "!pip install -U qiskit-ibm-catalog \"qiskit_ibm_runtime<0.42.0\" pyscf numpy matplotlib typing_extensions"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "7db2e559",
      "metadata": {},
      "source": [
        "<span id=\"setup\" />\n",
        "\n",
        "## Einrichtung\n",
        "\n",
        "Um dieses Lernprogramm auszuführen, importieren Sie die Funktion `qunova/hivqe-chemistry` über `QiskitFunctionCatalog`. Sie benötigen ein IBM Quantum Premium Plan-, Flex Plan- oder On-Prem ( IBM Quantum Platform API) Plan-Konto mit einer Lizenz von Qunova, um diese Funktion auszuführen.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "bc380c46",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_catalog import QiskitFunctionsCatalog\n",
        "from pyscf import gto, scf, mcscf\n",
        "import matplotlib.pyplot as plt\n",
        "import pprint\n",
        "\n",
        "catalog = QiskitFunctionsCatalog(\n",
        "    channel=\"ibm_quantum_platform\",\n",
        "    instance=\"INSTANCE_CRN\",\n",
        "    # For `token`, use the 44-character API_KEY you created\n",
        "    # and saved from the IBM Quantum Platform Home dashboard\n",
        "    token=\"YOUR_API_KEY\",\n",
        ")\n",
        "\n",
        "hivqe = catalog.load(\"qunova/hivqe-chemistry\")"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "988ee237",
      "metadata": {},
      "source": [
        "<span id=\"part-1-li2s-20q\" />\n",
        "\n",
        "## Teil 1: Li2S ( 20Q )\n",
        "\n",
        "<span id=\"step-1-map-classical-inputs-to-a-quantum-problem\" />\n",
        "\n",
        "### Schritt 1: Klassische Eingaben einem Quantenproblem zuordnen\n",
        "\n",
        "Definieren Sie $Li_2S$ Geometrien im Wörterbuchformat für verschiedene Bindungsabstände von Li-S, um die PES-Kurve zu berechnen. Diese Geometrien werden mit Hilfe von B3LYP/631g Berechnungen optimiert.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "14dcfa48",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "{'1.51': 'S -1.239044 0.671232 -0.030374; Li -1.506327 0.432403 -1.498949; Li -0.899996 0.973348 1.826768',\n",
              " '1.91': 'S -1.215858 0.692272 0.099232; Li -1.553305 0.390283 -1.758043; Li -0.876205 0.994426 1.956257',\n",
              " '2.40': 'S -1.741432 0.680397 0.346702; Li -0.529307 0.488006 -1.729343; Li -1.284307 0.989409 2.177209',\n",
              " '3.10': 'S -2.347450 0.657089 0.566194; Li -0.199353 0.527517 -1.665148; Li -1.008243 0.973206 1.893522',\n",
              " '3.80': 'S -2.707255 0.674298 0.909161; Li 0.079218 0.552012 -1.671656; Li -0.927010 0.931502 1.557063',\n",
              " '4.50': 'S -2.913363 0.709175 1.276987; Li 0.368656 0.559989 -1.798088; Li -1.010340 0.888647 1.315670'}"
            ]
          },
          "execution_count": 2,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "str_geometries = {\n",
        "    \"1.51\": \"S -1.239044 0.671232 -0.030374; Li -1.506327 0.432403 -1.498949; Li -0.899996 0.973348 1.826768\",\n",
        "    \"1.91\": \"S -1.215858 0.692272 0.099232; Li -1.553305 0.390283 -1.758043; Li -0.876205 0.994426 1.956257\",\n",
        "    \"2.40\": \"S -1.741432 0.680397 0.346702; Li -0.529307 0.488006 -1.729343; Li -1.284307 0.989409 2.177209\",\n",
        "    \"3.10\": \"S -2.347450 0.657089 0.566194; Li -0.199353 0.527517 -1.665148; Li -1.008243 0.973206 1.893522\",\n",
        "    \"3.80\": \"S -2.707255 0.674298 0.909161; Li 0.079218 0.552012 -1.671656; Li -0.927010 0.931502 1.557063\",\n",
        "    \"4.50\": \"S -2.913363 0.709175 1.276987; Li 0.368656 0.559989 -1.798088; Li -1.010340 0.888647 1.315670\",\n",
        "}\n",
        "str_geometries"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "3cd2cc70",
      "metadata": {},
      "source": [
        "HiVQE die Berechnungen werden mit den unten definierten Optionen durchgeführt. Unter Verwendung der sto3g Basis für $Li_2S$ gibt es 19 räumliche Orbitale mit 22 Elektronen. Um den Fall ( 10o,10e ) mit HiVQE zu berechnen, können Sie 10 aktive Orbitale und sechs eingefrorene Orbitale definieren. Bei jeder Iteration werden 100 Schüsse verwendet, um die Elektronenkonfiguration zu testen, die von der Quantenschaltung ExcitationPreserving (`epa`) mit `circular` Verschränkung und zwei Wiederholungen (`reps`) erzeugt wird. Die maximale Anzahl der Iterationen wird auf 30 festgelegt, um die Beendigung der Iteration mit Energiekonvergenz sicherzustellen.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "52833c26",
      "metadata": {},
      "outputs": [],
      "source": [
        "molecule_options = {\n",
        "    \"basis\": \"sto3g\",\n",
        "    \"active_orbitals\": list(range(5, 15)),\n",
        "    \"frozen_orbitals\": list(range(5)),\n",
        "}\n",
        "\n",
        "hivqe_options = {\n",
        "    \"shots\": 100,\n",
        "    \"max_iter\": 30,\n",
        "    \"ansatz\": \"epa\",\n",
        "    \"ansatz_entanglement\": \"circular\",\n",
        "    \"ansatz_reps\": 2,\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "3ee5ec4c",
      "metadata": {},
      "source": [
        "<span id=\"step-2-and-3-optimize-problem-for-quantum-hardware-execution-and-execute-using-the-hivqe-chemistry-function\" />\n",
        "\n",
        "### Schritt 2 und 3: Optimieren Sie das Problem für die Ausführung auf Quantenhardware und führen Sie es mit der Funktion „ HiVQE Chemistry” aus\n",
        "\n",
        "Richten Sie die Schleife `for` ein, um HiVQE Berechnungen mit Geometrien mit den unten definierten Optionen durchzuführen. Die Aufträge werden in der Schleife `for` übermittelt. In diesem Lernprogramm werden Sie sechs Geometrien einreichen und die Ergebnisse abrufen, wenn sie alle fertig sind. Im Hauptfunktionslauf müssen Sie `max_states` und `max_expansion_states` definieren, um die maximale Größe der Unterraummatrix zu steuern und um zu kontrollieren, wie viele Zustände mit klassischen CI-Expansionsmethoden pro Iteration erzeugt werden können. Die Auftragskennungen der Funktionen werden im Wörterbuch mit jeder Geometriebezeichnung gespeichert, um das Ergebnis weiter zu verfolgen und zu verarbeiten.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "39109638",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "{'1.51': 'de3b8818-c9db-4fa3-a3c2-d51551c2dfaf', '1.91': '55d9467a-fc85-49a8-9bc6-8f6990e421e5', '2.40': '415112b3-69ff-4d53-8b10-cb4e3be68c9e', '3.10': 'ef67b600-3887-4225-b872-e354dfdf8454', '3.80': 'b16d3502-a9e4-4560-9775-852e9d07e70f', '4.50': '0c0bffc7-af77-4a56-a656-2a2610c991d6'}\n"
          ]
        }
      ],
      "source": [
        "info_jobid = {}\n",
        "for dis, geom in str_geometries.items():\n",
        "    hivqe_run = hivqe.run(\n",
        "        geometry=geom,\n",
        "        backend_name=\"\",\n",
        "        max_states=40000,\n",
        "        max_expansion_states=100,\n",
        "        molecule_options=molecule_options,\n",
        "        hivqe_options=hivqe_options,\n",
        "    )\n",
        "    status = hivqe_run.status()\n",
        "    info_jobid[dis] = hivqe_run.job_id\n",
        "print(info_jobid)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5f48bee4",
      "metadata": {},
      "source": [
        "Lassen Sie uns prüfen, ob alle Aufträge noch laufen oder abgeschlossen sind.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "f3be3b7b",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "1.51 de3b8818-c9db-4fa3-a3c2-d51551c2dfaf DONE\n",
            "1.91 55d9467a-fc85-49a8-9bc6-8f6990e421e5 DONE\n",
            "2.40 415112b3-69ff-4d53-8b10-cb4e3be68c9e DONE\n",
            "3.10 ef67b600-3887-4225-b872-e354dfdf8454 DONE\n",
            "3.80 b16d3502-a9e4-4560-9775-852e9d07e70f DONE\n",
            "4.50 0c0bffc7-af77-4a56-a656-2a2610c991d6 DONE\n",
            "Completed 6 job, Running or Queued 0 job\n"
          ]
        }
      ],
      "source": [
        "completed_jobs_num = 0\n",
        "running_jobs_num = 0\n",
        "completed_jobs = {}\n",
        "for i, info in enumerate(info_jobid.items()):\n",
        "    dis, job_id = info\n",
        "    submitted_job = catalog.get_job_by_id(job_id)\n",
        "    stat = submitted_job.status()\n",
        "    print(dis, submitted_job.job_id, stat)\n",
        "    if stat == \"DONE\":\n",
        "        completed_jobs_num += 1\n",
        "        completed_jobs[dis] = submitted_job\n",
        "    if (stat == \"RUNNING\") or (stat == \"QUEUED\"):\n",
        "        running_jobs_num += 1\n",
        "\n",
        "print(\n",
        "    f\"Completed {completed_jobs_num} job, \"\n",
        "    f\"Running or Queued {running_jobs_num} job\"\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "fb4264d5",
      "metadata": {},
      "source": [
        "Sobald alle Aufträge abgeschlossen sind, können wir alle Berechnungsergebnisse abrufen.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "7e7adaba",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "All jobs are completed\n",
            "1.51 -407.8944801731773\n",
            "1.91 -407.9800570932916\n",
            "2.40 -407.9372992999806\n",
            "3.10 -407.86278336000134\n",
            "3.80 -407.83092972296157\n",
            "4.50 -407.82971011225766\n"
          ]
        }
      ],
      "source": [
        "hivqe_result = {}\n",
        "if len(info_jobid) == completed_jobs_num:\n",
        "    print(\"All jobs are completed\")\n",
        "    for i, job in enumerate(completed_jobs.items()):\n",
        "        dis, cal = job\n",
        "        print(dis, cal.result()[\"energy\"])\n",
        "        hivqe_result[str(dis)] = cal.result()[\"energy\"]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "dc9982c5",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "{'1.51': -407.8944801731773,\n",
            " '1.91': -407.9800570932916,\n",
            " '2.40': -407.9372992999806,\n",
            " '3.10': -407.86278336000134,\n",
            " '3.80': -407.83092972296157,\n",
            " '4.50': -407.82971011225766}\n"
          ]
        }
      ],
      "source": [
        "pprint.pprint(hivqe_result)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "cc7c2793",
      "metadata": {},
      "source": [
        "Die gesamte QPU-Laufzeit, die für den Auftrag verwendet wurde, kann nachverfolgt werden, indem man sich bei [IBM Quantum Platform](/) anmeldet und eingereichte Aufträge mit dem Tag `qunova-chemistry-hivqe` anzeigt.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "75fc5cf6",
      "metadata": {},
      "source": [
        "<span id=\"step-4-post-process-and-compare-with-classical-methods\" />\n",
        "\n",
        "### Schritt 4: Nachbearbeitung und Vergleich mit klassischen Methoden\n",
        "\n",
        "Die klassische Referenzberechnung (CASCI) kann für ( 10o,10e ) durchgeführt werden, um die Ergebnisse von HiVQE zu validieren.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "3310e3b8",
      "metadata": {},
      "outputs": [],
      "source": [
        "str_geometries = {\n",
        "    \"1.31\": \"S -1.250686 0.660708 -0.095168; Li -1.482812 0.453464 -1.369406; Li -0.911870 0.962810 1.762020\",\n",
        "    \"1.41\": \"S -1.244856 0.665971 -0.062773; Li -1.494574 0.442933 -1.434177; Li -0.905937 0.968078 1.794395\",\n",
        "    \"1.51\": \"S -1.239044 0.671232 -0.030374; Li -1.506327 0.432403 -1.498949; Li -0.899996 0.973348 1.826768\",\n",
        "    \"1.61\": \"S -1.233245 0.676492 0.002027; Li -1.518073 0.421873 -1.563722; Li -0.894049 0.978617 1.859141\",\n",
        "    \"1.71\": \"S -1.227453 0.681752 0.034429; Li -1.529816 0.411343 -1.628496; Li -0.888099 0.983887 1.891513\",\n",
        "    \"1.81\": \"S -1.221659 0.687012 0.066831; Li -1.541558 0.400813 -1.693270; Li -0.882150 0.989157 1.923885\",\n",
        "    \"1.91\": \"S -1.215858 0.692272 0.099232; Li -1.553305 0.390283 -1.758043; Li -0.876205 0.994426 1.956257\",\n",
        "    \"2.01\": \"S -1.209887 0.697544 0.131599; Li -1.565136 0.379748 -1.822800; Li -0.870344 0.999691 1.988646\",\n",
        "    \"2.11\": \"S -1.203945 0.702813 0.163973; Li -1.576953 0.369214 -1.887560; Li -0.864469 1.004956 2.021033\",\n",
        "    \"2.21\": \"S -1.198023 0.708081 0.196350; Li -1.588760 0.358680 -1.952322; Li -0.858584 1.010221 2.053417\",\n",
        "    \"2.30\": \"S -1.365426 0.717714 0.367060; Li -0.689401 0.458925 -1.828368; Li -1.500219 0.981173 2.255876\",\n",
        "    \"2.31\": \"S -1.192118 0.713348 0.228731; Li -1.600559 0.348146 -2.017085; Li -0.852690 1.015488 2.085800\",\n",
        "    \"2.40\": \"S -1.741432 0.680397 0.346702; Li -0.529307 0.488006 -1.729343; Li -1.284307 0.989409 2.177209\",\n",
        "    \"2.50\": \"S -1.885961 0.669986 0.365815; Li -0.461563 0.499084 -1.695846; Li -1.207523 0.988741 2.124599\",\n",
        "    \"2.60\": \"S -1.977163 0.665155 0.389784; Li -0.416654 0.504966 -1.683655; Li -1.161229 0.987690 2.088439\",\n",
        "    \"2.70\": \"S -2.063642 0.661518 0.418977; Li -0.367600 0.510505 -1.676408; Li -1.123804 0.985788 2.051998\",\n",
        "    \"2.80\": \"S -2.141072 0.659218 0.451663; Li -0.323153 0.515056 -1.673046; Li -1.090821 0.983538 2.015951\",\n",
        "    \"2.90\": \"S -2.212097 0.657968 0.487535; Li -0.281989 0.518909 -1.672407; Li -1.060960 0.980935 1.979440\",\n",
        "    \"3.00\": \"S -2.281477 0.657123 0.525155; Li -0.239607 0.523326 -1.668669; Li -1.033963 0.977363 1.938081\",\n",
        "    \"3.10\": \"S -2.347450 0.657089 0.566194; Li -0.199353 0.527517 -1.665148; Li -1.008243 0.973206 1.893522\",\n",
        "    \"3.20\": \"S -2.410882 0.657532 0.608912; Li -0.157788 0.532069 -1.659971; Li -0.986376 0.968211 1.845627\",\n",
        "    \"3.30\": \"S -2.470306 0.658818 0.654893; Li -0.118007 0.536237 -1.656311; Li -0.966733 0.962757 1.795986\",\n",
        "    \"3.40\": \"S -2.525776 0.660762 0.702910; Li -0.078312 0.540189 -1.654076; Li -0.950958 0.956861 1.745734\",\n",
        "    \"3.50\": \"S -2.576885 0.663376 0.752788; Li -0.039076 0.543706 -1.654536; Li -0.939085 0.950730 1.696316\",\n",
        "    \"3.60\": \"S -2.623930 0.666534 0.803853; Li 0.000274 0.546839 -1.657697; Li -0.931390 0.944439 1.648412\",\n",
        "    \"3.70\": \"S -2.667364 0.670217 0.856250; Li 0.039572 0.549616 -1.663265; Li -0.927254 0.937980 1.601583\",\n",
        "    \"3.80\": \"S -2.707255 0.674298 0.909161; Li 0.079218 0.552012 -1.671656; Li -0.927010 0.931502 1.557063\",\n",
        "    \"3.90\": \"S -2.744005 0.678718 0.962425; Li 0.119268 0.554073 -1.682595; Li -0.930310 0.925021 1.514738\",\n",
        "    \"4.00\": \"S -2.777891 0.683415 1.015798; Li 0.159751 0.555810 -1.696024; Li -0.936907 0.918587 1.474794\",\n",
        "    \"4.10\": \"S -2.809179 0.688333 1.069057; Li 0.200678 0.557234 -1.711873; Li -0.946546 0.912245 1.437385\",\n",
        "    \"4.20\": \"S -2.838194 0.693443 1.122205; Li 0.242066 0.558401 -1.729770; Li -0.958918 0.905968 1.402134\",\n",
        "    \"4.30\": \"S -2.864984 0.698619 1.174415; Li 0.283858 0.559186 -1.750539; Li -0.973920 0.900007 1.370693\",\n",
        "    \"4.40\": \"S -2.889984 0.703887 1.226140; Li 0.326068 0.559728 -1.773231; Li -0.991131 0.894196 1.341660\",\n",
        "    \"4.50\": \"S -2.913363 0.709175 1.276987; Li 0.368656 0.559989 -1.798088; Li -1.010340 0.888647 1.315670\",\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "95e7040f",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "d=1.3  RHF Energy:   -407.7137006, CASCI Energy:   -407.7193917\n",
            "d=1.4  RHF Energy:   -407.8183196, CASCI Energy:   -407.8245211\n",
            "d=1.5  RHF Energy:   -407.8878013, CASCI Energy:   -407.8944802\n",
            "d=1.6  RHF Energy:   -407.9315356, CASCI Energy:   -407.9385663\n",
            "d=1.7  RHF Energy:   -407.9569034, CASCI Energy:   -407.9641258\n",
            "d=1.8  RHF Energy:   -407.9693681, CASCI Energy:   -407.9766313\n",
            "d=1.9  RHF Energy:   -407.9728592, CASCI Energy:   -407.9800572\n",
            "d=2.0  RHF Energy:   -407.9701684, CASCI Energy:   -407.9772549\n",
            "d=2.1  RHF Energy:   -407.9632701, CASCI Energy:   -407.9702381\n",
            "d=2.2  RHF Energy:   -407.9535584, CASCI Energy:   -407.9604007\n",
            "d=2.3  RHF Energy:   -407.9420173, CASCI Energy:   -407.9487043\n",
            "d=2.3  RHF Energy:   -407.9420156, CASCI Energy:   -407.9487024\n",
            "d=2.4  RHF Energy:   -407.9297216, CASCI Energy:   -407.9372993\n",
            "d=2.5  RHF Energy:      -407.9172, CASCI Energy:   -407.9261859\n",
            "d=2.6  RHF Energy:   -407.9061139, CASCI Energy:    -407.915961\n",
            "d=2.7  RHF Energy:   -407.8937118, CASCI Energy:    -407.904259\n",
            "d=2.8  RHF Energy:   -407.8816389, CASCI Energy:   -407.8928292\n",
            "d=2.9  RHF Energy:   -407.8700448, CASCI Energy:   -407.8819574\n",
            "d=3.0  RHF Energy:    -407.859054, CASCI Energy:   -407.8719092\n",
            "d=3.1  RHF Energy:   -407.8487619, CASCI Energy:   -407.8628304\n",
            "d=3.2  RHF Energy:   -407.8392304, CASCI Energy:   -407.8548482\n",
            "d=3.3  RHF Energy:   -407.8304842, CASCI Energy:   -407.8480217\n",
            "d=3.4  RHF Energy:   -407.8225124, CASCI Energy:   -407.8423743\n",
            "d=3.5  RHF Energy:   -407.8152758, CASCI Energy:   -407.8378892\n",
            "d=3.6  RHF Energy:   -407.8087161, CASCI Energy:   -407.8345331\n",
            "d=3.7  RHF Energy:    -407.802764, CASCI Energy:   -407.8322563\n",
            "d=3.8  RHF Energy:   -407.7973458, CASCI Energy:     -407.83093\n",
            "d=3.9  RHF Energy:   -407.7923883, CASCI Energy:   -407.8303555\n",
            "d=4.0  RHF Energy:   -407.7878216, CASCI Energy:     -407.83025\n",
            "d=4.1  RHF Energy:    -407.783582, CASCI Energy:   -407.8303243\n",
            "d=4.2  RHF Energy:   -407.7796124, CASCI Energy:   -407.8303791\n",
            "d=4.3  RHF Energy:   -407.7758633, CASCI Energy:   -407.8302885\n",
            "d=4.4  RHF Energy:   -407.7722923, CASCI Energy:   -407.8300614\n",
            "d=4.5  RHF Energy:   -407.7688641, CASCI Energy:    -407.829711\n"
          ]
        }
      ],
      "source": [
        "rhf_result = {}\n",
        "casci_result = {}\n",
        "\n",
        "cas_list = molecule_options[\"active_orbitals\"]\n",
        "distance_ref = []\n",
        "for dis, geom in str_geometries.items():\n",
        "    distance_ref.append(dis)\n",
        "    mole = gto.M(atom=geom, basis=molecule_options[\"basis\"])\n",
        "    mole.verbose = 0\n",
        "    # RHF energy\n",
        "    mf = scf.RHF(mole).run()\n",
        "    mo_occ = mf.mo_occ\n",
        "    num_elecs_as = int(sum([mo_occ[idx] for idx in cas_list]))\n",
        "\n",
        "    rhf_result[str(dis)] = mf.e_tot\n",
        "    # CASCI energy\n",
        "    casci_solver = mcscf.CASCI(mf, len(cas_list), num_elecs_as)\n",
        "    orbs = mcscf.addons.sort_mo(casci_solver, mf.mo_coeff, cas_list, base=0)\n",
        "    casci_solver.kernel(orbs)\n",
        "    casci_result[str(dis)] = casci_solver.e_tot\n",
        "    print(\n",
        "        f\"d={dis:4.3} RHF Energy: {mf.e_tot:14.10}, \"\n",
        "        f\"CASCI Energy: {casci_solver.e_tot:14.10}\"\n",
        "    )"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e1900a94",
      "metadata": {},
      "source": [
        "<span id=\"plotting-the-dissociation-curve-for-li_2s\" />\n",
        "\n",
        "### Aufzeichnen der Dissoziationskurve für Li\\_2S\n",
        "\n",
        "Wir stellen die Ergebnisse von HiVQE dar und vergleichen sie mit HF und CASCI.\n",
        "Sie können feststellen, dass alle HiVQE Berechnungen gut mit dem klassischen Referenzergebnis (CASCI) übereinstimmen.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "2db64a7d",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/tutorials/qunova-hivqe/extracted-outputs/2db64a7d-0.avif\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "fig, ax = plt.subplots(1, 1)\n",
        "hf_energy = [v for key, v in rhf_result.items()]\n",
        "casci_energy = [v for key, v in casci_result.items()]\n",
        "hivqe_energy = [v for key, v in hivqe_result.items()]\n",
        "distance_ref = [float(key) for key, v in rhf_result.items()]\n",
        "distance = [float(key) for key, v in hivqe_result.items()]\n",
        "\n",
        "ax.plot(distance_ref, hf_energy, \"-o\", label=\"RHF\", c=\"blue\")\n",
        "ax.plot(distance_ref, casci_energy, \"-o\", label=\"CASCI\", c=\"green\")\n",
        "ax.plot(distance, hivqe_energy, \"x\", label=\"HiVQE\", c=\"red\", markersize=20)\n",
        "ax.legend(fontsize=20)\n",
        "ax.tick_params(\"both\", labelsize=16)\n",
        "ax.set_xlabel(\"Bond distance (angstrom)\", size=20)\n",
        "ax.set_ylabel(\"Energy (Ha)\", size=20)\n",
        "ax.set_title(\"Li2S PES curve\", size=20)\n",
        "fig.set_size_inches(14, 8)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "46379f8a",
      "metadata": {},
      "source": [
        "<span id=\"part-2-fep-no-44q\" />\n",
        "\n",
        "## Teil 2: FeP-NO ( 44Q )\n",
        "\n",
        "Beachten Sie, dass Sie für die Ausführung der Funktion auf dem System „ FeP-NO “ mit den in diesem Beispiel gezeigten Einstellungen eine Lizenz benötigen, die die Verwendung der Funktion mit mindestens 44 Qubits erlaubt. Senden Sie eine E-Mail an [qiskit.support @ qunovacomputing.com,](mailto:qiskit.support@qunovacomputing.com) um Informationen zum Erwerb einer Lizenz zu erhalten.\n",
        "\n",
        "<span id=\"step-1-map-classical-inputs-to-a-quantum-problem\" />\n",
        "\n",
        "### Schritt 1: Klassische Eingaben einem Quantenproblem zuordnen\n",
        "\n",
        "Definieren Sie die Optionen für HiVQE Berechnungen\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "39bce095",
      "metadata": {},
      "outputs": [],
      "source": [
        "molecule_options = {\n",
        "    \"basis\": \"631g*\",\n",
        "    \"active_orbitals\": list(range(90, 112, 1)),\n",
        "    \"frozen_orbitals\": list(range(0, 90, 1)),\n",
        "    \"charge\": -1,\n",
        "}\n",
        "\n",
        "hivqe_options = {\n",
        "    \"shots\": 2000,\n",
        "    \"max_iter\": 40,\n",
        "    \"ansatz\": \"epa\",\n",
        "    \"ansatz_entanglement\": \"linear\",\n",
        "    \"ansatz_reps\": 2,\n",
        "    \"amplitude_screening_tolerance\": 1e-6,\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e7c29d79",
      "metadata": {},
      "source": [
        "Definieren Sie FeP-NO Geometrien im Wörterbuchformat für verschiedene Bindungsabstände von Fe-N zur Berechnung der PES-Kurve.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "8c93344d",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "{'5.0': '\\nFe     9.918629    31.289202     1.717339\\nN     10.542914    31.832173    -0.080685\\nN     11.795572    31.199413     2.341831\\nN      9.294593    30.741247     3.513929\\nN      8.042689    31.359481     1.087282\\nC      9.775254    32.111817    -1.200449\\nC     10.600219    32.479101    -2.319680\\nC     11.891090    32.425876    -1.887580\\nC     11.847694    32.024341    -0.507342\\nC     12.945734    31.464689     1.611366\\nC     14.116395    31.289997     2.423572\\nC     13.685777    30.915122     3.663719\\nC     12.252381    30.861042     3.608186\\nC     10.062170    30.463021     4.634102\\nC      9.236749    30.104333     5.755782\\nC      7.945687    30.161198     5.324720\\nC      7.989641    30.552269     3.941498\\nC      6.892881    31.087489     1.815829\\nC      5.722676    31.253502     1.001149\\nC      6.153153    31.631057    -0.238233\\nC      7.586010    31.695401    -0.179773\\nC      8.390724    32.047572    -1.247553\\nH      7.903308    32.291586    -2.187969\\nC     12.973334    31.849872     0.283741\\nH     13.944682    32.031190    -0.169145\\nC     11.447158    30.518591     4.678739\\nH     11.934423    30.277429     5.619969\\nC      6.864795    30.711643     3.146118\\nH      5.893357    30.532078     3.599511\\nH     12.800139    32.636412    -2.439296\\nH     10.224017    32.743662    -3.301293\\nH     15.131785    31.441247     2.076257\\nH     14.273933    30.694315     4.546802\\nH      9.612512    29.848040     6.739754\\nH      7.036117    29.960530     5.879248\\nH      4.707408    31.099933     1.347803\\nH      5.564992    31.851940    -1.121294\\nN      9.666041    36.091609     3.085945\\nO      9.598728    37.226756     3.411299\\n'}"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "geometry_1_75 = \"\"\"\n",
        "Fe     9.910596    31.534095     1.798088\n",
        "N     10.557481    31.888419    -0.055204\n",
        "N     11.823496    31.255002     2.384659\n",
        "N      9.292831    30.783362     3.568730\n",
        "N      8.036805    31.418327     1.124265\n",
        "C      9.784765    32.177349    -1.158798\n",
        "C     10.612656    32.501029    -2.296868\n",
        "C     11.903375    32.404043    -1.876832\n",
        "C     11.859093    32.028943    -0.483750\n",
        "C     12.965737    31.464698     1.641427\n",
        "C     14.146517    31.236323     2.440231\n",
        "C     13.713061    30.885870     3.681911\n",
        "C     12.268752    30.896411     3.634891\n",
        "C     10.067717    30.486167     4.664747\n",
        "C      9.246224    30.053411     5.772052\n",
        "C      7.957075    30.082846     5.336488\n",
        "C      7.995710    30.538421     3.967046\n",
        "C      6.900258    31.104497     1.836595\n",
        "C      5.722470    31.251707     1.015333\n",
        "C      6.148430    31.668586    -0.207993\n",
        "C      7.587039    31.767438    -0.130483\n",
        "C      8.399453    32.134197    -1.192329\n",
        "H      7.912872    32.388031    -2.131079\n",
        "C     12.984883    31.836053     0.306093\n",
        "H     13.955948    31.977044    -0.162626\n",
        "C     11.453768    30.560663     4.708020\n",
        "H     11.940677    30.298823     5.644352\n",
        "C      6.877071    30.697580     3.164102\n",
        "H      5.907240    30.476797     3.603674\n",
        "H     12.813946    32.569160    -2.441577\n",
        "H     10.236332    32.758110    -3.280309\n",
        "H     15.164312    31.335191     2.080201\n",
        "H     14.299625    30.629109     4.556760\n",
        "H      9.626524    29.758225     6.743433\n",
        "H      7.053076    29.823583     5.875809\n",
        "H      4.709768    31.058315     1.350561\n",
        "H      5.561898    31.886355    -1.093106\n",
        "N      9.832739    33.209042     2.298783\n",
        "O      9.346337    34.075996     1.606023\n",
        "\"\"\"\n",
        "\n",
        "geometry_2_00 = \"\"\"\n",
        "Fe     9.917990    31.445558     1.778346\n",
        "N     10.556809    31.866188    -0.055498\n",
        "N     11.814089    31.227003     2.372666\n",
        "N      9.297875    30.758246     3.550104\n",
        "N      8.043584    31.397768     1.120485\n",
        "C      9.784831    32.164652    -1.160219\n",
        "C     10.611624    32.501801    -2.293514\n",
        "C     11.902858    32.406547    -1.875160\n",
        "C     11.859552    32.017818    -0.486307\n",
        "C     12.960503    31.454432     1.636717\n",
        "C     14.140770    31.242960     2.439615\n",
        "C     13.708543    30.884151     3.678983\n",
        "C     12.266351    30.874173     3.627468\n",
        "C     10.070264    30.465070     4.655102\n",
        "C      9.247247    30.053101     5.766681\n",
        "C      7.958085    30.091201     5.332866\n",
        "C      7.998432    30.529979     3.958727\n",
        "C      6.901428    31.093932     1.833807\n",
        "C      5.723289    31.255057     1.016540\n",
        "C      6.151314    31.670649    -0.206350\n",
        "C      7.589736    31.755538    -0.133074\n",
        "C      8.400230    32.124963    -1.194447\n",
        "H      7.913264    32.386655    -2.130914\n",
        "C     12.983905    31.827747     0.302415\n",
        "H     13.955696    31.979687    -0.161365\n",
        "C     11.454251    30.533644     4.698234\n",
        "H     11.941002    30.276716     5.636156\n",
        "C      6.877444    30.689985     3.159940\n",
        "H      5.907605    30.480118     3.604825\n",
        "H     12.813105    32.581608    -2.437367\n",
        "H     10.233725    32.768337    -3.273979\n",
        "H     15.157796    31.357524     2.082132\n",
        "H     14.295001    30.638320     4.557047\n",
        "H      9.626721    29.768762     6.741623\n",
        "H      7.051752    29.847502     5.875478\n",
        "H      4.709710    31.071712     1.354640\n",
        "H      5.565103    31.898376    -1.089333\n",
        "N      9.840508    33.353531     2.373019\n",
        "O      9.344561    34.158205     1.637232\n",
        "\"\"\"\n",
        "\n",
        "geometry_5_00 = \"\"\"\n",
        "Fe     9.918629    31.289202     1.717339\n",
        "N     10.542914    31.832173    -0.080685\n",
        "N     11.795572    31.199413     2.341831\n",
        "N      9.294593    30.741247     3.513929\n",
        "N      8.042689    31.359481     1.087282\n",
        "C      9.775254    32.111817    -1.200449\n",
        "C     10.600219    32.479101    -2.319680\n",
        "C     11.891090    32.425876    -1.887580\n",
        "C     11.847694    32.024341    -0.507342\n",
        "C     12.945734    31.464689     1.611366\n",
        "C     14.116395    31.289997     2.423572\n",
        "C     13.685777    30.915122     3.663719\n",
        "C     12.252381    30.861042     3.608186\n",
        "C     10.062170    30.463021     4.634102\n",
        "C      9.236749    30.104333     5.755782\n",
        "C      7.945687    30.161198     5.324720\n",
        "C      7.989641    30.552269     3.941498\n",
        "C      6.892881    31.087489     1.815829\n",
        "C      5.722676    31.253502     1.001149\n",
        "C      6.153153    31.631057    -0.238233\n",
        "C      7.586010    31.695401    -0.179773\n",
        "C      8.390724    32.047572    -1.247553\n",
        "H      7.903308    32.291586    -2.187969\n",
        "C     12.973334    31.849872     0.283741\n",
        "H     13.944682    32.031190    -0.169145\n",
        "C     11.447158    30.518591     4.678739\n",
        "H     11.934423    30.277429     5.619969\n",
        "C      6.864795    30.711643     3.146118\n",
        "H      5.893357    30.532078     3.599511\n",
        "H     12.800139    32.636412    -2.439296\n",
        "H     10.224017    32.743662    -3.301293\n",
        "H     15.131785    31.441247     2.076257\n",
        "H     14.273933    30.694315     4.546802\n",
        "H      9.612512    29.848040     6.739754\n",
        "H      7.036117    29.960530     5.879248\n",
        "H      4.707408    31.099933     1.347803\n",
        "H      5.564992    31.851940    -1.121294\n",
        "N      9.666041    36.091609     3.085945\n",
        "O      9.598728    37.226756     3.411299\n",
        "\"\"\"\n",
        "\n",
        "str_geometries = {\n",
        "    \"1.75\": geometry_1_75,\n",
        "    \"2.00\": geometry_2_00,\n",
        "    \"5.00\": geometry_5_00,\n",
        "}\n",
        "\n",
        "\n",
        "hivqe_result = {}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "52b55a07",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "{'5.0': '\\nFe     9.918629    31.289202     1.717339\\nN     10.542914    31.832173    -0.080685\\nN     11.795572    31.199413     2.341831\\nN      9.294593    30.741247     3.513929\\nN      8.042689    31.359481     1.087282\\nC      9.775254    32.111817    -1.200449\\nC     10.600219    32.479101    -2.319680\\nC     11.891090    32.425876    -1.887580\\nC     11.847694    32.024341    -0.507342\\nC     12.945734    31.464689     1.611366\\nC     14.116395    31.289997     2.423572\\nC     13.685777    30.915122     3.663719\\nC     12.252381    30.861042     3.608186\\nC     10.062170    30.463021     4.634102\\nC      9.236749    30.104333     5.755782\\nC      7.945687    30.161198     5.324720\\nC      7.989641    30.552269     3.941498\\nC      6.892881    31.087489     1.815829\\nC      5.722676    31.253502     1.001149\\nC      6.153153    31.631057    -0.238233\\nC      7.586010    31.695401    -0.179773\\nC      8.390724    32.047572    -1.247553\\nH      7.903308    32.291586    -2.187969\\nC     12.973334    31.849872     0.283741\\nH     13.944682    32.031190    -0.169145\\nC     11.447158    30.518591     4.678739\\nH     11.934423    30.277429     5.619969\\nC      6.864795    30.711643     3.146118\\nH      5.893357    30.532078     3.599511\\nH     12.800139    32.636412    -2.439296\\nH     10.224017    32.743662    -3.301293\\nH     15.131785    31.441247     2.076257\\nH     14.273933    30.694315     4.546802\\nH      9.612512    29.848040     6.739754\\nH      7.036117    29.960530     5.879248\\nH      4.707408    31.099933     1.347803\\nH      5.564992    31.851940    -1.121294\\nN      9.666041    36.091609     3.085945\\nO      9.598728    37.226756     3.411299\\n'}"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "geometry_1_75 = \"\"\"\n",
        "Fe     9.910596    31.534095     1.798088\n",
        "N     10.557481    31.888419    -0.055204\n",
        "N     11.823496    31.255002     2.384659\n",
        "N      9.292831    30.783362     3.568730\n",
        "N      8.036805    31.418327     1.124265\n",
        "C      9.784765    32.177349    -1.158798\n",
        "C     10.612656    32.501029    -2.296868\n",
        "C     11.903375    32.404043    -1.876832\n",
        "C     11.859093    32.028943    -0.483750\n",
        "C     12.965737    31.464698     1.641427\n",
        "C     14.146517    31.236323     2.440231\n",
        "C     13.713061    30.885870     3.681911\n",
        "C     12.268752    30.896411     3.634891\n",
        "C     10.067717    30.486167     4.664747\n",
        "C      9.246224    30.053411     5.772052\n",
        "C      7.957075    30.082846     5.336488\n",
        "C      7.995710    30.538421     3.967046\n",
        "C      6.900258    31.104497     1.836595\n",
        "C      5.722470    31.251707     1.015333\n",
        "C      6.148430    31.668586    -0.207993\n",
        "C      7.587039    31.767438    -0.130483\n",
        "C      8.399453    32.134197    -1.192329\n",
        "H      7.912872    32.388031    -2.131079\n",
        "C     12.984883    31.836053     0.306093\n",
        "H     13.955948    31.977044    -0.162626\n",
        "C     11.453768    30.560663     4.708020\n",
        "H     11.940677    30.298823     5.644352\n",
        "C      6.877071    30.697580     3.164102\n",
        "H      5.907240    30.476797     3.603674\n",
        "H     12.813946    32.569160    -2.441577\n",
        "H     10.236332    32.758110    -3.280309\n",
        "H     15.164312    31.335191     2.080201\n",
        "H     14.299625    30.629109     4.556760\n",
        "H      9.626524    29.758225     6.743433\n",
        "H      7.053076    29.823583     5.875809\n",
        "H      4.709768    31.058315     1.350561\n",
        "H      5.561898    31.886355    -1.093106\n",
        "N      9.832739    33.209042     2.298783\n",
        "O      9.346337    34.075996     1.606023\n",
        "\"\"\"\n",
        "\n",
        "geometry_2_00 = \"\"\"\n",
        "Fe     9.917990    31.445558     1.778346\n",
        "N     10.556809    31.866188    -0.055498\n",
        "N     11.814089    31.227003     2.372666\n",
        "N      9.297875    30.758246     3.550104\n",
        "N      8.043584    31.397768     1.120485\n",
        "C      9.784831    32.164652    -1.160219\n",
        "C     10.611624    32.501801    -2.293514\n",
        "C     11.902858    32.406547    -1.875160\n",
        "C     11.859552    32.017818    -0.486307\n",
        "C     12.960503    31.454432     1.636717\n",
        "C     14.140770    31.242960     2.439615\n",
        "C     13.708543    30.884151     3.678983\n",
        "C     12.266351    30.874173     3.627468\n",
        "C     10.070264    30.465070     4.655102\n",
        "C      9.247247    30.053101     5.766681\n",
        "C      7.958085    30.091201     5.332866\n",
        "C      7.998432    30.529979     3.958727\n",
        "C      6.901428    31.093932     1.833807\n",
        "C      5.723289    31.255057     1.016540\n",
        "C      6.151314    31.670649    -0.206350\n",
        "C      7.589736    31.755538    -0.133074\n",
        "C      8.400230    32.124963    -1.194447\n",
        "H      7.913264    32.386655    -2.130914\n",
        "C     12.983905    31.827747     0.302415\n",
        "H     13.955696    31.979687    -0.161365\n",
        "C     11.454251    30.533644     4.698234\n",
        "H     11.941002    30.276716     5.636156\n",
        "C      6.877444    30.689985     3.159940\n",
        "H      5.907605    30.480118     3.604825\n",
        "H     12.813105    32.581608    -2.437367\n",
        "H     10.233725    32.768337    -3.273979\n",
        "H     15.157796    31.357524     2.082132\n",
        "H     14.295001    30.638320     4.557047\n",
        "H      9.626721    29.768762     6.741623\n",
        "H      7.051752    29.847502     5.875478\n",
        "H      4.709710    31.071712     1.354640\n",
        "H      5.565103    31.898376    -1.089333\n",
        "N      9.840508    33.353531     2.373019\n",
        "O      9.344561    34.158205     1.637232\n",
        "\"\"\"\n",
        "\n",
        "geometry_5_00 = \"\"\"\n",
        "Fe     9.918629    31.289202     1.717339\n",
        "N     10.542914    31.832173    -0.080685\n",
        "N     11.795572    31.199413     2.341831\n",
        "N      9.294593    30.741247     3.513929\n",
        "N      8.042689    31.359481     1.087282\n",
        "C      9.775254    32.111817    -1.200449\n",
        "C     10.600219    32.479101    -2.319680\n",
        "C     11.891090    32.425876    -1.887580\n",
        "C     11.847694    32.024341    -0.507342\n",
        "C     12.945734    31.464689     1.611366\n",
        "C     14.116395    31.289997     2.423572\n",
        "C     13.685777    30.915122     3.663719\n",
        "C     12.252381    30.861042     3.608186\n",
        "C     10.062170    30.463021     4.634102\n",
        "C      9.236749    30.104333     5.755782\n",
        "C      7.945687    30.161198     5.324720\n",
        "C      7.989641    30.552269     3.941498\n",
        "C      6.892881    31.087489     1.815829\n",
        "C      5.722676    31.253502     1.001149\n",
        "C      6.153153    31.631057    -0.238233\n",
        "C      7.586010    31.695401    -0.179773\n",
        "C      8.390724    32.047572    -1.247553\n",
        "H      7.903308    32.291586    -2.187969\n",
        "C     12.973334    31.849872     0.283741\n",
        "H     13.944682    32.031190    -0.169145\n",
        "C     11.447158    30.518591     4.678739\n",
        "H     11.934423    30.277429     5.619969\n",
        "C      6.864795    30.711643     3.146118\n",
        "H      5.893357    30.532078     3.599511\n",
        "H     12.800139    32.636412    -2.439296\n",
        "H     10.224017    32.743662    -3.301293\n",
        "H     15.131785    31.441247     2.076257\n",
        "H     14.273933    30.694315     4.546802\n",
        "H      9.612512    29.848040     6.739754\n",
        "H      7.036117    29.960530     5.879248\n",
        "H      4.707408    31.099933     1.347803\n",
        "H      5.564992    31.851940    -1.121294\n",
        "N      9.666041    36.091609     3.085945\n",
        "O      9.598728    37.226756     3.411299\n",
        "\"\"\"\n",
        "\n",
        "str_geometries = {\n",
        "    \"1.75\": geometry_1_75,\n",
        "    \"2.00\": geometry_2_00,\n",
        "    \"5.00\": geometry_5_00,\n",
        "}\n",
        "\n",
        "\n",
        "hivqe_result = {}"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5ed92d44",
      "metadata": {},
      "source": [
        "<span id=\"step-2-and-3-optimize-problem-for-quantum-hardware-execution-and-execute-using-the-hivqe-chemistry-function\" />\n",
        "\n",
        "### Schritt 2 und 3: Optimieren Sie das Problem für die Ausführung auf Quantenhardware und führen Sie es mit der Funktion „ HiVQE Chemistry” aus\n",
        "\n",
        "Auf der Grundlage der Einrichtung von HiVQE und der Geometrien erhalten Sie nacheinander Ergebnisse.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "316f26d8",
      "metadata": {},
      "source": [
        "<span id=\"submit-dfe-n-=-175-$aa$-calculation\" />\n",
        "\n",
        "#### Reichen Sie die Berechnung von d(Fe-N) = 1.75 $\\AA$ ein.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "5e103316",
      "metadata": {},
      "outputs": [],
      "source": [
        "hivqe_run_1_75 = hivqe.run(\n",
        "    geometry=str_geometries[\"1.75\"],\n",
        "    backend_name=\"\",\n",
        "    max_states=400000000,\n",
        "    max_expansion_states=100,\n",
        "    molecule_options=molecule_options,\n",
        "    hivqe_options=hivqe_options,\n",
        ")\n",
        "info_jobid_1_75 = hivqe_run_1_75.job_id"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "49a1ff1c",
      "metadata": {},
      "source": [
        "Verfolgen Sie den Auftrag und rufen Sie das Ergebnis der Berechnung von d(Fe-N) = 1.75 $\\AA$ ab.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "2e1b231f",
      "metadata": {},
      "outputs": [],
      "source": [
        "submitted_job_1_75 = catalog.get_job_by_id(info_jobid_1_75)\n",
        "stat = submitted_job_1_75.status()\n",
        "print(submitted_job_1_75.job_id, stat)\n",
        "if stat == \"DONE\":\n",
        "    hivqe_run_1_75_energy = submitted_job_1_75.result()[\"energy\"]\n",
        "    print(f\"Completed HiVQE calculation, Energy {hivqe_run_1_75_energy}\")\n",
        "    hivqe_result[\"1.75\"] = hivqe_run_1_75_energy"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b30a0145",
      "metadata": {},
      "source": [
        "<span id=\"submit-dfe-n-=-200-$aa$-calculation\" />\n",
        "\n",
        "#### Reichen Sie die Berechnung von d(Fe-N) = 2.00 $\\AA$ ein.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "66eaaa38",
      "metadata": {},
      "outputs": [],
      "source": [
        "hivqe_run_2_00 = hivqe.run(\n",
        "    geometry=str_geometries[\"2.00\"],\n",
        "    backend_name=\"\",\n",
        "    max_states=400000000,\n",
        "    max_expansion_states=100,\n",
        "    molecule_options=molecule_options,\n",
        "    hivqe_options=hivqe_options,\n",
        ")\n",
        "info_jobid_2_00 = hivqe_run_2_00.job_id"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "1cce86be",
      "metadata": {},
      "source": [
        "Verfolgen Sie den Auftrag und rufen Sie das Ergebnis der Berechnung von d(Fe-N) = 2.00 $\\AA$ ab.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "7a1ea72d",
      "metadata": {},
      "outputs": [],
      "source": [
        "submitted_job_2_00 = catalog.get_job_by_id(info_jobid_2_00)\n",
        "stat = submitted_job_2_00.status()\n",
        "print(submitted_job_2_00.job_id, stat)\n",
        "if stat == \"DONE\":\n",
        "    hivqe_run_2_00_energy = submitted_job_2_00.result()[\"energy\"]\n",
        "    print(f\"Completed HiVQE calculation, Energy {hivqe_run_2_00_energy}\")\n",
        "    hivqe_result[\"2.00\"] = hivqe_run_2_00_energy"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "ec081701",
      "metadata": {},
      "source": [
        "<span id=\"submit-dfe-n-=-500-$aa$-calculation\" />\n",
        "\n",
        "#### Reichen Sie die Berechnung von d(Fe-N) = 5.00 $\\AA$ ein.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "e72c0730",
      "metadata": {},
      "outputs": [],
      "source": [
        "hivqe_run_5_00 = hivqe.run(\n",
        "    geometry=str_geometries[\"5.00\"],\n",
        "    backend_name=\"\",\n",
        "    max_states=400000000,\n",
        "    max_expansion_states=100,\n",
        "    molecule_options=molecule_options,\n",
        "    hivqe_options=hivqe_options,\n",
        ")\n",
        "info_jobid_5_00 = hivqe_run_5_00.job_id"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "1b0bcce6",
      "metadata": {},
      "source": [
        "Verfolgen Sie den Auftrag und rufen Sie das Ergebnis der Berechnung von d(Fe-N) = 5.00 $\\AA$ ab.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "2758dfba",
      "metadata": {},
      "outputs": [],
      "source": [
        "submitted_job_5_00 = catalog.get_job_by_id(info_jobid_5_00)\n",
        "stat = submitted_job_5_00.status()\n",
        "print(submitted_job_5_00.job_id, stat)\n",
        "if stat == \"DONE\":\n",
        "    hivqe_run_5_00_energy = submitted_job_5_00.result()[\"energy\"]\n",
        "    print(f\"Completed HiVQE calculation, Energy {hivqe_run_5_00_energy}\")\n",
        "    hivqe_result[\"5.00\"] = hivqe_run_5_00_energy"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "a7793eea",
      "metadata": {},
      "outputs": [],
      "source": [
        "hivqe_result = {\n",
        "    \"1.75\": -2373.681781,\n",
        "    \"2.00\": -2373.694128,\n",
        "    \"5.00\": -2373.637807,\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e6c08de7",
      "metadata": {},
      "source": [
        "<span id=\"step-4-post-process-and-compare-with-classical-methods\" />\n",
        "\n",
        "### Schritt 4: Nachbearbeitung und Vergleich mit klassischen Methoden\n",
        "\n",
        "Die Ergebnisse der klassischen Referenzberechnung (CASCI-DMRG, maxM=800 ) werden für ( 22o,22e ) bereitgestellt, um die Ergebnisse von HiVQE zu validieren.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "62937d55",
      "metadata": {},
      "outputs": [],
      "source": [
        "rhf_result = {\n",
        "    \"1.75\": -2373.59331683504,\n",
        "    \"2.00\": -2373.60640773065,\n",
        "    \"5.00\": -2373.50214278007,\n",
        "}\n",
        "casci_result = {\"1.75\": -2373.6827, \"2.00\": -2373.6948, \"5.00\": -2373.6393}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "49a9bf81",
      "metadata": {},
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": []
        },
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/tutorials/qunova-hivqe/extracted-outputs/49a9bf81-1.avif\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "fig, ax = plt.subplots(1, 1)\n",
        "hf_energy = [v for key, v in rhf_result.items()]\n",
        "casci_energy = [v for key, v in casci_result.items()]\n",
        "hivqe_energy = [v for key, v in hivqe_result.items()]\n",
        "distance_ref = [float(key) for key, v in rhf_result.items()]\n",
        "distance = [float(key) for key, v in hivqe_result.items()]\n",
        "\n",
        "ax.plot(distance_ref, hf_energy, \"-o\", label=\"RHF\", c=\"blue\")\n",
        "ax.plot(distance_ref, casci_energy, \"-o\", label=\"CASCI\", c=\"green\")\n",
        "ax.plot(distance, hivqe_energy, \"x\", label=\"HiVQE\", c=\"red\", markersize=20)\n",
        "ax.legend(fontsize=20)\n",
        "ax.tick_params(\"both\", labelsize=16)\n",
        "ax.set_xlabel(\"Fe-N bond distance ($\\AA$)\", size=20)\n",
        "ax.set_ylabel(\"Energy (Ha)\", size=20)\n",
        "ax.set_title(\"FeP-NO PES curve\", size=20)\n",
        "fig.set_size_inches(14, 8)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a5124358",
      "metadata": {},
      "source": [
        "<span id=\"tutorial-survey\" />\n",
        "\n",
        "## Tutorial-Umfrage\n",
        "\n",
        "Bitte nehmen Sie an dieser kurzen Umfrage teil, um uns Ihr Feedback zu diesem Lernprogramm zu geben. Ihre Erkenntnisse helfen uns, unser Inhaltsangebot und unsere Nutzererfahrung zu verbessern.\n",
        "\n",
        "[Link zur Umfrage](https://your.feedback.ibm.com/jfe/form/SV_9AizRyKFHEGzVs2)\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"
    },
    "hours": 1.5,
    "qpuSeconds": 300
  },
  "nbformat": 4,
  "nbformat_minor": 5
}