Bazy Groebnera 1

2708 days ago by marysia

# Pierwszy przyklad - sprawdzanie, czy wielomian nalezy do idealu. # Rozpatrujemy pierscien wielomianow trzech zmiennych z porzadkiem leksykograficznym z gradacja. P.<x,y,z> = PolynomialRing(CC, 3, order='deglex') I = ideal(x*z-y^2,x^3-z^2) # Funkcja groebner_basis() oblicza (zredukowana) baze Groebnera idealu I zgodnie z porzadkiem zadanym na pierscieniu wielomianow. B = I.groebner_basis() print B 
       
[y^6 - z^5, x*y^4 - z^4, x^2*y^2 - z^3, x^3 - z^2, x*z - y^2]
f = -4*x^2*y^2*z^2 + y^6 + 3*z^5 # Chcemy sprawdzic, czy wielomian f nalezy do I - dzielimy f przez baze Groebnera I: f.reduce(B) 
       
0
# Reszta jest zerowa, wiec f nalezy do I. # Nalezenie do idealu mozna tez sprawdzic tak: f in I 
       
True
# Ogolnie funkcja reduce(B) daje reszte z dzielenia wielomianu przez podana baze Groebnera B. g = x^3*y^8 -2*x*y^6*z^3 + y^2 g.reduce(B) 
       
-y^2*z^7 + y^2