public class RootsOfUnity extends Object implements Serializable
n
th roots of
unity.Constructor and Description 

RootsOfUnity()
Build an engine for computing the
n th roots of unity. 
Modifier and Type  Method and 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
counterclockwise ordering of the roots of unity should be used.true
if the roots of unity are stored in
counterclockwise orderMathIllegalStateException
 if no roots of unity have been computed
yetpublic 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 counterclockwise order.n < 0
, then the roots are stored in clockwise order.
n
 the (signed) number of roots of unity to be computedZeroException
 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 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 MathIllegalStateException, OutOfRangeException
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 yetOutOfRangeException
 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.Copyright © 2003–2015 The Apache Software Foundation. All rights reserved.