Previous Next

Packed Lower Block Bidiagonal Matrix Transpose Times a Vector

Syntax
[w] = ckbs_blkbidiag_mul_t(BdiaBoffdiav)

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