I am converting a complex worksheet from linalg to LinearAlgebra, and
discovered what is to me a serious problem. With linalg, one could use
the basis(A,colspace) command to give a basis of the column space consisting of columns from the original matrix, guaranteed to be in the order in which they appear in the matrix. This is useful in extending a spanning set of a vector space to a basis of a larger space, and allows one to determine exactly which new vectors need to be added. However, the ColumnSpace(A) command in LinearAlgebra does something quite different. It gives a basis of the column space which does not preserve this order, and does not even use the original vectors. This will not do at all to solve my problem. I was not hoping to have to write all my routines completely from scratch, but it seems the designers of the LinearAlgebra package did not imagine that the user would want to do what I have in mind. I really hate the necessity of writing my own routine to do what ought to be available in the package, and was available in the so-called obsolete package. Perhaps I am overlooking a simple solution.