0001
0002
0003
0004
0005
0006
0007 function yy = hessMultdalgl(xx, A, eta, Hinfo)
0008
0009 blks =Hinfo.blks;
0010 hloss=Hinfo.hloss;
0011 I =Hinfo.I;
0012 vv =Hinfo.vv;
0013 nm =Hinfo.nm;
0014 lambda=Hinfo.lambda;
0015
0016 yy = hloss*xx;
0017
0018
0019 for kk=1:length(I)
0020 jj=I(kk);
0021 J=sum(blks(1:jj-1))+(1:blks(jj));
0022 vn=vv(J)/nm(jj);
0023 ff=lambda/nm(jj);
0024
0025
0026
0027 xk=A(:,J)'*xx;
0028
0029 yy = yy + eta*A(:,J)*((1-ff)*xk+ff*vn*(vn'*xk));
0030 end
0031
0032 B=Hinfo.B;
0033 if ~isempty(B)
0034 yy = yy + eta*B*(B'*xx);
0035 end