Daniel@0: function dPsi = cpGradientDODMKL(X, S) Daniel@0: Daniel@0: [d,n,m] = size(X); Daniel@0: Daniel@0: dPsi = zeros(m,m,d); Daniel@0: Daniel@0: for i = 1:m Daniel@0: dPsi(i,i,:) = diag(X(:,:,i) * S * X(:,:,i)'); Daniel@0: for j = (i+1):m Daniel@0: Q = X(:,:,i) + X(:,:,j); Daniel@0: dPsi(i,j,:) = diag( Q * S * Q'); Daniel@0: end Daniel@0: end Daniel@0: end