def test_restrict(self): dom1 = Domain(np.linspace(-2, 1.5, 13)) dom2 = Domain(np.linspace(-1.7, 0.93, 17)) dom3 = dom1.merge(dom2).restrict(dom2) f = chebfun(cos, dom1).restrict(dom2) g = chebfun(cos, dom3) self.assertEquals(f.domain, g.domain) for n, fun in enumerate(f): # we allow two degrees of freedom difference either way # TODO: once standard chop is fixed, may be able to reduce 4 to 0 self.assertLessEqual(fun.size - g.funs[n].size, 4)
def test_restrict(self): dom1 = Domain(np.linspace(-2,1.5,13)) dom2 = Domain(np.linspace(-1.7,0.93,17)) dom3 = dom1.merge(dom2).restrict(dom2) f = chebfun(cos, dom1).restrict(dom2) g = chebfun(cos, dom3) self.assertEquals(f.domain, g.domain) for n, fun in enumerate(f): # we allow two degrees of freedom difference either way # TODO: once standard chop is fixed, may be able to reduce 4 to 0 self.assertLessEqual(fun.size-g.funs[n].size, 4)
def test_merge(self): dom_a = Domain([-2, -1, 0, 1]) dom_b = Domain([-1.5, -.5, 0.5]) self.assertEqual(dom_b.merge(dom_a), Domain([-2, -1.5, -1, -.5, 0, .5, 1]))
def test_merge(self): dom_a = Domain([-2,-1,0,1]) dom_b = Domain([-1.5,-.5,0.5]) self.assertEqual(dom_b.merge(dom_a), Domain([-2,-1.5,-1,-.5,0,.5,1]))