How much worse would performance be if we “upgraded” all results to complex matrices?
— John On Jan 28, 2014, at 8:38 PM, Jiahao Chen <jia...@mit.edu> wrote: > The reason is primarily for performance and secondarily for numerical > stability. eig() on a Matrix implements a polyalgorithm depending on > the symmetries of the input matrix. Certain symmetries, e.g. real > symmetric or Hermitian, can be solve significantly more efficiently > than the general case, and so eig() attempts to detect these > symmetries at runtime and if found, dispatch to different LAPACK > routines that are able to take advantage of faster and more stable > algorithms. Several other generic linear algebraic functions are > written in this fashion, notably \. > > (This was recently discussed in the context of issue #4006 with > particular focus on sqrtm, whose code is somewhat easier to read than > eigfact!. https://github.com/JuliaLang/julia/issues/4006) > > Thanks, > > Jiahao Chen, PhD > Staff Research Scientist > MIT Computer Science and Artificial Intelligence Laboratory