Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-771

Improve javadoc for iterative linear solvers with preconditioners

Rank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.1
    • None
    • None

    Description

      Preconditioning is the replacement of the linear system A * x = b with A * M^(-1) * y = b, followed by x = M^(-1) * y, where M approximates in some sense A. There is no consensus in the literature as to whether M of M^(-1) should be called the preconditioner.

      In o.a.c.m3.linear, the Javadoc currently states that M is the preconditioner. However, following MATH-735, the solver must be passed M^(-1) (not M!) as a RealLinearOperator. This makes the whole Javadoc a bit obscure. It would be logical to call preconditioning the replacement of the initial system with A * M * y = b, where M approximates in some sense A^(-1) and will be called the preconditioner.

      Such a change will make the javadoc more readable. However, it requires careful review of the existing Javadoc for the following classes

      • PreconditionedIterativeLinearSolver,
      • ConjugateGradient,
      • SymmLQ,
      • JacobiPreconditioner,

      Also, in PreconditionedIterativeLinearSolver (and its concrete implementations), the parameter minv in solve() should be renamed m.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            celestin Sebastien Brisard
            celestin Sebastien Brisard
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment