edu.jas.poly
Class OrderedMapPolynomial

java.lang.Object
  extended by edu.jas.poly.OrderedMapPolynomial
All Implemented Interfaces:
OrderedPolynomial, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ComplexOrderedMapPolynomial, IntOrderedMapPolynomial, QuatOrderedMapPolynomial, RatOrderedMapPolynomial, SolvableOrderedMapPolynomial

public abstract class OrderedMapPolynomial
extends java.lang.Object
implements OrderedPolynomial, java.lang.Cloneable, java.io.Serializable

Ordered Map Polynomial. Abstract implementation of OrderedPolynomial. Implementation based on Sorted Map / TreeMap

See Also:
Serialized Form

Field Summary
protected  TermOrder order
           
protected  java.util.SortedMap val
           
protected  java.lang.String[] vars
           
 
Constructor Summary
OrderedMapPolynomial()
          Constructors for OrderedMapPolynomial
OrderedMapPolynomial(Coefficient a, ExpVector e)
           
OrderedMapPolynomial(int r)
           
OrderedMapPolynomial(java.util.Map t)
           
OrderedMapPolynomial(OrderedPolynomial o)
           
OrderedMapPolynomial(java.lang.String[] v)
           
OrderedMapPolynomial(TermOrder to)
           
OrderedMapPolynomial(TermOrder to, Coefficient a, ExpVector e)
           
OrderedMapPolynomial(TermOrder to, java.util.Map t)
           
OrderedMapPolynomial(TermOrder to, OrderedPolynomial o)
           
OrderedMapPolynomial(TermOrder to, UnorderedPolynomial u)
           
OrderedMapPolynomial(UnorderedPolynomial u)
           
 
Method Summary
 OrderedPolynomial add(Coefficient b, ExpVector e)
           
 OrderedPolynomial add(OrderedPolynomial B)
          Sum.
abstract  java.lang.Object clone()
           
 java.util.Map contract(int i)
          Contract variables.
static OrderedPolynomial DIPDIF(OrderedPolynomial a, OrderedPolynomial b)
           
static java.lang.Object DIPLBC(OrderedPolynomial a)
           
static ExpVector DIPLEV(OrderedPolynomial a)
           
static java.util.Map.Entry DIPLM(OrderedPolynomial a)
           
static OrderedPolynomial DIPNEG(OrderedPolynomial a)
           
static int DIPNOV(OrderedPolynomial a)
           
static boolean DIPONE(OrderedPolynomial a)
           
static OrderedPolynomial DIPPR(OrderedPolynomial a, OrderedPolynomial b)
           
static OrderedPolynomial DIPRP(OrderedPolynomial a, Coefficient b)
           
static OrderedPolynomial DIPRP(OrderedPolynomial a, Coefficient b, ExpVector e)
           
static OrderedPolynomial DIPRP(OrderedPolynomial a, java.util.Map.Entry m)
           
static OrderedPolynomial DIPSUM(OrderedPolynomial a, OrderedPolynomial b)
           
static boolean DIPZERO(OrderedPolynomial a)
           
 boolean equals(java.lang.Object B)
           
 OrderedPolynomial extend(int i, int j, long k, java.lang.String[] v)
          Extend variables.
 java.util.Map getMap()
           
abstract  OrderedPolynomial getONE()
           
abstract  OrderedPolynomial getONE(TermOrder t)
           
 TermOrder getTermOrder()
           
 java.lang.String[] getVars()
           
abstract  OrderedPolynomial getZERO()
           
