Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
## -*- encoding: utf-8 -*- """ Doctests from French Sage book Test file for chapter "Systèmes polynomiaux" ("Polynomial systems")
Sage example in ./mpoly.tex, line 35 (in svn rev 1261)::
sage: R = PolynomialRing(QQ, 'x,y,z') sage: x,y,z = R.gens() # donne le n-uplet des indéterminées
Sage example in ./mpoly.tex, line 40::
sage: R = PolynomialRing(QQ, 'x', 10)
Sage example in ./mpoly.tex, line 44::
sage: x = R.gens() sage: sum(x[i] for i in range(5)) x0 + x1 + x2 + x3 + x4
Sage example in ./mpoly.tex, line 52::
sage: def test_poly(ring, deg=3): ....: monomials = Subsets( ....: flatten([(x,)*deg for x in (1,) + ring.gens()]), ....: deg, submultiset=True) ....: return add(mul(m) for m in monomials)
Sage example in ./mpoly.tex, line 59::
sage: test_poly(QQ['x,y']) x^3 + x^2*y + x*y^2 + y^3 + x^2 + x*y + y^2 + x + y + 1 sage: test_poly(QQ['y,x']) y^3 + y^2*x + y*x^2 + x^3 + y^2 + y*x + x^2 + y + x + 1 sage: test_poly(QQ['x,y']) == test_poly(QQ['y,x']) True
Sage example in ./mpoly.tex, line 74::
sage: test_poly(PolynomialRing(QQ, 'x,y', order='deglex')) x^3 + x^2*y + x*y^2 + y^3 + x^2 + x*y + y^2 + x + y + 1
Sage example in ./mpoly.tex, line 138::
sage: R.<x,y> = InfinitePolynomialRing(ZZ, order='lex') sage: p = mul(x[k] - y[k] for k in range(2)); p x_1*x_0 - x_1*y_0 - x_0*y_1 + y_1*y_0 sage: p + x[100] x_100 + x_1*x_0 - x_1*y_0 - x_0*y_1 + y_1*y_0
Sage example in ./mpoly.tex, line 188::
sage: R.<x,y,z> = QQ[] sage: p = 7*y^2*x^2 + 3*y*x^2 + 2*y*z + x^3 + 6 sage: p.lt() 7*x^2*y^2
Sage example in ./mpoly.tex, line 196::
sage: p[x^2*y] == p[(2,1,0)] == p[2,1,0] == 3 True
Sage example in ./mpoly.tex, line 202::
sage: p(0, 3, -1) 0 sage: p.subs(x = 1, z = x^2+1) 2*x^2*y + 7*y^2 + 5*y + 7
Sage example in ./mpoly.tex, line 209::
sage: print("total={d} (en x)={dx} partiels={ds}" ....: .format(d=p.degree(), dx=p.degree(x), ds=p.degrees())) total=4 (en x)=3 partiels=(3, 2, 1)
Sage example in ./mpoly.tex, line 255::
sage: R.<x,y> = QQ[]; p = x^2 + y^2; q = x + y sage: print("({quo})*({q}) + ({rem}) == {p}".format( \ ....: quo=p//q, q=q, rem=p%q, p=p//q*q+p%q)) (-x + y)*(x + y) + (2*x^2) == x^2 + y^2 sage: p.mod(q) # n'est PAS équivalent à p%q 2*y^2
Sage example in ./mpoly.tex, line 277::
sage: k.<a> = GF(9); R.<x,y,z> = k[] sage: (a*x^2*z^2 + x*y*z - y^2).factor(proof=False) ((a)) * (x*z + (-a - 1)*y) * (x*z + (-a)*y)
Sage example in ./mpoly.tex, line 325::
sage: R.<x,y,z> = QQ[] sage: J = R.ideal(x^2 * y * z - 18, ....: x * y^3 * z - 24, ....: x * y * z^4 - 6);
Sage example in ./mpoly.tex, line 333::
sage: J.dimension() 0
Sage example in ./mpoly.tex, line 339::
sage: J.variety() [{y: 2, z: 1, x: 3}]
Sage example in ./mpoly.tex, line 347::
sage: V = J.variety(QQbar) sage: len(V) 17
Sage example in ./mpoly.tex, line 353::
sage: V[-3:] [{z: 0.9324722294043558? - 0.3612416661871530?*I, y: -1.700434271459229? + 1.052864325754712?*I, x: 1.337215067329615? - 2.685489874065187?*I}, {z: 0.9324722294043558? + 0.3612416661871530?*I, y: -1.700434271459229? - 1.052864325754712?*I, x: 1.337215067329615? + 2.685489874065187?*I}, {z: 1, y: 2, x: 3}]
Sage example in ./mpoly.tex, line 364::
sage: (xx, yy, zz) = QQbar['x,y,z'].gens() sage: [ pt[xx].degree() for pt in V ] [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1]
Sage example in ./mpoly.tex, line 376::
sage: Set(tuple(abs(pt[i]) for i in (xx,yy,zz)) for pt in V) {(3, 2, 1)}
Sage example in ./mpoly.tex, line 387::
sage: w = QQbar.zeta(17); w # racine primitive de 1 0.9324722294043558? + 0.3612416661871530?*I sage: Set(pt[zz] for pt in V) == Set(w^i for i in range(17)) True
Sage example in ./mpoly.tex, line 401::
sage: set(pt[zz].minpoly() for pt in V[:-1]) {x^16 + x^15 + x^14 + x^13 + x^12 + x^11 + x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1}
Sage example in ./mpoly.tex, line 413::
sage: def polar_form(z): ....: rho = z.abs(); rho.simplify() ....: theta = 2 * pi * z.rational_argument() ....: return (SR(rho) * exp(I*theta)) sage: [tuple(polar_form(pt[i]) for i in [xx,yy,zz]) ....: for pt in V[-3:]] [(3*e^(-6/17*I*pi), 2*e^(14/17*I*pi), e^(-2/17*I*pi)), (3*e^(6/17*I*pi), 2*e^(-14/17*I*pi), e^(2/17*I*pi)), (3, 2, 1)]
Sage example in ./mpoly.tex, line 432::
sage: J.triangular_decomposition() [Ideal (z^17 - 1, y - 2*z^10, x - 3*z^3) of Multivariate Polynomial Ring in x, y, z over Rational Field] sage: J.transformed_basis() [z^17 - 1, -2*z^10 + y, -3/4*y^2 + x]
Sage example in ./mpoly.tex, line 534::
sage: R.<x,y> = QQ[] sage: J = R.ideal(x^2 + y^2 - 1, 16*x^2*y^2 - 1)
Sage example in ./mpoly.tex, line 539::
sage: ybar2 = R.quo(J)(y^2) sage: [ybar2^i for i in range(3)] [1, ybar^2, ybar^2 - 1/16] sage: ((ybar2 + 1)^2).lift() 3*y^2 + 15/16
Sage example in ./mpoly.tex, line 561::
sage: u = (16*y^4 - 16*y^2 + 1).lift(J); u [16*y^2, -1] sage: u[0]*J.0 + u[1]*J.1 16*y^4 - 16*y^2 + 1
Sage example in ./mpoly.tex, line 569::
sage: (y^4).mod(J) y^2 - 1/16
Sage example in ./mpoly.tex, line 575::
sage: (y^4).reduce([x^2 + y^2 - 1, 16*x^2*y^2 - 1]) y^4
Sage example in ./mpoly.tex, line 629::
sage: 1 in ideal(x^2+y^2-1, (x-4)^2+y^2-1) False
Sage example in ./mpoly.tex, line 634::
sage: R(1).lift(ideal(x^2+y^2-1, (x-4)^2+y^2-1, x-y)) [-1/28*y + 1/14, 1/28*y + 1/14, -1/7*x + 1/7*y + 4/7]
Sage example in ./mpoly.tex, line 650::
sage: J1 = (x^2 + y^2 - 1, 16*x^2*y^2 - 1)*R sage: J2 = (x^2 + y^2 - 1, 4*x^2*y^2 - 1)*R sage: J1.radical() == J1 True sage: J2.radical() Ideal (2*y^2 - 1, 2*x^2 - 1) of Multivariate Polynomial Ring in x, y over Rational Field sage: 2*y^2 - 1 in J2 False
Sage example in ./mpoly.tex, line 680::
sage: C = ideal(x^2 + y^2 - 1); H = ideal(16*x^2*y^2 - 1) sage: C + H == J1 True
Sage example in ./mpoly.tex, line 697::
sage: CH = C.intersection(H).quotient(ideal(4*x*y-1)); CH Ideal (4*x^3*y + 4*x*y^3 + x^2 - 4*x*y + y^2 - 1) of Multivariate Polynomial Ring in x, y over Rational Field sage: CH.gen(0).factor() (4*x*y + 1) * (x^2 + y^2 - 1)
Sage example in ./mpoly.tex, line 705::
sage: H.quotient(C) == H True
Sage example in ./mpoly.tex, line 720::
sage: [J.dimension() for J in [J1, J2, C, H, H*J2, J1+J2]] [0, 0, 1, 1, 1, -1]
Sage example in ./mpoly.tex, line 780::
sage: R.<x,y,z> = QQ[] sage: J = ideal(2*x+y-2*z, 2*x+2*y+z-1) sage: J.elimination_ideal(x) Ideal (y + 3*z - 1) of Multivariate Polynomial Ring in x, y, z over Rational Field sage: J.elimination_ideal([x,y]).gens() [0]
Sage example in ./mpoly.tex, line 794::
sage: J1.gens() [x^2 + y^2 - 1, 16*x^2*y^2 - 1]
Sage example in ./mpoly.tex, line 858::
sage: R.<x,y,t> = QQ[] sage: Param = R.ideal((1-t^2)-(1+t^2)*x, 2*t-(1+t^2)*y)
Sage example in ./mpoly.tex, line 863::
sage: Param.elimination_ideal(t).gens() [x^2 + y^2 - 1]
Sage example in ./mpoly.tex, line 886::
sage: R.<x,y,t> = QQ[] sage: eq = x^2 + (y-t)^2 - 1/2*(t^2+1) sage: fig = add((eq(t=k/5)*QQ[x,y]).plot() for k in (-15..15)) sage: fig.show(aspect_ratio=1,xmin=-2,xmax=2,ymin=-3,ymax=3)
Sage example in ./mpoly.tex, line 900::
sage: env = ideal(eq, eq.derivative(t)).elimination_ideal(t) sage: env.gens() [2*x^2 - 2*y^2 - 1]
Sage example in ./mpoly.tex, line 906::
sage: env.change_ring(QQ[x,y]).plot() Graphics object consisting of 1 graphics primitive
Sage example in ./mpoly.tex, line 933::
sage: R.<x,y,t> = QQ[] sage: J = (y-t*x, y-t*(1-x))*R sage: (x^2+y^2) - ((1-x)^2+y^2) in J False
Sage example in ./mpoly.tex, line 942::
sage: R.<x,y,t,u> = QQ[] sage: J = (y-t*x, y-t*(1-x), t*u-1)*R sage: (x^2+y^2) - ((1-x)^2+y^2) in J True
Sage example in ./mpoly.tex, line 965::
sage: R.<x,y,t> = QQ[]
Sage example in ./mpoly.tex, line 968::
sage: eq.derivative(t).resultant(eq, t) x^2 - y^2 - 1/2
Sage example in ./mpoly.tex, line 982::
sage: R.<x,y> = QQ[] sage: ((x^2 + y^2)*(x^2 + y^2 + 1)*R).dimension() 1
Sage example in ./mpoly.tex, line 996::
sage: J1.variety() []
Sage example in ./mpoly.tex, line 1002::
sage: J1.variety(QQbar)[0:2] [{y: -0.9659258262890683?, x: -0.2588190451025208?}, {y: -0.9659258262890683?, x: 0.2588190451025208?}]
Sage example in ./mpoly.tex, line 1037::
sage: R.<x,y> = PolynomialRing(QQ, order='lex') sage: C = ideal(x^2+y^2-1) sage: D = ideal((x+y-1)*(x+y+1)) sage: J = C + D
Sage example in ./mpoly.tex, line 1054::
sage: J.triangular_decomposition() [Ideal (y, x^2 - 1) of Multivariate Polynomial Ring in x, y over Rational Field, Ideal (y^2 - 1, x) of Multivariate Polynomial Ring in x, y over Rational Field]
Sage example in ./mpoly.tex, line 1094::
sage: D = ideal((x+2*y-1)*(x+2*y+1)); J = C + D sage: J.variety() [{y: -4/5, x: 3/5}, {y: 0, x: -1}, {y: 0, x: 1}, {y: 4/5, x: -3/5}] sage: [ T.gens() for T in J.triangular_decomposition()] [[y, x^2 - 1], [25*y^2 - 16, 4*x + 3*y]]
Sage example in ./mpoly.tex, line 1104::
sage: Jy = J.elimination_ideal(x); Jy.gens() [25*y^3 - 16*y]
Sage example in ./mpoly.tex, line 1109::
sage: ys = QQ['y'](Jy.0).roots(); ys [(4/5, 1), (0, 1), (-4/5, 1)] sage: QQ['x'](J.1(y=ys[0][0])).roots() [(-3/5, 1), (-13/5, 1)]
Sage example in ./mpoly.tex, line 1119 (edited manually)::
sage: ys = CDF['y'](Jy.0).roots(); ys # abs tol 3e-16 [(-0.8000000000000002, 1), (0.0, 1), (0.8, 1)] sage: [CDF['x'](p(y=ys[0][0])).roots() for p in J.gens()] # abs tol 1e-14 [[(-0.5999999999999999 - 1.306289919090511e-16*I, 1), (0.6000000000000001 + 1.3062899190905113e-16*I, 1)], [(0.6000000000000001 - 3.135095805817224e-16*I, 1), (2.600000000000001 + 3.1350958058172237e-16*I, 1)]]
Sage example in ./mpoly.tex, line 1135::
sage: R.<x,y> = QQ[]; J = ideal([ x^7-(100*x-1)^2, y-x^7+1 ])
Sage example in ./mpoly.tex, line 1138::
sage: J.variety(AA) [{x: 0.00999999900000035?, y: -0.999999999999990?}, {x: 0.01000000100000035?, y: -0.999999999999990?}, {x: 6.305568998641385?, y: 396340.8901665450?}]
Sage example in ./mpoly.tex, line 1170::
sage: len(J2.variety(QQbar)), J2.vector_space_dimension() (4, 8)
Sage example in ./mpoly.tex, line 1177::
sage: J2.normal_basis() [x*y^3, y^3, x*y^2, y^2, x*y, y, x, 1]
Sage example in ./mpoly.tex, line 1325::
sage: R.<x,y,z,t> = PolynomialRing(QQ, order='lex')
Sage example in ./mpoly.tex, line 1343::
sage: ((x+y+z)^2).reduce([x-t, y-t^2, z^2-t]) 2*z*t^2 + 2*z*t + t^4 + 2*t^3 + t^2 + t
Sage example in ./mpoly.tex, line 1364::
sage: R.<x,y> = PolynomialRing(QQ, order='lex') sage: (g, h) = (x-y, x-y^2); p = x*y - x sage: p.reduce([g, h]) # deux réductions par h y^3 - y^2 sage: p.reduce([h, g]) # deux réductions par g y^2 - y
Sage example in ./mpoly.tex, line 1373::
sage: p - y*g + h 0
Sage example in ./mpoly.tex, line 1572::
sage: R.<x,y> = PolynomialRing(QQ, order='lex') sage: R.ideal(x*y^4, x^2*y^3, x^4*y, x^5).basis_is_groebner() True
Sage example in ./mpoly.tex, line 1578::
sage: R.ideal(x^2+y^2-1, 16*x^2*y^2-1).basis_is_groebner() False
Sage example in ./mpoly.tex, line 1593::
sage: R.ideal(x^2+y^2-1, 16*x^2*y^2-1).groebner_basis() [x^2 + y^2 - 1, y^4 - y^2 + 1/16]
Sage example in ./mpoly.tex, line 1598::
sage: R.ideal(16*x^2*y^2-1).groebner_basis() [x^2*y^2 - 1/16]
Sage example in ./mpoly.tex, line 1603::
sage: R.ideal(x^2+y^2-1, (x+y)^2-1).groebner_basis() [x^2 + y^2 - 1, x*y, y^3 - y]
Sage example in ./mpoly.tex, line 1609::
sage: R_lex.<x,y> = PolynomialRing(QQ, order='lex') sage: J_lex = (x*y+x+y^2+1,x^2*y+x*y^2+1)*R_lex; J_lex.gens() [x*y + x + y^2 + 1, x^2*y + x*y^2 + 1] sage: J_lex.groebner_basis() [x - 1/2*y^3 + y^2 + 3/2, y^4 - y^3 - 3*y - 1]
Sage example in ./mpoly.tex, line 1616::
sage: R_invlex = PolynomialRing(QQ, 'x,y', order='invlex') sage: J_invlex = J_lex.change_ring(R_invlex); J_invlex.gens() [y^2 + x*y + x + 1, x*y^2 + x^2*y + 1] sage: J_invlex.groebner_basis() [y^2 + x*y + x + 1, x^2 + x - 1]
Sage example in ./mpoly.tex, line 1623::
sage: R_drl = PolynomialRing(QQ, 'x,y', order='degrevlex') sage: J_drl = J_lex.change_ring(R_drl); J_drl.gens() [x*y + y^2 + x + 1, x^2*y + x*y^2 + 1] sage: J_drl.groebner_basis() [y^3 - 2*y^2 - 2*x - 3, x^2 + x - 1, x*y + y^2 + x + 1]
Sage example in ./mpoly.tex, line 1662::
sage: p = (x + y)^5 sage: J_lex.reduce(p) 17/2*y^3 - 12*y^2 + 4*y - 49/2
Sage example in ./mpoly.tex, line 1668::
sage: p.reduce(J_lex.groebner_basis()) 17/2*y^3 - 12*y^2 + 4*y - 49/2
Sage example in ./mpoly.tex, line 1673::
sage: R_lex.quo(J_lex)(p) 17/2*ybar^3 - 12*ybar^2 + 4*ybar - 49/2
Sage example in ./mpoly.tex, line 1678::
sage: R_drl.quo(J_drl)(p) 5*ybar^2 + 17*xbar + 4*ybar + 1
Sage example in ./mpoly.tex, line 1685::
sage: J_lex.normal_basis() [y^3, y^2, y, 1] sage: J_invlex.normal_basis() [x*y, y, x, 1] sage: J_drl.normal_basis() [y^2, y, x, 1]
Sage example in ./mpoly.tex, line 1701::
sage: ideal(16*x^2*y^2-1).dimension() 1
Sage example in ./mpoly.tex, line 1736::
sage: R.<t,x,y,z> = PolynomialRing(QQ, order='lex') sage: J = R.ideal( t+x+y+z-1, t^2-x^2-y^2-z^2-1, t-x*y) sage: [u.polynomial(u.variable(0)) for u in J.groebner_basis()] [t + x + y + z - 1, (y + 1)*x + y + z - 1, (z - 2)*x + y*z - 2*y - 2*z + 1, (z - 2)*y^2 + (-2*z + 1)*y - z^2 + z - 1]
Sage example in ./mpoly.tex, line 1801::
sage: from sage.rings.ideal import Cyclic sage: Cyclic(QQ['x,y,z']) Ideal (x + y + z, x*y + x*z + y*z, x*y*z - 1) of Multivariate Polynomial Ring in x, y, z over Rational Field
Sage example in ./mpoly.tex, line 1808::
sage: def C(R, n): return Cyclic(PolynomialRing(R, 'x', n))
Sage example in ./mpoly.tex, line 1822::
sage: p = previous_prime(2^30) sage: len(C(GF(p), 6).groebner_basis()) 45
""" from sage.all_cmdline import * # import sage library |