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
TWO
public static final ComplexNumber TWO
ZERO
public static final ComplexNumber ZERO
ComplexNumber
public ComplexNumber(double aRealValue)
makePolar
public static ComplexNumber makePolar(double modulus,
double argument)
makeRectangular
public static ComplexNumber makeRectangular(double real,
double imaginary)
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)
- Will call NumberContext.enforce(double) on the real
and imaginary parts separately.
- See Also:
Scalar.enforce(org.ojalgo.type.context.NumberContext)
equals
public boolean equals(Scalar<?> aSclr)
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()
intValue
public int intValue()
- Specified by:
intValue in class Number
- See Also:
Number.intValue()
invert
public ComplexNumber invert()
- See Also:
Scalar.conjugate(),
Scalar.invert(),
Scalar.negate()
isAbsolute
public boolean isAbsolute()
- 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.isPositive(),
Scalar.isZero()
isInfinite
public boolean isInfinite()
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isPositive(),
Scalar.isZero()
isNaN
public boolean isNaN()
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isPositive(),
Scalar.isZero()
isReal
public boolean isReal()
- Returns:
- true if there is the imaginary part is negligible; otherwise false.
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isPositive(),
Scalar.isZero()
isPositive
public boolean isPositive()
- Description copied from interface:
Scalar
- Strictly Positive, and definately real.
Real, as defined by
Scalar.isReal(), not zero, as defined by Scalar.isZero(), and > 0.0.
- Returns:
- true if the real part is strictly positive (not zero)
and the imaginary part negligible; otherwise false.
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isPositive(),
Scalar.isZero()
isZero
public boolean isZero()
- Description copied from interface:
Scalar
- Intends to capture if a scalar is numerically/practically zero,
and in a way that is concistent between different implementations.
The potential exactness of
BigScalar and
RationalNumber should not be reflected here.
- Returns:
- true if the modulus is (practically) zero; otherwise false.
- See Also:
Scalar.isAbsolute(),
Scalar.isInfinite(),
Scalar.isNaN(),
Scalar.isReal(),
Scalar.isPositive(),
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)
round
public ComplexNumber round(NumberContext aCntxt)
- Will call NumberContext.round(double) on the real
and imaginary parts separately.
- See Also:
Scalar.enforce(org.ojalgo.type.context.NumberContext)
signum
public ComplexNumber signum()
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()
toRationalNumber
public RationalNumber toRationalNumber()
toString
public String toString()
- Overrides:
toString in class Object
- See Also:
Object.toString()
equals
public final boolean equals(Object someObj)
- Overrides:
equals in class Object
hashCode
public final int hashCode()
- Overrides:
hashCode in class Object