@_noconds_(True)
def _hankel_transform(f, r, k, nu, name, simplify=True):
 from sympy import besselj
 F = integrate(((f * besselj(nu, (k * r))) * r), (r, 0, oo))
 if (not F.has(Integral)):
  return (_simplify(F, simplify), True)
 if (not F.is_Piecewise):
  raise IntegralTransformError(name, f, 'could not compute integral')
 (F, cond) = F.args[0]
 if F.has(Integral):
  raise IntegralTransformError(name, f, 'integral in unexpected form')
 return (_simplify(F, simplify), cond)

@ _noconds_ ( True ) def _hankel_transform ( f , r , k , nu , name , simplify = True ) : from sympy import besselj F = integrate ( ( ( f * besselj ( nu , ( k * r ) ) ) * r ) , ( r , 0 , oo ) ) if ( not F . has ( Integral ) ) : return ( _simplify ( F , simplify ) , True ) if ( not F . is_Piecewise ) : raise IntegralTransformError ( name , f , 'could not compute integral' ) ( F , cond ) = F . args [ 0 ] if F . has ( Integral ) : raise IntegralTransformError ( name , f , 'integral in unexpected form' ) return ( _simplify ( F , simplify ) , cond )
compute a general hankel transform .