def test_besselsimp(): from sympy import besselj, besseli, cosh, cosine_transform, bessely 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)*x**Rational(1, 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 assert besselsimp(x**2*(a*(-2*besselj(5*I, x) + besselj(-2 + 5*I, x) + besselj(2 + 5*I, x)) + b*(-2*bessely(5*I, x) + bessely(-2 + 5*I, x) + bessely(2 + 5*I, x)))/4 + x*(a*(besselj(-1 + 5*I, x)/2 - besselj(1 + 5*I, x)/2) + b*(bessely(-1 + 5*I, x)/2 - bessely(1 + 5*I, x)/2)) + (x**2 + 25)*(a*besselj(5*I, x) + b*bessely(5*I, x))) == 0 assert besselsimp(81*x**2*(a*(besselj(Rational(-5, 3), 9*x) - 2*besselj(Rational(1, 3), 9*x) + besselj(Rational(7, 3), 9*x)) + b*(bessely(Rational(-5, 3), 9*x) - 2*bessely(Rational(1, 3), 9*x) + bessely(Rational(7, 3), 9*x)))/4 + x*(a*(9*besselj(Rational(-2, 3), 9*x)/2 - 9*besselj(Rational(4, 3), 9*x)/2) + b*(9*bessely(Rational(-2, 3), 9*x)/2 - 9*bessely(Rational(4, 3), 9*x)/2)) + (81*x**2 - Rational(1, 9))*(a*besselj(Rational(1, 3), 9*x) + b*bessely(Rational(1, 3), 9*x))) == 0 assert besselsimp(besselj(a-1,x) + besselj(a+1, x) - 2*a*besselj(a, x)/x) == 0 assert besselsimp(besselj(a-1,x) + besselj(a+1, x) + besselj(a, x)) == (2*a + x)*besselj(a, x)/x assert besselsimp(x**2* besselj(a,x) + x**3*besselj(a+1, x) + besselj(a+2, x)) == \ 2*a*x*besselj(a + 1, x) + x**3*besselj(a + 1, x) - x**2*besselj(a + 2, x) + 2*x*besselj(a + 1, x) + besselj(a + 2, x)
def test_besselsimp(): from sympy import besselj, besseli, exp_polar, cosh, cosine_transform 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)*x**(S(1)/4)*exp(I*pi/4)*exp(-I*pi*a/2) * besseli(-S(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(S(-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
def test_besselsimp(): from sympy import besselj, besseli, exp_polar, cosh, cosine_transform 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)*x**(S(1)/4)*exp(I*pi/4)*exp(-I*pi*a/2) * besseli(-S(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(S(-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
def test_besselsimp(): from sympy import besselj, besseli, exp_polar, cosh, cosine_transform, bessely 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)*x**(S(1)/4)*exp(I*pi/4)*exp(-I*pi*a/2) * besseli(-S(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(S(-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 assert besselsimp( x**2 * (a * (-2 * besselj(5 * I, x) + besselj(-2 + 5 * I, x) + besselj(2 + 5 * I, x)) + b * (-2 * bessely(5 * I, x) + bessely(-2 + 5 * I, x) + bessely(2 + 5 * I, x))) / 4 + x * (a * (besselj(-1 + 5 * I, x) / 2 - besselj(1 + 5 * I, x) / 2) + b * (bessely(-1 + 5 * I, x) / 2 - bessely(1 + 5 * I, x) / 2)) + (x**2 + 25) * (a * besselj(5 * I, x) + b * bessely(5 * I, x))) == 0 assert besselsimp( 81 * x**2 * (a * (besselj(-S(5) / 3, 9 * x) - 2 * besselj(S(1) / 3, 9 * x) + besselj(S(7) / 3, 9 * x)) + b * (bessely(-S(5) / 3, 9 * x) - 2 * bessely(S(1) / 3, 9 * x) + bessely(S(7) / 3, 9 * x))) / 4 + x * (a * (9 * besselj(-S(2) / 3, 9 * x) / 2 - 9 * besselj(S(4) / 3, 9 * x) / 2) + b * (9 * bessely(-S(2) / 3, 9 * x) / 2 - 9 * bessely(S(4) / 3, 9 * x) / 2) ) + (81 * x**2 - S(1) / 9) * (a * besselj(S(1) / 3, 9 * x) + b * bessely(S(1) / 3, 9 * x))) == 0 assert besselsimp( besselj(a - 1, x) + besselj(a + 1, x) - 2 * a * besselj(a, x) / x) == 0 assert besselsimp(besselj(a - 1, x) + besselj(a + 1, x) + besselj(a, x)) == (2 * a + x) * besselj(a, x) / x assert besselsimp(x**2* besselj(a,x) + x**3*besselj(a+1, x) + besselj(a+2, x)) == \ 2*a*x*besselj(a + 1, x) + x**3*besselj(a + 1, x) - x**2*besselj(a + 2, x) + 2*x*besselj(a + 1, x) + besselj(a + 2, x)
def callback(q, f = '', a = 0, b = 0, L = [], kind = 1): ans = '' if kind == 1: ans = str(sp.fft(L)) # Discrete Fourier Transform elif kind == 2: ans = str(sp.ifft(L)) # Inverse Discrete Fourier Transform elif kind == 3: ans = str(sp.ntt(L, prime=3 * 2 ** 8 + 1)) # Performs the Number Theoretic Transform (NTT) elif kind == 4: ans = str(sp.intt(L, prime=3 * 2 ** 8 + 1)) # Performs the Inverse Number Theoretic Transform (NTT) elif kind == 5: ans = str(sp.fwht( L)) # Performs the Walsh Hadamard Transform (WHT), and uses Hadamard ordering for the sequence. elif kind == 6: ans = str(sp.ifwht( L)) # Performs the Inverse Walsh Hadamard Transform (WHT), and uses Hadamard ordering for the sequence. elif kind == 7: ans = functions.math_display(str(sp.mellin_transform(f, x, s))) # Mellin Transform elif kind == 8: ans = functions.math_display( str(sp.inverse_mellin_transform(f, s, x, (a, b)))) # Inverse Mellin Transform elif kind == 9: from sympy import sin, cos, tan, exp, gamma, sinh, cosh, tanh ans = functions.math_display(str(functions.Laplace_Transform(f))) # Laplace Transform elif kind == 10: ans = functions.math_display(str(sp.inverse_laplace_transform(f, s, t))) # Inverse Laplace Transform elif kind == 11: ans = functions.math_display(str(functions.Fourier_Transform(f, a, b))) # Fourier Transform elif kind == 12: ans = functions.math_display(str(sp.inverse_fourier_transform(f, w, x))) # Invese Fourier Transform elif kind == 13: ans = functions.math_display(str(sp.sine_transform(f, x, w))) # Fourier Sine Transform elif kind == 14: ans = functions.math_display(str(sp.inverse_sine_transform(f, w, x))) # Inverse Fourier Sine Transform elif kind == 15: ans = functions.math_display(str(sp.cosine_transform(f, x, w))) # Fourier Cosine Transform elif kind == 16: ans = functions.math_display( str(sp.inverse_cosine_transform(f, w, x))) # Inverse Fourier Cosine Transform elif kind == 17: ans = functions.math_display(str(sp.hankel_transform(f, r, w, 0))) # Hankel Transform elif kind == 18: ans = functions.math_display(str(sp.inverse_hankel_transform(f, w, r, 0))) # Inverse Hankel Transform q.put(ans)