|   | Previous | Next | 
[r, s] = ckbs_blkbidiag_symm_mul(Bdia, Boffdia, Ddia)
 \[
      W = B * D * B^T
\] 
The actual output consists of a packed representation of the
diagonal and off-diagonal blocks of the matrix 
 W
.
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
 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)
\] 
Ddia
 is an 
 n \times n \times N
 array.
For 
 k = 1 , \ldots , N
 we define
 D_k \in \B{R}^{n \times n}
 by
 \[
      D_k = Ddia(:, :, k)
\] 
 B
 is defined by
 \[
B
=
\left( \begin{array}{cccc}
      B_1 & 0      & 0      &           \\
      C_2^T   & B_2    & \ddots      & 0         \\
      0   & \ddots      & \ddots & 0         \\
          & 0      & C_N^T      & B_N
\end{array} \right)
\] 
 D
 is defined by
 \[
D
=
\left( \begin{array}{cccc}
      D_1 & 0      & 0      &           \\
      0   & D_2    & \ddots      & 0         \\
      0   & \ddots      & \ddots & 0         \\
          & 0      & 0      & D_N
\end{array} \right)
\] 
r
 is an 
 n \times n \times N
 array.
For 
 k = 1 , \ldots , N
 we define
 r_k \in \B{R}^{n \times n}
 by
 \[
      r_k = r(:, :, k)
\] 
% s
 is an 
 m \times n \times N
 array.
For 
 k = 2 , \ldots , N
 we define
 r_k \in \B{R}^{m \times n}
 by
 \[
      s_k = s(:, :, k)
\] 
ckbs_blkbidiag_symm_mul.
It returns true if ckbs_blkbidiag_symm_mul passes the test
and false otherwise.