Previous Next

Packed Block Tridiagonal Matrix Times a Vector

Syntax
[w] = ckbs_blktridiag_mul(BdiaBoffdiav)

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