Iterative Methods and Preconditioning for Large and Sparse Linear Systems with Applications