On Monday 30 June 2008, Alex Raichev wrote: > Dear Sage support: > > Hilbert's Nullstellensatz states that a system of polynomial > equations f_1(x) = 0,..., f_s (x) = 0, where f_i in K[x_1,..., x_n ] > and K is an algebraically closed field, has no solution in K^n if and > only if there exist polynomials a_1,..., a_s in K[x_1,..., x_n ] such > that 1 = a_1 f_1 +...+ a_s f_s. The polynomial identity 1 = a_1 f_1 > +...+ a_s f_s is called a Nullstellensatz certificate. Can Sage > compute Nullstellensatz certificates? I could not find an answer to > this question in the Sage manual or via Google searches. > > Thanks for your attention. > Alex
Hi Alex, here's a way: sage: P.<x,y,z> = PolynomialRing(QQ) sage: f = x^2 + y + 3 sage: g = 2*x*z + 6*y - 1 sage: h = 2*z^2*y*x + 4*x*y + 2 sage: i = 2*z^2 + y + x^2 + 1 sage: I = Ideal([f,g,h,i]) sage: I.groebner_basis() [1] sage: L = P(1).lift(I) sage: L [-8280/449369*x*y^2 + 9756/449369*y*z^2 - 19952/449369*x*y - 228366/449369*y^2 - 16560/449369*y*z + 152244/449369*z^2 + 16464/449369*x + 2226/6707*y - 46344/449369*z + 228366/449369, -4092/23651*y*z^2 + 8280/449369*x*y - 76122/449369*x*z + 2760/449369*y*z + 23172/449369*x + 72870/449369*y + 16464/449369*z - 38061/449369, -4878/449369*x - 8280/449369*y + 4092/23651*z - 22712/449369, 8280/449369*x*y^2 + 19952/449369*x*y + 228366/449369*y^2 - 16464/449369*x - 129630/449369*y - 228366/449369] sage: sum([L[i]*I.gens()[i] for i in range(len(L))]) 1 See f.lift? (f an element of P) for details on what lift does. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
