Improving Performance of Sparse Numerical Linear Algebra Computations: Algorithmic optimization techniques for sparse direct and sparse iterative numerical solvers of large linear equations