【发布时间】:2018-01-19 11:53:20
【问题描述】:
我从 gromacs 生成了一个 ascii 文件(大小为 (1407675×3) 的协方差矩阵 (2055×2055) 的 dat 文件,并想使用 schlitter 方程计算熵,S=Kb/2*ln det|1 + (Kb*e*e*matrix/hbar*hbar|
但是我得到了奇怪的值,任何人已经有代码请分享或有人可以修改(或检查)下面的代码非常感谢。
import sys, os
import numpy as np # Import numpy for dot products etc
import numpy.testing as npt # Import numpy.testing for comparing numbers
import pmx # Import pmx classes
import math # Import maths classes (floor)
from numpy.linalg import det
sigma = numpy.loadtxt('covar_fit.dat')
hbar = 1.054571628e-34 #Joules seconds
T = 310.0 # Kelvin
Kb = 1.3806504e-23 #Joules/Kelvin
Euler = 2.71828
matrix = np.resize(sigma,(2055,2055))
k = np.identity(2055)
mat = ((Kb*T*Euler*Euler)*matrix)/(hbar*hbar)
m = np.array(mat)+ np.array(k)
sign,logdet = np.linalg.slogdet(m)
(sign, logdet)
det = logdet
entropy = Kb*0.5*det
print (entropy)
【问题讨论】:
标签: python-2.7 matrix entropy