|
|
@@ -551,7 +551,7 @@
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 22,
|
|
|
+ "execution_count": 13,
|
|
|
"id": "ce94255a",
|
|
|
"metadata": {},
|
|
|
"outputs": [
|
|
|
@@ -561,7 +561,7 @@
|
|
|
"(True, False)"
|
|
|
]
|
|
|
},
|
|
|
- "execution_count": 22,
|
|
|
+ "execution_count": 13,
|
|
|
"metadata": {},
|
|
|
"output_type": "execute_result"
|
|
|
}
|
|
|
@@ -570,15 +570,85 @@
|
|
|
"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..."
|
|
|
+ "o = R.maximal_order()\n",
|
|
|
+ "O = K.maximal_order()\n",
|
|
|
+ "M = o.ideal(x - 2)\n",
|
|
|
+ "# if I = <x - 2> then (x - 2) in I^2 is false \n",
|
|
|
+ "x - 2 in M, x - 2 in M^2"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "id": "052087b6",
|
|
|
+ "metadata": {},
|
|
|
+ "source": [
|
|
|
+ "Also verify that the point is ordinary (nonsingular)"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 17,
|
|
|
+ "execution_count": 8,
|
|
|
+ "id": "1a218ce1",
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/plain": [
|
|
|
+ "True"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 8,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "M.is_prime()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 14,
|
|
|
+ "id": "e737ac7f",
|
|
|
+ "metadata": {
|
|
|
+ "scrolled": true
|
|
|
+ },
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/plain": [
|
|
|
+ "[(Ideal (x + 9, y + 4) of Maximal order of Function field in y defined by y^2 + 10*x^3 + 7*x,\n",
|
|
|
+ " 1,\n",
|
|
|
+ " 1),\n",
|
|
|
+ " (Ideal (x + 9, y + 7) of Maximal order of Function field in y defined by y^2 + 10*x^3 + 7*x,\n",
|
|
|
+ " 1,\n",
|
|
|
+ " 1)]"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 14,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "O.decomposition(M)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 19,
|
|
|
+ "id": "867a9f68",
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "# I can't seem to use M for f\n",
|
|
|
+ "# This is a workaround until I find a fix\n",
|
|
|
+ "M = O.ideal(x - 2, y - 4)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 20,
|
|
|
"id": "2a10bcd6",
|
|
|
"metadata": {},
|
|
|
"outputs": [
|
|
|
@@ -588,19 +658,19 @@
|
|
|
"(True, True, False)"
|
|
|
]
|
|
|
},
|
|
|
- "execution_count": 17,
|
|
|
+ "execution_count": 20,
|
|
|
"metadata": {},
|
|
|
"output_type": "execute_result"
|
|
|
}
|
|
|
],
|
|
|
"source": [
|
|
|
"f = y - 2*x\n",
|
|
|
- "f in I, f in I^2, f in I^3"
|
|
|
+ "f in M, f in M^2, f in M^3"
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
"cell_type": "code",
|
|
|
- "execution_count": 20,
|
|
|
+ "execution_count": 21,
|
|
|
"id": "73406fd6",
|
|
|
"metadata": {},
|
|
|
"outputs": [
|
|
|
@@ -610,13 +680,13 @@
|
|
|
"2"
|
|
|
]
|
|
|
},
|
|
|
- "execution_count": 20,
|
|
|
+ "execution_count": 21,
|
|
|
"metadata": {},
|
|
|
"output_type": "execute_result"
|
|
|
}
|
|
|
],
|
|
|
"source": [
|
|
|
- "d = [i for i in range(1, 10) if f in I^i]\n",
|
|
|
+ "d = [i for i in range(1, 10) if f in M^i]\n",
|
|
|
"max(d)"
|
|
|
]
|
|
|
}
|