类 RootsOfUnity

java.lang.Object
org.hipparchus.complex.RootsOfUnity
所有已实现的接口:
Serializable

public class RootsOfUnity extends Object implements Serializable
用于计算和缓存n次单位根的辅助类。
另请参阅:
  • 构造器详细资料

    • RootsOfUnity

      public RootsOfUnity()
      构建一个用于计算n次单位根的引擎。
  • 方法详细资料

    • isCounterClockWise

      public boolean isCounterClockWise() throws MathIllegalStateException
      如果使用正值调用computeRoots(int),则返回true。如果为true,则应使用逆时针顺序存储单位根。
      返回:
      如果单位根以逆时针顺序存储,则返回true
      抛出:
      MathIllegalStateException - 如果尚未计算任何单位根
    • computeRoots

      public void computeRoots(int n) throws MathIllegalArgumentException
      计算n次单位根。

      单位根存储在omega[]中,使得omega[k] = w ^ k,其中k = 0, ..., n - 1w = exp(2 * pi * i / n)i = sqrt(-1)

      请注意,n可以是正数或负数

      • abs(n)始终是单位根的数量。
      • 如果n > 0,则单位根以逆时针顺序存储。
      • 如果n < 0,则单位根以顺时针顺序存储。
      参数:
      n - 要计算的单位根的(有符号)数量
      抛出:
      MathIllegalArgumentException - 如果n = 0
    • getReal

      public double getReal(int k) throws MathIllegalArgumentException, MathIllegalStateException
      获取第kn次单位根的实部。
      参数:
      k - 第n次单位根的索引
      返回:
      kn次单位根的实部
      抛出:
      MathIllegalStateException - 如果尚未计算任何单位根
      MathIllegalArgumentException - 如果k超出范围
    • getImaginary

      public double getImaginary(int k) throws MathIllegalArgumentException, MathIllegalStateException
      获取第kn次单位根的虚部。
      参数:
      k - 第n次单位根的索引
      返回:
      kn次单位根的虚部
      抛出:
      MathIllegalStateException - 如果尚未计算任何单位根
      MathIllegalArgumentException - 如果k超出范围
    • getNumberOfRoots

      public int getNumberOfRoots()
      返回当前存储的单位根数量。

      如果使用n调用computeRoots(int),则此方法返回abs(n)。如果尚未计算任何单位根,则此方法返回0。

      返回:
      当前存储的单位根数量