LINPLUS
Linear Algebra Utilities
LINPLUS
is a MATLAB library which
carries out simple manipulations of matrices in a variety of formats,
including matrices stored in banded, border-banded, circulant,
lower triangular, pentadiagonal, sparse, sparse,
toeplitz, tridiagonal, upper triangular and vandermonde formats.
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 - Double complex tridiagonal;
-
C8CI - Double complex circulant;
-
C8GE - Double complex general;
-
C8TO - Double complex Toeplitz;
-
R83 - Double precision tridiagonal;
-
R83P - Double precision tridiagonal periodic;
-
R85 - Double precision pentadiagonal;
-
R8BB - Double precision border-banded;
-
R8BLT - Double precision banded lower triangular matrix;
-
R8BTO - Double precision block Toeplitz;
-
R8BUT - Double precision banded upper triangular matrix;
-
R8CB - Double precision compact band;
-
R8CBB - Double precision compact border-banded;
-
R8CC - Double precision compressed column sparse
= Harwell Boeing Real Unsymmetric Assembled (RUA) format
= MATLAB sparse format;
-
R8CI - Double precision circulant;
-
R8GB - Double precision general band,
used by LINPACK and LAPACK;
-
R8GD - Double precision general diagonal;
-
R8GE - Double precision general, used by LINPACK and LAPACK;
-
R8LT - Double precision lower triangular;
-
R8NCF - Double precision Nonsymmetric Coordinate Format
(one of the formats used by NSPCG);
-
R8PBL - Double precision positive-definite symmetric band
matrix, store diagonal and lower triangle;
-
R8PBU - Double precision positive-definite symmetric band
matrix, store diagonal and upper triangle;
-
R8PO - Double precision positive-definite symmetric,
used by LINPACK and LAPACK;
-
R8PP - Double precision positive-definite symmetric Packed,
used by LINPACK and LAPACK;
-
R8S3 - Double precision sparse matrix stored by row,
column, value (used by SLAP/DLAP, symmetric or nonsymmetric);
-
R8SD - Double precision symmetric diagonal;
-
R8SM - Double precision Sherman Morrison system A - u * v';
-
R8SP - 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 - Double precision sparse matrix stored by rows;
-
R8SS - Double precision symmetric skyline;
-
R8STO - Double precision symmetric Toeplitz;
-
R8TO - Double precision Toeplitz;
-
R8R8GBUT - Double precision upper triangular;
-
R8VM - Double precision Vandermonde;
-
R8VEC - Double precision vector, which in some cases
is used to store a matrix;
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
LINPLUS is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
CSPARSE,
a C library which
contains routines for the direct solution
of sparse linear systems.
DLAP,
a FORTRAN90 library which
contains iterative linear algebra routines
for sparse systems.
GSL,
C++ programs which
illustrate the use of the Gnu Scientific Library;
LINPACK_D,
a MATLAB library which
is a linear algebra package to solve linear systems for a variety of
matrix storage formats.
LINPACK_BENCH,
a FORTRAN90 program which
measures the time taken by LINPACK to solve a
particular linear system.
MGMRES,
a MATLAB library which
applies the restarted GMRES algorithm
to solve a sparse linear system.
SPARSE_CC,
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,
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,
a FORTRAN90 library which
carries out operations on sparse matrices, including conversion between various formats.
SUPER_LU,
a C library which
implements some very fast solvers
for systems of sparse linear equations.
TEMPLATES,
a MATLAB library which
implements various iterative methods for solving a linear system.
TEST_MAT,
a MATLAB library which
defines test matrices, some of
which have known determinants, eigenvalues and eigenvectors,
inverses and so on.
TOEPLITZ_CHOLESKY,
a MATLAB library which
computes the Cholesky factorization of a nonnegative definite symmetric
Toeplitz matrix.
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.
-
Roger Hockney,
A fast direct solution of Poisson's equation using Fourier Analysis,
Journal of the ACM,
Volume 12, Number 1, pages 95-113, January 1965.
-
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:
-
c8_le_l2.m,
( X <= Y ) for C8 values and the L2 norm;
-
c8_swap.m,
swaps two C8 values;
-
c83_cr_fa.m,
factors a C83 system using cyclic reduction;
-
c83_cr_sl.m,
solves a C83 system factored by c83_cr_fa;
-
c83_cr_sls.m,
solves multiple C83 systems factored by c83_cr_fa;
-
c83_indicator.m,
sets up a C83 indicator matrix.
-
c83_mxv.m,
multiplies a C83 matrix times a vector;
-
c8mat_print.m,
prints a C8MAT.
-
c8mat_print_some.m,
prints some of a C8MAT.
-
c8vec_indicator.m,
sets a C8VEC to the indicator vector.
-
c8vec_print.m,
prints a C8 vector.
-
c8vec_print_some.m,
prints some of a C8VEC.
-
c8vec_sort_a2.m,
sorts a C8 vector by L2 norm;
-
c8vec_unity.m,
returns the N roots of unity;
-
r83_cr_fa.m,
factors a R83 system using cyclic reduction;
-
r83_cr_sl.m,
solves a R83 system factored by r83_cr_fa;
-
r83_cr_sls.m,
solves several R83 systems factored by r83_cr_fa;
-
r83_jac_sl.m,
solves a R83 system using Gauss-Seidel iteration;
-
r83_indicator.m,
sets up a R83 indicator matrix;
-
r83_jac_sl.m,
solves a R83 system using Jacobi iteration;
-
r83_mxv.m,
multiplies a R83 matrix times a vector;
-
r83_np_det.m,
returns the determinant of a system factored by R83_NP_FA;
-
r83_np_fa.m,
factors a R83 linear system with no pivoting;
-
r83_np_fs.m,
factors and solves a R83 linear system with no pivoting;
-
r83_np_ml.m,
computes A * x or x * A, where A has been factored by R83_NP_FA;
-
r83_np_sl.m,
solves a R83 linear system factored by R83_NP_FA;
-
r83_print.m,
prints a R83 matrix;
-
r83_print_some.m,
prints some of a R83 matrix;
-
r83_random.m,
randomizes a R83 matrix;
-
r83_to_r8ge.m,
copies a R83 matrix to a R8GE matrix;
-
r83_vxm.m,
multiplies a vector times a R83 matrix;
-
r83np_fs.m,
factors and solves a R83NP linear system with no pivoting;
-
r83p_det.m,
computes the determinant of a R83P matrix factored by
R83P_FA;
-
r83p_fa.m,
factors a R83P matrix;
-
r83p_indicator.m,
returns a R83P indicator matrix;
-
r83p_ml.m,
computes A*x or A'*x after A has been factored by R83P_FA;
-
r83p_mxv.m,
multiplies a R83P matrix times a vector;
-
r83p_print.m,
prints a R83P matrix;
-
r83p_print_some.m,
prints some of a R83P matrix;
-
r83p_random.m,
randomizes a R83P matrix;
-
r83p_sl.m,
solves a R83P linear system factored by R83P_FA;
-
r83p_to_r8ge.m,
copies a R83P matrix to a R8GE matrix;
-
r83p_vxm.m,
multiplies a vector times a R83P matrix;
-
r85_indicator.m,
returns a R85 indicator matrix;
-
r85_mxv.m,
multiplies a R85 matrix times a vector;
-
r85_np_fs.m,
factors and solves a R85 linear system with no pivoting;
-
r85_print.m,
prints a R85 matrix;
-
r85_print_some.m,
prints some of a R85 matrix;
-
r85_random.m,
randomizes a R85 matrix;
-
r85_to_r8ge.m,
copies a R85 matrix to a R8GE matrix;
-
r85_vxm.m,
multiplies a vector times a R85 matrix;
-
daxpy.m,
adds a multiple of one real vector to another;
-
r8bb_add.m,
adds a value to an entry in a R8BB matrix;
-
r8bb_fa.m,
factors a R8BB matrix;
-
r8bb_get.m,
gets the value of an entry in a R8BB matrix;
-
r8bb_indicator.m,
returns a R8BB indicator matrix;
-
r8bb_mxv.m,
multiplies a R8BB matrix times a vector;
-
r8bb_print.m,
prints a R8BB matrix;
-
r8bb_print_some.m,
prints some of a R8BB matrix;
-
r8bb_random.m,
returns a random R8BB matrix;
-
r8bb_set.m,
sets one entry of a R8BB matrix;
-
r8bb_sl.m,
solves a linear system that was factored by R8BB_FA;
-
r8bb_to_r8ge.m,
copies a R8BB matrix to a R8GE matrix;
-
r8bb_vxm.m,
multiplies a vector times a R8BB matrix;
-
r8blt_det.m,
returns the determinant of a R8BLT matrix;
-
r8blt_indicator.m,
returns a R8BLT indicator matrix;
-
r8blt_mxv.m,
multiplies a R8BLT matrix times a vector;
-
r8blt_print.m,
prints a R8BLT matrix;
-
r8blt_print_some.m,
prints some of a R8BLT matrix;
-
r8blt_random.m,
randomizes a R8BLT matrix;
-
r8blt_sl.m,
solves a R8BLT linear system;
-
r8blt_to_r8ge.m,
copies a R8BLT matrix to a R8GE matrix;
-
r8blt_vxm.m,
multiplies a vector times a R8BLT matrix;
-
r8bto_indicator.m,
returns a R8BTO indicator matrix;
-
r8bto_mxv.m,
multiplies a R8BTO matrix times a vector;
-
r8bto_print.m,
prints a R8BTO matrix;
-
r8bto_print_some.m,
prints some of a R8BTO matrix;
-
r8bto_random.m,
randomizes a R8BTO matrix;
-
(r8bto_sl.m),
solves a R8BTO linear system (this routine is NOT available
in a MATLAB version);
-
r8bto_vxm.m,
multiplies a vector times a R8BTO matrix;
-
r8but_det.m,
returns the determinant of a R8BUT matrix;
-
r8but_indicator.m,
returns a R8BUT indicator matrix;
-
r8but_mxv.m,
multiplies a R8BUT matrix times a vector;
-
r8but_print.m,
prints a R8BUT matrix;
-
r8but_print_some.m,
prints some of a R8BUT matrix;
-
r8but_random.m,
randomizes a R8BUT matrix;
-
r8but_sl.m,
solves a R8BUT linear system;
-
r8but_to_r8ge.m,
copies a R8BUT matrix to a R8GE matrix;
-
r8but_vxm.m,
multiplies a vector times a R8BUT matrix;
-
r8cb_det.m,
returns the determinant of a R8CB matrix;
-
r8cb_indicator.m,
returns a R8CB indicator matrix;
-
r8cb_ml.m,
computes A*x or A'*x after A has been factored by R8CB_NP_FA;
-
r8cb_mxv.m,
multiplies a R8CB matrix times a vector;
-
r8cb_np_fa.m,
factors a R8CB linear system with no pivoting;
-
r8cb_np_sl.m,
solves a R8CB linear system;
-
r8cb_print.m,
prints a R8CB matrix;
-
r8cb_print_some.m,
prints some of a R8CB matrix;
-
r8cb_random.m,
randomizes a R8CB matrix;
-
r8cb_to_r8ge.m,
copies a R8CB matrix to a R8GE matrix;
-
r8cb_vxm.m,
multiplies a vector times a R8CB matrix;
-
r8cbb_to_r8ge.m,
copies a R8CBB matrix to a R8GE matrix;
-
r8cbb_add.m,
adds a value to an entry of a R8CBB matrix;
-
r8cbb_fa.m,
factors a R8CBB matrix;
-
r8cbb_get.m,
gets one entry of a R8CBB matrix;
-
r8cbb_indicator.m,
returns a R8CBB indicator matrix;
-
r8cbb_mxv.m,
multiplies a vector times a R8CBB matrix;
-
r8cbb_print.m,
print a R8CBB matrix;
-
r8cbb_print_some.m,
prints some of a R8CBB matrix;
-
r8cbb_random.m,
returns a random R8CBB matrix;
-
r8cbb_set.m,
sets one entry of a R8CBB matrix;
-
r8cbb_sl.m,
solves a linear system factored by R8CBB_FA;
-
r8cbb_vxm.m,
multiplies a vector times a R8CBB matrix;
-
r8cc_get.m,
gets an entry from a R8CC matrix.
-
r8cc_ijk.m,
gets the sparse index from the full indices in a R8CC matrix.
-
r8cc_inc.m,
increments an entry from a R8CC matrix.
-
r8cc_indicator.m,
returns a R8CC indicator matrix;
-
r8cc_kij.m,
gets the full indices from the sparse index in a R8CC matrix.
-
r8cc_mxv.m,
multiplies a R8CC matrix times a vector;
-
r8cc_print.m,
prints a R8CC matrix;
-
r8cc_print_some.m,
prints some of a R8CC matrix;
-
r8cc_random.m,
randomizes a R8CC matrix;
-
r8cc_read.m,
reads a R8CC matrix from three files;
-
r8cc_read_size.m,
reads the sizes associated with a R8CC matrix stored in three files;
-
r8cc_set.m,
sets an entry in a R8CC matrix.
-
r8cc_to_r8ge.m,
solves a R8CC linear system;
-
r8cc_vxm.m,
multiplies a vector times a R8CC matrix;
-
r8cc_write.m,
writes a R8CC matrix to three files;
-
r8ci_eval.m,
returns the eigenvalues of a R8CI matrix;
-
r8ci_indicator.m,
returns a R8CI indicator matrix;
-
r8ci_mxv.m,
multiplies a R8CI matrix times a vector;
-
r8ci_print.m,
prints a R8CI matrix;
-
r8ci_print_some.m,
prints some of a R8CI matrix;
-
r8ci_random.m,
randomizes a R8CI matrix;
-
r8ci_sl.m,
solves a R8CI linear system;
-
r8ci_to_r8ge.m,
copies a R8CI matrix to a R8GE matrix;
-
r8ci_vxm.m,
multiplies a vector times a R8CI matrix;
-
r8gb_det.m,
computes the determinant of a R8GB matrix factored by
R8GB_FA or R8GB_TRF;
-
r8gb_fa.m,
performs a LINPACK style PLU factorization of a R8GB matrix;
-
r8gb_indicator.m,
returns a R8GB indicator matrix;
-
r8gb_ml.m,
computes A*x or A'*x after A has been factored by R8GB_FA;
-
r8gb_mu.m,
computes A*x or A'*x after A has been factored by R8GB_TRF;
-
r8gb_mxv.m,
multiplies a R8GB matrix times a vector;
-
r8gb_nz_num.m,
counts the nonzeroes in a R8GB matrix;
-
r8gb_print.m,
prints a R8GB matrix.;
-
r8gb_print_some.m,
prints some of a R8GB matrix;
-
r8gb_random.m,
randomizes a R8GB matrix;
-
r8gb_sl.m,
solves a system factored by R8GB_FA;
-
r8gb_to_r8s3.m,
copies a R8GB matrix to a R8S3 matrix;
-
r8gb_to_r8sp.m,
copies a R8GB matrix to a R8SP matrix;
-
r8gb_to_r8vec.m,
copies a R8GB matrix to a R8VEC;
-
r8gb_to_r8ge.m,
copies a R8GB matrix to a R8GE matrix;
-
r8gb_trf.m,
performs a LAPACK style PLU factorization of a R8GB matrix;
-
r8gb_trs.m,
solves a linear system factored by R8GB_TRS;
-
r8gb_vxm.m,
multiplies a vector times a R8GB matrix;
-
r8gd_indicator.m,
returns a R8GD indicator matrix;
-
r8gd_mxv.m,
multiplies a R8GD matrix times a vector;
-
r8gd_print.m,
prints a R8GD matrix;
-
r8gd_print_some.m,
prints some of a R8GD matrix;
-
r8gd_random.m,
randomizes a R8GD matrix;
-
r8gd_to_r8ge.m,
copies a R8GD matrix to a R8GE matrix;
-
r8gd_vxm.m,
multiplies a vector times a R8GD matrix;
-
r8ge_co.m,
factors a R8GE matrix and estimates its condition number;
-
r8ge_det.m,
computes the determinant of a factored R8GE matrix;
-
r8ge_dilu.m,
produces the diagonal incomplete LU factor of a R8GE matrix;
-
r8ge_fa.m,
factors a R8GE matrix;
-
r8ge_fs.m,
factors and solves a R8GE system;
-
r8ge_fss.m,
factors and solves multiple R8GE systems;
-
r8ge_identity.m,
copies the identity matrix to a R8GE matrix;
-
r8ge_ilu.m,
produces the incomplete LU factors of a R8GE matrix;
-
r8ge_indicator.m,
returns a R8GE indicator matrix;
-
r8ge_inverse.m,
returns the inverse of a R8GE matrix;
-
r8ge_ml.m,
multiplies a R8GE matrix factored by R8GE_FA times a vector;
-
r8ge_mu.m,
multiplies a R8GE matrix factored by R8GE_TRF times a vector;
-
r8ge_mxm.m,
multiplies two R8GE matrices;
-
r8ge_mxv.m,
multiplies a R8GE matrix times a vector;
-
r8ge_np_det.m,
returns the determinant of a system factored by R8GE_NP_FA;
-
r8ge_np_fa.m,
factors a R8GE matrix by nonpivoting Gaussian elimination;
-
r8ge_np_inverse.m,
returns the inverse of a matrix factored by R8GE_NP_FA;
-
r8ge_np_ml.m,
multiplies a matrix factored by R8GE_NP_FA times a vector;
-
r8ge_np_sl.m,
solves a linear system factored by R8GE_NP_FA;
-
r8ge_np_trf.m,
computes the LU factorization of a R8GE matrix;
-
r8ge_np_trm.m,
multiplies a matrix factored by R8GE_NP_TRF times a vector;
-
r8ge_np_trs.m,
solves a linear system factored by R8GE_NP_TRF;
-
r8ge_plu.m,
produces the PLU factors of a R8GE matrix;
-
r8ge_poly.m,
computes the characteristic polynomial of a R8GE matrix;
-
r8ge_print.m,
prints a R8GE matrix;
-
r8ge_print_some.m,
prints some of a R8GE matrix;
-
r8ge_random.m,
returns a random R8GE matrix;
-
r8ge_res.m,
computes the residual of a R8GE linear system;
-
r8ge_sl.m,
solves a linear system factored by R8GE_FA;
-
r8ge_sl_it.m,
applies one step of iterative refinement to a factored linear system;
-
r8ge_to_r8gb.m,
converts a R8GE matrix to a R8GB matrix;
-
r8ge_to_r8vec.m,
converts a R8GE matrix to a R8VEC;
-
r8ge_trf.m,
factors a R8GE matrix;
-
r8ge_trs.m,
solves a system factored by R8GE_TRF;
-
r8ge_vxm.m,
multiplies a vector times a R8GE matrix;
-
r8lt_det.m,
computes the determinant of a R8LT matrix;
-
r8lt_indicator.m,
returns a R8LT indicator matrix;
-
r8lt_inverse.m,
returns the inverse of a R8LT indicator matrix;
-
r8lt_mxm.m,
multiplies two R8LT matrices;
-
r8lt_mxv.m,
multiplies a R8LT matrix times a vector;
-
r8lt_print.m,
prints a R8LT matrix;
-
r8lt_print_some.m,
prints some of a R8LT matrix;
-
r8lt_random.m,
randomizes a R8LT matrix;
-
r8lt_sl.m,
solves a R8LT linear system;
-
r8lt_vxm.m,
multiplies a vector times a R8LT matrix;
-
r8ncf_indicator.m,
returns a R8NCF indicator matrix;
-
r8ncf_print.m,
prints a R8NCF matrix.
-
r8ncf_print_some.m,
prints some of a R8NCF matrix.
-
r8pbl_det.m,
computes the determinant of a R8PO matrix factored by
R8PBL_FA;
-
r8pbl_indicator.m,
returns a R8PBL indicator matrix;
-
r8pbl_print.m,
prints a R8PBL matrix;
-
r8pbl_print_some.m,
prints some of a R8PBL matrix;
-
r8pbl_random.m,
randomizes a R8PBL matrix;
-
r8pbl_to_r8ge.m,
copies a R8PBL matrix to a R8GE matrix;
-
r8pbu_cg.m,
uses the conjugate gradient method on a linear system with
a R8PBU matrix;
-
r8pbu_det.m,
computes the determinant of a R8PO matrix factored by
R8PBU_FA;
-
r8pbu_fa.m,
factors a R8PBU matrix;
-
r8pbu_indicator.m,
returns a R8PBU indicator matrix;
-
r8pbu_ml.m,
computes A*x or A'*x after A has been factored by R8PBU_FA;
-
r8pbu_mxv.m,
multiplies a R8PBU matrix times a vector;
-
r8pbu_print.m,
prints a R8PBU matrix;
-
r8pbu_print_some.m,
prints some of a R8PBU matrix;
-
r8pbu_random.m,
randomizes a R8PBU matrix;
-
r8pbu_sl.m,
solves a R8PBU linear system factored by R83P_FA;
-
r8pbu_sor.m,
applies the SOR iterative method to solve a linear system
with a R8PBU matrix;
-
r8pbu_to_r8ge.m,
copies a R8PBU matrix to a R8GE matrix;
-
r8po_det.m,
computes the determinant of a R8PO matrix factored by
R8PO_FA;
-
r8po_fa.m,
factors a R8PO matrix;
-
r8po_indicator.m,
returns a R8PO indicator matrix;
-
r8po_inverse.m,
returns the inverse of a R8PO matrix;
-
r8po_ml.m,
computes A*x or A'*x after A has been factored by R8PO_FA;
-
r8po_mxm.m,
multiplies two R8PO matrices;
-
r8po_mxv.m,
multiplies a R8PO matrix times a vector;
-
r8po_print.m,
prints a R8PO matrix;
-
r8po_print_some.m,
prints some of a R8PO matrix;
-
r8po_random.m,
randomizes a R8PO matrix;
-
r8po_sl.m,
solves a R8PO linear system factored by R83P_FA;
-
r8po_to_r8ge.m,
copies a R8PO matrix to a R8GE matrix;
-
r8pp_det.m,
returns the determinant of a R8PP matrix;
-
r8pp_fa.m,
computes the Cholesky factor of a R8PP matrix;
-
r8pp_indicator.m,
returns a R8PP indicator matrix;
-
r8pp_mxv.m,
multiplies a R8PP matrix times a vector;
-
r8pp_print.m,
prints a R8PP matrix;
-
r8pp_print_some.m,
prints some of a R8PP matrix;
-
r8pp_random.m,
randomizes a R8PP matrix;
-
r8pp_sl.m,
solves a R8PP linear system;
-
r8pp_to_r8ge.m,
copies a R8PP matrix to a R8GE matrix;
-
r8s3_indicator.m,
returns a R8S3 indicator matrix;
-
r8s3_print.m,
prints a R8S3 matrix;
-
r8s3_print_some.m,
prints some of a R8S3 matrix;
-
r8s3_read.m,
reads a R8S3 matrix from a file;
-
r8s3_read_size.m,
reads the size of a R8S3 matrix from a file;
-
r8s3_write.m,
writes a R8S3 matrix to a file;
-
r8sd_cg.m,
uses the conjugate gradient method on a R8SD linear system;
-
r8sd_indicator.m,
returns a R8SD indicator matrix;
-
r8sd_mxv.m,
multiplies a R8SD matrix times a vector;
-
r8sd_print.m,
prints a R8SD matrix;
-
r8sd_print_some.m,
prints some of a R8SD matrix;
-
r8sd_random.m,
randomizes a R8SD matrix;
-
r8sd_to_r8ge.m,
copies a R8SD matrix to a R8GE matrix;
-
r8sm_ml.m,
multiplies a R8SM matrix that has been factored by R8GE_FA
times a vector;
-
r8sm_mxv.m,
multiplies a R8SM matrix times a vector;
-
r8sm_print.m,
prints a R8SM matrix;
-
r8sm_print_some.m,
prints some of a R8SM matrix;
-
r8sm_random.m,
randomizes a R8SM matrix;
-
r8sm_sl.m,
solves a R8SM linear system;
-
r8sm_to_r8ge.m,
copies a R8SM matrix to a R8GE matrix;
-
r8sm_vxm.m,
multiplies a vector times a R8SM matrix;
-
r8sp_check.m,
checks that a R8SP matrix data structure is properly sorted.
-
r8sp_ij_to_k.m,
seeks the compressed index of the (I,J) entry of A.
-
r8sp_indicator.m,
sets up a R8SP indicator matrix;
-
r8sp_mxv.m,
multiplies a R8SP matrix times a vector;
-
r8sp_print.m,
prints a R8SP matrix;
-
r8sp_print_some.m,
prints some of a R8SP matrix;
-
r8sp_random.m,
randomizes a R8SP matrix;
-
r8sp_read.m,
reads a R8SP matrix from a file;
-
r8sp_read_size.m,
reads the size of a R8SP matrix from a file;
-
r8sp_to_r8ge.m,
copies a R8SP matrix to a R8GE matrix;
-
r8sp_to_r8ncf.m,
copies a R8SP matrix to a R8NCF matrix;
-
r8sp_vxm.m,
multiplies a vector times a R8SP matrix;
-
r8sp_write.m,
writes a R8SP matrix to a file;
-
r8sr_indicator.m,
returns a R8SR indicator matrix;
-
r8sr_mxv.m,
multiplies a R8SR matrix times a vector;
-
r8sr_print.m,
prints a R8SR matrix;
-
r8sr_print_some.m,
prints some of a R8SR matrix;
-
r8sr_random.m,
randomizes a R8SR matrix;
-
r8sr_to_r8ge.m,
copies a R8SR matrix to a R8GE matrix;
-
r8sr_vxm.m,
multiplies a vector times a R8SR matrix;
-
r8ss_indicator.m,
sets up a R8SS indicator matrix;
-
r8ss_mxv.m,
multiplies a R8SS matrix times a vector;
-
r8ss_print.m,
prints a R8SS matrix;
-
r8ss_print_some.m,
prints some of a R8SS matrix;
-
r8ss_random.m,
randomizes a R8SS matrix;
-
r8ss_to_r8ge.m,
copies a R8SS matrix to a R8GE matrix;
-
r8sto_indicator.m,
returns a R8STO indicator matrix;
-
r8sto_inverse.m,
returns the inverse of a R8STO indicator matrix;
-
r8sto_mxv.m,
multiplies a R8STO matrix times a vector;
-
r8sto_print.m,
prints a R8STO matrix;
-
r8sto_print_some.m,
prints some of a R8STO matrix;
-
r8sto_random.m,
randomizes a R8STO matrix;
-
r8sto_sl.m,
solves a R8STO linear system;
-
r8sto_to_r8ge.m,
copies a R8STO matrix to a R8GE matrix;
-
r8sto_yw_sl.m,
solves the Yule-Walker equations for a R8UT matrix;
-
r8to_indicator.m,
returns a R8TO indicator matrix;
-
r8to_mxv.m,
multiplies a R8TO matrix times a vector;
-
r8to_print.m,
prints a R8TO matrix;
-
r8to_print_some.m,
prints some of a R8TO matrix;
-
r8to_random.m,
randomizes a R8TO matrix;
-
r8to_sl.m,
solves a R8TO linear system;
-
r8to_to_r8ge.m,
copies a R8TO matrix to a R8GE matrix;
-
r8to_vxm.m,
multiplies a vector times a R8TO matrix;
-
r8ut_det.m,
computes the determinant of a R8UT matrix;
-
r8ut_indicator.m,
returns a R8UT indicator matrix;
-
r8ut_inverse.m,
returns the inverse of a R8UT indicator matrix;
-
r8ut_mxm.m,
multiplies two R8UT matrices;
-
r8ut_mxv.m,
multiplies a R8UT matrix times a vector;
-
r8ut_print.m,
prints a R8UT matrix;
-
r8ut_print_some.m,
prints some of a R8UT matrix;
-
r8ut_random.m,
randomizes a R8UT matrix;
-
r8ut_sl.m,
solves a R8UT linear system;
-
r8ut_vxm.m,
multiplies a vector times a R8UT matrix;
-
r8vm_det.m,
computes the determinant of a R8VM matrix;
-
r8vm_mxv.m,
multiplies a R8VM matrix times a vector;
-
r8vm_print.m,
prints a R8VM matrix;
-
r8vm_print_some.m,
prints some of a R8VM matrix;
-
r8vm_random.m,
randomizes a R8VM matrix;
-
r8vm_sl.m,
solves a R8VM linear system;
-
r8vm_to_r8ge.m,
copies a R8VM matrix to a R8GE matrix;
-
r8vm_vxm.m,
multiplies a vector times a R8VM matrix;
-
file_delete.m,
deletes a file;
-
file_exist.m,
is TRUE if a given file exists;
-
hilbert_inverse.m,
returns the inverse of the Hilbert matrix;
-
i4_log_10.m,
returns the integer part of the logarithm base 10 of abs(X);
-
i4_uniform.m,
returns a random integer in a given range;
-
i4vec_print.m,
prints an I4VEC;
-
i4vec_search_binary_a.m,
uses binary search on an ascending sorted I4VEC to
find the occurrence of a given value;
-
r4_uniform_01.m,
returns a random real number in [0,1];
-
r8_sign.m,
returns the sign of a double precision number;
-
r8_uniform_01.m,
is a uniform random number generator;
-
r8vec_indicator.m,
sets a R8VEC to the indicator vector;
-
r8vec_print.m,
prints a R8VEC;
-
r8vec_print_some.m,
prints some of a R8VEC;
-
r8vec_read.m,
reads a R8VEC from a file;
-
r8vec_read_size.m,
reads the size of a R8VEC in a file;
-
r8vec_to_r8cb.m,
converts a R8VEC to a R8CB matrix;
-
r8vec_to_r8gb.m,
converts a R8VEC to a R8GB matrix;
-
r8vec_to_r8ge.m,
converts a R8VEC to a R8GE matrix;
-
r8vec_uniform_01.m,
returns a random R8VEC;
-
r8vec_write.m,
writes a R8VEC to a file;
-
r8vec2_print_some.m,
prints some of a pair R8VEC's;
-
s_len_trim.m,
returns the length of a character string to the last nonblank;
-
sort_heap_external.m,
external sorts a list of items into ascending order;
-
timestamp.m,
prints the current YMDHMS date as a timestamp;
Examples and Tests:
-
linplus_test.m,
runs all the tests;
-
linplus_test_output.txt,
the output from all the tests;
-
linplus_test0192.m,
tests R8CC_WRITE;
-
linplus_test0193.m,
tests R8CC_READ_SIZE and R8CC_READ;
-
linplus_test0194.m,
tests R8VEC_TO_R8CB and R8CB_TO_R8VEC;
-
linplus_test0195.m,
tests R8VEC_TO_R8GB and R8GB_TO_R8VEC;
-
linplus_test0196.m,
tests R8VEC_TO_R8GE and R8GE_TO_R8VEC;
-
linplus_test02.m,
tests R83_CR_FA and R83_CR_SL;
-
linplus_test03.m,
tests R83_CR_FA and R83_CR_SL;
-
linplus_test035.m,
tests R83_GS_SL;
-
linplus_test037.m,
tests R83_INDICATOR;
-
linplus_test04.m,
tests R83_JAC_SL;
-
linplus_test05.m,
tests R83_NP_DET and R83_NP_FA;
-
linplus_test06.m,
tests R83_NP_FA and R83_NP_SL;
-
linplus_test07.m,
tests R83_NP_FS;
-
linplus_test08.m,
tests R83_NP_ML;
-
linplus_test09.m,
tests R83P_DET;
-
linplus_test10.m,
tests R83P_FA and R83P_SL;
-
linplus_test105.m,
tests R83P_INDICATOR;
-
linplus_test11.m,
tests R83P_ML;
-
linplus_test115.m,
tests R85_INDICATOR;
-
linplus_test12.m,
tests R85_NP_FS;
-
linplus_test13.m,
tests R8BB_FA, R8BB_PRINT, R8BB_RANDOM, R8BB_SL;
-
linplus_test14.m,
tests R8BB_FA and R8BB_SL;
-
linplus_test15.m,
tests R8BB_FA and R8BB_SL;
-
linplus_test151.m,
tests R8BB_INDICATOR;
-
linplus_test152.m,
tests R8BLT_INDICATOR;
-
linplus_test153.m,
tests R8BLT_MAX, R8BLT_RANDOM, R8BLT_SL, R8BLT_VXM;
-
linplus_test154.m,
tests R8BTO_INDICATOR;
-
linplus_test155.m,
tests R8BTO_MXV and R8BTO_VXM;
-
linplus_test156.m,
tests R8BTO_SL;
-
linplus_test1565.m,
tests R8BUT_INDICATOR;
-
linplus_test1566.m,
tests R8BUT_DET, R8BUT_MXV, R8BUT_RANDOM, R8BUT_SL, and R8BUT_VXM;
-
linplus_test157.m,
tests R8CB_INDICATOR;
-
linplus_test16.m,
tests R8CB_NP_FA and R8CB_DET;
-
linplus_test17.m,
tests R8CB_NP_FA and R8CB_NP_SL;
-
linplus_test18.m,
tests R8CB_ML;
-
linplus_test19.m,
tests R8CBB_FA, R8CBB_RANDOM, R8CBB_SL;
-
linplus_test193.m,
tests R8CBB_INDICATOR;
-
linplus_test195.m,
tests R8CI_EVAL;
-
linplus_test197.m,
tests R8CI_IND;
-
linplus_test20.m,
tests R8CI_SL;
-
linplus_test21.m,
tests R8GB_DET;
-
linplus_test22.m,
tests R8GB_FA and R8GB_SL;
-
linplus_test23.m,
tests R8GB_FA and R8GB_TRF;
-
linplus_test235.m,
tests R8GB_INDICATOR;
-
linplus_test24.m,
tests R8GB_ML;
-
linplus_test25.m,
tests R8GB_PRINT;
-
linplus_test26.m,
tests R8GB_NZ_NUM;
-
linplus_test265.m,
tests R8GB_TO_R8GE and R8GE_TO_R8GB;
-
linplus_test2655.m,
tests R8GB_TO_R8S3;
-
linplus_test27.m,
tests R8GB_TRF and R8GB_TRS;
-
linplus_test275.m,
tests R8GB_INDICATOR;
-
linplus_test28.m,
tests R8GB_MXV, R8GB_RANDOM, R8GB_VXM;
-
linplus_test285.m,
tests R8GE_CO;
-
linplus_test29.m,
tests R8GE_DET;
-
linplus_test295.m,
tests R8GE_DILU;
-
linplus_test30.m,
tests R8GE_FA and R8GE_SL;
-
linplus_test31.m,
tests R8GE_FA and R8GE_SL;
-
linplus_test315.m,
tests R8GE_ILU;
-
linplus_test317.m,
tests R8GE_INDICATOR;
-
linplus_test32.m,
tests R8GE_NP_FA and R8GE_NP_SL;
-
linplus_test33.m,
tests R8GE_NP_FA and R8GE_NP_INVERSE;
-
linplus_test34.m,
tests R8GE_FS;
-
linplus_test345.m,
tests R8GE_FSS;
-
linplus_test35.m,
tests R8GE_INVERSE;
-
linplus_test36.m,
tests R8GE_ML;
-
linplus_test37.m,
tests R8GE_NP_ML;
-
linplus_test38.m,
tests R8GE_MU;
-
linplus_test385.m,
tests R8GE_PLU;
-
linplus_test39.m,
tests R8GE_POLY;
-
linplus_test40.m,
tests R8GE_SL_IT;
-
linplus_test41.m,
tests R8GE_TRF and R8GE_TRS;
-
linplus_test42.m,
tests R8GE_NP_TRF, R8GE_NP_TRM, and R8GE_NP_TRS;
-
linplus_test422.m,
tests R8CC_GET, R8CC_IJK, R8CC_INC, R8CC_KIJ, R8CC_SET;
-
linplus_test423.m,
tests R8CC_INDICATOR;
-
linplus_test425.m,
tests R8CC_MXV and R8CC_VXM;
-
linplus_test426.m,
tests R8CC_PRINT;
-
linplus_test428.m,
tests R8LT_INDICATOR;
-
linplus_test43.m,
tests R8LT_MXV, R8LT_SL, R8LT_VXM;
-
linplus_test44.m,
tests R8LT_DET, R8LT_INV, R8LT_MXM, R8LT_RANDOM;
-
linplus_test443.m,
tests R8NCF_INDICATOR;
-
linplus_test445.m,
tests R8PBL_INDICATOR;
-
linplus_test45.m,
tests R8PBU_CG;
-
linplus_test46.m,
tests R8PBU_DET;
-
linplus_test47.m,
tests R8PBU_FA, R8PBU_RANDOM and R8PBU_SL;
-
linplus_test48.m,
tests R8PBU_ML;
-
linplus_test485.m,
tests R8PBU_INDICATOR;
-
linplus_test49.m,
tests R8PBU_SOR;
-
linplus_test50.m,
tests R8PO_FA and R8PO_SL;
-
linplus_test505.m,
tests R8PO_FA;
-
linplus_test51.m,
tests R8PO_DET and R8PO_INVERSE;
-
linplus_test515.m,
tests R8PO_FA, R8PO_SL, R8PO_ML, and R8PO_MXV;
-
linplus_test517.m,
tests R8PO_INDICATOR;
-
linplus_test52.m,
tests R8PO_RANDOM and R8PO_TO_R8GE;
-
linplus_test525.m,
tests R8PP_FA and R8PP_SL;
-
linplus_test527.m,
tests R8PP_INDICATOR;
-
linplus_test53.m,
tests R8PP_RANDOM;
-
linplus_test534.m,
tests R8S3_WRITE;
-
linplus_test535.m,
tests R8S3_READ_SIZE and R8S3_READ;
-
linplus_test54.m,
tests R8SD_CG;
-
linplus_test55.m,
tests R8SD_CG;
-
linplus_test555.m,
tests R8SD_INDICATOR;
-
linplus_test56.m,
tests R8SM_ML;
-
linplus_test57.m,
tests R8SM_ML;
-
linplus_test5705.m,
tests R8SP_IJ_TO_K;
-
linplus_test571.m,
tests R8SM_INDICATOR;
-
linplus_test572.m,
tests R8SP_MXV and R8SP_VXM;
-
linplus_test5722.m,
tests R8SP_PRINT;
-
linplus_test5724.m,
tests R8SP_WRITE;
-
linplus_test5725.m,
tests R8SP_READ_SIZE and R8SP_READ;
-
linplus_test573.m,
tests R8SR_INDICATOR;
-
linplus_test574.m,
tests R8SR_MXV and R8SR_VXM;
-
linplus_test5745.m,
tests R8SR_PRINT;
-
linplus_test575.m,
tests R8SR_RANDOM;
-
linplus_test577.m,
tests R8SS_INDICATOR;
-
linplus_test58.m,
tests R8SS_MXV and R8SS_PRINT;
-
linplus_test581.m,
tests R8STO_INDICATOR;
-
linplus_test583.m,
tests R8STO_INVERSE;
-
linplus_test585.m,
tests R8STO_MXV and R8STO_YW_SL;
-
linplus_test587.m,
tests R8STO_SL;
-
linplus_test589.m,
tests R8STO_INDICATOR;
-
linplus_test59.m,
tests R8STO_SL;
-
linplus_test60.m,
tests R8UT_DET, R8UT_INVERSE, R8UT_MXM and R8UT_RANDOM;
-
linplus_test605.m,
tests R8UT_INDICATOR;
-
linplus_test61.m,
tests R8UT_MXV, R8UT_SL and R8UT_VXM;
-
linplus_test62.m,
tests R8VM_DET;
-
linplus_test63.m,
tests R8VM_SL;
You can go up one level to
the MATLAB source codes.
Last revised on 23 June 2009.