public final class BigOctonion extends java.lang.Object implements StarRingElem<BigOctonion>, GcdRingElem<BigOctonion>, RingFactory<BigOctonion>
Modifier and Type | Field and Description |
---|---|
BigOctonion |
I
The constant i.
|
BigQuaternion |
oi
Second part of the data structure.
|
BigOctonion |
ONE
The constant 1.
|
BigQuaternion |
or
First part of the data structure.
|
BigOctonion |
ZERO
The constant 0.
|
Constructor and Description |
---|
BigOctonion(BigQuaternion r)
Constructor for a BigOctonion from BigQuaternion.
|
BigOctonion(BigQuaternion r,
BigQuaternion i)
Constructor for a BigOctonion from Quaternions.
|
BigOctonion(BigQuaternionRing fac)
Constructor for a BigOctonion with no arguments.
|
BigOctonion(BigQuaternionRing fac,
BigComplex r)
Constructor for a BigOctonion from BigComplex.
|
BigOctonion(BigQuaternionRing fac,
BigRational r)
Constructor for a BigOctonion from BigRational.
|
BigOctonion(BigQuaternionRing fac,
long r)
Constructor for a BigOctonion from long.
|
BigOctonion(BigQuaternionRing fac,
java.lang.String s)
The BigOctonion string constructor accepts the following formats: empty
string, "quaternion", or "quat o quat" with no blanks around o if used as
polynoial coefficient.
|
Modifier and Type | Method and Description |
---|---|
BigOctonion |
abs()
Octonion number absolute value.
|
long |
bitLength()
Returns the number of bits in the representation of this BigOctonion,
including a sign bit.
|
java.math.BigInteger |
characteristic()
Characteristic of this ring.
|
int |
compareTo(BigOctonion b)
Since quaternion numbers are unordered, we use lexicographical order of
re, im, jm and km.
|
BigOctonion |
conjugate()
BigOctonion conjugate.
|
BigOctonion |
copy()
Clone this.
|
BigOctonion |
copy(BigOctonion c)
Copy BigOctonion element c.
|
BigOctonion |
divide(BigOctonion b)
BigOctonion divide.
|
BigOctonion |
divide(BigRational b)
BigOctonion divide.
|
BigOctonion[] |
egcd(BigOctonion S)
BigOctonion extended greatest common divisor.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
BigOctonion |
factory()
Get the corresponding element factory.
|
BigOctonion |
fromInteger(java.math.BigInteger a)
Get a BigOctonion element from a BigInteger.
|
BigOctonion |
fromInteger(long a)
Get a BigOctonion element from a long.
|
BigOctonion |
gcd(BigOctonion S)
Octonion number greatest common divisor.
|
java.util.List<BigOctonion> |
generators()
Get a list of the generating elements.
|
BigQuaternion |
getI()
Get the oi part.
|
BigOctonion |
getONE()
Get the one element.
|
BigQuaternion |
getR()
Get the or part.
|
BigOctonion |
getZERO()
Get the zero element.
|
int |
hashCode()
Hash code for this BigOctonion.
|
BigOctonion |
inverse()
BigOctonion inverse.
|
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.
|
boolean |
isIMAG()
Is BigOctonion imaginary one.
|
boolean |
isONE()
Is BigOctonion number one.
|
static boolean |
isOONE(BigOctonion A)
Is BigOctonion number one.
|
static boolean |
isOZERO(BigOctonion A)
Is Octonion number zero.
|
boolean |
isUnit()
Is BigOctonion unit element.
|
boolean |
isZERO()
Is BigOctonion number zero.
|
BigOctonion |
leftDivide(BigOctonion b)
BigOctonion left divide.
|
BigOctonion |
multiply(BigOctonion B)
BigOctonion multiply.
|
BigOctonion |
negate()
BigOctonion number negative.
|
BigOctonion |
norm()
Octonion number norm.
|
static BigRational |
OABS(BigOctonion A)
Octonion number absolute value.
|
static BigOctonion |
OCON(BigOctonion A)
Octonion number conjugate.
|
static BigOctonion |
ODIF(BigOctonion A,
BigOctonion B)
Octonion number difference.
|
static BigOctonion |
OINV(BigOctonion A)
Octonion number inverse.
|
static BigOctonion |
ONEG(BigOctonion A)
Octonion number negative.
|
static BigOctonion |
OPROD(BigOctonion A,
BigOctonion B)
Octonion number product.
|
static BigOctonion |
OQ(BigOctonion A,
BigOctonion B)
Octonion number quotient.
|
static BigOctonion |
OSUM(BigOctonion A,
BigOctonion B)
Octonion number sum.
|
BigOctonion |
parse(java.io.Reader r)
Parse quaternion number from Reader.
|
BigOctonion |
parse(java.lang.String s)
Parse quaternion number from String.
|
BigOctonion[] |
quotientRemainder(BigOctonion S)
Quotient and remainder by division of this by S.
|
BigOctonion |
random(int n)
BigOctonion random.
|
BigOctonion |
random(int n,
java.util.Random rnd)
BigOctonion random.
|
BigOctonion |
remainder(BigOctonion S)
BigOctonion remainder.
|
BigOctonion |
rightDivide(BigOctonion b)
BigOctonion right divide.
|
int |
signum()
Since quaternion numbers are unordered, we use lexicographical order of
re, im, jm and km.
|
BigOctonion |
subtract(BigOctonion B)
BigOctonion subtraction.
|
BigOctonion |
sum(BigOctonion B)
BigOctonion 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, wait
leftRemainder, power, rightRemainder, twosidedDivide, twosidedRemainder
public final BigQuaternion or
public final BigQuaternion oi
public BigOctonion ZERO
public BigOctonion ONE
public BigOctonion I
public BigOctonion(BigQuaternion r, BigQuaternion i)
r
- BigQuaternion.i
- BigQuaternion.public BigOctonion(BigQuaternion r)
r
- BigQuaternion.public BigOctonion(BigQuaternionRing fac, BigComplex r)
fac
- BigQuaternionRing.r
- BigComplex.public BigOctonion(BigQuaternionRing fac, BigRational r)
fac
- BigQuaternionRing.r
- BigRational.public BigOctonion(BigQuaternionRing fac, long r)
fac
- BigQuaternionRing.r
- long.public BigOctonion(BigQuaternionRing fac)
fac
- BigQuaternionRing.public BigOctonion(BigQuaternionRing fac, java.lang.String s) throws java.lang.NumberFormatException
fac
- BigQuaternionRing.s
- String.java.lang.NumberFormatException
public BigOctonion factory()
factory
in interface Element<BigOctonion>
Element.factory()
public java.util.List<BigOctonion> generators()
generators
in interface ElemFactory<BigOctonion>
ElemFactory.generators()
public boolean isFinite()
isFinite
in interface ElemFactory<BigOctonion>
ElemFactory.isFinite()
public BigOctonion copy()
copy
in interface Element<BigOctonion>
Object.clone()
public BigOctonion copy(BigOctonion c)
copy
in interface ElemFactory<BigOctonion>
c
- BigOctonion.public BigOctonion getZERO()
getZERO
in interface AbelianGroupFactory<BigOctonion>
public BigOctonion getONE()
getONE
in interface MonoidFactory<BigOctonion>
public boolean isCommutative()
isCommutative
in interface MonoidFactory<BigOctonion>
public boolean isAssociative()
isAssociative
in interface MonoidFactory<BigOctonion>
public boolean isField()
isField
in interface RingFactory<BigOctonion>
public java.math.BigInteger characteristic()
characteristic
in interface RingFactory<BigOctonion>
public BigOctonion fromInteger(java.math.BigInteger a)
fromInteger
in interface ElemFactory<BigOctonion>
a
- BigInteger.public BigOctonion fromInteger(long a)
fromInteger
in interface ElemFactory<BigOctonion>
a
- long.public BigQuaternion getR()
public BigQuaternion getI()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public java.lang.String toScript()
toScript
in interface Element<BigOctonion>
toScript
in interface ElemFactory<BigOctonion>
Element.toScript()
public java.lang.String toScriptFactory()
toScriptFactory
in interface Element<BigOctonion>
Element.toScriptFactory()
public static boolean isOZERO(BigOctonion A)
A
- BigOctonion.public boolean isZERO()
isZERO
in interface AbelianGroupElem<BigOctonion>
AbelianGroupElem.isZERO()
public static boolean isOONE(BigOctonion A)
A
- is a quaternion number.public boolean isONE()
isONE
in interface MonoidElem<BigOctonion>
MonoidElem.isONE()
public boolean isIMAG()
public boolean isUnit()
isUnit
in interface MonoidElem<BigOctonion>
MonoidElem.isUnit()
public boolean equals(java.lang.Object b)
equals
in interface Element<BigOctonion>
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in interface Element<BigOctonion>
hashCode
in class java.lang.Object
Object.hashCode()
public int compareTo(BigOctonion b)
compareTo
in interface Element<BigOctonion>
compareTo
in interface java.lang.Comparable<BigOctonion>
b
- BigOctonion.public int signum()
signum
in interface AbelianGroupElem<BigOctonion>
AbelianGroupElem.signum()
public BigOctonion sum(BigOctonion B)
sum
in interface AbelianGroupElem<BigOctonion>
B
- BigOctonion.public static BigOctonion OSUM(BigOctonion A, BigOctonion B)
A
- BigOctonion.B
- BigOctonion.public static BigOctonion ODIF(BigOctonion A, BigOctonion B)
A
- BigOctonion.B
- BigOctonion.public BigOctonion subtract(BigOctonion B)
subtract
in interface AbelianGroupElem<BigOctonion>
B
- BigOctonion.public static BigOctonion ONEG(BigOctonion A)
A
- is a octonion numberpublic BigOctonion negate()
negate
in interface AbelianGroupElem<BigOctonion>
AbelianGroupElem.negate()
public static BigOctonion OCON(BigOctonion A)
A
- is a quaternion number.public BigOctonion conjugate()
conjugate
in interface StarRingElem<BigOctonion>
public BigOctonion norm()
norm
in interface StarRingElem<BigOctonion>
StarRingElem.norm()
public BigOctonion abs()
abs
in interface AbelianGroupElem<BigOctonion>
AbelianGroupElem.abs()
public static BigRational OABS(BigOctonion A)
A
- is a quaternion number.public static BigOctonion OPROD(BigOctonion A, BigOctonion B)
A
- BigOctonion.B
- BigOctonion.public BigOctonion multiply(BigOctonion B)
multiply
in interface MonoidElem<BigOctonion>
B
- BigOctonion.public static BigOctonion OINV(BigOctonion A)
A
- is a non-zero quaternion number.public BigOctonion inverse()
inverse
in interface MonoidElem<BigOctonion>
MonoidElem.inverse()
public BigOctonion remainder(BigOctonion S)
remainder
in interface MonoidElem<BigOctonion>
S
- BigOctonion.public static BigOctonion OQ(BigOctonion A, BigOctonion B)
A
- BigOctonion.B
- BigOctonion.public BigOctonion divide(BigOctonion b)
divide
in interface MonoidElem<BigOctonion>
b
- BigOctonion.public BigOctonion rightDivide(BigOctonion b)
rightDivide
in interface MonoidElem<BigOctonion>
b
- BigOctonion.public BigOctonion leftDivide(BigOctonion b)
leftDivide
in interface MonoidElem<BigOctonion>
b
- BigOctonion.public BigOctonion divide(BigRational b)
b
- BigRational.public BigOctonion[] quotientRemainder(BigOctonion S)
quotientRemainder
in interface MonoidElem<BigOctonion>
S
- a octonion numberpublic BigOctonion random(int n)
random
in interface ElemFactory<BigOctonion>
n
- such that 0 ≤ A, B, C, D ≤ (2n-1).public BigOctonion random(int n, java.util.Random rnd)
random
in interface ElemFactory<BigOctonion>
n
- such that 0 ≤ A, B, C, D ≤ (2n-1).rnd
- is a source for random bits.public BigOctonion parse(java.lang.String s)
parse
in interface ElemFactory<BigOctonion>
s
- String.public BigOctonion parse(java.io.Reader r)
parse
in interface ElemFactory<BigOctonion>
r
- Reader.public BigOctonion gcd(BigOctonion S)
gcd
in interface RingElem<BigOctonion>
S
- BigOctonion.public BigOctonion[] egcd(BigOctonion S)
egcd
in interface RingElem<BigOctonion>
S
- BigOctonion.public long bitLength()
or.bitLength() + oi.bitLength()
.)