R R中的稀疏矩阵与常规逆的逆

时间:2016-03-11 02:59:32

标签: r matrix matrix-inverse

我正在构建一个矩阵C,它的类是" dgCMatrix"因为我在R中的矩阵库中使用了bdiag函数。然而,反转稀疏矩阵(一个)的结果与反转同一个矩阵而不是稀疏类(两个)的结果不同。一个是错误的答案。有谁知道为什么

## rm(list=ls())
library(Matrix)

cy11=function(a,b,H){
  d=outer(a,b,`-`);I=outer(a,b,`==`)
  H[1]^2*exp(-0.25*d^2/H[2]^2) +  I*H[3]^2
}
x0=c(1,1,0.05)
n1=25;n2=100
data=matrix( rnorm(n1*n2,mean=0,sd=5), n1, n2)
slast=seq(0,10,length.out=26)
z=list();Z=list()

for(i in 1:n2){
    a=data[,i]
    z[[i]]=cy11(a,a,x0)
    }
for(i in 1:n2)
{
  a=data[,i]
  Z[[i]]=cy11(a,slast,x0)
}
A=bdiag(z)
D=cy11(slast,slast,x0)
B=do.call(rbind,Z)

C=rbind(cbind(A,B),cbind(t(B),D))

one=solve(C)
two=solve(as.matrix(C))

0 个答案:

没有答案