blas - LAPACK: Inverting a Matrix without Pivoting -
i have been using following functions invert matrices in lapack:
dgetrf() dgetri()
however, subroutine dgetrf()
considers partial pivoting.
question: there other subroutine in lapack/blas replace dgetrf()
without pivoting. also, know if there subroutine uses gaussian elimination matrix inversion instead of lu decomposition.
the list of computational routines available in lapack can found here - scroll bottom of page, table 2.8. far can tell, methods general matrices use factorization perform inversion. there no subroutine uses ge compute inverse.
related pivoting, suspect unless know doing, should not use method without partial pivoting. partial pivoting not terribly expensive in terms of performance, provide improved numerical stability. far aware, gaussian elimination used partial pivoting. in particular algorithm breaks if element on main diagonal 0 (for obvious reason). furthermore if value of pivot maximised numerical accuracy of solution improved.
if getting improved performance ge version without pivoting it's because trading off accuracy / generality of approach performance (which imho fair game when really know doing , have specific use case in mind, can see why library authors prefer have more generic implementation).
as aside if in performance comparison game would, measure compare against functions matrix inversion intel's mkl , ensure compiler optimisation flags correctly specified (-o3 -march=native
@ least) before drawing conclusions.
Comments
Post a Comment