r - Gram-Schmidt 正交化

标签 r linear-algebra

给定一个具有独立列的矩阵 A(不一定是正方形),我能够应用 Gram-Schmidt 迭代并使用 Matlab 的函数 qr 为其列空间(以正交矩阵 Q 的形式)生成正交基

A=[1,1;1,0;1,2]

[Q,R] = qr(A)

然后
>> Q(:,1:size(A,2))
ans =
  -0.577350269189626  -0.000000000000000
  -0.577350269189626  -0.707106781186547
  -0.577350269189626   0.707106781186547

您可以验证列是否正交
Q(:,1)'*Q(:,2) equals zero and

norm(Q(:,1)) equals norm(Q(:,2)) equals 1

给定一个具有独立列的矩阵(如 A),R 中是否存在产生(Gram-Schmidt)正交矩阵 Q 的函数? R 的 qr 函数不会产生正交 Q。

最佳答案

qr 有效,但它使用独特的约定并生成一个 qr 对象,您可以使用 qr.Qqr.R 进一步操作该对象:

> A
     [,1] [,2]
[1,]    1    1
[2,]    1    0
[3,]    1    2
> A.qr <- qr(A)
> qr.Q(A.qr)
           [,1]          [,2]
[1,] -0.5773503 -5.551115e-17
[2,] -0.5773503 -7.071068e-01
[3,] -0.5773503  7.071068e-01
> qr.R(A.qr)
          [,1]      [,2]
[1,] -1.732051 -1.732051
[2,]  0.000000  1.414214

这是你想要的输出吗?

关于r - Gram-Schmidt 正交化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238242/

相关文章:

math - Julia - 数组的绝对值

C++ - 如何找到矩阵的等级

c++ - 如何用 Z_2 中的系数求解稀疏线性系统?

r - 在 R 中绘制包含 "approximately equal to"的文本

r - 查找包中所有使用函数的函数

r - 在 R 中,绘制连续/序列事件

MATLAB 内存不足,但不应如此

用于提取 lme4 包中固定效应标准错误的 R 代码

r - 如何在 R 中创建具有自定义点的绘图?

c++ - 用 C++ 求解模方程组