Index-> contents reference index search external Previous Next Up-> ckbs utility ckbs_bidiag_solve_t ckbs-> license ckbs_t_general ckbs_nonlinear ckbs_L1_nonlinear ckbs_affine ckbs_affine_singular ckbs_L1_affine utility all_ok.m whatsnew wishlist bib utility-> ckbs_t_obj ckbs_t_grad ckbs_t_hess ckbs_diag_solve ckbs_bidiag_solve ckbs_bidiag_solve_t ckbs_blkbidiag_symm_mul ckbs_blkdiag_mul ckbs_blkdiag_mul_t ckbs_blkbidiag_mul_t ckbs_blkbidiag_mul ckbs_blktridiag_mul ckbs_sumsq_obj ckbs_L2L1_obj ckbs_sumsq_grad ckbs_process_grad ckbs_sumsq_hes ckbs_process_hes ckbs_tridiag_solve ckbs_tridiag_solve_b ckbs_tridiag_solve_pcg ckbs_newton_step ckbs_newton_step_L1 ckbs_kuhn_tucker ckbs_kuhn_tucker_L1 ckbs_bidiag_solve_t-> bidiag_solve_t_ok.m Headings-> Syntax Purpose b c r e lambda Example

Block Bidiagonal Algorithm

Syntax
[e, lambda] = ckbs_bidiag_solve_t(b, c, r)

Purpose
This routine solves the following linear system of equations for   e :   $A^T * 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_t_ok.m contains an example and test of ckbs_bidiag_solve_t. It returns true if ckbs_bidiag_solve_t passes the test and false otherwise.
Input File: src/ckbs_bidiag_solve_t.m