Previous Next

Packed Block Diagonal Matrix Times a Vector or Matrix

Syntax
[w] = ckbs_blkdiag_mul(Bdiav)

Purpose
This routine enables one to used the packed form of a block diagonal 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)
\] 


B
The matrix  B is defined by  \[
B
=
\left( \begin{array}{cccc}
      B_1 & 0      & 0      &           \\
      0   & B_2    & 0      & 0         \\
      0   & 0      & \ddots & 0         \\
          & 0      & 0      & B_N
\end{array} \right)
\] 


V
The argument V is a matrix of size  n * N \times
p
, with no restrictions on  p .

W
The result W is a matrix of size  m * N \times p .

Example
The file blkdiag_mul_ok.m contains an example and test of ckbs_blkdiag_mul. It returns true if ckbs_blkdiag_mul passes the test and false otherwise.
Input File: src/ckbs_blkdiag_mul.m