Algorithm for an elimination matrix
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Luciano Campos
le 18 Mar 2016
Commenté : Luciano Campos
le 18 Mar 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158172/image.png)
Thanks for your help,
best,
0 commentaires
Réponse acceptée
James Tursa
le 18 Mar 2016
Modifié(e) : James Tursa
le 18 Mar 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!