|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ca.uwaterloo.alumni.dwharder.Numbers.Trigintaduonion
public final class Trigintaduonion
A class implementing trigintaduonions using thirty-two doubles.
This package allows the user to construct, manipulate, and model with trigintaduonions. A trigintaduonion is of the form a0 + ia1 + ja2 + ka3 + e'a4 + i'a5 +...+ k(7)a31 where each an is a real numbers. The symbols i, j, k, e', i', j', k', e'', i'', j'', k'', e''', i''', j''', k''', e(4), i(4), j(4), k(4), e(5), i(5), j(5), k(5), e(6), i(6), j(6), k(6), e(7), i(7), j(7), k(7) commute with real numbers and obey the multiplication rules i2 = j2 = k2 = e'2 = i'2 =...= k(7)2 = -1, ij = k, ie' = i', je' = j', ke' = k', ie'' = i'', je'' = j'', ke'' = k'', ie''' = i''', je''' = j''', and ke''' = k'''.
Trigintaduonions are neither commutative, associative, nor alternative. The norm is not algebraic and there exist zero divisors. All these are a conseqence of trigintaduons contain the sedenions.
In the description of each non-static method, this trigintaduonion is represented by s = a0 + ia1 + ja2 + ka3 + e'a4 + i'a5 +...+ k(7)a31. a0 and ia1 + ja2 + ka3 + e'a4 + i'a5 +...+ k(7)a31 are the real and imaginary parts of s, respectively. The real numbers an are the coefficients of the trigintaduonion s. The components a0, ia1, ..., k(7)a31 will be referred to as the 0th, 1st, ..., and 17th terms of the trigintaduonion s, respectively.
Any other trigintaduonion is represented by t = b0 + ib1 + jb2 + kb3 + e'b4 + i'b5 +...+ k(7)b31. The variables x and n are used to represent real numbers and integers, respectively.In reference to methods which must deal with branch cuts, the symbol u refers to any unit imaginary trigintaduonion (real(u) = 0 and |u| = 1).
Instances of this class are immutable.
This class returns correct answers on branch cuts. Additionally, this class tries to give reasonable treatment to ∞ and NaN. For example, ONE.multiply(Double.POSITIVE_INFINITY) returns ∞ + i0 + ... + k'''0. Most implementations would return ∞ + iNaN + ... + k'''NaN because they would simply multiply each coefficient by the multiplier. This is probably not the desired result.
This class is based on the methods found in the Java classes Double, Math, and java.math.BigDecimal.
There is very little interaction between between the classes in this package. If there is a significant request for such behaviour, it will be added (seemlessly) in the future.
Double
,
Math
,
Serialized FormField Summary | |
---|---|
static Trigintaduonion |
E1
The constant e'. |
static Trigintaduonion |
E2
The constant e''. |
static Trigintaduonion |
E3
The constant e'''. |
static Trigintaduonion |
E4
The constant e(4). |
static Trigintaduonion |
E5
The constant e(5). |
static Trigintaduonion |
E6
The constant e(6). |
static Trigintaduonion |
E7
The constant e(7). |
static Trigintaduonion |
I
The constant i. |
static Trigintaduonion |
I1
The constant i'. |
static Trigintaduonion |
I2
The constant i''. |
static Trigintaduonion |
I3
The constant i'''. |
static Trigintaduonion |
I4
The constant i(4). |
static Trigintaduonion |
I5
The constant i(5). |
static Trigintaduonion |
I6
The constant i(6). |
static Trigintaduonion |
I7
The constant i(7). |
static Trigintaduonion |
J
The constant j. |
static Trigintaduonion |
J1
The constant j'. |
static Trigintaduonion |
J2
The constant j''. |
static Trigintaduonion |
J3
The constant j'''. |
static Trigintaduonion |
J4
The constant j(4). |
static Trigintaduonion |
J5
The constant j(5). |
static Trigintaduonion |
J6
The constant j(6). |
static Trigintaduonion |
J7
The constant j(7). |
static Trigintaduonion |
K
The constant k. |
static Trigintaduonion |
K1
The constant k'. |
static Trigintaduonion |
K2
The constant k''. |
static Trigintaduonion |
K3
The constant k'''. |
static Trigintaduonion |
K4
The constant k(4). |
static Trigintaduonion |
K5
The constant k(5). |
static Trigintaduonion |
K6
The constant k(6). |
static Trigintaduonion |
K7
The constant k(7). |
static Trigintaduonion |
NaN
The constant NaN + iNaN + jNaN +...+ k(7)NaN. |
static Trigintaduonion |
ONE
The constant 1. |
static Trigintaduonion |
ZERO
The constant 0. |
Constructor Summary | |
---|---|
Trigintaduonion(double a0)
Generates the trigintaduonion a0 + i0 + j0 +...+ k(7)0. |
|
Trigintaduonion(double[] v)
Generates a trigintaduonion based on the entries of the array v. |
|
Trigintaduonion(double x,
double[] v)
Generates the trigintaduonion x + iv0 + jv1 +...+ k(7)v30. |
|
Trigintaduonion(double a1,
double a2,
double a3,
double a4,
double a5,
double a6,
double a7,
double a8,
double a9,
double a10,
double a11,
double a12,
double a13,
double a14,
double a15,
double a16,
double a17,
double a18,
double a19,
double a20,
double a21,
double a22,
double a23,
double a24,
double a25,
double a26,
double a27,
double a28,
double a29,
double a30,
double a31)
Generates the imaginary trigintaduonion ia1 + ja2 +...+ k(7)a31. |
|
Trigintaduonion(double a0,
double a1,
double a2,
double a3,
double a4,
double a5,
double a6,
double a7,
double a8,
double a9,
double a10,
double a11,
double a12,
double a13,
double a14,
double a15,
double a16,
double a17,
double a18,
double a19,
double a20,
double a21,
double a22,
double a23,
double a24,
double a25,
double a26,
double a27,
double a28,
double a29,
double a30,
double a31)
Generates the trigintaduonion a0 + ia1 + ...+ k(7)a31. |
Method Summary | |
---|---|
double |
abs()
Returns the absolute value of this trigintaduonion s. |
double |
abs2()
Returns the square of the absolute value of this trigintaduonion s. |
double |
abs2Imag()
Returns the square of the absolute value of the imaginary part of this trigintaduonion s. |
double |
absImag()
Returns the absolute value of the imaginary part of this trigintaduonion s. |
Trigintaduonion |
acos()
Returns the principal inverse cosine of this trigintaduonion s. |
Trigintaduonion |
acos(Trigintaduonion u)
Returns the principal inverse cosine of this trigintaduonion s. |
Trigintaduonion |
acosh()
Returns the principal inverse hyperbolic cosine of this trigintaduonion s. |
Trigintaduonion |
acosh(Trigintaduonion u)
Returns the principal inverse hyperbolic cosine of this trigintaduonion s. |
Trigintaduonion |
acot()
Returns the principal inverse cotangent of this trigintaduonion s. |
Trigintaduonion |
acot(Trigintaduonion u)
Returns the principal inverse cotangent of this trigintaduonion s. |
Trigintaduonion |
acoth()
Returns the principal inverse hyperbolic cotangent of this trigintaduonion s. |
Trigintaduonion |
acoth(Trigintaduonion u)
Returns the principal inverse hyperbolic cotangent of this trigintaduonion s. |
Trigintaduonion |
acsc()
Returns the principal inverse cosecant of this trigintaduonion s. |
Trigintaduonion |
acsc(Trigintaduonion u)
Returns the principal inverse cosecant of this trigintaduonion s. |
Trigintaduonion |
acsch()
Returns the principal inverse hyperbolic cosecant of this trigintaduonion s. |
Trigintaduonion |
acsch(Trigintaduonion u)
Returns the principal inverse hyperbolic cosecant of this trigintaduonion s. |
Trigintaduonion |
add(double x)
Returns the sum of this trigintaduonion s and the real number x. |
Trigintaduonion |
add(int n,
double x)
Returns this sedenian s with x added onto its nth term. |
Trigintaduonion |
add(Trigintaduonion t)
Returns the sum of this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
double |
argument()
Returns the argument of this trigintaduonion s. |
Trigintaduonion |
asec()
Returns the principal inverse secant of this trigintaduonion s. |
Trigintaduonion |
asec(Trigintaduonion u)
Returns the principal inverse secant of this trigintaduonion s. |
Trigintaduonion |
asech()
Returns the principal inverse hyperbolic secant of this trigintaduonion s. |
Trigintaduonion |
asech(Trigintaduonion u)
Returns the principal inverse hyperbolic secant of this trigintaduonion s. |
Trigintaduonion |
asin()
Returns the principal inverse sine of this trigintaduonion s. |
Trigintaduonion |
asin(Trigintaduonion u)
Returns the principal inverse sine of this trigintaduonion s. |
Trigintaduonion |
asinh()
Returns the principal inverse hyperbolic sine of this trigintaduonion s. |
Trigintaduonion |
asinh(Trigintaduonion u)
Returns the principal inverse hyperbolic sine of this trigintaduonion s. |
Trigintaduonion |
atan()
Returns the principal inverse tangent of this trigintaduonion s. |
Trigintaduonion |
atan(Trigintaduonion u)
Returns the principal inverse tangent of this trigintaduonion s. |
Trigintaduonion |
atanh()
Returns the principal inverse hyperbolic tangent of this trigintaduonion s. |
Trigintaduonion |
atanh(Trigintaduonion u)
Returns the principal inverse hyperbolic tangent of this trigintaduonion s. |
Trigintaduonion |
ceil()
Returns the ceiling of each of the coefficients of this trigintaduonion s. |
double |
coefficient(int n)
Returns the coefficient of the nth term of this trigintaduonion s. |
Trigintaduonion |
conjugate()
Returns the conjugate of this trigintaduonion s. |
Trigintaduonion |
cos()
Returns the cosine of this trigintaduonion s. |
Trigintaduonion |
cosh()
Returns the hyperbolic cosine of this trigintaduonion s. |
Trigintaduonion |
cot()
Returns the cotangent of this trigintaduonion s. |
Trigintaduonion |
coth()
Returns the hyperbolic cotangent of this trigintaduonion s. |
Trigintaduonion |
csc()
Returns the cosecant of this trigintaduonion s. |
Trigintaduonion |
csch()
Returns the hyperbolic cosecant of this trigintaduonion s. |
Trigintaduonion |
divide(Trigintaduonion t)
Returns the quotient of this trigintaduonion s over the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
boolean |
equals(java.lang.Object t)
Returns true if this trigintaduonion s equals the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
boolean |
equals(java.lang.Object t,
double eps)
Returns true if this trigintaduonion s equals the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
Trigintaduonion |
exp()
Returns Euler's number (e) raised to the power of this trigintaduonion s. |
Trigintaduonion |
floor()
Returns the floor of each of the coefficients of this trigintaduonion s. |
int |
hashCode()
Returns a hash code for the this trigintaduonion s based on the coefficients. |
Trigintaduonion |
horner(double[] v)
Evaluate the polynomial with real coefficients, given by the array of doubles v, at this trigintaduonion s. |
Trigintaduonion |
imag()
Returns the imaginary part of this trigintaduonion s. |
static java.lang.String[] |
imaginaryUnits(java.lang.String[] units)
Set the strings to be used for the thirty-one imaginary units. |
boolean |
isImaginary()
Returns true if the real part of this trigintaduonion s is zero and false otherwise. |
boolean |
isImaginary(int n)
Returns true if the nth imaginary coefficient of this octonian s is the only non-zero coefficient and false otherwise. |
boolean |
isInfinite()
Returns true if any coefficient of this trigintaduonion s is infinite and false otherwise. |
boolean |
isNaN()
Returns true if any coefficient of this trigintaduonion s is not-a-number (NaN) and false otherwise. |
boolean |
isReal()
Returns true if all the coefficients of the imaginary part of this trigintaduonion s are zero, otherwise false. |
boolean |
isZero()
Returns true if all coefficients of this trigintaduonion s are zero, otherwise false. |
Trigintaduonion |
log()
Returns the natural logarithm of this trigintaduonion s. |
Trigintaduonion |
log(Trigintaduonion u)
Returns the natural logarithm of this trigintaduonion s. |
Trigintaduonion |
log10()
Returns the logarithm base 10 of this trigintaduonion s. |
Trigintaduonion |
log10(Trigintaduonion u)
Returns the natural logarithm of this trigintaduonion s. |
Trigintaduonion |
multiply(double x)
Returns the product of this trigintaduonion s and the real number x. |
Trigintaduonion |
multiply(Trigintaduonion t)
Returns the product of this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
Trigintaduonion |
negate()
Returns the negative of this trigintaduonion s. |
Trigintaduonion |
pow(double x)
Returns this trigintaduonion s raised to the real number x. |
Trigintaduonion |
pow(int n)
Returns this trigintaduonion s raised to the integer n. |
Trigintaduonion |
pow(Trigintaduonion t)
|
Trigintaduonion |
project(boolean[] v)
Project this trigintaduonion s onto the subspace defined by the boolean vector v. |
Trigintaduonion |
project(int n)
Project this trigintaduonion s onto the nth term. |
static Trigintaduonion |
random()
A factory method for constructing an trigintaduonion with random real and imaginary parts. |
Trigintaduonion |
random(boolean[] v)
A factory method to create a random trigintaduonion defined by the boolean vector v. |
static Trigintaduonion |
random(int n)
A factory method for constructing a complex number with random nth coefficient. |
static Trigintaduonion |
randomImaginary()
A factory method for constructing a random imaginary trigintaduonion. |
static Trigintaduonion |
randomReal()
A factory method for constructing an trigintaduonion with random real part. |
double |
real()
Returns the real part of this trigintaduonion s. |
Trigintaduonion |
rint()
Returns each coefficient of the trigintaduonion s rounded to the nearest double equal to an integer. |
Trigintaduonion |
sec()
Returns the secant of this trigintaduonion s. |
Trigintaduonion |
sech()
Returns the hyperbolic secant of this trigintaduonion s. |
Trigintaduonion |
signum()
Returns a normalized form of this trigintaduonion s when it is non-zero and s otherwise. |
Trigintaduonion |
sin()
Returns the sine of this trigintaduonion s. |
Trigintaduonion |
sinh()
Returns the hyperbolic sine of this trigintaduonion s. |
Trigintaduonion |
sqr()
Returns the square of this trigintaduonion s. |
Trigintaduonion |
sqrt()
Returns the square root of this trigintaduonion s. |
Trigintaduonion |
sqrt(Trigintaduonion u)
Returns the square root of this trigintaduonion s. |
Trigintaduonion |
subtract(Trigintaduonion t)
Returns the difference between this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31. |
Trigintaduonion |
tan()
Returns the tangent of this trigintaduonion s. |
Trigintaduonion |
tanh()
Returns the hyperbolic tangent of this trigintaduonion s. |
double[] |
toArray()
Converts this trigintaduonion s in to an array of four doubles. |
double[] |
toArray(byte[] v)
Convert this trigintaduonion o to an array of doubles. |
double[] |
toImagArray()
Converts the imaginary part of this trigintaduonion s in to an array of three doubles. |
java.lang.String |
toString()
Returns a string representing this trigintaduonion s. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final Trigintaduonion ZERO
public static final Trigintaduonion ONE
public static final Trigintaduonion I
public static final Trigintaduonion J
public static final Trigintaduonion K
public static final Trigintaduonion E1
public static final Trigintaduonion I1
public static final Trigintaduonion J1
public static final Trigintaduonion K1
public static final Trigintaduonion E2
public static final Trigintaduonion I2
public static final Trigintaduonion J2
public static final Trigintaduonion K2
public static final Trigintaduonion E3
public static final Trigintaduonion I3
public static final Trigintaduonion J3
public static final Trigintaduonion K3
public static final Trigintaduonion E4
public static final Trigintaduonion I4
public static final Trigintaduonion J4
public static final Trigintaduonion K4
public static final Trigintaduonion E5
public static final Trigintaduonion I5
public static final Trigintaduonion J5
public static final Trigintaduonion K5
public static final Trigintaduonion E6
public static final Trigintaduonion I6
public static final Trigintaduonion J6
public static final Trigintaduonion K6
public static final Trigintaduonion E7
public static final Trigintaduonion I7
public static final Trigintaduonion J7
public static final Trigintaduonion K7
public static final Trigintaduonion NaN
Constructor Detail |
---|
public Trigintaduonion(double a0, double a1, double a2, double a3, double a4, double a5, double a6, double a7, double a8, double a9, double a10, double a11, double a12, double a13, double a14, double a15, double a16, double a17, double a18, double a19, double a20, double a21, double a22, double a23, double a24, double a25, double a26, double a27, double a28, double a29, double a30, double a31)
Generates the trigintaduonion a0 + ia1 + ...+ k(7)a31.
a0
- the real parta1
- the coefficient of ia2
- the coefficient of ja3
- the coefficient of ka4
- the coefficient of e'a31
- the coefficient of k(7)public Trigintaduonion(double a0)
Generates the trigintaduonion a0 + i0 + j0 +...+ k(7)0.
a0
- the real partpublic Trigintaduonion(double a1, double a2, double a3, double a4, double a5, double a6, double a7, double a8, double a9, double a10, double a11, double a12, double a13, double a14, double a15, double a16, double a17, double a18, double a19, double a20, double a21, double a22, double a23, double a24, double a25, double a26, double a27, double a28, double a29, double a30, double a31)
Generates the imaginary trigintaduonion ia1 + ja2 +...+ k(7)a31.
a1
- the coefficient of ia2
- the coefficient of ja3
- the coefficient of ka31
- the coefficient of k(7)public Trigintaduonion(double[] v)
Generates a trigintaduonion based on the entries of the array v.
An array v of length 32 defines the trigintaduonion v0 + iv1 + jv2 +...+ k(7)v31, and
An array v of length 31 defines the trigintaduonion 0 + iv1 + jv2 +...+ k(7)v30, and
v
- array of length 31 or 32public Trigintaduonion(double x, double[] v)
Generates the trigintaduonion x + iv0 + jv1 +...+ k(7)v30.
x
- the real partv
- array of length 31Method Detail |
---|
public static final Trigintaduonion random()
Math.random()
public static final Trigintaduonion random(int n)
A factory method for constructing a complex number with random nth coefficient.
Math.random()
public final Trigintaduonion random(boolean[] v)
A factory method to create a random trigintaduonion defined by the boolean vector v.
In the result, the coefficient of the nth term is a random double if vn == true.
v
- an array indicating a subspace
Math.random()
public static final Trigintaduonion randomReal()
A factory method for constructing an trigintaduonion with random real part.
Math.random()
public static final Trigintaduonion randomImaginary()
Math.random()
public final boolean equals(java.lang.Object t)
Returns true if this trigintaduonion s equals the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
The sedendions are equal if an = bn for each n.
Note: NaN == NaN returns false but 0.0 == -0.0 returns true.
equals
in class java.lang.Object
public final boolean equals(java.lang.Object t, double eps)
Returns true if this trigintaduonion s equals the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
Two nonzero trigintaduonions s and t are equal up to ε if |s - t|/min( |s|, |t| ) < ε.
If s = 0 or t = 0 then we check that |t| < ε or |s| < ε, respectively.
eps
- the allowable relative difference: greater than or equal to 0
public final int hashCode()
Returns a hash code for the this trigintaduonion s based on the coefficients.
hashCode
in class java.lang.Object
public final java.lang.String toString()
Returns a string representing this trigintaduonion s.
If N0 = abs(a), N1 = abs(b), N2 = abs(c), and N3 = abs(d), then the return value is "[-]N0 (+|-) iN1 (+|-) jN2 (+|-) kN3".
toString
in class java.lang.Object
public static final java.lang.String[] imaginaryUnits(java.lang.String[] units)
Set the strings to be used for the thirty-one imaginary units.
For example, double[] {"i", "j", "k", "e<sup>(1)</sup>", "i<sup>(1)</sup>", "j<sup>(1)</sup>", "k<sup>(1)</sup>", "e<sup>(2)</sup>", "i<sup>(2)</sup>", "j<sup>(2)</sup>", "k<sup>(2)</sup>", "e<sup>(3)</sup>", "i<sup>(3)</sup>", "j<sup>(3)</sup>", "k<sup>(3)</sup>", "e<sup>(4)</sup>", "i<sup>(4)</sup>", "j<sup>(4)</sup>", "k<sup>(4)</sup>", "e<sup>(5)</sup>", "i<sup>(5)</sup>", "j<sup>(5)</sup>", "k<sup>(5)</sup>", "e<sup>(6)</sup>", "i<sup>(6)</sup>", "j<sup>(6)</sup>", "k<sup>(6)</sup>"}
.
public final double[] toArray()
public final double[] toArray(byte[] v)
Convert this trigintaduonion o to an array of doubles.
The coefficient placed into the nth entry of the array is determined by vn.
v
- an array of 0, 1, 2, ..., or 31, indicating which coefficient is to be placed into the nth entry of the array
public final double[] toImagArray()
public final boolean isZero()
public final boolean isReal()
public final boolean isImaginary()
public final boolean isImaginary(int n)
public final boolean isNaN()
Double.isNaN(double)
public final boolean isInfinite()
Double.isInfinite(double)
public final double abs()
Returns the absolute value of this trigintaduonion s.
abs(s) = |s| = sqrt(a02 + a12 + a22 +...+ a312).
Special case:
public final double abs2()
Returns the square of the absolute value of this trigintaduonion s.
abs(s)2 = |s|2 = a02 + a12 + a22 +...+ a312.
Special case:
public final double absImag()
Returns the absolute value of the imaginary part of this trigintaduonion s.
abs(imag(s)) = |imag(s)| = sqrt(a12 + a22 +...+ a312).
Special case:
public final double abs2Imag()
Returns the square of the absolute value of the imaginary part of this trigintaduonion s.
abs(imag(s))2 = |imag(s)|2 = a12 + a22 +...+ a312.
Special case:
public final double real()
Returns the real part of this trigintaduonion s.
real(s) = a0.
public final Trigintaduonion imag()
Returns the imaginary part of this trigintaduonion s.
imag(s) = ia1 + ja2 +...+ k(7)a31.
public final double coefficient(int n)
Returns the coefficient of the nth term of this trigintaduonion s.
n
- the number (0, 1, 2, ..., 31) of the coefficient to return
public final Trigintaduonion project(int n)
Project this trigintaduonion s onto the nth term.
n
- the number of term (0, 1, 2, ..., 31) to be projected onto
public final Trigintaduonion project(boolean[] v)
Project this trigintaduonion s onto the subspace defined by the boolean vector v.
In the result, the coefficient of the nth term is set to 0.0 if vn == false.
v
- an array indicating the terms to project onto
public final Trigintaduonion conjugate()
Returns the conjugate of this trigintaduonion s.
conjugate(s) = a0 - ia1 - ja2 -...- k(7)a31.
public final double argument()
Returns the argument of this trigintaduonion s.
This is a value on the interval [0, &pi]. For non-zero s, if u = imag(s)/|imag(s)| then s = |s|eu argument(s).
argument(s) = atan2( |imag(s)|, a ).
public final Trigintaduonion signum()
Returns a normalized form of this trigintaduonion s when it is non-zero and s otherwise.
public final Trigintaduonion add(Trigintaduonion t)
Returns the sum of this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
s + t = (a0 + b0) + i(a1 + b1) + j(a2 + b2) +...+ k(7)(a31 + b31).
public final Trigintaduonion add(int n, double x)
Returns this sedenian s with x added onto its nth term.
n
- the number (0, 1, 2, ..., 31) of the onto which to add x
public final Trigintaduonion add(double x)
Returns the sum of this trigintaduonion s and the real number x.
s + x = (a0 + x) + ia1 + ja2 +...+ k(7)a31.
public final Trigintaduonion subtract(Trigintaduonion t)
Returns the difference between this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
s - t = (a0 - b0) + i(a1 - b1) + j(a2 - b2) +...+ k(7)(a31 - b31).
public final Trigintaduonion negate()
Returns the negative of this trigintaduonion s.
-s = -a0 - ia1 - ja2 -...- k'''a31.
public final Trigintaduonion multiply(Trigintaduonion t)
Returns the product of this trigintaduonion s and the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
Multiplication is distributive with the following multiplication matrix for 1 and the imaginary units:
× | 1 | i | j | k | e' | i' | j' | k' | e'' | i'' | j'' | k'' | e''' | i''' | j''' | k''' | e(4) | i(4) | j(4) | k(4) | e(5) | i(5) | j(5) | k(5) | e(6) | i(6) | j(6) | k(6) | e(7) | i(7) | j(7) | k(7) |
1 | 1 | i | j | k | e' | i' | j' | k' | e'' | i'' | j'' | k'' | e''' | i''' | j''' | k''' | e(4) | i(4) | j(4) | k(4) | e(5) | i(5) | j(5) | k(5) | e(6) | i(6) | j(6) | k(6) | e(7) | i(7) | j(7) | k(7) |
i | i | -1 | k | -j | i' | -e' | -k' | j' | i'' | -e'' | -k'' | j'' | -i''' | e''' | k''' | -j''' | i(4) | -e(4) | -k(4) | j(4) | -i(5) | e(5) | k(5) | -j(5) | -i(6) | e(6) | k(6) | -j(6) | i(7) | -e(7) | -k(7) | j(7) |
j | j | -k | -1 | i | j' | k' | -e' | -i' | j'' | k'' | -e'' | -i'' | -j''' | -k''' | e''' | i''' | j(4) | k(4) | -e(4) | -i(4) | -j(5) | -k(5) | e(5) | i(5) | -j(6) | -k(6) | e(6) | i(6) | j(7) | k(7) | -e(7) | -i(7) |
k | k | j | -i | -1 | k' | -j' | i' | -e' | k'' | -j'' | i'' | -e'' | -k''' | j''' | -i''' | e''' | k(4) | -j(4) | i(4) | -e(4) | -k(5) | j(5) | -i(5) | e(5) | -k(6) | j(6) | -i(6) | e(6) | k(7) | -j(7) | i(7) | -e(7) |
e' | e' | -i' | -j' | -k' | -1 | i | j | k | e''' | i''' | j''' | k''' | -e'' | -i'' | -j'' | -k'' | e(5) | i(5) | j(5) | k(5) | -e(4) | -i(4) | -j(4) | -k(4) | -e(7) | -i(7) | -j(7) | -k(7) | e(6) | i(6) | j(6) | k(6) |
i' | i' | e' | -k' | j' | -i | -1 | -k | j | i''' | -e''' | k''' | -j''' | i'' | -e'' | k'' | -j'' | i(5) | -e(5) | k(5) | -j(5) | i(4) | -e(4) | k(4) | -j(4) | -i(7) | e(7) | -k(7) | j(7) | -i(6) | e(6) | -k(6) | j(6) |
j' | j' | k' | e' | -i' | -j | k | -1 | -i | j''' | -k''' | -e''' | i''' | j'' | -k'' | -e'' | i'' | j(5) | -k(5) | -e(5) | i(5) | j(4) | -k(4) | -e(4) | i(4) | -j(7) | k(7) | e(7) | -i(7) | -j(6) | k(6) | e(6) | -i(6) |
k' | k' | -j' | i' | e' | -k | -j | i | -1 | k''' | j''' | -i''' | -e''' | k'' | j'' | -i'' | -e'' | k(5) | j(5) | -i(5) | -e(5) | k(4) | j(4) | -i(4) | -e(4) | -k(7) | -j(7) | i(7) | e(7) | -k(6) | -j(6) | i(6) | e(6) |
e'' | e'' | -i'' | -j'' | -k'' | -e''' | -i''' | -j''' | -k''' | -1 | i | j | k | e' | i' | j' | k' | e(6) | i(6) | j(6) | k(6) | e(7) | i(7) | j(7) | k(7) | -e(4) | -i(4) | -j(4) | -k(4) | -e(5) | -i(5) | -j(5) | -k(5) |
i'' | i'' | e'' | -k'' | j'' | -i''' | e''' | k''' | -j''' | -i | -1 | -k | j | -i' | e' | k' | -j' | i(6) | -e(6) | k(6) | -j(6) | i(7) | -e(7) | -k(7) | j(7) | i(4) | -e(4) | k(4) | -j(4) | i(5) | -e(5) | -k(5) | j(5) |
j'' | j'' | k'' | e'' | -i'' | -j''' | -k''' | e''' | i''' | -j | k | -1 | -i | -j' | -k' | e' | i' | j(6) | -k(6) | -e(6) | i(6) | j(7) | k(7) | -e(7) | -i(7) | j(4) | -k(4) | -e(4) | i(4) | j(5) | k(5) | -e(5) | -i(5) |
k'' | k'' | -j'' | i'' | e'' | -k''' | j''' | -i''' | e''' | -k | -j | i | -1 | -k' | j' | -i' | e' | k(6) | j(6) | -i(6) | -e(6) | k(7) | -j(7) | i(7) | -e(7) | k(4) | j(4) | -i(4) | -e(4) | k(5) | -j(5) | i(5) | -e(5) |
e''' | e''' | i''' | j''' | k''' | e'' | -i'' | -j'' | -k'' | -e' | i' | j' | k' | -1 | -i | -j | -k | e(7) | -i(7) | -j(7) | -k(7) | -e(6) | i(6) | j(6) | k(6) | e(5) | -i(5) | -j(5) | -k(5) | -e(4) | i(4) | j(4) | k(4) |
i''' | i''' | -e''' | k''' | -j''' | i'' | e'' | k'' | -j'' | -i' | -e' | k' | -j' | i | -1 | k | -j | i(7) | e(7) | -k(7) | j(7) | -i(6) | -e(6) | -k(6) | j(6) | i(5) | e(5) | -k(5) | j(5) | -i(4) | -e(4) | -k(4) | j(4) |
j''' | j''' | -k''' | -e''' | i''' | j'' | -k'' | e'' | i'' | -j' | -k' | -e' | i' | j | -k | -1 | i | j(7) | k(7) | e(7) | -i(7) | -j(6) | k(6) | -e(6) | -i(6) | j(5) | k(5) | e(5) | -i(5) | -j(4) | k(4) | -e(4) | -i(4) |
k''' | k''' | j''' | -i''' | -e''' | k'' | j'' | -i'' | e'' | -k' | j' | -i' | -e' | k | j | -i | -1 | k(7) | -j(7) | i(7) | e(7) | -k(6) | -j(6) | i(6) | -e(6) | k(5) | -j(5) | i(5) | e(5) | -k(4) | -j(4) | i(4) | -e(4) |
e(4) | e(4) | -i(4) | -j(4) | -k(4) | -e(5) | -i(5) | -j(5) | -k(5) | -e(6) | -i(6) | -j(6) | -k(6) | -e(7) | -i(7) | -j(7) | -k(7) | -1 | i | j | k | e' | i' | j' | k' | e'' | i'' | j'' | k'' | e''' | i''' | j''' | k''' |
i(4) | i(4) | e(4) | -k(4) | j(4) | -i(5) | e(5) | k(5) | -j(5) | -i(6) | e(6) | k(6) | -j(6) | i(7) | -e(7) | -k(7) | j(7) | -i | -1 | -k | j | -i' | e' | k' | -j' | -i'' | e'' | k'' | -j'' | i''' | -e''' | -k''' | j''' |
j(4) | j(4) | k(4) | e(4) | -i(4) | -j(5) | -k(5) | e(5) | i(5) | -j(6) | -k(6) | e(6) | i(6) | j(7) | k(7) | -e(7) | -i(7) | -j | k | -1 | -i | -j' | -k' | e' | i' | -j'' | -k'' | e'' | i'' | j''' | k''' | -e''' | -i''' |
k(4) | k(4) | -j(4) | i(4) | e(4) | -k(5) | j(5) | -i(5) | e(5) | -k(6) | j(6) | -i(6) | e(6) | k(7) | -j(7) | i(7) | -e(7) | -k | -j | i | -1 | -k' | j' | -i' | e' | -k'' | j'' | -i'' | e'' | k''' | -j''' | i''' | -e''' |
e(5) | e(5) | i(5) | j(5) | k(5) | e(4) | -i(4) | -j(4) | -k(4) | -e(7) | -i(7) | -j(7) | -k(7) | e(6) | i(6) | j(6) | k(6) | -e' | i' | j' | k' | -1 | -i | -j | -k | -e''' | -i''' | -j''' | -k''' | e'' | i'' | j'' | k'' |
i(5) | i(5) | -e(5) | k(5) | -j(5) | i(4) | e(4) | k(4) | -j(4) | -i(7) | e(7) | -k(7) | j(7) | -i(6) | e(6) | -k(6) | j(6) | -i' | -e' | k' | -j' | i | -1 | k | -j | -i''' | e''' | -k''' | j''' | -i'' | e'' | -k'' | j'' |
j(5) | j(5) | -k(5) | -e(5) | i(5) | j(4) | -k(4) | e(4) | i(4) | -j(7) | k(7) | e(7) | -i(7) | -j(6) | k(6) | e(6) | -i(6) | -j' | -k' | -e' | i' | j | -k | -1 | i | -j''' | k''' | e''' | -i''' | -j'' | k'' | e'' | -i'' |
k(5) | k(5) | j(5) | -i(5) | -e(5) | k(4) | j(4) | -i(4) | e(4) | -k(7) | -j(7) | i(7) | e(7) | -k(6) | -j(6) | i(6) | e(6) | -k' | j' | -i' | -e' | k | j | -i | -1 | -k''' | -j''' | i''' | e''' | -k'' | -j'' | i'' | e'' |
e(6) | e(6) | i(6) | j(6) | k(6) | e(7) | i(7) | j(7) | k(7) | e(4) | -i(4) | -j(4) | -k(4) | -e(5) | -i(5) | -j(5) | -k(5) | -e'' | i'' | j'' | k'' | e''' | i''' | j''' | k''' | -1 | -i | -j | -k | -e' | -i' | -j' | -k' |
i(6) | i(6) | -e(6) | k(6) | -j(6) | i(7) | -e(7) | -k(7) | j(7) | i(4) | e(4) | k(4) | -j(4) | i(5) | -e(5) | -k(5) | j(5) | -i'' | -e'' | k'' | -j'' | i''' | -e''' | -k''' | j''' | i | -1 | k | -j | i' | -e' | -k' | j' |
j(6) | j(6) | -k(6) | -e(6) | i(6) | j(7) | k(7) | -e(7) | -i(7) | j(4) | -k(4) | e(4) | i(4) | j(5) | k(5) | -e(5) | -i(5) | -j'' | -k'' | -e'' | i'' | j''' | k''' | -e''' | -i''' | j | -k | -1 | i | j' | k' | -e' | -i' |
k(6) | k(6) | j(6) | -i(6) | -e(6) | k(7) | -j(7) | i(7) | -e(7) | k(4) | j(4) | -i(4) | e(4) | k(5) | -j(5) | i(5) | -e(5) | -k'' | j'' | -i'' | -e'' | k''' | -j''' | i''' | -e''' | k | j | -i | -1 | k' | -j' | i' | -e' |
e(7) | e(7) | -i(7) | -j(7) | -k(7) | -e(6) | i(6) | j(6) | k(6) | e(5) | -i(5) | -j(5) | -k(5) | e(4) | i(4) | j(4) | k(4) | -e''' | -i''' | -j''' | -k''' | -e'' | i'' | j'' | k'' | e' | -i' | -j' | -k' | -1 | i | j | k |
i(7) | i(7) | e(7) | -k(7) | j(7) | -i(6) | -e(6) | -k(6) | j(6) | i(5) | e(5) | -k(5) | j(5) | -i(4) | e(4) | -k(4) | j(4) | -i''' | e''' | -k''' | j''' | -i'' | -e'' | -k'' | j'' | i' | e' | -k' | j' | -i | -1 | -k | j |
j(7) | j(7) | k(7) | e(7) | -i(7) | -j(6) | k(6) | -e(6) | -i(6) | j(5) | k(5) | e(5) | -i(5) | -j(4) | k(4) | e(4) | -i(4) | -j''' | k''' | e''' | -i''' | -j'' | k'' | -e'' | -i'' | j' | k' | e' | -i' | -j | k | -1 | -i |
k(7) | k(7) | -j(7) | i(7) | e(7) | -k(6) | -j(6) | i(6) | -e(6) | k(5) | -j(5) | i(5) | e(5) | -k(4) | -j(4) | i(4) | e(4) | -k''' | -j''' | i''' | e''' | -k'' | -j'' | i'' | -e'' | k' | -j' | i' | e' | -k | -j | i | -1 |
In general, st ≠ ts, s(tu) ≠ (st)u, and s(st) ≠ s2t.
public final Trigintaduonion multiply(double x)
Returns the product of this trigintaduonion s and the real number x.
sx = xa0 + ixa1 + jxa2 +...+ k'''xa31
public final Trigintaduonion divide(Trigintaduonion t)
Returns the quotient of this trigintaduonion s over the trigintaduonion t = b0 + ib1 + jb2 +...+ k(7)b31.
s/t = sconjugate(t)/|t|2. In general, s/t ≠ (1/p)q.
public final Trigintaduonion pow(Trigintaduonion t)
public final Trigintaduonion pow(double x)
Returns this trigintaduonion s raised to the real number x.
public final Trigintaduonion pow(int n)
Returns this trigintaduonion s raised to the integer n.
public final Trigintaduonion sqr()
Returns the square of this trigintaduonion s.
public final Trigintaduonion horner(double[] v)
Evaluate the polynomial with real coefficients, given by the array of doubles v, at this trigintaduonion s.
If n = v.length - 1 then this method evaluates v0 + v1s + ... + vnsn using Horner's rule.
public final Trigintaduonion sqrt()
Returns the square root of this trigintaduonion s.
The branch cut is on (-∞, 0).
public final Trigintaduonion sqrt(Trigintaduonion u)
Returns the square root of this trigintaduonion s.
The branch cut is on (-∞, 0).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion exp()
Returns Euler's number (e) raised to the power of this trigintaduonion s.
If u = imag(s)/|imag(s)| then es = ea(cos|imag(s)| + u sin|imag(s)|).
public final Trigintaduonion log()
Returns the natural logarithm of this trigintaduonion s.
The branch cut is on (-∞, 0].
public final Trigintaduonion log(Trigintaduonion u)
Returns the natural logarithm of this trigintaduonion s.
The branch cut is on (-∞, 0].
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion log10()
Returns the logarithm base 10 of this trigintaduonion s.
The branch cut is on (-∞, 0].
public final Trigintaduonion log10(Trigintaduonion u)
Returns the natural logarithm of this trigintaduonion s.
The branch cut is on (-∞, 0].
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion sin()
Returns the sine of this trigintaduonion s.
public final Trigintaduonion cos()
Returns the cosine of this trigintaduonion s.
public final Trigintaduonion tan()
Returns the tangent of this trigintaduonion s.
public final Trigintaduonion sec()
Returns the secant of this trigintaduonion s.
public final Trigintaduonion csc()
Returns the cosecant of this trigintaduonion s.
public final Trigintaduonion cot()
Returns the cotangent of this trigintaduonion s.
public final Trigintaduonion sinh()
Returns the hyperbolic sine of this trigintaduonion s.
public final Trigintaduonion cosh()
Returns the hyperbolic cosine of this trigintaduonion s.
public final Trigintaduonion tanh()
Returns the hyperbolic tangent of this trigintaduonion s.
public final Trigintaduonion sech()
Returns the hyperbolic secant of this trigintaduonion s.
public final Trigintaduonion csch()
Returns the hyperbolic cosecant of this trigintaduonion s.
public final Trigintaduonion coth()
Returns the hyperbolic cotangent of this trigintaduonion s.
public final Trigintaduonion asin()
Returns the principal inverse sine of this trigintaduonion s.
The branch cuts are (-∞, -1) and (1, ∞).
public final Trigintaduonion asin(Trigintaduonion u)
Returns the principal inverse sine of this trigintaduonion s.
The branch cuts are (-∞, -1) and (1, ∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acos()
Returns the principal inverse cosine of this trigintaduonion s.
The branch cuts are (-∞, -1) and (1, ∞).
public final Trigintaduonion acos(Trigintaduonion u)
Returns the principal inverse cosine of this trigintaduonion s.
The branch cuts are (-∞, -1) and (1, ∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion atan()
Returns the principal inverse tangent of this trigintaduonion s.
The branch cuts are (-u∞, -u] and [u, u∞).
public final Trigintaduonion atan(Trigintaduonion u)
Returns the principal inverse tangent of this trigintaduonion s.
The branch cuts are (-u∞, -u] and [u, u∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion asec()
Returns the principal inverse secant of this trigintaduonion s.
The branch cut is (-1, 1).
public final Trigintaduonion asec(Trigintaduonion u)
Returns the principal inverse secant of this trigintaduonion s.
The branch cut is (-1, 1).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acsc()
Returns the principal inverse cosecant of this trigintaduonion s.
The branch cut is (-1, 1).
public final Trigintaduonion acsc(Trigintaduonion u)
Returns the principal inverse cosecant of this trigintaduonion s.
The branch cut is (-1, 1).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acot()
Returns the principal inverse cotangent of this trigintaduonion s.
The branch cut is (-u, u).
public final Trigintaduonion acot(Trigintaduonion u)
Returns the principal inverse cotangent of this trigintaduonion s.
The branch cut is (-u, u).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion asinh()
Returns the principal inverse hyperbolic sine of this trigintaduonion s.
The branch cuts are (-u∞, -u) and (u, u∞).
public final Trigintaduonion asinh(Trigintaduonion u)
Returns the principal inverse hyperbolic sine of this trigintaduonion s.
The branch cuts are (-u∞, -u) and (u, u∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acosh()
Returns the principal inverse hyperbolic cosine of this trigintaduonion s.
The branch cut is (-∞, 1).
public final Trigintaduonion acosh(Trigintaduonion u)
Returns the principal inverse hyperbolic cosine of this trigintaduonion s.
The branch cut is (-∞, 1).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion atanh()
Returns the principal inverse hyperbolic tangent of this trigintaduonion s.
The branch cuts are (-∞, -1] and [1, ∞).
public final Trigintaduonion atanh(Trigintaduonion u)
Returns the principal inverse hyperbolic tangent of this trigintaduonion s.
The branch cuts are (-∞, -1] and [1, ∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion asech()
Returns the principal inverse hyperbolic secant of this trigintaduonion s.
The branch cuts are (-∞, 0] and (1, ∞).
public final Trigintaduonion asech(Trigintaduonion u)
Returns the principal inverse hyperbolic secant of this trigintaduonion s.
The branch cuts are (-∞, 0] and (1, ∞).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acsch()
Returns the principal inverse hyperbolic cosecant of this trigintaduonion s.
The branch cut is (-i, i).
public final Trigintaduonion acsch(Trigintaduonion u)
Returns the principal inverse hyperbolic cosecant of this trigintaduonion s.
The branch cut is (-u, u).
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion acoth()
Returns the principal inverse hyperbolic cotangent of this trigintaduonion s.
The branch cut is [-1, 1].
public final Trigintaduonion acoth(Trigintaduonion u)
Returns the principal inverse hyperbolic cotangent of this trigintaduonion s.
The branch cut is [-1, 1].
On the branch cuts, the imaginary part is a multiple of the imaginary trigintaduonion u.
u
- a non-real trigintaduonion
public final Trigintaduonion ceil()
Returns the ceiling of each of the coefficients of this trigintaduonion s.
Math.ceil(double)
public final Trigintaduonion floor()
Returns the floor of each of the coefficients of this trigintaduonion s.
Math.floor(double)
public final Trigintaduonion rint()
Returns each coefficient of the trigintaduonion s rounded to the nearest double equal to an integer.
Math.rint(double)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |