def g_def(self, v, t, vbar):
v = np.reshape(v, self.vshape)
id_m = np.array([[1, 0], [0, 1]])
ret = []
for k in xrange(len(v)):
t_p = np.tensordot(v[k], v[k], axes=0)
p_vk = id_m - t_p
r_ori = 2 * np.pi * np.random.random()
ret_s = self.nu * np.dot(p_vk, vbar[k]) + self.C * np.dot(p_vk, [np.sin(r_ori), np.cos(r_ori)])
ret_s = np.reshape(ret_s, [2, 1])
ret.append(ret_s)
ret = np.array(ret)
return np.reshape(ret, 2 * len(ret))
评论列表
文章目录