类 FieldAbstractRuleFactory<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.analysis.integration.gauss.FieldAbstractRuleFactory<T>
类型参数:
T - 用于表示积分规则中的点和权重的数字类型。
所有已实现的接口:
FieldRuleFactory<T>
直接已知子类:
FieldHermiteRuleFactory, FieldLaguerreRuleFactory, FieldLegendreRuleFactory

public abstract class FieldAbstractRuleFactory<T extends CalculusFieldElement<T>> 扩展自 Object 实现 FieldRuleFactory<T>
用于确定积分节点及其权重的规则的基类。子类必须实现 computeRule 方法。
从以下版本开始:
2.0
  • 构造器详细资料

    • FieldAbstractRuleFactory

      公共的 FieldAbstractRuleFactory(Field<T> field)
      简单构造器
      参数:
      field - 规则系数所属的域
  • 方法详细资料

    • getField

      公共的 Field<T> getField()
      获取规则系数所属的域。
      返回:
      规则系数所属的域
    • getRule

      公共的 Pair<T[],T[]> getRule(int numberOfPoints) 抛出 MathIllegalArgumentException
      获取具有给定积分点数的积分规则的副本。积分点数在实际中通常远低于1000,这是为了防止资源耗尽。
      指定者:
      getRule 在接口中 FieldRuleFactory<T extends CalculusFieldElement<T>>
      参数:
      numberOfPoints - 积分点数。
      返回:
      积分规则的副本。
      抛出:
      MathIllegalArgumentException - 如果 numberOfPoints < 1
      MathIllegalArgumentException - 如果 numberOfPoints > 1000
      MathIllegalArgumentException - 如果规则对的元素长度不相同。
    • computeRule

      受保护的抽象的 Pair<T[],T[]> computeRule(int numberOfPoints) 抛出 MathIllegalArgumentException
      计算给定阶数的规则。
      参数:
      numberOfPoints - 要计算的规则的阶数。
      返回:
      计算得到的规则。
      抛出:
      MathIllegalArgumentException - 如果对的元素长度不相同。
    • findRoots

      受保护的 T[] findRoots(int n, CalculusFieldUnivariateFunction<T> ratioEvaluator)
      计算相关正交多项式的根。

      使用Aberth方法找到根。用于初始化搜索度为n的猜测点对于度为1和2是固定的,并且从规则n-1的n-1个根中选择(使用两个极端根,加上所有根之间的n-1个中间点)。

      参数:
      n - 要搜索的根数
      ratioEvaluator - 评估比值 Pₙ(x)/Pₙ'(x) 的函数
      返回:
      排序后的根数组
    • enforceSymmetry

      受保护的 void enforceSymmetry(T[] roots)
      强制根的对称性。
      参数:
      roots - 要处理的根