Avec des anneaux de polynômes
A.<x,y> = QQ[]
P = x*y^5 + 2*y^4 + 3*y^3*x^3 + 4*x^2*y^2 + 5*x*y^2 + 6*y*x^3 + 7*y
P.degree()
6
Q = P.polynomial(x)
Q
(3*y^3 + 6*y)*x^3 + 4*y^2*x^2 + (y^5 + 5*y^2)*x + 2*y^4 + 7*y
Q.parent()
Univariate Polynomial Ring in x over Univariate Polynomial Ring in y over Rational Field
Une syntaxe équivalente
B = QQ['y']['x']
B
Univariate Polynomial Ring in x over Univariate Polynomial Ring in y over Rational Field
B(P)
(3*y^3 + 6*y)*x^3 + 4*y^2*x^2 + (y^5 + 5*y^2)*x + 2*y^4 + 7*y
avec des variables symboliques
Avec des variables symboliques
var('x,y')
(x, y)
P = (x^2 + x*y + x + y)*(x + y)
P
(x^2 + x*y + x + y)*(x + y)
P.expand()
x^3 + 2*x^2*y + x*y^2 + x^2 + 2*x*y + y^2
P.factor()
(x + y)^2*(x + 1)
P.expand().collect(x)
x^3 + x^2*(2*y + 1) + (y^2 + 2*y)*x + y^2
P.expand().collect(y)
x^3 + (x + 1)*y^2 + x^2 + 2*(x^2 + x)*y
Avec des anneaux de polynômes
A.<x,y> = QQ[]
P = (x^2 + x*y + x + y)*(x + y)
P
x^3 + 2*x^2*y + x*y^2 + x^2 + 2*x*y + y^2
P.factor()
(x + 1) * (x + y)^2
P.polynomial(x)
x^3 + (2*y + 1)*x^2 + (y^2 + 2*y)*x + y^2
P.polynomial(y)
(x + 1)*y^2 + (2*x^2 + 2*x)*y + x^3 + x^2
A.<x,y> = QQ[]
A.term_order()
Degree reverse lexicographic term order
x > y
True
P = x*y^5 + 2*y^4 + 3*y^3*x^3 + 4*x^2*y^2 + 5*x*y^2 + 6*y*x^3 + 7*y
P
3*x^3*y^3 + x*y^5 + 6*x^3*y + 4*x^2*y^2 + 2*y^4 + 5*x*y^2 + 7*y
B.<x,y> = PolynomialRing(QQ, order='lex')
B.term_order()
Lexicographic term order
B(P)
3*x^3*y^3 + 6*x^3*y + 4*x^2*y^2 + x*y^5 + 5*x*y^2 + 2*y^4 + 7*y
C = B.change_ring(order='deglex')
C
Multivariate Polynomial Ring in x, y over Rational Field
C.term_order()
Degree lexicographic term order
C(P)
3*x^3*y^3 + x*y^5 + 6*x^3*y + 4*x^2*y^2 + 2*y^4 + 5*x*y^2 + 7*y
P.change_ring(B.change_ring(order='degrevlex'))
3*x^3*y^3 + x*y^5 + 6*x^3*y + 4*x^2*y^2 + 2*y^4 + 5*x*y^2 + 7*y
A.<z,y,x> = PolynomialRing(QQ, order="lex")
z > y > x
True
I = A.ideal([y - x^2, z - x^3])
I.basis_is_groebner()
True
(z^2 - x^4*y).mod(I)
0
h1, h2 = (z^2 - x^4*y).lift(I)
h1, h2
(-x^4, z + x^3)
h1*I.gen(0) + h2*I.gen(1)
z^2 - y*x^4