Previous Next

Block Diagonal Algorithm

Syntax
[elambda] = ckbs_diag_solve(br)

Purpose
This routine solves the following linear system of equations for  e :  \[
      A * e = r
\] 
where the diagonal matrix  A is defined by  \[
A =
\left( \begin{array}{ccccc}
b_1    & 0 & 0          & \cdots       \\
0    & b_2       & 0  &         \\
\vdots &           & \ddots     &               \\
0      & \cdots    & 0           & b_N    
\end{array} \right)
\] 


b
The argument b is a three dimensional array, for  k = 1 , \ldots , N  \[
      b_k = b(:,:,k)
\]
and b has size  n \times n \times N .

r
The argument r is an  (n * N) \times m matrix.

e
The result e is an  (n * N) \times m matrix.

lambda
The result lambda is a scalar equal to the logarithm of the determinant of  A .

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