[SciPy-Dev] ENH: Add Conjugate Residual (CR) method

赵刚 zhaog6 at lsec.cc.ac.cn
Wed Sep 1 22:31:53 EDT 2021


Dear all,

I submitted a PR to support Conjugate Residual (CR) method:
https://github.com/scipy/scipy/pull/14675
which can be used in symmetric indefinite or Hermitian systems.The algorithm is formally similar to Conjugate Gradient (CG) but mathematically equivalent to Minimal Residual (MINRES). For symmetric positive-definite problems, CR has the same convergence as CG. But for symmetric indefinite problems, CR has almost the same iterative steps and less computation in each iteration than MINRES, which means higher computational efficiency. The arrival of CR algorithm will further enrich the Krylov subspace methods implemented in SciPy and give users more/better choices.

The PR is only a part of CR type methods which include CR, Bi-CR, Generalized CR, GCRO and GCRO-DR etc. This large class of algorithms are widely used in some specific problems and play an important role. So we intend to implement CR first, and then implement Bi-CR and GCR methods respectively.

The PR used the functional features of NumPy and SciPy to implement the CR method. Hope you like it. Thanks.


Best Regards,
Gang


More information about the SciPy-Dev mailing list