Purpose
This routine enables one to used the packed form of a block tridiagonal matrix
and returns the matrix times a vector or matrix; i.e.,
\[
W = B * V
\]
Bdia
The argument
Bdia
is an m \times n \times N
array.
For k = 1 , \ldots , N
we define
B_k \in \B{R}^{m \times n}
by
\[
B_k = Bdia(:, :, k)
\]
Boffdia
The argument
Boffdia
is an m \times n \times N
array.
For k = 2 , \ldots , N
we define
C_k \in \B{R}^{m \times n}
by
\[
C_k = Boffdia(:, :, k)
\]
B
The matrix B
is defined by
\[
B
=
\left( \begin{array}{cccc}
B_1 & C_2 & 0 & \\
C_2^T & B_2 & \ddots & 0 \\
0 & \ddots & \ddots & C_N \\
& 0 & C_N^T & B_N
\end{array} \right)
\]
V
The argument
V
is a matrix of size n * N \times
k
, with no restriction on k
.
W
The result
W
is a matrix of size m * N \times k
.
Example
The file blktridiag_mul_ok.m
contains an example and test of
ckbs_blktridiag_mul.
It returns true if ckbs_blktridiag_mul passes the test
and false otherwise.
Input File: src/ckbs_blktridiag_mul.m