Dynamic-Calibration/utils/SDPT3-4.0/Examples/gppschur.m

27 lines
843 B
Mathematica
Raw Normal View History

2019-12-18 11:25:45 +00:00
%%****************************************************
%% gppschur: compute schur matrix of HKM direction
%% for GPP problems.
%%
%% schur = gppschur(X,Zinv,schurfun_par);
%%
%% Ak = -e*e' if k = 1
%% = -ek*ek' if k > 1.
%%*****************************************************************
%% SDPT3: version 4.0
%% Copyright (c) 1997 by
%% Kim-Chuan Toh, Michael J. Todd, Reha H. Tutuncu
%% Last Modified: 16 Sep 2004
%%*****************************************************************
function schur = gppschur(X,Zinv,schurfun_par);
n = size(X,1);
e = ones(n,1);
m = n+1;
schur = zeros(m);
schur(2:m,2:m) = X .* Zinv;
tmp = (X*e) .* (Zinv*e);
schur(2:m,1) = tmp;
schur(1,2:m) = tmp';
schur(1,1) = (e'*X*e) * (e'*Zinv*e);
%%****************************************************