jth_component of form; poczatek bazy de Rhama
This commit is contained in:
parent
8778f1f84b
commit
200e3a1990
@ -2,9 +2,22 @@
|
|||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 219,
|
"execution_count": 87,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"ename": "NameError",
|
||||||
|
"evalue": "name 'holo' is not defined",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[0;32m<ipython-input-87-fb238ae380ad>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mclass\u001b[0m \u001b[0msuperelliptic\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPolynomialRing\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mGF\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'x'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mR\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_first_ngens\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpolynomial\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mR\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexponent\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||||||
|
"\u001b[0;32m<ipython-input-87-fb238ae380ad>\u001b[0m in \u001b[0;36msuperelliptic\u001b[0;34m()\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mInteger\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0mholo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbaza_holo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 55\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mInteger\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mholo\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 56\u001b[0m \u001b[0mbaza\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mholo\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
||||||
|
"\u001b[0;31mNameError\u001b[0m: name 'holo' is not defined"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"class superelliptic:\n",
|
"class superelliptic:\n",
|
||||||
" def __init__(self, f, m, p):\n",
|
" def __init__(self, f, m, p):\n",
|
||||||
@ -13,7 +26,6 @@
|
|||||||
" self.exponent = m\n",
|
" self.exponent = m\n",
|
||||||
" self.characteristic = p\n",
|
" self.characteristic = p\n",
|
||||||
" \n",
|
" \n",
|
||||||
" \n",
|
|
||||||
" def __repr__(self):\n",
|
" def __repr__(self):\n",
|
||||||
" f = self.polynomial\n",
|
" f = self.polynomial\n",
|
||||||
" m = self.exponent\n",
|
" m = self.exponent\n",
|
||||||
@ -36,8 +48,8 @@
|
|||||||
" basis = {}\n",
|
" basis = {}\n",
|
||||||
" if j == 'all':\n",
|
" if j == 'all':\n",
|
||||||
" k = 0\n",
|
" k = 0\n",
|
||||||
" for i in range(1, r):\n",
|
" for j in range(1, m):\n",
|
||||||
" for j in range(1, m):\n",
|
" for i in range(1, r):\n",
|
||||||
" if (r*j - m*i >= delta):\n",
|
" if (r*j - m*i >= delta):\n",
|
||||||
" basis[k] = superelliptic_form(C, x^(i-1)/y^j)\n",
|
" basis[k] = superelliptic_form(C, x^(i-1)/y^j)\n",
|
||||||
" k = k+1\n",
|
" k = k+1\n",
|
||||||
@ -49,7 +61,21 @@
|
|||||||
" basis[k] = superelliptic_form(C, x^(i-1)/y^j)\n",
|
" basis[k] = superelliptic_form(C, x^(i-1)/y^j)\n",
|
||||||
" k = k+1\n",
|
" k = k+1\n",
|
||||||
" return basis\n",
|
" return basis\n",
|
||||||
" \n",
|
" \n",
|
||||||
|
" def basis_de_rham(self, j = 'all'):\n",
|
||||||
|
" f = self.polynomial\n",
|
||||||
|
" m = self.exponent\n",
|
||||||
|
" p = self.characteristic\n",
|
||||||
|
" r = f.degree()\n",
|
||||||
|
" delta = GCD(r, m)\n",
|
||||||
|
" #?????\n",
|
||||||
|
" basis = {}\n",
|
||||||
|
" if j == 'all':\n",
|
||||||
|
" for j in range(1, m):\n",
|
||||||
|
" holo = baza_holo(m, f, j, p)\n",
|
||||||
|
" for k in range(0, len(holo)):\n",
|
||||||
|
" baza[k] = holo[k]\n",
|
||||||
|
" \n",
|
||||||
"def reduction(C, g):\n",
|
"def reduction(C, g):\n",
|
||||||
" p = C.characteristic\n",
|
" p = C.characteristic\n",
|
||||||
" R.<x, y> = PolynomialRing(GF(p), 2)\n",
|
" R.<x, y> = PolynomialRing(GF(p), 2)\n",
|
||||||
@ -69,7 +95,7 @@
|
|||||||
" \n",
|
" \n",
|
||||||
" while(g.degree(R(y)) >= m):\n",
|
" while(g.degree(R(y)) >= m):\n",
|
||||||
" d = g.degree(R(y))\n",
|
" d = g.degree(R(y))\n",
|
||||||
" G = g.coefficient(R(y^d))\n",
|
" G = coff(g, d)\n",
|
||||||
" i = floor(d/m)\n",
|
" i = floor(d/m)\n",
|
||||||
" g = g - G*y^d + f^i * y^(d%m) *G\n",
|
" g = g - G*y^d + f^i * y^(d%m) *G\n",
|
||||||
" \n",
|
" \n",
|
||||||
@ -91,9 +117,12 @@
|
|||||||
" \n",
|
" \n",
|
||||||
" g = R3(g)\n",
|
" g = R3(g)\n",
|
||||||
" for j in range(0, m):\n",
|
" for j in range(0, m):\n",
|
||||||
" G = g.coefficients(sparse = false)[j]\n",
|
" if j==0:\n",
|
||||||
" g1 += RR(y^(j-m)*f*G)\n",
|
" G = coff(g, 0)\n",
|
||||||
" \n",
|
" g1 += G\n",
|
||||||
|
" else:\n",
|
||||||
|
" G = coff(g, j)\n",
|
||||||
|
" g1 += RR(y^(j-m)*f*G)\n",
|
||||||
" return(g1)\n",
|
" return(g1)\n",
|
||||||
" \n",
|
" \n",
|
||||||
"class superelliptic_function:\n",
|
"class superelliptic_function:\n",
|
||||||
@ -184,55 +213,128 @@
|
|||||||
" \n",
|
" \n",
|
||||||
" def jth_component(self, j):\n",
|
" def jth_component(self, j):\n",
|
||||||
" g = self.form\n",
|
" g = self.form\n",
|
||||||
" R.<x, y> = PolynomialRing(GF(p), 2)\n",
|
" R1.<x> = PolynomialRing(GF(p))\n",
|
||||||
" g = R(g)\n",
|
" R2 = FractionField(R1)\n",
|
||||||
" return g.coefficient(y^j)"
|
" R3.<y> = PolynomialRing(R2)\n",
|
||||||
|
" R4 = FractionField(R3)\n",
|
||||||
|
" R5.<y_inv> = PolynomialRing(R2)\n",
|
||||||
|
" g = R4(g)\n",
|
||||||
|
" g = g(y = 1/y_inv)\n",
|
||||||
|
" g = R5(g)\n",
|
||||||
|
" return coff(g, j)\n",
|
||||||
|
" \n",
|
||||||
|
" def is_regular_on_U0(self):\n",
|
||||||
|
" C = self.curve\n",
|
||||||
|
" p = C.characteristic\n",
|
||||||
|
" m = C.exponent\n",
|
||||||
|
" R.<x> = PolynomialRing(GF(p))\n",
|
||||||
|
" for j in range(1, m):\n",
|
||||||
|
" if self.jth_component(j) not in R:\n",
|
||||||
|
" return 0\n",
|
||||||
|
" return 1\n",
|
||||||
|
" \n",
|
||||||
|
" def is_regular_on_Uinfty(self):\n",
|
||||||
|
" C = self.curve\n",
|
||||||
|
" p = C.characteristic\n",
|
||||||
|
" m = C.exponent\n",
|
||||||
|
" f = C.polynomial\n",
|
||||||
|
" r = f.degree()\n",
|
||||||
|
" delta = GCD(m, r)\n",
|
||||||
|
" M = m/delta\n",
|
||||||
|
" R = r/delta\n",
|
||||||
|
" \n",
|
||||||
|
" for j in range(1, m):\n",
|
||||||
|
" A = self.jth_component(j)\n",
|
||||||
|
" d = degree_of_rational_fctn(A)\n",
|
||||||
|
" if(-d*M + j*R -(M+1)<0):\n",
|
||||||
|
" return 0\n",
|
||||||
|
" return 1\n",
|
||||||
|
" \n",
|
||||||
|
"class superelliptic_cech:\n",
|
||||||
|
" def __init__(self, omega, fct):\n",
|
||||||
|
" self.omega0 = omega\n",
|
||||||
|
" self.omega8 = omega - diffn(fct)\n",
|
||||||
|
" self.f = fct\n",
|
||||||
|
" \n",
|
||||||
|
"def degree_of_rational_fctn(f):\n",
|
||||||
|
" R.<x> = PolynomialRing(GF(p))\n",
|
||||||
|
" RR = FractionField(R)\n",
|
||||||
|
" f = RR(f)\n",
|
||||||
|
" f1 = f.numerator()\n",
|
||||||
|
" f2 = f.denominator()\n",
|
||||||
|
" d1 = f1.degree()\n",
|
||||||
|
" d2 = f2.degree()\n",
|
||||||
|
" return(d1 - d2)\n",
|
||||||
|
"\n",
|
||||||
|
"def coff(f, d):\n",
|
||||||
|
" lista = f.coefficients(sparse = false)\n",
|
||||||
|
" if len(lista) <= d:\n",
|
||||||
|
" return 0\n",
|
||||||
|
" return lista[d]\n",
|
||||||
|
"\n",
|
||||||
|
"def cut(f, i):\n",
|
||||||
|
" coeff = f.coefficients(sparse = false)\n",
|
||||||
|
" return sum(x^(j-i-1) * coeff[j] for j in range(i+1, f.degree() + 1))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 220,
|
"execution_count": 80,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"{0: (1/y) dx}"
|
"((-2*x^3*y + x^2 + x)/y) dx"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 220,
|
"execution_count": 80,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"C = superelliptic(x^3 + x + 2, 2, 5)\n",
|
"C = superelliptic(x^3 + x + 2, 2, 5)\n",
|
||||||
"C.basis_holomorphic_differentials()"
|
"omega = superelliptic_form(C, (x^2+x)/y + 3*x^3)\n",
|
||||||
|
"omega"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 179,
|
"execution_count": 81,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"name": "stdout",
|
||||||
"text/plain": [
|
"output_type": "stream",
|
||||||
"0"
|
"text": [
|
||||||
]
|
"(1/y) dx\n",
|
||||||
},
|
"1 1\n",
|
||||||
"execution_count": 179,
|
"{0: (1/y) dx}\n"
|
||||||
"metadata": {},
|
]
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"A.degree(y)"
|
"licz = 0\n",
|
||||||
|
"m = 2\n",
|
||||||
|
"p = 5\n",
|
||||||
|
"R1.<x> = PolynomialRing(GF(p))\n",
|
||||||
|
"f = R1(x^3 + x + 4)\n",
|
||||||
|
"r = f.degree()\n",
|
||||||
|
"C = superelliptic(f, m, p)\n",
|
||||||
|
"for i in range(0, r):\n",
|
||||||
|
" for j in range(1, m):\n",
|
||||||
|
" omega = superelliptic_form(C, x^i/y^j)\n",
|
||||||
|
" if (omega.is_regular_on_U0() and omega.is_regular_on_Uinfty()):\n",
|
||||||
|
" print(omega)\n",
|
||||||
|
" licz += 1\n",
|
||||||
|
"print(licz, C.genus())\n",
|
||||||
|
"print(C.basis_holomorphic_differentials())"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 180,
|
"execution_count": 82,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -243,7 +345,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 181,
|
"execution_count": 83,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -252,16 +354,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 183,
|
"execution_count": 84,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"-2*x^2 + 1"
|
"3*x^2 + 1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 183,
|
"execution_count": 84,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -272,7 +374,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 33,
|
"execution_count": 85,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
@ -281,7 +383,7 @@
|
|||||||
"y"
|
"y"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 33,
|
"execution_count": 85,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -299,7 +401,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 39,
|
"execution_count": 86,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -357,34 +459,81 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 213,
|
"execution_count": 3,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
|
"p = 5\n",
|
||||||
"R1.<x> = PolynomialRing(GF(p))\n",
|
"R1.<x> = PolynomialRing(GF(p))\n",
|
||||||
"R2 = FractionField(R1)\n",
|
"R2 = FractionField(R1)\n",
|
||||||
"R3.<y> = PolynomialRing(R2)\n",
|
"R3.<y> = PolynomialRing(R2)\n",
|
||||||
"g = y^2/x + y/(x+1) "
|
"g = y^2/x + y/(x+1) \n",
|
||||||
|
"g = 1/y+x/y^2"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 218,
|
"execution_count": 4,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"[0, 1/(x + 1), 1/x]"
|
"x*z^2 + z"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 218,
|
"execution_count": 4,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"g.coefficients(sparse = false)"
|
"R3.<z> = PolynomialRing(R2)\n",
|
||||||
|
"g(y = 1/z)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 57,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"x^3 + x + 4"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 57,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"f"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 62,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"ename": "AttributeError",
|
||||||
|
"evalue": "'sage.rings.polynomial.polynomial_zmod_flint.Polynomial_zmod_flint' object has no attribute 'coefficient'",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[0;32m<ipython-input-62-e054c182ec1a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoefficient\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||||
|
"\u001b[0;32m/opt/sagemath-9.1/local/lib/python3.7/site-packages/sage/structure/element.pyx\u001b[0m in \u001b[0;36msage.structure.element.Element.__getattr__ (build/cythonized/sage/structure/element.c:4614)\u001b[0;34m()\u001b[0m\n\u001b[1;32m 485\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'LeftZeroSemigroup_with_category.element_class'\u001b[0m \u001b[0mobject\u001b[0m \u001b[0mhas\u001b[0m \u001b[0mno\u001b[0m \u001b[0mattribute\u001b[0m \u001b[0;34m'blah_blah'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 486\u001b[0m \"\"\"\n\u001b[0;32m--> 487\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetattr_from_category\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 488\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 489\u001b[0m \u001b[0mcdef\u001b[0m \u001b[0mgetattr_from_category\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||||||
|
"\u001b[0;32m/opt/sagemath-9.1/local/lib/python3.7/site-packages/sage/structure/element.pyx\u001b[0m in \u001b[0;36msage.structure.element.Element.getattr_from_category (build/cythonized/sage/structure/element.c:4723)\u001b[0;34m()\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 499\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mP\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_abstract_element_class\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 500\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mgetattr_from_other_class\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 501\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 502\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__dir__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||||||
|
"\u001b[0;32m/opt/sagemath-9.1/local/lib/python3.7/site-packages/sage/cpython/getattr.pyx\u001b[0m in \u001b[0;36msage.cpython.getattr.getattr_from_other_class (build/cythonized/sage/cpython/getattr.c:2614)\u001b[0;34m()\u001b[0m\n\u001b[1;32m 392\u001b[0m \u001b[0mdummy_error_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 393\u001b[0m \u001b[0mdummy_error_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 394\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdummy_error_message\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 395\u001b[0m \u001b[0mattribute\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m<\u001b[0m\u001b[0mobject\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0mattr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 396\u001b[0m \u001b[0;31m# Check for a descriptor (__get__ in Python)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||||||
|
"\u001b[0;31mAttributeError\u001b[0m: 'sage.rings.polynomial.polynomial_zmod_flint.Polynomial_zmod_flint' object has no attribute 'coefficient'"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"f.coefficient()"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user