org.encog.mathutil
Class ComplexNumber
- java.lang.Object
-
- org.encog.mathutil.ComplexNumber
-
public class ComplexNumber extends java.lang.ObjectA complex number class. This class is based on source code by Andrew G. Bennett, Department of Mathematics Kansas State University The original version can be found here: http://www.math.ksu.edu/~bennett/jomacg/c.html
-
-
Constructor Summary
Constructors Constructor and Description ComplexNumber(ComplexNumber other)Create a complex number from another complex number.ComplexNumber(double u, double v)Constructs the complex number z = u + i*v
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublearg()Argument of this Complex number (the angle in radians with the x-axis in polar coordinates).ComplexNumberchs()Negative of this complex number (chs stands for change sign).ComplexNumberconj()Complex conjugate of this Complex number (the conjugate of x+i*y is x-i*y).ComplexNumbercos()Cosine of this Complex number (doesn't change this Complex number).ComplexNumbercosh()Hyperbolic cosine of this Complex number (doesn't change this Complex number).ComplexNumberdiv(ComplexNumber w)Division of Complex numbers (doesn't change this Complex number).ComplexNumberexp()Complex exponential (doesn't change this Complex number).doublegetImaginary()Imaginary part of this Complex number (the y-coordinate in rectangular coordinates).doublegetReal()Real part of this Complex number (the x-coordinate in rectangular coordinates).ComplexNumberlog()Principal branch of the Complex logarithm of this Complex number.ComplexNumberminus(ComplexNumber w)Subtraction of Complex numbers (doesn't change this Complex number).doublemod()Modulus of this Complex number (the distance from the origin in polar coordinates).ComplexNumberplus(ComplexNumber w)Addition of Complex numbers (doesn't change this Complex number).ComplexNumbersin()Sine of this Complex number (doesn't change this Complex number).ComplexNumbersinh()Hyperbolic sine of this Complex number (doesn't change this Complex number).ComplexNumbersqrt()Complex square root (doesn't change this complex number).ComplexNumbertan()Tangent of this Complex number (doesn't change this Complex number).ComplexNumbertimes(ComplexNumber w)Complex multiplication (doesn't change this Complex number).java.lang.StringtoString()String representation of this Complex number.
-
-
-
Constructor Detail
-
ComplexNumber
public ComplexNumber(double u, double v)Constructs the complex number z = u + i*v- Parameters:
u- Real partv- Imaginary part
-
ComplexNumber
public ComplexNumber(ComplexNumber other)
Create a complex number from another complex number.- Parameters:
other- The other complex number.
-
-
Method Detail
-
getReal
public double getReal()
Real part of this Complex number (the x-coordinate in rectangular coordinates).- Returns:
- Re[z] where z is this Complex number.
-
getImaginary
public double getImaginary()
Imaginary part of this Complex number (the y-coordinate in rectangular coordinates).- Returns:
- Im[z] where z is this Complex number.
-
mod
public double mod()
Modulus of this Complex number (the distance from the origin in polar coordinates).- Returns:
- |z| where z is this Complex number.
-
arg
public double arg()
Argument of this Complex number (the angle in radians with the x-axis in polar coordinates).- Returns:
- arg(z) where z is this Complex number.
-
conj
public ComplexNumber conj()
Complex conjugate of this Complex number (the conjugate of x+i*y is x-i*y).- Returns:
- z-bar where z is this Complex number.
-
plus
public ComplexNumber plus(ComplexNumber w)
Addition of Complex numbers (doesn't change this Complex number).
(x+i*y) + (s+i*t) = (x+s)+i*(y+t).- Parameters:
w- is the number to add.- Returns:
- z+w where z is this Complex number.
-
minus
public ComplexNumber minus(ComplexNumber w)
Subtraction of Complex numbers (doesn't change this Complex number).
(x+i*y) - (s+i*t) = (x-s)+i*(y-t).- Parameters:
w- is the number to subtract.- Returns:
- z-w where z is this Complex number.
-
times
public ComplexNumber times(ComplexNumber w)
Complex multiplication (doesn't change this Complex number).- Parameters:
w- is the number to multiply by.- Returns:
- z*w where z is this Complex number.
-
div
public ComplexNumber div(ComplexNumber w)
Division of Complex numbers (doesn't change this Complex number).
(x+i*y)/(s+i*t) = ((x*s+y*t) + i*(y*s-y*t)) / (s^2+t^2)- Parameters:
w- is the number to divide by- Returns:
- new Complex number z/w where z is this Complex number
-
exp
public ComplexNumber exp()
Complex exponential (doesn't change this Complex number).- Returns:
- exp(z) where z is this Complex number.
-
log
public ComplexNumber log()
Principal branch of the Complex logarithm of this Complex number. (doesn't change this Complex number). The principal branch is the branch with -pi < arg <= pi.- Returns:
- log(z) where z is this Complex number.
-
sqrt
public ComplexNumber sqrt()
Complex square root (doesn't change this complex number). Computes the principal branch of the square root, which is the value with 0 <= arg < pi.- Returns:
- sqrt(z) where z is this Complex number.
-
sin
public ComplexNumber sin()
Sine of this Complex number (doesn't change this Complex number).
sin(z) = (exp(i*z)-exp(-i*z))/(2*i).- Returns:
- sin(z) where z is this Complex number.
-
cos
public ComplexNumber cos()
Cosine of this Complex number (doesn't change this Complex number).
cos(z) = (exp(i*z)+exp(-i*z))/ 2.- Returns:
- cos(z) where z is this Complex number.
-
sinh
public ComplexNumber sinh()
Hyperbolic sine of this Complex number (doesn't change this Complex number).
sinh(z) = (exp(z)-exp(-z))/2.- Returns:
- sinh(z) where z is this Complex number.
-
cosh
public ComplexNumber cosh()
Hyperbolic cosine of this Complex number (doesn't change this Complex number).
cosh(z) = (exp(z) + exp(-z)) / 2.- Returns:
- cosh(z) where z is this Complex number.
-
tan
public ComplexNumber tan()
Tangent of this Complex number (doesn't change this Complex number).
tan(z) = sin(z)/cos(z).- Returns:
- tan(z) where z is this Complex number.
-
chs
public ComplexNumber chs()
Negative of this complex number (chs stands for change sign). This produces a new Complex number and doesn't change this Complex number.
-(x+i*y) = -x-i*y.- Returns:
- -z where z is this Complex number.
-
toString
public java.lang.String toString()
String representation of this Complex number.- Overrides:
toStringin classjava.lang.Object- Returns:
- x+i*y, x-i*y, x, or i*y as appropriate.
-
-
DMelt 3.0 © DataMelt by jWork.ORG