{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "37d2b600",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Analyse\"\n",
        "description: \"Ein kostenloser Kurs „ IBM ” über Quanteninformation und -berechnung\"\n",
        "---\n",
        "\n",
        "<span id=\"analysis\" />\n",
        "\n",
        "# Analyse\n",
        "\n",
        "Jetzt werden wir Grovers Algorithmus analysieren, um zu verstehen, wie er funktioniert.\n",
        "Wir beginnen mit einer *symbolischen* Analyse, bei der wir berechnen, wie sich die Grover-Operation $G$ auf bestimmte Zustände auswirkt, und verknüpfen diese symbolische Analyse dann mit einem *geometrischen* Bild, das die Funktionsweise des Algorithmus veranschaulicht.\n",
        "\n",
        "<span id=\"solutions-and-non-solutions\" />\n",
        "\n",
        "## Lösungen und Nicht-Lösungen\n",
        "\n",
        "Beginnen wir mit der Definition von zwei Gruppen von Zeichenfolgen.\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "  A_0 &= \\bigl\\{ x\\in\\Sigma^n : f(x) = 0\\bigr\\} \\\\\n",
        "  A_1 &= \\bigl\\{ x\\in\\Sigma^n : f(x) = 1\\bigr\\}\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Die Menge $A_1$ enthält alle Lösungen unseres Suchproblems, während $A_0$ die Zeichenfolgen enthält, die keine Lösungen sind (die wir der Einfachheit halber als *„Nicht-Lösungen“* bezeichnen können).\n",
        "Diese beiden Mengen erfüllen die Bedingungen $A_0 \\cap A_1 = \\varnothing$ und $A_0 \\cup A_1 = \\Sigma^n$, was bedeutet, dass es sich hierbei um eine *Zweiteilung* von $\\Sigma^n$ handelt.\n",
        "\n",
        "Als Nächstes definieren wir zwei Einheitsvektoren, die einheitliche Überlagerungen über die Mengen der Lösungen und Nicht-Lösungen darstellen.\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "  \\vert A_0\\rangle &= \\frac{1}{\\sqrt{\\vert A_0\\vert}} \\sum_{x\\in A_0} \\vert x\\rangle \\\\\n",
        "  \\vert A_1\\rangle &= \\frac{1}{\\sqrt{\\vert A_1\\vert}} \\sum_{x\\in A_1} \\vert x\\rangle\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Formal gesehen ist jeder dieser Vektoren nur dann definiert, wenn die zugehörige Menge nicht leer ist, aber wir werden uns im Folgenden auf den Fall konzentrieren, dass weder $A_0$ noch $A_1$ leer ist.\n",
        "Die Fälle, die $A_0 = \\varnothing$ und $A_1 = \\varnothing$ betreffen, können leicht getrennt behandelt werden, was wir später tun werden.\n",
        "\n",
        "Nebenbei bemerkt ist die hier verwendete Notation üblich: Immer wenn wir eine endliche und nichtleere Menge $S$ haben, können wir $\\vert S\\rangle$ schreiben, um den Quantenzustandsvektor zu bezeichnen, der über die Elemente von $S$ gleichmäßig verteilt ist.\n",
        "\n",
        "Definieren wir auch $\\vert u \\rangle$ als *einheitlichen* Quantenzustand über alle $n$ -Bit-Strings:\n",
        "\n",
        "$$\n",
        "\\vert u\\rangle = \\frac{1}{\\sqrt{N}} \\sum_{x\\in\\Sigma^n} \\vert x\\rangle.\n",
        "$$\n",
        "\n",
        "Beachten Sie, dass\n",
        "\n",
        "$$\n",
        "\\vert u\\rangle\n",
        "= \\sqrt{\\frac{\\vert A_0 \\vert}{N}} \\vert A_0\\rangle\n",
        "+ \\sqrt{\\frac{\\vert A_1 \\vert}{N}} \\vert A_1\\rangle.\n",
        "$$\n",
        "\n",
        "Da außerdem gilt: „ $\\vert u\\rangle = H^{\\otimes n} \\vert 0^n \\rangle$ “, stellt „ $\\vert u\\rangle$ “ den Zustand des Registers „ $\\mathsf{Q}$ “ nach der Initialisierung in Schritt 1 des Grover-Algorithmus dar.\n",
        "\n",
        "Dies bedeutet, dass unmittelbar vor den Iterationen von $G$ in Schritt 2 der Zustand von $\\mathsf{Q}$ in dem zweidimensionalen Vektorraum enthalten ist, der durch $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ aufgespannt wird, und dass zudem die Koeffizienten dieser Vektoren reelle Zahlen sind.\n",
        "Wie wir sehen werden, weist der Zustand $\\mathsf{Q}$ nach einer beliebigen Anzahl von Iterationen der Operation $G$ in Schritt 2 stets diese Eigenschaften auf – was bedeutet, dass der Zustand eine echte Linearkombination aus $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ ist.\n",
        "\n",
        "<span id=\"an-observation-about-the-grover-operation\" />\n",
        "\n",
        "## Eine Beobachtung zur Grover-Operation\n",
        "\n",
        "Wenden wir uns nun der Operation Grover zu\n",
        "\n",
        "$$\n",
        "G = H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n} Z_f,\n",
        "$$\n",
        "\n",
        "mit einer interessanten Beobachtung zu beginnen.\n",
        "\n",
        "Stellen wir uns einmal vor, wir würden die Funktion $f$ durch die Zusammensetzung von $f$ mit der NOT-Funktion ersetzen – oder, mit anderen Worten, durch die Funktion, die wir erhalten, wenn wir das Ausgangsbit von $f$ umkehren.\n",
        "Wir nennen diese neue Funktion $g$ und können sie mithilfe von Symbolen auf verschiedene Arten darstellen.\n",
        "\n",
        "$$\n",
        "g(x) = \\neg f(x) = 1 \\oplus f(x) = 1 - f(x) =\n",
        "\\begin{cases}\n",
        "1 & f(x) = 0\\\\[1mm]\n",
        "0 & f(x) = 1\n",
        "\\end{cases}\n",
        "$$\n",
        "\n",
        "Beachten Sie, dass\n",
        "\n",
        "$$\n",
        "(-1)^{g(x)} = (-1)^{1 \\oplus f(x)} = - (-1)^{f(x)}\n",
        "$$\n",
        "\n",
        "für jede Zeichenkette $x\\in\\Sigma^n$, und daher\n",
        "\n",
        "$$\n",
        "Z_g = - Z_f.\n",
        "$$\n",
        "\n",
        "Das bedeutet: Würden wir die Funktion $f$ durch die Funktion $g$ ersetzen, würde sich die Funktionsweise des Grover-Algorithmus nicht ändern – denn die Zustände, die wir in beiden Fällen aus dem Algorithmus erhalten, sind bis auf eine globale Phase zwangsläufig äquivalent.\n",
        "\n",
        "Das ist kein Problem!\n",
        "Intuitiv gesprochen ist es dem Algorithmus egal, welche Zeichenketten Lösungen und welche Nichtlösungen sind - er muss nur in der Lage sein, Lösungen und Nichtlösungen *zu unterscheiden*, um korrekt zu arbeiten.\n",
        "\n",
        "<span id=\"action-of-the-grover-operation\" />\n",
        "\n",
        "## Aktion der Grover-Operation\n",
        "\n",
        "Betrachten wir nun die Wirkung von „ $G$ “ auf die Quantenzustandsvektoren „ $\\vert A_0\\rangle$ “ und „ $\\vert A_1\\rangle$ “.\n",
        "\n",
        "Zunächst sei angemerkt, dass die Operation „ $Z_f$ “ eine sehr einfache Wirkung auf „ $\\vert A_0\\rangle$ “ und „ $\\vert A_1\\rangle$ “ hat.\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "Z_f \\vert A_0\\rangle & = \\vert A_0\\rangle \\\\[1mm]\n",
        "Z_f \\vert A_1\\rangle & = -\\vert A_1\\rangle\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Zweitens gibt es die Operation „ $H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n}$ “.\n",
        "Die Operation „ $Z_{\\mathrm{OR}}$ “ ist wie folgt definiert:\n",
        "\n",
        "$$\n",
        "Z_{\\mathrm{OR}} \\vert x\\rangle\n",
        "= \\begin{cases}\n",
        "\\vert x\\rangle & x = 0^n \\\\[2mm]\n",
        "-\\vert x\\rangle & x \\neq 0^n,\n",
        "\\end{cases}\n",
        "$$\n",
        "\n",
        "wieder für jede Zeichenkette $x\\in\\Sigma^n$, und eine praktische Alternative, um diese Operation auszudrücken, sieht folgendermaßen aus:\n",
        "\n",
        "$$\n",
        "Z_{\\mathrm{OR}} = 2 \\vert 0^n \\rangle \\langle 0^n \\vert - \\mathbb{I}.\n",
        "$$\n",
        "\n",
        "Eine einfache Möglichkeit zu überprüfen, ob dieser Ausdruck mit der Definition von $Z_{\\mathrm{OR}}$ übereinstimmt, besteht darin, seine Wirkung auf Standard-Basiszustände zu bewerten.\n",
        "\n",
        "Die Operation $H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n}$ kann also wie folgt geschrieben werden:\n",
        "\n",
        "$$\n",
        "H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n} = 2 H^{\\otimes n} \\vert 0^n \\rangle \\langle 0^n \\vert H^{\\otimes n} - \\mathbb{I} = 2 \\vert u \\rangle \\langle u \\vert - \\mathbb{I},\n",
        "$$\n",
        "\n",
        "unter Verwendung derselben Notation, $\\vert u \\rangle$, die wir oben für die gleichmäßige Überlagerung über alle $n$ -Bit-Zeichenfolgen verwendet haben.\n",
        "\n",
        "Und nun haben wir alles, was wir brauchen, um die Wirkung von $G$ auf $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ zu berechnen.\n",
        "Berechnen wir zunächst die Wirkung von $G$ auf $\\vert A_0\\rangle$.\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "  G \\vert A_0 \\rangle\n",
        "  & = \\bigl( 2 \\vert u\\rangle \\langle u \\vert - \\mathbb{I}\\bigr) Z_f \\vert A_0\\rangle \\\\\n",
        "  & = \\bigl( 2 \\vert u\\rangle \\langle u \\vert - \\mathbb{I}\\bigr) \\vert A_0\\rangle \\\\\n",
        "  & = 2 \\sqrt{\\frac{\\vert A_0\\vert}{N}} \\vert u\\rangle -\\vert A_0 \\rangle\\\\\n",
        "  & = 2 \\sqrt{\\frac{\\vert A_0\\vert}{N}} \\biggl(\n",
        "  \\sqrt{\\frac{\\vert A_0\\vert}{N}} \\vert A_0\\rangle + \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\vert A_1\\rangle\\biggr)\n",
        "  -\\vert A_0 \\rangle \\\\\n",
        "  & = \\biggl( \\frac{2\\vert A_0\\vert}{N} - 1\\biggr) \\vert A_0 \\rangle\n",
        "  + \\frac{2 \\sqrt{\\vert A_0\\vert \\cdot \\vert A_1\\vert}}{N} \\vert A_1 \\rangle \\\\\n",
        "  & = \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} \\vert A_0 \\rangle\n",
        "  + \\frac{2 \\sqrt{\\vert A_0\\vert \\cdot \\vert A_1\\vert}}{N} \\vert A_1 \\rangle\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Und zweitens: Berechnen wir die Wirkung von „ $G$ “ auf „ $\\vert A_1\\rangle$ “.\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "  G \\vert A_1 \\rangle\n",
        "  & = \\bigl( 2 \\vert u\\rangle \\langle u \\vert - \\mathbb{I} \\bigr) Z_f \\vert A_1\\rangle \\\\\n",
        "  & = - \\bigl( 2 \\vert u\\rangle \\langle u \\vert - \\mathbb{I} \\bigr) \\vert A_1\\rangle \\\\\n",
        "  & = - 2 \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\vert u\\rangle + \\vert A_1 \\rangle \\\\\n",
        "  & = - 2 \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\biggl(\\sqrt{\\frac{\\vert A_0\\vert}{N}} \\vert A_0\\rangle\n",
        "      + \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\vert A_1\\rangle\\biggr) + \\vert A_1 \\rangle \\\\\n",
        "  & = - \\frac{2 \\sqrt{\\vert A_1\\vert \\cdot \\vert A_0\\vert}}{N} \\vert A_0 \\rangle\n",
        "      + \\biggl( 1 - \\frac{2\\vert A_1\\vert}{N} \\biggr) \\vert A_1 \\rangle \\\\\n",
        "  & = - \\frac{2 \\sqrt{\\vert A_1\\vert \\cdot \\vert A_0\\vert}}{N} \\vert A_0 \\rangle\n",
        "      + \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} \\vert A_1 \\rangle\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "In beiden Fällen verwenden wir die Gleichung\n",
        "\n",
        "$$\n",
        "\\vert u\\rangle\n",
        "= \\sqrt{\\frac{\\vert A_0 \\vert}{N}} \\vert A_0\\rangle\n",
        "+ \\sqrt{\\frac{\\vert A_1 \\vert}{N}} \\vert A_1\\rangle\n",
        "$$\n",
        "\n",
        "zusammen mit den Ausdrücken\n",
        "\n",
        "$$\n",
        "\\langle u \\vert A_0\\rangle = \\sqrt{\\frac{\\vert A_0 \\vert}{N}}\n",
        "\\qquad\\text{and}\\qquad\n",
        "\\langle u \\vert A_1\\rangle = \\sqrt{\\frac{\\vert A_1 \\vert}{N}}\n",
        "$$\n",
        "\n",
        "die folgen.\n",
        "\n",
        "Zusammenfassend lässt sich sagen, dass wir\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "  G \\vert A_0 \\rangle\n",
        "  & = \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} \\vert A_0 \\rangle\n",
        "  + \\frac{2 \\sqrt{\\vert A_0\\vert \\cdot \\vert A_1\\vert}}{N} \\vert A_1 \\rangle\\\\[2mm]\n",
        "  G \\vert A_1 \\rangle\n",
        "  & = - \\frac{2 \\sqrt{\\vert A_1\\vert \\cdot \\vert A_0\\vert}}{N} \\vert A_0 \\rangle\n",
        "      + \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} \\vert A_1 \\rangle.\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Wie bereits erwähnt, liegt der Zustand von „ $\\mathsf{Q}$ “ unmittelbar vor Schritt 2 in dem zweidimensionalen Raum, der durch „ $\\vert A_0\\rangle$ “ und „ $\\vert A_1\\rangle$ “ aufgespannt wird, und wir haben soeben festgestellt, dass „ $G$ “ jeden Vektor in diesem Raum auf einen anderen Vektor im selben Raum abbildet.\n",
        "Das bedeutet, dass wir uns für die Zwecke der Analyse ausschließlich auf diesen Unterraum konzentrieren können.\n",
        "\n",
        "Um besser zu verstehen, was in diesem zweidimensionalen Raum geschieht, können wir die Wirkung von $G$ auf diesen Raum als Matrix darstellen,\n",
        "\n",
        "$$\n",
        "M = \\begin{pmatrix}\n",
        "  \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} & -\\frac{2 \\sqrt{\\vert A_1\\vert \\cdot \\vert A_0\\vert}}{N} \\\\[2mm]\n",
        "  \\frac{2 \\sqrt{\\vert A_0\\vert \\cdot \\vert A_1\\vert}}{N} & \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N}\n",
        "\\end{pmatrix},\n",
        "$$\n",
        "\n",
        "dessen erste und zweite Zeile bzw. Spalte den Einträgen $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ entsprechen.\n",
        "Bisher haben wir in dieser Reihe die Zeilen und Spalten von Matrizen stets mit den klassischen Zuständen eines Systems in Verbindung gebracht, doch Matrizen können auch dazu verwendet werden, die Abbildungen linearer Abbildungen auf verschiedene Basen zu beschreiben, wie wir es hier tun.\n",
        "\n",
        "Auch wenn es auf den ersten Blick nicht offensichtlich ist, ist die Matrix $M$ das, was wir durch *Quadrieren* einer einfacher aussehenden Matrix erhalten.\n",
        "\n",
        "$$\n",
        "\\begin{pmatrix}\n",
        "  \\sqrt{\\frac{\\vert A_0\\vert}{N}} & - \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\\\[2mm]\n",
        "  \\sqrt{\\frac{\\vert A_1\\vert}{N}} & \\sqrt{\\frac{\\vert A_0\\vert}{N}}\n",
        "\\end{pmatrix}^2\n",
        "=\n",
        "\\begin{pmatrix}\n",
        "  \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N} & -\\frac{2 \\sqrt{\\vert A_1\\vert \\cdot \\vert A_0\\vert}}{N} \\\\[2mm]\n",
        "  \\frac{2 \\sqrt{\\vert A_0\\vert \\cdot \\vert A_1\\vert}}{N} & \\frac{\\vert A_0\\vert - \\vert A_1\\vert}{N}\n",
        "\\end{pmatrix} = M\n",
        "$$\n",
        "\n",
        "Die Matrix\n",
        "\n",
        "$$\n",
        "\\begin{pmatrix}\n",
        "  \\sqrt{\\frac{\\vert A_0\\vert}{N}} & - \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\\\[2mm]\n",
        "  \\sqrt{\\frac{\\vert A_1\\vert}{N}} & \\sqrt{\\frac{\\vert A_0\\vert}{N}}\n",
        "\\end{pmatrix}\n",
        "$$\n",
        "\n",
        "ist eine *Rotationsmatrix*, die wir alternativ wie folgt ausdrücken können\n",
        "\n",
        "$$\n",
        "\\begin{pmatrix}\n",
        "  \\sqrt{\\frac{\\vert A_0\\vert}{N}} & - \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\\\[2mm]\n",
        "  \\sqrt{\\frac{\\vert A_1\\vert}{N}} & \\sqrt{\\frac{\\vert A_0\\vert}{N}}\n",
        "\\end{pmatrix}\n",
        "=\n",
        "\\begin{pmatrix}\n",
        "  \\cos(\\theta) & -\\sin(\\theta) \\\\[2mm]\n",
        "  \\sin(\\theta) & \\cos(\\theta)\n",
        "\\end{pmatrix}\n",
        "$$\n",
        "\n",
        "nach\n",
        "\n",
        "$$\n",
        "\\theta = \\sin^{-1}\\biggl(\\sqrt{\\frac{\\vert A_1\\vert}{N}}\\biggr).\n",
        "$$\n",
        "\n",
        "Dieser Winkel $\\theta$ wird in der folgenden Analyse eine sehr wichtige Rolle spielen, so dass es sich lohnt, seine Bedeutung hier zu betonen, da wir ihn zum ersten Mal sehen.\n",
        "\n",
        "In Anbetracht dieses Ausdrucks dieser Matrix stellen wir fest, dass\n",
        "\n",
        "$$\n",
        "M = \\begin{pmatrix}\n",
        "  \\cos(\\theta) & -\\sin(\\theta) \\\\[2mm]\n",
        "  \\sin(\\theta) & \\cos(\\theta)\n",
        "\\end{pmatrix}^2\n",
        "= \\begin{pmatrix}\n",
        "  \\cos(2\\theta) & -\\sin(2\\theta) \\\\[2mm]\n",
        "  \\sin(2\\theta) & \\cos(2\\theta)\n",
        "\\end{pmatrix}.\n",
        "$$\n",
        "\n",
        "Das liegt daran, dass eine zweimalige Drehung um den Winkel $\\theta$ einer Drehung um den Winkel $2\\theta$ entspricht.\n",
        "Eine andere Möglichkeit, dies zu veranschaulichen, besteht darin, die alternative Schreibweise zu verwenden\n",
        "\n",
        "$$\n",
        "\\theta\n",
        "= \\cos^{-1}\\biggl(\\sqrt{\\frac{\\vert A_0\\vert}{N}}\\biggr),\n",
        "$$\n",
        "\n",
        "zusammen mit den *Doppelwinkelformeln* aus der Trigonometrie:\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "\\cos(2\\theta) & = \\cos^2(\\theta) - \\sin^2(\\theta)\\\\[1mm]\n",
        "\\sin(2\\theta) & = 2 \\sin(\\theta)\\cos(\\theta).\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "Zusammenfassend lässt sich sagen, dass der Zustand des Registers $\\mathsf{Q}$ zu Beginn von Schritt 2 folgender ist\n",
        "\n",
        "$$\n",
        "\\vert u\\rangle\n",
        "= \\sqrt{\\frac{\\vert A_0\\vert}{N}} \\vert A_0\\rangle\n",
        "+ \\sqrt{\\frac{\\vert A_1\\vert}{N}} \\vert A_1\\rangle\n",
        "= \\cos(\\theta) \\vert A_0\\rangle + \\sin(\\theta) \\vert A_1\\rangle,\n",
        "$$\n",
        "\n",
        "und die Anwendung von „ $G$ “ auf diesen Zustand bewirkt eine Drehung um den Winkel „ $2\\theta$ “ innerhalb des Raums, der durch „ $\\vert A_0\\rangle$ “ und „ $\\vert A_1\\rangle$ “ aufgespannt wird.\n",
        "So haben wir beispielsweise\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "G \\vert u \\rangle &= \\cos(3\\theta) \\vert A_0\\rangle + \\sin(3\\theta) \\vert A_1\\rangle\\\\[1mm]\n",
        "G^2 \\vert u \\rangle &= \\cos(5\\theta) \\vert A_0\\rangle + \\sin(5\\theta) \\vert A_1\\rangle\\\\[1mm]\n",
        "G^3 \\vert u \\rangle &= \\cos(7\\theta) \\vert A_0\\rangle + \\sin(7\\theta) \\vert A_1\\rangle\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "und ganz allgemein\n",
        "\n",
        "$$\n",
        "G^t \\vert u \\rangle\n",
        "= \\cos\\bigl((2t + 1)\\theta\\bigr) \\vert A_0\\rangle\n",
        "+ \\sin\\bigl((2t + 1)\\theta\\bigr) \\vert A_1\\rangle.\n",
        "$$\n",
        "\n",
        "<span id=\"geometric-picture\" />\n",
        "\n",
        "## Geometrisches Bild\n",
        "\n",
        "Lassen Sie uns nun die soeben durchgeführte Analyse mit einer geometrischen Darstellung verknüpfen.\n",
        "Die Idee dahinter ist, dass die Operation $G$ das Produkt zweier *Spiegelungen* ist:\n",
        "$Z_f$ und $H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n}$.\n",
        "Und das Endergebnis zweier Spiegelungen ist eine *Drehung*.\n",
        "\n",
        "Beginnen wir mit „ $Z_f$ “.\n",
        "Wie wir bereits zuvor festgestellt haben, gilt\n",
        "\n",
        "$$\n",
        "\\begin{aligned}\n",
        "Z_f \\vert A_0\\rangle & = \\vert A_0\\rangle \\\\[1mm]\n",
        "Z_f \\vert A_1\\rangle & = -\\vert A_1\\rangle.\n",
        "\\end{aligned}\n",
        "$$\n",
        "\n",
        "In dem zweidimensionalen Vektorraum, der durch $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ aufgespannt wird,\n",
        "handelt es sich hierbei um eine *Spiegelung* an der Geraden parallel zu $\\vert A_0\\rangle$, die wir als $L_1$ bezeichnen.\n",
        "Die folgende Abbildung veranschaulicht die Wirkung dieser Spiegelung auf einen hypothetischen Einheitsvektor $\\vert\\psi\\rangle$,\n",
        "von dem wir annehmen, dass er eine reelle Linearkombination aus $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ ist.\n",
        "\n",
        "![Eine Abbildung, die die Wirkung einer Reflexion auf einen Vektor darstellt.](https://quantum.cloud.ibm.com/learning/images/courses/fundamentals-of-quantum-algorithms/grover-algorithm/reflection1.svg)\n",
        "\n",
        "Zweitens haben wir die Operation „ $H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n}$ “, die, wie wir bereits gesehen haben, wie folgt geschrieben werden kann:\n",
        "\n",
        "$$\n",
        "H^{\\otimes n} Z_{\\mathrm{OR}} H^{\\otimes n} = 2 \\vert u \\rangle \\langle u \\vert - \\mathbb{I}.\n",
        "$$\n",
        "\n",
        "Dies ist ebenfalls eine Spiegelung, diesmal bezüglich der Geraden $L_2$, die parallel zum Vektor $\\vert u\\rangle$ verläuft.\n",
        "Hier ist eine Abbildung, die die Wirkung dieser Spiegelung auf einen Einheitsvektor $\\vert\\psi\\rangle$ veranschaulicht.\n",
        "\n",
        "![Eine Abbildung, die die Wirkung einer zweiten Reflexion auf einen Vektor darstellt.](https://quantum.cloud.ibm.com/learning/images/courses/fundamentals-of-quantum-algorithms/grover-algorithm/reflection2.svg)\n",
        "\n",
        "Setzt man diese beiden Spiegelungen zusammen, erhält man eine Drehung - um den doppelten Winkel zwischen den Spiegelungslinien - wie diese Abbildung zeigt.\n",
        "\n",
        "![Eine Abbildung, die die Wirkung der Grover-Operation auf einen Vektor darstellt.](https://quantum.cloud.ibm.com/learning/images/courses/fundamentals-of-quantum-algorithms/grover-algorithm/Grover_rotation.svg)\n",
        "\n",
        "Dies erklärt aus geometrischer Sicht, warum die Grover-Operation dazu führt, dass Linearkombinationen von $\\vert A_0\\rangle$ und $\\vert A_1\\rangle$ um einen Winkel von $2\\theta$ gedreht werden.\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": 5
}