Tridiagonal Matrix Utilities

**R83V**
is a MATLAB library which
carries out some basic linear algebra operations on R83V matrices
(real 64 bit precision tridiagonal three vector format).

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

**R83V** is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

R83, a MATLAB library which contains linear algebra routines for R83 matrices (real, 64 bit, tridiagonal 3xN format).

R83_NP, a MATLAB library which contains linear algebra routines for R83_NP matrices (real, 64 bit, tridiagonal 3xN format, nonpivoting factorization).

R83P, a MATLAB library which contains linear algebra routines for R83P matrices (real, 64 bit, tridiagonal periodic format).

R83S, a MATLAB library which contains linear algebra routines for R83S matrices (real, 64 bit, tridiagonal scalar format).

R83T, a MATLAB library which contains linear algebra routines for R83T matrices (real, 64 bit, tridiagonal Mx3 format).

R85, a MATLAB library which contains linear algebra routines for R85 matrices (real, 64 bit, pentadiagonal format).

R8BB, a MATLAB library which contains linear algebra routines for R8BB matrices (real, 64 bit, border banded format).

R8BLT, a MATLAB library which contains linear algebra routines for R8BLT matrices (real, 64 bit, band lower triangular format).

R8BTO, a MATLAB library which contains linear algebra routines for R8BTO matrices (real, 64 bit, block Toeplitz format).

R8BUT, a MATLAB library which contains linear algebra routines for R8BUT matrices (real, 64 bit, band upper triangular format).

R8CB, a MATLAB library which contains linear algebra routines for R8CB matrices (real, 64 bit, Compressed Band format).

R8CBB, a MATLAB library which contains linear algebra routines for R8CBB matrices (real, 64 bit, Compressed Border Banded format).

R8CC, a MATLAB library which contains linear algebra routines for R8CC matrices (real, 64 bit, Compressed Column (Colptr,Row,Value) format).

R8CI, a MATLAB library which contains linear algebra routines for R8CI matrices (real, 64 bit, circulant format).

R8COL, a MATLAB library which contains utility routines for R8COL's, that is, double precision real MxN arrays, considered as N column vectors, each of length M. The data may be thought of as a matrix of multiple columns, and many operations will be carried out columnwise.

R8GB, a MATLAB library which contains linear algebra routines for R8GB matrices (real, 64 bit, General Banded format).

R8GD, a MATLAB library which contains linear algebra routines for R8GD matrices (real, 64 bit, general diagonal format).

R8GE, a MATLAB library which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).

R8GE_NP, a MATLAB library which contains nonpivoting linear algebra routines for R8GE matrices (real, 64 bit, General Nonpivoting format).

R8LT, a MATLAB library which contains linear algebra routines for R8LT matrices (real, 64 bit, lower triangular format).

R8LTT, a MATLAB library which contains linear algebra routines for R8LTT matrices (real, 64 bit, lower triangular Toeplitz format).

R8NCF, a MATLAB library which contains linear algebra routines for R8NCF matrices (real, 64 bit, nonsymmetric coordinate format).

R8PBL, a MATLAB library which contains linear algebra routines for R8PBL matrices (real, 64 bit, positive definite symmetric band lower format).

R8PBU, a MATLAB library which contains linear algebra routines for R8PBU matrices (real, 64 bit, positive definite symmetric band upper format).

R8PO, a MATLAB library which contains linear algebra routines for R8PO matrices (real, 64 bit, positive definite symmetric format).

R8PP, a MATLAB library which contains linear algebra routines for R8PP matrices (real, 64 bit, positive definite symmetric packed format).

R8RI, a MATLAB library which contains linear algebra routines for R8RI matrices (real, 64 bit, row indexed format).

R8ROW, a MATLAB library which contains utility routines for R8ROW's, that is, double precision real MxN arrays, considered as M row vectors, each of length N. The data may be thought of as a matrix of multiple rows, and many operations will be carried out rowwise.

R8S3, a MATLAB library which contains linear algebra routines for R8S3 matrices (real, 64 bit, SLAP Triad (I,J,AIJ) format).

R8SD, a MATLAB library which contains linear algebra routines for R8SD matrices (real, 64 bit, symmetric diagonal format).

