vgg_duplic_matrix.m

来自「实现了几何多视的功能」· M 代码 · 共 28 行

M
28
字号
% d = vgg_duplic_matrix(n)  Duplication matrix.
%
% Classical matrix re-arrangement operator, see book Magnus-Neudecker.
%
% Useful for rearranging equations with symmetric matrices. 
% For square symmetric X, it is
%
%   vgg_duplic_matrix(n)*vgg_vech(X) = vgg_vec(X)
%
% See also vgg_matrix_test, vgg_vech_swap.

% Added by Tom Werner, originaly from T.Minka.


function d = vgg_duplic_matrix(n)

a = tril(ones(n));
i = find(a);
a(i) = 1:length(i);
a = a + tril(a,-1)';
j = a(:);

m = n*(n+1)/2;
d = zeros(n*n,m);
for r = 1:size(d,1)
  d(r, j(r)) = 1;
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?