Example #1
0
    def test_perpendicular_vector(self):
        """tests perpendicular_vector"""
        with self.assertRaises(ValueError):
            perpendicular_vector([0., 0., 0.])

        a1 = perpendicular_vector([1., 0., 0.])
        self.assertTrue(is_array_close(a1, [0., 1., 0.]), msg=str(a1))

        a2 = perpendicular_vector([1., 1., 0.])
        self.assertTrue(is_array_close(a2, [0., 0., 1.]), msg=str(a2))

        a3 = perpendicular_vector([1., 1., 1.])
        self.assertTrue(is_array_close(a3, [1., 1., -2.]), msg=str(a3))

        a1 = perpendicular_vector2d([1., 0., 0.])
        a1 = perpendicular_vector2d((1., 0., 0.))

        #-----------------------------
        expected = np.array([
            [1., 0., 0.],
            [0., 1., 0.],
            [0., 0., 1.],
            [1., 1., 0.],
            [1., 1., 1.],
        ])
        out = perpendicular_vector2d(expected)
        expected2 = np.array([  # input
            [0., 0., 1.],  # [1., 0., 0.],
            [0., 0., 1.],  # [0., 1., 0.],
            [0., 1., 0.],  # [0., 0., 1.],
            [0., 0., 1.],  # [1., 1., 0.],
            [1., 1., -2.],  # [1., 1., 1.],
        ])
        assert np.allclose(out, expected2)
Example #2
0
 def test_triple_n33_n33(self):
     """tests triple_n33_n33"""
     A = np.array([
         [
             [1., 2., 3.],
             [4., 5., 6.],
             [7., 8., 9.],
         ],
         [
             [1., 2., 3.],
             [4., 5., 6.],
             [7., 8., 9.],
         ],
     ])
     T = np.array([
         [
             [0., 1., 0.],
             [0., 0., 1.],
             [1., 0., 9.],
         ],
         [
             [0., 1., 0.],
             [0., 0., 1.],
             [1., 0., 9.],
         ],
     ])
     TtAT_actual = triple_n33_n33(A, T, tranpose=False)
     TtAT_expected = [
         [
             [5., 6., 58.],
             [8., 9., 88.],
             [74., 84., 820.],
         ],
         [
             [5., 6., 58.],
             [8., 9., 88.],
             [74., 84., 820.],
         ],
     ]
     assert is_array_close(TtAT_expected, TtAT_actual)
     TATt_actual = triple_n33_n33(A, T, tranpose=True)
     TATt_expected = [
         [
             [9., 7., 89.],
             [3., 1., 29.],
             [87., 67., 860.],
         ],
         [
             [9., 7., 89.],
             [3., 1., 29.],
             [87., 67., 860.],
         ],
     ]
     assert is_array_close(TATt_expected, TATt_actual)
Example #3
0
    def test_trapose3d(self):
        """tests transpose3d"""
        A = np.array([
            [
                [1., 2., 3.],
                [4., 5., 6.],
                [7., 8., 9.],
            ],
            [
                [1., 2., 3.],
                [4., 5., 6.],
                [7., 8., 9.],
            ],
            [
                [1., 2., 3.],
                [4., 5., 6.],
                [7., 8., 9.],
            ],
        ])

        B_expected = np.array([
            [
                [1., 4., 7.],
                [2., 5., 8.],
                [3., 6., 9.],
            ],
            [
                [1., 4., 7.],
                [2., 5., 8.],
                [3., 6., 9.],
            ],
            [
                [1., 4., 7.],
                [2., 5., 8.],
                [3., 6., 9.],
            ],
        ])
        B_actual = transpose3d(A)
        #print('transpose B_actual:')
        #print(B_actual)
        assert is_array_close(B_expected, B_actual)