public class Product<C extends RingElem<C>> extends java.lang.Object implements RegularRingElem<Product<C>>
| Modifier and Type | Field and Description |
|---|---|
protected int |
isunit
Flag to remember if this product element is a unit in each cmponent. -1
is unknown, 1 is unit, 0 not a unit.
|
ProductRing<C> |
ring
Product class factory data structure.
|
java.util.SortedMap<java.lang.Integer,C> |
val
Value 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.
|
public 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)
S - a productpublic Product<C> multiply(C c)
c - coefficient.