MAT QR OF A TO Q,R makes the QR factorization of m*n A (m>=n) by Householder transformations (Algorithm 5.2.1 in Golub, van Loan: Matrix Computations, 1989). Q will be m*m orthogonal matrix and R m*n upper triangular so that A=Q*R. MAT QRP OF A TO Q,R,tol makes the Householder QR with column pivoting of m*n A (Algorithm 5.4.1 in Golub, van Loan: Matrix Computations, 1989). The permutation of columns is saved in QR_PERM.M so that PERM2(A,QR_PERM.M)=Q*R. tol gives the lowest admitted pivot value for rank determination. Default is tol=1e-15. r=rank(A) and an indicator vector of the optimal permutation is saved in QR_SEL.M . Then MAT A2=SUB(A,*,QR_SEL.M) gives m*r A2 as a basis of the column space of A. D = More information on matrix decompositions