public class WordResidue<C extends GcdRingElem<C>> extends java.lang.Object implements GcdRingElem<WordResidue<C>>, NoncomRingElem<WordResidue<C>>, QuotPair<GenWordPolynomial<C>>, Value<GenWordPolynomial<C>>
Modifier and Type | Field and Description |
---|---|
protected int |
isunit
Flag to remember if this residue element is a unit. -1 is unknown, 1 is
unit, 0 not a unit.
|
WordResidueRing<C> |
ring
WordResidue class factory data structure.
|
GenWordPolynomial<C> |
val
Value part of the element data structure.
|
Constructor and Description |
---|
WordResidue(WordResidueRing<C> r)
The constructor creates a WordResidue object from a ring factory.
|
WordResidue(WordResidueRing<C> r,
GenWordPolynomial<C> a)
The constructor creates a WordResidue object from a ring factory and a
polynomial.
|
WordResidue(WordResidueRing<C> r,
GenWordPolynomial<C> a,
int u)
The constructor creates a WordResidue object from a ring factory, a
polynomial and an indicator if a is a unit.
|
Modifier and Type | Method and Description |
---|---|
WordResidue<C> |
abs()
WordResidue absolute value.
|
int |
compareTo(WordResidue<C> b)
WordResidue comparison.
|
WordResidue<C> |
copy()
Clone this.
|
GenWordPolynomial<C> |
denominator()
Denominator.
|
WordResidue<C> |
divide(WordResidue<C> S)
WordResidue left division.
|
WordResidue<C>[] |
egcd(WordResidue<C> b)
Extended greatest common divisor.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
WordResidueRing<C> |
factory()
Get the corresponding element factory.
|
WordResidue<C> |
gcd(WordResidue<C> b)
Greatest common divisor.
|
int |
hashCode()
Hash code for this residue.
|
WordResidue<C> |
inverse()
WordResidue inverse.
|
boolean |
isConstant()
Is WordResidue a constant.
|
boolean |
isONE()
Is WordResidue one.
|
boolean |
isUnit()
Is WordResidue unit.
|
boolean |
isZERO()
Is WordResidue zero.
|
WordResidue<C> |
monic()
WordResidue monic.
|
WordResidue<C> |
multiply(C s) |
WordResidue<C> |
multiply(GenWordPolynomial<C> S)
WordResidue multiplication.
|
WordResidue<C> |
multiply(Word e)
WordResidue multiplication.
|
WordResidue<C> |
multiply(WordResidue<C> S)
WordResidue multiplication.
|
WordResidue<C> |
negate()
WordResidue negate.
|
GenWordPolynomial<C> |
numerator()
Numerator.
|
WordResidue<C> |
remainder(WordResidue<C> S)
WordResidue remainder.
|
WordResidue<C> |
rightDivide(WordResidue<C> S)
WordResidue right division.
|
WordResidue<C> |
rightRemainder(WordResidue<C> S)
WordResidue right remainder.
|
int |
signum()
WordResidue signum.
|
WordResidue<C> |
subtract(WordResidue<C> S)
WordResidue subtraction.
|
WordResidue<C> |
sum(WordResidue<C> S)
WordResidue 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.
|
WordResidue<C>[] |
twosidedDivide(WordResidue<C> S)
WordResidue two-sided division.
|
WordResidue<C> |
twosidedRemainder(WordResidue<C> S)
WordResidue two-sided remainder.
|
GenWordPolynomial<C> |
value()
Value.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
leftDivide, leftRemainder, power, quotientRemainder
public final WordResidueRing<C extends GcdRingElem<C>> ring
public final GenWordPolynomial<C extends GcdRingElem<C>> val
protected int isunit
public WordResidue(WordResidueRing<C> r)
r
- solvable residue ring factory.public WordResidue(WordResidueRing<C> r, GenWordPolynomial<C> a)
r
- solvable residue ring factory.a
- solvable polynomial.public WordResidue(WordResidueRing<C> r, GenWordPolynomial<C> a, int u)
r
- solvable residue ring factory.a
- solvable polynomial.u
- isunit indicator, -1, 0, 1.public WordResidueRing<C> factory()
factory
in interface Element<WordResidue<C extends GcdRingElem<C>>>
Element.factory()
public GenWordPolynomial<C> value()
value
in interface Value<GenWordPolynomial<C extends GcdRingElem<C>>>
Value.value()
public GenWordPolynomial<C> numerator()
numerator
in interface QuotPair<GenWordPolynomial<C extends GcdRingElem<C>>>
QuotPair.numerator()
public GenWordPolynomial<C> denominator()
denominator
in interface QuotPair<GenWordPolynomial<C extends GcdRingElem<C>>>
QuotPair.denominator()
public WordResidue<C> copy()
copy
in interface Element<WordResidue<C extends GcdRingElem<C>>>
Object.clone()
public boolean isZERO()
isZERO
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
AbelianGroupElem.isZERO()
public boolean isONE()
isONE
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
MonoidElem.isONE()
public boolean isUnit()
isUnit
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
MonoidElem.isUnit()
public boolean isConstant()
isConstant
in interface QuotPair<GenWordPolynomial<C extends GcdRingElem<C>>>
isConstant
in interface Value<GenWordPolynomial<C extends GcdRingElem<C>>>
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public java.lang.String toScript()
toScript
in interface Element<WordResidue<C extends GcdRingElem<C>>>
Element.toScript()
public java.lang.String toScriptFactory()
toScriptFactory
in interface Element<WordResidue<C extends GcdRingElem<C>>>
Element.toScriptFactory()
public int compareTo(WordResidue<C> b)
compareTo
in interface Element<WordResidue<C extends GcdRingElem<C>>>
compareTo
in interface java.lang.Comparable<WordResidue<C extends GcdRingElem<C>>>
b
- WordResidue.public boolean equals(java.lang.Object b)
equals
in interface Element<WordResidue<C extends GcdRingElem<C>>>
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in interface Element<WordResidue<C extends GcdRingElem<C>>>
hashCode
in class java.lang.Object
Object.hashCode()
public WordResidue<C> abs()
abs
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
AbelianGroupElem.abs()
public WordResidue<C> sum(WordResidue<C> S)
sum
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> negate()
negate
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
AbelianGroupElem.negate()
public int signum()
signum
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
AbelianGroupElem.signum()
public WordResidue<C> subtract(WordResidue<C> S)
subtract
in interface AbelianGroupElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> divide(WordResidue<C> S)
divide
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C>[] twosidedDivide(WordResidue<C> S)
twosidedDivide
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
twosidedDivide
in interface NoncomRingElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> rightDivide(WordResidue<C> S)
rightDivide
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
rightDivide
in interface NoncomRingElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> inverse()
inverse
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
MonoidElem.inverse()
public WordResidue<C> remainder(WordResidue<C> S)
remainder
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> rightRemainder(WordResidue<C> S)
rightRemainder
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
rightRemainder
in interface NoncomRingElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> twosidedRemainder(WordResidue<C> S)
twosidedRemainder
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
twosidedRemainder
in interface NoncomRingElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> multiply(WordResidue<C> S)
multiply
in interface MonoidElem<WordResidue<C extends GcdRingElem<C>>>
S
- WordResidue.public WordResidue<C> multiply(GenWordPolynomial<C> S)
S
- GenWordPolynomial.public WordResidue<C> multiply(C s)
public WordResidue<C> multiply(Word e)
e
- word.public WordResidue<C> monic()
public WordResidue<C> gcd(WordResidue<C> b)
gcd
in interface RingElem<WordResidue<C extends GcdRingElem<C>>>
b
- other element.public WordResidue<C>[] egcd(WordResidue<C> b)
egcd
in interface RingElem<WordResidue<C extends GcdRingElem<C>>>
b
- other element.