Ðемного вÑÑÑей маÑемаÑики ========================= ÐлгебÑаиÑеÑÐºÐ°Ñ Ð³ÐµÐ¾Ð¼ÐµÑÑÐ¸Ñ ------------------------ Sage позволÑÐµÑ ÑоздаваÑÑ Ð»ÑбÑе алгебÑаиÑеÑкие многообÑазиÑ, но иногда ÑÑнкÑионалÑноÑÑÑ Ð¾Ð³ÑаниÑиваеÑÑÑ ÐºÐ¾Ð»ÑÑами :math:`\QQ` или конеÑнÑми полÑми. ÐапÑимеÑ, найдем обÑединение двÑÑ Ð¿Ð»Ð¾ÑÐºÐ¸Ñ ÐºÑивÑÑ , а заÑем вÑÑленим кÑивÑе как неÑокÑаÑимÑе ÑоÑÑавлÑÑÑие обÑединениÑ. :: sage: x, y = AffineSpace(2, QQ, 'xy').gens() sage: C2 = Curve(x^2 + y^2 - 1) sage: C3 = Curve(x^3 + y^3 - 1) sage: D = C2 + C3 sage: D Affine Curve over Rational Field defined by x^5 + x^3*y^2 + x^2*y^3 + y^5 - x^3 - y^3 - x^2 - y^2 + 1 sage: D.irreducible_components() [ Closed subscheme of Affine Space of dimension 2 over Rational Field defined by: x^2 + y^2 - 1, Closed subscheme of Affine Space of dimension 2 over Rational Field defined by: x^3 + y^3 - 1 ] Также можно найÑи вÑе ÑоÑки пеÑеÑеÑÐµÐ½Ð¸Ñ Ð´Ð²ÑÑ ÐºÑивÑÑ . .. link :: sage: V = C2.intersection(C3) sage: V.irreducible_components() [ Closed subscheme of Affine Space of dimension 2 over Rational Field defined by: y - 1, x, Closed subscheme of Affine Space of dimension 2 over Rational Field defined by: y, x - 1, Closed subscheme of Affine Space of dimension 2 over Rational Field defined by: x + y + 2, 2*y^2 + 4*y + 3 ] Таким обÑазом ÑоÑки :math:`(1,0)` и :math:`(0,1)` Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð½Ð° Ð¾Ð±ÐµÐ¸Ñ ÐºÑивÑÑ , а кооÑдинаÑÑ Ð¿Ð¾ оÑи :math:`y` ÑдовлеÑвоÑÑÑÑ ÑÑнкÑии :math:`2y^2 + 4y + 3=0`. Sage Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑиÑлиÑÑ ÑоÑоидалÑнÑй идеал неплоÑкой кÑивой ÑÑеÑÑего поÑÑдка: :: sage: R.<a,b,c,d> = PolynomialRing(QQ, 4) sage: I = ideal(b^2-a*c, c^2-b*d, a*d-b*c) sage: F = I.groebner_fan(); F Groebner fan of the ideal: Ideal (b^2 - a*c, c^2 - b*d, -b*c + a*d) of Multivariate Polynomial Ring in a, b, c, d over Rational Field sage: F.reduced_groebner_bases () [[-c^2 + b*d, -b*c + a*d, -b^2 + a*c], [-c^2 + b*d, b^2 - a*c, -b*c + a*d], [-c^2 + b*d, b*c - a*d, b^2 - a*c, -c^3 + a*d^2], [c^3 - a*d^2, -c^2 + b*d, b*c - a*d, b^2 - a*c], [c^2 - b*d, -b*c + a*d, -b^2 + a*c], [c^2 - b*d, b*c - a*d, -b^2 + a*c, -b^3 + a^2*d], [c^2 - b*d, b*c - a*d, b^3 - a^2*d, -b^2 + a*c], [c^2 - b*d, b*c - a*d, b^2 - a*c]] sage: F.polyhedralfan() Polyhedral fan in 4 dimensions of dimension 4 ÐллипÑиÑеÑкие кÑивÑе -------------------- ФÑнкÑионалÑноÑÑÑ ÑллипÑиÑеÑÐºÐ¸Ñ ÐºÑивÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑÑÑ ÑÑнкÑионалÑноÑÑи PARI, доÑÑÑп к инÑоÑмаÑии в онлайн ÑаблиÑÐ°Ñ Cremona (ÑÑо ÑÑебÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй Ð¿Ð°ÐºÐµÑ Ð±Ð°Ð· даннÑÑ ), ÑÑнкÑионалÑноÑÑÑ mwrank, алгоÑиÑм SEA, вÑÑиÑление вÑÐµÑ Ð¸Ð·Ð¾Ð³ÐµÐ½Ð¸Ð¹, много нового кода Ð´Ð»Ñ :math:`\QQ` и некоÑоÑÑÑ ÑÑнкÑионалÑноÑÑÑ Ð¿ÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ Denis Simon. Ðоманда ``EllipticCurve`` Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑллипÑиÑеÑÐºÐ¸Ñ ÐºÑивÑÑ Ð¸Ð¼ÐµÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ ÑоÑм: - EllipticCurve([:math:`a_1`, :math:`a_2`, :math:`a_3`, :math:`a_4`, :math:`a_6`]): ÐозвÑаÑÐ¸Ñ ÑллипÑиÑеÑкÑÑ ÐºÑивÑÑ .. math:: y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6, - EllipticCurve([:math:`a_4`, :math:`a_6`]): То же, ÑÑо и вÑÑе, но :math:`a_1=a_2=a_3=0`. - EllipticCurve(label): ÐеÑÐ½ÐµÑ ÑллипÑиÑеÑкÑÑ ÐºÑивÑÑ Ð¸Ð· Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Cremona Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм ÑÑлÑком Cremona. ЯÑлÑк - ÑÑо ÑÑÑока, напÑимеÑ, ``"11a"`` or ``"37b2"``. - EllipticCurve(j): ÐеÑÐ½ÐµÑ ÑллипÑиÑеÑкÑÑ ÐºÑивÑÑ Ñ Ð¸Ð½Ð²Ð°ÑианÑой :math:`j`. - EllipticCurve(R, [:math:`a_1`, :math:`a_2`, :math:`a_3`, :math:`a_4`, :math:`a_6`]): СоздаÑÑ ÑллипÑиÑеÑкÑÑ ÐºÑивÑÑ Ð¸Ð· колÑÑа :math:`R` Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñми :math:`a_i` âми, как бÑло Ñказано вÑÑе. ÐÑполÑзование каждого конÑÑÑÑкÑоÑа: :: sage: EllipticCurve([0,0,1,-1,0]) Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field sage: EllipticCurve([GF(5)(0),0,1,-1,0]) Elliptic Curve defined by y^2 + y = x^3 + 4*x over Finite Field of size 5 sage: EllipticCurve([1,2]) Elliptic Curve defined by y^2 = x^3 + x + 2 over Rational Field sage: EllipticCurve('37a') Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field sage: EllipticCurve_from_j(1) Elliptic Curve defined by y^2 + x*y = x^3 + 36*x + 3455 over Rational Field sage: EllipticCurve(GF(5), [0,0,1,-1,0]) Elliptic Curve defined by y^2 + y = x^3 + 4*x over Finite Field of size 5 ÐаÑа :math:`(0,0)` - ÑÑо ÑоÑка на ÑллипÑиÑеÑкой кÑивой :math:`E`, заданной ÑÑнкÑией :math:`y^2 + y = x^3 - x`. ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑой ÑоÑки в Sage напеÑаÑайÑе ``E([0,0])``. Sage Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑоÑки на ÑакÑÑ ÑллипÑиÑеÑкÑÑ ÐºÑивÑÑ: :: sage: E = EllipticCurve([0,0,1,-1,0]) sage: E Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field sage: P = E([0,0]) sage: P + P (1 : 0 : 1) sage: 10*P (161/16 : -2065/64 : 1) sage: 20*P (683916417/264517696 : -18784454671297/4302115807744 : 1) sage: E.conductor() 37 ÐллипÑиÑеÑкие кÑивÑе Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑнÑÑ ÑиÑел задаÑÑÑÑ Ð¿Ð°ÑамеÑÑами инваÑианÑÑ :math:`j`. Sage вÑÑиÑÐ»Ð¸Ñ Ð¸Ð½Ð²Ð°ÑианÑÑ :math:`j`: :: sage: E = EllipticCurve([0,0,0,-4,2]); E Elliptic Curve defined by y^2 = x^3 - 4*x + 2 over Rational Field sage: E.conductor() 2368 sage: E.j_invariant() 110592/37 ÐÑли Ð¼Ñ Ñоздадим кÑивÑÑ Ñ Ñой же инваÑианÑой :math:`j`, как Ð´Ð»Ñ :math:`E`, она не должна бÑÑÑ Ð¸Ð·Ð¾Ð¼Ð¾ÑÑной :math:`E`. Ð ÑледÑÑÑем пÑимеÑе кÑивÑе не изомоÑÑнÑ, Ñак как Ð¸Ñ ÐºÐ¾Ð½Ð´ÑкÑоÑÑ ÑазлиÑнÑ. :: sage: F = EllipticCurve_from_j(110592/37) sage: F.conductor() 37 Ðднако кÑÑÑение :math:`F` на 2 даÑÑ Ð¸Ð·Ð¾Ð¼Ð¾ÑÑнÑÑ ÐºÑивÑÑ. .. link :: sage: G = F.quadratic_twist(2); G Elliptic Curve defined by y^2 = x^3 - 4*x + 2 over Rational Field sage: G.conductor() 2368 sage: G.j_invariant() 110592/37 Ðожно поÑÑиÑаÑÑ ÐºÐ¾ÑÑÑиÑиенÑÑ :math:`a_n` ÑÑда :math:`L` или модÑлÑÑной ÑоÑÐ¼Ñ :math:`\sum_{n=0}^\infty a_nq^n`, пÑикÑепленной к ÑллипÑиÑеÑкой кÑивой. Ðанное вÑÑиÑление иÑполÑзÑÐµÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ PARI: :: sage: E = EllipticCurve([0,0,1,-1,0]) sage: print E.anlist(30) [0, 1, -2, -3, 2, -2, 6, -1, 0, 6, 4, -5, -6, -2, 2, 6, -4, 0, -12, 0, -4, 3, 10, 2, 0, -1, 4, -9, -2, 6, -12] sage: v = E.anlist(10000) ÐÐ°Ð¹Ð¼ÐµÑ Ð»Ð¸ÑÑ ÑекÑÐ½Ð´Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑеÑа вÑÐµÑ :math:`a_n` Ð´Ð»Ñ :math:`n\leq 10^5`: .. skip :: sage: %time v = E.anlist(100000) CPU times: user 0.98 s, sys: 0.06 s, total: 1.04 s Wall time: 1.06 ÐллипÑиÑеÑкие кÑивÑе могÑÑ Ð±ÑÑÑ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¸Ñ ÑÑлÑков Cremona. :: sage: E = EllipticCurve("37b2") sage: E Elliptic Curve defined by y^2 + y = x^3 + x^2 - 1873*x - 31833 over Rational Field sage: E = EllipticCurve("389a") sage: E Elliptic Curve defined by y^2 + y = x^3 + x^2 - 2*x over Rational Field sage: E.rank() 2 sage: E = EllipticCurve("5077a") sage: E.rank() 3 Также еÑÑÑ Ð´Ð¾ÑÑÑп к базе даннÑÑ Cremona. :: sage: db = sage.databases.cremona.CremonaDatabase() sage: db.curves(37) {'a1': [[0, 0, 1, -1, 0], 1, 1], 'b1': [[0, 1, 1, -23, -50], 0, 3]} sage: db.allcurves(37) {'a1': [[0, 0, 1, -1, 0], 1, 1], 'b1': [[0, 1, 1, -23, -50], 0, 3], 'b2': [[0, 1, 1, -1873, -31833], 0, 1], 'b3': [[0, 1, 1, -3, 1], 0, 3]} ÐбÑекÑÑ, возвÑаÑеннÑе из Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , не пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ ÑÐ¸Ð¿Ñ ``EllipticCurve``. ÐÑо ÑлеменÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , имеÑÑие паÑÑ Ð¿Ð¾Ð»ÐµÐ¹. СÑÑеÑÑвÑÐµÑ Ð¼Ð°Ð»Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Cremona, коÑоÑÐ°Ñ ÐµÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² Sage и ÑодеÑÐ¶Ð¸Ñ Ð¾Ð³ÑаниÑеннÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑллипÑиÑеÑÐºÐ¸Ñ ÐºÑивÑÑ Ñ ÐºÐ¾Ð½Ð´ÑкÑоÑом :math:`\leq 10000`. Также ÑÑÑеÑÑвÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ Ð±Ð¾Ð»ÑÑÐ°Ñ Ð²ÐµÑÑиÑ, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¸ÑÑеÑпÑваÑÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ вÑÐµÑ ÐºÑивÑÑ Ñ ÐºÐ¾Ð½Ð´ÑкÑоÑом до :math:`120000` (ÐкÑÑбÑÑ 2005). ÐÑе один дополниÑелÑнÑй Ð¿Ð°ÐºÐµÑ (2GB) Ð´Ð»Ñ Sage ÑодеÑÐ¶Ð¸Ñ ÑоÑни миллионов ÑллипÑиÑеÑÐºÐ¸Ñ ÐºÑивÑÑ Ð² базе даннÑÑ Stein-Watkins. Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ ÐиÑÐ¸Ñ Ð»Ðµ --------------- *Символ ÐиÑÐ¸Ñ Ð»Ðµ* - ÑÑо ÑаÑÑиÑение гомомоÑÑизма :math:`(\ZZ/N\ZZ)^* \to R^*` Ð´Ð»Ñ ÐºÐ¾Ð»ÑÑа :math:`R` к :math:`\ZZ \to R`. :: sage: G = DirichletGroup(12) sage: G.list() [Dirichlet character modulo 12 of conductor 1 mapping 7 |--> 1, 5 |--> 1, Dirichlet character modulo 12 of conductor 4 mapping 7 |--> -1, 5 |--> 1, Dirichlet character modulo 12 of conductor 3 mapping 7 |--> 1, 5 |--> -1, Dirichlet character modulo 12 of conductor 12 mapping 7 |--> -1, 5 |--> -1] sage: G.gens() (Dirichlet character modulo 12 of conductor 4 mapping 7 |--> -1, 5 |--> 1, Dirichlet character modulo 12 of conductor 3 mapping 7 |--> 1, 5 |--> -1) sage: len(G) 4 Создав гÑÑппÑ, нÑжно ÑоздаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸ Ñ ÐµÐ³Ð¾ помоÑÑÑ Ð¿Ð¾ÑÑиÑаÑÑ. .. link :: sage: G = DirichletGroup(21) sage: chi = G.1; chi Dirichlet character modulo 21 of conductor 7 mapping 8 |--> 1, 10 |--> zeta6 sage: chi.values() [0, 1, zeta6 - 1, 0, -zeta6, -zeta6 + 1, 0, 0, 1, 0, zeta6, -zeta6, 0, -1, 0, 0, zeta6 - 1, zeta6, 0, -zeta6 + 1, -1] sage: chi.conductor() 7 sage: chi.modulus() 21 sage: chi.order() 6 sage: chi(19) -zeta6 + 1 sage: chi(40) -zeta6 + 1 Также возможно поÑÑиÑаÑÑ Ð´ÐµÐ¹ÑÑвие гÑÑÐ¿Ð¿Ñ ÐалÑа :math:`\text{Gal}(\QQ(\zeta_N)/\QQ)` на ÑÑи ÑимволÑ. .. link :: sage: chi.galois_orbit() [Dirichlet character modulo 21 of conductor 7 mapping 8 |--> 1, 10 |--> zeta6, Dirichlet character modulo 21 of conductor 7 mapping 8 |--> 1, 10 |--> -zeta6 + 1] sage: go = G.galois_orbits() sage: [len(orbit) for orbit in go] [1, 2, 2, 1, 1, 2, 2, 1] sage: G.decomposition() [ Group of Dirichlet characters of modulus 3 over Cyclotomic Field of order 6 and degree 2, Group of Dirichlet characters of modulus 7 over Cyclotomic Field of order 6 and degree 2 ] Ðалее надо поÑÑÑоиÑÑ Ð³ÑÑÐ¿Ð¿Ñ Ñимволов ÐиÑÐ¸Ñ Ð»Ðµ по модÑÐ»Ñ 20, но Ñо знаÑениÑми Ñ :math:`\QQ(i)`: :: sage: K.<i> = NumberField(x^2+1) sage: G = DirichletGroup(20,K) sage: G Group of Dirichlet characters of modulus 20 over Number Field in i with defining polynomial x^2 + 1 ТепеÑÑ Ð¿Ð¾ÑÑиÑаем неÑколÑко инваÑÐ¸Ð°Ð½Ñ ``G``: .. link :: sage: G.gens() (Dirichlet character modulo 20 of conductor 4 mapping 11 |--> -1, 17 |--> 1, Dirichlet character modulo 20 of conductor 5 mapping 11 |--> 1, 17 |--> i) sage: G.unit_gens() (11, 17) sage: G.zeta() i sage: G.zeta_order() 4 Рданном пÑимеÑе, ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÐиÑÐ¸Ñ Ð»Ðµ ÑоздаÑÑÑÑ Ñо знаÑениÑми в ÑиÑловом поле, Ñвно задаеÑÑÑ Ð²ÑÐ±Ð¾Ñ ÐºÐ¾ÑÐ½Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑÑеÑÑим аÑгÑменÑом ``DirichletGroup``. :: sage: x = polygen(QQ, 'x') sage: K = NumberField(x^4 + 1, 'a'); a = K.0 sage: b = K.gen(); a == b True sage: K Number Field in a with defining polynomial x^4 + 1 sage: G = DirichletGroup(5, K, a); G Group of Dirichlet characters of modulus 5 over Number Field in a with defining polynomial x^4 + 1 sage: chi = G.0; chi Dirichlet character modulo 5 of conductor 5 mapping 2 |--> a^2 sage: [(chi^i)(2) for i in range(4)] [1, a^2, -1, -a^2] ÐдеÑÑ ``NumberField(x^4 + 1, 'a')`` говоÑÐ¸Ñ Sage иÑполÑзоваÑÑ Ñимвол "a" Ð´Ð»Ñ Ð¿ÐµÑаÑи Ñого, Ñем ÑвлÑеÑÑÑ ``K`` (ÑиÑловое поле Ñ Ð¾Ð¿ÑеделÑÑÑим полиномом :math:`x^4 + 1`). Ðазвание "a" не обÑÑвлено на даннÑй моменÑ. Ðогда ``a = K.0`` (ÑквиваленÑно ``a = K.gen()``) бÑÐ´ÐµÑ Ð¾Ñенено, Ñимвол "a" пÑедÑÑавлÑÐµÑ ÐºÐ¾ÑÐµÐ½Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð° :math:`x^4+1`. ÐодÑлÑÑнÑе ÑоÑÐ¼Ñ ---------------- Sage Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ Ð²ÑÑиÑлениÑ, ÑвÑзаннÑе Ñ Ð¼Ð¾Ð´ÑлÑÑнÑми ÑоÑмами, вклÑÑÐ°Ñ Ð¸Ð·Ð¼ÐµÑениÑ, вÑÑиÑление модÑлÑÑнÑÑ Ñимволов, опеÑаÑоÑов Ðекке и ÑазложениÑ. СÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко доÑÑÑпнÑÑ ÑÑнкÑий Ð´Ð»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑений пÑоÑÑÑанÑÑв модÑлÑÑнÑÑ ÑоÑм. ÐапÑимеÑ, :: sage: dimension_cusp_forms(Gamma0(11),2) 1 sage: dimension_cusp_forms(Gamma0(1),12) 1 sage: dimension_cusp_forms(Gamma1(389),2) 6112 Ðалее Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑов Ðекке в пÑоÑÑÑанÑÑве модÑлÑÑнÑÑ Ñимволов ÑÑÐ¾Ð²Ð½Ñ :math:`1` и веÑа :math:`12`. :: sage: M = ModularSymbols(1,12) sage: M.basis() ([X^8*Y^2,(0,0)], [X^9*Y,(0,0)], [X^10,(0,0)]) sage: t2 = M.T(2) sage: t2 Hecke operator T_2 on Modular Symbols space of dimension 3 for Gamma_0(1) of weight 12 with sign 0 over Rational Field sage: t2.matrix() [ -24 0 0] [ 0 -24 0] [4860 0 2049] sage: f = t2.charpoly('x'); f x^3 - 2001*x^2 - 97776*x - 1180224 sage: factor(f) (x - 2049) * (x + 24)^2 sage: M.T(11).charpoly('x').factor() (x - 285311670612) * (x - 534612)^2 Также можно ÑоздаваÑÑ Ð¿ÑоÑÑÑанÑÑво Ð´Ð»Ñ :math:`\Gamma_0(N)` и :math:`\Gamma_1(N)`. :: sage: ModularSymbols(11,2) Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: ModularSymbols(Gamma1(11),2) Modular Symbols space of dimension 11 for Gamma_1(11) of weight 2 with sign 0 and over Rational Field ÐÑÑиÑлим некоÑоÑÑе Ñ Ð°ÑакÑеÑиÑÑиÑеÑкие Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ñ Ð¸ :math:`q`-ÑазложениÑ. :: sage: M = ModularSymbols(Gamma1(11),2) sage: M.T(2).charpoly('x') x^11 - 8*x^10 + 20*x^9 + 10*x^8 - 145*x^7 + 229*x^6 + 58*x^5 - 360*x^4 + 70*x^3 - 515*x^2 + 1804*x - 1452 sage: M.T(2).charpoly('x').factor() (x - 3) * (x + 2)^2 * (x^4 - 7*x^3 + 19*x^2 - 23*x + 11) * (x^4 - 2*x^3 + 4*x^2 + 2*x + 11) sage: S = M.cuspidal_submodule() sage: S.T(2).matrix() [-2 0] [ 0 -2] sage: S.q_expansion_basis(10) [ q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 - 2*q^9 + O(q^10) ] Также Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑв модÑлÑÑнÑÑ Ñимволов Ñ Ð±Ñквами. :: sage: G = DirichletGroup(13) sage: e = G.0^2 sage: M = ModularSymbols(e,2); M Modular Symbols space of dimension 4 and level 13, weight 2, character [zeta6], sign 0, over Cyclotomic Field of order 6 and degree 2 sage: M.T(2).charpoly('x').factor() (x - 2*zeta6 - 1) * (x - zeta6 - 2) * (x + zeta6 + 1)^2 sage: S = M.cuspidal_submodule(); S Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 4 and level 13, weight 2, character [zeta6], sign 0, over Cyclotomic Field of order 6 and degree 2 sage: S.T(2).charpoly('x').factor() (x + zeta6 + 1)^2 sage: S.q_expansion_basis(10) [ q + (-zeta6 - 1)*q^2 + (2*zeta6 - 2)*q^3 + zeta6*q^4 + (-2*zeta6 + 1)*q^5 + (-2*zeta6 + 4)*q^6 + (2*zeta6 - 1)*q^8 - zeta6*q^9 + O(q^10) ] ÐÑÐ¸Ð¼ÐµÑ Ñого, как Sage Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑиÑлÑÑÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑов Ðекке на пÑоÑÑÑанÑÑво модÑлÑÑнÑÑ ÑоÑм. :: sage: T = ModularForms(Gamma0(11),2) sage: T Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: T.degree() 2 sage: T.level() 11 sage: T.group() Congruence Subgroup Gamma0(11) sage: T.dimension() 2 sage: T.cuspidal_subspace() Cuspidal subspace of dimension 1 of Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: T.eisenstein_subspace() Eisenstein subspace of dimension 1 of Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: M = ModularSymbols(11); M Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: M.weight() 2 sage: M.basis() ((1,0), (1,8), (1,9)) sage: M.sign() 0 ÐопÑÑÑим, :math:`T_p` â ÑÑо обÑÑнÑй опеÑаÑÐ¾Ñ Ðекке (:math:`p` пÑоÑÑое). Ðак опеÑаÑоÑÑ Ðекке :math:`T_2`, :math:`T_3`, :math:`T_5` ведÑÑ ÑÐµÐ±Ñ Ð² пÑоÑÑÑанÑÑве модÑлÑÑнÑÑ Ñимволов? .. link :: sage: M.T(2).matrix() [ 3 0 -1] [ 0 -2 0] [ 0 0 -2] sage: M.T(3).matrix() [ 4 0 -1] [ 0 -1 0] [ 0 0 -1] sage: M.T(5).matrix() [ 6 0 -1] [ 0 1 0] [ 0 0 1]