Initial implementation of the LU solver

* implemented LU solver without pivotization
* Sparse::LU should be able to solve positive definite problems as we're
treating