project(M, N) calculates the projection of M onto N,
i.e., \(N (N^t N)^{-1} N^t M\).
orth(M, N) orthogonalises M with respect to N,
i.e., it calculates the projection of M onto the orthogonal
space of N: \(M - N (N^t N)^{-1} N^t M\).
Corth(M, N) calculates the coefficient matrix needed to
orthogonalise future matrices, that is,
\((N^t N)^{-1} N^t M\). Future
matrices m and n can be orthogonalised with
m - n %*% Corth(M, N).