Jampack
Class Z
- java.lang.Object
-
- Jampack.Z
-
public class Z extends java.lang.ObjectZ is a mutable complex variable class. It is designed to perform complex arithmetic without creating a new Z at each operation. Specifically, binary operations have the form c.op(a,b), in which a, b, and c need not be different. The method places the complex number a.op.b in c. The method also returns a pointer to c. Thus the class supports two styles of programming. For example to compute e = a*b + c*d you can writez1.Times(a,b)
z2.Times(c,d)
e.Plus(z1,z2)or
e.Plus(z1.Times(a,b), z2.Times(a,b))
Since objects of class Z are mutable, the use of the assignment operator "=" with these objects is deprecated. Use Eq.
The functions are reasonably resistent to overflow and underflow. But the more complicated ones could almost certainly be improved.
-
-
Field Summary
Fields Modifier and Type Field and Description static ZIImaginary unit.doubleimThe imaginary part of Z.static ZONEComplex 1.doublereThe real part of Z.static ZZEROComplex 0.
-
Constructor Summary
Constructors Constructor and Description Z()Creates a Z and initializes it to zero.Z(double x)Creates a Z and initializes its real part.Z(double x, double y)Creates a Z and initializes its real and imaginary parts.Z(Z a)Creates a Z and initializes it to another Z.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static doubleabs(Z z)Computes the absolute value of a Z.static doubleabs1(Z z)Computes the 1-norm of a ZZConj(Z a)Computes the conjugate of a Z.ZDiv(Z a, double b)Computes the quotient of a Z and a double.ZDiv(Z a, Z b)Computes the quotient of two Z's.ZEq(double a, double b)Resets the real and imaginary parts of a Z.ZEq(Z a)Resets the real and imaginary parts of a Z to those of another Z.ZExch(Z a)Interchanges the real and imaginary parts of two Z's.booleanIsEqual(Z z1, Z z2)Tests two Z'z for equality.ZMinus(Z a)Computes unary minus of a Z.ZMinus(Z a, Z b)Computes the difference of two Z's.ZPlus(Z a, Z b)Computes the sum of two Z's.ZSqrt(Z a)Computes the principal value of the square root of a Z.ZTimes(double a, Z b)Computes the product of a double and a Z.ZTimes(Z a, Z b)Computes the product of two Z's.
-
-
-
Field Detail
-
ONE
public static final Z ONE
Complex 1.
-
ZERO
public static final Z ZERO
Complex 0.
-
I
public static final Z I
Imaginary unit.
-
re
public double re
The real part of Z.
-
im
public double im
The imaginary part of Z.
-
-
Constructor Detail
-
Z
public Z()
Creates a Z and initializes it to zero.
-
Z
public Z(double x, double y)Creates a Z and initializes its real and imaginary parts.- Parameters:
x- a doubley- a double
-
Z
public Z(double x)
Creates a Z and initializes its real part.- Parameters:
x- a double
-
Z
public Z(Z a)
Creates a Z and initializes it to another Z.- Parameters:
a- a Z
-
-
Method Detail
-
IsEqual
public boolean IsEqual(Z z1, Z z2)
Tests two Z'z for equality.- Parameters:
z1- a Zz2- a Z- Returns:
- true if z1=z2, otherwise false
-
Eq
public Z Eq(Z a)
Resets the real and imaginary parts of a Z to those of another Z.- Parameters:
a- a Z- Returns:
- this = a;
-
Eq
public Z Eq(double a, double b)
Resets the real and imaginary parts of a Z.- Parameters:
a- a doubleb- a double- Returns:
- this = a + ib
-
Exch
public Z Exch(Z a)
Interchanges the real and imaginary parts of two Z's.- Parameters:
a- a Z- Returns:
- this = a, with a set to the original value of this.
-
abs1
public static double abs1(Z z)
Computes the 1-norm of a Z
-
abs
public static double abs(Z z)
Computes the absolute value of a Z.- Parameters:
z- a Z- Returns:
- the absolute vaue of Z
-
Plus
public Z Plus(Z a, Z b)
Computes the sum of two Z's.- Parameters:
a- a Zb- a Z- Returns:
- this = a + b
-
Minus
public Z Minus(Z a, Z b)
Computes the difference of two Z's.- Parameters:
a- a Zb- a Z- Returns:
- this = a - b
-
Times
public Z Times(Z a, Z b)
Computes the product of two Z's.- Parameters:
a- a Zb- a Z- Returns:
- this = ab
-
Times
public Z Times(double a, Z b)
Computes the product of a double and a Z.- Parameters:
a- a doubleb- a Z- Returns:
- this = ab
-
Div
public Z Div(Z a, Z b) throws JampackException
Computes the quotient of two Z's. Throws a JampackException if the denominator is zero.- Parameters:
a- a Zb- a Z- Returns:
- this = a/b
- Throws:
JampackException- Thrown if b is zero.
-
Div
public Z Div(Z a, double b) throws JampackException
Computes the quotient of a Z and a double. Throws a JampackException if the denominator is zero.- Parameters:
a- a Zb- a double- Returns:
- this = a/b
- Throws:
JampackException- Thrown if b is zero.
-
-
DMelt 3.0 © DataMelt by jWork.ORG