public class Product<C extends RingElem<C>> extends java.lang.Object implements RegularRingElem<Product<C>>
| Modifier and Type | Field and Description | 
|---|---|
| protected int | isunitFlag to remember if this product element is a unit in each cmponent. -1
 is unknown, 1 is unit, 0 not a unit. | 
| ProductRing<C> | ringProduct class factory data structure. | 
| java.util.SortedMap<java.lang.Integer,C> | valValue part of the element data structure. | 
| Constructor and Description | 
|---|
| Product(ProductRing<C> r)The constructor creates a Product object from a ring factory. | 
| Product(ProductRing<C> r,
       java.util.SortedMap<java.lang.Integer,C> a)The constructor creates a Product object from a ring factory and a ring
 element. | 
| Product(ProductRing<C> r,
       java.util.SortedMap<java.lang.Integer,C> a,
       int u)The constructor creates a Product object from a ring factory, a ring
 element and an indicator if a is a unit. | 
| Modifier and Type | Method and Description | 
|---|---|
| Product<C> | abs()Product absolute value. | 
| int | compareTo(Product<C> b)Product comparison. | 
| Product<C> | copy()Clone this. | 
| Product<C> | divide(Product<C> S)Product quasi-division. | 
| Product<C>[] | egcd(Product<C> S)Extended greatest common divisor. | 
| boolean | equals(java.lang.Object b)Comparison with any other object. | 
| Product<C> | extend(int i,
      int j)Product extend. | 
| ProductRing<C> | factory()Get the corresponding element factory. | 
| Product<C> | fillIdempotent(Product<C> S)Product fill with idempotent. | 
| Product<C> | fillOne()Product fill with one. | 
| Product<C> | gcd(Product<C> S)Greatest common divisor. | 
| C | get(int i)Get component. | 
| int | hashCode()Hash code for this local. | 
| Product<C> | idemComplement()Product idempotent complement. | 
| Product<C> | idempotent()Product idempotent. | 
| Product<C> | idempotentAnd(Product<C> S)Product idempotent and. | 
| Product<C> | idempotentOr(Product<C> S)Product idempotent or. | 
| Product<C> | inverse()Product quasi-inverse. | 
| boolean | isFull()Is Product full. | 
| boolean | isIdempotent()Is Product idempotent. | 
| boolean | isONE()Is Product one. | 
| boolean | isUnit()Is Product unit. | 
| boolean | isZERO()Is Product zero. | 
| Product<C> | multiply(C c)Product multiply by coefficient. | 
| Product<C> | multiply(Product<C> S)Product multiplication. | 
| Product<C> | negate()Product negate. | 
| Product<C>[] | quotientRemainder(Product<C> S)Quotient and remainder by division of this by S. | 
| Product<C> | remainder(Product<C> S)Product quasi-remainder. | 
| int | signum()Product signum. | 
| Product<C> | subtract(Product<C> S)Product subtraction. | 
| Product<C> | sum(Product<C> S)Product summation. | 
| java.lang.String | toScript()Get a scripting compatible string representation. | 
| java.lang.String | toScriptFactory()Get a scripting compatible string representation of the factory. | 
| java.lang.String | toString()Get the String representation as RingElem. | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitleftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainderpublic final ProductRing<C extends RingElem<C>> ring
public final java.util.SortedMap<java.lang.Integer,C extends RingElem<C>> val
protected int isunit
public Product(ProductRing<C> r)
r - ring factory.public Product(ProductRing<C> r, java.util.SortedMap<java.lang.Integer,C> a)
r - ring factory.a - ring element.public Product(ProductRing<C> r, java.util.SortedMap<java.lang.Integer,C> a, int u)
r - ring factory.a - ring element.u - isunit indicator, -1, 0, 1.public ProductRing<C> factory()
public boolean isZERO()
isZERO in interface AbelianGroupElem<Product<C extends RingElem<C>>>AbelianGroupElem.isZERO()public boolean isONE()
isONE in interface MonoidElem<Product<C extends RingElem<C>>>MonoidElem.isONE()public boolean isFull()
public boolean isUnit()
isUnit in interface MonoidElem<Product<C extends RingElem<C>>>MonoidElem.isUnit()public boolean isIdempotent()
isIdempotent in interface RegularRingElem<Product<C extends RingElem<C>>>public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toScript()
public java.lang.String toScriptFactory()
toScriptFactory in interface Element<Product<C extends RingElem<C>>>Element.toScriptFactory()public boolean equals(java.lang.Object b)
public int hashCode()
public Product<C> extend(int i, int j)
i - from index.j - to index.public Product<C> abs()
abs in interface AbelianGroupElem<Product<C extends RingElem<C>>>AbelianGroupElem.abs()public Product<C> negate()
negate in interface AbelianGroupElem<Product<C extends RingElem<C>>>AbelianGroupElem.negate()public int signum()
signum in interface AbelianGroupElem<Product<C extends RingElem<C>>>AbelianGroupElem.signum()public Product<C> inverse()
inverse in interface MonoidElem<Product<C extends RingElem<C>>>MonoidElem.inverse()public Product<C> idempotent()
idempotent in interface RegularRingElem<Product<C extends RingElem<C>>>public Product<C> idemComplement()
idemComplement in interface RegularRingElem<Product<C extends RingElem<C>>>public Product<C> idempotentAnd(Product<C> S)
idempotentAnd in interface RegularRingElem<Product<C extends RingElem<C>>>S - Product.public Product<C> idempotentOr(Product<C> S)
idempotentOr in interface RegularRingElem<Product<C extends RingElem<C>>>S - Product.public Product<C> fillIdempotent(Product<C> S)
fillIdempotent in interface RegularRingElem<Product<C extends RingElem<C>>>S - Product.public Product<C>[] quotientRemainder(Product<C> S)
quotientRemainder in interface MonoidElem<Product<C extends RingElem<C>>>S - a productpublic Product<C> multiply(C c)
c - coefficient.