diff --git a/.ipynb_checkpoints/Rosen12-3-checkpoint.ipynb b/.ipynb_checkpoints/Rosen12-3-checkpoint.ipynb
index 530454db6bf5890ff5fd5054cfcd525c005b9f00..d293e34e9b442e00ab521204168fe1514655b14e 100644
--- a/.ipynb_checkpoints/Rosen12-3-checkpoint.ipynb
+++ b/.ipynb_checkpoints/Rosen12-3-checkpoint.ipynb
@@ -1,23 +1,37 @@
 {
  "cells": [
   {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "a0564571-faf2-47f7-80b8-6b93da370de6",
+   "cell_type": "markdown",
+   "id": "84d0f462",
+   "metadata": {},
+   "source": [
+    "# Rosen kap 12.3"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "82be3b57",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "# 12.3.1c"
+    "## 12.3.1c"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": null,
+   "id": "c1cc2bbd",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
    "id": "97f1a9eb-89f3-493e-a564-9ceed016b7ba",
    "metadata": {},
    "outputs": [],
    "source": [
-    "N=6\n",
+    "N=10\n",
     "alpha = vector(QQbar,[0 for _ in range(N)])\n",
     "a = vector(QQbar,[0 for _ in range(N)])\n",
     "t = vector(QQbar,[0 for _ in range(N)])"
@@ -33,7 +47,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 94,
    "id": "4c58f2d2-829b-4e8e-8b41-e18241a04c39",
    "metadata": {},
    "outputs": [],
@@ -43,32 +57,168 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
-   "id": "d239123d-8f1d-4c2a-8723-e488035f4882",
+   "execution_count": 95,
+   "id": "6a2f74bb",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2.236067977499790?"
+      ]
+     },
+     "execution_count": 95,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "id": "48a2ac86",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "x^2 - 5"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0].minpoly()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3355ee27",
    "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 89,
+   "id": "1d1f5708",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "sqrt(5)"
+      ]
+     },
+     "execution_count": 89,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0].radical_expression()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "id": "d239123d-8f1d-4c2a-8723-e488035f4882",
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0 2.236067977499790? 2 0.2360679774997897?\n",
-      "1 4.236067977499789? 4 0.2360679774997897?\n",
-      "2 4.236067977499789? 4 0.2360679774997897?\n",
-      "3 4.23606797749979? 4 0.23606797749979?\n",
-      "4 4.2360679774998? 4 0.2360679774998?\n"
+      "    0  2.236067977499790? sqrt(5)  2 0.2360679774997897? sqrt(5) - 2\n",
+      "    1  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n",
+      "    2  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n",
+      "    3  4.23606797749979? sqrt(5) + 2  4 0.23606797749979? sqrt(5) - 2\n",
+      "    4  4.2360679774998? sqrt(5) + 2  4 0.2360679774998? sqrt(5) - 2\n",
+      "    5  4.236067977500? sqrt(5) + 2  4 0.236067977500? sqrt(5) - 2\n",
+      "    6  4.23606797750? sqrt(5) + 2  4 0.23606797750? sqrt(5) - 2\n",
+      "    7  4.236067978? sqrt(5) + 2  4 0.236067978? sqrt(5) - 2\n",
+      "    8  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n"
      ]
     }
    ],
    "source": [
+    "alpha[0] = sqrt(5)\n",
     "for k in range(N-1):\n",
     "    a[k], t[k] = floor(alpha[k]), alpha[k] - floor(alpha[k])\n",
     "    alpha[k+1] = 1 / t[k]\n",
-    "    print(k,alpha[k], a[k], t[k])"
+    "    print(f\"{k : >5}  {alpha[k] } {alpha[k].radical_expression()}  {a[k] } {t[k] } {t[k].radical_expression()}\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "id": "8bca7737",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "4.236067977499789?"
+      ]
+     },
+     "execution_count": 98,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "id": "8688c62b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "x^2 - 4*x - 1"
+      ]
+     },
+     "execution_count": 99,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[3].minpoly()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": null,
+   "id": "f64ad389",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "900adcfb",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 76,
    "id": "91e64dfc-7d82-41da-97a3-907b70fb04cf",
    "metadata": {},
    "outputs": [
@@ -78,7 +228,7 @@
        "[2; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 76,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -89,7 +239,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 77,
+   "id": "23bc6e7f",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
+      ]
+     },
+     "execution_count": 77,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(t[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 78,
    "id": "4805e461-de3a-4ad1-b68b-0ac1254a9fa2",
    "metadata": {},
    "outputs": [
@@ -99,7 +270,7 @@
        "[4; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 78,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -110,7 +281,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 18,
    "id": "74e5c6b5-4141-48a2-9ed0-5145ec962206",
    "metadata": {},
    "outputs": [
@@ -120,7 +291,7 @@
        "[0; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -139,7 +310,41 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": null,
+   "id": "5069fea6",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "48ef12c1",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "727be0d3",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 79,
+   "id": "1e494570",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# annat exempel med periodisk kb"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 91,
    "id": "5f179ca2-6fe2-4acf-8ee5-efc16c9f92d7",
    "metadata": {},
    "outputs": [
@@ -147,11 +352,15 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0 3.358898943540674? 3 0.3588989435406736?\n",
-      "1 2.786299647846891? 2 0.7862996478468912?\n",
-      "2 1.271779788708135? 1 0.2717797887081347?\n",
-      "3 3.679449471770337? 3 0.679449471770337?\n",
-      "4 1.471779788708135? 1 0.471779788708135?\n"
+      "0 3.358898943540674? sqrt(19) - 1 3 0.3588989435406736? sqrt(19) - 4\n",
+      "1 2.786299647846891? 1/3*sqrt(19) + 4/3 2 0.7862996478468912? 1/3*sqrt(19) - 2/3\n",
+      "2 1.271779788708135? 1/5*sqrt(19) + 2/5 1 0.2717797887081347? 1/5*sqrt(19) - 3/5\n",
+      "3 3.679449471770337? 1/2*sqrt(19) + 3/2 3 0.6794494717703368? 1/2*sqrt(19) - 3/2\n",
+      "4 1.471779788708135? 1/5*sqrt(19) + 3/5 1 0.4717797887081347? 1/5*sqrt(19) - 2/5\n",
+      "5 2.119632981180225? 1/3*sqrt(19) + 2/3 2 0.11963298118022452? 1/3*sqrt(19) - 4/3\n",
+      "6 8.358898943540674? sqrt(19) + 4 8 0.3588989435406736? sqrt(19) - 4\n",
+      "7 2.786299647846891? 1/3*sqrt(19) + 4/3 2 0.7862996478468912? 1/3*sqrt(19) - 2/3\n",
+      "8 1.271779788708135? 1/5*sqrt(19) + 2/5 1 0.2717797887081347? 1/5*sqrt(19) - 3/5\n"
      ]
     }
    ],
@@ -160,7 +369,7 @@
     "for k in range(N-1):\n",
     "    a[k], t[k] = floor(alpha[k]), alpha[k] - floor(alpha[k])\n",
     "    alpha[k+1] = 1 / t[k]\n",
-    "    print(k,alpha[k], a[k], t[k])"
+    "    print(k,alpha[k],alpha[k].radical_expression(), a[k], t[k], t[k].radical_expression())"
    ]
   },
   {
@@ -293,18 +502,16 @@
    "source": []
   },
   {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "44991d26-ebed-44ad-9883-e49b90842e8e",
+   "cell_type": "markdown",
+   "id": "f9d5feb9",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "#12.3.2.a"
+    "## 12.3.2.a"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 53,
    "id": "a05c12c9-9df9-464d-b932-62a81a1d4429",
    "metadata": {},
    "outputs": [],
@@ -316,15 +523,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 56,
    "id": "7ffc1d57-0784-4119-825f-32f5459cc945",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -2), (1, -1), (2, 6), (3, 25), (4, 62), (5, 123), (6, 214), (7, 341)]"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f0(j)) for j in range(8)]"
+   ]
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 40,
    "id": "1f050106-4454-441f-ab17-869bb1e7deb9",
    "metadata": {},
    "outputs": [
@@ -336,7 +556,7 @@
        " (-0.6299605249474365? + 1.091123635971722?*I, 1)]"
       ]
      },
-     "execution_count": 5,
+     "execution_count": 40,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -347,7 +567,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 41,
    "id": "3327b8b5-8e8e-4f34-97d0-8b24e06410e2",
    "metadata": {
     "scrolled": true
@@ -359,7 +579,7 @@
        "1.259921049894873?"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 41,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -371,7 +591,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 42,
    "id": "4ddb6330-657c-4387-b902-6e055b0097b0",
    "metadata": {},
    "outputs": [
@@ -381,7 +601,7 @@
        "[1; 3, 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, ...]"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 42,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -398,7 +618,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 100,
    "id": "78e5e15c-0cc0-4dff-a8a2-5693f4b4a339",
    "metadata": {},
    "outputs": [
@@ -408,7 +628,7 @@
        "x^3 - 3*x^2 - 3*x - 1"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 100,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -420,6 +640,48 @@
     "f1"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "id": "d2cae2a9",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(-x^3 + 3*x^2 + 3*x + 1)/x^3"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f0(a0 + 1/x)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 106,
+   "id": "3d7595ea",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -1), (1, -6), (2, -11), (3, -10), (4, 3), (5, 34), (6, 89), (7, 174)]"
+      ]
+     },
+     "execution_count": 106,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f1(j)) for j in range(8)]"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 47,
@@ -445,7 +707,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 103,
    "id": "c54abfa7-4930-4a3f-9c2c-3bf05d5b32a0",
    "metadata": {},
    "outputs": [
@@ -455,7 +717,7 @@
        "[3; 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, ...]"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 103,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -467,9 +729,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 107,
    "id": "5801d40e-a2a8-46e9-bdd9-39b33d52f83f",
-   "metadata": {},
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "data": {
@@ -477,7 +741,7 @@
        "10*x^3 - 6*x^2 - 6*x - 1"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 107,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -491,7 +755,35 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 108,
+   "id": "b0a535b5",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -1),\n",
+       " (1, -3),\n",
+       " (2, 43),\n",
+       " (3, 197),\n",
+       " (4, 519),\n",
+       " (5, 1069),\n",
+       " (6, 1907),\n",
+       " (7, 3093)]"
+      ]
+     },
+     "execution_count": 108,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f2(j)) for j in range(8)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
    "id": "c4c0bc9d-9bbf-4d8d-b063-d1dc78245ff6",
    "metadata": {},
    "outputs": [
@@ -503,7 +795,7 @@
        " (-0.2900943677742046? + 0.02403056328910778?*I, 1)]"
       ]
      },
