예제 #1
0
    def test2(self):
        # rotate around the z axis by pi/2
        P = np.array([0., 0., 1.]) * np.pi/2
        v1 = np.array([1.,0,0])
        rm = _rot_mat_derivative(P, False)[0]
#        rm = rmdrvt(P, False)[0]
        v2 = rm.dot(v1)
        v2_true = np.array([0.,1,0])
        self.assert_array_almost_equal(v2, v2_true)
예제 #2
0
 def test_rot_mat_small_theta(self):
     p = np.array([1., 2, 3])
     p /= np.linalg.norm(p) * 1e7
     print "test_rot_mat1 small_theta"
     print p
     mx, r1, r2, r3 = _rot_mat_derivative(p, with_grad=True)
     print mx
     print r1
     print r2
     print r3
예제 #3
0
파일: test_aa_utils.py 프로젝트: jdf43/pele
 def test_rot_mat1(self):
     p = np.array([1., 2, 3]);
     p /= np.linalg.norm(p);
     print "test_rot_mat1"
     print p;
     mx, r1, r2, r3 = _rot_mat_derivative(p, with_grad=True)
     print mx
     print r1
     print r2
     print r3
예제 #4
0
 def test_rot_mat_small_theta(self):
     p = np.array([1., 2, 3])
     p /= np.linalg.norm(p) * 1e7
     print("test_rot_mat1 small_theta")
     print(p)
     mx, r1, r2, r3 = _rot_mat_derivative(p, with_grad=True)
     print(mx)
     print(r1)
     print(r2)
     print(r3)
예제 #5
0
 def test_rot_mat_small_theta(self):
     p = np.array([1., 2, 3])
     p /= np.linalg.norm(p) * 1e7
     print("test_rot_mat1 small_theta")
     print(p)
     mx, r1, r2, r3 = _rot_mat_derivative(p, with_grad=True)
     print(mx)
     print(r1)
     print(r2)
     print(r3)
예제 #6
0
 def check(self, P, with_grad):
     rm, drm1, drm2, drm3 = rmdrvt(P, with_grad)
     rmp, drm1p, drm2p, drm3p = _rot_mat_derivative(P, with_grad)
     print rm, rmp
     print "rm ", rm
     print "rmp", rmp
     print np.abs(rm - rmp)/np.abs(rm)
     self.assert_array_almost_equal(rm, rmp)
     self.assert_array_almost_equal(drm1, drm1p, places=4)
     self.assert_array_almost_equal(drm2, drm2p, places=4)
     self.assert_array_almost_equal(drm3, drm3p, places=4)