def test_imageset_intersection_real(): assert (imageset(Lambda(n, n + (n - 1) * (n + 1) * I), S.Integers).intersection(S.Reals) == FiniteSet(-1, 1)) s = ImageSet( Lambda(n, -I * (I * (2 * pi * n - pi / 4) + log(abs(sqrt(-I))))), S.Integers) assert s.intersection(S.Reals) == imageset(Lambda(n, 2 * n * pi - pi / 4), S.Integers)
def test_ImageSet(): squares = ImageSet(Lambda(x, x**2), S.Naturals) assert 4 in squares assert 5 not in squares assert FiniteSet(*range(10)).intersection(squares) == FiniteSet(1, 4, 9) assert 16 not in squares.intersection(Interval(0, 10)) si = iter(squares) a, b, c, d = next(si), next(si), next(si), next(si) assert (a, b, c, d) == (1, 4, 9, 16) harmonics = ImageSet(Lambda(x, 1 / x), S.Naturals) assert Rational(1, 5) in harmonics assert Rational(.25) in harmonics assert 0.25 not in harmonics assert Rational(.3) not in harmonics assert harmonics.is_iterable