-     "execution_count": 13,
+     "execution_count": 46,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -514,7 +806,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 47,
    "id": "c049c466-ebf9-4853-9ebf-2be2a169b069",
    "metadata": {},
    "outputs": [
@@ -524,7 +816,7 @@
        "[1; 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, 1, ...]"
       ]
      },
-     "execution_count": 14,
+     "execution_count": 47,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -536,55 +828,106 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
-   "id": "9953eae5-e5d1-48f6-bda3-e464b1a6c6c1",
+   "execution_count": 109,
+   "id": "47f04c9b",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "3*x^3 - 12*x^2 - 24*x - 10"
+       "1.180188735548410?"
       ]
      },
-     "execution_count": 16,
+     "execution_count": 109,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "a2 = 1\n",
-    "f3 = (-x)^d*f2(a2 + 1/x)\n",
-    "f3 =R(f3)\n",
-    "f3"
+    "alfa2"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
-   "id": "0a66ff0f-dc17-42ae-b8ee-6535c8541aac",
+   "execution_count": 112,
+   "id": "a988ae62",
    "metadata": {},
    "outputs": [
     {
      "data": {
+      "image/png": "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\n",
       "text/plain": [
-       "[(5.549736485782388?, 1),\n",
-       " (-0.7748682428911940? - 0.01443345604526783?*I, 1),\n",
-       " (-0.7748682428911940? + 0.01443345604526783?*I, 1)]"
+       "Graphics object consisting of 1 graphics primitive"
       ]
      },
-     "execution_count": 17,
+     "execution_count": 112,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "f3.roots()"
+    "plot(SR(f2),(x,0,3))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
-   "id": "b4fc68d2-c006-43ce-945d-f809360adb11",
+   "execution_count": null,
+   "id": "46ca4963",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "id": "9953eae5-e5d1-48f6-bda3-e464b1a6c6c1",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "3*x^3 - 12*x^2 - 24*x - 10"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "a2 = 1\n",
+    "f3 = (-x)^d*f2(a2 + 1/x)\n",
+    "f3 =R(f3)\n",
+    "f3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "id": "0a66ff0f-dc17-42ae-b8ee-6535c8541aac",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(5.549736485782388?, 1),\n",
+       " (-0.7748682428911940? - 0.01443345604526783?*I, 1),\n",
+       " (-0.7748682428911940? + 0.01443345604526783?*I, 1)]"
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f3.roots()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "id": "b4fc68d2-c006-43ce-945d-f809360adb11",
    "metadata": {},
    "outputs": [
     {
@@ -593,7 +936,7 @@
        "[5; 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, 1, 3, ...]"
       ]
      },
-     "execution_count": 18,
+     "execution_count": 50,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -605,7 +948,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 51,
    "id": "0c50aa3c-5f4c-4d34-bc2f-a5de911952b9",
    "metadata": {},
    "outputs": [
@@ -615,7 +958,7 @@
        "55*x^3 - 81*x^2 - 33*x - 3"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 51,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -629,7 +972,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 52,
    "id": "d99ecd1d-0a85-4ebb-a69b-546456037c87",
    "metadata": {},
    "outputs": [
@@ -641,7 +984,7 @@
        " (-0.1731630422019992? + 0.00043279622203746?*I, 1)]"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 52,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -711,22 +1054,79 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 55,
-   "id": "d742e1d1-7935-46ee-bd91-3037e9791149",
+   "execution_count": null,
+   "id": "01c2df55",
    "metadata": {},
    "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b300d674",
+   "metadata": {},
    "source": [
-    "#12.3.4"
+    "## 12.3.4"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 67,
+   "execution_count": 28,
+   "id": "fd9f44d8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[2; 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, 1, 1, 10, 1, 1, 12, 1, 1, ...]"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "ec=continued_fraction(exp(1))\n",
+    "ec"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "id": "6e09c672",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[2; 1, 2]"
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "ec[:3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "25a8b5f3",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
    "id": "cd9a0eb9-823a-46cf-a3ce-ce344d55ceb4",
    "metadata": {},
    "outputs": [],
    "source": [
-    "a=vector([2,1,2,1,1,4])\n",
+    "a=ec[:12]\n",
     "N=len(a)\n",
     "v=[]\n",
     "v.append(vector([1,0]))\n",
@@ -735,7 +1135,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 68,
+   "execution_count": 32,
    "id": "22b9d3bd-d905-4ecc-a841-0469335e7707",
    "metadata": {},
    "outputs": [
@@ -745,7 +1145,7 @@
        "[(1, 0), (0, 1)]"
       ]
      },
-     "execution_count": 68,
+     "execution_count": 32,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -756,7 +1156,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 72,
+   "execution_count": 33,
    "id": "a89b77b0-93bf-4c2a-82db-f1f1a7d99938",
    "metadata": {},
    "outputs": [],
@@ -767,17 +1167,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 73,
+   "execution_count": 34,
    "id": "5f5c0c05-47f0-4538-8046-1a75fe629b55",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[(1, 0), (0, 1), (1, 2), (1, 3), (3, 8), (4, 11), (7, 19), (32, 87)]"
+       "[(1, 0),\n",
+       " (0, 1),\n",
+       " (1, 2),\n",
+       " (1, 3),\n",
+       " (3, 8),\n",
+       " (4, 11),\n",
+       " (7, 19),\n",
+       " (32, 87),\n",
+       " (39, 106),\n",
+       " (71, 193),\n",
+       " (465, 1264),\n",
+       " (536, 1457),\n",
+       " (1001, 2721),\n",
+       " (8544, 23225)]"
       ]
      },
-     "execution_count": 73,
+     "execution_count": 34,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -788,17 +1201,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 77,
+   "execution_count": 35,
    "id": "b8feab8b-f3ed-477c-8ee2-9f88a8728ea2",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[2, 3, 8/3, 11/4, 19/7, 87/32]"
+       "[2,\n",
+       " 3,\n",
+       " 8/3,\n",
+       " 11/4,\n",
+       " 19/7,\n",
+       " 87/32,\n",
+       " 106/39,\n",
+       " 193/71,\n",
+       " 1264/465,\n",
+       " 1457/536,\n",
+       " 2721/1001,\n",
+       " 23225/8544]"
       ]
      },
-     "execution_count": 77,
+     "execution_count": 35,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -831,16 +1255,465 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 36,
    "id": "dcbebe47-9e94-4540-8f4d-99f1217ca1b0",
    "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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c9xxx212n+Hh4TSbzY0eAABs2rjP0FVVlfe85z35yU9+kltvvfVVt7366qvzwQ9+ML/4xS+yfv36/Omf/mmuvvrq7Ljjjpvc/pOf/GQ+9alPvWK9M3QAAK807qDr6+vLN77xjaxevTq77777Zrd74IEHctRRR+WMM87IMccck6eeeipnnnlment7c+mll25yn+Hh4QwPD29YbjabmTlzpqADANiEcQXdokWLct1112XVqlWZNWvWq2570kkn5Re/+EWuuuqqDetWr16dww8/PD/60Y+y2267jXo899ABAGzemO6hq6oqCxcuzPLly3PTTTeNGnNJ8rOf/Sw77LDxYSZNmrTh8wEAsHXGFHR9fX25/PLLs2zZsnR1dWVoaChDQ0P5+c9/vmGbJUuWZP78+RuWjz/++CxfvjxLly7Nww8/nNtuuy2nnnpq3vGOd2TGjBmv3VcCALCdGtMl146Ojk2uv+yyy3LKKackSU455ZQ8+uijueWWWzb8+QUXXJCLL744jzzySN7whjfkyCOPzGc+85m86U1v2qLjuuQKALB5W/U6dNuKoAMA2Dzv5QoAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBB7/24x8njUarpwCAsRN0kOTjH0922SWZNi05//xWTwMAY9NRVVXV6iFG02w2U6/X02g0UqvVWj0OE8z3v5/ss89Lyx0dydq1I4EHACVo6zN0AwMD6enpSW9vb6tHYQIbHt54uaqSX/2qNbMAwHg4QwdJTjopufzykY9POy35x39s6TgAMCaCDn7tnnuSyZOTP/iDVk8CAGMzudUDQLt4+9tbPQEAjE9b30MHAMDoBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4bxsCdDWli0becyalZx7btLV1eqJxu+FF5Lly5Nf/CL5b/8ted3rWj3R1rnqquTuu5N3vSs55phWT7N1vv/95J//eeQt//76r5Oddmr1ROP3y18mF1888haGJ5208Vsbluj//t/k5ptHXlrqfe9r9TRb56mnkn/6p6SzM/mbv3lt/z7zwsJA27r55uTII19aPuGE5MorWzfP1nrf+5Jrrhn5+KCDkttuG/mLvURLl478QvqN665L3vOelo2zVZ58Mtl//+THPx5Zft/7RmK1VCee+NLPye/8TnLvvcnu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CtfWQTcwMJCenp709va2ehQAgLbVUVVV1eohRtNsNlOv19NoNFKr1Vo9DgBAW2nrM3QAAIxO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRuTEHX39+f3t7edHV1pbu7O/PmzctDDz20xfvfdtttmTx5ct72treNdU4AADZjTEE3ODiYvr6+3HHHHVm5cmXWr1+fuXPnZt26daPu22g0Mn/+/Lz73e8e97AAALxSR1VV1Xh3Xrt2bbq7uzM4OJg5c+a86rYnnnhi9t5770yaNCnXXXdd1qxZs8XHaTabqdfraTQaqdVq4x0XAGBC2qp76BqNRpJk2rRpr7rdZZddlh/84Af5xCc+sTWHAwBgEyaPd8eqqrJ48eIcdthh2W+//Ta73fe///187GMfy6233prJk7fscMPDwxkeHt6w3Gw2xzsmAMCEN+4zdAsXLsy9996bK664YrPbvPDCC3n/+9+fT33qU9lnn322+HP39/enXq9veMycOXO8YwIATHjjuodu0aJFue6667Jq1arMmjVrs9v99Kc/ze/8zu9k0qRJG9a9+OKLqaoqkyZNyo033pgjjzzyFftt6gzdzJkz3UMHALAJY7rkWlVVFi1alGuvvTa33HLLq8ZcktRqtdx3330brbvoooty00035eqrr97s/p2dnens7BzLaAAA260xBV1fX1+WLVuW66+/Pl1dXRkaGkqS1Ov1TJ06NUmyZMmSPPnkk/nKV76SHXbY4RX313V3d2fKlCmvet8dAABbbkz30C1dujSNRiNHHHFEdttttw2PK6+8csM2Tz31VB5//PHXfFAAADZtq16HblvxOnQAAJvnvVwBAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACtfWQTcwMJCenp709va2ehQAgLbVUVVV1eohRtNsNlOv19NoNFKr1Vo9DgBAW2nrM3QAAIxO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUrq2DbmBgID09Pent7W31KAAAbaujqqqq1UOMptlspl6vp9FopFartXocAIC20tZn6AAAGJ2gAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAoXFsH3cDAQHp6etLb29vqUQAA2lZHVVVVq4cYTbPZTL1eT6PRSK1Wa/U4AABtpa3P0AEAMDpBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQuDEFXX9/f3p7e9PV1ZXu7u7MmzcvDz300Kvus3z58hx99NH53d/93dRqtRx88MH5l3/5l60aGgCAl4wp6AYHB9PX15c77rgjK1euzPr16zN37tysW7dus/usWrUqRx99dG644Ybcfffdede73pXjjz8+99xzz1YPDwBA0lFVVTXendeuXZvu7u4MDg5mzpw5W7zfvvvumz//8z/P3/7t327R9s1mM/V6PY1GI7VabbzjAgBMSJO3ZudGo5EkmTZt2hbv8+KLL+a555571X2Gh4czPDy8YbnZbI5/SACACW7c/yiiqqosXrw4hx12WPbbb78t3u/zn/981q1blxNOOGGz2/T396der294zJw5c7xjAgBMeOO+5NrX15dvfOMbWb16dXbfffct2ueKK67IRz7ykVx//fU56qijNrvdps7QzZw50yVXAIBNGNcl10WLFmXFihVZtWrVFsfclVdemQ9/+MO56qqrXjXmkqSzszOdnZ3jGQ0AYLszpqCrqiqLFi3Ktddem1tuuSWzZs3aov2uuOKKfOhDH8oVV1yR4447blyDAgCwaWMKur6+vixbtizXX399urq6MjQ0lCSp1+uZOnVqkmTJkiV58skn85WvfCXJSMzNnz8/X/jCF/JHf/RHG/aZOnVq6vX6a/m1AABsl8Z0D11HR8cm11922WU55ZRTkiSnnHJKHn300dxyyy1JkiOOOCKDg4Ov2Ofkk0/Ol7/85S06rpctAQDYvK16HbptRdABAGye93IFACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADAChcWwfdwMBAenp60tvb2+pRAADaVkdVVVWrhxhNs9lMvV5Po9FIrVZr9TgAAG2lrc/QAQAwOkEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAULi2DrqBgYH09PSkt7e31aMAALStjqqqqlYPMZpms5l6vZ5Go5FardbqcQAA2kpbn6EDAGB0gg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcG0ddAMDA+np6Ulvb2+rRwEAaFsdVVVVrR5iNM1mM/V6PY1GI7VardXjAAC0lbY+QwcAwOgEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOHGFHT9/f3p7e1NV1dXuru7M2/evDz00EOj7jc4OJiDDjooU6ZMyV577ZWLL7543AMDALCxMQXd4OBg+vr6cscdd2TlypVZv3595s6dm3Xr1m12n0ceeSTHHntsDj/88Nxzzz05++yzc+qpp+aaa67Z6uEBAEg6qqqqxrvz2rVr093dncHBwcyZM2eT25x11llZsWJFHnzwwQ3rFixYkO9+97u5/fbbRz3GTTcln/98MzfcUM9DDzWyzz618Y4LADAhbdU9dI1GI0kybdq0zW5z++23Z+7cuRutO+aYY3LXXXflV7/61Sb3GR4eTrPZzD33NPPHf9zMDTc0kyR//udbMy0AwMQ07qCrqiqLFy/OYYcdlv3222+z2w0NDWX69OkbrZs+fXrWr1+fZ599dpP79Pf3p16v58AD6/nlL+tJZiZJ1qxJXnhhvBMDAExM4w66hQsX5t57780VV1wx6rYdHR0bLf/mKu9vr/+NJUuWpNFo5N//vZHXv76R5IkkySGHJJMmjXdiAICJaVxBt2jRoqxYsSI333xzdt9991fddtddd83Q0NBG65555plMnjw5u+yyyyb36ezsTK1Wy7771jI4WMvJJ4/cN7cF7QgAsN0ZU9BVVZWFCxdm+fLluemmmzJr1qxR9zn44IOzcuXKjdbdeOONmT17dnbcccdR9z/wwOSLXxz5+A1vGMu0AADbhzEFXV9fXy6//PIsW7YsXV1dGRoaytDQUH7+859v2GbJkiWZP3/+huUFCxbksccey+LFi/Pggw/mS1/6Ui699NJ89KMffe2+CgCA7diYXrZkc/e8XXbZZTnllFOSJKecckoeffTR3HLLLRv+fHBwMGeccUbuv//+zJgxI2eddVYWLFiwxUM2m83U6/U0Go3Ual62BADg5bbqdei2FUEHALB53ssVAKBwgg4AoHBFXHKtqirPPfdcurq6NnsfHwDA9qqIoAMAYPNccgUAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKNzkVh34N+/PCgDA5m3Je9m3LOiee+651Ov1Vh0eAKAIjUYjtVrtVbfpqKqq2kbzbGQsZ+iazWZmzpyZJ554YtQvaGv19vbmzjvvLP4Y2+o42+q5mUjfs21xnIn2M7OtjjORfmaSifM921bH8dy073G29981bX2GrqOjY8xPSq1W+y//IZs0adKEOMa2PE7yX//cTLTv2bY6zkT5mdlWx5lIPzPJxPqeeW7a8xjb8jiJ3zWvxj+K+C19fX0T4hjb8jjbwkT7nnlu2vM4E+l5SSbW98xz057H2JbH2RZK/p617JLrWDSbzdTr9S26hsy25blpT56X9uW5aV+em/bluRldEWfoOjs784lPfCKdnZ2tHoXf4rlpT56X9uW5aV+em/bluRldEWfoAADYvCLO0AEAsHmCDgCgcIIOAKBwgg4AoHBtH3QXXXRRZs2alSlTpuSggw7Krbfe2uqRtnv9/f3p7e1NV1dXuru7M2/evDz00EOtHotN6O/vT0dHR04//fRWj0KSJ598Mn/5l3+ZXXbZJTvvvHPe9ra35e677271WNu19evX5+Mf/3hmzZqVqVOnZq+99srf/d3f5cUXX2z1aNudVatW5fjjj8+MGTPS0dGR6667bqM/r6oqn/zkJzNjxoxMnTo1RxxxRO6///7WDNuG2jrorrzyypx++uk555xzcs899+Twww/PH//xH+fxxx9v9WjbtcHBwfT19eWOO+7IypUrs379+sydOzfr1q1r9Wi8zJ133plLLrkk+++/f6tHIclPfvKTHHroodlxxx3zzW9+Mw888EA+//nP5w1veEOrR9uufeYzn8nFF1+cCy+8MA8++GDOO++8fPazn80FF1zQ6tG2O+vWrcsBBxyQCy+8cJN/ft555+X888/PhRdemDvvvDO77rprjj766C1+G9GJrq1ftuQP//APc+CBB2bp0qUb1r31rW/NvHnz0t/f38LJeLm1a9emu7s7g4ODmTNnTqvHIcnzzz+fAw88MBdddFH+/u//Pm9729vyj//4j60ea7v2sY99LLfddpurDG3mT/7kTzJ9+vRceumlG9a9973vzc4775x//ud/buFk27eOjo5ce+21mTdvXpKRs3MzZszI6aefnrPOOitJMjw8nOnTp+czn/lM/uqv/qqF07aHtj1D98tf/jJ333135s6du9H6uXPn5tvf/naLpmJTGo1GkmTatGktnoTf6Ovry3HHHZejjjqq1aPwaytWrMjs2bPzZ3/2Z+nu7s7b3/72/NM//VOrx9ruHXbYYfnXf/3XfO9730uSfPe7383q1atz7LHHtngyXu6RRx7J0NDQRk3Q2dmZd77znZrg1ya3eoDNefbZZ/PCCy9k+vTpG62fPn16hoaGWjQVv62qqixevDiHHXZY9ttvv1aPQ5Kvfe1r+bd/+7fceeedrR6Fl3n44YezdOnSLF68OGeffXa+853v5NRTT01nZ2fmz5/f6vG2W2eddVYajUbe8pa3ZNKkSXnhhRfy6U9/On/xF3/R6tF4md/83t9UEzz22GOtGKnttG3Q/UZHR8dGy1VVvWIdrbNw4cLce++9Wb16datHIckTTzyR0047LTfeeGOmTJnS6nF4mRdffDGzZ8/OueeemyR5+9vfnvvvvz9Lly4VdC105ZVX5vLLL8+yZcuy7777Zs2aNTn99NMzY8aMnHzyya0ej9+iCTavbYPujW98YyZNmvSKs3HPPPPMKwqd1li0aFFWrFiRVatWZffdd2/1OCS5++6788wzz+Sggw7asO6FF17IqlWrcuGFF2Z4eDiTJk1q4YTbr9122y09PT0brXvrW9+aa665pkUTkSRnnnlmPvaxj+XEE09MkvzBH/xBHnvssfT39wu6NrLrrrsmGTlTt9tuu21Yrwle0rb30O2000456KCDsnLlyo3Wr1y5MoccckiLpiIZ+T+ihQsXZvny5bnpppsya9asVo/Er7373e/OfffdlzVr1mx4zJ49Ox/4wAeyZs0aMddChx566Cte3ud73/te9txzzxZNRJL87Gc/yw47bPyrcNKkSV62pM3MmjUru+6660ZN8Mtf/jKDg4Oa4Nfa9gxdkixevDgnnXRSZs+enYMPPjiXXHJJHn/88SxYsKDVo23X+vr6smzZslx//fXp6uracBa1Xq9n6tSpLZ5u+9bV1fWKexlf97rXZZdddnGPY4udccYZOeSQQ3LuuefmhBNOyHe+851ccsklueSSS1o92nbt+OOPz6c//ensscce2XfffXPPPffk/PPPz4c+9KFWj7bdef755/Mf//EfG5YfeeSRrFmzJtOmTcsee+yR008/Peeee2723nvv7L333jn33HOz88475/3vf38Lp24jVZsbGBio9txzz2qnnXaqDjzwwGpwcLDVI233kmzycdlll7V6NDbhne98Z3Xaaae1egyqqvr6179e7bffflVnZ2f1lre8pbrkkktaPdJ2r9lsVqeddlq1xx57VFOmTKn22muv6pxzzqmGh4dbPdp25+abb97k75aTTz65qqqqevHFF6tPfOIT1a677lp1dnZWc+bMqe67777WDt1G2vp16AAAGF3b3kMHAMCWEXQAAIUTdAAAhRN0AACFE3QAAIUTdAAAhRN0AACFE3QAAIUTdAAAhRN0AACFE3QAAIUTdAAAhfv/V1k6/lzS4CcAAAAASUVORK5CYII=\n",
+      "text/plain": [
+       "Graphics object consisting of 1 graphics primitive"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "list_plot(conve)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "id": "70755b4a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "Graphics object consisting of 1 graphics primitive"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "list_plot(v,aspect_ratio=1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "bc21d88d",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "de8187ff",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "91a54c73",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d6da924d",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 113,
+   "id": "a945b6b8",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Periodiska KB"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 147,
+   "id": "1ea536b5",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(15, 25, 175, 5*sqrt(7))"
+      ]
+     },
+     "execution_count": 147,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#initialisering\n",
+    "N=20\n",
+    "alpha = vector(SR,[0 for _ in range(N)])\n",
+    "a = vector([0 for _ in range(N)])\n",
+    "t = vector(SR,[0 for _ in range(N)])\n",
+    "P = vector([0 for _ in range(N)])\n",
+    "Q =  vector([0 for _ in range(N)])\n",
+    "d=7\n",
+    "\n",
+    "P[0] = 3\n",
+    "Q[0] = 5\n",
+    "c = Q[0]\n",
+    "P[0], Q[0], d = c*P[0], c*Q[0], d*c^2\n",
+    "sqrtd = sqrt(d)\n",
+    "P[0], Q[0], d, sqrtd"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "60fbe63e",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2b2044c7",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 156,
+   "id": "e8d81086",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  0 (15 +sqrt(175))/25 =   1/5*sqrt(7) + 3/5 = 1 + (1/5*sqrt(7) - 2/5)\n",
+      "  1 (10 +sqrt(175))/3 =   5/3*sqrt(7) + 10/3 = 7 + (5/3*sqrt(7) - 11/3)\n",
+      "  2 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      "  3 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      "  4 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      "  5 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      "  6 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n",
+      "  7 (13 +sqrt(175))/3 =   5/3*sqrt(7) + 13/3 = 8 + (5/3*sqrt(7) - 11/3)\n",
+      "  8 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      "  9 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      " 10 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      " 11 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      " 12 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n",
+      " 13 (13 +sqrt(175))/3 =   5/3*sqrt(7) + 13/3 = 8 + (5/3*sqrt(7) - 11/3)\n",
+      " 14 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      " 15 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      " 16 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      " 17 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      " 18 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "for k in range(N-1):\n",
+    "    alpha[k] = (P[k] + sqrtd)/Q[k]\n",
+    "    a[k] = floor(alpha[k])\n",
+    "    t[k] = alpha[k] - a[k]\n",
+    "    P[k+1] = a[k]*Q[k] - P[k]\n",
+    "    Q[k+1] = (d-P[k+1]^2)/Q[k]\n",
+    "    print(f\"{k : >3} ({P[k]} +sqrt({d}))/{Q[k]} =   { alpha[k]} = {a[k]} + ({t[k]})\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 149,
+   "id": "a32e4b8a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[1; 7, 1, 2, 1, 8, 13, 8, 1, 2, 1, 8, 13, 8, 1, 2, 1, 8, 13, 8, ...]"
+      ]
+     },
+     "execution_count": 149,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(alpha[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 150,
+   "id": "eb8056ec",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1/5*sqrt(7) - 2/5"
+      ]
+     },
+     "execution_count": 150,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "t[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 151,
+   "id": "e5f91d32",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "5/(sqrt(7) - 2)"
+      ]
+     },
+     "execution_count": 151,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "1/t[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 152,
+   "id": "2f142363",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "5/3*sqrt(7) + 10/3"
+      ]
+     },
+     "execution_count": 152,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 153,
+   "id": "b80c955d",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(10, 3)"
+      ]
+     },
+     "execution_count": 153,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "P[1], Q[1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b8271bda",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3b01a838",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "74450347",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 159,
+   "id": "32a6f9f4",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "3/2*sqrt(5) - 5/2"
+      ]
+     },
+     "execution_count": 159,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "c1=(3*sqrt(5)-5)/2\n",
+    "c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 160,
+   "id": "27b5b213",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0; 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, ...]"
+      ]
+     },
+     "execution_count": 160,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 161,
+   "id": "d05d9322",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[1; 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, ...]"
+      ]
+     },
+     "execution_count": 161,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(1/c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 163,
+   "id": "c890c08e",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1.17082039324994"
+      ]
+     },
+     "execution_count": 163,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "numerical_approx(1/c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 164,
+   "id": "d91e2d39",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2/(3*sqrt(5) - 5)"
+      ]
+     },
+     "execution_count": 164,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "1/c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 169,
+   "id": "a3e5b318",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "d1=1/c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 172,
+   "id": "d99006ca",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(x - 1.170820393249937?) * (x + 0.1708203932499369?)"
+      ]
+     },
+     "execution_count": 172,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "d1.minpoly().change_ring(QQbar).factor()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "96dd6c78",
+   "metadata": {},
    "outputs": [],
    "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "SageMath 10.2.beta9",
