solves the system of linear equations opts[a].x==b and resets b to the result x, where a is the square matrix corresponding to the banded matrix aband.
- To use TBSV, you first need to load the BLAS Package using Needs["LinearAlgebra`BLAS`"].
- The following arguments must be given:
ul input string upper/lower triangular string ts input string transposition string dg input string diagonal ones string k
- input expression
number of sub- or super-diagonals aband input expression
- banded representation of a square matrix a
b input/output symbol vector; the symbol value is modified in place
- The upper/lower triangular string ul may be specified as:
"U" the upper triangular part of a is given in aband "L" the lower triangular part of a is given in aband
- The transposition string ts describes the operator opts and may be specified as:
"N" no transposition "T" transpose "C" conjugate transpose
- The diagonal ones string dg may be specified as:
"U" assume the main diagonal of a contains only ones "N" use the actual values of the main diagonal of a
- In a banded format, the upper or lower part of the matrix a is stored in a rectangular matrix. For the upper triangular part, the main diagonal is the last row, the first super diagonal is the penultimate row with a leading zero, the second super diagonal is the antepenultimate row with two leading zeroes, and so on. For the lower triangular part, the main diagonal appears in the first row, followed by successive subdiagonals with trailing zeros.
- The number 0≤k<Length[a] indicates how many of the sub- or super-diagonals are treated as significant. The others are assumed zero.
- Dimensions of the matrix and vector arguments must be such that the dot product is well defined.
Examplesopen allclose all
Basic Examples (1)
Compute Inverse[a].b and save it in b where ab is the corresponding matrix in banded format:
Properties & Relations (2)
TBSV["U","N","N",k,ab,b] is equivalent to b=Inverse[a].b: