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

Module multi_polynomial_element

source code


Multivariate Polynomials

AUTHORS:
    -- David Joyner: first version
    -- William Stein: use dict's instead of lists
    -- Martin Albrecht <malb@informatik.uni-bremen.de>: some functions added
    -- William Stein (2006-02-11): added better __div__ behavior.
    -- Kiran S. Kedlaya (2006-02-12): added Macaulay2 analogues of
              some Singular features
    -- William Stein (2006-04-19): added e.g., \code{f[1,3]} to get coeff of $xy^3$;
              added examples of the new \code{R.<x,y> = PolynomialRing(QQ,2) notation}.
    -- Martin Albrecht: improved singular coercions (restructed class hierarchy) and added
                        ETuples
    -- Robert Bradshaw (2007-08-14): added support for coercion of polynomials in a subset
                        of variables (including multi-level univariate rings)
    -- Joel B. Mohler (2008-03):  Refactored interactions with ETuples.

EXAMPLES:
We verify Lagrange's four squares identity:
    sage: R.<a0,a1,a2,a3,b0,b1,b2,b3> = ZZ[]
    sage: (a0^2 + a1^2 + a2^2 + a3^2)*(b0^2 + b1^2 + b2^2 + b3^2) == (a0*b0 - a1*b1 - a2*b2 - a3*b3)^2 + (a0*b1 + a1*b0 + a2*b3 - a3*b2)^2 + (a0*b2 - a1*b3 + a2*b0 + a3*b1)^2 + (a0*b3 + a1*b2 - a2*b1 + a3*b0)^2
    True



Classes [hide private]
  MPolynomial_element
  MPolynomial_macaulay2_repr
Multivariate polynomials that are representable in Macaulay2.
  MPolynomial_polydict
Multivariate polynomials implemented in pure python using polydicts.
Functions [hide private]
 
is_MPolynomial(x) source code
 
degree_lowest_rational_function(r, x)
INPUT: r -- a multivariate rational function x -- a multivariate polynomial ring generator x OUTPUT: integer -- the degree of r in x and its "leading" (in the x-adic sense) coefficient.
source code
Function Details [hide private]

degree_lowest_rational_function(r, x)

source code 

INPUT:
    r -- a multivariate rational function
    x -- a multivariate polynomial ring generator x

OUTPUT:
    integer -- the degree of r in x and its "leading"
               (in the x-adic sense) coefficient.

NOTES:
    This function is dependent on the ordering of a python dict.  Thus, 
    it isn't really mathematically well-defined.  I think that it should 
    made a method of the FractionFieldElement class and rewritten.

EXAMPLES:
    sage: R1 = PolynomialRing(FiniteField(5), 3, names = ["a","b","c"])
    sage: F = FractionField(R1)
    sage: a,b,c = R1.gens()
    sage: f = 3*a*b^2*c^3+4*a*b*c
    sage: g = a^2*b*c^2+2*a^2*b^4*c^7

Consider the quotient $f/g = \frac{4 + 3 bc^{2}}{ac + 2 ab^{3}c^{6}}$ (note
the cancellation).
    sage: r = f/g; r
    (-2*b*c^2 - 1)/(2*a*b^3*c^6 + a*c)
    sage: degree_lowest_rational_function(r,a)
    (-1, 3)
    sage: degree_lowest_rational_function(r,b)
    (0, 4)
    sage: degree_lowest_rational_function(r,c)
    (-1, 4)