|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.commons.math3.complex.RootsOfUnity
public class RootsOfUnity
A helper class for the computation and caching of the n-th roots of
unity.
| Field Summary | |
|---|---|
private boolean |
isCounterClockWise
true if computeRoots(int) was called with a positive
value of its argument n. |
private int |
omegaCount
Number of roots of unity. |
private double[] |
omegaImaginaryClockwise
Imaginary part of the n-th roots of unity, for negative values
of n. |
private double[] |
omegaImaginaryCounterClockwise
Imaginary part of the n-th roots of unity, for positive values
of n. |
private double[] |
omegaReal
Real part of the roots. |
private static long |
serialVersionUID
Serializable version id. |
| Constructor Summary | |
|---|---|
RootsOfUnity()
Build an engine for computing the n-th roots of unity. |
|
| Method Summary | |
|---|---|
void |
computeRoots(int n)
Computes the n-th roots of unity. |
double |
getImaginary(int k)
Get the imaginary part of the k-th n-th root of unity. |
int |
getNumberOfRoots()
Returns the number of roots of unity currently stored. |
double |
getReal(int k)
Get the real part of the k-th n-th root of unity. |
boolean |
isCounterClockWise()
Returns true if computeRoots(int) was called with a
positive value of its argument n. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final long serialVersionUID
private int omegaCount
private double[] omegaReal
private double[] omegaImaginaryCounterClockwise
n-th roots of unity, for positive values
of n. In this array, the roots are stored in counter-clockwise
order.
private double[] omegaImaginaryClockwise
n-th roots of unity, for negative values
of n. In this array, the roots are stored in clockwise order.
private boolean isCounterClockWise
true if computeRoots(int) was called with a positive
value of its argument n. In this case, counter-clockwise ordering
of the roots of unity should be used.
| Constructor Detail |
|---|
public RootsOfUnity()
n-th roots of unity.
| Method Detail |
|---|
public boolean isCounterClockWise()
throws MathIllegalStateException
true if computeRoots(int) was called with a
positive value of its argument n. If true, then
counter-clockwise ordering of the roots of unity should be used.
true if the roots of unity are stored in
counter-clockwise order
MathIllegalStateException - if no roots of unity have been computed
yet
public void computeRoots(int n)
throws ZeroException
Computes the n-th roots of unity. The roots are stored in
omega[], such that omega[k] = w ^ k, where
k = 0, ..., n - 1, w = exp(2 * pi * i / n) and
i = sqrt(-1).
Note that n can be positive of negative
abs(n) is always the number of roots of unity.n > 0, then the roots are stored in counter-clockwise order.n < 0, then the roots are stored in clockwise order.
n - the (signed) number of roots of unity to be computed
ZeroException - if n = 0
public double getReal(int k)
throws MathIllegalStateException,
MathIllegalArgumentException
k-th n-th root of unity.
k - index of the n-th root of unity
k-th n-th root of unity
MathIllegalStateException - if no roots of unity have been
computed yet
MathIllegalArgumentException - if k is out of range
public double getImaginary(int k)
throws MathIllegalStateException,
OutOfRangeException
k-th n-th root of unity.
k - index of the n-th root of unity
k-th n-th root of unity
MathIllegalStateException - if no roots of unity have been
computed yet
OutOfRangeException - if k is out of rangepublic int getNumberOfRoots()
computeRoots(int) was called with n, then this method
returns abs(n). If no roots of unity have been computed yet, this
method returns 0.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||