abstract  OrderedPolynomial getZERO(TermOrder t)
           
 boolean isONE()
          One ?.
 boolean isZERO()
          Zero ?.
 Coefficient leadingBaseCoefficient()
          Leading base coefficient.
 ExpVector leadingExpVector()
          Leading exponent vector.
 java.util.Map.Entry leadingMonomial()
          Leading monomial.
 int length()
          Methods of OrderedMapPolynomial
 OrderedPolynomial monic()
           
 OrderedPolynomial multiply(Coefficient b)
          Product with number.
 OrderedPolynomial multiply(Coefficient b, ExpVector e)
          Product with number and exponent vector.
 OrderedPolynomial multiply(ExpVector e)
          Product with exponent vector.
 OrderedPolynomial multiply(java.util.Map.Entry m)
          Product with 'monomial'.
 OrderedPolynomial multiply(OrderedPolynomial Bp)
          Multiply.
 OrderedPolynomial multiplyA(OrderedPolynomial Bp)
          Multiply.
 OrderedPolynomial negate()
          Negation.
 int numberOfVariables()
          Number of variables.
 java.lang.String[] setVars(java.lang.String[] v)
           
 OrderedPolynomial subtract(Coefficient b, ExpVector e)
           
 OrderedPolynomial subtract(OrderedPolynomial B)
          Difference.
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String[] v)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

val

protected final java.util.SortedMap val

vars

protected java.lang.String[] vars

order

protected final TermOrder order
Constructor Detail

OrderedMapPolynomial

public OrderedMapPolynomial()
Constructors for OrderedMapPolynomial


OrderedMapPolynomial

public OrderedMapPolynomial(int r)

OrderedMapPolynomial

public OrderedMapPolynomial(java.util.Map t)

OrderedMapPolynomial

public OrderedMapPolynomial(java.lang.String[] v)

OrderedMapPolynomial

public OrderedMapPolynomial(Coefficient a,
                            ExpVector e)

OrderedMapPolynomial

public OrderedMapPolynomial(TermOrder to,
                            Coefficient a,
                            ExpVector e)

OrderedMapPolynomial

public OrderedMapPolynomial(TermOrder to)

OrderedMapPolynomial

public OrderedMapPolynomial(TermOrder to,
                            java.util.Map t)

OrderedMapPolynomial

public OrderedMapPolynomial(OrderedPolynomial o)

OrderedMapPolynomial

public OrderedMapPolynomial(UnorderedPolynomial u)

OrderedMapPolynomial

public OrderedMapPolynomial(TermOrder to,
                            UnorderedPolynomial u)

OrderedMapPolynomial

public OrderedMapPolynomial(TermOrder to,
                            OrderedPolynomial o)
Method Detail

length

public int length()
Methods of OrderedMapPolynomial

Specified by:
length in interface OrderedPolynomial

getMap

public java.util.Map getMap()
Specified by:
getMap in interface OrderedPolynomial

getVars

public java.lang.String[] getVars()
Specified by:
getVars in interface OrderedPolynomial

setVars

public java.lang.String[] setVars(java.lang.String[] v)
Specified by:
setVars in interface OrderedPolynomial

getTermOrder

public TermOrder getTermOrder()
Specified by:
getTermOrder in interface OrderedPolynomial

clone

public abstract java.lang.Object clone()
Overrides:
clone in class java.lang.Object

getZERO

public abstract OrderedPolynomial getZERO()
Specified by:
getZERO in interface OrderedPolynomial

getZERO

public abstract OrderedPolynomial getZERO(TermOrder t)
Specified by:
getZERO in interface OrderedPolynomial

getONE

public abstract OrderedPolynomial getONE()
Specified by:
getONE in interface OrderedPolynomial

getONE

public abstract OrderedPolynomial getONE(TermOrder t)
Specified by:
getONE in interface OrderedPolynomial

toString

public java.lang.String toString()
Specified by:
toString in interface OrderedPolynomial
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(java.lang.String[] v)
Specified by:
toString in interface OrderedPolynomial

equals

public boolean equals(java.lang.Object B)
Specified by:
equals in interface OrderedPolynomial
Overrides:
equals in class java.lang.Object

numberOfVariables

public int numberOfVariables()
Number of variables.

Specified by:
numberOfVariables in interface OrderedPolynomial

DIPNOV

public static int DIPNOV(OrderedPolynomial a)

leadingMonomial

public java.util.Map.Entry leadingMonomial()
Leading monomial.

Specified by:
leadingMonomial in interface OrderedPolynomial

DIPLM

