快速高效的上对角矩阵逆
|
我在一个项目中多次计算多项式高斯密度,并按等级1更新协方差矩阵。我没有使用从头计算协方差的方法,而是使用
cholupdate
函数向协方差添加新样本,并为协方差删除新样本。这样,更新被告知为$ O(n ^ 2)$,而不是协方差矩阵的$ O(n ^ 3)$ Cholesky分解。
persistent R
if (initialize) % or isempty(R)
% compute covariance V
R = chol(V);
else
R = cholupdate(R,xAdded);
detVar = prod(diag(R))^2;
Rt = R\';
coeff = 1/sqrt((2*pi)^dimension*detVar);
y = Rt\\x;
logp = log(coeff) - 1/2 * norm(y)^2;
实际上,代码非常复杂,但是我在这里对其进行了简化。我想知道是否有更快的方法来计算MATLAB中上三角矩阵的逆(代码中的“ 2”部分)。您有什么想法可以在MATLAB中更有效地做到这一点。
注意,以这种方式计算行列式也更快。因此,新方法对于行列式的计算也不错。
没有找到相关结果
已邀请:
1 个回复
财沟项胶
(计算x1,将其代入第二个方程,然后计算x2,代入第三个……)