+   "display_name": "SageMath 10.1",
    "language": "sage",
    "name": "sagemath"
   },
@@ -854,7 +1727,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.1"
+   "version": "3.11.6"
   }
  },
  "nbformat": 4,
diff --git a/Rosen12-3.ipynb b/Rosen12-3.ipynb
index 530454db6bf5890ff5fd5054cfcd525c005b9f00..d293e34e9b442e00ab521204168fe1514655b14e 100644
--- a/Rosen12-3.ipynb
+++ b/Rosen12-3.ipynb
@@ -1,23 +1,37 @@
 {
  "cells": [
   {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "a0564571-faf2-47f7-80b8-6b93da370de6",
+   "cell_type": "markdown",
+   "id": "84d0f462",
+   "metadata": {},
+   "source": [
+    "# Rosen kap 12.3"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "82be3b57",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "# 12.3.1c"
+    "## 12.3.1c"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": null,
+   "id": "c1cc2bbd",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
    "id": "97f1a9eb-89f3-493e-a564-9ceed016b7ba",
    "metadata": {},
    "outputs": [],
    "source": [
-    "N=6\n",
+    "N=10\n",
     "alpha = vector(QQbar,[0 for _ in range(N)])\n",
     "a = vector(QQbar,[0 for _ in range(N)])\n",
     "t = vector(QQbar,[0 for _ in range(N)])"
@@ -33,7 +47,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 94,
    "id": "4c58f2d2-829b-4e8e-8b41-e18241a04c39",
    "metadata": {},
    "outputs": [],
@@ -43,32 +57,168 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
-   "id": "d239123d-8f1d-4c2a-8723-e488035f4882",
+   "execution_count": 95,
+   "id": "6a2f74bb",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2.236067977499790?"
+      ]
+     },
+     "execution_count": 95,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "id": "48a2ac86",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "x^2 - 5"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0].minpoly()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3355ee27",
    "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 89,
+   "id": "1d1f5708",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "sqrt(5)"
+      ]
+     },
+     "execution_count": 89,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[0].radical_expression()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "id": "d239123d-8f1d-4c2a-8723-e488035f4882",
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0 2.236067977499790? 2 0.2360679774997897?\n",
-      "1 4.236067977499789? 4 0.2360679774997897?\n",
-      "2 4.236067977499789? 4 0.2360679774997897?\n",
-      "3 4.23606797749979? 4 0.23606797749979?\n",
-      "4 4.2360679774998? 4 0.2360679774998?\n"
+      "    0  2.236067977499790? sqrt(5)  2 0.2360679774997897? sqrt(5) - 2\n",
+      "    1  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n",
+      "    2  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n",
+      "    3  4.23606797749979? sqrt(5) + 2  4 0.23606797749979? sqrt(5) - 2\n",
+      "    4  4.2360679774998? sqrt(5) + 2  4 0.2360679774998? sqrt(5) - 2\n",
+      "    5  4.236067977500? sqrt(5) + 2  4 0.236067977500? sqrt(5) - 2\n",
+      "    6  4.23606797750? sqrt(5) + 2  4 0.23606797750? sqrt(5) - 2\n",
+      "    7  4.236067978? sqrt(5) + 2  4 0.236067978? sqrt(5) - 2\n",
+      "    8  4.236067977499789? sqrt(5) + 2  4 0.2360679774997897? sqrt(5) - 2\n"
      ]
     }
    ],
    "source": [
+    "alpha[0] = sqrt(5)\n",
     "for k in range(N-1):\n",
     "    a[k], t[k] = floor(alpha[k]), alpha[k] - floor(alpha[k])\n",
     "    alpha[k+1] = 1 / t[k]\n",
-    "    print(k,alpha[k], a[k], t[k])"
+    "    print(f\"{k : >5}  {alpha[k] } {alpha[k].radical_expression()}  {a[k] } {t[k] } {t[k].radical_expression()}\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "id": "8bca7737",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "4.236067977499789?"
+      ]
+     },
+     "execution_count": 98,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "id": "8688c62b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "x^2 - 4*x - 1"
+      ]
+     },
+     "execution_count": 99,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[3].minpoly()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": null,
+   "id": "f64ad389",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "900adcfb",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 76,
    "id": "91e64dfc-7d82-41da-97a3-907b70fb04cf",
    "metadata": {},
    "outputs": [
@@ -78,7 +228,7 @@
        "[2; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 76,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -89,7 +239,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 77,
+   "id": "23bc6e7f",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
+      ]
+     },
+     "execution_count": 77,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(t[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 78,
    "id": "4805e461-de3a-4ad1-b68b-0ac1254a9fa2",
    "metadata": {},
    "outputs": [
@@ -99,7 +270,7 @@
        "[4; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 78,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -110,7 +281,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 18,
    "id": "74e5c6b5-4141-48a2-9ed0-5145ec962206",
    "metadata": {},
    "outputs": [
@@ -120,7 +291,7 @@
        "[0; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...]"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -139,7 +310,41 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": null,
+   "id": "5069fea6",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "48ef12c1",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "727be0d3",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 79,
+   "id": "1e494570",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# annat exempel med periodisk kb"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 91,
    "id": "5f179ca2-6fe2-4acf-8ee5-efc16c9f92d7",
    "metadata": {},
    "outputs": [
@@ -147,11 +352,15 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0 3.358898943540674? 3 0.3588989435406736?\n",
-      "1 2.786299647846891? 2 0.7862996478468912?\n",
-      "2 1.271779788708135? 1 0.2717797887081347?\n",
-      "3 3.679449471770337? 3 0.679449471770337?\n",
-      "4 1.471779788708135? 1 0.471779788708135?\n"
+      "0 3.358898943540674? sqrt(19) - 1 3 0.3588989435406736? sqrt(19) - 4\n",
+      "1 2.786299647846891? 1/3*sqrt(19) + 4/3 2 0.7862996478468912? 1/3*sqrt(19) - 2/3\n",
+      "2 1.271779788708135? 1/5*sqrt(19) + 2/5 1 0.2717797887081347? 1/5*sqrt(19) - 3/5\n",
+      "3 3.679449471770337? 1/2*sqrt(19) + 3/2 3 0.6794494717703368? 1/2*sqrt(19) - 3/2\n",
+      "4 1.471779788708135? 1/5*sqrt(19) + 3/5 1 0.4717797887081347? 1/5*sqrt(19) - 2/5\n",
+      "5 2.119632981180225? 1/3*sqrt(19) + 2/3 2 0.11963298118022452? 1/3*sqrt(19) - 4/3\n",
+      "6 8.358898943540674? sqrt(19) + 4 8 0.3588989435406736? sqrt(19) - 4\n",
+      "7 2.786299647846891? 1/3*sqrt(19) + 4/3 2 0.7862996478468912? 1/3*sqrt(19) - 2/3\n",
+      "8 1.271779788708135? 1/5*sqrt(19) + 2/5 1 0.2717797887081347? 1/5*sqrt(19) - 3/5\n"
      ]
     }
    ],
@@ -160,7 +369,7 @@
     "for k in range(N-1):\n",
     "    a[k], t[k] = floor(alpha[k]), alpha[k] - floor(alpha[k])\n",
     "    alpha[k+1] = 1 / t[k]\n",
-    "    print(k,alpha[k], a[k], t[k])"
+    "    print(k,alpha[k],alpha[k].radical_expression(), a[k], t[k], t[k].radical_expression())"
    ]
   },
   {
@@ -293,18 +502,16 @@
    "source": []
   },
   {
-   "cell_type": "code",
-   "execution_count": 1,
-   "id": "44991d26-ebed-44ad-9883-e49b90842e8e",
+   "cell_type": "markdown",
+   "id": "f9d5feb9",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "#12.3.2.a"
+    "## 12.3.2.a"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 53,
    "id": "a05c12c9-9df9-464d-b932-62a81a1d4429",
    "metadata": {},
    "outputs": [],
@@ -316,15 +523,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 56,
    "id": "7ffc1d57-0784-4119-825f-32f5459cc945",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -2), (1, -1), (2, 6), (3, 25), (4, 62), (5, 123), (6, 214), (7, 341)]"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f0(j)) for j in range(8)]"
