def test_cosine_transform(): f = Function('f') # Test unevaluated form assert cosine_transform(f(t), t, w) == CosineTransform(f(t), t, w) assert inverse_cosine_transform(f(w), w, t) == InverseCosineTransform(f(w), w, t) assert cosine_transform(1 / sqrt(t), t, w) == 1 / sqrt(w) assert inverse_cosine_transform(1 / sqrt(w), w, t) == 1 / sqrt(t) assert cosine_transform(1 / (a**2 + t**2), t, w) == sqrt(2) * sqrt(pi) * exp(-a * w) / (2 * a) assert cosine_transform( t**(-a), t, w) == 2**(-a + Rational(1, 2)) * w**(a - 1) * gamma( (-a + 1) / 2) / gamma(a / 2) assert inverse_cosine_transform( 2**(-a + Rational(1, 2)) * w**(a - 1) * gamma(-a / 2 + Rational(1, 2)) / gamma(a / 2), w, t) == t**(-a) assert cosine_transform(exp(-a * t), t, w) == sqrt(2) * a / (sqrt(pi) * (a**2 + w**2)) assert inverse_cosine_transform( sqrt(2) * a / (sqrt(pi) * (a**2 + w**2)), w, t) == exp(-a * t) assert cosine_transform(exp(-a * sqrt(t)) * cos(a * sqrt(t)), t, w) == a * exp(-a**2 / (2 * w)) / (2 * w**Rational(3, 2)) assert cosine_transform( 1 / (a + t), t, w) == sqrt(2) * ((-2 * Si(a * w) + pi) * sin(a * w) / 2 - cos(a * w) * Ci(a * w)) / sqrt(pi) assert inverse_cosine_transform( sqrt(2) * meijerg(((Rational(1, 2), 0), ()), ((Rational(1, 2), 0, 0), (Rational(1, 2), )), a**2 * w**2 / 4) / (2 * pi), w, t) == 1 / (a + t) assert cosine_transform(1 / sqrt(a**2 + t**2), t, w) == sqrt(2) * meijerg( ((Rational(1, 2), ), ()), ((0, 0), (Rational(1, 2), )), a**2 * w**2 / 4) / (2 * sqrt(pi)) assert inverse_cosine_transform( sqrt(2) * meijerg( ((Rational(1, 2), ), ()), ((0, 0), (Rational(1, 2), )), a**2 * w**2 / 4) / (2 * sqrt(pi)), w, t) == 1 / (a * sqrt(1 + t**2 / a**2))
def test_besselsimp(): assert besselsimp(exp(-I*pi*y/2)*besseli(y, z*exp_polar(I*pi/2))) == \ besselj(y, z) assert besselsimp(exp(-I*pi*a/2)*besseli(a, 2*sqrt(x)*exp_polar(I*pi/2))) == \ besselj(a, 2*sqrt(x)) assert besselsimp(sqrt(2)*sqrt(pi)*root(x, 4)*exp(I*pi/4)*exp(-I*pi*a/2) * besseli(-Rational(1, 2), sqrt(x)*exp_polar(I*pi/2)) * besseli(a, sqrt(x)*exp_polar(I*pi/2))/2) == \ besselj(a, sqrt(x)) * cos(sqrt(x)) assert besselsimp(besseli(Rational(-1, 2), z)) == \ sqrt(2)*cosh(z)/(sqrt(pi)*sqrt(z)) assert besselsimp(besseli(a, z*exp_polar(-I*pi/2))) == \ exp(-I*pi*a/2)*besselj(a, z) assert cosine_transform(1/t*sin(a/t), t, y) == \ sqrt(2)*sqrt(pi)*besselj(0, 2*sqrt(a)*sqrt(y))/2