public class AlgebraicNumberRing<C extends RingElem<C>> extends java.lang.Object implements RingFactory<AlgebraicNumber<C>>, java.lang.Iterable<AlgebraicNumber<C>>
| Modifier and Type | Field and Description |
|---|---|
protected int |
isField
Indicator if this ring is a field
|
GenPolynomial<C> |
modul
Module part of the factory data structure.
|
GenPolynomialRing<C> |
ring
Ring part of the factory data structure.
|
| Constructor and Description |
|---|
AlgebraicNumberRing(GenPolynomial<C> m)
The constructor creates a AlgebraicNumber factory object from a
GenPolynomial objects module.
|
AlgebraicNumberRing(GenPolynomial<C> m,
boolean isField)
The constructor creates a AlgebraicNumber factory object from a
GenPolynomial objects module.
|
| Modifier and Type | Method and Description |
|---|---|
java.math.BigInteger |
characteristic()
Characteristic of this ring.
|
AlgebraicNumber<C> |
chineseRemainder(AlgebraicNumber<C> c,
AlgebraicNumber<C> ci,
AlgebraicNumber<C> a)
AlgebraicNumber chinese remainder algorithm.
|
AlgebraicNumber<C> |
copy(AlgebraicNumber<C> c)
Copy AlgebraicNumber element c.
|
int |
depth()
Depth of extension field tower.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
long |
extensionDegree()
Degree of extension field.
|
AlgebraicNumber<C> |
fillFromInteger(java.math.BigInteger a)
Get a AlgebraicNumber element from a BigInteger value.
|
AlgebraicNumber<C> |
fillFromInteger(long a)
Get a AlgebraicNumber element from a long value.
|
AlgebraicNumber<C> |
fromInteger(java.math.BigInteger a)
Get a AlgebraicNumber element from a BigInteger value.
|
AlgebraicNumber<C> |
fromInteger(long a)
Get a AlgebraicNumber element from a long value.
|
java.util.List<AlgebraicNumber<C>> |
generators()
Get a list of the generating elements.
|
int |
getField()
Get the internal field indicator.
|
AlgebraicNumber<C> |
getGenerator()
Get the generating element.
|
GenPolynomial<C> |
getModul()
Get the module part.
|
AlgebraicNumber<C> |
getONE()
Get the one element.
|
AlgebraicNumber<C> |
getZERO()
Get the zero element.
|
int |
hashCode()
Hash code for this AlgebraicNumber.
|
AlgebraicNumber<C> |
interpolate(AlgebraicNumber<C> c,
C ci,
C am,
C a)
AlgebraicNumber interpolation algorithm.
|
boolean |
isAssociative()
Query if this ring is associative.
|
boolean |
isCommutative()
Query if this ring is commutative.
|
boolean |
isField()
Query if this ring is a field.
|
boolean |
isFinite()
Is this structure finite or infinite.
|
java.util.Iterator<AlgebraicNumber<C>> |
iterator()
Get a AlgebraicNumber iterator.
|
AlgebraicNumber<C> |
parse(java.io.Reader r)
Parse AlgebraicNumber from Reader.
|
AlgebraicNumber<C> |
parse(java.lang.String s)
Parse AlgebraicNumber from String.
|
AlgebraicNumber<C> |
random(int n)
AlgebraicNumber random.
|
AlgebraicNumber<C> |
random(int n,
java.util.Random rnd)
AlgebraicNumber random.
|
void |
setField(boolean field)
Set field property of this ring.
|
java.lang.String |
toScript()
Get a scripting compatible string representation.
|
java.lang.String |
toString()
Get the String representation as RingFactory.
|
long |
totalExtensionDegree()
Total degree of nested extension fields.
|
public final GenPolynomialRing<C extends RingElem<C>> ring
public final GenPolynomial<C extends RingElem<C>> modul
protected int isField
public AlgebraicNumberRing(GenPolynomial<C> m)
m - module GenPolynomialpublic AlgebraicNumberRing(GenPolynomial<C> m, boolean isField)
m - module GenPolynomialisField - indicator if m is prime.public GenPolynomial<C> getModul()
public AlgebraicNumber<C> copy(AlgebraicNumber<C> c)
copy in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>c - algebraic number to copy.public AlgebraicNumber<C> getZERO()
getZERO in interface AbelianGroupFactory<AlgebraicNumber<C extends RingElem<C>>>public AlgebraicNumber<C> getONE()
getONE in interface MonoidFactory<AlgebraicNumber<C extends RingElem<C>>>public AlgebraicNumber<C> getGenerator()
public java.util.List<AlgebraicNumber<C>> generators()
generators in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>ElemFactory.generators()public boolean isFinite()
isFinite in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>ElemFactory.isFinite()public boolean isCommutative()
isCommutative in interface MonoidFactory<AlgebraicNumber<C extends RingElem<C>>>public boolean isAssociative()
isAssociative in interface MonoidFactory<AlgebraicNumber<C extends RingElem<C>>>public boolean isField()
isField in interface RingFactory<AlgebraicNumber<C extends RingElem<C>>>public void setField(boolean field)
field - true, if this ring is determined to be a field, false, if it
is determined that it is not a field.public int getField()
public java.math.BigInteger characteristic()
characteristic in interface RingFactory<AlgebraicNumber<C extends RingElem<C>>>public AlgebraicNumber<C> fillFromInteger(java.math.BigInteger a)
a - BigInteger.public AlgebraicNumber<C> fillFromInteger(long a)
a - long.public AlgebraicNumber<C> fromInteger(java.math.BigInteger a)
fromInteger in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>a - BigInteger.public AlgebraicNumber<C> fromInteger(long a)
fromInteger in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>a - long.public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toScript()
toScript in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>ElemFactory.toScript()public boolean equals(java.lang.Object b)
equals in class java.lang.ObjectObject.equals(java.lang.Object)public int hashCode()
hashCode in class java.lang.ObjectObject.hashCode()public AlgebraicNumber<C> random(int n)
random in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>n - such that 0 ≤ v ≤ (2n-1).public AlgebraicNumber<C> random(int n, java.util.Random rnd)
random in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>n - such that 0 ≤ v ≤ (2n-1).rnd - is a source for random bits.public AlgebraicNumber<C> parse(java.lang.String s)
parse in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>s - String.public AlgebraicNumber<C> parse(java.io.Reader r)
parse in interface ElemFactory<AlgebraicNumber<C extends RingElem<C>>>r - Reader.public AlgebraicNumber<C> chineseRemainder(AlgebraicNumber<C> c, AlgebraicNumber<C> ci, AlgebraicNumber<C> a)
c - AlgebraicNumber.ci - inverse of c.modul in ring of a.a - other AlgebraicNumber.public AlgebraicNumber<C> interpolate(AlgebraicNumber<C> c, C ci, C am, C a)
c - AlgebraicNumber.ci - inverse of (c.modul)(a) in ring of A.am - trailing base coefficient of modul of other AlgebraicNumber A.a - value of other AlgebraicNumber A.public int depth()
public long extensionDegree()
public long totalExtensionDegree()
public java.util.Iterator<AlgebraicNumber<C>> iterator()
iterator in interface java.lang.Iterable<AlgebraicNumber<C extends RingElem<C>>>