+   ]
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 40,
    "id": "1f050106-4454-441f-ab17-869bb1e7deb9",
    "metadata": {},
    "outputs": [
@@ -336,7 +556,7 @@
        " (-0.6299605249474365? + 1.091123635971722?*I, 1)]"
       ]
      },
-     "execution_count": 5,
+     "execution_count": 40,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -347,7 +567,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 41,
    "id": "3327b8b5-8e8e-4f34-97d0-8b24e06410e2",
    "metadata": {
     "scrolled": true
@@ -359,7 +579,7 @@
        "1.259921049894873?"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 41,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -371,7 +591,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 42,
    "id": "4ddb6330-657c-4387-b902-6e055b0097b0",
    "metadata": {},
    "outputs": [
@@ -381,7 +601,7 @@
        "[1; 3, 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, ...]"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 42,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -398,7 +618,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 100,
    "id": "78e5e15c-0cc0-4dff-a8a2-5693f4b4a339",
    "metadata": {},
    "outputs": [
@@ -408,7 +628,7 @@
        "x^3 - 3*x^2 - 3*x - 1"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 100,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -420,6 +640,48 @@
     "f1"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "id": "d2cae2a9",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(-x^3 + 3*x^2 + 3*x + 1)/x^3"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f0(a0 + 1/x)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 106,
+   "id": "3d7595ea",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -1), (1, -6), (2, -11), (3, -10), (4, 3), (5, 34), (6, 89), (7, 174)]"
+      ]
+     },
+     "execution_count": 106,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f1(j)) for j in range(8)]"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 47,
@@ -445,7 +707,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 103,
    "id": "c54abfa7-4930-4a3f-9c2c-3bf05d5b32a0",
    "metadata": {},
    "outputs": [
@@ -455,7 +717,7 @@
        "[3; 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, ...]"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 103,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -467,9 +729,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 107,
    "id": "5801d40e-a2a8-46e9-bdd9-39b33d52f83f",
-   "metadata": {},
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "data": {
@@ -477,7 +741,7 @@
        "10*x^3 - 6*x^2 - 6*x - 1"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 107,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -491,7 +755,35 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 108,
+   "id": "b0a535b5",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, -1),\n",
+       " (1, -3),\n",
+       " (2, 43),\n",
+       " (3, 197),\n",
+       " (4, 519),\n",
+       " (5, 1069),\n",
+       " (6, 1907),\n",
+       " (7, 3093)]"
+      ]
+     },
+     "execution_count": 108,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[(j,f2(j)) for j in range(8)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
    "id": "c4c0bc9d-9bbf-4d8d-b063-d1dc78245ff6",
    "metadata": {},
    "outputs": [
@@ -503,7 +795,7 @@
        " (-0.2900943677742046? + 0.02403056328910778?*I, 1)]"
       ]
      },
