类 FieldAbstractRuleFactory<T extends CalculusFieldElement<T>>
java.lang.Object
org.hipparchus.analysis.integration.gauss.FieldAbstractRuleFactory<T>
- 类型参数:
-
T
- 用于表示积分规则中的点和权重的数字类型。
- 所有已实现的接口:
-
FieldRuleFactory<T>
public abstract class FieldAbstractRuleFactory<T extends CalculusFieldElement<T>> 扩展自 Object 实现 FieldRuleFactory<T>
用于确定积分节点及其权重的规则的基类。子类必须实现
computeRule
方法。
- 从以下版本开始:
- 2.0
-
构造器概要
-
方法概要
修饰符和类型方法说明computeRule
(int numberOfPoints) 计算给定阶数的规则。protected void
enforceSymmetry
(T[] roots) 强制根的对称性。protected T[]
findRoots
(int n, CalculusFieldUnivariateFunction<T> ratioEvaluator) 计算相关正交多项式的根。getField()
获取规则系数所属的字段。getRule
(int numberOfPoints) 获取具有给定积分点数的积分规则的副本。
-
构造器详细资料
-
FieldAbstractRuleFactory
简单构造器- 参数:
-
field
- 规则系数所属的域
-
-
方法详细资料
-
getField
获取规则系数所属的域。- 返回:
- 规则系数所属的域
-
getRule
获取具有给定积分点数的积分规则的副本。积分点数在实际中通常远低于1000,这是为了防止资源耗尽。- 指定者:
-
getRule
在接口中FieldRuleFactory<T extends CalculusFieldElement<T>>
- 参数:
-
numberOfPoints
- 积分点数。 - 返回:
- 积分规则的副本。
- 抛出:
-
MathIllegalArgumentException
- 如果numberOfPoints < 1
。 -
MathIllegalArgumentException
- 如果numberOfPoints > 1000
。 -
MathIllegalArgumentException
- 如果规则对的元素长度不相同。
-
computeRule
计算给定阶数的规则。- 参数:
-
numberOfPoints
- 要计算的规则的阶数。 - 返回:
- 计算得到的规则。
- 抛出:
-
MathIllegalArgumentException
- 如果对的元素长度不相同。
-
findRoots
计算相关正交多项式的根。使用Aberth方法找到根。用于初始化搜索度为n的猜测点对于度为1和2是固定的,并且从规则n-1的n-1个根中选择(使用两个极端根,加上所有根之间的n-1个中间点)。
- 参数:
-
n
- 要搜索的根数 -
ratioEvaluator
- 评估比值 Pₙ(x)/Pₙ'(x) 的函数 - 返回:
- 排序后的根数组
-
enforceSymmetry
强制根的对称性。- 参数:
-
roots
- 要处理的根
-