title: More efficient way to invert a matrix knowing it is symmetric and positive semi-definite
body: <p>I'm inverting covariance matrices with <code>numpy</code> in python. Covariance matrices are symmetric and positive semi-definite.</p>
  
  <p>I wondered if there exists an algorithm optimised for symmetric positive semi-definite matrices, faster than <code>numpy.linalg.inv()</code> (and of course if an implementation of it is readily accessible from python!). I did not manage to find something in <code>numpy.linalg</code> or searching the web.</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>As observed by @yixuan, positive semi-definite matrices are not in general strictly invertible. I checked that in my case I just got positive definite matrices, so I accepted an answer that works for positive definiteness. Anyway, in the LAPACK low-level routines I found <code>DSY*</code> routines that are optimised for just simmetric/hermitian matrices, although it seems they are missing in <code>scipy</code> (maybe it is just a matter of installed versions).</p>