ca.uwaterloo.alumni.dwharder.Numbers
Class Trigintaduonion

java.lang.Object
  extended by ca.uwaterloo.alumni.dwharder.Numbers.Trigintaduonion
All Implemented Interfaces:
java.io.Serializable

public final class Trigintaduonion
extends java.lang.Object
implements java.io.Serializable

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.

Since:
JDK 5.0
Version:
1.0beta 22-Mar-2005
Author:
Douglas Wilhelm Harder, Department of Electrical and Computer Engineering, University of Waterloo
See Also:
Double, Math, Serialized Form

Field 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)
          Returns this trigintaduonion s raised to the 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

ZERO

public static final Trigintaduonion ZERO
The constant 0.


ONE

public static final Trigintaduonion ONE
The constant 1.


I

public static final Trigintaduonion I
The constant i.


J

public static final Trigintaduonion J
The constant j.


K

public static final Trigintaduonion K
The constant k.


E1

public static final Trigintaduonion E1
The constant e'.


I1

public static final Trigintaduonion I1
The constant i'.


J1

public static final Trigintaduonion J1
The constant j'.


K1

public static final Trigintaduonion K1
The constant k'.


E2

public static final Trigintaduonion E2
The constant e''.


I2

public static final Trigintaduonion I2
The constant i''.


J2

public static final Trigintaduonion J2
The constant j''.


K2

public static final Trigintaduonion K2
The constant k''.


E3

public static final Trigintaduonion E3
The constant e'''.


I3

public static final Trigintaduonion I3
The constant i'''.


J3

public static final Trigintaduonion J3
The constant j'''.


K3

public static final Trigintaduonion K3
The constant k'''.


E4

public static final Trigintaduonion E4
The constant e(4).


I4

public static final Trigintaduonion I4
The constant i(4).


J4

public static final Trigintaduonion J4
The constant j(4).


K4

public static final Trigintaduonion K4
The constant k(4).


E5

public static final Trigintaduonion E5
The constant e(5).


I5

public static final Trigintaduonion I5
The constant i(5).


J5

public static final Trigintaduonion J5
The constant j(5).


K5

public static final Trigintaduonion K5
The constant k(5).


E6

public static final Trigintaduonion E6
The constant e(6).


I6

public static final Trigintaduonion I6
The constant i(6).


J6

public static final Trigintaduonion J6
The constant j(6).


K6

public static final Trigintaduonion K6
The constant k(6).


E7

public static final Trigintaduonion E7
The constant e(7).


I7

public static final Trigintaduonion I7
The constant i(7).


J7

public static final Trigintaduonion J7
The constant j(7).


K7

public static final Trigintaduonion K7
The constant k(7).


NaN

public static final Trigintaduonion NaN
The constant NaN + iNaN + jNaN +...+ k(7)NaN.

Constructor Detail

Trigintaduonion

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.

Parameters:
a0 - the real part
a1 - the coefficient of i
a2 - the coefficient of j
a3 - the coefficient of k
a4 - the coefficient of e'
a31 - the coefficient of k(7)

Trigintaduonion

public Trigintaduonion(double a0)

Generates the trigintaduonion a0 + i0 + j0 +...+ k(7)0.

Parameters:
a0 - the real part

Trigintaduonion

public 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.

Parameters:
a1 - the coefficient of i
a2 - the coefficient of j
a3 - the coefficient of k
a31 - the coefficient of k(7)

Trigintaduonion

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

Parameters:
v - array of length 31 or 32

Trigintaduonion

public Trigintaduonion(double x,
                       double[] v)

Generates the trigintaduonion x + iv0 + jv1 +...+ k(7)v30.

Parameters:
x - the real part
v - array of length 31
Method Detail

random

public static final Trigintaduonion random()
A factory method for constructing an trigintaduonion with random real and imaginary parts.

Returns:
r0 + ir1 + jr2 + kr3, where each ri is a random double.
See Also:
Math.random()

random

public static final Trigintaduonion random(int n)

A factory method for constructing a complex number with random nth coefficient.

Returns:
r, ir, jr, ..., or k(7)r where r is a random double
See Also:
Math.random()

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.

Parameters:
v - an array indicating a subspace
Returns:
a random trigintaduonion s
See Also:
Math.random()

randomReal

public static final Trigintaduonion randomReal()

A factory method for constructing an trigintaduonion with random real part.

Returns:
r where r is a random double
See Also:
Math.random()

randomImaginary

