标签: matrix-inverse

iPhone矩阵乘法和反演

我正在尝试将卡尔曼滤波器应用于从iPhone加速度计输出的数据.我需要尽可能快地执行矩阵乘法和反演,所以我很好奇使用GPU执行这两项任务的可能性.截至目前,我发现矩阵乘法只有一个参考:

float mBone01[16] = { ... }
float mBone02[16] = { ... }
float mResult[16];

glMatrixMode  ( GL_MODELVIEW );
glLoadIdentity( );
glLoadMatrix  ( mBone01 );
glMultMatrix  ( mBone02 );
glGetMatrix   ( GL_MODELVIEW, mResult );
Run Code Online (Sandbox Code Playgroud)

即使很难用户也不确定这种乘法是在GPU内部执行的.对于反演,您是否有任何关于如何做(如果可能)的提示?

谢谢你们!

iphone gpu matrix-inverse matrix-multiplication

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

加速numpy矩阵逆

我正在使用Numpy/Scipy来反转20k矩阵,这很慢.我试过了:

(1) M_inv = M.I

(2) Ident = np.Identity(len(M))
    M_inv = scipy.linalg.solve(M, Ident)

(3) M_inv = scipy.linglg.inv(M)
Run Code Online (Sandbox Code Playgroud)

但没有看到任何加速.

还有其他方法可以加快速度吗?

performance numpy matrix linear-algebra matrix-inverse

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

矩阵逆的最快方法

我想处理具有反函数和许多函数的图像.对于快速运行的代码,可以在3种反演方法中建议快速方法吗?

double cvInvert(const CvArr* src, CvArr* dst, int method=CV_LU)
Run Code Online (Sandbox Code Playgroud)
  • CV_LU高斯消除,选择最佳枢轴元素
  • CV_SVD奇异值分解(SVD)方法
  • CV_SVD_SYM用于对称正定义矩阵的SVD方法.

algorithm performance opencv linear-algebra matrix-inverse

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

R中的Choleski分解在pivot = TRUE时获得逆

我正在使用choleski分解来计算半正定矩阵的逆矩阵.然而,当我的矩阵变得非常大并且其中有零时,我得知我的矩阵不再(从计算机的角度来看数字)正定.因此,为了解决这个问题,我使用pivot = TRUE了choleski命令中的选项R.但是,(如下所示)两者返回相同的输出,但行和列或矩阵重新排列.我试图找出是否有一种方法(或转换)使它们相同.这是我的代码:

X = matrix(rnorm(9),nrow=3)
A = X%*%t(X)

inv1 = function(A){
    Q = chol(A)
    L = t(Q)
    inverse = solve(Q)%*%solve(L)
    return(inverse)
}


inv2 = function(A){
    Q = chol(A,pivot=TRUE)
    L = t(Q)
    inverse = solve(Q)%*%solve(L)
    return(inverse)
}
Run Code Online (Sandbox Code Playgroud)

运行时导致:

 > inv1(A)
              [,1]      [,2]      [,3]
    [1,]  9.956119 -8.187262 -4.320911
    [2,] -8.187262  7.469862  3.756087
    [3,] -4.320911  3.756087  3.813175
    > 
    > inv2(A)
              [,1]      [,2]      [,3]
    [1,]  7.469862  3.756087 -8.187262
    [2,]  3.756087  3.813175 -4.320911
    [3,] -8.187262 -4.320911  9.956119
Run Code Online (Sandbox Code Playgroud)

有没有办法让两个答案匹配?我想inv2()从中回答答案 …

r decomposition matrix-inverse

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

矩阵求逆或Cholesky?

我正在开发一种算法,它解决了Ax = b,其中Ab是已知的.

有两种方法可以做到这一点 x = A -1 b或使用Cholesky.我知道矩阵将始终是正方形和正定,尽管det(A)可能为零.在极少数情况下,我可以忽略它.但是从计算的角度和效率来看,创建一个反矩阵效率太低了吗?

math matrix matrix-inverse

3
推荐指数
2
解决办法
5910
查看次数

使用加速框架的Swift中的矩阵求逆

按照我在这里找到的好的指示:https://github.com/haginile/SwiftAccelerate我验证了矩阵反转是有效的.事实上它确实给出了给出的例子.但是我得到EXC_BAD_ACCESS任何其他矩阵(大于2x2)的错误,例如下面的2D矩阵(转换为1D数组)已成功在matlab和python中测试过,它不起作用

