Просмотр исходного кода

update jupyter worksheet with algebraic valuation function

narodnik 4 лет назад
Родитель
Сommit
23d87f4f3f
1 измененных файлов с 81 добавлено и 0 удалено
  1. 81 0
      script/research/ec/valuation.ipynb

+ 81 - 0
script/research/ec/valuation.ipynb

@@ -538,6 +538,87 @@
     "assert f(Px, Py) != 0\n",
     "assert b0(Px, Py) == 0\n"
    ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d9a8af14",
+   "metadata": {},
+   "source": [
+    "# Abstract Algebraic Method\n",
+    "\n",
+    "See Knapp page 350"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "id": "ce94255a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(True, False)"
+      ]
+     },
+     "execution_count": 22,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "R.<x> = FunctionField(GF(11)); _.<Y> = R[]\n",
+    "K.<y> = R.extension(Y^2 - x^3 - 4*x)\n",
+    "P = (2, 4)\n",
+    "I = K.maximal_order().ideal(x - 2, y - 4)\n",
+    "# (x - 2) in I^2 should be false if I = <x - 2>\n",
+    "x - 2 in I, x - 2 in I^2\n",
+    "# But for some reason I need y - 4 as well..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "2a10bcd6",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(True, True, False)"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f = y - 2*x\n",
+    "f in I, f in I^2, f in I^3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "id": "73406fd6",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2"
+      ]
+     },
+     "execution_count": 20,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "d = [i for i in range(1, 10) if f in I^i]\n",
+    "max(d)"
+   ]
   }
  ],
  "metadata": {