Polynomial - Perl module implementing an algebraic polynomial


NAME

Polynomial - Perl module implementing an algebraic polynomial


DESCRIPTION

new
Create a new zero polynomial and return it to the caller.

copy OBJREF
Perform a deep copy of the polynomial object referenced by OBJREF.

monOrder
monOrder STRING
Return the current monomial ordering. If an argument is passed, it is assigned as the new monomial ordering. The valid orderings are:
        tdeg            - total degree (single variable case only)
        lex             - pure lexicographic ordering
        grlex           - graded lex
        grevlex         - graded reverse lex

varOrder
varOrder ARRAYREF
Return the current variable ordering as an array reference. If an argument is passed, it is assigned as the new variable ordering. For example,
        $poly->varOrder(['x','y','z']);

assigns the variable ordering x > y > z.

monomials
monomials HASHREF
Returns the current collection of monomials. If an argument is passed, it is assigned as the new collection of monomials.

insertMonomial OBJREF
Performs a copy of the monomial referred to by OBJREF and inserts it into the monomial collection.

simplify
Attempt to unify monomials with the same 'signature' (see getSignature) through addition.

fromString STRING
Construct the state of the polynomial from the algebraic expressin represented in STRING. For example,
        $poly->fromString("xyz+x^2y^4+x+2");

would create four monomials: xyz, x^2y^4, x, and 2. The previous monomials contained in the polynomial are destroyed.

toString
Convert the current state of the polynomial into a string and return it to the caller. This string can be sent back in via fromString and be used to reconstruct the polynomial.

applyOrder
Order the monomials according to the current monomial ordering setting.

SortByLexOrder
(Internal) Perform sort.

SortByGrevLex
(Internal) Perform sort.

SortByGrLex
(Internal) Perform sort.

SortByTotalDegree
(Internal) Perform sort.

getLT
Get the leading term of the polynomial and return it to the caller.

isNotZero
Return a boolean indiciating wether or not the polynomial is a zero polynomial or not.

mult OBJREF
Perform polynomial multiplication using this polynomial and the one referred to by OBJREF. Return a new polynomial containing the product.

add OBJREF
Perform polynomial addition using this polynomial and the one referred to by OBJREF. Return a new polynomial containing the sum.

subtract OBJREF
Perform polynomial subtraction using this polynomial and the one referred to by OBJREF. Return a new polynomial containing the difference.

divide OBJREF
Perform polynomial division using this polynomial and the one referred to by OBJREF. Return an array reference containing the quotients and the remainder.

gcd OBJREF
Determine the polynomial greatest common divisor with respect to this polynomial and the one referred to by OBJREF. Return a new polynomial containing the gcd.

reduce
Attempt to achieve two goals:
        1) Get as many 1's as coefficients as possible
        2) If the leading term's coefficient is negative multiply all the coefficients by -1.

spoly
Determine the polynomial SPOLY with respect to this polynomial and the one referred to by OBJREF. Return a new polynomial containing the SPOLY.


AUTHOR

Brian Guarraci <bguarrac@hotmail.com>

 Polynomial - Perl module implementing an algebraic polynomial