public static final Trigintaduonion randomImaginary()
A factory method for constructing a random imaginary trigintaduonion.

Returns:
0 + ir1 + jr2 +...+ k(7)r31, where each rn is a random double
See Also:
Math.random()

equals

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.

Overrides:
equals in class java.lang.Object
Returns:
true if the trigintaduonions are equal.

equals

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.

Parameters:
eps - the allowable relative difference: greater than or equal to 0
Returns:
true if the trigintaduonions are approximately equal.

hashCode

public final int hashCode()

Returns a hash code for the this trigintaduonion s based on the coefficients.

Overrides:
hashCode in class java.lang.Object

toString

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".

Overrides:
toString in class java.lang.Object
Returns:
a string of the form "a + ib + jc + kd"

imaginaryUnits

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>"}.

Returns:
the previously used array of imaginary units

toArray

public final double[] toArray()
Converts this trigintaduonion s in to an array of four doubles.

Returns:
new double[] {a0, a1, a2, ..., a31}

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.

Parameters:
v - an array of 0, 1, 2, ..., or 31, indicating which coefficient is to be placed into the nth entry of the array
Returns:
an array of doubles of coefficients as specified by v

toImagArray

public final double[] toImagArray()
Converts the imaginary part of this trigintaduonion s in to an array of three doubles.

Returns:
new double[] {a1, a2, ..., a31}

isZero

public final boolean isZero()
Returns true if all coefficients of this trigintaduonion s are zero, otherwise false.

Returns:
true if s is zero

isReal

public final boolean isReal()
Returns true if all the coefficients of the imaginary part of this trigintaduonion s are zero, otherwise false.

Returns:
true if s is real

isImaginary

public final boolean isImaginary()
Returns true if the real part of this trigintaduonion s is zero and false otherwise.

Returns:
true if s is imaginary

isImaginary

public final boolean isImaginary(int n)
Returns true if the nth imaginary coefficient of this octonian s is the only non-zero coefficient and false otherwise.

Returns:
true if s is non-zero in only one component

isNaN

public final boolean isNaN()
Returns true if any coefficient of this trigintaduonion s is not-a-number (NaN) and false otherwise.

Returns:
true if any coefficient of s is NaN
See Also:
Double.isNaN(double)

isInfinite

public final boolean isInfinite()
Returns true if any coefficient of this trigintaduonion s is infinite and false otherwise.

Returns:
true if any coefficient of s is infinite
See Also:
Double.isInfinite(double)

abs

public final double abs()

Returns the absolute value of this trigintaduonion s.

abs(s) = |s| = sqrt(a02 + a12 + a22 +...+ a312).

Special case:

Returns:
|s|

abs2

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:

Returns:
|s|2

absImag

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:

Returns:
|imag(s)|

abs2Imag

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:

Returns:
|imag(s)|2

real

public final double real()

Returns the real part of this trigintaduonion s.

real(s) = a0.

Returns:
a0
See Also:
project(int)

imag

public final Trigintaduonion imag()

Returns the imaginary part of this trigintaduonion s.

imag(s) = ia1 + ja2 +...+ k(7)a31.

Returns:
0 + imag(s)

coefficient

public final double coefficient(int n)

Returns the coefficient of the nth term of this trigintaduonion s.

Parameters:
n - the number (0, 1, 2, ..., 31) of the coefficient to return
Returns:
the nth coefficient

project

public final Trigintaduonion project(int n)

Project this trigintaduonion s onto the nth term.

Parameters:
n - the number of term (0, 1, 2, ..., 31) to be projected onto
Returns:
a0, ia1, ja2, ..., or k(7)a31

project

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.

Parameters:
v - an array indicating the terms to project onto
Returns:
a perpendicular projection of s

conjugate

public final Trigintaduonion conjugate()

Returns the conjugate of this trigintaduonion s.

conjugate(s) = a0 - ia1 - ja2 -...- k(7)a31.

Returns:
a0 - ia1 - ja2 -...- k(7)a31

argument

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 ).

Returns:
atan2( |imag(s)|, a )

signum

public final Trigintaduonion signum()

Returns a normalized form of this trigintaduonion s when it is non-zero and s otherwise.

Returns:
s/|s| for nonzero s

add

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).

Returns:
s + t

add

public final Trigintaduonion add(int n,
                                 double x)

Returns this sedenian s with x added onto its nth term.

Parameters:
n - the number (0, 1, 2, ..., 31) of the onto which to add x
Returns:
s with x added onto the coefficient of the nth term

add

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.

