问题标签 [matrix-inverse]

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 投票
1 回答
12850 浏览

c++ - 在 C++(大和小)中反转矩阵的更有效和快速的方法

编辑。自从提出这个问题后,我获得了解决断层扫描线性方程组的博士学位。由于这个问题仍然有很多流量,我想强调@sellibitze 答案中的第一句话:没有简单的答案。它在很大程度上取决于矩阵的性质,并且几乎总是您不想反转矩阵。

现在,对于这个认为可以很容易回答的非常无辜的人的原始问题......


在搜索矩阵求逆算法时,我发现有几种方法(和意见!)关于如何在代码中执行此操作。我想知道哪种方法最快,或者性能最好的方法,但试图找到答案却一无所获。

我知道在某些情况下可以计算伪逆(使用 SVD、cholevsky、...),我实际上在我的代码中使用了其中的一些,而且我知道有好几次逆不存在,等等。很容易找到特定问题的特定答案,但对于矩阵求逆这个大(巨大的!)问题却不是一般的直觉。

所以我的问题是:

什么方法对小矩阵的性能最好?并且精确?大矩阵呢?

我的个人案例是一个 6x6(编辑:对称)矩阵,必须反转数千次(是的,是的,具有不同的值),我需要高精度,但可以肯定的是速度会非常方便。

请注意,我不是在寻找代码,我会自己编写最适合我情况的任何答案,但我认为这是很多程序员都想知道的问题。

0 投票
2 回答
1539 浏览

c++ - 当针对奇异矩阵时,solve() 崩溃

我正在尝试以最小二乘法求解线性方程组。使用犰狳及其求解函数,我想计算抛物线拟合的三个系数。

与 CtC=

和 Ctb=

显然 solve() 无法解决它,甚至 Matlab 警告:

一般来说,犰狳或c ++中是否有任何解决方法或更强大/更复杂的方法?谢谢

0 投票
2 回答
2462 浏览

r - R中矩阵的符号逆

如何在 R 中找到矩阵的符号逆;例如:

我知道有一个名为“Ryacas”的包,它是“yacas”的接口,但我无法应用它来进行此类计算。'yacas' 是一个用于对数学表达式进行符号操作的程序。请参阅链接了解更多详情。

谢谢你

0 投票
1 回答
14470 浏览

matlab - 避免matlab中的矩阵逆警告

我正在使用具有不同数据精度的 6x6 矩阵。当我尝试在 MATLAB 中反转该矩阵时,我通常会得到InfNaN作为所有数据,并且 MATLAB 会引发警告:

矩阵对于工作精度来说是奇异的。

有没有办法避免它并获得正确的结果?

0 投票
1 回答
793 浏览

c++ - 使用 Cholmod 和 Cholmod-Extra 计算稀疏矩阵的逆

我最近安装Cholmod是为了在一些 C++ 代码中执行稀疏 Cholesky 分解。然后我想使用 decomp 来计算矩阵逆(我有以下问题:

其中d是一个向量^T表示转置,A并且B是稀疏的)

我想计算 的实际倒数B,然后可以线性求解涉及总和的解。调用它的代码如下:

我发现https://cholmod-extra.readthedocs.org/en/latest/functions.html这个函数是用来计算倒数的,但它给了我一些与倒数平方相关的东西,而不是倒数。我只是想知道是否有人有使用它的经验,或者在 C++ 中计算稀疏矩阵的逆矩阵的等价物。

干杯林德利

0 投票
2 回答
2482 浏览

java - Java中矩阵的Co Factor(用于确定矩阵的逆)

我正在尝试使用伴随方法确定矩阵的逆,即(首先计算矩阵的辅因子,然后转置该矩阵,最后,将其乘以(1/行列式)以获得行列式值的倒数)我有确定转置和行列式的方法,但是我正在努力解决辅因子矩阵 -

显示如何使用伴随方法手动确定逆的链接http://www.mathwords.com/i/inverse_of_a_matrix.htm 显示如何手动计算辅因子的链接http://www.mathwords.com/c/cofactor_matrix .htm >

我有一种方法可以很好地计算行列式和转置,但是我无法获得辅因子方法来给我所需的输出

示例输出为 => 24 5 -4
24 5 -4
24 5 -4 但第二行和第三行应该不同,有什么建议吗?谢谢!这是我正在使用的方法=> checkIfSquare 和 assignmentingSign 方法也可以正常工作

0 投票
2 回答
689 浏览

c++ - 如何制作一个 C++ 程序来查找任何大小矩阵的行列式和逆矩阵?

我知道如何在 1x1 2x2 和 3x3 中找到这些,但我想制作一个程序,让我输入矩阵的尺寸,然后输入矩阵中的数字。输入数字后,我希望它给出确定的(如果能够得到一个)和矩阵的逆矩阵,但我不知道如何绕过维度部分。什么是开始这个​​的好方法?我应该使用什么标题?我在Linux上运行,所以我没有像windows那样的一些标题,如果有帮助的话。:)

0 投票
1 回答
299 浏览

numpy - 为什么相反的结果不相等?

我在求解矩阵的逆时遇到了一个问题。首先,我使用 python numpy 库来制作它,通过下面的编码:

它返回 2;但如果我通过输入使用 octave 软件:

它返回 4。

我想知道为什么相反的结果不同?

0 投票
1 回答
106 浏览

algorithm - 矩阵除以矩阵:巴特利特相关算法

是否有包含反函数的库?

作为项目的一部分,我目前正在研究测向算法。我正在使用巴特利特相关性。在 Bartlett 相关中,我需要将分子(已经是 3 个矩阵乘法(包括 Hermitian 转置))除以分母,分母是矩阵及其 Hermitian 转置的乘积。

我意识到为了除法我使用逆。我只是想节省时间,并希望有一个包含逆的库。我只找到了用于查找逆的源代码的链接。这只是项目的一小部分,我希望能节省时间。我确实编写了其余的代码,但是还没有开始除法/逆运算。因此,我不会包含该代码。

0 投票
2 回答
6772 浏览

r - 矩阵求逆

我想反转一个正方形对称正定矩阵。我知道在 R 中有两个函数solve()chol2inv()但它们的结果是不同的。我需要知道为什么会这样?

谢谢你。