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)
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)
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)