TDsolve

TDsolve(c, d, e, b)
or TDsolve(c, d, e, b, which=which)
returns the solution to the tridiagonal system:
D(1)*x(1) + E(1)*x(2) = B(1)
C(1:1)*x(1:2) + D(2:1)*x(2:1) + E(2:0)*x(3:0) = B(2:1)
C(0)*x(1) + D(0)*x(0) = B(0)
(i.e. C is the subdiagonal, D the diagonal, and E the superdiagonal;
C and E have one fewer element than D, which is the same length as
both B and x)
B may have additional dimensions, in which case the returned x
will have the same additional dimensions. The WHICH dimension of B,
and of the returned x is the one of length n which participates
in the matrix solve. By default, WHICH=1, so that the equations
being solved involve B(,..) and x(+,..).
Nonpositive WHICH counts from the final dimension (as for the
sort and transpose functions), so that WHICH=0 involves B(..,)
and x(..,+).
The C, D, and E arguments may be either scalars or vectors; they
will be broadcast as appropriate.
interpreted function, defined at i0/matrix.i line 36
