问题标签 [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.
sparse-matrix - 特征 QR 分解结果不同于两种方法
我尝试使用Eigen进行QR分解,但是从以下两种方法得到的结果不同,请帮助我找出错误!谢谢。
r - 通过 Householder 成功找到 Q & R 后无法在 R 中获得线性回归系数
我正在手动尝试计算回归系数,而不是对数据使用任何默认值http://people.sc.fsu.edu/~jburkardt/datasets/regression/x31.txt
这是我的代码,它可以正确生成满足 A=QR 的 Q&R。但我无法找到系数作为 Q & R 产生问题的维度。任何专家可以在这里帮助我吗?当我有适当的问答时,如何找到系数会出错?
performance - 如何在 Julia 中最有效地使用 QR 分解?
避免数组分配有利于性能。但是,我还没有理解执行矩阵 QR 分解的最有效方法是什么A
。(注意:需要 Q 和 R 矩阵)
简单地使用
Q, R = qr(A)
可能不是最好的主意,因为它同时分配了 Q 和 R,两者都可以重新分配。
该功能qrfact
允许以打包格式存储分解。但是,之后我仍然会写:
F = qrfact(A); Q = F[:Q]; R = F[:R]
再次为Q
and分配新数组R
。最后,文档还建议了该qrfact!
函数,该函数通过覆盖输入 A 来节省空间,而不是创建一个副本。但是,如果一个人使用F = qrfact!(A)
了被覆盖的东西,在某种意义上说它不是orA
是没有用的,这是一个人(特别是我)需要的。Q
R
所以我的两个问题是:
如果您只关心矩阵
Q
并且R
重新分配它们没有问题,那么执行 QR 分解的最佳/最有效方法是什么。A
调用时矩阵中实际写的是什么qrfact!(A)
?
decomposition - 我们可以用张量分解做什么?
我有三个关于张量分解的问题。
- 张量分解(分解)的情况(或应用)是什么?
- 这在未来成为主流技术的可能性有多大?
- 你如何使用它?
r - “输入意外结束”错误是什么意思?
我目前正在 R 中构建一个应用程序来计算 QR 矩阵分解、QR 非负矩阵分解和计算 ICA。目前我正在处理第一个任务。我收到以下错误:
代码:
我对 R 很陌生。请提出可能是哪个问题。
cuda - cuSolverDN 或其他 CUDA 库是否有用于密集矩阵的批处理版本的 QR 分解来求解 A*x = b?
我正在尝试解决 A*x = b 其中 A 具有复杂值且密集的问题。
我使用 cuSolverDN 库中的 cusolverDnCgeqrf() 方法对一组线性方程组进行 QR 分解。但是,我想多次这样做以加快处理速度。
这种方法有“批处理”版本吗?或者我可以使用另一个 CUDA 库吗?
c++ - 修改/缩小特征置换矩阵
我无法解决我认为应该是一个相当简单的问题。基本问题是我想修改 Eigen PermutationMatrix 但我不知道如何。
我正在X
使用 C++ Eigen 库对一些矩阵进行 QR 分解。我在秩不足的矩阵上做这个,我需要一个特定的输出。具体来说,我需要
R^{-1} * t(R^{-1})
问题是 usingEigen::ColPivHouseholderQR
返回一个置换版本的R
. 这很容易解决X
满级时的问题,但我想要最快的解决方案来解决等级不足的情况。让我演示一下:
所以基本问题是我想修改 Pmat 以便它只置换我从中提取的 R_inv 的 r 列PQR.matrixQR()
。我的基本问题是我不知道如何使用 Eigen PermutationMatrix 修改工作,因为它似乎没有任何普通矩阵的方法或属性。
一种可能的解决方案如下:当我相乘时Pmat * MatrixXd::Identity(p, p)
,我得到一个有用的矩阵。
例如,我得到类似的东西:
如果 p = 4 和 r = 3,那么我会喜欢这个子视图,在其中我删除前 r 列右侧的所有列,然后删除所有为 0 的行:
所以我可以做到以下几点:
但这似乎很昂贵,并且没有利用 Pmat 已经知道应该删除哪些 Pmat 行的事实。我猜有一种更简单的方法可以使用 Pmat。
有什么方法可以轻松修改 Eigen PermutationMatrix 以仅考虑未放置在第一个r
位置之外的列?
任何帮助或提示将不胜感激。
我想出了另一个解决方案,它可能需要更少的计算。
r - 从 X 的 QR 分解中检索 X
对此感到困惑:我正在计算以下矩阵 X 的 QR 分解,我希望通过计算乘积 QR 来返回 X。好吧,该产品给出了“几乎”X,但是第 1 列和第 2 列倒置了……这怎么可能?
r - R和matlab中的qr函数
我有一个关于将 matlab 函数转换为 R 的问题,我希望有人能提供帮助。
matlab 和 R 中使用的标准 QR 分解称为 qr()。据我了解,用两种语言执行 qr 分解的标准方法是:
Matlab:
[Q,R] = qr(A)
满足 QR=A
回复:
两者都为我提供了相同的结果,不幸的是,这不是我所需要的。我需要的是这个:
Matlab: [Q,R,e] = qr(A,0)产生经济尺寸分解,其中 e 是置换向量,因此 A(:,e) = Q*R。
R:没有线索
我尝试将[Q,R,E] = qr(A)与
变量 Q 和 E 的结果似乎相同(但 R 不同)。因此,根据定义的输入/输出,会有不同的结果(这是有道理的)。
所以我的问题是: R中有没有一种方法可以在Matlab中模仿这个 [Q,R,e]=qr(A,0) ?
我曾尝试深入研究 matlab 函数,但它导致了漫长而曲折的无尽函数定义之路,我希望有更好的解决方案。
任何帮助将不胜感激,如果我遗漏了一些明显的东西,我深表歉意。
matlab - 在 MATLAB 中具有给定旋转的 GMRES 方法
我有以下算法实现
vetnorm_r
我的问题是在每次迭代(可能在每次重新启动时)获取一个包含所有残差范数(作为输出)的向量(可能是矩阵)。我不知道如何构建这个向量或矩阵。
% 输入 A REAL 非对称正定矩阵 % x REAL 初始猜测向量 % b REAL 右手边向量 % M REAL 预处理器矩阵 % restart INTEGER 重新启动之间的迭代次数 % maxit INTEGER 最大迭代次数 % tol REAL 容错 % % 输出 x实数解向量 % 误差 实数误差范数 % iter INTEGER 执行的迭代次数 % flag INTEGER: 0 = 找到公差的解 % 1 = 给定 maxit 没有收敛
感谢您的任何回复