【发布时间】:2017-11-10 11:58:50
【问题描述】:
在计算 Vanermonde 矩阵的对数行列式时,numpy 的 slogdet 与精确结果之间似乎存在重大差异。
我与确切的日志行列式进行比较,请参阅例如here 以获得证明。
看到这个的最少代码是:
A = np.power.outer(np.linspace(0,1,50),range(50))
print np.linalg.slogdet(A)[1]
s = 0
for v1 in np.linspace(0,1,50):
for v2 in np.linspace(0,1,50):
if v1>v2:
s+= np.log(v1-v2)
print s
哪个产量:
-1191.88408998
-1706.99560647
我想知道是否有更准确的对数行列式实现,我可以在这种情况下使用,也可以在非 Vandermonde 矩阵情况下使用。
【问题讨论】:
-
对于 N=10,值匹配,
np.log(np.det(A))也是如此。可能到 N=30 时,det(A)太小了,以至于即使slogdet也无法应付。
标签: numpy determinants