-     "execution_count": 13,
+     "execution_count": 46,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -514,7 +806,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 47,
    "id": "c049c466-ebf9-4853-9ebf-2be2a169b069",
    "metadata": {},
    "outputs": [
@@ -524,7 +816,7 @@
        "[1; 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, 1, ...]"
       ]
      },
-     "execution_count": 14,
+     "execution_count": 47,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -536,55 +828,106 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
-   "id": "9953eae5-e5d1-48f6-bda3-e464b1a6c6c1",
+   "execution_count": 109,
+   "id": "47f04c9b",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "3*x^3 - 12*x^2 - 24*x - 10"
+       "1.180188735548410?"
       ]
      },
-     "execution_count": 16,
+     "execution_count": 109,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "a2 = 1\n",
-    "f3 = (-x)^d*f2(a2 + 1/x)\n",
-    "f3 =R(f3)\n",
-    "f3"
+    "alfa2"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
-   "id": "0a66ff0f-dc17-42ae-b8ee-6535c8541aac",
+   "execution_count": 112,
+   "id": "a988ae62",
    "metadata": {},
    "outputs": [
     {
      "data": {
+      "image/png": "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\n",
       "text/plain": [
-       "[(5.549736485782388?, 1),\n",
-       " (-0.7748682428911940? - 0.01443345604526783?*I, 1),\n",
-       " (-0.7748682428911940? + 0.01443345604526783?*I, 1)]"
+       "Graphics object consisting of 1 graphics primitive"
       ]
      },
-     "execution_count": 17,
+     "execution_count": 112,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "f3.roots()"
+    "plot(SR(f2),(x,0,3))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
-   "id": "b4fc68d2-c006-43ce-945d-f809360adb11",
+   "execution_count": null,
+   "id": "46ca4963",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "id": "9953eae5-e5d1-48f6-bda3-e464b1a6c6c1",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "3*x^3 - 12*x^2 - 24*x - 10"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "a2 = 1\n",
+    "f3 = (-x)^d*f2(a2 + 1/x)\n",
+    "f3 =R(f3)\n",
+    "f3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "id": "0a66ff0f-dc17-42ae-b8ee-6535c8541aac",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(5.549736485782388?, 1),\n",
+       " (-0.7748682428911940? - 0.01443345604526783?*I, 1),\n",
+       " (-0.7748682428911940? + 0.01443345604526783?*I, 1)]"
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f3.roots()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "id": "b4fc68d2-c006-43ce-945d-f809360adb11",
    "metadata": {},
    "outputs": [
     {
@@ -593,7 +936,7 @@
        "[5; 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, 1, 3, ...]"
       ]
      },
-     "execution_count": 18,
+     "execution_count": 50,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -605,7 +948,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 51,
    "id": "0c50aa3c-5f4c-4d34-bc2f-a5de911952b9",
    "metadata": {},
    "outputs": [
@@ -615,7 +958,7 @@
        "55*x^3 - 81*x^2 - 33*x - 3"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 51,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -629,7 +972,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 52,
    "id": "d99ecd1d-0a85-4ebb-a69b-546456037c87",
    "metadata": {},
    "outputs": [
@@ -641,7 +984,7 @@
        " (-0.1731630422019992? + 0.00043279622203746?*I, 1)]"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 52,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -711,22 +1054,79 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 55,
-   "id": "d742e1d1-7935-46ee-bd91-3037e9791149",
+   "execution_count": null,
+   "id": "01c2df55",
    "metadata": {},
    "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b300d674",
+   "metadata": {},
    "source": [
-    "#12.3.4"
+    "## 12.3.4"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 67,
+   "execution_count": 28,
+   "id": "fd9f44d8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[2; 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, 1, 1, 10, 1, 1, 12, 1, 1, ...]"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "ec=continued_fraction(exp(1))\n",
+    "ec"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "id": "6e09c672",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[2; 1, 2]"
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "ec[:3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "25a8b5f3",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
    "id": "cd9a0eb9-823a-46cf-a3ce-ce344d55ceb4",
    "metadata": {},
    "outputs": [],
    "source": [
-    "a=vector([2,1,2,1,1,4])\n",
+    "a=ec[:12]\n",
     "N=len(a)\n",
     "v=[]\n",
     "v.append(vector([1,0]))\n",
@@ -735,7 +1135,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 68,
+   "execution_count": 32,
    "id": "22b9d3bd-d905-4ecc-a841-0469335e7707",
    "metadata": {},
    "outputs": [
@@ -745,7 +1145,7 @@
        "[(1, 0), (0, 1)]"
       ]
      },
-     "execution_count": 68,
+     "execution_count": 32,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -756,7 +1156,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 72,
+   "execution_count": 33,
    "id": "a89b77b0-93bf-4c2a-82db-f1f1a7d99938",
    "metadata": {},
    "outputs": [],
@@ -767,17 +1167,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 73,
+   "execution_count": 34,
    "id": "5f5c0c05-47f0-4538-8046-1a75fe629b55",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[(1, 0), (0, 1), (1, 2), (1, 3), (3, 8), (4, 11), (7, 19), (32, 87)]"
+       "[(1, 0),\n",
+       " (0, 1),\n",
+       " (1, 2),\n",
+       " (1, 3),\n",
+       " (3, 8),\n",
+       " (4, 11),\n",
+       " (7, 19),\n",
+       " (32, 87),\n",
+       " (39, 106),\n",
+       " (71, 193),\n",
+       " (465, 1264),\n",
+       " (536, 1457),\n",
+       " (1001, 2721),\n",
+       " (8544, 23225)]"
       ]
      },
-     "execution_count": 73,
+     "execution_count": 34,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -788,17 +1201,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 77,
+   "execution_count": 35,
    "id": "b8feab8b-f3ed-477c-8ee2-9f88a8728ea2",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[2, 3, 8/3, 11/4, 19/7, 87/32]"
+       "[2,\n",
+       " 3,\n",
+       " 8/3,\n",
+       " 11/4,\n",
+       " 19/7,\n",
+       " 87/32,\n",
+       " 106/39,\n",
+       " 193/71,\n",
+       " 1264/465,\n",
+       " 1457/536,\n",
+       " 2721/1001,\n",
+       " 23225/8544]"
       ]
      },
-     "execution_count": 77,
+     "execution_count": 35,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -831,16 +1255,465 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 36,
    "id": "dcbebe47-9e94-4540-8f4d-99f1217ca1b0",
    "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAHWCAYAAAD+VRS3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkU0lEQVR4nO3df5DddX3v8deSwCbonmOD3UAkMKFCdaGgkLXlV0SEMIVSM1dLqZaAP+407Sb8yMjFgFO1t7IVlanCEoZexGsxyAAB4hUtuQU2BOEKlAgFBq38FFkIVc+BqKuB7/1jNRBJ2OyG5pzP5vGYOTP7/eb73e9797DZJ9/vN+d0VFVVBQCAYu3Q6gEAANg6gg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHBFBF1VVWk2m/EayAAAr1RE0D333HOp1+t57rnnWj0KAEDbKSLoAADYPEEHAFC4MQXd0qVLs//++6dWq6VWq+Xggw/ON7/5zVfdZ3BwMAcddFCmTJmSvfbaKxdffPFWDQwAwMbGFHS77757/uEf/iF33XVX7rrrrhx55JF5z3vek/vvv3+T2z/yyCM59thjc/jhh+eee+7J2WefnVNPPTXXXHPNazI8AABJR7WV/3R02rRp+exnP5sPf/jDr/izs846KytWrMiDDz64Yd2CBQvy3e9+N7fffvsWH6PZbKZer6fRaKRWq23NuC33gx8ka9cmBx6Y7LRTq6cBACaCcd9D98ILL+RrX/ta1q1bl4MPPniT29x+++2ZO3fuRuuOOeaY3HXXXfnVr3413kMX65JLkn32SQ4+ODn88ORnP2v1RADARDDmoLvvvvvy+te/Pp2dnVmwYEGuvfba9PT0bHLboaGhTJ8+faN106dPz/r16/Pss89u9hjDw8NpNpsbPSaCj388efHFkY+/853kuutaOg4AMEGMOeh+//d/P2vWrMkdd9yRv/7rv87JJ5+cBx54YLPbd3R0bLT8myu8v73+5fr7+1Ov1zc8Zs6cOdYx21Jn56svAwCMx5iDbqeddsqb3/zmzJ49O/39/TnggAPyhS98YZPb7rrrrhkaGtpo3TPPPJPJkydnl1122ewxlixZkkajseHxxBNPjHXMtnTxxcnrXjfy8Xvfm8yb19JxAIAJYvLWfoKqqjI8PLzJPzv44IPz9a9/faN1N954Y2bPnp0dd9xxs5+zs7MznRPw9NVxxyXPPps8/3zyxje2ehoAYKIY0xm6s88+O7feemseffTR3HfffTnnnHNyyy235AMf+ECSkTNr8+fP37D9ggUL8thjj2Xx4sV58MEH86UvfSmXXnppPvrRj762X0VBpkwRcwDAa2tMZ+iefvrpnHTSSXnqqadSr9ez//7751vf+laOPvroJMlTTz2Vxx9/fMP2s2bNyg033JAzzjgjAwMDmTFjRr74xS/mve9972v7VQAAbMe2+nXotoWJ9Dp0AACvNe/lCgBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFC4tg66gYGB9PT0pLe3t9WjAAC0rY6qqqpWDzGaZrOZer2eRqORWq3W6nEAANpKW5+hAwBgdIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHBtHXQDAwPp6elJb29vq0cBAGhbHVVVVa0eYjTNZjP1ej2NRiO1Wq3V4wAAtJW2PkMHAMDoBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOHaOugGBgbS09OT3t7eVo8CANC2Oqqqqlo9xGiazWbq9XoajUZqtVqrxwEAaCttfYYOAIDRCToAgMIJOgCAwgk6AIDCCToAgMIJOgCAwgk6AIDCCToAgMIJOgCAwgk6AIDCCToAgMIJOgCAwgk6AIDCCToAgMKNKej6+/vT29ubrq6udHd3Z968eXnooYdG3e+rX/1qDjjggOy8887Zbbfd8sEPfjD/+Z//Oe6hAQB4yZiCbnBwMH19fbnjjjuycuXKrF+/PnPnzs26des2u8/q1aszf/78fPjDH87999+fq666KnfeeWc+8pGPbPXwAAAkHVVVVePdee3atenu7s7g4GDmzJmzyW0+97nPZenSpfnBD36wYd0FF1yQ8847L0888cQWHafZbKZer6fRaKRWq413XACACWmr7qFrNBpJkmnTpm12m0MOOSQ//OEPc8MNN6Sqqjz99NO5+uqrc9xxx212n+Hh4TSbzY0eAABs2rjP0FVVlfe85z35yU9+kltvvfVVt7366qvzwQ9+ML/4xS+yfv36/Omf/mmuvvrq7Ljjjpvc/pOf/GQ+9alPvWK9M3QAAK807qDr6+vLN77xjaxevTq77777Zrd74IEHctRRR+WMM87IMccck6eeeipnnnlment7c+mll25yn+Hh4QwPD29YbjabmTlzpqADANiEcQXdokWLct1112XVqlWZNWvWq2570kkn5Re/+EWuuuqqDetWr16dww8/PD/60Y+y2267jXo899ABAGzemO6hq6oqCxcuzPLly3PTTTeNGnNJ8rOf/Sw77LDxYSZNmrTh8wEAsHXGFHR9fX25/PLLs2zZsnR1dWVoaChDQ0P5+c9/vmGbJUuWZP78+RuWjz/++CxfvjxLly7Nww8/nNtuuy2nnnpq3vGOd2TGjBmv3VcCALCdGtMl146Ojk2uv+yyy3LKKackSU455ZQ8+uijueWWWzb8+QUXXJCLL744jzzySN7whjfkyCOPzGc+85m86U1v2qLjuuQKALB5W/U6dNuKoAMA2Dzv5QoAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBB7/24x8njUarpwCAsRN0kOTjH0922SWZNi05//xWTwMAY9NRVVXV6iFG02w2U6/X02g0UqvVWj0OE8z3v5/ss89Lyx0dydq1I4EHACVo6zN0AwMD6enpSW9vb6tHYQIbHt54uaqSX/2qNbMAwHg4QwdJTjopufzykY9POy35x39s6TgAMCaCDn7tnnuSyZOTP/iDVk8CAGMzudUDQLt4+9tbPQEAjE9b30MHAMDoBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4bxsCdDWli0becyalZx7btLV1eqJxu+FF5Lly5Nf/CL5b/8ted3rWj3R1rnqquTuu5N3vSs55phWT7N1vv/95J//eeQt//76r5Oddmr1ROP3y18mF1888haGJ5208Vsbluj//t/k5ptHXlrqfe9r9TRb56mnkn/6p6SzM/mbv3lt/z7zwsJA27r55uTII19aPuGE5MorWzfP1nrf+5Jrrhn5+KCDkttuG/mLvURLl478QvqN665L3vOelo2zVZ58Mtl//+THPx5Zft/7RmK1VCee+NLPye/8TnLvvcnu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CtfWQTcwMJCenp709va2ehQAgLbVUVVV1eohRtNsNlOv19NoNFKr1Vo9DgBAW2nrM3QAAIxO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRuTEHX39+f3t7edHV1pbu7O/PmzctDDz20xfvfdtttmTx5ct72treNdU4AADZjTEE3ODiYvr6+3HHHHVm5cmXWr1+fuXPnZt26daPu22g0Mn/+/Lz73e8e97AAALxSR1VV1Xh3Xrt2bbq7uzM4OJg5c+a86rYnnnhi9t5770yaNCnXXXdd1qxZs8XHaTabqdfraTQaqdVq4x0XAGBC2qp76BqNRpJk2rRpr7rdZZddlh/84Af5xCc+sTWHAwBgEyaPd8eqqrJ48eIcdthh2W+//Ta73fe///187GMfy6233prJk7fscMPDwxkeHt6w3Gw2xzsmAMCEN+4zdAsXLsy9996bK664YrPbvPDCC3n/+9+fT33qU9lnn322+HP39/enXq9veMycOXO8YwIATHjjuodu0aJFue6667Jq1arMmjVrs9v99Kc/ze/8zu9k0qRJG9a9+OKLqaoqkyZNyo033pgjjzzyFftt6gzdzJkz3UMHALAJY7rkWlVVFi1alGuvvTa33HLLq8ZcktRqtdx3330brbvoooty00035eqrr97s/p2dnens7BzLaAAA260xBV1fX1+WLVuW66+/Pl1dXRkaGkqS1Ov1TJ06NUmyZMmSPPnkk/nKV76SHXbY4RX313V3d2fKlCmvet8dAABbbkz30C1dujSNRiNHHHFEdttttw2PK6+8csM2Tz31VB5//PHXfFAAADZtq16HblvxOnQAAJvnvVwBAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACifoAAAKJ+gAAAon6AAACtfWQTcwMJCenp709va2ehQAgLbVUVVV1eohRtNsNlOv19NoNFKr1Vo9DgBAW2nrM3QAAIxO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUTtABABRO0AEAFE7QAQAUrq2DbmBgID09Pent7W31KAAAbaujqqqq1UOMptlspl6vp9FopFartXocAIC20tZn6AAAGJ2gAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAoXFsH3cDAQHp6etLb29vqUQAA2lZHVVVVq4cYTbPZTL1eT6PRSK1Wa/U4AABtpa3P0AEAMDpBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQuDEFXX9/f3p7e9PV1ZXu7u7MmzcvDz300Kvus3z58hx99NH53d/93dRqtRx88MH5l3/5l60aGgCAl4wp6AYHB9PX15c77rgjK1euzPr16zN37tysW7dus/usWrUqRx99dG644Ybcfffdede73pXjjz8+99xzz1YPDwBA0lFVVTXendeuXZvu7u4MDg5mzpw5W7zfvvvumz//8z/P3/7t327R9s1mM/V6PY1GI7VabbzjAgBMSJO3ZudGo5EkmTZt2hbv8+KLL+a555571X2Gh4czPDy8YbnZbI5/SACACW7c/yiiqqosXrw4hx12WPbbb78t3u/zn/981q1blxNOOGGz2/T396der294zJw5c7xjAgBMeOO+5NrX15dvfOMbWb16dXbfffct2ueKK67IRz7ykVx//fU56qijNrvdps7QzZw50yVXAIBNGNcl10WLFmXFihVZtWrVFsfclVdemQ9/+MO56qqrXjXmkqSzszOdnZ3jGQ0AYLszpqCrqiqLFi3Ktddem1tuuSWzZs3aov2uuOKKfOhDH8oVV1yR4447blyDAgCwaWMKur6+vixbtizXX399urq6MjQ0lCSp1+uZOnVqkmTJkiV58skn85WvfCXJSMzNnz8/X/jCF/JHf/RHG/aZOnVq6vX6a/m1AABsl8Z0D11HR8cm11922WU55ZRTkiSnnHJKHn300dxyyy1JkiOOOCKDg4Ov2Ofkk0/Ol7/85S06rpctAQDYvK16HbptRdABAGye93IFACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADAChcWwfdwMBAenp60tvb2+pRAADaVkdVVVWrhxhNs9lMvV5Po9FIrVZr9TgAAG2lrc/QAQAwOkEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAUDhBBwBQOEEHAFA4QQcAULi2DrqBgYH09PSkt7e31aMAALStjqqqqlYPMZpms5l6vZ5Go5FardbqcQAA2kpbn6EDAGB0gg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcIIOAKBwgg4AoHCCDgCgcG0ddAMDA+np6Ulvb2+rRwEAaFsdVVVVrR5iNM1mM/V6PY1GI7VardXjAAC0lbY+QwcAwOgEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOEEHQBA4QQdAEDhBB0AQOHGFHT9/f3p7e1NV1dXuru7M2/evDz00EOj7jc4OJiDDjooU6ZMyV577ZWLL7543AMDALCxMQXd4OBg+vr6cscdd2TlypVZv3595s6dm3Xr1m12n0ceeSTHHntsDj/88Nxzzz05++yzc+qpp+aaa67Z6uEBAEg6qqqqxrvz2rVr093dncHBwcyZM2eT25x11llZsWJFHnzwwQ3rFixYkO9+97u5/fbbRz3GTTcln/98MzfcUM9DDzWyzz618Y4LADAhbdU9dI1GI0kybdq0zW5z++23Z+7cuRutO+aYY3LXXXflV7/61Sb3GR4eTrPZzD33NPPHf9zMDTc0kyR//udbMy0AwMQ07qCrqiqLFy/OYYcdlv3222+z2w0NDWX69OkbrZs+fXrWr1+fZ599dpP79Pf3p16v58AD6/nlL+tJZiZJ1qxJXnhhvBMDAExM4w66hQsX5t57780VV1wx6rYdHR0bLf/mKu9vr/+NJUuWpNFo5N//vZHXv76R5IkkySGHJJMmjXdiAICJaVxBt2jRoqxYsSI333xzdt9991fddtddd83Q0NBG65555plMnjw5u+yyyyb36ezsTK1Wy7771jI4WMvJJ4/cN7cF7QgAsN0ZU9BVVZWFCxdm+fLluemmmzJr1qxR9zn44IOzcuXKjdbdeOONmT17dnbcccdR9z/wwOSLXxz5+A1vGMu0AADbhzEFXV9fXy6//PIsW7YsXV1dGRoaytDQUH7+859v2GbJkiWZP3/+huUFCxbksccey+LFi/Pggw/mS1/6Ui699NJ89KMffe2+CgCA7diYXrZkc/e8XXbZZTnllFOSJKecckoeffTR3HLLLRv+fHBwMGeccUbuv//+zJgxI2eddVYWLFiwxUM2m83U6/U0Go3Ual62BADg5bbqdei2FUEHALB53ssVAKBwgg4AoHBFXHKtqirPPfdcurq6NnsfHwDA9qqIoAMAYPNccgUAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKJygAwAonKADACicoAMAKNzkVh34N+/PCgDA5m3Je9m3LOiee+651Ov1Vh0eAKAIjUYjtVrtVbfpqKqq2kbzbGQsZ+iazWZmzpyZJ554YtQvaGv19vbmzjvvLP4Y2+o42+q5mUjfs21xnIn2M7OtjjORfmaSifM921bH8dy073G29981bX2GrqOjY8xPSq1W+y//IZs0adKEOMa2PE7yX//cTLTv2bY6zkT5mdlWx5lIPzPJxPqeeW7a8xjb8jiJ3zWvxj+K+C19fX0T4hjb8jjbwkT7nnlu2vM4E+l5SSbW98xz057H2JbH2RZK/p617JLrWDSbzdTr9S26hsy25blpT56X9uW5aV+em/bluRldEWfoOjs784lPfCKdnZ2tHoXf4rlpT56X9uW5aV+em/bluRldEWfoAADYvCLO0AEAsHmCDgCgcIIOAKBwgg4AoHBtH3QXXXRRZs2alSlTpuSggw7Krbfe2uqRtnv9/f3p7e1NV1dXuru7M2/evDz00EOtHotN6O/vT0dHR04//fRWj0KSJ598Mn/5l3+ZXXbZJTvvvHPe9ra35e677271WNu19evX5+Mf/3hmzZqVqVOnZq+99srf/d3f5cUXX2z1aNudVatW5fjjj8+MGTPS0dGR6667bqM/r6oqn/zkJzNjxoxMnTo1RxxxRO6///7WDNuG2jrorrzyypx++uk555xzcs899+Twww/PH//xH+fxxx9v9WjbtcHBwfT19eWOO+7IypUrs379+sydOzfr1q1r9Wi8zJ133plLLrkk+++/f6tHIclPfvKTHHroodlxxx3zzW9+Mw888EA+//nP5w1veEOrR9uufeYzn8nFF1+cCy+8MA8++GDOO++8fPazn80FF1zQ6tG2O+vWrcsBBxyQCy+8cJN/ft555+X888/PhRdemDvvvDO77rprjj766C1+G9GJrq1ftuQP//APc+CBB2bp0qUb1r31rW/NvHnz0t/f38LJeLm1a9emu7s7g4ODmTNnTqvHIcnzzz+fAw88MBdddFH+/u//Pm9729vyj//4j60ea7v2sY99LLfddpurDG3mT/7kTzJ9+vRceumlG9a9973vzc4775x//ud/buFk27eOjo5ce+21mTdvXpKRs3MzZszI6aefnrPOOitJMjw8nOnTp+czn/lM/uqv/qqF07aHtj1D98tf/jJ333135s6du9H6uXPn5tvf/naLpmJTGo1GkmTatGktnoTf6Ovry3HHHZejjjqq1aPwaytWrMjs2bPzZ3/2Z+nu7s7b3/72/NM//VOrx9ruHXbYYfnXf/3XfO9730uSfPe7383q1atz7LHHtngyXu6RRx7J0NDQRk3Q2dmZd77znZrg1ya3eoDNefbZZ/PCCy9k+vTpG62fPn16hoaGWjQVv62qqixevDiHHXZY9ttvv1aPQ5Kvfe1r+bd/+7fceeedrR6Fl3n44YezdOnSLF68OGeffXa+853v5NRTT01nZ2fmz5/f6vG2W2eddVYajUbe8pa3ZNKkSXnhhRfy6U9/On/xF3/R6tF4md/83t9UEzz22GOtGKnttG3Q/UZHR8dGy1VVvWIdrbNw4cLce++9Wb16datHIckTTzyR0047LTfeeGOmTJnS6nF4mRdffDGzZ8/OueeemyR5+9vfnvvvvz9Lly4VdC105ZVX5vLLL8+yZcuy7777Zs2aNTn99NMzY8aMnHzyya0ej9+iCTavbYPujW98YyZNmvSKs3HPPPPMKwqd1li0aFFWrFiRVatWZffdd2/1OCS5++6788wzz+Sggw7asO6FF17IqlWrcuGFF2Z4eDiTJk1q4YTbr9122y09PT0brXvrW9+aa665pkUTkSRnnnlmPvaxj+XEE09MkvzBH/xBHnvssfT39wu6NrLrrrsmGTlTt9tuu21Yrwle0rb30O2000456KCDsnLlyo3Wr1y5MoccckiLpiIZ+T+ihQsXZvny5bnpppsya9asVo/Er7373e/OfffdlzVr1mx4zJ49Ox/4wAeyZs0aMddChx566Cte3ud73/te9txzzxZNRJL87Gc/yw47bPyrcNKkSV62pM3MmjUru+6660ZN8Mtf/jKDg4Oa4Nfa9gxdkixevDgnnXRSZs+enYMPPjiXXHJJHn/88SxYsKDVo23X+vr6smzZslx//fXp6uracBa1Xq9n6tSpLZ5u+9bV1fWKexlf97rXZZdddnGPY4udccYZOeSQQ3LuuefmhBNOyHe+851ccsklueSSS1o92nbt+OOPz6c//ensscce2XfffXPPPffk/PPPz4c+9KFWj7bdef755/Mf//EfG5YfeeSRrFmzJtOmTcsee+yR008/Peeee2723nvv7L333jn33HOz88475/3vf38Lp24jVZsbGBio9txzz2qnnXaqDjzwwGpwcLDVI233kmzycdlll7V6NDbhne98Z3Xaaae1egyqqvr6179e7bffflVnZ2f1lre8pbrkkktaPdJ2r9lsVqeddlq1xx57VFOmTKn22muv6pxzzqmGh4dbPdp25+abb97k75aTTz65qqqqevHFF6tPfOIT1a677lp1dnZWc+bMqe67777WDt1G2vp16AAAGF3b3kMHAMCWEXQAAIUTdAAAhRN0AACFE3QAAIUTdAAAhRN0AACFE3QAAIUTdAAAhRN0AACFE3QAAIUTdAAAhfv/V1k6/lzS4CcAAAAASUVORK5CYII=\n",
+      "text/plain": [
+       "Graphics object consisting of 1 graphics primitive"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "list_plot(conve)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "id": "70755b4a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "Graphics object consisting of 1 graphics primitive"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "list_plot(v,aspect_ratio=1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "bc21d88d",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "de8187ff",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "91a54c73",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d6da924d",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 113,
+   "id": "a945b6b8",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Periodiska KB"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 147,
+   "id": "1ea536b5",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(15, 25, 175, 5*sqrt(7))"
+      ]
+     },
+     "execution_count": 147,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#initialisering\n",
+    "N=20\n",
+    "alpha = vector(SR,[0 for _ in range(N)])\n",
+    "a = vector([0 for _ in range(N)])\n",
+    "t = vector(SR,[0 for _ in range(N)])\n",
+    "P = vector([0 for _ in range(N)])\n",
+    "Q =  vector([0 for _ in range(N)])\n",
+    "d=7\n",
+    "\n",
+    "P[0] = 3\n",
+    "Q[0] = 5\n",
+    "c = Q[0]\n",
+    "P[0], Q[0], d = c*P[0], c*Q[0], d*c^2\n",
+    "sqrtd = sqrt(d)\n",
+    "P[0], Q[0], d, sqrtd"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "60fbe63e",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2b2044c7",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 156,
+   "id": "e8d81086",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  0 (15 +sqrt(175))/25 =   1/5*sqrt(7) + 3/5 = 1 + (1/5*sqrt(7) - 2/5)\n",
+      "  1 (10 +sqrt(175))/3 =   5/3*sqrt(7) + 10/3 = 7 + (5/3*sqrt(7) - 11/3)\n",
+      "  2 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      "  3 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      "  4 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      "  5 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      "  6 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n",
+      "  7 (13 +sqrt(175))/3 =   5/3*sqrt(7) + 13/3 = 8 + (5/3*sqrt(7) - 11/3)\n",
+      "  8 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      "  9 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      " 10 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      " 11 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      " 12 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n",
+      " 13 (13 +sqrt(175))/3 =   5/3*sqrt(7) + 13/3 = 8 + (5/3*sqrt(7) - 11/3)\n",
+      " 14 (11 +sqrt(175))/18 =   5/18*sqrt(7) + 11/18 = 1 + (5/18*sqrt(7) - 7/18)\n",
+      " 15 (7 +sqrt(175))/7 =   5/7*sqrt(7) + 1 = 2 + (5/7*sqrt(7) - 1)\n",
+      " 16 (7 +sqrt(175))/18 =   5/18*sqrt(7) + 7/18 = 1 + (5/18*sqrt(7) - 11/18)\n",
+      " 17 (11 +sqrt(175))/3 =   5/3*sqrt(7) + 11/3 = 8 + (5/3*sqrt(7) - 13/3)\n",
+      " 18 (13 +sqrt(175))/2 =   5/2*sqrt(7) + 13/2 = 13 + (5/2*sqrt(7) - 13/2)\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "for k in range(N-1):\n",
+    "    alpha[k] = (P[k] + sqrtd)/Q[k]\n",
+    "    a[k] = floor(alpha[k])\n",
+    "    t[k] = alpha[k] - a[k]\n",
+    "    P[k+1] = a[k]*Q[k] - P[k]\n",
+    "    Q[k+1] = (d-P[k+1]^2)/Q[k]\n",
+    "    print(f\"{k : >3} ({P[k]} +sqrt({d}))/{Q[k]} =   { alpha[k]} = {a[k]} + ({t[k]})\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 149,
+   "id": "a32e4b8a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[1; 7, 1, 2, 1, 8, 13, 8, 1, 2, 1, 8, 13, 8, 1, 2, 1, 8, 13, 8, ...]"
+      ]
+     },
+     "execution_count": 149,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(alpha[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 150,
+   "id": "eb8056ec",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1/5*sqrt(7) - 2/5"
+      ]
+     },
+     "execution_count": 150,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "t[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 151,
+   "id": "e5f91d32",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "5/(sqrt(7) - 2)"
+      ]
+     },
+     "execution_count": 151,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "1/t[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 152,
+   "id": "2f142363",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "5/3*sqrt(7) + 10/3"
+      ]
+     },
+     "execution_count": 152,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "alpha[1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 153,
+   "id": "b80c955d",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(10, 3)"
+      ]
+     },
+     "execution_count": 153,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "P[1], Q[1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b8271bda",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3b01a838",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "74450347",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 159,
+   "id": "32a6f9f4",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "3/2*sqrt(5) - 5/2"
+      ]
+     },
+     "execution_count": 159,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "c1=(3*sqrt(5)-5)/2\n",
+    "c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 160,
+   "id": "27b5b213",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0; 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, ...]"
+      ]
+     },
+     "execution_count": 160,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 161,
+   "id": "d05d9322",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[1; 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, ...]"
+      ]
+     },
+     "execution_count": 161,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "continued_fraction(1/c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 163,
+   "id": "c890c08e",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1.17082039324994"
+      ]
+     },
+     "execution_count": 163,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "numerical_approx(1/c1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 164,
+   "id": "d91e2d39",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2/(3*sqrt(5) - 5)"
+      ]
+     },
+     "execution_count": 164,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "1/c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 169,
+   "id": "a3e5b318",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "d1=1/c1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 172,
+   "id": "d99006ca",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(x - 1.170820393249937?) * (x + 0.1708203932499369?)"
+      ]
+     },
+     "execution_count": 172,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "d1.minpoly().change_ring(QQbar).factor()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "96dd6c78",
+   "metadata": {},
    "outputs": [],
    "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "SageMath 10.2.beta9",
+   "display_name": "SageMath 10.1",
    "language": "sage",
    "name": "sagemath"
   },
@@ -854,7 +1727,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.1"
+   "version": "3.11.6"
   }
  },
  "nbformat": 4,