def testGramSchmidt(self): a = [3, 1] b = [2, 2] v = [a, b] s = [[0.9486832980505138, 0.31622776601683794], \ [-0.3162277660168383, 0.9486832980505138]] self.assertEqual(gram.gramSchmidt(v), s) self.assertEqual(0, round(gram.dotProduct(s[0], s[1]), 4)) a = [1, 1, 1, 1] b = [-1, 4, 4, 1] c = [4, -2, 2, 0] v = [a, b, c] s = [[0.5, 0.5, 0.5, 0.5], \ [-0.7071067811865476, 0.47140452079103173, \ 0.47140452079103173, -0.23570226039551587], \ [0.2886751345948129, -0.4811252243246882, \ 0.6735753140545634, -0.4811252243246881]] self.assertEqual(gram.gramSchmidt(v), s) self.assertEqual(0, round(gram.dotProduct(s[0], s[1]), 4)) self.assertEqual(0, round(gram.dotProduct(s[1], s[2]), 4)) self.assertEqual(0, round(gram.dotProduct(s[0], s[2]), 4))
def testDotProduct(self): self.assertEqual(11, gram.dotProduct([1,2], [3,4])) self.assertEqual(-26, gram.dotProduct([-4,2], [3,-7])) self.assertEqual(101, gram.dotProduct([1,2,3,4,5,6], [6,5,4,6,5,4]))