public class AlgebraicNumber<C extends RingElem<C>> extends java.lang.Object implements GcdRingElem<AlgebraicNumber<C>>
| Modifier and Type | Field and Description |
|---|---|
protected int |
isunit
Flag to remember if this algebraic number is a unit. -1 is unknown, 1 is
unit, 0 not a unit.
|
AlgebraicNumberRing<C> |
ring
Ring part of the data structure.
|
GenPolynomial<C> |
val
Value part of the element data structure.
|
| Constructor and Description |
|---|
AlgebraicNumber(AlgebraicNumberRing<C> r)
The constructor creates a AlgebraicNumber object from a GenPolynomial
object module.
|
AlgebraicNumber(AlgebraicNumberRing<C> r,
GenPolynomial<C> a)
The constructor creates a AlgebraicNumber object from AlgebraicNumberRing
modul and a GenPolynomial value.
|
| Modifier and Type | Method and Description |
|---|---|
AlgebraicNumber<C> |
abs()
AlgebraicNumber absolute value.
|
int |
compareTo(AlgebraicNumber<C> b)
AlgebraicNumber comparison.
|
AlgebraicNumber<C> |
copy()
Copy this.
|
AlgebraicNumber<C> |
divide(AlgebraicNumber<C> S)
AlgebraicNumber division.
|
AlgebraicNumber<C>[] |
egcd(AlgebraicNumber<C> S)
AlgebraicNumber extended greatest common divisor.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
AlgebraicNumberRing<C> |
factory()
Get the corresponding element factory.
|
AlgebraicNumber<C> |
gcd(AlgebraicNumber<C> S)
AlgebraicNumber greatest common divisor.
|
GenPolynomial<C> |
getVal()
Get the value part.
|
int |
hashCode()
Hash code for this AlgebraicNumber.
|
AlgebraicNumber<C> |
inverse()
AlgebraicNumber inverse.
|
boolean |
isONE()
Is AlgebraicNumber one.
|
boolean |
isRootOfUnity()
Is AlgebraicNumber a root of unity.
|
boolean |
isUnit()
Is AlgebraicNumber unit.
|
boolean |
isZERO()
Is AlgebraicNumber zero.
|
AlgebraicNumber<C> |
monic()
AlgebraicNumber monic.
|
AlgebraicNumber<C> |
multiply(AlgebraicNumber<C> S)
AlgebraicNumber multiplication.
|
AlgebraicNumber<C> |
multiply(C c)
AlgebraicNumber multiplication.
|
AlgebraicNumber<C> |
multiply(GenPolynomial<C> c)
AlgebraicNumber multiplication.
|
AlgebraicNumber<C> |
negate()
AlgebraicNumber negate.
|
AlgebraicNumber<C>[] |
quotientRemainder(AlgebraicNumber<C> S)
Quotient and remainder by division of this by S.
|
AlgebraicNumber<C> |
remainder(AlgebraicNumber<C> S)
AlgebraicNumber remainder.
|
int |
signum()
AlgebraicNumber signum.
|
AlgebraicNumber<C> |
subtract(AlgebraicNumber<C> S)
AlgebraicNumber subtraction.
|
AlgebraicNumber<C> |
sum(AlgebraicNumber<C> S)
AlgebraicNumber summation.
|
AlgebraicNumber<C> |
sum(C c)
AlgebraicNumber summation.
|
AlgebraicNumber<C> |
sum(GenPolynomial<C> c)
AlgebraicNumber 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 AlgebraicNumberRing<C extends RingElem<C>> ring
public final GenPolynomial<C extends RingElem<C>> val
protected int isunit
public AlgebraicNumber(AlgebraicNumberRing<C> r, GenPolynomial<C> a)
r - ring AlgebraicNumberRinga - value GenPolynomialpublic AlgebraicNumber(AlgebraicNumberRing<C> r)
r - ring AlgebraicNumberRingpublic GenPolynomial<C> getVal()
public AlgebraicNumberRing<C> factory()
factory in interface Element<AlgebraicNumber<C extends RingElem<C>>>Element.factory()public AlgebraicNumber<C> copy()
copy in interface Element<AlgebraicNumber<C extends RingElem<C>>>Element.copy()public boolean isZERO()
isZERO in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>AbelianGroupElem.isZERO()public boolean isONE()
isONE in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>MonoidElem.isONE()public boolean isUnit()
isUnit in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>MonoidElem.isUnit()public boolean isRootOfUnity()
public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toScript()
toScript in interface Element<AlgebraicNumber<C extends RingElem<C>>>Element.toScript()public java.lang.String toScriptFactory()
toScriptFactory in interface Element<AlgebraicNumber<C extends RingElem<C>>>Element.toScriptFactory()public int compareTo(AlgebraicNumber<C> b)
compareTo in interface Element<AlgebraicNumber<C extends RingElem<C>>>compareTo in interface java.lang.Comparable<AlgebraicNumber<C extends RingElem<C>>>b - AlgebraicNumber.public boolean equals(java.lang.Object b)
public int hashCode()
public AlgebraicNumber<C> abs()
abs in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>AbelianGroupElem.abs()public AlgebraicNumber<C> sum(AlgebraicNumber<C> S)
sum in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>S - AlgebraicNumber.public AlgebraicNumber<C> sum(GenPolynomial<C> c)
c - coefficient.public AlgebraicNumber<C> sum(C c)
c - polynomial.public AlgebraicNumber<C> negate()
negate in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>AbelianGroupElem.negate()public int signum()
signum in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>AbelianGroupElem.signum()public AlgebraicNumber<C> subtract(AlgebraicNumber<C> S)
subtract in interface AbelianGroupElem<AlgebraicNumber<C extends RingElem<C>>>S - AlgebraicNumber.public AlgebraicNumber<C> divide(AlgebraicNumber<C> S)
divide in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>S - AlgebraicNumber.public AlgebraicNumber<C> inverse()
inverse in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>NotInvertibleException - if the element is not invertible.MonoidElem.inverse()public AlgebraicNumber<C> remainder(AlgebraicNumber<C> S)
remainder in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>S - AlgebraicNumber.public AlgebraicNumber<C>[] quotientRemainder(AlgebraicNumber<C> S)
quotientRemainder in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>S - a AlgebraicNumberpublic AlgebraicNumber<C> multiply(AlgebraicNumber<C> S)
multiply in interface MonoidElem<AlgebraicNumber<C extends RingElem<C>>>S - AlgebraicNumber.public AlgebraicNumber<C> multiply(C c)
c - coefficient.public AlgebraicNumber<C> multiply(GenPolynomial<C> c)
c - polynomial.public AlgebraicNumber<C> monic()
public AlgebraicNumber<C> gcd(AlgebraicNumber<C> S)
public AlgebraicNumber<C>[] egcd(AlgebraicNumber<C> S)