예제 #1
0
 def update_rotate_matrix(self, dx, u0=1):
     if isinstance(u0, int) and u0 == 1:
         u0 = (1,1)
     dr = self.unpack_uniq_var(dx)
     ua = numpy.dot(u0[0], expmat(dr[0]))
     ub = numpy.dot(u0[1], expmat(dr[1]))
     return (ua, ub)
예제 #2
0
 def update_rotate_matrix(self, dx, u0):
     if isinstance(u0, int) and u0 == 1:
         u0 = (1,1)
     dr = self.unpack_uniq_var(dx)
     ua = numpy.dot(u0[0], mc1step.expmat(dr[0]))
     ub = numpy.dot(u0[1], mc1step.expmat(dr[1]))
     return (ua, ub)
예제 #3
0
 def update_rotate_matrix(self, dx, u0=1):
     dr = self.unpack_uniq_var(dx)
     dr = _symmetrize(dr, self.orbsym, self.mol.groupname)
     return numpy.dot(u0, mc1step.expmat(dr))