The Gram-Schmidt orthogonalization process is applied to the columns of a matrix, or a list, set, or sequence of vectors. The option to work symbolically or numerically is provided, as is the option to orthogonalize or orthonormalize the vectors. If the vectors contain complex quantities, then the complex inner product should be selected.
Note: If the input matrix or vectors contains floating point numbers, or if the "Floating-Point Calculations" option is selected, the Gram-Schmidt process will be carried out using floating point arithmetic, which necessarily introduces round-off error. As a result, linear dependence of the vectors (or less than full rank of the matrix) is not likely to be detected. In the floating-point domain, the singular value decomposition is a much superior method for obtaining an orthogonal basis for the span of a set of vectors.