Package edu.jas.arith
Class BigQuaternionRing
- java.lang.Object
-
- edu.jas.arith.BigQuaternionRing
-
- All Implemented Interfaces:
AbelianGroupFactory<BigQuaternion>,ElemFactory<BigQuaternion>,MonoidFactory<BigQuaternion>,RingFactory<BigQuaternion>,java.io.Serializable
public final class BigQuaternionRing extends java.lang.Object implements RingFactory<BigQuaternion>
BigQuaternion ring class based on BigRational implementing the RingElem interface.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description BigQuaternionIThe constant i.protected booleanintegralFlag to signal if this ring is integral.BigQuaternionJThe constant j.BigQuaternionKThe constant k.BigQuaternionONEThe constant 1.protected static java.util.RandomrandomBigQuaternionZEROThe constant 0.
-
Constructor Summary
Constructors Constructor Description BigQuaternionRing()Constructor for a BigQuaternion ring.BigQuaternionRing(boolean i)Constructor for a BigQuaternion ring.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigIntegercharacteristic()Characteristic of this ring.BigQuaternioncopy(BigQuaternion c)Copy BigQuaternion element c.booleanequals(java.lang.Object b)Comparison with any other object.BigQuaternionfromInteger(long a)Get a BigQuaternion element from a long.BigQuaternionfromInteger(long[] a)Get a BigQuaternion element from a long vector.BigQuaternionfromInteger(java.math.BigInteger a)Get a BigQuaternion element from a BigInteger.java.util.List<BigQuaternion>generators()Get a list of the generating elements.BigQuaterniongetONE()Get the one element.BigQuaterniongetZERO()Get the zero element.inthashCode()Hash code for this BigQuaternionRing.booleanisAssociative()Query if this ring is associative.booleanisCommutative()Query if this ring is commutative.booleanisField()Query if this ring is a field.booleanisFinite()Is this structure finite or infinite.BigQuaternionparse(java.io.Reader r)Parse quaternion number from Reader.BigQuaternionparse(java.lang.String s)Parse quaternion number from String.BigQuaternionrandom(int n)BigQuaternion random.BigQuaternionrandom(int n, java.util.Random rnd)BigQuaternion random.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()Get the string representation.java.util.List<BigQuaternion>unitsOfHurwitzian()BigQuaternion units of the Hurwitzian integers.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface edu.jas.structure.ElemFactory
valueOf
-
-
-
-
Field Detail
-
integral
protected boolean integral
Flag to signal if this ring is integral.
-
random
protected static final java.util.Random random
-
ZERO
public final BigQuaternion ZERO
The constant 0.
-
ONE
public final BigQuaternion ONE
The constant 1.
-
I
public final BigQuaternion I
The constant i.
-
J
public final BigQuaternion J
The constant j.
-
K
public final BigQuaternion K
The constant k.
-
-
Constructor Detail
-
BigQuaternionRing
public BigQuaternionRing()
Constructor for a BigQuaternion ring.
-
BigQuaternionRing
public BigQuaternionRing(boolean i)
Constructor for a BigQuaternion ring.
-
-
Method Detail
-
generators
public java.util.List<BigQuaternion> generators()
Get a list of the generating elements.- Specified by:
generatorsin interfaceElemFactory<BigQuaternion>- Returns:
- list of generators for the algebraic structure.
- See Also:
ElemFactory.generators()
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<BigQuaternion>- Returns:
- true if this structure is finite, else false.
- See Also:
ElemFactory.isFinite()
-
copy
public BigQuaternion copy(BigQuaternion c)
Copy BigQuaternion element c.- Specified by:
copyin interfaceElemFactory<BigQuaternion>- Parameters:
c- BigQuaternion.- Returns:
- a copy of c.
-
getZERO
public BigQuaternion getZERO()
Get the zero element.- Specified by:
getZEROin interfaceAbelianGroupFactory<BigQuaternion>- Returns:
- 0 as BigQuaternion.
-
getONE
public BigQuaternion getONE()
Get the one element.- Specified by:
getONEin interfaceMonoidFactory<BigQuaternion>- Returns:
- q as BigQuaternion.
-
isCommutative
public boolean isCommutative()
Query if this ring is commutative.- Specified by:
isCommutativein interfaceMonoidFactory<BigQuaternion>- Returns:
- false.
-
isAssociative
public boolean isAssociative()
Query if this ring is associative.- Specified by:
isAssociativein interfaceMonoidFactory<BigQuaternion>- Returns:
- true.
-
isField
public boolean isField()
Query if this ring is a field.- Specified by:
isFieldin interfaceRingFactory<BigQuaternion>- Returns:
- true.
-
characteristic
public java.math.BigInteger characteristic()
Characteristic of this ring.- Specified by:
characteristicin interfaceRingFactory<BigQuaternion>- Returns:
- characteristic of this ring.
-
fromInteger
public BigQuaternion fromInteger(java.math.BigInteger a)
Get a BigQuaternion element from a BigInteger.- Specified by:
fromIntegerin interfaceElemFactory<BigQuaternion>- Parameters:
a- BigInteger.- Returns:
- a BigQuaternion.
-
fromInteger
public BigQuaternion fromInteger(long a)
Get a BigQuaternion element from a long.- Specified by:
fromIntegerin interfaceElemFactory<BigQuaternion>- Parameters:
a- long.- Returns:
- a BigQuaternion.
-
fromInteger
public BigQuaternion fromInteger(long[] a)
Get a BigQuaternion element from a long vector.- Parameters:
a- long vector.- Returns:
- a BigQuaternion.
-
toString
public java.lang.String toString()
Get the string representation. Is compatible with the string constructor.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Specified by:
toScriptin interfaceElemFactory<BigQuaternion>- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
equals
public boolean equals(java.lang.Object b)
Comparison with any other object.- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
Hash code for this BigQuaternionRing.- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
unitsOfHurwitzian
public java.util.List<BigQuaternion> unitsOfHurwitzian()
BigQuaternion units of the Hurwitzian integers. BigQuaternion units with all integer or all 1/2 times integer components.- Returns:
- list of all 24 units.
-
random
public BigQuaternion random(int n)
BigQuaternion random. Random rational numbers A, B, C and D are generated using random(n). Then R is the quaternion number with real part A and imaginary parts B, C and D.- Specified by:
randomin interfaceElemFactory<BigQuaternion>- Parameters:
n- such that 0 ≤ A, B, C, D ≤ (2n-1).- Returns:
- R, a random BigQuaternion.
-
random
public BigQuaternion random(int n, java.util.Random rnd)
BigQuaternion random. Random rational numbers A, B, C and D are generated using RNRAND(n). Then R is the quaternion number with real part A and imaginary parts B, C and D.- Specified by:
randomin interfaceElemFactory<BigQuaternion>- Parameters:
n- such that 0 ≤ A, B, C, D ≤ (2n-1).rnd- is a source for random bits.- Returns:
- R, a random BigQuaternion.
-
parse
public BigQuaternion parse(java.lang.String s)
Parse quaternion number from String.- Specified by:
parsein interfaceElemFactory<BigQuaternion>- Parameters:
s- String.- Returns:
- BigQuaternion from s.
-
parse
public BigQuaternion parse(java.io.Reader r)
Parse quaternion number from Reader.- Specified by:
parsein interfaceElemFactory<BigQuaternion>- Parameters:
r- Reader.- Returns:
- next BigQuaternion from r.
-
-