Package sage :: Package rings :: Package polynomial :: Module multi_polynomial_ideal_libsingular
[hide private]
[frames] | no frames]

Module multi_polynomial_ideal_libsingular



File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 1)

Direct low-level access to SINGULAR's Groebner basis engine via libSINGULAR.

AUTHOR:
    -- Martin Albrecht 2007-08-08 initial version

EXAMPLES:
    sage: x,y,z = QQ['x,y,z'].gens()
    sage: I = ideal(x^5 + y^4 + z^3 - 1,  x^3 + y^3 + z^2 - 1)
    sage: I.groebner_basis('libsingular:std')
    [x^3 + y^3 + z^2 - 1, x^2*y^3 - y^4 + x^2*z^2 - z^3 - x^2 + 1, y^6
    + x*y^4 + 2*y^3*z^2 + x*z^3 + z^4 - 2*y^3 - 2*z^2 - x + 1]
    
We compute a Groebner basis for cyclic 6, which is a standard
benchmark and test ideal.
   
    sage: R.<x,y,z,t,u,v> = QQ['x,y,z,t,u,v']
    sage: I = sage.rings.ideal.Cyclic(R,6)
    sage: B = I.groebner_basis('libsingular:std')
    sage: len(B)
    45

Two examples from the Mathematica documentation (done in SAGE):
    We compute a Groebner basis:
        sage: R.<x,y> = PolynomialRing(QQ, order='lex')
        sage: ideal(x^2 - 2*y^2, x*y - 3).groebner_basis('libsingular:slimgb')
        [y^4 - 9/2, x - 2/3*y^3]

    We show that three polynomials have no common root:
        sage: R.<x,y> = QQ[]
        sage: ideal(x+y, x^2 - 1, y^2 - 2*x).groebner_basis('libsingular:slimgb')
        [1]



Functions [hide private]
 
interred_libsingular(...)
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 229) SINGULAR's interred() command.
 
kbase_libsingular(...)
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 119) Singular's kbase() algorithm.
 
slimgb_libsingular(...)
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 191) SINGULAR's slimgb() algorithm.
 
std_libsingular(...)
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 160) SINGULAR's std() algorithm.
Function Details [hide private]

interred_libsingular(...)

 
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 229)

SINGULAR's interred() command.

INPUT:
    I -- a SAGE ideal

kbase_libsingular(...)

 
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 119)

Singular's kbase() algorithm.

INPUT:
I -- a groebner basis of an ideal 

OUTPUT:
Computes a vector space basis (consisting of monomials) of the quotient
ring by the ideal, resp. of a free module by the module, in case it is
finite dimensional and if the input is a standard basis with respect to
the ring ordering. If the input is not a standard basis, the leading terms
of the input are used and the result may have no meaning.

EXAMPLES:
    sage: R.<x,y> = PolynomialRing(QQ, order='lex')
    sage: I = R.ideal(x^2-2*y^2, x*y-3)
    sage: I.normal_basis()
    [y^3, y^2, y, 1]

slimgb_libsingular(...)

 
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 191)

SINGULAR's slimgb() algorithm.

INPUT:
    I -- a SAGE ideal

std_libsingular(...)

 
File: sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx (starting at line 160)

SINGULAR's std() algorithm.

INPUT:
    I -- a SAGE ideal