m = [0.55481645013013, -1.15522603580724, 0.962090414322894, -0.530226035807236, 0.168545207161447, -0.38627124296868, 0.93401699437494, -0.999999999999995, 0.684016994374945, -0.23176274578121, 0.123606797749979, -0.323606797749979, 0.432893622827287, -0.323606797749979, 0.123606797749979, 0.231762745781211, -0.684016994374948, 1.0, -0.934016994374947, 0.386271242968684, 0.168545207161448, -0.530226035807237, 0.962090414322895, -1.15522603580724, 0.554816450130132]
Run Code Online (Sandbox Code Playgroud)

它的倒置矩阵应该是

inv(AA)

ans =

  Columns 1 through 3

          -262796763616197          -656991909040516          4.90007819375216
          -162417332048282          -406043330120712          14.6405748712708
         0.718958226823704          7.87760147961979          30.4010295628018
           162417332048287           406043330120730          46.1614842543337
           262796763616208           656991909040536          55.9019809318537

  Columns 4 through 5

          -656991909040528           262796763616211
          -406043330120721           162417332048287
         -4.28281034550088        -0.718958226823794
           406043330120704          -162417332048283
           656991909040497          -262796763616196
Run Code Online (Sandbox Code Playgroud)

你能否在Swift中给我另一种矩阵求逆方法?或者解释一下如何解决这个问题?我真的不明白为什么它不起作用.

xcode linear-algebra matrix-inverse ios swift

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

R反转矩阵求解返回误差

我正在研究R编程.

我正在尝试反转矩阵.以下是我的尝试.

x <- matrix(1:16, 4, 4)
x
#      [,1] [,2] [,3] [,4]
# [1,]    1    5    9   13
# [2,]    2    6   10   14
# [3,]    3    7   11   15
# [4,]    4    8   12   16

solve(x)
# Error in solve.default(x) : 
#  Lapack routine dgesv: system is exactly singular: U[3,3] = 0

solve(x) %*% x
# Error in solve.default(x) : 
#  Lapack routine dgesv: system is exactly singular: U[3,3] = 0

x %*% solve(x)
# Error in solve.default(x) …
Run Code Online (Sandbox Code Playgroud)

r matrix matrix-inverse

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

矩阵求逆

我想反转一个方形对称正定矩阵.我知道R中有两个功能solve(),chol2inv()但结果不同.我需要知道为什么会这样?

谢谢.

r matrix matrix-inverse

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

比较 R 中的矩阵求逆 - Cholesky 方法有什么问题?

我比较了计算对称矩阵的逆的各种方法:

  • 解决(来自 LAPCK 包)
  • 解决(但使用更高的机器精度)
  • qr.solve(据说更快)
  • ginv(MASS 包,Moore-Penrose 算法的实现)
  • chol2inv(使用 Cholesky 分解)

通过特征值比较逆矩阵:

R
library(MASS)

## Create the matrix
m = replicate(10, runif(n=10)) 
m[lower.tri(m)] = t(m)[lower.tri(m)]

## Inverse the matrix
inv1 = solve(m)
inv2 = solve(m, tol = .Machine$double.eps)
inv3 = qr.solve(m)
inv4 = ginv(m)
inv5 = chol2inv(m)

## Eigenvalues of the inverse
em1=eigen(inv1)
em2=eigen(inv2)
em3=eigen(inv3)
em4=eigen(inv4)
em5=eigen(inv5)

## Plot the abs of the eigenvalues (may be complex)
myPch=c( 20, 15, 17, 25, 3 )
plot(abs(em1$values),pch=myPch[1],cex=1.5)
points(abs(em2$values),pch=myPch[2], cex=1.5)
points(abs(em3$values),pch=myPch[3], cex=1.5) …
Run Code Online (Sandbox Code Playgroud)

r matrix matrix-inverse

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

错误的矩阵求逆导致 R

我在 R 和 Mathematica 中计算了矩阵(I - Q)(I是单位矩阵)的逆矩阵,但与理论结果相比,R 给出了错误的结果。我附上了 R 和 Mathematica 中的代码,你可以看到结果是不同的。

R中的代码:

> Q <- matrix(c(25/26, 1/26, 0,    0,    0,    0,    0,    0, 
+               24/26, 1/26, 1/26, 0,    0,    0,    0,    0, 
+               25/26, 0,    0,    1/26, 0,    0,    0,    0, 
+               24/26, 1/26, 0,    0,    1/26, 0,    0,    0, 
+               24/26, 0,    0,    1/26, 0,    1/26, 0,    0, 
+               24/26, 1/26, 0,    0,    0,    0,    1/26, 0,
+               24/26, 1/26, 0,    0,    0,    0, …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica r matrix matrix-inverse

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