public class BigQuaternion extends java.lang.Object implements StarRingElem<BigQuaternion>, GcdRingElem<BigQuaternion>
| Modifier and Type | Field and Description |
|---|---|
BigRational |
im
Imaginary part i of the data structure.
|
BigRational |
jm
Imaginary part j of the data structure.
|
BigRational |
km
Imaginary part k of the data structure.
|
protected static java.util.Random |
random |
BigRational |
re
Real part of the data structure.
|
BigQuaternionRing |
ring
Corresponding BigQuaternion ring.
|
| Constructor and Description |
|---|
BigQuaternion(BigQuaternionRing fac)
Constructor for a BigQuaternion with no arguments.
|
BigQuaternion(BigQuaternionRing fac,
BigComplex r)
Constructor for a BigQuaternion from BigComplex.
|
BigQuaternion(BigQuaternionRing fac,
BigRational r)
Constructor for a BigQuaternion from BigRationals.
|
BigQuaternion(BigQuaternionRing fac,
BigRational r,
BigRational i)
Constructor for a BigQuaternion from BigRationals.
|
BigQuaternion(BigQuaternionRing fac,
BigRational r,
BigRational i,
BigRational j)
Constructor for a BigQuaternion from BigRationals.
|
BigQuaternion(BigQuaternionRing fac,
BigRational r,
BigRational i,
BigRational j,
BigRational k)
Constructor for a BigQuaternion from BigRationals.
|
BigQuaternion(BigQuaternionRing fac,
long r)
Constructor for a BigQuaternion from long.
|
BigQuaternion(BigQuaternionRing fac,
java.lang.String s)
The BigQuaternion string constructor accepts the following formats: empty
string, "rational", or "rat i rat j rat k rat" with no blanks around i, j
or k if used as polynoial coefficient.
|
| Modifier and Type | Method and Description |
|---|---|
BigQuaternion |
abs()
Quaternion number absolute value.
|
long |
bitLength()
Returns the number of bits in the representation of this BigQuaternion,
including a sign bit.
|
BigQuaternion |
ceil()
BigQuaternion ceiling, component wise.
|
int |
compareTo(BigQuaternion b)
Since quaternion numbers are unordered, we use lexicographical order of
re, im, jm and km.
|
BigQuaternion |
conjugate()
BigQuaternion conjugate.
|
BigQuaternion |
copy()
Clone this.
|
BigQuaternion |
divide(BigQuaternion b)
BigQuaternion right divide.
|
BigQuaternion |
divide(BigRational b)
BigQuaternion divide.
|
BigQuaternion[] |
egcd(BigQuaternion S)
BigQuaternion extended greatest common divisor.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
BigQuaternionRing |
factory()
Get the corresponding element factory.
|
BigQuaternion |
floor()
BigQuaternion floor, component wise.
|
BigQuaternion |
gcd(BigQuaternion S)
Quaternion number greatest common divisor.
|
BigRational |
getIm()
Get the imaginary part im.
|
BigRational |
getJm()
Get the imaginary part jm.
|
BigRational |
getKm()
Get the imaginary part km.
|
BigRational |
getRe()
Get the real part.
|
int |
hashCode()
Hash code for this BigQuaternion.
|
BigQuaternion |
inverse()
BigQuaternion inverse.
|
boolean |
isEntier()
Is BigQuaternion entier element.
|
boolean |
isIMAG()
Is BigQuaternion imaginary one.
|
boolean |
isONE()
Is BigQuaternion number one.
|
static boolean |
isQONE(BigQuaternion A)
Is BigQuaternion number one.
|
static boolean |
isQZERO(BigQuaternion A)
Is Quaternion number zero.
|
boolean |
isUnit()
Is BigQuaternion unit element.
|
boolean |
isZERO()
Is BigQuaternion number zero.
|
BigQuaternion |
leftDivide(BigQuaternion b)
BigQuaternion left divide.
|
BigQuaternion |
leftGcd(BigQuaternion S)
Quaternion number greatest common divisor.
|
BigQuaternion |
multiply(BigQuaternion B)
BigQuaternion multiply.
|
BigQuaternion |
multiply(BigRational b)
BigQuaternion multiply with BigRational.
|
BigQuaternion |
negate()
BigQuaternion number negative.
|
BigQuaternion |
norm()
Quaternion number norm.
|
static BigRational |
QABS(BigQuaternion A)
Quaternion number absolute value.
|
static BigQuaternion |
QCON(BigQuaternion A)
Quaternion number conjugate.
|
static BigQuaternion |
QDIF(BigQuaternion A,
BigQuaternion B)
Quaternion number difference.
|
static BigQuaternion |
QINV(BigQuaternion A)
Quaternion number inverse.
|
static BigQuaternion |
QNEG(BigQuaternion A)
Quaternion number negative.
|
static BigQuaternion |
QPROD(BigQuaternion A,
BigQuaternion B)
Quaternion number product.
|
static BigQuaternion |
QQ(BigQuaternion A,
BigQuaternion B)
Quaternion number quotient.
|
static BigQuaternion |
QSUM(BigQuaternion A,
BigQuaternion B)
Quaternion number sum.
|
BigQuaternion[] |
quotientRemainder(BigQuaternion S)
Quotient and remainder by division of this by S.
|
BigQuaternion |
remainder(BigQuaternion S)
BigQuaternion remainder.
|
BigQuaternion |
rightDivide(BigQuaternion b)
BigQuaternion right divide.
|
BigQuaternion |
rightGcd(BigQuaternion S)
Quaternion number greatest common divisor.
|
BigQuaternionInteger |
roundToHurwitzian()
BigQuaternion round to next Hurwitz integer.
|
BigQuaternionInteger |
roundToLipschitzian()
BigQuaternion round to next Lipschitz integer.
|
int |
signum()
Since quaternion numbers are unordered, we use lexicographical order of
re, im, jm and km.
|
BigQuaternion |
subtract(BigQuaternion B)
BigQuaternion subtraction.
|
BigQuaternion |
sum(BigQuaternion B)
BigQuaternion 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.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitleftRemainder, power, rightRemainder, twosidedDivide, twosidedRemainderpublic final BigRational re
public final BigRational im
public final BigRational jm
public final BigRational km
public final BigQuaternionRing ring
protected static final java.util.Random random
public BigQuaternion(BigQuaternionRing fac, BigRational r, BigRational i, BigRational j, BigRational k)
fac - BigQuaternionRing.r - BigRational.i - BigRational.j - BigRational.k - BigRational.public BigQuaternion(BigQuaternionRing fac, BigRational r, BigRational i, BigRational j)
fac - BigQuaternionRing.r - BigRational.i - BigRational.j - BigRational.public BigQuaternion(BigQuaternionRing fac, BigRational r, BigRational i)
fac - BigQuaternionRing.r - BigRational.i - BigRational.public BigQuaternion(BigQuaternionRing fac, BigRational r)
fac - BigQuaternionRing.r - BigRational.public BigQuaternion(BigQuaternionRing fac, BigComplex r)
fac - BigQuaternionRing.r - BigComplex.public BigQuaternion(BigQuaternionRing fac, long r)
fac - BigQuaternionRing.r - long.public BigQuaternion(BigQuaternionRing fac)
fac - BigQuaternionRing.public BigQuaternion(BigQuaternionRing fac, java.lang.String s) throws java.lang.NumberFormatException
fac - BigQuaternionRing.s - String.java.lang.NumberFormatExceptionpublic BigQuaternionRing factory()
factory in interface Element<BigQuaternion>Element.factory()public BigQuaternion copy()
copy in interface Element<BigQuaternion>Object.clone()public BigRational getRe()
public BigRational getIm()
public BigRational getJm()
public BigRational getKm()
public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toScript()
toScript in interface Element<BigQuaternion>Element.toScript()public java.lang.String toScriptFactory()
toScriptFactory in interface Element<BigQuaternion>Element.toScriptFactory()public static boolean isQZERO(BigQuaternion A)
A - BigQuaternion.public boolean isZERO()
isZERO in interface AbelianGroupElem<BigQuaternion>AbelianGroupElem.isZERO()public static boolean isQONE(BigQuaternion A)
A - is a quaternion number.public boolean isONE()
isONE in interface MonoidElem<BigQuaternion>MonoidElem.isONE()public boolean isIMAG()
public boolean isUnit()
isUnit in interface MonoidElem<BigQuaternion>MonoidElem.isUnit()public boolean isEntier()
public boolean equals(java.lang.Object b)
equals in interface Element<BigQuaternion>equals in class java.lang.ObjectObject.equals(java.lang.Object)public int hashCode()
hashCode in interface Element<BigQuaternion>hashCode in class java.lang.ObjectObject.hashCode()public int compareTo(BigQuaternion b)
compareTo in interface Element<BigQuaternion>compareTo in interface java.lang.Comparable<BigQuaternion>b - BigQuaternion.public int signum()
signum in interface AbelianGroupElem<BigQuaternion>AbelianGroupElem.signum()public BigQuaternion sum(BigQuaternion B)
sum in interface AbelianGroupElem<BigQuaternion>B - BigQuaternion.public static BigQuaternion QSUM(BigQuaternion A, BigQuaternion B)
A - BigQuaternion.B - BigQuaternion.public static BigQuaternion QDIF(BigQuaternion A, BigQuaternion B)
A - BigQuaternion.B - BigQuaternion.public BigQuaternion subtract(BigQuaternion B)
subtract in interface AbelianGroupElem<BigQuaternion>B - BigQuaternion.public static BigQuaternion QNEG(BigQuaternion A)
A - is a quaternion numberpublic BigQuaternion negate()
negate in interface AbelianGroupElem<BigQuaternion>AbelianGroupElem.negate()public static BigQuaternion QCON(BigQuaternion A)
A - is a quaternion number.public BigQuaternion conjugate()
conjugate in interface StarRingElem<BigQuaternion>public BigQuaternion norm()
norm in interface StarRingElem<BigQuaternion>StarRingElem.norm()public BigQuaternion abs()
abs in interface AbelianGroupElem<BigQuaternion>AbelianGroupElem.abs()public static BigRational QABS(BigQuaternion A)
A - is a quaternion number.public static BigQuaternion QPROD(BigQuaternion A, BigQuaternion B)
A - BigQuaternion.B - BigQuaternion.public BigQuaternion multiply(BigRational b)
b - BigRational.public BigQuaternion multiply(BigQuaternion B)
multiply in interface MonoidElem<BigQuaternion>B - BigQuaternion.public static BigQuaternion QINV(BigQuaternion A)
A - is a non-zero quaternion number.public BigQuaternion inverse()
inverse in interface MonoidElem<BigQuaternion>MonoidElem.inverse()public BigQuaternion remainder(BigQuaternion S)
remainder in interface MonoidElem<BigQuaternion>S - BigQuaternion.public static BigQuaternion QQ(BigQuaternion A, BigQuaternion B)
A - BigQuaternion.B - BigQuaternion.public BigQuaternion divide(BigQuaternion b)
divide in interface MonoidElem<BigQuaternion>b - BigQuaternion.public BigQuaternion rightDivide(BigQuaternion b)
rightDivide in interface MonoidElem<BigQuaternion>b - BigQuaternion.public BigQuaternion leftDivide(BigQuaternion b)
leftDivide in interface MonoidElem<BigQuaternion>b - BigQuaternion.public BigQuaternion divide(BigRational b)
b - BigRational.public BigQuaternion[] quotientRemainder(BigQuaternion S)
quotientRemainder in interface MonoidElem<BigQuaternion>S - a quaternion numberpublic BigQuaternion gcd(BigQuaternion S)
gcd in interface RingElem<BigQuaternion>S - BigQuaternion.public BigQuaternion leftGcd(BigQuaternion S)
leftGcd in interface RingElem<BigQuaternion>S - BigQuaternion.public BigQuaternion rightGcd(BigQuaternion S)
rightGcd in interface RingElem<BigQuaternion>S - BigQuaternion.public BigQuaternion[] egcd(BigQuaternion S)
egcd in interface RingElem<BigQuaternion>S - BigQuaternion.public long bitLength()
re.bitLength()+im.bitLength()+jm.bitLength()+km.bitLength().)public BigQuaternion ceil()
public BigQuaternion floor()
public BigQuaternionInteger roundToLipschitzian()
public BigQuaternionInteger roundToHurwitzian()