R8SM, a MATLAB library which contains linear algebra routines for R8SM (Sherman-Morrison) matrices (real, 64 bit, A-u*v' format).

R8SP, a MATLAB library which contains linear algebra routines for R8SP matrices (real, 64 bit, SLAP Triad (I,J,AIJ) format).

R8SR, a MATLAB library which carries out linear algebra operations for R8SR matrices (real, 64 bit, diagonal + compressed row offdiagonal format).

R8SS, a MATLAB library which carries out linear algebra operations for R8SS matrices (real, 64 bit, symmetric skyline format).

R8STO, a MATLAB library which contains linear algebra routines for R8STO matrices (real, 64 bit, symmetric Toeplitz N format).

R8TO, a MATLAB library which contains linear algebra routines for R8TO matrices (real, 64 bit, Toeplitz 2*N-1 format).

R8UT, a MATLAB library which contains linear algebra routines for R8UT matrices (real, 64 bit, upper triangular format).

R8UTT, a MATLAB library which contains linear algebra routines for R8UTT matrices (real, 64 bit, upper triangular Toeplitz format).

R8VM, a MATLAB library which contains linear algebra routines for R8VM matrices (real, 64 bit, Vandermonde format).

- i4_log_10.m, returns the integer part of the logarithm base 10 of abs(X);
- i4_log_10_test.m
- r8_uniform_01.m, returns a pseudorandom R8.
- r83_indicator.m, sets up an R83 indicator matrix;
- r83_indicator_test.m
- r83_print.m, prints an R83 matrix;
- r83_print_test.m
- r83_print_some.m, prints some of an R83 matrix;
- r83_print_some_test.m
- r83v_cg.m, solves an R83V system using the conjugate gradient method.
- r83v_cg_test.m
- r83v_copy.m, copies an R83V matrix.
- r83v_copy_test.m
- r83v_cr_fa.m, factors an R83V system using cyclic reduction;
- r83v_cr_fa_test.m
- r83v_cr_sl.m, solves an R83V system factored by r83v_cr_fa;
- r83v_cr_sl_test.m
- r83v_cr_sls.m, solves several R83V systems factored by r83v_cr_fa;
- r83v_cr_sls_test.m
- r83v_dif2.m, returns the second difference matrix as an R83V.
- r83v_dif2_test.m
- r83v_fs.m, factors and solves a linear system with an R83V matrix.
- r83v_fs_test.m
- r83v_jac_sl.m, solves an R83V system using Gauss-Seidel iteration;
- r83v_jac_sl_test.m
- r83v_indicator.m, sets up an R83V indicator matrix;
- r83v_indicator_test.m
- r83v_jac_sl.m, solves an R83V system using Jacobi iteration;
- r83v_jac_sl_test.m
- r83v_mtv.m, multiplies a vector times an R83V matrix;
- r83v_mtv_test.m
- r83v_mv.m, multiplies an R83V matrix times a vector;
- r83v_mv_test.m
- r83v_print.m, prints an R83V matrix;
- r83v_print_test.m
- r83v_print_some.m, prints some of an R83V matrix;
- r83v_print_some_test.m
- r83v_random.m, randomizes an R83V matrix;
- r83v_random_test.m
- r83v_res.m, returns the residual of an R83V linear system.
- r83v_res_test.m
- r83v_to_r8ge.m, copies an R83V matrix to an R8GE matrix;
- r83v_to_r8ge_test.m
- r83v_to_r8vec.m, copies an R83V matrix to an R8VEC;
- r83v_to_r8vec_test.m
- r83v_transpose.m, makes a transposed copy of an R83V matrix.
- r83v_transpose_test.m
- r83v_zeros.m, zeros an R83V matrix;
- r83v_zeros_test.m
- r8ge_indicator.m, returns the indicator R8GE matrix.
- r8ge_indicator_test.m
- r8ge_mtv.m, multiplies an R8GE matrix transposed times a vector.
- r8ge_mtv_test.m
- r8ge_mv.m, multiplies an R8GE matrix times a vector.
- r8ge_mv_test.m
- r8ge_print.m, prints an R8GE matrix;
- r8ge_print_test.m
- r8ge_print_some.m, prints some of an R8GE matrix;
- r8ge_print_some_test.m
- r8ge_to_r83v.m, converts some of an R8GE to an R83V matrix.
- r8ge_to_r83v_test.m
- r8vec_indicator1.m, sets an R8VEC to the indicator1 vector;
- r8vec_indicator1_test.m
- r8vec_print.m, prints an R8VEC;
- r8vec_print_test.m
- r8vec_to_r83v.m, converts an R8VEC to an R83V matrix.
- r8vec_to_r83v_test.m
- r8vec_uniform_01.m, returns a random R8VEC;
- r8vec_uniform_01_test.m
- r8vec2_print.m, prints a pair R8VEC's;
- r8vec2_print_test.m
- timestamp.m, prints the current YMDHMS date as a timestamp;

- r83v_test.m, runs all the tests;
- r83v_test_output.txt, the output file;

You can go up one level to the MATLAB source codes.