[Master Index]
[Index for PublicToolbox/regutools]
bsvd
(PublicToolbox/regutools/bsvd.m in BrainStorm 2.0 (Alpha))
Function Synopsis
[U,s,V] = bsvd(B_k)
Help Text
BSVD SVD of a bidiagonal matrix stored in "compact form".
s = bsvd(B_k)
[U,s,V] = bsvd(B_k)
Computes the singular values, or the compact SVD, of the
bidiagonal matrix B stored in compact form in B_k.
If the bottom right element of B_k is a NAN, then B_k repre-
sents an upper bidiagonal matrix (such as produced by bidiag),
stored with its diagonal and upper bidiagonal in the first and
second columns of B_k, repsectively.
Otherwise, B_k represents a lower bidiagonal matrix (such as
produced by lanc_b), stored with its lower bidiagonal and its
diagonal in the first and second columns of B_k, respectively.
Cross-Reference Information
This function calls
- csvd C:\BrainStorm_2001\PublicToolbox\regutools\csvd.m
Listing of function C:\BrainStorm_2001\PublicToolbox\regutools\bsvd.m
function [U,s,V] = bsvd(B_k)
%BSVD SVD of a bidiagonal matrix stored in "compact form".
%
% s = bsvd(B_k)
% [U,s,V] = bsvd(B_k)
%
% Computes the singular values, or the compact SVD, of the
% bidiagonal matrix B stored in compact form in B_k.
%
% If the bottom right element of B_k is a NAN, then B_k repre-
% sents an upper bidiagonal matrix (such as produced by bidiag),
% stored with its diagonal and upper bidiagonal in the first and
% second columns of B_k, repsectively.
%
% Otherwise, B_k represents a lower bidiagonal matrix (such as
% produced by lanc_b), stored with its lower bidiagonal and its
% diagonal in the first and second columns of B_k, respectively.
% Per Christian Hansen, UNI-C, 03/11/92.
% Initialization.
[k,l] = size(B_k);
if (l~=2), error('B_k does not represent a bidiagonal matrix'), end
% Determine which bidiagonal form.
if (B_k(k,2)==NaN)
B = diag(B_k(:,1)) + diag(B_k(1:k-1,2),1);
else
B = diag(B_k(:,1),-1) + diag([B_k(:,2);0]);
[k1,k1] = size(B); B = B(:,1:k1-1);
end
% Compute the SVD.
if (nargout<=1)
U = svd(B);
else
[U,s,V] = csvd(B);
end
Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON