BSJ1
This function evaluates the Bessel function of the first kind of order one.
Function Return Value
BSJ1 — Function value. (Output)
Required Arguments
X — Argument for which the function value is desired. (Input)
FORTRAN 90 Interface
Generic: BSJ1 (X)
Specific: The specific interface names are S_BSJ1 and D_BSJ1.
FORTRAN 77 Interface
Single: BSJ1 (X)
Double: The double precision function name is DBSJ1.
Description
The Bessel function J1(x) is defined to be
The argument x must be zero or larger in absolute value than 2s to prevent J1(x) from underflowing. Also, ∣x∣ should be smaller than
to prevent the answer from being less accurate than half precision. ∣x∣ must be less than 1/ɛ for the result to have any precision at all. Here, ɛ is the machine precision, ɛ = AMACH(4), and s = AMACH(1) is the smallest representable positive floating‑point number.
Comments
Informational Error
Type | Code | Description |
---|
2 | 1 | The function underflows because the absolute value of X is too small. |
Example
In this example, J1(2.5) is computed and printed.
USE BSJ1_INT
USE UMACH_INT
IMPLICIT NONE
! Declare variables
INTEGER NOUT
REAL VALUE, X
! Compute
X = 2.5
VALUE = BSJ1(X)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) X, VALUE
99999 FORMAT (' BSJ1(', F6.3, ') = ', F6.3)
END
Output
BSJ1( 2.500) = 0.497