Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

...numerically searching for the point, and using for this mpmath, we can try:

L   = 1
ome = 14.28    # MeV

from mpmath import *

def F(w):
    Arg1 =   sqrt(ome*(1-w^2))
    Arg2 = I*sqrt(ome)*w
    a   = -I*sqrt(1-w^2)

    b = spherical_bessel_J( L-1, Arg1 )
    c = spherical_bessel_J( L  , Arg1 )
    d = spherical_bessel_J( L  , Arg2 ) + I*spherical_bessel_Y( L  , Arg2 )
    e = spherical_bessel_J( L-1, Arg2 ) + I*spherical_bessel_Y( L-1, Arg2 )

    return ( a*b*d - w*c*e )

def Freal(w):
    return F(w).real

def Fimag(w):
    return F(w).imag

# plot( Freal, (0,1), (-3,3) )
# plot( Fimag, (0,1), (-3,3) )    # zero


mp.dps    = 50
mp.pretty = True
findroot( Freal, 0.001 )

This gives:

sage: findroot( Freal, 0.001 )
0.43191301404660550601425558556001915140268185509848

Note: Some other values for the starting point may work or not...

sage: findroot( Freal, 0.4 )
0.43191301404660550601425558556001915140268185509848
sage: findroot( Freal, 0.45 )
0.43191301404660550601425558556001915140268185509848
sage: findroot( Freal, 0.48 )
3.2351453864380279679802136973858464614625968140838
sage: findroot( Freal, 0.5 )
1.3949447484847503200790335008591392342171339970256

The last two values should be - of course - rejected.

Note: pari/gp also does a good job in finding numerical solutions of transcendental equations.