Previous Next tridiag_solve_b_ok.m

ckbs_tridiag_solve_b Example and Test

Source Code
 
function [ok] = tridiag_solve_b_ok()
    ok = true;
    m  = 2;
    n  = 3;
    N  = 4;
    % case where uk = 0, qk = I, and ak is random
    rand('seed', 123);
    a = rand(n, n, N);
    r = rand(n * N, m);
    c = zeros(n, n, N);
    for k = 1 : N
        ak         = a(:, :, k);
        b(:, :, k) = 2 * eye(n) + ak * ak';
        c(:, :, k) = ak';
    end
    % ----------------------------------------
    [e, lambda] = ckbs_tridiag_solve_b(b, c, r);
    % ----------------------------------------

    check = ckbs_blktridiag_mul(b, c, e);

    ok = ok & max(abs(check - r)) < 1e-10;

    return
end

Input File: example/tridiag_solve_b_ok.m