gramSchmidt
New in version 2.00.10.
语法
gramSchmidt(X, [normalize = false])
参数
X 一个列满秩矩阵(每个列向量均线性无关),且不能包含空值。
normalize 可选参数,一个布尔值,表示是否输出标准正交矩阵,默认值为 false。
详情
将列满秩矩阵转换为一个列向量正交的矩阵。
返回值:DOUBLE 类型矩阵。
例子
$ x = matrix([2 3 5, 3 6 2, 8 3 6]);
$ gramSchmidt(x)
col1 col2 col3
2.0000 1.2105 4.7932
3.0000 3.3157 -2.1968
5.0000 -2.4736 -0.5991
//指定 normalize=true,则输出标准正交矩阵。
$ gramSchmidt(x, true)
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)
vector set must be linearly independent