Polynomial Interfaces to Singular

AUTHORS:

  • Martin Albrecht <malb@informatik.uni-bremen.de> (2006-04-21)

  • Robert Bradshaw: Re-factor to avoid multiple inheritance vs. Cython (2007-09)

  • Syed Ahmad Lavasani: Added function field to _singular_init_ (2011-12-16); Added non-prime finite fields to _singular_init_ (2012-1-22)

class sage.rings.polynomial.polynomial_singular_interface.PolynomialRing_singular_repr[source]

Bases: object

Implement methods to convert polynomial rings to Singular.

This class is a base class for all univariate and multivariate polynomial rings which support conversion from and to Singular rings.

class sage.rings.polynomial.polynomial_singular_interface.Polynomial_singular_repr[source]

Bases: object

Implement coercion of polynomials to Singular polynomials.

This class is a base class for all (univariate and multivariate) polynomial classes which support conversion from and to Singular polynomials.

Due to the incompatibility of Python extension classes and multiple inheritance, this just defers to module-level functions.

sage.rings.polynomial.polynomial_singular_interface.can_convert_to_singular(R)[source]

Return True if this ring’s base field or ring can be represented in Singular, and the polynomial ring has at least one generator.

The following base rings are supported: finite fields, rationals, number fields, and real and complex fields.

EXAMPLES:

sage: from sage.rings.polynomial.polynomial_singular_interface import can_convert_to_singular
sage: can_convert_to_singular(PolynomialRing(QQ, names=['x']))
True
sage: can_convert_to_singular(PolynomialRing(ZZ, names=['x']))
True

sage: can_convert_to_singular(PolynomialRing(QQ, names=[]))
False
>>> from sage.all import *
>>> from sage.rings.polynomial.polynomial_singular_interface import can_convert_to_singular
>>> can_convert_to_singular(PolynomialRing(QQ, names=['x']))
True
>>> can_convert_to_singular(PolynomialRing(ZZ, names=['x']))
True

>>> can_convert_to_singular(PolynomialRing(QQ, names=[]))
False