org.jscience.mathematics.algebraic.numbers
Class Supernumber

java.lang.Object
  extended by java.lang.Number
      extended by org.jscience.mathematics.algebraic.numbers.Supernumber
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Ring.Member, AbelianGroup.Member, Member

public final class Supernumber
extends java.lang.Number
implements java.lang.Cloneable, java.io.Serializable, Ring.Member

The Supernumber class encapsulates supernumbers. They are actually implemented as elements of the Grassmann algebra Lambda4 rather than the full Lambdainfinity.

See Also:
Serialized Form

Field Summary
static java.lang.Class TYPE
           
 
Constructor Summary
Supernumber()
          Constructs a supernumber.
Supernumber(Complex body, Complex[] soul1, Complex[] soul2, Complex[] soul3, Complex soul4)
          Constructs a supernumber.
Supernumber(Supernumber s)
          Constructs a supernumber.
 
Method Summary
 AbelianGroup.Member add(AbelianGroup.Member z)
          Returns the addition of this number and another.
 Supernumber add(Supernumber z)
          Returns the addition of this supernumber and another.
 java.lang.Object clone()
           
 int dimension()
          Returns the dimension.
 double doubleValue()
           
 float floatValue()
           
 Complex getBody()
          Returns the body (rank 0) of this supernumber.
 Complex getSoul1(int i)
          Returns the a-number soul (rank 1) of this supernumber.
 Complex getSoul2(int i)
          Returns the c-number soul (rank 2) of this supernumber.
 Complex getSoul3(int i)
          Returns the a-number soul (rank 3) of this supernumber.
 Complex getSoul4()
          Returns the c-number soul (rank 4) of this supernumber.
 int intValue()
           
 long longValue()
           
 Ring.Member multiply(Ring.Member z)
          Returns the multiplication of this number and another.
 Supernumber multiply(Supernumber z)
          Returns the multiplication of this supernumber and another.
 AbelianGroup.Member negate()
          Returns the negative of this number.
 void setBody(Complex b)
          Sets the body (rank 0) of this supernumber.
 void setSoul1(int i, Complex s)
          Sets the a-number soul (rank 1) of this supernumber.
 void setSoul2(int i, Complex s)
          Sets the c-number soul (rank 2) of this supernumber.
 void setSoul3(int i, Complex s)
          Sets the a-number soul (rank 3) of this supernumber.
 void setSoul4(Complex s)
          Sets the c-number soul (rank 4) of this supernumber.
 AbelianGroup.Member subtract(AbelianGroup.Member z)
          Returns the subtraction of this number and another.
 Supernumber subtract(Supernumber z)
          Returns the subtraction of this supernumber and another.
 java.lang.String toString()
          Returns a string representing the value of this supernumber.
 
Methods inherited from class java.lang.Number
byteValue, shortValue
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final java.lang.Class TYPE
Constructor Detail

Supernumber

public Supernumber()
Constructs a supernumber.


Supernumber

public Supernumber(Supernumber s)
Constructs a supernumber. We don't perform any check though we should.


Supernumber

public Supernumber(Complex body,
                   Complex[] soul1,
                   Complex[] soul2,
                   Complex[] soul3,
                   Complex soul4)
Constructs a supernumber. We don't perform any check though we should.

Method Detail

toString

public java.lang.String toString()
Returns a string representing the value of this supernumber.

Overrides:
toString in class java.lang.Object

getBody

public Complex getBody()
Returns the body (rank 0) of this supernumber.


setBody

public void setBody(Complex b)
Sets the body (rank 0) of this supernumber.


getSoul1

public Complex getSoul1(int i)
Returns the a-number soul (rank 1) of this supernumber.


setSoul1

public void setSoul1(int i,
                     Complex s)
Sets the a-number soul (rank 1) of this supernumber.


getSoul2

public Complex getSoul2(int i)
Returns the c-number soul (rank 2) of this supernumber.


setSoul2

public void setSoul2(int i,
                     Complex s)
Sets the c-number soul (rank 2) of this supernumber.


getSoul3

public Complex getSoul3(int i)
Returns the a-number soul (rank 3) of this supernumber.


setSoul3

public void setSoul3(int i,
                     Complex s)
Sets the a-number soul (rank 3) of this supernumber.


getSoul4

public Complex getSoul4()
Returns the c-number soul (rank 4) of this supernumber.


setSoul4

public void setSoul4(Complex s)
Sets the c-number soul (rank 4) of this supernumber.


dimension

public int dimension()
Returns the dimension.


intValue

public int intValue()
Specified by:
intValue in class java.lang.Number

longValue

public long longValue()
Specified by:
longValue in class java.lang.Number

doubleValue

public double doubleValue()
Specified by:
doubleValue in class java.lang.Number

floatValue

public float floatValue()
Specified by:
floatValue in class java.lang.Number

negate

public AbelianGroup.Member negate()
Returns the negative of this number.

Specified by:
negate in interface AbelianGroup.Member
Returns:
DOCUMENT ME!

add

public AbelianGroup.Member add(AbelianGroup.Member z)
Returns the addition of this number and another.

Specified by:
add in interface AbelianGroup.Member
Parameters:
z - a group member
Returns:
DOCUMENT ME!

add

public Supernumber add(Supernumber z)
Returns the addition of this supernumber and another.

Parameters:
z - a supernumber

subtract

public AbelianGroup.Member subtract(AbelianGroup.Member z)
Returns the subtraction of this number and another.

Specified by:
subtract in interface AbelianGroup.Member
Parameters:
z - a group member
Returns:
DOCUMENT ME!

subtract

public Supernumber subtract(Supernumber z)
Returns the subtraction of this supernumber and another.

Parameters:
z - a supernumber

multiply

public Ring.Member multiply(Ring.Member z)
Returns the multiplication of this number and another.

Specified by:
multiply in interface Ring.Member
Parameters:
z - a ring member
Returns:
DOCUMENT ME!

multiply

public Supernumber multiply(Supernumber z)
Returns the multiplication of this supernumber and another.

Parameters:
z - a supernumber

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object