Serializablepublic class RootsOfUnity extends Object implements Serializable
n-th roots
of unity.| Constructor | Description |
|---|---|
RootsOfUnity() |
Build an engine for computing the
n-th roots of unity. |
| Modifier and Type | Method | Description |
|---|---|---|
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() |
public RootsOfUnity()
n-th roots of unity.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 orderMathIllegalStateException - if no roots of unity have been computed yetpublic void computeRoots(int n)
throws MathIllegalArgumentException
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 computedMathIllegalArgumentException - if n = 0public double getReal(int k)
throws MathIllegalArgumentException,
MathIllegalStateException
k-th n-th root of unity.k - index of the n-th root of unityk-th n-th root of unityMathIllegalStateException - if no roots of unity have been computed yetMathIllegalArgumentException - if k is out of rangepublic double getImaginary(int k)
throws MathIllegalArgumentException,
MathIllegalStateException
k-th n-th root of unity.k - index of the n-th root of unityk-th n-th root of unityMathIllegalStateException - if no roots of unity have been computed yetMathIllegalArgumentException - if k is out of rangepublic int getNumberOfRoots()
If 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.
Copyright © 2016–2018 Hipparchus.org. All rights reserved.