Borrar filtros
Borrar filtros

Algorithm for an elimination matrix

7 visualizaciones (últimos 30 días)
Luciano Campos
Luciano Campos el 18 de Mzo. de 2016
Comentada: Luciano Campos el 18 de Mzo. de 2016
Hi everybody, Can anybody help me to design a Matlab code function that creates an elimination matrix L of size (.5m(m+1),m^2) such that, for a (m,m) square matrix A:
vech(A)=L vec(A)
where the vech and vec operators are such that, for example, if:
Thanks for your help,
best,

Respuesta aceptada

James Tursa
James Tursa el 18 de Mzo. de 2016
Editada: James Tursa el 18 de Mzo. de 2016
m = size(A,1); % Size of A
T = tril(ones(m)); % Lower triangle of 1's
f = find(T(:)); % Get linear indexes of 1's
k = m*(m+1)/2; % Row size of L
m2 = m*m; % Colunm size of L
L = zeros(m2,k); % Start with L'
x = f + m2*(0:k-1)'; % Linear indexes of the 1's within L'
L(x) = 1; % Put the 1's in place
L = L'; % Now transpose to actual L
  1 comentario
Luciano Campos
Luciano Campos el 18 de Mzo. de 2016
Thanks James! It works perfectly!
really appreciate your help.
best,

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by