How simplify bessel function ?

asked 2024-10-16 10:53:18 +0200

CModera gravatar image

updated 2024-10-16 13:31:47 +0200

Max Alekseyev gravatar image

Hello,

I'm studying Helmholtz equation in cylindrical coordinates. I'm using a solution of the scalar Helmholtz equation to build a vector field that could be a solution of the vector Helmholtz equation.

Here is my code with an orthonormal basis in a 3D manifold with cylindrical coordinates. Normally, SVH should be equal to 0 (actually, it is), but Sage doesn't simplify. I've used the simplify function, but it doesn't work. Can someone help me?

%display latex

from sage.manifolds.operators import * 

E = Manifold(3,coordinates='cylindrical', name='E')  # 3D Manifold in cylindrical coord

Ecyl.<r,ph,z> = E.chart(r'r:(0,+oo) ph:(0,2*pi):\phi z')

k = var('k')

assume(k>=0)

to_orthonormal = E.automorphism_field()  # Orthonormal basis q

to_orthonormal[0,0] = 1

to_orthonormal[1,1] = 1/r

to_orthonormal[2,2] = 1

q = Ecyl.frame().new_frame(to_orthonormal, 'q')

E.set_default_frame(q)

eta = E.metric(name='eta', latex_name=r'\eta') #Minkowski metric

eta[0,0] = 1

eta[1,1] = 1

eta[2,2] = 1

h = E.scalar_field(bessel_J(0,sqrt(k^2)*r)*cos(0*z)*cos(0*ph), name='h')  #Helmholtz equation solution in cylindrical coord

k2 = -h.laplacian(eta)*h^(-1) # Determination of k^2

H = h*(r*q[0]+z*q[2])  #Definition of a vector field H such that O is a vectorial Helmholtz equation solution

O = H.curl(metric=eta)

SHV = O.laplacian(eta) + k2*O

SHV.display()

Sage solution :

-1/4*((2*bessel_J(2, k*r)*bessel_J(1, k*r) - bessel_J(3, k*r)*bessel_J(0, k*r) + bessel_J(1, k*r)*bessel_J(0, k*r))*k^3*r^2 - 2*(2*bessel_J(1, k*r)^2 - bessel_J(2, k*r)*bessel_J(0, k*r) + bessel_J(0, k*r)^2)*k^2*r + 4*k*bessel_J(1, k*r)*bessel_J(0, k*r))*z/(r^2*bessel_J(0, k*r))
edit retag flag offensive close merge delete

Comments

This is equivalent to 2*k^2*bessel_J(2, k)*bessel_J(1, k) - k^2*bessel_J(3, k)*bessel_J(0, k) + k^2*bessel_J(1, k)*bessel_J(0, k) - 4*k*bessel_J(1, k)^2 + 2*k*bessel_J(2, k)*bessel_J(0, k) - 2*k*bessel_J(0, k)^2 + 4*bessel_J(1, k)*bessel_J(0, k) being zero. Not clear how to reach this conclusion.

FrédéricC gravatar imageFrédéricC ( 2024-10-17 20:58:55 +0200 )edit

One could imagine to work out the differential equation satisfied by this expression.

FrédéricC gravatar imageFrédéricC ( 2024-10-17 21:00:43 +0200 )edit

Yeah that's it. Sage makes simplification naturally with spherical Bessel functions but couldn't with Bessel functions.

CModera gravatar imageCModera ( 2024-10-17 21:19:47 +0200 )edit