jburkardt

CG_RC\ Conjugate Gradient Method with Reverse Communication {#cg_rc-conjugate-gradient-method-with-reverse-communication align=”center”} ====================================================


CG_RC is a C++ library which implements the conjugate gradient (CG) method for solving a positive definite sparse linear system A*x=b, using reverse communication (RC).

Licensing: {#licensing align=”center”}

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages: {#languages align=”center”}

CG_RC is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

BACKTRACK_BINARY_RC, a C++ library which carries out a backtrack search for a set of binary decisions, using reverse communication (RC).

BISECTION_RC, a C++ library which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication (RC).

CG, a C++ library which implements a simple version of the conjugate gradient (CG) method for solving a system of linear equations of the form A*x=b, suitable for situations in which the matrix A is positive definite (only real, positive eigenvalues) and symmetric.

JACOBI, a C++ library which implements the Jacobi iteration for solving symmetric positive definite systems of linear equations.

LOCAL_MIN_RC, a C++ library which finds a local minimum of a scalar function of a scalar variable, without the use of derivative information, using reverse communication (RC), by Richard Brent.

MGMRES, a C++ library which applies the restarted GMRES algorithm to solve a sparse linear system.

ROOT_RC, a C++ library which seeks a solution of a scalar nonlinear equation f(x) = 0, using reverse communication (RC), by Gaston Gonnet.

ROOTS_RC, a C++ library which seeks a solution of a system of nonlinear equations f(x) = 0, using reverse communication (RC), by Gaston Gonnet.

SORT_RC, a C++ library which can sort a list of any kind of objects, using reverse communication (RC).

SUPERLU, C++ programs which illustrate how a C++ program can call the SUPERLU library, (which is written in C), which applies a fast direct solution method to solve sparse linear systems, by James Demmel, John Gilbert, and Xiaoye Li.

TEST_MAT, a C++ library which defines test matrices.

ZERO_RC, a C++ library which seeks solutions of a scalar nonlinear equation f(x) = 0, using reverse communication (RC).

Reference: {#reference align=”center”}

  1. Richard Barrett, Michael Berry, Tony Chan, James Demmel, June Donato, Jack Dongarra, Victor Eijkhout, Roidan Pozo, Charles Romine, Henk van der Vorst,\ Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods,\ SIAM, 1994,\ ISBN: 0898714710,\ LC: QA297.8.T45.
  2. Jonathan Shewchuk,\ An introduction to the conjugate gradient method without the agonizing pain,\ Edition 1.25, August 1994.

Source Code: {#source-code align=”center”}

Examples and Tests: {#examples-and-tests align=”center”}

List of Routines: {#list-of-routines align=”center”}

You can go up one level to the C++ source codes.


Last revised on 13 January 2013.