Dynamic-Calibration/utils/SDPT3-4.0/Solver/Oldmfiles/schurmat_lblkold.m

24 lines
773 B
Matlab
Executable File

%%*******************************************************************
%% schurmat_lblk:
%%
%% SDPT3: version 3.0
%% Copyright (c) 1997 by
%% K.C. Toh, M.J. Todd, R.H. Tutuncu
%% Last modified: 2 Feb 01
%%*******************************************************************
function [schur,UU,VV] = schurmat_lblk(blk,At,schur,UU,VV,p,dd);
n = sum(blk{p,2});
decolidx = checkdense(At{p}');
ddsch = dd{p};
if ~isempty(decolidx);
len = length(decolidx);
Ad = (spdiags(sqrt(ddsch(decolidx)),0,len,len)*At{p}(decolidx,:))';
UU = [UU Ad];
VV = [VV Ad];
ddsch(decolidx) = zeros(len,1);
end
schur = schur + At{p}' *spdiags(ddsch,0,n,n) *At{p};
%%*******************************************************************