Computational Thinking, Linear Algebra, Python, Jupyter Notebook, Math.
idea of adding shifts to speed up convergence shows up in many algorithms in numerical linear algebra (including the power method, inverse iteration, and Rayleigh quotient iteration). Practical QR Ak, Q = practical_qr(A, 10) Check that Q is orthogonal: np.allclose(np.eye(n), Q @ Q.T),