python power operator奇怪的行为

时间:2014-05-24 14:03:28

标签: python exponentiation

我正在尝试实现多变量高斯pdf。我对**运算符有一个奇怪的问题。代码是

def multi_var(x,mu,cov):
   #Multivariate gaussian
   print (1/2*np.pi)**(len(x)/2)
   return(((1/2*np.pi)**(len(x)/2))/np.sqrt(np.abs(np.linalg.det(cov)))*np.exp(np.dot(np.matrix.transpose(x-mu),np.dot(np.linalg.inv(cov),(x-mu)))))

在命令中

>>> print multi_var(np.matrix('0;0;4'),np.matrix('0;0;6'),np.matrix([[.3,.67,8],[2,3,8],    [2,.05,2]]))
2
[[ 0.]]

当我从命令行执行相同的代码时

>>> x=np.matrix('0;0;4')
>>> print (1/2*np.pi)**(len(x)/2)

我得到了

 1.96870124322

0 个答案:

没有答案