问题标签 [qr-decomposition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
94 浏览

matlab - 如何从 QR 分解中找到圆心

我必须使用 QR 分解而不是在 matlab 中使用最小二乘来找到由 512x2 矩阵表示的圆心,我对如何从 A=QR 找到圆中间的点感到困惑。他们称找到中心、半径和 RMS 误差“拟合圆”

0 投票
1 回答
161 浏览

visual-studio - QR分解Fortran错误

我对 QR 分解方法有疑问。我使用 dgeqrf 子例程进行分解,但编译器中没有错误,但之后会出现问题。我还没有找到错误在哪里。另一个问题是,A=Q*R=>如果A矩阵为零,分解能否为零或失去秩。

0 投票
0 回答
365 浏览

matrix - 户主变换-QR分解

我正在研究 QR 分解,代码在这里工作,但我的问题是,例如,有一个数组dimension(6,4)但我想分解dimension(6,2)。我使用 subroutine( dgeqrf) 所以我应该使用不同的子程序吗?该子程序正在获取整个矩阵,但我想给出不同的列大小,因为我可以分解矩阵(6,2)。我分享了这个程序的当前结果,但我想要(6,2)维度分解而不是(6,4)维度

0 投票
1 回答
7995 浏览

python - 如何在 Python 中实现基于 Householder 的 QR 分解?

我目前正在尝试为矩形矩阵实现基于 Householder 的 QR 分解,如http://eprints.ma.man.ac.uk/1192/1/qrupdating_12nov08.pdf(第 3、4、5 页)中所述。

显然我得到了一些伪代码错误,因为(1)我的结果与numpy.qr.linalg()(2)R我的例程产生的矩阵不是上三角矩阵。

我的代码(也可在https://pyfiddle.io/fiddle/afcc2e0e-0857-4cb2-adb5-06ff9b80c9d3/?i=true下获得)

所以我不清楚如何在我的R矩阵中引入零/我的代码的哪一部分不正确。我会很高兴任何指针!非常感谢您的时间。

0 投票
3 回答
2167 浏览

python - 在 Python 中使用 QR 分解解决超定系统

我正在尝试使用 QR 分解和 linalg.solve 解决超定系统,但我得到的错误是

LinAlgError: 数组的最后 2 个维度必须是 square

当 R 数组不是正方形时,会发生这种情况,对吗?代码看起来像这样

对于任意 A 尺寸,有没有办法以更有效的方式编写它?如果没有,我该如何使这个代码片段工作?

0 投票
0 回答
61 浏览

r - 在 Matrix::qr 方法中获取 base::qr 旋转

我有一种情况,我有一个秩不足的 X 矩阵,但仍然需要回归系数。具体来说,我想要由提供的表现良好的系数base::qr

因此,双方都认识到他们无法估计 B2 和估计 na NA ( base) 或零 ( Matrix),我对任何一个结果都很好。但是,base::qr也认识到它需要删除第二列并选择最后一列(目前尚不清楚为什么,但它有效),同时Matrix::qr大胆地进行并估计一个类似于.Machine$double.eps.

矩阵也不太稳定(请原谅​​我,我忘记了哪种),因为平方和比基数更小

有没有办法获得一种超级快速的方法,就像Matrix::qr工作一样base::qr并给出快速但稳定的结果?我意识到这并不完全是一个“大矩阵”,部分原因是它是一个 MWE。

Ben Bolker's answer here和两个 answers here谈论 Lapack 和 Linpack 之间的区别,但这些方法在base::qr. 我正在寻找一种方法来从Matrix::qr我可以使用的系数中获得修改后的结果。

0 投票
1 回答
227 浏览

python - 使用 Numpy 将矩阵正交投影到向量的优化投影

我需要使矩阵的所有其他列A与其列之一正交j

我使用以下算法:

这个想法来自使用 Gram-Schmidt 过程的 QR 分解

但是由于 Gram-Schmidt 过程,此代码未优化且不稳定。

Numpy 是否提供任何方法来计算这些向量的正交投影?


户主矩阵

听说 Householder Reflector 用在numpy.linalg.qr. 这将允许我计算一个正交矩阵Q,以便

我只需要忽略这条线j并乘回Q.T.

有没有办法用 Numpy 获得 Householder Matrix ?我的意思是不手动编码算法。

0 投票
1 回答
470 浏览

python - 用于 QR 分解的户主反射

我正在尝试通过家庭反射器实现 QR 分解。在一个非常简单的数组上尝试这个时,我得到了奇怪的数字。任何人都可以告诉我,为什么在函数定义的最后一行在 vec 和 vec.T 之间使用 @ vs * 运算符可以获得主要的奖励积分。

截至今天早上,这已经难倒了两位数学/计算机科学博士。

输出:

它应该在哪里:

0 投票
1 回答
37 浏览

python - numpy 中的 QuiRk - 使用反射器在 QR 分解中将所有归一化元素分配为 0

数组中的所有标准化元素都设置为 0。

我正在尝试为阵列创建反射器。当我通过 Python 中的第一个元素对数组中的所有元素进行归一化时(x[1:] /= x[0], x[0] = 1),我只会在第一个元素中得到全零和一个 1。

结果应该是这样的(u = [1, 4/9, 1/9, 3/9, 1/9])

0 投票
0 回答
371 浏览

c++ - QR分解特征与Matlab

我正在使用 Eigen 将代码从 Matlab 移植到 C++,但我发现了一些问题。我需要计算 QR 分解,

代码matlab: [Q,R] = qr(Xtilde, 0);

代码特征:

Xtilde(46 x 4) 是:

当我执行 QR 分解时,我从 Eigen 获得的 Q 矩阵与我从 Matlab 获得的 Q 矩阵不同。此外,来自 Eigen 的 R 矩阵与我从 Matlab 获得的 Q 矩阵具有不同的符号:来自 Matlab 的 Q

来自 Matlab 的 R

来自本征的 Q

来自本征的 R

我不明白为什么我在Q矩阵的最后四行有不同,为什么我在Q矩阵中有不同的符号,

我获得 Q'*Q : Matlab :

特征:

对于 Q*R - X:

特征:

MATLAB:

如您所见,Q' Q 等价于单位矩阵,并且 Q R - X 非常接近于零。

此致,