4

I'm hoping someone can help me out. I am looking for a BLAS or LAPACK subroutine specifically for matrix multiplication of two large and identical symmetric matrices.

So far, I have tested dysrk and dgemm routines, and both are extremely slow. I am wondering if there is routine specific to squaring a symmetric matrix...

Any help would be greatly appreciated!

tinyteeth
  • 199
  • 7
  • 3
    You may try `dsymm()` of BLAS to partly handle the case of symmetric matrix A. http://www.netlib.org/blas/index.html `dsymm()` performs C=B*A where A is symmetric. – francis Jun 28 '14 at 19:00
  • 1
    @francis Is there any LAPACK method for multiplying two symmetric matrices? (both in packed storage). – Pantelis Sopasakis Jul 10 '15 at 16:48
  • 3
    @PantelisSopasakis : I have not found a method for this operation in BLAS. Take a look at [this](https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=2063). The storage gain goes like N^2 while matrix-matrix operations requires N^3 operations. So computing efficiency is the bottleneck and packing may result in slower computation [here](http://stackoverflow.com/questions/8941678/lapack-are-operations-on-packed-storage-matrices-faster). You may use `dsymm()` combined with dptttr / dtrttp see http://stackoverflow.com/questions/28445648/convert-symmetric-matrix-between-packed-and-full-storage – francis Jul 14 '15 at 13:32

0 Answers0