类 RootsOfUnity
java.lang.Object
org.hipparchus.complex.RootsOfUnity
- 所有已实现的接口:
-
Serializable
用于计算和缓存
n
次单位根的辅助类。
- 另请参阅:
-
构造器概要
-
方法概要
修饰符和类型方法说明void
computeRoots
(int n) 计算n
次单位根。double
getImaginary
(int k) 获取第k
个n
次单位根的虚部。int
返回当前存储的单位根数量。double
getReal
(int k) 获取第k
个n
次单位根的实部。boolean
如果使用正值调用computeRoots(int)
,则返回true
。
-
构造器详细资料
-
RootsOfUnity
public RootsOfUnity()构建一个用于计算n
次单位根的引擎。
-
-
方法详细资料
-
isCounterClockWise
- 返回:
-
如果单位根以逆时针顺序存储,则返回
true
- 抛出:
-
MathIllegalStateException
- 如果尚未计算任何单位根
-
computeRoots
计算n
次单位根。单位根存储在
omega[]
中,使得omega[k] = w ^ k
,其中k = 0, ..., n - 1
,w = exp(2 * pi * i / n)
,i = sqrt(-1)
。请注意,
n
可以是正数或负数abs(n)
始终是单位根的数量。- 如果
n > 0
,则单位根以逆时针顺序存储。 - 如果
n < 0
,则单位根以顺时针顺序存储。
- 参数:
-
n
- 要计算的单位根的(有符号)数量 - 抛出:
-
MathIllegalArgumentException
- 如果n = 0
-
getReal
获取第k
个n
次单位根的实部。- 参数:
-
k
- 第n
次单位根的索引 - 返回:
-
第
k
个n
次单位根的实部 - 抛出:
-
MathIllegalStateException
- 如果尚未计算任何单位根 -
MathIllegalArgumentException
- 如果k
超出范围
-
getImaginary
获取第k
个n
次单位根的虚部。- 参数:
-
k
- 第n
次单位根的索引 - 返回:
-
第
k
个n
次单位根的虚部 - 抛出:
-
MathIllegalStateException
- 如果尚未计算任何单位根 -
MathIllegalArgumentException
- 如果k
超出范围
-
getNumberOfRoots
public int getNumberOfRoots()返回当前存储的单位根数量。如果使用
n
调用computeRoots(int)
,则此方法返回abs(n)
。如果尚未计算任何单位根,则此方法返回0。- 返回:
- 当前存储的单位根数量
-