Returns:
s + x

subtract

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).

Returns:
s - t

negate

public final Trigintaduonion negate()

Returns the negative of this trigintaduonion s.

-s = -a0 - ia1 - ja2 -...- k'''a31.

Returns:
-s

multiply

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:

×1ijke'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)
11ijke'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)
ii-1k-ji'-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)
jj-k-1ij'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)
kkj-i-1k'-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'-1ijke'''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-kji'''-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'-jk-1-ij'''-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-ji-1k'''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'''-1ijke'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-kj-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'''-jk-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-ji-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-ke(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-1k-ji(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-1ij(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'kj-i-1k(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)-1ijke'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-kj-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)-jk-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-ji-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-1k-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-1i-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'kj-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-1k-ji'-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-1ij'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'''kj-i-1k'-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'-1ijk
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-kj
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'-jk-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-ji-1

In general, st ≠ ts, s(tu) ≠ (st)u, and s(st) ≠ s2t.

Returns:
st

multiply

public final Trigintaduonion multiply(double x)

Returns the product of this trigintaduonion s and the real number x.

sx = xa0 + ixa1 + jxa2 +...+ k'''xa31

Returns:
sx

divide

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.

Returns:
s/t

pow

public final Trigintaduonion pow(Trigintaduonion t)
Returns this trigintaduonion s raised to the trigintaduonion t.

Returns:
st

pow

public final Trigintaduonion pow(double x)

Returns this trigintaduonion s raised to the real number x.

Returns:
sx

pow

public final Trigintaduonion pow(int n)

Returns this trigintaduonion s raised to the integer n.

Returns:
sn

sqr

public final Trigintaduonion sqr()

Returns the square of this trigintaduonion s.

Returns:
s2

horner

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.

Returns:
v0 + v1s + ... + vnsn.

sqrt

public final Trigintaduonion sqrt()

Returns the square root of this trigintaduonion s.

The branch cut is on (-∞, 0).

Returns:
sqrt(s)

sqrt

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.

Parameters:
u - a non-real trigintaduonion
Returns:
sqrt(s)

exp

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)|).

Returns:
es
See Also:
log()

log

public final Trigintaduonion log()

Returns the natural logarithm of this trigintaduonion s.

The branch cut is on (-∞, 0].

Returns:
log(s)
See Also:
exp()

log

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.

Parameters:
u - a non-real trigintaduonion
Returns:
log(s)
See Also:
exp()

log10

public final Trigintaduonion log10()

Returns the logarithm base 10 of this trigintaduonion s.

The branch cut is on (-∞, 0].

Returns:
log10(s)

log10

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.

Parameters:
u - a non-real trigintaduonion
Returns:
log10(s)

sin

public final Trigintaduonion sin()

Returns the sine of this trigintaduonion s.

Returns:
sin(s)
See Also:
asin()

cos

public final Trigintaduonion cos()

Returns the cosine of this trigintaduonion s.

Returns:
cos(s)
See Also:
acos()

tan

public final Trigintaduonion tan()

Returns the tangent of this trigintaduonion s.

Returns:
tan(s)
See Also:
atan()

sec

public final Trigintaduonion sec()

Returns the secant of this trigintaduonion s.

Returns:
sec(s)
See Also:
asec()

csc

public final Trigintaduonion csc()

Returns the cosecant of this trigintaduonion s.

Returns:
csc(s)
See Also:
acsc()

cot

public final Trigintaduonion cot()

Returns the cotangent of this trigintaduonion s.

Returns:
cot(s)
See Also:
acot()

sinh

public final Trigintaduonion sinh()

Returns the hyperbolic sine of this trigintaduonion s.

Returns:
sinh(s)
See Also:
asinh()

cosh

public final Trigintaduonion cosh()

Returns the hyperbolic cosine of this trigintaduonion s.

Returns:
cosh(s)
See Also:
acosh()

tanh

public final Trigintaduonion tanh()

Returns the hyperbolic tangent of this trigintaduonion s.

Returns:
tanh(s)
See Also:
atanh()

sech

public final Trigintaduonion sech()

Returns the hyperbolic secant of this trigintaduonion s.

Returns:
sech(s)
See Also:
asech()

csch

public final Trigintaduonion csch()

Returns the hyperbolic cosecant of this trigintaduonion s.

Returns:
csch(s)
See Also:
acsch()

coth

public final Trigintaduonion coth()

Returns the hyperbolic cotangent of this trigintaduonion s.

Returns:
coth(s)
See Also:
acoth()

asin

public final Trigintaduonion asin()

Returns the principal inverse sine of this trigintaduonion s.

The branch cuts are (-∞, -1) and (1, ∞).

Returns:
asin(s)
See Also:
sin()

asin

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.

Parameters:
u - a non-real trigintaduonion
Returns:
asin(s)
See Also:
sin()

acos

public final Trigintaduonion acos()

Returns the principal inverse cosine of this trigintaduonion s.

The branch cuts are (-∞, -1) and (1, ∞).

Returns:
acos(s)
See Also:
cos()

acos

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acos(s)
See Also:
cos()

atan

public final Trigintaduonion atan()

Returns the principal inverse tangent of this trigintaduonion s.

The branch cuts are (-u∞, -u] and [u, u∞).

Returns:
atan(s)
See Also:
tan()

atan

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.

Parameters:
u - a non-real trigintaduonion
Returns:
atan(s)
See Also:
tan()

asec

public final Trigintaduonion asec()

Returns the principal inverse secant of this trigintaduonion s.

The branch cut is (-1, 1).

Returns:
asec(s)
See Also:
sec()

asec

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.

Parameters:
u - a non-real trigintaduonion
Returns:
asec(s)
See Also:
sec()

acsc

public final Trigintaduonion acsc()

Returns the principal inverse cosecant of this trigintaduonion s.

The branch cut is (-1, 1).

Returns:
acsc(s)
See Also:
csc()

acsc

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acsc(s)
See Also:
csc()

acot

public final Trigintaduonion acot()

Returns the principal inverse cotangent of this trigintaduonion s.

The branch cut is (-u, u).

Returns:
acot(s)
See Also:
cot()

acot

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acot(s)
See Also:
cot()

asinh

public final Trigintaduonion asinh()

Returns the principal inverse hyperbolic sine of this trigintaduonion s.

The branch cuts are (-u∞, -u) and (u, u∞).

Returns:
asinh(s)
See Also:
sinh()

asinh

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.

Parameters:
u - a non-real trigintaduonion
Returns:
asinh(s)
See Also:
sinh()

acosh

public final Trigintaduonion acosh()

Returns the principal inverse hyperbolic cosine of this trigintaduonion s.

The branch cut is (-∞, 1).

Returns:
acosh(s)
See Also:
cosh()

acosh

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acosh(s)
See Also:
cosh()

atanh

public final Trigintaduonion atanh()

Returns the principal inverse hyperbolic tangent of this trigintaduonion s.

The branch cuts are (-∞, -1] and [1, ∞).

Returns:
atanh(s)
See Also:
tanh()

atanh

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.

Parameters:
u - a non-real trigintaduonion
Returns:
atanh(s)
See Also:
tanh()

asech

public final Trigintaduonion asech()

Returns the principal inverse hyperbolic secant of this trigintaduonion s.

The branch cuts are (-∞, 0] and (1, ∞).

Returns:
asech(s)
See Also:
sech()

asech

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.

Parameters:
u - a non-real trigintaduonion
Returns:
asech(s)
See Also:
sech()

acsch

public final Trigintaduonion acsch()

Returns the principal inverse hyperbolic cosecant of this trigintaduonion s.

The branch cut is (-i, i).

Returns:
acsch(s)
See Also:
csch()

acsch

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acsch(s)
See Also:
csch()

acoth

public final Trigintaduonion acoth()

Returns the principal inverse hyperbolic cotangent of this trigintaduonion s.

The branch cut is [-1, 1].

Returns:
acoth(s)
See Also:
coth()

acoth

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.

Parameters:
u - a non-real trigintaduonion
Returns:
acoth(s)
See Also:
coth()

ceil

public final Trigintaduonion ceil()

Returns the ceiling of each of the coefficients of this trigintaduonion s.

Returns:
ceil(a0) + i ceil(a1)+ j ceil(a2)+...+ k(7) ceil(a31)
See Also:
Math.ceil(double)

floor

public final Trigintaduonion floor()

Returns the floor of each of the coefficients of this trigintaduonion s.

Returns:
floor(a0) + i floor(a1)+ j floor(a2)+...+ k(7) floor(a31)
See Also:
Math.floor(double)

rint

public final Trigintaduonion rint()

Returns each coefficient of the trigintaduonion s rounded to the nearest double equal to an integer.

Returns:
rint(a0) + i rint(a1)+ j rint(a2)+...+ k''' rint(a31)
See Also:
Math.rint(double)