causf(3f) - [M_datapac:SPARSITY] compute the Cauchy sparsity function
SUBROUTINE CAUSF(P,Sf)
REAL(kind=wp) :: P
REAL(kind=wp) :: Sf
CAUSF(3f) computes the sparsity function value for the cauchy
distribution with median = 0 and 75% point = 1.
This distribution is defined for all X and has the probability density
function f(X) = (1/pi)*(1/(1+X*X))
Note that the sparsity function of a distribution is the derivative
of the percent point function, and also is the reciprocal of the
probability density function (but in units of p rather than x).
P the value (between 0.0 and 1.0) at which the sparsity
function is to be evaluated. P should be between 0.0 and 1.0,
exclusively.
SF The sparsity function value.
Sample program:
program demo_causf
use M_datapac, only : causf
implicit none
! call causf(x,y)
end program demo_causf
Results:
The original DATAPAC library was written by James Filliben of the
Statistical Engineering Division, National Institute of Standards
and Technology.
John Urban, 2022.05.31
CC0-1.0
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp) | :: | P | ||||
real(kind=wp) | :: | Sf |
SUBROUTINE CAUSF(P,Sf) REAL(kind=wp) :: P REAL(kind=wp) :: Sf REAL(kind=wp) :: arg ! ! CHECK THE INPUT ARGUMENTS FOR ERRORS ! IF ( P<=0.0_wp .OR. P>=1.0_wp ) THEN WRITE (G_IO,99001) 99001 FORMAT (' ***** FATAL ERROR--THE FIRST INPUT ARGUMENT TO CAUSF(3f) IS OUTSIDE THE ALLOWABLE (0,1) INTERVAL *****') WRITE (G_IO,99002) P 99002 FORMAT (' ','***** THE VALUE OF THE ARGUMENT IS ',E15.8,' *****') RETURN ELSE arg = G_pi*P Sf = G_pi/((SIN(arg))**2) ENDIF ! END SUBROUTINE CAUSF