Formulating a method as a computer-executable program and debugging that program is a powerful exercise in the learning process.
The convolution operator combines two functions by integrating the product of one function with a shifted and reversed version of the other.
A matrix is invertible if and only if its determinant is non-zero, moreover its cofactor matrix is also involved in the formula for calculating its inverse.
The Gram-Schmidt process transforms a set of linearly independent vectors into an orthogonal set, which is applied in QR decomposition, where Q is an orthonormal matrix and R an upper triangular matrix.