#!/usr/bin/env python # coding: utf-8 # ## Exercice 2.1 # Avec des anneaux de polynômes # In[1]: A. = 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 # In[2]: P.degree() # In[3]: Q = P.polynomial(x) Q # In[4]: Q.parent() # Une syntaxe équivalente # In[5]: B = QQ['y']['x'] B # In[6]: B(P) # avec des variables symboliques # ## Exercice 2.2 # Avec des variables symboliques # In[7]: var('x,y') # In[8]: P = (x^2 + x*y + x + y)*(x + y) # In[9]: P # In[10]: P.expand() # In[11]: P.factor() # In[12]: P.expand().collect(x) # In[13]: P.expand().collect(y) # Avec des anneaux de polynômes # In[14]: A. = QQ[] # In[15]: P = (x^2 + x*y + x + y)*(x + y) P # In[16]: P.factor() # In[17]: P.polynomial(x) # In[18]: P.polynomial(y) # ## Exercice 3.1 # In[19]: A. = QQ[] # In[20]: A.term_order() # In[21]: x > y # In[22]: 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 # In[23]: P # In[24]: B. = PolynomialRing(QQ, order='lex') B.term_order() # In[25]: B(P) # In[26]: C = B.change_ring(order='deglex') C # In[27]: C.term_order() # In[28]: C(P) # In[29]: P.change_ring(B.change_ring(order='degrevlex')) # ## Excercice 3.7 # In[30]: A. = PolynomialRing(QQ, order="lex") z > y > x # In[31]: I = A.ideal([y - x^2, z - x^3]) # In[32]: I.basis_is_groebner() # In[33]: (z^2 - x^4*y).mod(I) # In[34]: h1, h2 = (z^2 - x^4*y).lift(I) h1, h2 # In[35]: h1*I.gen(0) + h2*I.gen(1)