Download Latest Version geomlib.tar.gz (58.3 kB)
Email in envelope

Get an email when there's a new version of CFD Utilities

Home / linsys
Name Modified Size InfoDownloads / Week
Parent folder
linsys.tar.gz 2022-09-02 47.1 kB
symevdsolve.f90 2022-01-31 2.4 kB
symevd.f90 2022-01-30 3.1 kB
README 2022-01-18 3.2 kB
safeguarded_lsqr.f90 2019-10-17 3.2 kB
Totals: 5 Items   59.1 kB 0
The linsys utilities deal with linear systems of equations (square or
over- or underdetermined).  All except LSQR and SYMMLQ use direct (non-
iterative) factorization methods. Only LSQR and SYMMLQ are suited to large
sparse systems.

For overdetermined linear least squares problems, Ax ~ b, the QR
factorization method of HDESOL and its relatives is recommended over
the commonly used normal equations method (A'Ax = A'b) as the orthogonal
factorization does not square the condition number of the LHS matrix the
way forming A'A does.

For underdetermined linear least squares, the method of HDECOM + HSULVE
provides the shortest-length solution.

Recently (10-16-2019), safeguarded_lsqr.f90 has been added as a workaround
for possible matrix singularity in a 3x3 Newton iteration.  It ensures full
rank for any matrix A(m,n).

Jan. 2022:  For stabilized solution of ill-conditioned symmetric systems,
            see symevd and symevdsolve.

bloktr.f             Solve one block tridiagonal system, any block size
btr4.f               Solve one block tridiagonal system, block size 4
cholesky.f           Cholesky factorization A = GG' for symmetric A as rows
cholesky_factorization.f  Cholesky factorization for symmetric A as A(n,n)
cholesky_solution.f  Corresponding solution of Ax = b for given RHS b
chsolve.f            CHOLESKY companion; triangle factor G stored as rows
colslv.f             Block bidiagonal solver from collocation techniques
decbt.f              Block tridiagonal decomposition for multiple RHS cases
decbtc.f             Cyclic block tridiagonal decomposition; see SOLBTC
decomp.f90           LU decomposition: Gaussian elimination w/ partial pivoting
decslv.f             Combines DECOMP & SOLVE for one RHS; b(:) is A(:,n+1)
dtdlsq.f             Diag. + TriDiag. system; Least SQuares soln.; QR factor
hdecom.f             QR factorization of A(m,n), m >= n for more than 1 RHS
hdesol.f             QR factorizn. & solution of A x ~ b; one RHS; m >= n
hdesolw.f            Weighted linear least squares variant of HDESOL
hsolve.f             HDECOM companion for m >= n cases
hsulve.f             HDECOM companion for m < n cases
lsqr.f               [Damped] linear least squares or unsymmetric Ax = b
lusolve.f90          May be more convenient than DECSLV: A(ndim,n) and b(n)
qrdiag.f             QR factrzn. & soln. of non-diag-dominant tridiag. sys.
safeguarded_lsqr.f90 Intended to work around rank deficiency for any A(m,n)
solbt.f              DECBT compantion; completes block tridiagonal solution
solbtc.f             DECBTC companion; completes cyclic block tridiag. soln.
solve.f90            DECOMP companion for multiple RHS cases
symevd.f90           Eigenvalue decomposition for symmetric A
symevdsolve.f90      Companion to symevd solves for one RHS; treats ill-conditioning
symmlq.f             Solves Ax = b for large sparse symmetric indefinite A
trdiag.f             Solution of one diagonally dominant tridiagonal system
tricps.f             Soln. of 1 cyclic +ve definite symmetric tridiag. system
trid2r.f             TRDIAG variant for the two-RHS case
trid3r.f             TRDIAG variant for the three-RHS case
trip.f               Solves one periodic tridiagonal system
Source: README, updated 2022-01-18