正定矩阵R代码

时间:2014-08-25 20:59:32

标签: r matrix

我开始用两个向量编码一个正定矩阵。下面给出了两个向量

ehat = matrix(c(-0.01, -0.10, -0.02, -0.12, -0.004, -0.02, -0.007,  0.004), 8, 1)

Z = matrix(c(-0.07, -0.07, -0.04,  0.10,  0.08,  0.04, -0.01, -0.08), 8, 1)

根据代数,下面的代码必须给出正定矩阵。但是R中的代码不起作用,因为它应该工作。显然有一个错误,但我找不到。

请提出任何建议

omegahat <- matrix(0,ncol(Z),ncol(Z))

N = length(Z)

q = round(N^1/3)

for (j in 1:q) {
    Gq=matrix(0,ncol(omegahat),ncol(omegahat))

    for (k in (j+1):N)
    {
         Gq <- Gq+(ehat[k]*ehat[(k-j)])*(t(Z[k,])%*%(Z[(k-j),]))

    }

    Gq=1/N*Gq

    omegahat=omegahat+(1-j/q)*(Gq+t(Gq))

}

omegahat

0 个答案:

没有答案