0

I have a general matrix with a symmetric block, say,

M = [ x, v^T

       u, A  ]

where A is the symmetric block, and u,v are some column vectors. I would like to perform a symmetric rank-1 update on A, and I'm aware of dsyr. However, it seems that dsyr only provides options to update either the lower or upper triangle, but not both of them. I know I can write some loops to copy the matrix elements afterwards, or use dger instead. But I wonder, is there a more elegant way of doing this?

Ian Bush
  • 6,996
  • 1
  • 21
  • 27
jinzx10
  • 31
  • 2
  • Unless there's a mathematical trick that can be used (I can't see one immediately), no. – Ian Bush Mar 07 '21 at 07:57
  • I'd just use `dsyr` and update that one column (or row, depending on the `UPLO` argument) afterwards. That is quite simple and leads to almost no overhead. – jack Mar 07 '21 at 11:05

0 Answers0