Previous Next

Block Bidiagonal Algorithm

Syntax
[elambda] = ckbs_bidiag_solve(bcr)

Purpose
This routine solves the following linear system of equations for  e :  \[
      A * e = r
\] 
where the bidiagonal matrix  A is defined by  \[
A =
\left( \begin{array}{ccccc}
b_1    & 0 & 0          & \cdots       \\
c_2    & b_2       & 0  &         \\
\vdots &           & \ddots     &               \\
0      & \cdots    & c_N           & 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 .

c
The argument c is a three dimensional array, for  k = 2 , \ldots , N  \[
      c_k = c(:,:,k)
\]
and c 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 bidiag_solve_ok.m contains an example and test of ckbs_bidiag_solve. It returns true if ckbs_bidiag_solve passes the test and false otherwise.
Input File: src/ckbs_bidiag_solve.m