diff scripts/specfun/bessel.m @ 7173:ff2ff2c09865

[project @ 2007-11-14 18:20:49 by jwe]
author jwe
date Wed, 14 Nov 2007 18:20:50 +0000
parents a1dbe9d80eee
children ab0674a8b345
line wrap: on
line diff
--- a/scripts/specfun/bessel.m
+++ b/scripts/specfun/bessel.m
@@ -17,36 +17,60 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Mapping Function} {} besseli (@var{alpha}, @var{x})
-## @deftypefnx {Mapping Function} {} besselj (@var{alpha}, @var{x})
-## @deftypefnx {Mapping Function} {} besselk (@var{alpha}, @var{x})
-## @deftypefnx {Mapping Function} {} bessely (@var{alpha}, @var{x})
-## Compute Bessel functions of the following types:
-##
+## @deftypefn {Loadable Function} {[@var{j}, @var{ierr}] =} besselj (@var{alpha}, @var{x}, @var{opt})
+## @deftypefnx {Loadable Function} {[@var{y}, @var{ierr}] =} bessely (@var{alpha}, @var{x}, @var{opt})
+## @deftypefnx {Loadable Function} {[@var{i}, @var{ierr}] =} besseli (@var{alpha}, @var{x}, @var{opt})
+## @deftypefnx {Loadable Function} {[@var{k}, @var{ierr}] =} besselk (@var{alpha}, @var{x}, @var{opt})
+## @deftypefnx {Loadable Function} {[@var{h}, @var{ierr}] =} besselh (@var{alpha}, @var{k}, @var{x}, @var{opt})
+## Compute Bessel or Hankel functions of various kinds:
+## 
 ## @table @code
 ## @item besselj
 ## Bessel functions of the first kind.
-##
 ## @item bessely
 ## Bessel functions of the second kind.
-##
 ## @item besseli
 ## Modified Bessel functions of the first kind.
-##
 ## @item besselk
 ## Modified Bessel functions of the second kind.
+## @item besselh
+## Compute Hankel functions of the first (@var{k} = 1) or second (@var{k}
+##  = 2) kind.
 ## @end table
-##
-## The second argument, @var{x}, must be a real matrix, vector, or scalar.
-##
-## The first argument, @var{alpha}, must be greater than or equal to zero.
-## If @var{alpha} is a range, it must have an increment equal to one.
-##
+## 
+## If the argument @var{opt} is supplied, the result is scaled by the
+## @code{exp (-I*@var{x})} for @var{k} = 1 or @code{exp (I*@var{x})} for
+##  @var{k} = 2.
+## 
 ## If @var{alpha} is a scalar, the result is the same size as @var{x}.
-##
-## If @var{alpha} is a range, @var{x} must be a vector or scalar, and the
-## result is a matrix with @code{length(@var{x})} rows and
-## @code{length(@var{alpha})} columns.
+## If @var{x} is a scalar, the result is the same size as @var{alpha}.
+## If @var{alpha} is a row vector and @var{x} is a column vector, the
+## result is a matrix with @code{length (@var{x})} rows and
+## @code{length (@var{alpha})} columns.  Otherwise, @var{alpha} and
+## @var{x} must conform and the result will be the same size.
+## 
+## The value of @var{alpha} must be real. The value of @var{x} may be
+## complex.
+## 
+## If requested, @var{ierr} contains the following status information
+## and is the same size as the result.
+## 
+## @enumerate 0
+## @item
+## Normal return.
+## @item
+## Input error, return @code{NaN}.
+## @item
+## Overflow, return @code{Inf}.
+## @item
+## Loss of significance by argument reduction results in less than
+## half of machine accuracy.
+## @item
+## Complete loss of significance by argument reduction, return @code{NaN}.
+## @item
+## Error---no computation, algorithm termination condition not met,
+## return @code{NaN}.
+## @end enumerate
 ## @end deftypefn
 
 function bessel ()