gramSchmidt
Syntax
gramSchmidt(X, [normalize = false])
Arguments
X is a matrix where each column (as a vector) is linearly independent, i.e., the matrix has column full rank. It cannot contain any NULL values.
normalize (optional) is a Boolean value indicating whether to output a normalized orthogonal matrix. The default value is false.
Details
This function converts a matrix of full column rank into an orthogonal matrix.
Return value: a matrix of DOUBLE type.
Examples
x = matrix([2 3 5, 3 6 2, 8 3 6]);
gramSchmidt(x)
// output
col1    col2    col3
2.0000  1.2105  4.7932
3.0000  3.3157  -2.1968
5.0000  -2.4736 -0.5991
// If normalize=true, a normalized orthogonal matrix is returned.
gramSchmidt(x, true)
// output
col1    col2    col3
0.3244      0.2808  0.9033
0.4867      0.7693  -0.414
0.8111      -0.5739 -0.1129
x = matrix([1 4, 2 5, 3 6]);
gramSchmidt(x)
// An error is raised when the columns of the matrix are linearly dependent.
vector set must be linearly independent
        