类 JacobiPreconditioner

java.lang.Object
org.hipparchus.linear.JacobiPreconditioner
所有已实现的接口:
RealLinearOperator

public class JacobiPreconditioner extends Object implements RealLinearOperator
该类实现了标准的雅可比(对角)预处理器。对于矩阵 Aij,该预处理器为 M = diag(1 / A11, 1 / A22, …)。
  • 构造器详细资料

    • JacobiPreconditioner

      public JacobiPreconditioner(double[] diag, boolean deep)
      创建此类的新实例。
      参数:
      diag - 要进行预处理的线性运算符的对角系数
      deep - 如果应执行上述数组的深复制,则为true
  • 方法详细资料

    • create

      创建此类的新实例。此方法提取指定线性运算符的对角系数。如果a不扩展AbstractRealMatrix,则无法访问基础矩阵的系数,系数提取是通过基础向量的矩阵-向量乘积进行的(因此可能需要一些时间)。对于矩阵,直接条目访问是进行的。
      参数:
      a - 应构建预处理器的线性运算符
      返回:
      由指定线性运算符的对角系数的倒数组成的对角预处理器
      抛出:
      MathIllegalArgumentException - 如果a不是方阵
    • getColumnDimension

      public int getColumnDimension()
      返回此运算符的定义域的维数。
      指定者:
      getColumnDimension 在接口中 RealLinearOperator
      返回:
      基础矩阵的列数
    • getRowDimension

      public int getRowDimension()
      返回此运算符的值域的维数。
      指定者:
      getRowDimension 在接口中 RealLinearOperator
      返回:
      基础矩阵的行数
    • operate

      public RealVector operate(RealVector x)
      返回将 this 乘以向量 x 的结果。
      指定者:
      operate 在接口中 RealLinearOperator
      参数:
      x - 要操作的向量
      返回:
      this 实例与 x 的乘积
    • sqrt

      public RealLinearOperator sqrt()
      返回this 对角线算子的平方根。更准确地说,此方法返回 P = diag(1 / √A11, 1 / √A22, …)。
      返回:
      this 预处理器的平方根