【发布时间】:2015-03-03 04:40:36
【问题描述】:
我正在尝试计算具有以下等式的矩阵。
S = (D^−1/2) * W * (D^−1/2)
其中 D 是这种形式的对角矩阵:
array([[ 0.59484625, 0. , 0. , 0. ],
[ 0. , 0.58563893, 0. , 0. ],
[ 0. , 0. , 0.58280472, 0. ],
[ 0. , 0. , 0. , 0.58216725]])
和W:
array([[ 0. , 0.92311635, 0.94700586, 0.95599748],
[ 0.92311635, 0. , 0.997553 , 0.99501248],
[ 0.94700586, 0.997553 , 0. , 0.9995501 ],
[ 0.95599748, 0.99501248, 0.9995501 , 0. ]])
我尝试使用numpy 函数linalg.matrix_power(D,-1/2) 和numpy.power(D,-1/2) 和matrix_power 函数引发TypeError: exponent must be an integer 和numpy.power 函数引发RuntimeWarning: divide by zero encountered in power 来计算D^-1/2。
如何计算对角矩阵的负幂 -1/2。请帮忙。
【问题讨论】:
-
请发布数组的
repr输出,以便其他人可以简单地复制粘贴它们。 -
@AshwiniChaudhary 已更新。