Questions tagged «matrix-factorization»


4
快速确定密集矩阵是否为低秩
在我正在从事的软件项目中,对于密集的低阶矩阵,某些计算非常容易。一些问题实例涉及密集的低秩矩阵,但是它们是完全提供给我的,而不是作为因素提供给我的,因此,如果我想利用低秩结构,就必须检查秩并分解矩阵。 所讨论的矩阵通常是完全或接近完全密集的,n的范围从一百到几千。如果矩阵的秩较低(例如小于5到10),则计算SVD并使用它形成低秩分解是值得的。但是,如果矩阵的排名不低,则将浪费精力。 因此,我想找到一种快速合理的方法来确定等级是否较低,然后再投入精力进行完整的SVD因数分解。如果在任何时候都可以确定等级高于临界值,则该过程可以立即停止。如果该过程在不正确的情况下错误地将矩阵声明为低秩,则这不是一个大问题,因为我仍然会执行完整的SVD来确认低秩并找到低秩分解。 我考虑过的选项包括显示LU或QR因式分解的等级,然后是完整的SVD作为检查对象。我还应该考虑其他方法吗?

1
快速和向后稳定(左)
我需要计算很多 3×33×33\times3 矩阵逆(用于牛顿迭代极坐标分解),具有极少数退化案例(&lt;0.1%&lt;0.1%<0.1\%)。 显式逆(通过矩阵次要除以行列式)似乎有效,大约是32到40个融合触发器(取决于我如何计算行列式的倒数)。不考虑det比例因子,它只有18个融合触发器(9个元素中的每个都是ab-cd形式,2个融合触发器)。 题: 有没有一种方法可以计算 3×33×33\times 3 使用少于18个(具有任意标度)或32个(具有适当标度,考虑倒数1 op)的融合触发器? 有没有一种经济的方法(使用〜50 f-flops)来计算a的向后稳定左反转 3×33×33\times 3 矩阵? 我正在使用单精度浮点数(iOS游戏)。向后稳定性对我来说是一个有趣的新概念,我想尝试一下。这是引起这一想法的文章。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.