The bidiagonal/tridiagonal mini-package solver bid-trid is based on cyclic reduction methods for solving bidiagonal and tridiagonal linear systems. The number of cyclic reduction steps can chosen by the user or a default value will be selected by the code. The first part of the package deals with bi/tri/diagonal systems that are not coupled with other systems. A second part will deal with the case where one has a large number of simultaneous bi/ tri/diagonal to solve (as in ADI or LSOR). All subroutines are in double precision arithmetic. The following subroutines are provided in the first part of the package. BIDIAGONAL SYSTEMS To solve a single bidiagonal unit system: - bidufs for upper bidiagonal unit system - bidlfs for lower bidiagonal unit system To solve a sequence of bidiagonal unit systems with the same matrix you must first 'factor' the matrix by - bidf then solve each linear system with -bidls if it is unit lower bidiagonal -bidus if it is unit upper bidiagonal TRIDIAGONAL SYSTEMS To solve a single tridiagonal linear system that is symmetric positive definite use - tridfs To solve a single tridiagonal linear system that is nonsymmetric use: - tridfs2 To solve a sequence of nonsymmetric tridiagonal linear systems with the same matrix use - tridcf2 followed by - tridcs2 for each new system. To solve a sequence of symmetric tridiagonal linear systems with the same matrix use either - trid0f followed by - bidf followed by - trid0s for each new system or (recommended) - tridcf followed by - tridcs for each new system. SOURCE IN bidiag.f and tridcyc.f .