LINPLUS
Linear Algebra Utilities
LINPLUS is a FORTRAN90 library,
using double precision arithmetic,
which carries out some common linear algebra tasks,
as inspired by LINPACK and LAPACK.
The routines are primarily organized by the arithmetic type, and the
storage format of the matrix they operate on. Some of these formats
were defined by LINPACK, while others are new; I just made them up when
I had to solve problems involving such matrices. The formats include:
-
C83 - Complex double precision tridiagonal;
-
C8CI - Complex double precision circulant;
-
C8GE - Complex double precision general;
-
C8TO - Complex double precision Toeplitz;
-
R83 - Real double precision tridiagonal;
-
R83P - Real double precision tridiagonal periodic;
-
R85 - Real double precision pentadiagonal;
-
R8BB - Real double precision border-banded;
-
R8BLT - Real double precision banded lower triangular matrix;
-
R8BTO - Real double precision block Toeplitz;
-
R8BUT - Real double precision banded upper triangular matrix;
-
R8CB - Real double precision compact band;
-
R8CBB - Real double precision compact border-banded;
-
R8CC - Real double precision compressed column sparse
= Harwell Boeing Unsymmetric Assembled format
= MATLAB sparse format;
-
R8CI - Real double precision circulant;
-
R8GB - Real double precision general band,
used by LINPACK and LAPACK;
-
R8GD - Real double precision general diagonal;
-
R8GE - Real double precision general, used by LINPACK and LAPACK;
-
R8LT - Real double precision lower triangular;
-
R8NCF - Real double precision Nonsymmetric Coordinate Format,
one of the formats used by NSPCG;
-
R8PBL - Real double precision positive-definite symmetric band
matrix, store diagonal and lower triangle;
-
R8PBU - Real double precision positive-definite symmetric band
matrix, store diagonal and upper triangle;
-
R8PO - Real double precision positive-definite symmetric,
used by LINPACK and LAPACK;
-
R8PP - Real double precision positive-definite symmetric Packed,
used by LINPACK and LAPACK;
-
R8S3 - Real double precision sparse matrix stored by row,
column, value (used by SLAP/DLAP, symmetric or nonsymmetric);
-
R8SD - Real double precision symmetric diagonal;
-
R8SM - Real double precision Sherman Morrison system A - u * v';
-
R8SP - Real double precision sparse matrix stored by row,
column, value, used by CSPARSE ("sparse triplet"),
SLAP/DLAP (nonsymmetric SLAP triad format), MATLAB,
and SPARSEKIT ("COO" format);
-
R8SR - Real double precision sparse matrix stored by diagonal
and rows;
-
R8SS - Real double precision symmetric skyline;
-
R8STO - Real double precision symmetric Toeplitz;
-
R8TO - Real double precision Toeplitz;
-
R8UT - Real double precision upper triangular;
-
R8VEC - Real double precision vector, which in some cases
is used to store a matrix;
-
R8VM - Real double precision Vandermonde;
Related Data and Programs:
BLAS1
is a FORTRAN90 library which
contains level 1 basic linear algebra routines.
CSPARSE
is a C library which
carries out the direct solution of sparse linear systems.
DLAP
is a FORTRAN90 library which
carries out the iterative solution of sparse linear systems.
DSP
is a file format which
can be used to store a sparse matrix in a file.
GSL
is a C++ library, the Gnu Scientific Library, which
includes many linear algebra routines.
HB_TO_ST
is a FORTRAN77 program which
converts a sparse matrix from Harwell-Boeing to sparse triplet format.
HBSMC
is the Harwell-Boeing Sparse Matrix Collection,
containing many large sparse matrices.
ITPACK
is a FORTRAN90 library of routines for the
iterative solution of large sparse linear systems.
LAPACK
is a FORTRAN90 library of modern linear algebra routines.
LINPACK
is a FORTRAN90 library which
factors and solves systems of linear equations in a variety of
formats and arithmetic types.
LINPACK_BENCH
is a FORTRAN90 program which
measures the time taken by LINPACK to solve a
particular linear system.
LINPLUS is also available in
a C++ version. and
a MATLAB version.
MGMRES
is a FORTRAN90 library which
applies the restarted GMRES algorithm to solve a sparse linear system.
MM_IO
is a FORTRAN90 library which
reads and writes
files of sparse matrix information stored in the Matrix Market format.
NAG
is a general purpose mathematical library, callable from
FORTRAN90, C or C++, which includes many linear algebra routines.
NSPCG
is a FORTRAN90 library which
solves sparse systems of linear equations using the nonsymmetric
sparse conjugate gradient method.
PETSC
is a C++ library suitable for use in parallel programming,
which includes linear algebra routines.
SPARSE_CC
is a data directory which
contains a description and examples of the CC format,
("compressed column") for storing a sparse matrix,
including a way to write the matrix as a set of three files.
SPARSE_CR
is a data directory which
contains a description and examples of the CR format,
("compressed row") for storing a sparse matrix,
including a way to write the matrix as a set of three files.
SPARSEKIT
is a FORTRAN90 library which
carries out operations on sparse matrices, including conversion between various formats.
SUPER_LU
is a C library which
implements some very fast direct
solvers for systems of sparse linear equations.
TEMPLATES
is a MATLAB library which
implements various iterative methods for solving a linear system.
TEST_MAT
is a FORTRAN90 library which
defines test matrices, some of
which have known determinants, eigenvalues and eigenvectors,
inverses and so on.
Reference:
-
Edward Anderson, Zhaojun Bai, Christian Bischof, Susan Blackford,
James Demmel, Jack Dongarra, Jeremy Du Croz, Anne Greenbaum,
Sven Hammarling, Alan McKenney, Danny Sorensen,
LAPACK User's Guide,
Third Edition,
SIAM, 1999,
ISBN: 0898714478,
LC: QA76.73.F25L36
-
Frank Beckman,
The Solution of Linear Equations by the Conjugate Gradient Method,
in Mathematical Methods for Digital Computers,
edited by John Ralston, Herbert Wilf,
Wiley, 1967,
ISBN: 0471706892.
-
Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Second Edition,
Springer, 1987,
ISBN: 0387964673.
-
Ward Cheney, David Kincaid,
Numerical Mathematics and Computing,
Brooks-Cole Publishing, 2004,
ISBN: 0534201121.
-
Philip Davis,
Circulant Matrices,
Second Edition,
Chelsea, 1994,
ISBN: 0828403384,
LC: QA188.D37.
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Iain Duff, Roger Grimes, John Lewis,
User's Guide for the Harwell-Boeing Sparse Matrix Collection,
October 1992.
-
Bennett Fox,
Algorithm 647:
Implementation and Relative Efficiency of Quasirandom
Sequence Generators,
ACM Transactions on Mathematical Software,
Volume 12, Number 4, December 1986, pages 362-376.
-
Gene Golub, Charles VanLoan,
Matrix Computations,
Third Edition,
Johns Hopkins, 1996,
ISBN: 0-8018-4513-X,
LC: QA188.G65.
-
David Kahaner, Cleve Moler, Steven Nash,
Numerical Methods and Software,
Prentice Hall, 1989,
ISBN: 0-13-627258-4,
LC: TA345.K34.
-
Charles Lawson, Richard Hanson, David Kincaid, 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.
-
Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0-12-519260-6,
LC: QA164.N54.
Source Code:
Examples and Tests:
List of Routines:
-
C8_LE_L2 := X <= Y for the L2 norm on C8 values.
-
C8_SWAP swaps two C8's.
-
C83_CR_FA decomposes a double complex tridiagonal matrix via cyclic reduction.
-
C83_CR_SL solves a C83 linear system factored by C83_CR_FA.
-
C83_JAC_SL tries to solve a C83 system using Jacobi iteration.
-
C83_MXV multiplies a C83 matrix times a vector.
-
C83_NP_DET returns the determinant of a C83 system factored by C83_NP_FA.
-
C83_NP_FA factors a C83 system without pivoting.
-
C83_NP_ML computes A * x or x * A, where A has been factored by C83_NP_FA.
-
C83_NP_SL solves a C83 system factored by C83_NP_FA.
-
C83_PRINT prints a C83 matrix.
-
C83_PRINT_SOME prints some of a C83 matrix.
-
C83_RANDOM randomizes a C83 matrix.
-
C83_TO_C8GE copies a C83 matrix into a C8GE matrix.
-
C83_VXM multiplies a vector by a C83 matrix.
-
C8CI_EVAL returns the eigenvalues of a C8CI matrix.
-
C8CI_MXV multiplies a C8CI matrix times a vector.
-
C8CI_PRINT prints a C8CI matrix.
-
C8CI_PRINT_SOME prints some of a C8CI matrix.
-
C8CI_RANDOM randomizes a C8CI matrix.
-
C8CI_SL solves a C8CI system.
-
C8CI_TO_C8GE copies a C8CI matrix to a C8GE matrix.
-
C8CI_VXM multiplies a vector by a C8CI matrix.
-
C8GE_RANDOM randomizes a C8GE matrix.
-
C8MAT_UNIFORM_01 returns a unit double precision complex pseudorandom matrix.
-
C8TO_MXV multiplies a C8TO matrix times a vector.
-
C8TO_PRINT prints a C8TO matrix.
-
C8TO_PRINT_SOME prints some of a C8TO matrix.
-
C8TO_RANDOM randomizes a C8TO matrix.
-
C8TO_SL solves a C8TO system.
-
C8TO_TO_C8GE copies a C8TO matrix to a C8GE matrix.
-
C8TO_VXM multiplies a vector by a C8TO matrix.
-
C8VEC_INDICATOR sets a double complex vector to an "indicator" vector.
-
C8VEC_PRINT prints a double complex vector, with an optional title.
-
C8VEC_PRINT_SOME prints some of a double complex vector.
-
C8VEC_SORT_A2 ascending sorts a double complex array by L2 norm.
-
C8VEC_UNIFORM_01 returns a unit double precision complex pseudorandom vector.
-
C8VEC_UNITY returns the N roots of unity as a double complex vector.
-
DAXPY adds a constant times one vector to another.
-
FILE_DELETE deletes a named file if it exists.
-
FILE_EXIST reports whether a file exists.
-
FILE_IS_OPEN reports whether a file (specified by filename) is open.
-
GET_SEED returns a seed for the random number generator.
-
GET_UNIT returns a free FORTRAN unit number.
-
HILBERT_INVERSE returns the inverse of the Hilbert matrix.
-
I4_LOG_10 returns the integer part of the logarithm base 10 of an I4.
-
I4_SWAP swaps two I4's.
-
I4_UNIFORM returns a scaled pseudorandom I4.
-
I4VEC_PRINT prints an I4VEC.
-
I4VEC_SEARCH_BINARY_A searches an ascending sorted I4VEC for a value.
-
R8_IS_INT determines if a real number represents an integer value.
-
R8_SWAP switches two real values.
-
R8_UNIFORM returns a scaled pseudorandom R8.
-
R8_UNIFORM_01 returns a unit pseudorandom R8.
-
R83_CR_FA decomposes a real tridiagonal matrix using cyclic reduction.
-
R83_CR_SL solves a real linear system factored by R83_CR_FA.
-
R83_GS_SL solves a R83 system using Gauss-Seidel iteration.
-
R83_INDICATOR sets up a R83 indicator matrix.
-
R83_JAC_SL solves a R83 system using Jacobi iteration.
-
R83_MXV multiplies a R83 matrix times a vector.
-
R83_NP_DET returns the determinant of a R83 system factored by R83_NP_FA.
-
R83_NP_FA factors a R83 matrix without pivoting.
-
R83_NP_FS factors and solves a R83 system.
-
R83_NP_ML computes A * x or x * A, where A has been factored by R83_NP_FA.
-
R83_NP_SL solves a R83 system factored by R83_NP_FA.
-
R83_PRINT prints a R83 matrix.
-
R83_PRINT_SOME prints some of a R83 matrix.
-
R83_RANDOM randomizes a R83 matrix.
-
R83_TO_R8GE copies an R83 matrix to a R8GE matrix.
-
R83_VXM multiplies a vector by an R83 matrix.
-
R83P_DET computes the determinant of a matrix factored by R83P_FA.
-
R83P_FA factors a R83P matrix.
-
R83P_INDICATOR sets up a R83P indicator matrix.
-
R83P_ML computes A * x or x * A, where A has been factored by R83P_FA.
-
R83P_MXV multiplies a R83P matrix times a vector.
-
R83P_PRINT prints a R83P matrix.
-
R83P_PRINT_SOME prints some of a R83P matrix.
-
R83P_RANDOM randomizes a R83P matrix.
-
R83P_SL solves a R83P system.
-
R83P_TO_R8GE copies a R83P matrix to a R8GE matrix.
-
R83P_VXM multiplies a vector by a R83P matrix.
-
R85_INDICATOR sets up an R85 indicator matrix.
-
R85_NP_FS factors and solves a R85 linear system.
-
R85_MXV multiplies a R85 matrix times a vector.
-
R85_PRINT prints a R85 matrix.
-
R85_PRINT_SOME prints some of a R85 matrix.
-
R85_RANDOM randomizes a R85 matrix.
-
R85_TO_R8GE copies a R85 matrix into a R8GE matrix.
-
R85_VXM multiplies a vector by a R85 matrix.
-
R8BB_ADD adds a value to an entry in a R8BB matrix.
-
R8BB_FA factors a R8BB matrix.
-
R8BB_GET returns an entry of a R8BB matrix.
-
R8BB_INDICATOR sets up a R8BB indicator matrix.
-
R8BB_MXV multiplies a R8BB matrix times a vector.
-
R8BB_PRINT prints a R8BB matrix.
-
R8BB_PRINT_SOME prints some of a R8BB matrix.
-
R8BB_RANDOM randomizes a R8BB matrix.
-
R8BB_SET sets an entry of a R8BB matrix.
-
R8BB_SL solves a R8BB system factored by R8BB_FA.
-
R8BB_TO_R8GE copies a R8BB matrix to a R8GE matrix.
-
R8BB_VXM multiplies a vector by a R8BB matrix.
-
R8BLT_DET computes the determinant of a R8BLT matrix.
-
R8BLT_INDICATOR sets up a R8BLT indicator matrix.
-
R8BLT_MXV multiplies a R8BLT matrix times a vector.
-
R8BLT_PRINT prints a R8BLT matrix.
-
R8BLT_PRINT_SOME prints some of a R8BLT matrix.
-
R8BLT_RANDOM randomizes a R8BLT matrix.
-
R8BLT_SL solves a R8BLT system.
-
R8BLT_TO_R8GE copies a R8BLT matrix to a R8GE matrix.
-
R8BLT_VXM multiplies a vector by a R8BLT matrix.
-
R8BTO_INDICATOR sets up a R8BTO indicator matrix.
-
R8BTO_MXV multiplies a R8BTO matrix times a vector.
-
R8BTO_PRINT prints a R8BTO matrix.
-
R8BTO_PRINT_SOME prints some of a R8BTO matrix.
-
R8BTO_RANDOM randomizes a R8BTO matrix.
-
R8BTO_SL solves a R8BTO system.
-
R8BTO_TO_R8GE copies a R8BTO matrix to a R8GE matrix.
-
R8BTO_VXM multiplies a vector by a R8BTO matrix.
-
R8BUT_DET computes the determinant of a R8BUT matrix.
-
R8BUT_INDICATOR sets up a R8BUT indicator matrix.
-
R8BUT_MXV multiplies a R8BUT matrix times a vector.
-
R8BUT_PRINT prints a R8BUT matrix.
-
R8BUT_PRINT_SOME prints some of a R8BUT matrix.
-
R8BUT_RANDOM randomizes a R8BUT matrix.
-
R8BUT_SL solves a R8BUT system.
-
R8BUT_TO_R8GE copies a R8BUT matrix to a R8GE matrix.
-
R8BUT_VXM multiplies a vector by a R8BUT matrix.
-
R8CB_DET computes the determinant of a R8CB matrix factored by R8CB_NP_FA.
-
R8CB_INDICATOR sets up a R8CB indicator matrix.
-
R8CB_ML computes A * x or A' * X, using R8CB_NP_FA factors.
-
R8CB_MXV multiplies a R8CB matrix times a vector.
-
R8CB_NP_FA factors a R8CB matrix by Gaussian elimination.
-
R8CB_NP_SL solves a R8CB system factored by R8CB_NP_FA.
-
R8CB_PRINT prints a R8CB matrix.
-
R8CB_PRINT_SOME prints some of a R8CB matrix.
-
R8CB_RANDOM randomizes a R8CB matrix.
-
R8CB_TO_R8VEC copies a R8CB matrix to an R8VEC.
-
R8CB_TO_R8GE copies a R8CB matrix to a R8GE matrix.
-
R8CB_VXM multiplies a vector by a R8CB matrix.
-
R8CBB_ADD adds a value to an entry of a R8CBB matrix.
-
R8CBB_ERROR checks the dimensions of a R8CBB matrix.
-
R8CBB_FA factors a R8CBB matrix.
-
R8CBB_GET returns the value of an entry of a R8CBB matrix.
-
R8CBB_INDICATOR sets up a R8CBB indicator matrix.
-
R8CBB_MXV multiplies a R8CBB matrix times a vector.
-
R8CBB_PRINT prints a R8CBB matrix.
-
R8CBB_PRINT_SOME prints some of a R8CBB matrix.
-
R8CBB_RANDOM randomizes a R8CBB matrix.
-
R8CBB_SET sets the value of an entry in a R8CBB matrix.
-
R8CBB_SL solves a R8CBB system factored by R8CBB_FA.
-
R8CBB_TO_R8GE copies a R8CBB matrix to a R8GE matrix.
-
R8CBB_VXM multiplies a vector by a R8CBB matrix.
-
R8CC_GET gets a value of a R8CC matrix.
-
R8CC_IJK seeks K, the sparse index of (I,J), the full index of a R8CC matrix.
-
R8CC_INC increments a value of a R8CC matrix.
-
R8CC_INDICATOR sets up a R8CC indicator matrix.
-
R8CC_KIJ seeks (I,J), the full index of K, the sparse index of a R8CC matrix.
-
R8CC_MXV multiplies a R8CC matrix times a vector.
-
R8CC_PRINT prints a R8CC matrix.
-
R8CC_PRINT_SOME prints some of a R8CC matrix.
-
R8CC_RANDOM randomizes a R8CC matrix.
-
R8CC_READ reads a R8CC matrix from three files.
-
R8CC_READ_SIZE reads the sizes of a R8CC sparse matrix from a file.
-
R8CC_SET sets a value of a R8CC matrix.
-
R8CC_TO_R8GE converts a R8CC matrix to a R8GE matrix.
-
R8CC_VXM multiplies a vector times a R8CC matrix.
-
R8CC_WRITE writes a R8CC matrix to three files.
-
R8CI_EVAL returns the eigenvalues of a R8CI matrix.
-
R8CI_INDICATOR sets up a R8CI indicator matrix.
-
R8CI_MXV multiplies a R8CI matrix times a vector.
-
R8CI_PRINT prints a R8CI matrix.
-
R8CI_PRINT_SOME prints some of a R8CI matrix.
-
R8CI_RANDOM randomizes a R8CI matrix.
-
R8CI_SL solves a R8CI system.
-
R8CI_TO_R8GE copies a R8CI matrix into a R8GE matrix.
-
R8CI_VXM multiplies a vector by a R8CI matrix.
-
R8COL_SWAP swaps columns I and J of a real array of column data.
-
R8GB_DET computes the determinant of a matrix factored by R8GB_FA or R8GB_TRF.
-
R8GB_FA performs a LINPACK-style PLU factorization of a R8GB matrix.
-
R8GB_INDICATOR sets up a R8GB indicator matrix.
-
R8GB_ML computes A * x or A' * X, using R8GB_FA factors.
-
R8GB_MU computes A * x or A' * X, using R8GB_TRF factors.
-
R8GB_MXV multiplies a R8GB matrix times a vector.
-
R8GB_NZ_NUM counts the nonzeroes in a R8GB matrix.
-
R8GB_PRINT prints a R8GB matrix.
-
R8GB_PRINT_SOME prints some of a R8GB matrix.
-
R8GB_RANDOM randomizes a R8GB matrix.
-
R8GB_SL solves a system factored by R8GB_FA.
-
R8GB_TO_R8S3 copies a R8GB matrix to a R8S3 matrix.
-
R8GB_TO_R8SP copies a R8GB matrix to a R8SP matrix.
-
R8GB_TO_R8VEC copies a R8GB matrix to an R8VEC.
-
R8GB_TO_R8GE copies a R8GB matrix to a R8GE matrix.
-
R8GB_TRF performs a LAPACK-style PLU factorization of a R8GB matrix.
-
R8GB_TRS solves a R8GB linear system factored by R8GB_TRF.
-
R8GB_VXM multiplies a vector by a R8GB matrix.
-
R8GD_ERROR checks the dimensions of a R8GD matrix.
-
R8GD_INDICATOR sets up a R8GD indicator matrix.
-
R8GD_MXV multiplies a R8GD matrix by a vector.
-
R8GD_PRINT prints a R8GD matrix.
-
R8GD_PRINT_SOME prints some of a R8GD matrix.
-
R8GD_RANDOM randomizes a R8GD matrix.
-
R8GD_TO_R8GE copies a R8GD matrix to a R8GE matrix.
-
R8GD_VXM multiplies a vector by a R8GD matrix.
-
R8GE_CO factors a R8GE matrix and estimates its condition number.
-
R8GE_DET computes the determinant of a matrix factored by R8GE_FA or R8GE_TRF.
-
R8GE_DILU produces the diagonal incomplete LU factor of a R8GE matrix.
-
R8GE_FA performs a LINPACK style PLU factorization of a R8GE matrix.
-
R8GE_FS factors and solves a R8GE system.
-
R8GE_IDENTITY copies the identity matrix to a R8GE matrix.
-
R8GE_ILU produces the incomplete LU factors of a R8GE matrix.
-
R8GE_INDICATOR sets up a R8GE indicator matrix.
-
R8GE_INVERSE computes the inverse of a matrix factored by R8GE_FA.
-
R8GE_ML computes A * x or A' * x, using R8GE_FA factors.
-
R8GE_MU computes A * x or A' * x, using R8GE_TRF factors.
-
R8GE_MXM multiplies two R8GE matrices.
-
R8GE_MXV multiplies a R8GE matrix times a vector.
-
R8GE_NP_DET computes the determinant of a matrix factored by R8GE_NP_FA.
-
R8GE_NP_FA factors a R8GE matrix by nonpivoting Gaussian elimination.
-
R8GE_NP_INVERSE computes the inverse of a matrix factored by R8GE_NP_FA.
-
R8GE_NP_ML computes A * x or x * A, for a matrix factored by R8GE_NP_FA.
-
R8GE_NP_SL solves a system factored by R8GE_NP_FA.
-
R8GE_NP_TRF computes the LU factorization of a R8GE matrix.
-
R8GE_NP_TRM computes A * x or A' * x, for a matrix factored by R8GE_NP_TRF.
-
R8GE_NP_TRS solves a system of linear equations factored by R8GE_NP_TRF.
-
R8GE_PLU produces the PLU factors of a R8GE matrix.
-
R8GE_POLY computes the characteristic polynomial of a R8GE matrix.
-
R8GE_PRINT prints a R8GE matrix.
-
R8GE_PRINT_SOME prints some of a R8GE matrix.
-
R8GE_RANDOM randomizes a R8GE matrix.
-
R8GE_RES computes the residual vector for a R8GE system.
-
R8GE_SL solves a system factored by R8GE_FA.
-
R8GE_SL_IT applies one step of iterative refinement following R8GE_SL.
-
R8GE_TO_R8GB copies a R8GE matrix to a R8GB matrix.
-
R8GE_TO_R8VEC copies a R8GE matrix to an R8VEC.
-
R8GE_TRF performs a LAPACK-style PLU factorization of a R8GE matrix.
-
R8GE_TRS solves a system of linear equations factored by R8GE_TRF.
-
R8GE_VXM multiplies a vector by a R8GE matrix.
-
R8LT_DET computes the determinant of a R8LT matrix.
-
R8LT_INDICATOR sets up a R8LT indicator matrix.
-
R8LT_INVERSE computes the inverse of a R8LT matrix.
-
R8LT_MXM multiplies two R8LT matrices.
-
R8LT_MXV multiplies a R8LT matrix times a vector.
-
R8LT_PRINT prints a R8LT matrix.
-
R8LT_PRINT_SOME prints some of a R8LT matrix.
-
R8LT_RANDOM randomizes a R8LT matrix.
-
R8LT_SL solves a R8LT system.
-
R8LT_VXM multiplies a vector by a R8LT matrix.
-
R8MAT_DIAG_ADD_SCALAR adds a scalar to the diagonal of a matrix.
-
R8MAT_DIAG_GET_VECTOR gets the value of the diagonal of a matrix.
-
R8MAT_DIAG_SET_SCALAR sets the diagonal of a matrix to a scalar value.
-
R8MAT_PRINT prints a real matrix.
-
R8MAT_PRINT_SOME prints some of a real matrix.
-
R8NCF_INDICATOR sets up a R8NCF indicator matrix.
-
R8NCF_PRINT prints a R8NCF matrix.
-
R8NCF_PRINT_SOME prints some of a R8NCF matrix.
-
R8PBL_DET computes the determinant of a matrix factored by R8PBL_FA.
-
R8PBL_INDICATOR sets up a R8PBL indicator matrix.
-
R8PBL_PRINT prints a R8PBL matrix.
-
R8PBL_PRINT_SOME prints some of a R8PBL matrix.
-
R8PBL_RANDOM randomizes a R8PBL matrix.
-
R8PBL_TO_R8GE copies a R8PBL matrix to a R8GE matrix.
-
R8PBU_CG uses the conjugate gradient method on a R8PBU system.
-
R8PBU_DET computes the determinant of a matrix factored by R8PBU_FA.
-
R8PBU_FA factors a R8PBU matrix.
-
R8PBU_INDICATOR sets up a R8PBU indicator matrix.
-
R8PBU_ML multiplies a vector times a matrix that was factored by R8PBU_FA.
-
R8PBU_MXV multiplies a R8PBU matrix times a vector.
-
R8PBU_PRINT prints a R8PBU matrix.
-
R8PBU_PRINT_SOME prints some of a R8PBU matrix.
-
R8PBU_RANDOM randomizes a R8PBU matrix.
-
R8PBU_SL solves a R8PBU system factored by R8PBU_FA.
-
R8PBU_SOR uses SOR iteration to solve a R8PBU linear system.
-
R8PBU_TO_R8GE copies a R8PBU matrix to a R8GE matrix.
-
R8PO_DET computes the determinant of a matrix factored by R8PO_FA.
-
R8PO_FA factors a R8PO matrix.
-
R8PO_INDICATOR sets up a R8PO indicator matrix.
-
R8PO_INVERSE computes the inverse of a matrix factored by R8PO_FA.
-
R8PO_ML computes A * x = b after A has been factored by R8PO_FA.
-
R8PO_MXM multiplies two R8PO matrices.
-
R8PO_MXV multiplies a R8PO matrix times a vector.
-
R8PO_PRINT prints a R8PO matrix.
-
R8PO_PRINT_SOME prints some of a R8PO matrix.
-
R8PO_RANDOM randomizes a R8PO matrix.
-
R8PO_SL solves a R8PO system factored by R8PO_FA.
-
R8PO_TO_R8GE copies a R8PO matrix to a R8GE matrix.
-
R8PP_DET computes the determinant of a R8PP matrix factored by R8PP_FA.
-
R8PP_FA factors a R8PP matrix.
-
R8PP_INDICATOR sets up a R8PP indicator matrix.
-
R8PP_MXV multiplies a R8PP matrix times a vector.
-
R8PP_PRINT prints a R8PP matrix.
-
R8PP_PRINT_SOME prints some of a R8PP matrix.
-
R8PP_RANDOM randomizes a R8PP matrix.
-
R8PP_SL solves a R8PP system factored by R8PP_FA.
-
R8PP_TO_R8GE copies a R8PP matrix to a R8GE matrix.
-
R8ROW_SWAP swaps two rows of a table.
-
R8S3_DIAGONAL reorders a square R8S3 matrix so the diagonal entries are first.
-
R8S3_INDICATOR sets up a R8S3 indicator matrix.
-
R8S3_JAC_SL solves a R8S3 system using Jacobi iteration.
-
R8S3_MXV multiplies a R8S3 matrix times a vector.
-
R8S3_PRINT prints a R8S3 matrix.
-
R8S3_PRINT_SOME prints some of a R8S3 matrix.
-
R8S3_READ reads a square R8S3 matrix from a file.
-
R8S3_READ_SIZE reads the size of a square R8S3 matrix from a file.
-
R8S3_TO_R8GE copies a R8S3 matrix to a R8GE matrix.
-
R8S3_VXM multiplies a vector times a R8S3 matrix.
-
R8S3_WRITE writes a square R8S3 matrix to a file.
-
R8SD_CG uses the conjugate gradient method on a R8SD linear system.
-
R8SD_INDICATOR sets up a R8SD indicator matrix.
-
R8SD_MXV multiplies a R8SD matrix times a vector.
-
R8SD_PRINT prints a R8SD matrix.
-
R8SD_PRINT_SOME prints some of a R8SD matrix.
-
R8SD_RANDOM randomizes a R8SD matrix.
-
R8SD_TO_R8GE copies a R8SD matrix to a R8GE matrix.
-
R8SM_ML multiplies a factored square R8SM matrix times a vector.
-
R8SM_MXV multiplies a R8SM matrix times a vector.
-
R8SM_PRINT prints a R8SM matrix.
-
R8SM_PRINT_SOME prints some of a R8SM matrix.
-
R8SM_RANDOM randomizes a R8SM matrix.
-
R8SM_SL solves a square R8SM system that has been factored.
-
R8SM_TO_R8GE copies a R8SM matrix to a R8GE matrix.
-
R8SM_VXM multiplies a vector by a R8SM matrix.
-
R8SP_CHECK checks that a R8SP matrix data structure is properly sorted.
-
R8SP_IJ_TO_K seeks the compressed index of the (I,J) entry of A.
-
R8SP_INDICATOR sets up a R8SP indicator matrix.
-
R8SP_MXV multiplies a R8SP matrix times a vector.
-
R8SP_PRINT prints a R8SP matrix.
-
R8SP_PRINT_SOME prints some of a R8SP matrix.
-
R8SP_RANDOM sets a random R8SP matrix.
-
R8SP_READ reads a R8SP matrix from a file.
-
R8SP_READ_SIZE reads the size of a R8SP matrix from a file.
-
R8SP_TO_R8GE converts a R8SP matrix to a R8GE matrix.
-
R8SP_TO_R8NCF converts a R8SP matrix to a R8NCF matrix.
-
R8SP_VXM multiplies a vector times a R8SP matrix.
-
R8SP_WRITE writes a square R8SP matrix to a file.
-
R8SR_INDICATOR sets up a R8SR indicator matrix.
-
R8SR_MXV multiplies a R8SR matrix times a vector.
-
R8SR_PRINT prints a R8SR matrix.
-
R8SR_PRINT_SOME prints some of a R8SR matrix.
-
R8SR_RANDOM randomizes a R8SR matrix.
-
R8SR_TO_R8GE converts a R8SR matrix to a R8GE matrix.
-
R8SR_VXM multiplies a vector times a R8SR matrix.
-
R8SS_ERROR checks dimensions for a R8SS matrix.
-
R8SS_INDICATOR sets up a R8SS indicator matrix.
-
R8SS_MXV multiplies a R8SS matrix times a vector.
-
R8SS_PRINT prints a R8SS matrix.
-
R8SS_PRINT_SOME prints some of a R8SS matrix.
-
R8SS_RANDOM randomizes a R8SS matrix.
-
R8SS_TO_R8GE copies a R8SS matrix to a R8GE matrix.
-
R8STO_INDICATOR sets up a R8STO indicator matrix.
-
R8STO_INVERSE computes the inverse of a R8STO matrix.
-
R8STO_MXV multiplies a R8STO matrix times a vector.
-
R8STO_PRINT prints a R8STO matrix.
-
R8STO_PRINT_SOME prints some of a R8STO matrix.
-
R8STO_RANDOM randomizes a R8STO matrix.
-
R8STO_SL solves a R8STO system.
-
R8STO_TO_R8GE copies a R8STO matrix to a R8GE matrix.
-
R8STO_YW_SL solves the Yule-Walker equations for a R8STO matrix.
-
R8TO_INDICATOR sets up a R8TO indicator matrix.
-
R8TO_MXV multiplies a R8TO matrix times a vector.
-
R8TO_PRINT prints a R8TO matrix.
-
R8TO_PRINT_SOME prints some of a R8TO matrix.
-
R8TO_RANDOM randomizes a R8TO matrix.
-
R8TO_SL solves a R8TO system.
-
R8TO_TO_R8GE copies a R8TO matrix to a R8GE matrix.
-
R8TO_VXM multiplies a vector by a R8TO matrix.
-
R8UT_DET computes the determinant of a R8UT matrix.
-
R8UT_INDICATOR sets up a R8UT indicator matrix.
-
R8UT_INVERSE computes the inverse of a R8UT matrix.
-
R8UT_MXM multiplies two R8UT matrices.
-
R8UT_MXV multiplies a R8UT matrix times a vector.
-
R8UT_PRINT prints a R8UT matrix.
-
R8UT_PRINT_SOME prints some of a R8UT matrix.
-
R8UT_RANDOM randomizes a R8UT matrix.
-
R8UT_SL solves a R8UT system.
-
R8UT_VXM multiplies a vector by a R8UT matrix.
-
R8VEC_INDICATOR sets a R8VEC to the indicator vector.
-
R8VEC_PRINT prints an R8VEC, with an optional title.
-
R8VEC_PRINT_SOME prints "some" of an R8VEC.
-
R8VEC_READ reads an R8VEC from a file.
-
R8VEC_READ_SIZE reads the size of an R8VEC from a file.
-
R8VEC_TO_R8CB copies an R8VEC into a R8CB matrix.
-
R8VEC_TO_R8GB copies an R8VEC into a R8GB matrix.
-
R8VEC_TO_R8GE copies an R8VEC into a R8GE matrix.
-
R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
-
R8VEC_WRITE writes an R8VEC to a file.
-
R8VEC2_PRINT_SOME prints "some" of a pair of R8VEC's.
-
R8VM_DET computes the determinant of an R8VM matrix.
-
R8VM_MXV multiplies an R8VM matrix times a vector.
-
R8VM_PRINT prints a R8VM matrix.
-
R8VM_PRINT_SOME prints some of an R8VM matrix.
-
R8VM_RANDOM randomizes an R8VM matrix.
-
R8VM_SL solves an R8VM linear system.
-
R8VM_TO_R8GE copies an R8VM matrix to a R8GE matrix.
-
R8VM_VXM multiplies a vector by an R8VM matrix.
-
SORT_HEAP_EXTERNAL externally sorts a list of items into linear order.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 06 March 2008.