标签: matrix-inverse

Lapack调用反转矩阵

根据我的理解,需要分解/分解(LU,QR,Cholesky等),然后基于分解进行矩阵逆计算.有没有其他方法可以绕过它(我想弄清楚我是否可以坚持在试用版CULAtools中免费提供的6个功能)?提前感谢您的评论.

matrix-inverse lapack

2
推荐指数
1
解决办法
4047
查看次数

当试图反转矩阵时,Matlab返回"FAIL"

我试图用一些符号变量反转矩阵,但Matlab只返回'FAIL'.我正在使用inv(K).这是Matlab在经过一些计算后输出的K:

K = 

[  11/80,   7/80, -11/80,  -7/80, 0, 0]
[   7/80,  11/80,  -7/80, -11/80, 0, 0]
[ -11/80,  -7/80,  11/80,   7/80, 0, 0]
[  -7/80, -11/80,   7/80,  11/80, 0, 0]
[      0,      0,      0,      0, 0, 0]
[      0,      0,      0,      0, 0, 0]

invK = inv(K);

FAIL
Run Code Online (Sandbox Code Playgroud)

请注意,我的脚本中的矩阵看起来像这样(例如):

K = [1,2,3;
     3,2,1;
     1,1,1];
Run Code Online (Sandbox Code Playgroud)

matlab matrix matrix-inverse

1
推荐指数
1
解决办法
2446
查看次数

Matlab逆操作和警告

不太清楚这意味着什么."警告:Matrix的工作精度非常高."

我有一个称为矩阵的3x4矩阵bestM矩阵Q是bestM的3x3,矩阵m是bestM的最后一列

我想做C = - Q*矩阵m的逆矩阵,我得到那个警告和C = [Inf Inf Inf],这是不对的,因为我正在计算世界上的摄像机中心

bestM = [-0.0031 -0.0002 0.0005 0.9788;
         -0.0003 -0.0006 0.0028 0.2047;
         -0.0000 -0.0000 0.0000 0.0013];   

Q = bestM(1:3,1:3);
m = bestM(:,4);

X = inv(Q);
C = -X*m;
disp(C);
Run Code Online (Sandbox Code Playgroud)

matlab warnings linear-algebra matrix-inverse

1
推荐指数
1
解决办法
4784
查看次数

R中矩阵的符号逆

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

Matrix.test <- function(x) matrix(c(x, x^2, x^3, x^4, x^5, x^6, x^7, x^8, x^9, 2*x, 3*x, 4*x, 2*x^2, 3*x^3, 4*x^4, 5*x^5), 4, 4)
Run Code Online (Sandbox Code Playgroud)

我知道有一个名为'Ryacas'的包,它是'yacas'的接口,但我不能用它来做这样的计算.'yacas'是一个用于符号操纵数学表达式的程序.请参阅链接了解更多详情.

谢谢

r matrix-inverse symbolic-computation

1
推荐指数
2
解决办法
2131
查看次数

矩阵反演GPU MATLAB

我正在寻找一种方法来找到矩阵的伪逆,这样就可以在GPU上完成.SVD/QR很难并行化,并且不支持MATLAB的GPU,但似乎LU虽然可以并行运行,但MATLAB的GPU也不支持.我比较了性能,它似乎比在单核CPU上运行要慢.

我正在寻找可以使用的伪逆(或甚至是方形矩阵的常规逆).根据Matlab,使用mldivide()执行高斯消除,适用于GPU.

我尝试使用A\I但遗憾的是它无法在GPU上高效运行.

有没有人可以指导我使用并行LU或高斯消除的优化代码?

我听说过MAGMA软件包,但是安装和编译似乎需要做很多工作,我真的需要这个简单的东西.

也欢迎使用C++代码.

谢谢,吉尔

c++ matlab gpu linear-algebra matrix-inverse

1
推荐指数
1
解决办法
3391
查看次数

Delphi中复数(NxN)矩阵的逆

通常,我想计算复方(NxN)矩阵的逆.

F.ex我有一个5x5矩阵:

