LINPACK_C
Linear Algebra Library
Single Precision Complex
LINPACK_C
is a FORTRAN77 library which
can solve systems of linear equations for a variety
of matrix types and storage modes,
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
LINPACK has officially been superseded by the LAPACK library.
The LAPACK
library uses more modern algorithms and code structure. However,
the LAPACK library can be extraordinarily complex; what is done
in a single LINPACK routine may correspond to 10 or 20 utility
routines in LAPACK. This is fine if you treat LAPACK as a black
box. But if you wish to learn how the algorithm works, or
to adapt it, or to convert the code to another language, this
is a real drawback. This is one reason I still keep a copy
of LINPACK around.
Versions of LINPACK in various arithmetic precisions are available
through the NETLIB web site.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
LINPACK_C is available in
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
BLAS1_C,
a FORTRAN77 library which
contains basic linear algebra routines for vector-vector operations,
using single precision complex arithmetic.
COMPLEX_NUMBERS,
a FORTRAN77 program which
demonstrates some simple features involved in the use of
complex numbers in FORTRAN77 programming.
LAPACK_EXAMPLES,
a FORTRAN77 program which
demonstrates the use of the LAPACK linear algebra library.
LINPACK_BENCH,
a FORTRAN90 program which
measures the time
taken by LINPACK to solve a particular linear system.
LINPACK_D,
a FORTRAN90 library which
is a version of LINPACK for double precision
real arithmetic.
LINPACK_S,
a FORTRAN90 library which
is a version of LINPACK for single precision
real arithmetic.
LINPACK_Z,
a FORTRAN90 library which
is a version of LINPACK for double precision
complex arithmetic.
LINPLUS,
a FORTRAN90 library which
carries out some linear
algebra operations on matrices stored in formats not handled by
LINPACK.
NMS,
a FORTRAN90 library which
includes LINPACK.
SLATEC,
a FORTRAN90 library which
includes LINPACK.
TEST_MAT,
a FORTRAN90 library which
defines test matrices, some of
which have known determinants, eigenvalues and eigenvectors,
inverses and so on.
Author:
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
Reference:
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Charles Lawson, Richard Hanson, David Kincaid and Fred Krogh,
Algorithm 539,
Basic Linear Algebra Subprograms for Fortran Usage,
ACM Transactions on Mathematical Software,
Volume 5, Number 3, September 1979, pages 308-323.
Source Code:
Examples and Tests:
List of Routines:
-
C_SWAP swaps two complex values.
-
C_SWAP_CONJUGATE swaps and conjugates two complex values.
-
CCHDC computes the Cholesky decomposition of a positive definite matrix.
-
CCHDD downdates an augmented Cholesky decomposition.
-
CCHEX updates a Cholesky factorization.
-
CCHUD updates an augmented Cholesky decomposition.
-
CGBCO factors a complex band matrix and estimates its condition.
-
CGBDI computes the determinant of a band matrix factored by CGBCO or CGBFA.
-
CGBFA factors a complex band matrix by elimination.
-
CGBSL solves a complex band system factored by CGBCO or CGBFA.
-
CGECO factors a complex matrix and estimates its condition.
-
CGEDI computes the determinant and inverse of a matrix.
-
CGEFA factors a complex matrix by Gaussian elimination.
-
CGESL solves a complex system factored by CGECO or CGEFA.
-
CGTSL solves a complex general tridiagonal system.
-
CHICO factors a complex hermitian matrix and estimates its condition.
-
CHIDI computes the determinant and inverse of a matrix factored by CHIFA.
-
CHIFA factors a complex hermitian matrix.
-
CHISL solves a complex hermitian system factored by CHIFA.
-
CHPCO factors a complex hermitian packed matrix and estimates its condition.
-
CHPDI computes the determinant, inertia and inverse
-
CHPFA factors a complex hermitian packed matrix.
-
CHPSL solves a complex hermitian system factored by CHPFA.
-
CPBCO factors a complex hermitian positive definite band matrix
-
CPBDI gets the determinant of a hermitian positive definite band matrix.
-
CPBFA factors a complex hermitian positive definite band matrix.
-
CPBSL solves a complex hermitian positive definite band system.
-
CPOCO factors a complex hermitian positive definite matrix.
-
CPODI: determinant, inverse of a complex hermitian positive definite matrix.
-
CPOFA factors a complex hermitian positive definite matrix.
-
CPOSL solves a complex hermitian positive definite system.
-
CPPCO factors a complex hermitian positive definite matrix
-
CPPDI: determinant and inverse of a complex hermitian positive definite matrix.
-
CPPFA factors a complex hermitian positive definite packed matrix.
-
CPPSL solves a complex hermitian positive definite linear system.
-
CPTSL solves a positive definite tridiagonal linear system.
-
CQRDC computes the QR factorization of an N by P complex matrix.
-
CQRSL applies the output of cqrdc to compute coordinate
-
CSICO factors a complex symmetric matrix by elimination with
-
CSIDI computes the determinant and inverse of a matrix factored by CSIFA.
-
CSIFA factors a complex symmetric matrix.
-
CSISL solves a complex symmetric system that was factored by CSIFA.
-
CSPCO factors a complex symmetric matrix stored in packed form.
-
CSPDI sets the determinant and inverse of a complex symmetric packed matrix.
-
CSPFA factors a complex symmetric matrix stored in packed form.
-
CSPSL solves a complex symmetric system factored by CSPFA.
-
CSVDC is a subroutine to reduce a complex nxp matrix x by
-
CTRCO estimates the condition of a complex triangular matrix.
-
CTRDI computes the determinant and inverse of a complex triangular matrix.
-
CTRSL solves triangular systems T*X=B or Hermitian(T)*X=B.
-
I_SWAP swaps two integer values.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 10 May 2006.