def test_scale(self): f, l = core.normalize_function(self.f, self.l) prod = core.dot_product_l2(f, l) self.assertAlmostEqual(prod, 1) p, q = core.normalize_function(self.f, self.l) prod = core.dot_product_l2(p.members, q.members) self.assertAlmostEqual(prod, 1)
def test_self_scale(self): f = core.normalize_function(self.f) prod = core.dot_product_l2(f, f) self.assertAlmostEqual(prod, 1) p = core.normalize_function(self.f) prod = core.dot_product_l2(p.members, p.members) self.assertAlmostEqual(prod, 1)
def test_nonzero(self): self.assertAlmostEqual(core.dot_product_l2(self.f1, self.f4), 2e-1)
def test_lagrange(self): self.assertAlmostEqual(core.dot_product_l2(self.f5, self.f7), 0) self.assertAlmostEqual(core.dot_product_l2(self.f5, self.f6), 1/6) self.assertAlmostEqual(core.dot_product_l2(self.f7, self.f6), 1/6) self.assertAlmostEqual(core.dot_product_l2(self.f5, self.f5), 2/3)
def test_domain(self): self.assertAlmostEqual(core.dot_product_l2(self.f1, self.f2), 10) self.assertAlmostEqual(core.dot_product_l2(self.f1, self.f3), 2)