Purpose
This routine enables one to used the packed form of a lower block bidiagonal matrix
and returns the transpose of the matrix times a vector or matrix; i.e.,
\[
W = B^T * 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 & 0 & 0 & \\
C_2^T & 0 & \ddots & 0 \\
0 & \ddots & \ddots & 0 \\
& 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 blkbidiag_mul_t_ok.m
contains an example and test of
ckbs_blkbidiag_mul_t.
It returns true if ckbs_blkbidiag_mul_t passes the test
and false otherwise.
Input File: src/ckbs_blkbidiag_mul_t.m