Index-> contents reference index search external Previous Next Up-> ckbs utility ckbs_blkbidiag_symm_mul 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_blkbidiag_symm_mul-> blkbidiag_symm_mul_ok.m Headings-> Syntax Purpose Bdia Boffdia Ddia B D r s Example

Packed Block Bidiagonal Matrix Symmetric Multiply

Syntax
[r, s] = ckbs_blkbidiag_symm_mul(Bdia, Boffdia, Ddia)

Purpose
This routine takes a packed block bidiagonal matrix and a packed block diagonal matrix (optional), and returns the symmetric product matrix (as packed tridiagonal matrix):   $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
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)$ 

Boffdia
The argument 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
The argument 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
The matrix   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
The matrix   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
The result 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
The result 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)$ 

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