improve speed of Ax=b solve operations for matrices
perform checks similar to matlab: https://de.mathworks.com/help/matlab/ref/mldivide.html
for dense matrices:
-
not square operator -> use QR or SVD -
implement check & solver for permuted triangular matrices -
not Hermitian -> LU solver -
all positive / all negative diagonal -> try cholesky -
default to LDL solver otherwise
for sparse:
-
check for diagonality -> scale input -
check bandwidth < threshold -> banded solver -
implement check & solver for permuted triangular matrices -
not Hermitian -> LU solver -
all positive / all negative diagonal -> try cholesky -
default to LDL solver otherwise