Ybus = [ 
   6.2500 -18.6950i, -5.0000 +15.0000i, -1.2500 + 3.7500i,   0,                 0 ; 
  -5.0000 +15.0000i, 10.8333 -32.4150i, -1.6667 + 5.0000i,  -1.6667 + 5.0000i, -2.5000 + 7.5000i; 
  -1.2500 + 3.7500i, -1.6667 + 5.0000i, 12.9167 -38.6950i, -10.0000 +30.0000i, 0; 
   0,                -1.6667 + 5.0000i, -10.0000+30.0000i,  12.9167 -38.6950i, -1.2500 + 3.7500i; 
   0,                -2.5000 + 7.5000i, 0,                  -1.2500 + 3.7500i,  3.7500 -11.2100i;
]
Run Code Online (Sandbox Code Playgroud)

如何使用Delphi计算该矩阵的逆(Zbus =逆(Ybus))?

delphi matrix-inverse

1
推荐指数
1
解决办法
1126
查看次数

使用高斯消元计算矩阵的逆时非常高的不准确度

我正在研究一个c ++代码库,它使用矩阵库来计算各种事物.其中之一是计算矩阵的逆.它使用高斯elimation来实现这一点.但结果非常不准确.因此,将逆矩阵与原始矩阵相乘甚至不会接近单位矩阵.

下面是用于计算逆的代码,矩阵是在数值类型和行和列上模板化的:

/// \brief Take the inverse of the matrix.
/// \return A new matrix which is the inverse of the current one.
matrix<T, M, M> inverse() const
{
    static_assert(M == N, "Inverse matrix is only defined for square matrices.");

    // augmented the current matrix with the identiy matrix.
    auto augmented = this->augment(matrix<T, M, M>::get_identity());

    for (std::size_t i = 0; i < M; i++)
    {
        // divide the current row by the diagonal element.
        auto divisor = augmented[i][i];
        for …
Run Code Online (Sandbox Code Playgroud)

c++ math floating-point matrix matrix-inverse

1
推荐指数
1
解决办法
414
查看次数

使用 numpy 的矩阵的条件数

[python 2.7 和 numpy v1.11.1] 我正在查看矩阵条件数,并试图在不使用函数的情况下计算矩阵的条件数np.linalg.cond()

根据 numpy 的文档,矩阵条件数的定义是“x 的范数乘以 x 的倒数的范数”。

||X|| * ||X^-1||

对于矩阵

a = np.matrix([[1, 1, 1],
               [2, 2, 1],
               [3, 3, 0]])

print np.linalg.cond(a)
Run Code Online (Sandbox Code Playgroud)

1.84814479698e+16

print np.linalg.norm(a) * np.linalg.norm(np.linalg.inv(a))
Run Code Online (Sandbox Code Playgroud)

2.027453660713377e+17

我的计算错误在哪里?

谢谢!

python numpy matrix linear-algebra matrix-inverse

1
推荐指数
2
解决办法
7086
查看次数

R中计算大矩阵逆的最快方法

我需要计算一个帽子矩阵(如线性回归)。标准 R 代码将是:

H <- tcrossprod(tcrossprod(X, solve(crossprod(X))), X)

X是相对大的矩阵(即1E5 * 100),并且该线具有运行数千次。我知道最大的限制部分是逆计算,但叉积也可能很耗时。有没有更快的替代方法来执行这些矩阵运算?我尝试了 Rcpp 并查看了几篇文章,但我测试的任何替代方法都较慢。也许我没有正确编写 C++ 代码,因为我不是高级 C++ 程序员。

谢谢!

performance r matrix-inverse cross-product rcpp

1
推荐指数
1
解决办法
463
查看次数

如何在 R 中确保矩阵可逆

该链接具有我的矩阵的 dput 输出结构。
\n https://pastebin.com/TsUzuF4L

\n
\n

solve() 中的错误:系统在计算上是奇异的:R 中的倒数条件数 = 4.35295e-21

\n
\n

我想知道R中是否有任何通用方法可以确定矩阵可逆?有什么功能吗?

\n

我添加了属性tol=FALSEor tol = 1e-22(与 error 中的数字相比),但我仍然收到相同的错误。

\n

附:我将其放在 stackexchange 上的原因是,我的矩阵行列式不为零,但 R 给出了上面的错误,并相信我的矩阵不可逆!怎么会?!

\n

在此输入图像描述

\n

我的矩阵是 45 \xc3\x97 45。dput()输出超出了 Stack Overflow 上 40000 个字符的限制,但为了了解其数字是什么,我在上面显示了其中的一部分。

\n

r matrix matrix-inverse singular

1
推荐指数
1
解决办法
766
查看次数