类 PegasusSolver

所有已实现的接口:
BaseUnivariateSolver<UnivariateFunction>, BracketedUnivariateSolver<UnivariateFunction>, UnivariateSolver

public class PegasusSolver extends BaseSecantSolver
实现了用于根查找(近似求解一元实函数的零点)的Pegasus方法。这是一种修改过的Regula Falsi方法。

与Regula Falsi方法类似,通过保持有界解来保证收敛。然而,Pegasus方法应该比原始的Regula Falsi方法收敛得快得多。此外,这种Pegasus方法的实现不应该像Regula Falsi方法那样在某些情况下无法收敛。此外,Pegasus方法应该比Illinois方法(另一种基于Regula Falsi的方法)收敛得更快。

Pegasus方法假设函数是连续的,但不一定是光滑的。

基于以下文章的实现:M. Dowell和P. Jarratt,《用于计算方程根的"Pegasus"方法》,BIT数值数学,卷12,号4,503-508页,Springer,1972年。

  • 构造器详细资料

    • PegasusSolver

      public PegasusSolver()
      用默认精度(1e-6)构造求解器。
    • PegasusSolver

      public PegasusSolver(double absoluteAccuracy)
      构造一个求解器。
      参数:
      absoluteAccuracy - 绝对精度。
    • PegasusSolver

      public PegasusSolver(double relativeAccuracy, double absoluteAccuracy)
      构造一个求解器。
      参数:
      relativeAccuracy - 相对精度。
      absoluteAccuracy - 绝对精度。
    • PegasusSolver

      public PegasusSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
      构造一个求解器。
      参数:
      relativeAccuracy - 相对精度。
      absoluteAccuracy - 绝对精度。
      functionValueAccuracy - 最大函数值误差。