org.ojalgo.scalar
Class ComplexNumber
java.lang.Object
java.lang.Number
org.ojalgo.scalar.ComplexNumber
- All Implemented Interfaces:
- Serializable, Comparable<ComplexNumber>, Scalar<ComplexNumber>
public final class ComplexNumber
- extends Number
ComplexNumber is an immutable complex number class. It only
implements the most basic complex number operations.
ComplexFunction
implements some of the more complicated ones.
- Author:
- apete
- See Also:
ComplexFunction,
Serialized Form
I
public static final ComplexNumber I
INFINITY
public static final ComplexNumber INFINITY
ONE
public static final ComplexNumber ONE
ZERO
public static final ComplexNumber ZERO
ComplexNumber
public ComplexNumber(double aRealValue)
fromPolarCoordinates
public static ComplexNumber fromPolarCoordinates(double aMod,
double anArg)
fromRectangularCoordinates
public static ComplexNumber fromRectangularCoordinates(double aRe,
double anIm)
add
public ComplexNumber add(ComplexNumber aNumber)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
add
public ComplexNumber add(double aValue)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
compareTo
public int compareTo(ComplexNumber aNmbr)
conjugate
public ComplexNumber conjugate()
- See Also:
Scalar.conjugate(),
Scalar.invert(),
Scalar.negate()
divide
public ComplexNumber divide(ComplexNumber aNumber)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
divide
public ComplexNumber divide(double aValue)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
doubleValue
public double doubleValue()
- Specified by:
doubleValue in class Number
- See Also:
Number.doubleValue()
enforce
public ComplexNumber enforce(NumberContext aCntxt)
equals
public boolean equals(Object anObject)
- Overrides:
equals in class Object
- See Also:
Object.equals(java.lang.Object)
floatValue
public float floatValue()
- Specified by:
floatValue in class Number
- See Also:
Number.floatValue()
getArgument
public double getArgument()
- See Also:
Scalar.getArgument(),
Scalar.getImaginary(),
Scalar.getModulus(),
Scalar.getReal()
getImaginary
public double getImaginary()
- See Also:
Scalar.getArgument(),
Scalar.getImaginary(),
Scalar.getModulus(),
Scalar.getReal()
getModulus
public double getModulus()
- See Also:
Scalar.getArgument(),
Scalar.getImaginary(),
Scalar.getModulus(),
Scalar.getReal()
getNumber
public ComplexNumber getNumber()
getReal
public double getReal()
- See Also:
Scalar.getArgument(),
Scalar.getImaginary(),
Scalar.getModulus(),
Scalar.getReal()
hashCode
public int hashCode()
- Overrides:
hashCode in class Object
- See Also:
Object.hashCode()
intValue
public int intValue()
- Specified by:
intValue in class Number
- See Also:
Number.intValue()
invert
public Scalar<ComplexNumber> invert()
- See Also:
Scalar.conjugate(),
Scalar.invert(),
Scalar.negate()
isInfinite
public boolean isInfinite()
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isZero()
isNaN
public boolean isNaN()
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isZero()
isReal
public boolean isReal()
- Returns:
- true if the absolute value of the imaginary part is less
than or equal to
PrimitiveMath.IS_ZERO; otherwise false. - See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isZero()
longValue
public long longValue()
- Specified by:
longValue in class Number
- See Also:
Number.longValue()
multiply
public ComplexNumber multiply(ComplexNumber aNumber)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
multiply
public ComplexNumber multiply(double aValue)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
negate
public ComplexNumber negate()
- See Also:
Scalar.conjugate(),
Scalar.invert(),
Scalar.negate()
power
public Scalar<ComplexNumber> power(int anExp)
- See Also:
Scalar.power(int),
Scalar.root(int)
root
public ComplexNumber root(int anExp)
- See Also:
Scalar.power(int),
Scalar.root(int)
subtract
public ComplexNumber subtract(ComplexNumber aNumber)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
subtract
public ComplexNumber subtract(double aValue)
- See Also:
Scalar.add(double),
Scalar.add(Number),
Scalar.divide(double),
Scalar.divide(Number),
Scalar.multiply(double),
Scalar.multiply(Number),
Scalar.subtract(double),
Scalar.subtract(Number)
toBigDecimal
public BigDecimal toBigDecimal()
toComplexNumber
public ComplexNumber toComplexNumber()
toString
public String toString()
- Overrides:
toString in class Object
- See Also:
Object.toString()
isAbsolute
public final boolean isAbsolute()
- Specified by:
isAbsolute in interface Scalar<N extends Number>
- Returns:
- true if this is equal to its own modulus (non-negative
real part and no imaginary part); otherwise false.
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isZero()
isZero
public final boolean isZero()
- Specified by:
isZero in interface Scalar<N extends Number>
- Returns:
- true if the modulus is less than or equal to
PrimitiveMath.IS_ZERO; otherwise false. - See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isZero()