【发布时间】:2016-03-28 08:46:15
【问题描述】:
numpy.matrix 的 ** 运算符不支持非整数幂:
>>> m
matrix([[ 1. , 0. ],
[ 0.5, 0.5]])
>>> m ** 2.5
TypeError: exponent must be an integer
我想要的是
octave:14> [1 0; .5 .5] ^ 2.5
ans =
1.00000 0.00000
0.82322 0.17678
我可以使用numpy 或scipy 执行此操作吗?
注意:
这不是一个元素操作。如this post 所述,它是一个矩阵(在线性代数中)提升到一定程度。
【问题讨论】:
-
它应该与数组一起使用。就个人而言,我总是使用数组。有时会导致代码有点笨拙,但我不必区分矩阵和数组对象。
-
该问题与stackoverflow.com/questions/30406681/… 重复,但答案重叠不多。