Can a symmetric matrix AA^T be computed using matrix-vector operation?
3 ビュー (過去 30 日間)
古いコメントを表示
I am interested in computing
which is a symmetric matrix where
now there's nothing special about A and in the worst case all of its entries are non-zero. I have an idea in my mind to calculate
using level-2 BLAS operation.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/676928/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/676933/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/676938/image.png)
First the diagonal entries of C is nothing but the j-th row of A multiplied by the transpose of the j-th row of A so it should be like this:
C(j,j)=A(j,:)*A(j,:)';
Next, I will compute the last
entries of C that is to say I will compute the lower triangular part of C afterwards I will say that the upper triangular part is equal to the lower triangular part due to symmetry. And this is where my question arises. Can I compute the lower triangular part using matrix-vector operation while avoiding unecessary multiplication such as multiplying elements located at the upper triangular of A?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/676943/image.png)
From what I reached I have reached the following expression :
C(j+1:n,j)=A(j+1:n,j)*A(:,j);
C(j,j+1:n)=C(j+1:n,j);
The issue is that this is a vector-vector multiplication (level-1 BLAS). I would hope for some context on whether level-2 BLAS is possible
2 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!