public static java.util.Map.Entry DIPLM(OrderedPolynomial a)

leadingExpVector

public ExpVector leadingExpVector()
Leading exponent vector.

Specified by:
leadingExpVector in interface OrderedPolynomial

DIPLEV

public static ExpVector DIPLEV(OrderedPolynomial a)

leadingBaseCoefficient

public Coefficient leadingBaseCoefficient()
Leading base coefficient.

Specified by:
leadingBaseCoefficient in interface OrderedPolynomial

DIPLBC

public static java.lang.Object DIPLBC(OrderedPolynomial a)

add

public OrderedPolynomial add(OrderedPolynomial B)
Sum. Implemantation based on TreeMap / SortedMap.

Specified by:
add in interface OrderedPolynomial

DIPSUM

public static OrderedPolynomial DIPSUM(OrderedPolynomial a,
                                       OrderedPolynomial b)

add

public OrderedPolynomial add(Coefficient b,
                             ExpVector e)
Specified by:
add in interface OrderedPolynomial

subtract

public OrderedPolynomial subtract(OrderedPolynomial B)
Difference. Implementation based on TreeMap / SortedMap.

Specified by:
subtract in interface OrderedPolynomial

DIPDIF

public static OrderedPolynomial DIPDIF(OrderedPolynomial a,
                                       OrderedPolynomial b)

subtract

public OrderedPolynomial subtract(Coefficient b,
                                  ExpVector e)
Specified by:
subtract in interface OrderedPolynomial

multiplyA

public OrderedPolynomial multiplyA(OrderedPolynomial Bp)
Multiply. Implementation using polynomial add.


multiply

public OrderedPolynomial multiply(OrderedPolynomial Bp)
Multiply. Implementation using map.put on result polynomial.

Specified by:
multiply in interface OrderedPolynomial

DIPPR

public static OrderedPolynomial DIPPR(OrderedPolynomial a,
                                      OrderedPolynomial b)

multiply

public OrderedPolynomial multiply(Coefficient b)
Product with number.

Specified by:
multiply in interface OrderedPolynomial

DIPRP

public static OrderedPolynomial DIPRP(OrderedPolynomial a,
                                      Coefficient b)

monic

public OrderedPolynomial monic()
Specified by:
monic in interface OrderedPolynomial

multiply

public OrderedPolynomial multiply(Coefficient b,
                                  ExpVector e)
Product with number and exponent vector.

Specified by:
multiply in interface OrderedPolynomial

DIPRP

public static OrderedPolynomial DIPRP(OrderedPolynomial a,
                                      Coefficient b,
                                      ExpVector e)

multiply

public OrderedPolynomial multiply(ExpVector e)
Product with exponent vector.

Specified by:
multiply in interface OrderedPolynomial

multiply

public OrderedPolynomial multiply(java.util.Map.Entry m)
Product with 'monomial'.

Specified by:
multiply in interface OrderedPolynomial

DIPRP

public static OrderedPolynomial DIPRP(OrderedPolynomial a,
                                      java.util.Map.Entry m)

negate

public OrderedPolynomial negate()
Negation.

Specified by:
negate in interface OrderedPolynomial

DIPNEG

public static OrderedPolynomial DIPNEG(OrderedPolynomial a)

isZERO

public boolean isZERO()
Zero ?. Is this polynomial in the aequivalence class of zero?

Specified by:
isZERO in interface OrderedPolynomial

DIPZERO

public static boolean DIPZERO(OrderedPolynomial a)

isONE

public boolean isONE()
One ?. Is this polynomial in the aequivalence class of one?

Specified by:
isONE in interface OrderedPolynomial

DIPONE

public static boolean DIPONE(OrderedPolynomial a)

extend

public OrderedPolynomial extend(int i,
                                int j,
                                long k,
                                java.lang.String[] v)
Extend variables. Used e.g. in module embedding. Extend all ExpVectors by i elements and multiply by x_j^k.


contract

public java.util.Map contract(int i)
Contract variables. Used e.g. in module embedding. remove i elements of each ExpVector.