def test_cosine_transform(): from sympy import sinh, cosh, Si, Ci t = symbols("t") w = symbols("w") a = symbols("a") 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)*(-sinh(a*w) + cosh(a*w))/(2*a) assert cosine_transform(t**(-a), t, w) == 2**(-a + S(1)/2)*w**(a - 1)*gamma((-a + 1)/2)/gamma(a/2) assert inverse_cosine_transform(2**(-a + S(1)/2)*w**(a - 1)*gamma(-a/2 + S(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) == -sinh(a*t) + cosh(a*t) assert cosine_transform(exp(-a*sqrt(t))*cos(a*sqrt(t)), t, w) == a*(-sinh(a**2/(2*w)) + cosh(a**2/(2*w)))/(2*w**(S(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))/(2*sqrt(pi)) assert inverse_cosine_transform(sqrt(2)*meijerg(((S(1)/2, 0), ()), ((S(1)/2, 0, 0), (S(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(((S(1)/2,), ()), ((0, 0), (S(1)/2,)), a**2*w**2/4)/(2*sqrt(pi)) assert inverse_cosine_transform(sqrt(2)*meijerg(((S(1)/2,), ()), ((0, 0), (S(1)/2,)), a**2*w**2/4)/(2*sqrt(pi)), w, t) == 1/(t*sqrt(a**2/t**2 + 1))
def test_cosine_transform(): from sympy import Si, Ci t = symbols("t") w = symbols("w") a = symbols("a") 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 + S.Half) * w ** ( a - 1 ) * gamma((-a + 1) / 2) / gamma(a / 2) assert inverse_cosine_transform( 2 ** (-a + S(1) / 2) * w ** (a - 1) * gamma(-a / 2 + S.Half) / 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(((S.Half, 0), ()), ((S.Half, 0, 0), (S.Half,)), 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( ((S.Half,), ()), ((0, 0), (S.Half,)), a ** 2 * w ** 2 / 4 ) / (2 * sqrt(pi)) assert inverse_cosine_transform( sqrt(2) * meijerg(((S.Half,), ()), ((0, 0), (S.Half,)), a ** 2 * w ** 2 / 4) / (2 * sqrt(pi)), w, t, ) == 1 / (t * sqrt(a ** 2 / t ** 2 + 1))
def test_cosine_transform(): from sympy import sinh, cosh, Si, Ci t = symbols("t") w = symbols("w") a = symbols("a") 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) * (-sinh(a * w) + cosh(a * w)) / (2 * a) assert cosine_transform(t**(-a), t, w) == 2**(-a + S(1) / 2) * w**(a - 1) * gamma( (-a + 1) / 2) / gamma(a / 2) assert inverse_cosine_transform( 2**(-a + S(1) / 2) * w**(a - 1) * gamma(-a / 2 + S(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) == -sinh(a * t) + cosh(a * t) assert cosine_transform( exp(-a * sqrt(t)) * cos(a * sqrt(t)), t, w) == a * (-sinh(a**2 / (2 * w)) + cosh(a**2 / (2 * w))) / (2 * w**(S(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)) / (2 * sqrt(pi)) assert inverse_cosine_transform( sqrt(2) * meijerg( ((S(1) / 2, 0), ()), ((S(1) / 2, 0, 0), (S(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( ((S(1) / 2, ), ()), ((0, 0), (S(1) / 2, )), a**2 * w**2 / 4) / (2 * sqrt(pi)) assert inverse_cosine_transform( sqrt(2) * meijerg( ((S(1) / 2, ), ()), ((0, 0), (S(1) / 2, )), a**2 * w**2 / 4) / (2 * sqrt(pi)), w, t) == 1 / (t * sqrt(a**2 / t**2 + 1))