LINPLUS
Linear Algebra Utilities
LINPLUS is a C++ library
which carries out a small number of linear algebra operations,
inspired by LINPACK and LAPACK.
The routines are primarily organized by 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;
-
D3 - Real double precision tridiagonal;
-
D3P - Real double precision tridiagonal periodic;
-
D5 - Real double precision pentadiagonal;
-
DBB - Real double precision border-banded;
-
DBLT - Real double precision banded lower triangular matrix;
-
DBTO - Real double precision block Toeplitz;
-
DBUT - Real double precision banded upper triangular matrix;
-
DCB - Real double precision compact band;
-
DCBB - Real double precision compact border-banded;
-
DCC - Real double precision compressed column sparse
= Harwell Boeing Unsymmetric Assembled format
= MATLAB sparse format;
-
DCI - Real double precision circulant;
-
DGB - Real double precision general band,
used by LINPACK and LAPACK;
-
DGD - Real double precision general diagonal;
-
R8GE - Real double precision general, used by LINPACK and LAPACK;
-
DLT - Real double precision lower triangular;
-
DNCF - Real double precision Nonsymmetric Coordinate Format
(one of the formats used by NSPCG);
-
DPBL - Real double precision positive-definite symmetric band
matrix, store diagonal and lower triangle;
-
DPBU - Real double precision positive-definite symmetric band
matrix, store diagonal and upper triangle;
-
DPO - Real double precision positive-definite symmetric,
used by LINPACK and LAPACK;
-
DPP - Real double precision positive-definite symmetric Packed,
used by LINPACK and LAPACK;
-
DS3 - Real double precision sparse matrix stored by row,
column, value (used by SLAP/DLAP, symmetric or nonsymmetric);
-
DSD - Real double precision symmetric diagonal;
-
DSM - Real double precision Sherman Morrison system A - u * v';
-
DSP - 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));
-
DSR - Real double precision sparse matrix stored by rows;
-
DSS - Real double precision symmetric skyline;
-
DSTO - Real double precision symmetric Toeplitz;
-
DTO - Real double precision Toeplitz;
-
DUT - Real double precision upper triangular;
-
R8VEC - Real double precision vector, which in some cases
is used to store a matrix;
-
DVM - Real double precision Vandermonde;
Related Data and Programs:
BLAS1
is a C++ library of basic linear algebra routines.
CSPARSE
is a C library of routines for the direct solution
of sparse linear systems.
DLAP
is a FORTRAN90 library of iterative linear algebra.routines
for sparse systems.
DSP
is a format that can be used to store a DSP matrix in a file.
GSL
is a C++ library, the Gnu Scientific Library, which
includes many linear algebra routines.
HB_TO_ST
is an executable FORTRAN77 program which
converts the sparse matrix information stored as a Harwell-Boeing file into a
sparse triplet file.
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 linear algebra routines.
LINPACK
is a C++ library of linear algebra routines.
LINPACK_BENCH
is an executable C++ benchmark program
which measures the time taken by LINPACK to solve a
particular linear system.
LINPLUS is also available in
a FORTRAN90 version and
a MATLAB version.
MGMRES
is a C++ 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
C++, which includes many linear algebra routines.
NSPCG
is a FORTRAN90 library of routines for solving
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 of routines for operations
on sparse matrices, including conversion between various formats.
SUPER_LU
is a C library which implements some very fast solvers
for systems of sparse linear equations.
TEMPLATES
is a MATLAB library of routines that implement
various iterative methods for solving a linear system.
TEST_MAT
is a FORTRAN90 library of routines which define 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:
-
C8VEC_PRINT prints a double complex vector.
-
C8VEC_SORT_A2 ascending sorts a double complex array by L2 norm.
-
C8VEC_UNITY returns the N roots of unity as a double complex vector.
-
D3_CR_FA decomposes a real tridiagonal matrix using cyclic reduction.
-
D3_CR_SL solves a real linear system factored by D3_CR_FA.
-
D3_GS_SL solves a D3 system using Gauss-Seidel iteration.
-
D3_INDICATOR sets up a D3 indicator matrix.
-
D3_JAC_SL solves a D3 system using Jacobi iteration.
-
D3_MXV multiplies a D3 matrix times a vector.
-
D3_NP_DET returns the determinant of a tridiagonal system factored by D3_NP_FA.
-
D3_NP_FA factors a D3 system without pivoting.
-
D3_NP_FS factors and solves a D3 system.
-
D3_NP_ML computes A * x or x * A, where A has been factored by D3_NP_FA.
-
D3_NP_SL solves a D3 system factored by D3_NP_FA.
-
D3_PRINT prints a D3 matrix.
-
D3_PRINT_SOME prints some of a D3 matrix.
-
D3_RANDOM randomizes a D3 matrix.
-
D3_TO_R8GE copies a D3 matrix to a R8GE matrix.
-
D3_VXM multiplies a vector times a D3 matrix.
-
D3_ZERO zeros a D3 matrix.
-
D3P_DET computes the determinant of a matrix factored by D3P_FA.
-
D3P_FA factors a D3P matrix.
-
D3P_INDICATOR sets up a D3P indicator matrix.
-
D3P_ML computes A * x or x * A, where A has been factored by D3P_FA.
-
D3P_MXV multiplies a D3P matrix times a vector.
-
D3P_PRINT prints a D3P matrix.
-
D3P_PRINT_SOME prints some of a D3P matrix.
-
D3P_RANDOM randomizes a D3P matrix.
-
D3P_SL solves a D3P system factored by D3P_FA.
-
D3P_TO_R8GE copies a D3P matrix to a R8GE matrix.
-
D3P_VXM multiplies a vector times a D3P matrix.
-
D3P_ZERO zeros a D3P matrix.
-
D5_INDICATOR sets up a D5 indicator matrix.
-
D5_NP_FS factors and solves a D5 system.
-
D5_MXV multiplies a D5 matrix times a vector.
-
D5_PRINT prints a D5 matrix.
-
D5_PRINT_SOME prints some of a D5 matrix.
-
D5_RANDOM randomizes a D5 matrix.
-
D5_TO_R8GE copies a D5 matrix to a R8GE matrix.
-
D5_VXM multiplies a vector times a D5 matrix.
-
D5_ZERO zeros a D5 matrix.
-
DAXPY adds a constant times one vector to another.
-
DBB_ADD adds a value to an entry in a DBB matrix.
-
DBB_FA factors a DBB matrix.
-
DBB_GET gets a value of a DBB matrix.
-
DBB_INDICATOR sets up a DBB indicator matrix.
-
DBB_MXV multiplies a DBB matrix times a vector.
-
DBB_PRINT prints a DBB matrix.
-
DBB_PRINT_SOME prints some of a DBB matrix.
-
DBB_RANDOM randomizes a DBB matrix.
-
DBB_SET sets a value of a DBB matrix.
-
DBB_TO_R8GE copies a DBB matrix to a R8GE matrix.
-
DBB_VXM multiplies a vector by a DBB matrix.
-
DBB_ZERO zeros a DBB matrix.
-
DBLT_DET computes the determinant of a DBLT matrix.
-
DBLT_INDICATOR sets up a DBLT indicator matrix.
-
DBLT_MXV multiplies a DBLT matrix times a vector.
-
DBLT_PRINT prints a DBLT matrix.
-
DBLT_PRINT_SOME prints some of a DBLT matrix.
-
DBLT_RANDOM randomizes a DBLT matrix.
-
DBLT_SL solves a DBLT system.
-
DBLT_TO_R8GE copies a DBLT matrix to a R8GE matrix.
-
DBLT_VXM multiplies a vector by a DBLT matrix.
-
DBLT_ZERO zeros a DBLT matrix.
-
DBTO_INDICATOR sets up a DBTO indicator matrix.
-
DBTO_MXV multiplies a DBTO matrix times a vector.
-
DBTO_PRINT prints a DBTO matrix.
-
DBTO_PRINT_SOME prints some of a DBTO matrix.
-
DBTO_RANDOM randomizes a DBTO matrix.
-
DBTO_TO_R8GE copies a DBTO matrix to a R8GE matrix.
-
DBTO_VXM multiplies a vector times a DBTO matrix.
-
DBTO_ZERO zeros a DBTO matrix.
-
DBUT_DET computes the determinant of a DBUT matrix.
-
DBUT_INDICATOR sets up a DBUT indicator matrix.
-
DBUT_MXV multiplies a DBUT matrix times a vector.
-
DBUT_PRINT prints a DBUT matrix.
-
DBUT_PRINT_SOME prints some of a DBUT matrix.
-
DBUT_RANDOM randomizes a DBUT matrix.
-
DBUT_SL solves a DBUT system.
-
DBUT_TO_R8GE copies a DBUT matrix to a R8GE matrix.
-
DBUT_VXM multiplies a vector by a DBUT matrix.
-
DCB_DET computes the determinant of a DCB matrix factored by DCB_NP_FA.
-
DCB_INDICATOR sets up a DCB indicator matrix.
-
DCB_ML computes A * x or A' * X, using DCB_NP_FA factors.
-
DCB_MXV multiplies a DCB matrix times a vector.
-
DCB_NP_FA factors a DCB matrix by Gaussian elimination.
-
DCB_NP_SL solves a DCB system factored by DCB_NP_FA.
-
DCB_PRINT prints a DCB matrix.
-
DCB_PRINT_SOME prints some of a DCB matrix.
-
DCB_RANDOM randomizes a DCB matrix.
-
DCB_TO_R8VEC copies a DCB matrix to a real vector.
-
DCB_TO_R8GE copies a DCB matrix to a R8GE matrix.
-
DCB_VXM multiplies a vector by a DCB matrix.
-
DCB_ZERO zeros a DCB matrix.
-
DCBB_ADD adds a value to an entry of a DCBB matrix.
-
DCBB_ERROR checks the dimensions of a DCBB matrix.
-
DCBB_FA factors a DCBB matrix.
-
DCBB_GET gets the value of an entry of a DCBB matrix.
-
DCBB_INDICATOR sets up a DCBB indicator matrix.
-
DCBB_MXV multiplies a DCBB matrix times a vector.
-
DCBB_PRINT prints a DCBB matrix.
-
DCBB_PRINT_SOME prints some of a DCBB matrix.
-
DCBB_RANDOM randomizes a DCBB matrix.
-
DCBB_SET sets an entry of a DCBB matrix.
-
DCBB_SL solves a DCBB system factored by DCBB_FA.
-
DCBB_TO_R8GE copies a DCBB matrix to a R8GE matrix.
-
DCBB_VXM multiplies a vector by a DCBB matrix.
-
DCBB_ZERO zeros a DCBB matrix.
-
DCC_GET gets a value of a DCC matrix.
-
DCC_IJK seeks K, the sparse index of (I,J), the full index of a DCC matrix.
-
DCC_INC increments a value of a DCC matrix.
-
DCC_INDICATOR sets up a DCC indicator matrix.
-
DCC_KIJ seeks (I,J), the full index of K, the sparse index of a DCC matrix.
-
DCC_MXV multiplies a DCC matrix times a vector.
-
DCC_PRINT prints a DCC matrix.
-
DCC_PRINT_SOME prints some of a DCC matrix.
-
DCC_RANDOM randomizes a DCC matrix.
-
DCC_READ reads a DCC matrix from three files.
-
DCC_READ_SIZE reads the sizes of a DCC sparse matrix from a file.
-
DCC_SET sets a value of a DCC matrix.
-
DCC_TO_R8GE converts a DCC matrix to a R8GE matrix.
-
DCC_VXM multiplies a vector times a DCC matrix.
-
DCC_WRITE writes a DCC matrix to three files.
-
DCC_ZERO zeros a DCC matrix.
-
DCI_EVAL returns the eigenvalues of a DCI matrix.
-
DCI_INDICATOR sets up a DCI indicator matrix.
-
DCI_MXV multiplies a DCI matrix times a vector.
-
DCI_PRINT prints a DCI matrix.
-
DCI_PRINT_SOME prints some of a DCI matrix.
-
DCI_RANDOM randomizes a DCI matrix.
-
DCI_SL solves a DCI system.
-
DCI_TO_R8GE copies a DCI matrix to a R8GE matrix.
-
DCI_VXM multiplies a vector times a DCI matrix.
-
DCI_ZERO zeros a DCI matrix.
-
DGB_DET computes the determinant of a matrix factored by DGB_FA or DGB_TRF.
-
DGB_FA performs a LINPACK-style PLU factorization of a DGB matrix.
-
DGB_INDICATOR sets up a DGB indicator matrix.
-
DGB_ML computes A * x or A' * X, using DGB_FA factors.
-
DGB_MU computes A * x or A' * X, using DGB_TRF factors.
-
DGB_MXV multiplies a DGB matrix times a vector.
-
DGB_NZ_NUM counts the nonzeroes in a DGB matrix.
-
DGB_PRINT prints a DGB matrix.
-
DGB_PRINT_SOME prints some of a DGB matrix.
-
DGB_RANDOM randomizes a DGB matrix.
-
DGB_SL solves a system factored by DGB_FA.
-
DGB_TO_DS3 copies a DGB matrix to a DS3 matrix.
-
DGB_TO_DSP copies a DGB matrix to a DSP matrix.
-
DGB_TO_R8VEC copies a DGB matrix to a real vector.
-
DGB_TO_R8GE copies a DGB matrix to a R8GE matrix.
-
DGB_TRF performs a LAPACK-style PLU factorization of a DGB matrix.
-
DGB_TRS solves a linear system factored by DGB_TRF.
-
DGB_VXM multilies a vector times a DGB matrix.
-
DGB_ZERO zeros a DGB matrix.
-
DGD_ERROR checks the dimensions of a DGD matrix.
-
DGD_INDICATOR sets up a DGD indicator matrix.
-
DGD_MXV multiplies a DGD matrix by a vector.
-
DGD_PRINT prints a DGD matrix.
-
DGD_PRINT_SOME prints some of a DGD matrix.
-
DGD_RANDOM randomizes a DGD matrix.
-
DGD_TO_R8GE copies a DGD matrix to a R8GE matrix.
-
DGD_VXM multiplies a vector by a DGD matrix.
-
DGD_ZERO zeros a DGD 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 sets a R8GE matrix to the identity.
-
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 R8GE 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 for a R8GE system.
-
R8GE_SL solves a R8GE system factored by R8GE_FA.
-
R8GE_SL_IT applies one step of iterative refinement following R8GE_SL.
-
R8GE_TO_DGB copies a R8GE matrix to a DGB matrix.
-
R8GE_TO_R8VEC copies a R8GE matrix to a real vector.
-
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 times a R8GE matrix.
-
R8GE_ZERO zeros a R8GE matrix.
-
DLT_DET computes the determinant of a DLT matrix.
-
DLT_INDICATOR sets up a DLT indicator matrix.
-
DLT_INVERSE computes the inverse of a DLT matrix.
-
DLT_MXM multiplies two DLT matrices.
-
DLT_MXV multiplies a DLT matrix times a vector.
-
DLT_PRINT prints a DLT matrix.
-
DLT_PRINT_SOME prints some of a DLT matrix.
-
DLT_RANDOM randomizes a DLT matrix.
-
DLT_SL solves a DLT system.
-
DLT_VXM multiplies a vector times a DLT matrix.
-
DLT_ZERO zeros a DLT matrix.
-
DNCF_INDICATOR sets up a DNCF indicator matrix.
-
DNCF_PRINT prints a DNCF matrix.
-
DNCF_PRINT_SOME prints some of a DNCF matrix.
-
DPBL_DET computes the determinant of a matrix factored by DPBL_FA.
-
DPBL_INDICATOR sets up a DPBL indicator matrix.
-
DPBL_PRINT prints a DPBL matrix.
-
DPBL_PRINT_SOME prints some of a DPBL matrix.
-
DPBL_RANDOM randomizes a DPBL matrix.
-
DPBL_TO_R8GE copies a DPBL matrix to a R8GE matrix.
-
DPBL_ZERO zeros a DPBL matrix.
-
DPBU_CG uses the conjugate gradient method on a DPBU system.
-
DPBU_DET computes the determinant of a matrix factored by DPBU_FA.
-
DPBU_FA factors a DPBU matrix.
-
DPBU_INDICATOR sets up a DPBU indicator matrix.
-
DPBU_ML multiplies a vector times a matrix that was factored by DPBU_FA.
-
DPBU_MXV multiplies a DPBU matrix times a vector.
-
DPBU_PRINT prints a DPBU matrix.
-
DPBU_PRINT_SOME prints some of a DPBU matrix.
-
DPBU_RANDOM randomizes a DPBU matrix.
-
DPBU_SL solves a DPBU system factored by DPBU_FA.
-
DPBU_SOR uses SOR iteration to solve a DPBU linear system.
-
DPBU_TO_R8GE copies a DPBU matrix to a R8GE matrix.
-
DPBU_ZERO zeros a DPBU matrix.
-
DPO_DET computes the determinant of a matrix factored by DPO_FA.
-
DPO_FA factors a DPO matrix.
-
DPO_INDICATOR sets up a DPO indicator matrix.
-
DPO_INVERSE computes the inverse of a matrix factored by DPO_FA.
-
DPO_ML computes A * x = b after A has been factored by DPO_FA.
-
DPO_MXM multiplies two DPO matrices.
-
DPO_MXV multiplies a DPO matrix times a vector.
-
DPO_PRINT prints a DPO matrix.
-
DPO_PRINT_SOME prints some of a DPO matrix.
-
DPO_RANDOM randomizes a DPO matrix.
-
DPO_SL solves a linear system that has been factored by DPO_FA.
-
DPO_TO_R8GE copies a DPO matrix to a R8GE matrix.
-
DPO_ZERO zeros a DPO matrix.
-
DPP_DET computes the determinant of a matrix factored by DPP_FA.
-
DPP_FA factors a DPP matrix.
-
DPP_INDICATOR sets up a DPP indicator matrix.
-
DPP_MXV multiplies a DPP matrix times a vector.
-
DPP_PRINT prints a DPP matrix.
-
DPP_PRINT_SOME prints some of a DPP matrix.
-
DPP_RANDOM randomizes a DPP matrix.
-
DPP_SL solves a DPP system factored by DPP_FA.
-
DPP_TO_R8GE copies a DPP matrix to a R8GE matrix.
-
DPP_ZERO zeros a DPP matrix.
-
DROW_SWAP swaps two rows of a real array.
-
DS3_INDICATOR sets up a DS3 indicator matrix.
-
DS3_PRINT prints a DS3 matrix.
-
DS3_PRINT_SOME prints some of a DS3 matrix.
-
DS3_READ reads a square DS3 matrix from a file.
-
DS3_READ_SIZE reads the size of a square DS3 matrix from a file.
-
DS3_WRITE writes a square DS3 matrix to a file.
-
DSD_CG uses the conjugate gradient method on a DSD linear system.
-
DSD_INDICATOR sets up a DSD indicator matrix.
-
DSD_MXV multiplies a DSD matrix times a vector.
-
DSD_PRINT prints a DSD matrix.
-
DSD_PRINT_SOME prints some of a DSD matrix.
-
DSD_RANDOM randomizes a DSD matrix.
-
DSD_TO_R8GE copies a DSD matrix to a R8GE matrix.
-
DSD_ZERO zeros a DSD matrix.
-
DSM_ML multiplies a factored square DSM matrix times a vector.
-
DSM_MXV multiplies a DSM matrix times a vector.
-
DSM_PRINT prints a DSM matrix.
-
DSM_PRINT_SOME prints some of a DSM matrix.
-
DSM_RANDOM randomizes a DSM matrix.
-
DSM_SL solves a square DSM system that has been factored.
-
DSM_TO_R8GE copies a DSM matrix to a R8GE matrix.
-
DSM_VXM multiplies a vector by a DSM matrix.
-
DSM_ZERO zeros a DSM matrix.
-
DSP_CHECK checks that a DSP matrix data structure is properly sorted.
-
DSP_IJ_TO_K seeks the compressed index of the (I,J) entry of A.
-
DSP_INDICATOR sets up a DSP indicator matrix.
-
DSP_MXV multiplies a DSP matrix times a vector.
-
DSP_PRINT prints a DSP matrix.
-
DSP_PRINT_SOME prints some of a DSP matrix.
-
DSP_RANDOM sets a random DSP matrix.
-
DSP_READ reads a DSP matrix from a file.
-
DSP_READ_SIZE reads the size of a DSP matrix from a file.
-
DSP_TO_R8GE converts a DSP matrix to a R8GE matrix.
-
DSP_TO_DNCF converts a DSP matrix to a DNCF matrix.
-
DSP_VXM multiplies a vector times a DSP matrix.
-
DSP_WRITE writes a DSP matrix to a file.
-
DSP_ZERO returns a zero DSP matrix.
-
DSR_INDICATOR sets up a DSR indicator matrix.
-
DSR_MXV multiplies a DSR matrix times a vector.
-
DSR_PRINT prints a DSR matrix.
-
DSR_PRINT_SOME prints some of a DSR matrix.
-
DSR_RANDOM randomizes a DSR matrix.
-
DSR_TO_R8GE converts a DSR matrix to a R8GE matrix.
-
DSR_VXM multiplies a vector times a DSR matrix.
-
DSR_ZERO zeros a DSR matrix.
-
DSS_ERROR checks dimensions for a DSS matrix.
-
DSS_INDICATOR sets up a DSS indicator matrix.
-
DSS_MXV multiplies a DSS matrix times a vector.
-
DSS_PRINT prints a DSS matrix.
-
DSS_PRINT_SOME prints some of a DSS matrix.
-
DSS_RANDOM randomizes a DSS matrix.
-
DSS_TO_R8GE copies a DSS matrix to a R8GE matrix.
-
DSS_ZERO zeros a DSS matrix.
-
DSTO_INDICATOR sets up a DSTO indicator matrix.
-
DSTO_INVERSE computes the inverse of a DSTO matrix.
-
DSTO_MXV multiplies a DSTO matrix times a vector.
-
DSTO_PRINT prints a DSTO matrix.
-
DSTO_PRINT_SOME prints some of am DSTO matrix.
-
DSTO_RANDOM randomizes a DSTO matrix.
-
DSTO_SL solves a DSTO system.
-
DSTO_TO_R8GE copies a DSTO matrix to a R8GE matrix.
-
DSTO_YW_SL solves the Yule-Walker equations for a DSTO matrix.
-
DSTO_ZERO zeros a DSTO matrix.
-
DTO_INDICATOR sets up a DTO indicator matrix.
-
DTO_MXV multiplies a DTO matrix times a vector.
-
DTO_PRINT prints a DTO matrix.
-
DTO_PRINT_SOME prints some of a DTO matrix.
-
DTO_RANDOM randomizes a DTO matrix.
-
DTO_SL solves a DTO system.
-
DTO_TO_R8GE copies a DTO matrix to a R8GE matrix.
-
DTO_VXM multiplies a vector times a DTO matrix.
-
DTO_ZERO zeros a DTO matrix.
-
DUT_DET computes the determinant of a DUT matrix.
-
DUT_INDICATOR sets up a DUT indicator matrix.
-
DUT_INVERSE computes the inverse of a DUT matrix.
-
DUT_MXM multiplies two DUT matrices.
-
DUT_MXV multiplies a DUT matrix times a vector.
-
DUT_PRINT prints a DUT matrix.
-
DUT_PRINT_SOME prints some of a DUT matrix.
-
DUT_RANDOM randomizes a DUT matrix.
-
DUT_SL solves a DUT system.
-
DUT_VXM multiplies a vector times a DUT matrix.
-
DUT_ZERO zeros a DUT matrix.
-
DVM_DET computes the determinant of a DVM matrix.
-
DVM_MXV multiplies a DVM matrix times a vector.
-
DVM_PRINT prints a DVM matrix.
-
DVM_PRINT_SOME prints some of a DVM matrix.
-
DVM_RANDOM randomizes a DVM matrix.
-
DVM_SL solves a DVM system.
-
DVM_TO_R8GE copies a DVM matrix to a R8GE matrix.
-
DVM_VXM multiplies a vector times a DVM matrix.
-
DVM_ZERO zeros a DVM matrix.
-
FILE_DELETE deletes a named file if it exists.
-
FILE_EXIST reports whether a file exists.
-
GET_SEED returns a random seed for the random number generator.
-
HILBERT_INVERSE returns the inverse of the Hilbert matrix.
-
I4_HUGE returns a "huge" integer value, usually the largest legal signed int.
-
I4_LOG_10 returns the integer part of the logarithm base 10 of ABS(X).
-
I4_MAX returns the maximum of two integers.
-
I4_MIN returns the smaller of two integers.
-
I4_MODP returns the nonnegative remainder of integer division.
-
I4_POWER returns the value of I^J.
-
I4_UNIFORM returns a scaled pseudorandom I4.
-
I4VEC_PRINT prints an integer vector.
-
I4VEC_SEARCH_BINARY_A searches an ascending sorted vector for a value.
-
R4_ABS returns the absolute value of an R4.
-
R4_NINT returns the nearest integer to an R4.
-
R4_UNIFORM returns a scaled pseudorandom R4.
-
R4_UNIFORM_01 returns a unit pseudorandom R4.
-
R8_ABS returns the absolute value of an R8.
-
R8_IS_INT determines if a real number represents an integer value.
-
R8_MAX returns the maximum of two R8s.
-
R8_MIN returns the minimum of two R8s.
-
R8_SIGN returns the first argument with the sign of the second.
-
R8_SWAP switches two R8s.
-
R8_UNIFORM randomizes a real number.
-
R8_UNIFORM_01 is a portable pseudorandom number generator.
-
R8MAT_PRINT prints an R8MAT.
-
R8VEC_DOT computes the inner product of two real vectors.
-
R8VEC_INDICATOR sets a real vector to the indicator vector.
-
R8VEC_PRINT prints a real vector.
-
R8VEC_PRINT_SOME prints "some" of a real vector.
-
R8VEC_RANDOM randomizes a real vector.
-
R8VEC_READ reads a R8VEC from a file.
-
R8VEC_READ_SIZE reads the size of a R8VEC from a file.
-
R8VEC_TO_DCB copies a real vector into a DCB matrix.
-
R8VEC_TO_DGB copies a real vector into a DGB matrix.
-
R8VEC_TO_R8GE copies a real vector into a R8GE matrix.
-
R8VEC_WRITE writes a R8VEC to a file.
-
R8VEC2_PRINT_SOME prints "some" of two real vectors.
-
S_LEN_TRIM returns the length of a string to the last nonblank.
-
SORT_HEAP_EXTERNAL externally sorts a list of items into ascending order.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the C++ source codes.
Last revised on 13 March 2008.