{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d63a453e-ae5d-4bba-a295-0d108a3a69e9",
   "metadata": {},
   "source": [
    "In diesem Jupyter-Notebook wollen wir die Berechnung einer Jordan'schen Normalform einmal genau unter die Lupe nehmen. Wir machen das an einem konkreten Beispiel, und gehen dabei Schritt-für-Schritt vor, so wie man es von Hand machen würde. Allerdings nutzen wir den Computer für alle Rechnungen -- zum Üben, bzw. für die Klausurvorbereitung ist das eine sinnvolle Hilfe. Natürlich können Eigenwerte, JNF, etc. mit Software auch direkt berechnet werden; die entsprechenden high-level Befehle finden Sie ganz am Ende von diesem Dokument. Zur Information: die hier verwendete Software is Python bzw. die Bibliothek Sympy.\n",
    "\n",
    "Ein paar Erklärungen zur Programmiersprache:\n",
    "- eye(n) ist die (n x n)-Einheitsmatrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "04971962-dadc-4945-ae58-c8f9dfcac242",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sympy import Matrix, symbols, eye, init_printing, simplify\n",
    "init_printing()\n",
    "x = symbols('x')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c70fc2b-1ca6-457c-9c9f-ca2dfd5b6ba3",
   "metadata": {},
   "source": [
    "Hier eine Matrix A. Gesucht ist eine Matrix J in JNF und eine invertierbare Matrix S sodass gilt:\n",
    "S^-1 A S = J"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "721b7fe7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}5 & 4 & 2 & 1 & 0\\\\0 & 5 & 1 & 0 & 0\\\\0 & 0 & 5 & 1 & 0\\\\0 & 0 & 0 & 5 & 1\\\\0 & 0 & 0 & 0 & 5\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡5  4  2  1  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  5  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  5  1  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  5  1⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  5⎦"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = Matrix([\n",
    "    [5, 4, 2, 1, 0],\n",
    "    [0, 5, 1, 0, 0],\n",
    "    [0, 0, 5, 1, 0],\n",
    "    [0, 0, 0, 5, 1],\n",
    "    [0, 0, 0, 0, 5]\n",
    "])\n",
    "A"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0826af0c-32b2-49d9-8e32-211f5946eee2",
   "metadata": {},
   "source": [
    "Schritt 1: Wir brauchen die Eigenwerte mit Vielfachheit. Diese Informationen können wir aus dem charackteristischen Polynom ablesen. Also berechnen wir das."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "a80f9635-96da-4396-8773-9c25d37a4d0e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}x - 5 & -4 & -2 & -1 & 0\\\\0 & x - 5 & -1 & 0 & 0\\\\0 & 0 & x - 5 & -1 & 0\\\\0 & 0 & 0 & x - 5 & -1\\\\0 & 0 & 0 & 0 & x - 5\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡x - 5   -4     -2     -1      0  ⎤\n",
       "⎢                                 ⎥\n",
       "⎢  0    x - 5   -1      0      0  ⎥\n",
       "⎢                                 ⎥\n",
       "⎢  0      0    x - 5   -1      0  ⎥\n",
       "⎢                                 ⎥\n",
       "⎢  0      0      0    x - 5   -1  ⎥\n",
       "⎢                                 ⎥\n",
       "⎣  0      0      0      0    x - 5⎦"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ax = x * eye(5) - A\n",
    "Ax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "607796d3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAaCAYAAAAKYioIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADUElEQVRYCe2Y7VUTQRSGFw4F5EAFQgegFQgdgFagdKCHX/CPAx0AFSh0AFSA0IHpQEwH8XmGmbDZ7MBu1JgQ7zl353vm3nfvx+wu9Pv9Yl7p4OBgFd134cuIge17+i8WY8e8FgLxERaYE3hNUCiLJR9zTm8B466KwX9gQARgNik68BX1niDNuyuJwR7cha/gM4DZpiwKg2+Z9/f3V8vtWa2Powdr1mFU7g9bDGh9Aqv1gNgUP5BzREb6OrDBNNFq1Ce1R0rGH6zjcUTLKejfHLhSnLRCGaLy49yprF0jZx++jfwdKW/h+yQt/bpGQWnWydE542WQl+PEbgCGQQPPHuXn3A5T1i8ABkmVUnZf5gbyh8BJPRDtYyq7Ub/YO1Sc0gpWEnu1oAvmd1NWOqLDPD4rdIfwOw2FVS/18yJXJQ1Bg/hBueLgYF8DDQHnp+WsMPKet5FV/eBOmzWLIKT5lM1J4F4aqd+7NkrpSltwCFR1CwFOH04B7A31D7DR/z0s3TBn4gGbM5VJ2XQB5Tmkb+QGS7+kfuppTGlEBt/XsFE9R0cceCwz4QY+gzdp658Kpv9Omjz3a5RLOWQzlDfYOlI/wWtMAuMhgzRXXslBvpWy4j3aul5C3vRWHqf59wm5tmBlCURdV9EqcglE/VoBoyup3OAQ6mX6Fg9NfRtUzAhhPuWzmYE5HdZcw5ZNaYd1ObfI7SE4WrIXu2rMtN3m/CKl69rDaoQzgB3WTs50socgCugfIfbzF8EyZW7POgCeevm1culKmlndZkMLEET/dd4g0NLnNfzZtUMb/X7DmFh3psoXyFNnac5Xz8akxWhmI/4XFT5nzOCr/3pB6lEvm+m/uC2fIoPBtkq+uFx2FbSy3NW1I20tRoRNw1XyINlffSOI0+eYWWrSdMLZQ0GWth+/Ui7mhdj4MKXZc4lpX2Ato0qib/YRgILD/ea4hBUqfLBRH7iVcyZBnNmFteIEjtagm7yir5eRQR3qPgky04tiwWsyG5rnx8kE2Y2nZQDdDBO+0LU2MulKkneRVoiGVbPxMB61vmsFYEBTlzH/i+6LoaiPeqULaWPdksW4wMCV/LbxBlM+UX3G8oQQY5JyEeFtSr+LZprQwUwVfjqNo8gvoAesGpCN7c0AAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left(x - 5\\right)^{5}$"
      ],
      "text/plain": [
       "       5\n",
       "(x - 5) "
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "char_poly = Ax.det()\n",
    "char_poly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "fd0b232f-e406-41e1-b2c8-80d8e483a02e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle x^{5} - 25 x^{4} + 250 x^{3} - 1250 x^{2} + 3125 x - 3125$"
      ],
      "text/plain": [
       " 5       4        3         2                \n",
       "x  - 25⋅x  + 250⋅x  - 1250⋅x  + 3125⋅x - 3125"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "char_poly.expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "a026a156",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAaCAYAAAAKYioIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADUElEQVRYCe2Y7VUTQRSGFw4F5EAFQgegFQgdgFagdKCHX/CPAx0AFSh0AFSA0IHpQEwH8XmGmbDZ7MBu1JgQ7zl353vm3nfvx+wu9Pv9Yl7p4OBgFd134cuIge17+i8WY8e8FgLxERaYE3hNUCiLJR9zTm8B466KwX9gQARgNik68BX1niDNuyuJwR7cha/gM4DZpiwKg2+Z9/f3V8vtWa2Powdr1mFU7g9bDGh9Aqv1gNgUP5BzREb6OrDBNNFq1Ce1R0rGH6zjcUTLKejfHLhSnLRCGaLy49yprF0jZx++jfwdKW/h+yQt/bpGQWnWydE542WQl+PEbgCGQQPPHuXn3A5T1i8ABkmVUnZf5gbyh8BJPRDtYyq7Ub/YO1Sc0gpWEnu1oAvmd1NWOqLDPD4rdIfwOw2FVS/18yJXJQ1Bg/hBueLgYF8DDQHnp+WsMPKet5FV/eBOmzWLIKT5lM1J4F4aqd+7NkrpSltwCFR1CwFOH04B7A31D7DR/z0s3TBn4gGbM5VJ2XQB5Tmkb+QGS7+kfuppTGlEBt/XsFE9R0cceCwz4QY+gzdp658Kpv9Omjz3a5RLOWQzlDfYOlI/wWtMAuMhgzRXXslBvpWy4j3aul5C3vRWHqf59wm5tmBlCURdV9EqcglE/VoBoyup3OAQ6mX6Fg9NfRtUzAhhPuWzmYE5HdZcw5ZNaYd1ObfI7SE4WrIXu2rMtN3m/CKl69rDaoQzgB3WTs50socgCugfIfbzF8EyZW7POgCeevm1culKmlndZkMLEET/dd4g0NLnNfzZtUMb/X7DmFh3psoXyFNnac5Xz8akxWhmI/4XFT5nzOCr/3pB6lEvm+m/uC2fIoPBtkq+uFx2FbSy3NW1I20tRoRNw1XyINlffSOI0+eYWWrSdMLZQ0GWth+/Ui7mhdj4MKXZc4lpX2Ato0qib/YRgILD/ea4hBUqfLBRH7iVcyZBnNmFteIEjtagm7yir5eRQR3qPgky04tiwWsyG5rnx8kE2Y2nZQDdDBO+0LU2MulKkneRVoiGVbPxMB61vmsFYEBTlzH/i+6LoaiPeqULaWPdksW4wMCV/LbxBlM+UX3G8oQQY5JyEeFtSr+LZprQwUwVfjqNo8gvoAesGpCN7c0AAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left(x - 5\\right)^{5}$"
      ],
      "text/plain": [
       "       5\n",
       "(x - 5) "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "char_poly.factor()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4c9f9ba3-e6b8-4d08-8964-de1e887446c6",
   "metadata": {},
   "source": [
    "Wir sehen hier folgende Dinge:\n",
    "- das charakteristische Polynom zerfällt sogar über RR in Linearfaktoren. Also existiert die JNF mit Transformation über RR.\n",
    "- 5 ist der einzige Eigenwert und dieser hat Vielfachheit 5\n",
    "- Die JNF sieht so aus:\n",
    "[[5, *, 0, 0, 0],\n",
    " [0, 5, *, 0, 0],\n",
    " [0, 0, 5, *, 0],\n",
    " [0, 0, 0, 5, *],\n",
    " [0, 0, 0, 0, 5]]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e1a7bf2f-18d2-4152-9fe1-b5960a548ac7",
   "metadata": {},
   "source": [
    "Schritt 2: Wir gehen jetzt jeden der Eigenwerte durch und untersuchen wo in J 1en bzw. 0en auf der Nebendiagonalen stehen. Am Ende werden wir J vollständig kennen."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b3172e8f-d07b-4f10-8dbe-6d0fbee20138",
   "metadata": {},
   "source": [
    "Wir fangen an mit lambda = 5 und schaun uns die Matrix A-5I an. Genauer geht es um die Kerne von (A-5I)^k für wachsendes k. Die Kerne berechnen wir jeweils mit dem Gauß-Algorithmus (in Python Befehl \"rref()\" = reduced row echelon form = reduzierte Zeilenstufenform). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "03b7b3ae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}0 & 4 & 2 & 1 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\\\0 & 0 & 0 & 0 & 0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡0  4  2  1  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  0  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  1  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  0  1⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  0⎦"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Nullspace of (A - λI)\n",
    "lamb = 5\n",
    "Alamb = (A - lamb * eye(5))\n",
    "Alamb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "2dac91ef-039e-42b3-85ad-6fd67f56a7f0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\\\0 & 0 & 0 & 0 & 0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡0  1  0  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  0  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  1  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  0  1⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  0⎦"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "N = Alamb.rref()\n",
    "# rref() gibt eine Liste mit zwei Einträgen: die reduzierte Zeilenstufenform und die Liste der Pivot Indizies. Wir brauchen nur den ersten Eintrag:\n",
    "N = N[0]\n",
    "N"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "af394b66-daa4-4aeb-a858-9965a8de5742",
   "metadata": {},
   "source": [
    "Wir sehen: der Rang ist 4, also der Kern 1-dimensional. Das Young-Diagram hat also nur eine Spalte. Entsprechend gibt es nur ein Jordankästchen und damit kennen wir die JNF von A jetzt schon: fünf 5en auf der Diagonale und vier 1en auf der Nebendiagonalen. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30e33aae-3aa8-4321-952f-01951ec5c5b1",
   "metadata": {},
   "source": [
    "Schritt 3: wir bestimmen die Transformationsmatrix. Da wir die Form des Young-Diagramms schon kennen ist klar: ker((A-lambda * I)^k) wir stationär sobald es der ganze RR^4 ist und das passiert bei k = 5. Außerdem gilt dim ker((A-lambda * I)^k) = k. Wir prüfen das mal eben nach:\n",
    "\n",
    "- (\"Matrix ** 3\" ist Matrix potenzieren, hier also Matrix^3 = Matrix*Matrix*Matrix)\n",
    "- nullspace() berechnet eine Basis des Kerns\n",
    "- len() ist Länge einer Liste, hier also Anzahl der Basisvektoren in einer Basis, also Dimension."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "d019732f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimension von ker((A - λI)^k) für k=1..5:\n",
      "k=1: 1\n",
      "k=2: 2\n",
      "k=3: 3\n",
      "k=4: 4\n",
      "k=5: 5\n"
     ]
    }
   ],
   "source": [
    "N2 = (Alamb**2).nullspace()\n",
    "N3 = (Alamb**3).nullspace()\n",
    "N4 = (Alamb**4).nullspace()\n",
    "N5 = (Alamb**5).nullspace()\n",
    "\n",
    "print(\"Dimension von ker((A - λI)^k) für k=1..5:\")\n",
    "print(f\"k=1: {len(N1)}\")\n",
    "print(f\"k=2: {len(N2)}\")\n",
    "print(f\"k=3: {len(N3)}\")\n",
    "print(f\"k=4: {len(N4)}\")\n",
    "print(f\"k=5: {len(N5)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a5b7427b-b110-4daa-8220-290bfde43ad9",
   "metadata": {},
   "source": [
    "Wir brauchen jetzt einen Vektor v, welcher eine Basis von N4 zu einer Basis von RR^5 ergänzt."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "24d36480-eccc-4146-9670-84b5db9b9d57",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[ \\left[\\begin{matrix}1\\\\0\\\\0\\\\0\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}0\\\\1\\\\0\\\\0\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}0\\\\0\\\\1\\\\0\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}0\\\\0\\\\0\\\\1\\\\0\\end{matrix}\\right]\\right]$"
      ],
      "text/plain": [
       "⎡⎡1⎤  ⎡0⎤  ⎡0⎤  ⎡0⎤⎤\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎢⎢0⎥  ⎢1⎥  ⎢0⎥  ⎢0⎥⎥\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎢⎢0⎥, ⎢0⎥, ⎢1⎥, ⎢0⎥⎥\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎢⎢0⎥  ⎢0⎥  ⎢0⎥  ⎢1⎥⎥\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎣⎣0⎦  ⎣0⎦  ⎣0⎦  ⎣0⎦⎦"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "N4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "3521cf96-254c-408c-a606-a05b66622a0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAB9CAYAAAC8u3MsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADO0lEQVRoBe1b7W0TQRC9IH6jCCQKMB0kUAGmA6ADoAPy0/4bOgiUkHQAHUSkg1AAElFEBbx33rnMrfdjdm1FgGal1czO5+279Xh8uRysVqujYRi+Y6bGxXq9fpNSxDLYXUO2iOVcQ3fwUCk+gaexHj/0osKfJvSvIHtNuU50hswtgWdx4ft5JsACMoq2ElFYHHCUq/4Fw2eYp5CZLu5BMbJSIiDv4yXoCSZhPsH8Cj55X5TryJoSIdh7WB+CXkgA8LfguT4TWYmaEiEAT95VItAlZEskPUzoZiJroiW8bmaem4XcH+qLo5rIcrXI8LiYBcpqIhWE9yQ39gZdLoHInwiTo5Ydpe6NxBPI+LkqjmqicIwZJAWPyORQZJNVEwXPb6CLRBTZEfXFYU10jijPE5GOIbtSu06YbESmRAjEgnkDOhZIuoInbG8x33FdG7p612x59SyiL0B580lfYp2qGFDNhzkRAt7C9cPc3b4yQWcPl7f0RHlsKhqHrgJQXu3Q5bGpaMwliHFQhryBnAC1njpvICfIhLFAJw0Iv/hyQ7qhnN7UqWadlcLUQD4KDkKV/8ju0kA+lWBV6EKvQPsUPCIzNZC/Q1ahchGa9jaQPyVIdUfB0BtIQWyi5urtDeSEWWCspy72a157ombIxIHQsU7xd0+peIp9K2XpGn9TMdECkw+O5HsH7N7GEpHGh1L/32EwlyCC6Q2kPlLWw+ANpEZt5C3QyQfZG0hCNmsgpZ8TOsN3xwayua/rbSCni7YcBhp7AzlBJoy5ensDKZAJtZ46se+mnmgn6LyB7ILv3k6duQRxG95A6ptpvUfeQGrURt4C3b/XQG5tMxKUfkTLbv1P2BFod0tvIO+wCJy5ensDGWNnKUGxT9faE3XBRieH7u+HzlyCZCsoRUfgWc2PQ1kSVZGaEiEg/8T2BZPftnzjaYHZNKyJ+GSLvd2ApB9BuKum4ce7CS5t7NBpNJp4h64JLm3cA528uyANvo6X5U0liN4oPSykHMsNGc4h41MXvvO99fZ6sJlIS6Kx1k2ejUwPdI0pNuaeqAs2Ot0bdPrUXeOYxle8l385YVAmkieQcRKuqbMOefcuaf8HHoc2kNleG58AAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡0⎤\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎣1⎦"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v = Matrix([\n",
    "    [0],[0],[0],[0],[1]\n",
    "])\n",
    "v"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ae86bae-a463-4771-8b57-46057b484ec9",
   "metadata": {},
   "source": [
    "Das ist die letzte Spalte der Transformationsmatrix S! Die übrigen Spalten ergeben sich jetzt von rechts nach links als:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "a1d20d47-c654-479a-90c9-7feab70957a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAB9CAYAAAC8u3MsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADPUlEQVRoBe1b0W0bMQy9FP0ughToAO4GSTtB3Q3abNB2g+bT/k03SDpCskGyQdBskAwQIEHQCfre+Z6sO0snyjYMNKAAgRRJkXdPMo+Wz3uz2eywaZo/6Kl2OZ/Pv6YUQxns7iCbDOUcQ7f3OlL8Ak/juN3HgwJ/mtB/huwL5XGgM0Sucdzzi7nnPQEGkFG0EojC0YaJuupHGL5HP4XMdHGvRj1HSjjkOt6AnqAT5hP0K/DJdYmmtqwpEJx9h/U+6KUcgH8Gz/GZZGPUFAgOuPNuE45uIJsi6H5C1xNZA00x66k3czHQ+lA/2oqBLFeLCAejUaAsBoqccE1ybWvQ5QJI/lZMjlruKLU28ifI+LkabcVA3TamkxQ8kmlTZIMVA3Uzr0EnCS+6I+pHmzXQBbx8SHg6guw2uuuEyUJkCgRHTJhPoG2C5FTwhO0Y/RvHpRZn75Itr55J9CMoF5/0E8apjAFVv5kDweEzpv7oT7ePTNDZ3eUtPVAem4LGoSsAlFc7dHlsChpzCqIfpCEvIAOg1l3nBWSATIwFOhUgfPDlmqqhnN5UqWYnRwpTAfmmmyAazW/ZTQrId3JWhK6rFWifgkcyUwH5t4sqqouI6boF5IOcFO+oM/QCUogFas7eXkAGzDrGuuuG86rHHqgaMk0gdMxT/N4zljxlX0uZutrvVAw0QefBkZ47YLfWpvDUHkq9vM1gTkEE0wvIeEtZN4MXkDFqLW+BTh9kLyAJWa+AVD0n2sN3wwKyuq5bt4AMF23ZDDT2AjJAJsacvb2AFGSi1l0n+7WpB9oIOi8g14JvZ7vOnIJ0G0hFh+CZzY+iZ5XUWWoKBIc8IfmNzm8c/MFqgl7VrIFYmLC2axD0JwjvqqrtbI08UNW6xMYOXYxGFe/QES4dPR/UYGdKQXSI1MNEyjZdkOYCMj40+crOystHnU0gNYHaXBdmVjK+GSoBW5o7dEssKjmHrhKwpfnOoDOnIF4bcpr/hB0WybpGfgIZIBNjgU6P7P/nBFJ3l6Njv8Lobv0dyBx6fgK5iow5eyNz83Pk70AGDC0pKBhvwry8QPGuu8POGqKzlb+c0CkD6QRyGIRj6qxNhUvS/h9JajaQQOo/cgAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}0\\\\0\\\\0\\\\1\\\\0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡0⎤\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢1⎥\n",
       "⎢ ⎥\n",
       "⎣0⎦"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v2 = Alamb*v\n",
    "v2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "5932e0f9-46b4-4546-adb0-2bffce3a51ee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAB9CAYAAAC8u3MsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADVUlEQVRoBe1b0W0UMRC9IL5RBBIFHB0kUAGhA6ADoAPyefcbOgiUkHQAHURcB6EAJKKICnjv8DNer70eb04oOs1I1ozH45n1W9941lEOVqvV0WKx+I5Wosv1ev2mNJDrYHcN3TLXs4+xg4fJwCfINE7pR9ppyGeF8VfQvaY+DXSOyD2OB34x9/NAgQ50VI0CUdkkTCbUF2jHkG+bE4JBuqLqHDg8xOAXtBu052jFdwF9layB+OTbTYGgHyFzVV30oMv6DsYeaDZ4Dp1DFxGYsxmehNmPoxeDYEpB9IPUw0RKOvnLFhfQMdt/BR9l7mATWU8g0wEYPWfCHOgyF7auB7LhVLBy6Aqg2FQOnQ2ngpU5BXEucprK3l/oPkM7C/mOw5NkfkdwyA+BK/BTNNbpp2hMqMvJCGHQFAjO3sP+EPxSTiGzqGT/XLopbgoEB8zcm4KjK+hOEJQl8yRZA/EMYt2dk74+dEbl47HfDGR5WnhrnrbNQIkTvpMa7Qy6WgDpVUeoP+Jc0aOgFc+NSu9GNoKMv6sSPZWyCV3YxrQvwSOdNoX8jjgD/Q5a8ZERFN/QloUBrYjjJfopZXNFwZClFj8pczqGYpOsOh+PfVMgOGLddgO+/cLmbMiE7S3aO/Zb1JNU+fRMoi/A+fLJX6K/AW+SORAc3sLbh6bHioEJusrcLrUH6oIrNd5P6JinuG2nkmeKQo/M1LT9SRC6JRrPfeUtiDsjnrzbmmL/3pE5BQlMpKIjyH4Dudi/zeAr0i7v5oROhaN4t5OJCYMCUvWc+MS87qHuuq47Qj7hXu86fTl0HSvmpIpk6jeQg/1wrzfD4EmtHV+RFamRHaHzAnIEi0Xx33adOdfxqZHv/AYyvj7rO/IbyAiZBAt0OrJ5c1IjXafVxndW5KuOuFOgqY9orbZ2AxkDN6HDj1SQleCRznQDGaNOCHNvIKPL5oqCpd9ARsgkmLN32BR+AynkdpYZosOaYN3etflmvQcyQ5UbOnQ5Iua+OQXRoxeQKa7WXecFZIraVrZAp5JK1dDICRSqhkpj5kDVycmAF5AJGEPRC8ghHuj1JFX/E/YAPktmGEyY2/FAc5EbbO9r1AS5o538ywmd8nekG8g8CPvNj+Bkkm6+EtU/8Q+UABId1zx5VQAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1\\\\0\\\\1\\\\0\\\\0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1⎤\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢1⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎣0⎦"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v3 = Alamb*v2\n",
    "v3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "5ae98c99-d495-4d56-b7b3-da91a19ddbf8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAB9CAYAAAC8u3MsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD7ElEQVRoBe1b7W0UMRDdIH6jKEgUcOmAkAo4OgA6ADqAn3d/QweBEpIOkg6iXAdJAUhEUSrgvT2PGXvt9XjvtELII21sj8fz7OePjB04WK1Wr7uuu8WXksv1ev0hVRHrYHcH3SLWs4y6g+eq4jvyNNZyrwuF/Fmi/h1076nXQOdArnEc+EXbH4ECBeioGgBRmRU0Ii3fnMEbpA8sQ79xutFEjyhr6EA4YlLRC/Kk6pY6fNdOnU2eZWvCCjr9olVwztE94rvQ+lzeCrSEgzs4P4wccSSH0CdXm7a1AtHhPRxyBCmJOzCwsc5Rbi9xD3boQHFBWEc06CGcE4SUyUoc2GjFZCA44SLgycGNXpRJQHB+Ds+csxylA+BqIDj/DC9HSP2eGnhNKKqA4JzHybEeCfILfgnfgcoMBGec/FOk8eQTnMfRqFiXN3vMyb8GEOdHyxK64oIwAcHrFT6CcX5iKe4hNjABocfHsffasnmOah3H9g0oZsRcbtSZqYoNG3UxI+ay6QjS3nAc8RTnAXuCfC5Y0U36vAkIDhnl/MTHXweMUhf4qsQKxJ73v7YB+hX5PvqpQWqrroatwPb/pO6FG6OkwZB3LLyS9rNS9+RQJZVO7CP9JU5mHZGAWtOXzvDI2oB2piOIhjh65K66ZBlyAR2fC66QDq7+vYX6UQNkvqIo/z77T8+R72VNpo2ohq3AdlbquBf4zsN4YN/CF5f+DYkjWuDjdbFqp8PeItzc/VV0VuosPdvZxnwEEQlnmryb/kaR99ozd96xelTM1MEhX5JvkPJ5k9d9vjfwQOUcF8UEBGe89vMB8FI8Is+gkuX43UFMgtQEhBY8uTdBy23hBskSoAyZR8UKxGWa2mfyfM36USkCWXoLhOIeLAIpJ5yTnOyNuhyA6CWOkPIg5YgkcJQ0NkrNjdgIZdxXKQkCyCdnIWnQwC1j6lL0iE4WRdAWheq4jqfwIvaCsoyI9aNiWQx0wFCLV8pYTqDYqFHH9b5sAoIjxm0PSPms2QvypO0jvk9bzfjPmkOVvecheoqUk8/0LcobpEUxA8HhI7wFf3EpelcGJuqU/eRsA2rUeQa4GFoA6emoycy2j8xHEHuPY6gFkH4arXPUAkhPmWQs1EkAwl98OZFoKFffWYCyjVWFKYBU9snsLgGkd1gckYsV2CBFj+hyAaQdyFm2ANJTJpmaQ7UFkMJanxaXd2C9Q6EBTSavUdeo8wzUnHUtgPS0MWPdRy2ADGizUtcCyAFtJupaAJnkDUrThgV97QVywKCJukGrCYoGNIG0bZPZqNMxA/9xf9zjvfyXEzolkLxAxiAsFy/BqpG8fCnV3+wfiZRC7OCYPakAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}2\\\\1\\\\0\\\\0\\\\0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡2⎤\n",
       "⎢ ⎥\n",
       "⎢1⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎣0⎦"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v4 = Alamb*v3\n",
    "v4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "766448cb-4307-4163-921c-563179654d5f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAB9CAYAAAC8u3MsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADa0lEQVRoBe1b7W0UMRC9IH6jCCQKWDpISAVJOuCjAkgH5Ofd39BB0kLSQdJBxHWQFIBEOFEB7y0ex+uP9azvQOQ0lqwZj73z1s/e8eyebmc+n+/NZrNvqLlytVgs3uc6YhvG3cHWxXa20bfzPOj4Cp2Dw3IfNir6Wab/GLZ3tIdA50Ce4njgF9deDAxowEZTD/SMWkuBkz3Uc+21zUAAuER9+VeBMJMvWgAZN3lGpAwXr1wVP1U5GQgePwIsWfga0iQgR5l6A4TgaiCAdLhwBdn0CKiBAHLSQpnMSgUEgM+4oIkyNZCjbLeVMgEKQ5DYYsm1OQAQH9CwcJt3zn4PeRp2xnoVCA5ucBHroMD+E4YbSFV0V63RAOGxsQuVVVWqM4q9YAbcFKST5QhtUnoLyWOmWFqAToreRjrWoW7EbdplQCknSotRpyQqHWbUpZwoLZNCEOKZpL0/4P8N6hlsqqNdvUZwyBcBBs9TVAZQnj/X0DvIalEBwRmPcp6yV+IROnM7tlVHvAoIzni4LVHjcgsDj4rquaQFOoLDhxgFbVkf9o+WKpDmboFQTfarQIETrkmpbIy6EoDYX4lSkpzRC9cpMh6bWxsZI5TxucqV12KsUue2Mcfn6BGbbArxm0gC/XJWkckgGJjXdZkOmVGS97mx3+Wa6ozcQKZUb+WiQO5DXwazDrqGqgoIjvji9QDZv2HTBXTS9gH1E9u1MiWo8u4ZRA8gufiUh2gvIatFDQSHK3hrSh55FyrqqrerGGBACpLyQ7aTOsYpbtux4Jnno25laOofCVLXofLcl7gFdWOFJ2+fU2zfGqlDEMlEGLIE0u8q7WawBNJTJoqGOnmQefCVimRDpf6NHXz/VwIp+ZzIwfRdrkBbjh6xlRLIyXldawLpb1qzGTjYEkhPmSjq6G0JpFAmUrvrZHyzNKC1qLMEsom+f7br1CGI07AEMlxM7RpZAhmy1usa6p5eAplMMzKMvUTLbEtfIL2rKnVrJpB6IDfSEkhPmShTgqp9gRTWelnd3oPRazQMqJk8o86o8wxMiXWWQHraqGifI0sgB7RpqZOU6ul8gUymGRksgYwI+dPUPkf2BTKhTx293VuF/YTtKdTuOn9Bq7J9QOGuu8POipnZyF9O6JRA8gUyBmG79CtKbqz8dJrrm/0GOBdVT4VCJeQAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}4\\\\0\\\\0\\\\0\\\\0\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡4⎤\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎢0⎥\n",
       "⎢ ⎥\n",
       "⎣0⎦"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5 = Alamb*v4\n",
    "v5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "f70232e4-cd5e-42c6-82ce-0c697a09bff0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}4 & 2 & 1 & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡4  2  1  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  1  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  1  0⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  1⎦"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "S = Matrix.hstack(v5, v4, v3, v2, v)  #hstack schreibt mehrere Matrizen nebeneinander in eine große Matrix\n",
    "S"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f72e92b-0dbb-4527-8dee-19936ce7401a",
   "metadata": {},
   "source": [
    "Wir prüfen nach: det(S) ist nicht 0, also ist S invertierbar."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "d23bfe46-4694-48f8-863f-d04fdd42fc1b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "S.det() != 0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a9a0214-d03e-4d92-bf45-bd53c514d997",
   "metadata": {},
   "source": [
    "Wir bestimmen die Inverse von S ganz klassisch mit Gauß-Algorithmus und dabei eine Einheitsmatrix nebendran mitnehmen."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "e325b73a-3e6c-4d10-ad5d-640555b4c2ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{4} & - \\frac{1}{2} & - \\frac{1}{4} & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1/4  -1/2  -1/4  0  0⎤\n",
       "⎢                     ⎥\n",
       "⎢ 0    1     0    0  0⎥\n",
       "⎢                     ⎥\n",
       "⎢ 0    0     1    0  0⎥\n",
       "⎢                     ⎥\n",
       "⎢ 0    0     0    1  0⎥\n",
       "⎢                     ⎥\n",
       "⎣ 0    0     0    0  1⎦"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "B = Matrix.hstack(S, eye(5))\n",
    "B = B.rref()[0]\n",
    "Sinv = B[:, 5:]  #der Befehl nimmt die rechte 5x5-Teilmatrix aus B heraus\n",
    "Sinv"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "df1abda8-951a-42f5-8f61-13ed8499a1d2",
   "metadata": {},
   "source": [
    "Hier der Nachweis, dass Sinv invers zu S ist:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "a050e988-6257-4bc7-aff9-65bc4f09fe2d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  0  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  1  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  1  0⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  1⎦"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "S*Sinv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "d89b740f-08bc-47ab-afa3-faf1347d4472",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  0  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  1  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  1  0⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  1⎦"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sinv*S"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a6018942-3dcb-416a-bac6-4fafa413d8be",
   "metadata": {},
   "source": [
    "Hier also die Früchte unserer Arbeit: S transformiert A auf die vorhergesagt JNF:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "c2126005-4306-4ec1-943c-073bd0627904",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}5 & 1 & 0 & 0 & 0\\\\0 & 5 & 1 & 0 & 0\\\\0 & 0 & 5 & 1 & 0\\\\0 & 0 & 0 & 5 & 1\\\\0 & 0 & 0 & 0 & 5\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡5  1  0  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  5  1  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  5  1  0⎥\n",
       "⎢             ⎥\n",
       "⎢0  0  0  5  1⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  5⎦"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sinv*A*S"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da3003fc-2a45-4428-a388-eed7b6e61f90",
   "metadata": {},
   "source": [
    "Abschließende Bemerkungen:\n",
    "- Natürlich kann man J und S auch mit einer eingebauten Funktion \"jordan_form()\" berechnen.\n",
    "- Matrix invertieren geht mit der Funktion inv() auch direkt.\n",
    "- Eigenwerte und deren Vielfachheit findet man eigenvals()."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "88998736",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left( \\left[\\begin{matrix}4 & 2 & 1 & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right], \\  \\left[\\begin{matrix}5 & 1 & 0 & 0 & 0\\\\0 & 5 & 1 & 0 & 0\\\\0 & 0 & 5 & 1 & 0\\\\0 & 0 & 0 & 5 & 1\\\\0 & 0 & 0 & 0 & 5\\end{matrix}\\right]\\right)$"
      ],
      "text/plain": [
       "⎛⎡4  2  1  0  0⎤  ⎡5  1  0  0  0⎤⎞\n",
       "⎜⎢             ⎥  ⎢             ⎥⎟\n",
       "⎜⎢0  1  0  0  0⎥  ⎢0  5  1  0  0⎥⎟\n",
       "⎜⎢             ⎥  ⎢             ⎥⎟\n",
       "⎜⎢0  0  1  0  0⎥, ⎢0  0  5  1  0⎥⎟\n",
       "⎜⎢             ⎥  ⎢             ⎥⎟\n",
       "⎜⎢0  0  0  1  0⎥  ⎢0  0  0  5  1⎥⎟\n",
       "⎜⎢             ⎥  ⎢             ⎥⎟\n",
       "⎝⎣0  0  0  0  1⎦  ⎣0  0  0  0  5⎦⎠"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "J = A.jordan_form()\n",
    "J"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "62f6752a-7d11-430e-a0d0-bf47f34eb43f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{4} & - \\frac{1}{2} & - \\frac{1}{4} & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1/4  -1/2  -1/4  0  0⎤\n",
       "⎢                     ⎥\n",
       "⎢ 0    1     0    0  0⎥\n",
       "⎢                     ⎥\n",
       "⎢ 0    0     1    0  0⎥\n",
       "⎢                     ⎥\n",
       "⎢ 0    0     0    1  0⎥\n",
       "⎢                     ⎥\n",
       "⎣ 0    0     0    0  1⎦"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "S.inv()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "0e3ae195-a26e-48e4-8e9c-5d7982d81598",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAVCAYAAAATtC32AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACfUlEQVRYCd2X3VHbQBCAZU8KIKGCmA5CUkEoIUkJoQOYPNlvHtIBpAIYOgA6CHQQOgjjDpzvU3Qa6XQSEvKDkp3ZudXu3v749vbWs+12m8WwWq324L2XD30by6f0TXwL4nkHPkA/xrHNYwZKJ/DuCv7PqhyZhmoAbw/Uyc6hjz90TEo8g74BPZwSXpUUBMJPLGfga+hNVVbQd4WBh+I7GDtM6O6C1csfMRnPZ9Yb1h/SwXl8gh8QPLYk554n0MQ9SZO7Bg879BGPgqH+TLRWZbUT7BGKdV7+Oj30x6qM9hef4NiAJrf/v09waIlmlOhXjsn7tw/aPdfwrP1egO4vFG9Zj/tsGOsvPkEDt4m0gfIrnH4HT6HFe+ijtg1VPnru90fJ39iqrIUe6u83dt5Ubc3CQ49zHd+Dp9AXVaUuGl1b84L1oEsvyNDz3ez6EYNqcu3yh8wcrBCfDDt8NlsulzJ9+1xNbtDkgv45+yzbA+jGJAF/p/CcP+Seum+h+aznRVBrPpxaTFCFBsB3SvCE2yC5r035Of4If9+wHQ7req4jjPnehEtv9inw3qSSyGteG6lNI3iD/RGDk5ij5kfovBLzBCtBNCaBiuyCTal7ZoMZVNYVm13kS/w5iW2IcxMMxwkGfmo9Z6P3rQS+/bWEXtMN+jaYLdhV6n8tZtlL/T0FA66930GCckZ1Yg9JWpoaewuv/MU02gbqgTai2r+UlL564Ch/2u2doMpFcOGuyhoM2EiVedLOLvwNKdFkEFNnxgk2JoGpJxDFZ5evXZc4QV9/G4Ht9p8CYja5L2DoEXn85agWskFxAe2MaRO55DsfeYJ8amsRr33BuBvx/gEaiAaq+bo+HQAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\left\\{ 5 : 5\\right\\}$"
      ],
      "text/plain": [
       "{5: 5}"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eigenvals = A.eigenvals()\n",
    "eigenvals"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9fb6a374-c48f-4e04-87ba-da98a7558cff",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
