| 1 | ;; Bessel functions |
|---|
| 2 | ;; Liam Healy, Fri Mar 17 2006 - 18:42 |
|---|
| 3 | ;; Time-stamp: <2008-03-09 19:29:18EDT bessel.lisp> |
|---|
| 4 | ;; $Id$ |
|---|
| 5 | |
|---|
| 6 | (in-package :gsl) |
|---|
| 7 | |
|---|
| 8 | ;;;;**************************************************************************** |
|---|
| 9 | ;;;; Regular Cylindrical Bessel Functions |
|---|
| 10 | ;;;;**************************************************************************** |
|---|
| 11 | |
|---|
| 12 | (defmfun cylindrical-bessel-J0 (x) |
|---|
| 13 | "gsl_sf_bessel_J0_e" |
|---|
| 14 | ((x :double) (ret sf-result)) |
|---|
| 15 | :documentation ; FDL |
|---|
| 16 | "The regular cylindrical Bessel function of zeroth order, J_0(x).") |
|---|
| 17 | |
|---|
| 18 | (defmfun cylindrical-bessel-J1 (x) |
|---|
| 19 | "gsl_sf_bessel_J1_e" ((x :double) (ret sf-result)) |
|---|
| 20 | :documentation ; FDL |
|---|
| 21 | "The regular cylindrical Bessel function of first order, J_1(x).") |
|---|
| 22 | |
|---|
| 23 | (defmfun cylindrical-bessel-Jn (n x) |
|---|
| 24 | "gsl_sf_bessel_Jn_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 25 | :documentation ; FDL |
|---|
| 26 | "The regular cylindrical Bessel function of order n, J_n(x).") |
|---|
| 27 | |
|---|
| 28 | (defmfun cylindrical-bessel-Jn-array (x array &optional (nmin 0)) |
|---|
| 29 | "gsl_sf_bessel_Jn_array" |
|---|
| 30 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 31 | ((gsl-array array) :pointer)) |
|---|
| 32 | :invalidate (array) |
|---|
| 33 | :documentation ; FDL |
|---|
| 34 | "The values of the regular cylindrical Bessel functions J_n(x) |
|---|
| 35 | for n from nmin to nmin+length(array)-1 inclusive. |
|---|
| 36 | The values are computed using recurrence relations for efficiency, |
|---|
| 37 | and therefore may differ slightly from the exact values.") |
|---|
| 38 | |
|---|
| 39 | ;;;;**************************************************************************** |
|---|
| 40 | ;;;; Irregular Cylindrical Bessel Functions |
|---|
| 41 | ;;;;**************************************************************************** |
|---|
| 42 | |
|---|
| 43 | (defmfun cylindrical-bessel-Y0 (x) |
|---|
| 44 | "gsl_sf_bessel_Y0_e" ((x :double) (ret sf-result)) |
|---|
| 45 | :documentation ; FDL |
|---|
| 46 | "The irregular cylindrical Bessel function of zeroth order, Y_0(x).") |
|---|
| 47 | |
|---|
| 48 | (defmfun cylindrical-bessel-Y1 (x) |
|---|
| 49 | "gsl_sf_bessel_Y1_e" ((x :double) (ret sf-result)) |
|---|
| 50 | :documentation ; FDL |
|---|
| 51 | "The irregular cylindrical Bessel function of first order, Y_1(x).") |
|---|
| 52 | |
|---|
| 53 | (defmfun cylindrical-bessel-Yn (n x) |
|---|
| 54 | "gsl_sf_bessel_Yn_e" |
|---|
| 55 | ((n :int) (x :double) (ret sf-result)) |
|---|
| 56 | :documentation ; FDL |
|---|
| 57 | "The irregular cylindrical Bessel function of order n, Y_n(x).") |
|---|
| 58 | |
|---|
| 59 | (defmfun cylindrical-bessel-Yn-array (x array &optional (nmin 0)) |
|---|
| 60 | "gsl_sf_bessel_Yn_array" |
|---|
| 61 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 62 | ((gsl-array array) :pointer)) |
|---|
| 63 | :invalidate (array) |
|---|
| 64 | :documentation ; FDL |
|---|
| 65 | "The values of the irregular cylindrical Bessel functions |
|---|
| 66 | Y_n(x) for n from from nmin to |
|---|
| 67 | nmin+length(array)-1 inclusive. The values are computed using |
|---|
| 68 | recurrence relations for efficiency, and therefore may differ slightly |
|---|
| 69 | from the exact values.") |
|---|
| 70 | |
|---|
| 71 | ;;;;**************************************************************************** |
|---|
| 72 | ;;;; Regular Modified Cylindrical Bessel Functions |
|---|
| 73 | ;;;;**************************************************************************** |
|---|
| 74 | |
|---|
| 75 | (defmfun cylindrical-bessel-I0 (x) |
|---|
| 76 | "gsl_sf_bessel_I0_e" ((x :double) (ret sf-result)) |
|---|
| 77 | :documentation ; FDL |
|---|
| 78 | "The regular modified cylindrical Bessel function of zeroth order, I_0(x).") |
|---|
| 79 | |
|---|
| 80 | (defmfun cylindrical-bessel-I1 (x) |
|---|
| 81 | "gsl_sf_bessel_I1_e" ((x :double) (ret sf-result)) |
|---|
| 82 | :documentation ; FDL |
|---|
| 83 | "The regular modified cylindrical Bessel function of first order, I_1(x).") |
|---|
| 84 | |
|---|
| 85 | (defmfun cylindrical-bessel-In (n x) |
|---|
| 86 | "gsl_sf_bessel_In_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 87 | :documentation ; FDL |
|---|
| 88 | "The regular modified cylindrical Bessel function of order n, I_n(x).") |
|---|
| 89 | |
|---|
| 90 | (defmfun cylindrical-bessel-In-array (x array &optional (nmin 0)) |
|---|
| 91 | "gsl_sf_bessel_In_array" |
|---|
| 92 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 93 | ((gsl-array array) :pointer)) |
|---|
| 94 | :invalidate (array) |
|---|
| 95 | :documentation ; FDL |
|---|
| 96 | "The values of the regular modified cylindrical Bessel functions |
|---|
| 97 | I_n(x) for n from from nmin to nmin+length(array)-1 inclusive. |
|---|
| 98 | The values are computed using recurrence relations for efficiency, and |
|---|
| 99 | therefore may differ slightly from the exact values.") |
|---|
| 100 | |
|---|
| 101 | (defmfun cylindrical-bessel-I0-scaled (x) |
|---|
| 102 | "gsl_sf_bessel_I0_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 103 | :documentation ; FDL |
|---|
| 104 | "The scaled regular modified cylindrical Bessel function of zeroth order, |
|---|
| 105 | \exp(-|x|) I_0(x).") |
|---|
| 106 | |
|---|
| 107 | (defmfun cylindrical-bessel-I1-scaled (x) |
|---|
| 108 | "gsl_sf_bessel_I1_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 109 | :documentation ; FDL |
|---|
| 110 | "The scaled regular modified cylindrical Bessel function of first order, |
|---|
| 111 | \exp(-|x|) I_1(x).") |
|---|
| 112 | |
|---|
| 113 | (defmfun cylindrical-bessel-In-scaled (n x) |
|---|
| 114 | "gsl_sf_bessel_In_scaled_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 115 | :documentation ; FDL |
|---|
| 116 | "The scaled regular modified cylindrical Bessel function of order n, |
|---|
| 117 | \exp(-|x|) I_n(x)}.") |
|---|
| 118 | |
|---|
| 119 | (defmfun cylindrical-bessel-In-scaled-array (x array &optional (nmin 0)) |
|---|
| 120 | "gsl_sf_bessel_In_scaled_array" |
|---|
| 121 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 122 | ((gsl-array array) :pointer)) |
|---|
| 123 | :invalidate (array) |
|---|
| 124 | :documentation ; FDL |
|---|
| 125 | ;; Bug in original documentation? doesn't say "modified" |
|---|
| 126 | "The values of the scaled regular modified cylindrical Bessel |
|---|
| 127 | functions I_n(x) for n from from nmin to nmin+length(array)-1 |
|---|
| 128 | inclusive. The values are computed using recurrence |
|---|
| 129 | relations for efficiency, and therefore may differ slightly from the |
|---|
| 130 | exact values.") |
|---|
| 131 | |
|---|
| 132 | ;;;;**************************************************************************** |
|---|
| 133 | ;;;; Irregular Modified Cylindrical Bessel Functions |
|---|
| 134 | ;;;;**************************************************************************** |
|---|
| 135 | |
|---|
| 136 | (defmfun cylindrical-bessel-K0 (x) |
|---|
| 137 | "gsl_sf_bessel_K0_e" ((x :double) (ret sf-result)) |
|---|
| 138 | :documentation ; FDL |
|---|
| 139 | "The irregular modified cylindrical Bessel function of zeroth order, |
|---|
| 140 | K_0(x).") |
|---|
| 141 | |
|---|
| 142 | (defmfun cylindrical-bessel-K1 (x) |
|---|
| 143 | "gsl_sf_bessel_K1_e" ((x :double) (ret sf-result)) |
|---|
| 144 | :documentation ; FDL |
|---|
| 145 | "The irregular modified cylindrical Bessel function of first order, K_1(x).") |
|---|
| 146 | |
|---|
| 147 | (defmfun cylindrical-bessel-Kn (n x) |
|---|
| 148 | "gsl_sf_bessel_Kn_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 149 | :documentation ; FDL |
|---|
| 150 | "The irregular modified cylindrical Bessel function of order n, K_n(x).") |
|---|
| 151 | |
|---|
| 152 | (defmfun cylindrical-bessel-Kn-array (x array &optional (nmin 0)) |
|---|
| 153 | "gsl_sf_bessel_Kn_array" |
|---|
| 154 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 155 | ((gsl-array array) :pointer)) |
|---|
| 156 | :invalidate (array) |
|---|
| 157 | :documentation ; FDL |
|---|
| 158 | "The values of the irregular modified cylindrical Bessel functions |
|---|
| 159 | K_n(x) for n from from nmin to nmin+length(array)-1 inclusive. |
|---|
| 160 | The values are computed using recurrence relations for efficiency, and |
|---|
| 161 | therefore may differ slightly from the exact values.") |
|---|
| 162 | |
|---|
| 163 | (defmfun cylindrical-bessel-K0-scaled (x) |
|---|
| 164 | "gsl_sf_bessel_K0_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 165 | :documentation ; FDL |
|---|
| 166 | "The scaled irregular modified cylindrical Bessel function of zeroth order, |
|---|
| 167 | \exp(-|x|) K_0(x).") |
|---|
| 168 | |
|---|
| 169 | (defmfun cylindrical-bessel-K1-scaled (x) |
|---|
| 170 | "gsl_sf_bessel_K1_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 171 | :documentation ; FDL |
|---|
| 172 | "The scaled irregular modified cylindrical Bessel function of first order, |
|---|
| 173 | \exp(-|x|) K_1(x).") |
|---|
| 174 | |
|---|
| 175 | (defmfun cylindrical-bessel-Kn-scaled (n x) |
|---|
| 176 | "gsl_sf_bessel_Kn_scaled_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 177 | :documentation ; FDL |
|---|
| 178 | "The scaled irregular modified cylindrical Bessel function of order n, |
|---|
| 179 | \exp(-|x|) K_n(x).") |
|---|
| 180 | |
|---|
| 181 | (defmfun cylindrical-bessel-Kn-scaled-array (x array &optional (nmin 0)) |
|---|
| 182 | "gsl_sf_bessel_Kn_scaled_array" |
|---|
| 183 | ((nmin :int) ((+ nmin (dim0 array) -1) :int) (x :double) |
|---|
| 184 | ((gsl-array array) :pointer)) |
|---|
| 185 | :invalidate (array) |
|---|
| 186 | :documentation ; FDL |
|---|
| 187 | "The values of the scaled irregular cylindrical |
|---|
| 188 | Bessel functions \exp(x) K_n(x) for n from from nmin to |
|---|
| 189 | nmin+length(array)-1 inclusive. |
|---|
| 190 | The start of the range nmin must be positive |
|---|
| 191 | or zero. The domain of the function is x>0. The values are |
|---|
| 192 | computed using recurrence relations for efficiency, and therefore |
|---|
| 193 | may differ slightly from the exact values.") |
|---|
| 194 | |
|---|
| 195 | ;;;;**************************************************************************** |
|---|
| 196 | ;;;; Regular Spherical Bessel Functions |
|---|
| 197 | ;;;;**************************************************************************** |
|---|
| 198 | |
|---|
| 199 | (defmfun spherical-bessel-j0 (x) |
|---|
| 200 | "gsl_sf_bessel_j0_e" ((x :double) (ret sf-result)) |
|---|
| 201 | :documentation ; FDL |
|---|
| 202 | "The regular spherical Bessel function of zeroth order, j_0(x) = \sin(x)/x.") |
|---|
| 203 | |
|---|
| 204 | (defmfun spherical-bessel-j1 (x) |
|---|
| 205 | "gsl_sf_bessel_j1_e" ((x :double) (ret sf-result)) |
|---|
| 206 | :documentation ; FDL |
|---|
| 207 | "The regular spherical Bessel function of first order, j_1(x) |
|---|
| 208 | = (\sin(x)/x - \cos(x))/x.") |
|---|
| 209 | |
|---|
| 210 | (defmfun spherical-bessel-j2 (x) |
|---|
| 211 | "gsl_sf_bessel_j2_e" ((x :double) (ret sf-result)) |
|---|
| 212 | :documentation ; FDL |
|---|
| 213 | "The regular spherical Bessel function of second order, j_2(x) |
|---|
| 214 | = ((3/x^2 - 1)\sin(x) - 3\cos(x)/x)/x.") |
|---|
| 215 | |
|---|
| 216 | (defmfun spherical-bessel-jl (l x) |
|---|
| 217 | "gsl_sf_bessel_jl_e" ((l :int) (x :double) (ret sf-result)) |
|---|
| 218 | :documentation ; FDL |
|---|
| 219 | "The regular spherical Bessel function of order |
|---|
| 220 | l, j_l(x), for l >= 0 and x >= 0.") |
|---|
| 221 | |
|---|
| 222 | (defmfun spherical-bessel-jl-array (x array) |
|---|
| 223 | "gsl_sf_bessel_jl_array" |
|---|
| 224 | (((1- (dim0 array)) :int) (x :double) ((gsl-array array) :pointer)) |
|---|
| 225 | :invalidate (array) |
|---|
| 226 | :documentation ; FDL |
|---|
| 227 | "The values of the regular spherical Bessel |
|---|
| 228 | functions j_l(x) for l from 0 to length(array)-1 and x >= 0. |
|---|
| 229 | The values are computed using recurrence relations for |
|---|
| 230 | efficiency, and therefore may differ slightly from the exact values.") |
|---|
| 231 | |
|---|
| 232 | (defmfun spherical-bessel-jl-steed-array (x array) |
|---|
| 233 | "gsl_sf_bessel_jl_steed_array" |
|---|
| 234 | (((1- (dim0 array)) :int) (x :double) ((gsl-array array) :pointer)) |
|---|
| 235 | :invalidate (array) |
|---|
| 236 | :documentation ; FDL |
|---|
| 237 | "Uses Steed's method to compute the values of the regular spherical |
|---|
| 238 | Bessel functions j_l(x) for l from 0 to length(array)-1 |
|---|
| 239 | inclusive for x >= 0. The Steed/Barnett algorithm is described in |
|---|
| 240 | Comp. Phys. Comm. 21, 297 (1981). Steed's method is more |
|---|
| 241 | stable than the recurrence used in the other functions but is also |
|---|
| 242 | slower.") |
|---|
| 243 | |
|---|
| 244 | ;;;;**************************************************************************** |
|---|
| 245 | ;;;; Irregular Spherical Bessel Functions |
|---|
| 246 | ;;;;**************************************************************************** |
|---|
| 247 | |
|---|
| 248 | (defmfun spherical-bessel-y0 (x) |
|---|
| 249 | "gsl_sf_bessel_y0_e" ((x :double) (ret sf-result)) |
|---|
| 250 | :documentation ; FDL |
|---|
| 251 | "The irregular spherical Bessel function of zeroth order, |
|---|
| 252 | y_0(x) = -\cos(x)/x.") |
|---|
| 253 | |
|---|
| 254 | (defmfun spherical-bessel-y1 (x) |
|---|
| 255 | "gsl_sf_bessel_y1_e" ((x :double) (ret sf-result)) |
|---|
| 256 | :documentation ; FDL |
|---|
| 257 | "The irregular spherical Bessel function of first order, |
|---|
| 258 | y_1(x) = -(\cos(x)/x + \sin(x))/x.") |
|---|
| 259 | |
|---|
| 260 | (defmfun spherical-bessel-y2 (x) |
|---|
| 261 | "gsl_sf_bessel_y2_e" ((x :double) (ret sf-result)) |
|---|
| 262 | :documentation ; FDL |
|---|
| 263 | "The irregular spherical Bessel function of second order, |
|---|
| 264 | y_2(x) = (-3/x^3 + 1/x)\cos(x) - (3/x^2)\sin(x).") |
|---|
| 265 | |
|---|
| 266 | (defmfun spherical-bessel-yl (l x) |
|---|
| 267 | "gsl_sf_bessel_yl_e" ((l :int) (x :double) (ret sf-result)) |
|---|
| 268 | :documentation ; FDL |
|---|
| 269 | "The irregular spherical Bessel function of order l, y_l(x), for l >= 0.") |
|---|
| 270 | |
|---|
| 271 | (defmfun spherical-bessel-yl-array (x array) |
|---|
| 272 | "gsl_sf_bessel_yl_array" |
|---|
| 273 | (((1- (dim0 array)) :int) (x :double) ((gsl-array array) :pointer)) |
|---|
| 274 | :invalidate (array) |
|---|
| 275 | :documentation ; FDL |
|---|
| 276 | "The irregular spherical Bessel functions y_l(x) for l |
|---|
| 277 | from 0 to length(array)-1. The values are computed using |
|---|
| 278 | recurrence relations for efficiency, |
|---|
| 279 | and therefore may differ slightly from the exact values.") |
|---|
| 280 | |
|---|
| 281 | ;;;;**************************************************************************** |
|---|
| 282 | ;;;; Regular Modified Spherical Bessel Functions |
|---|
| 283 | ;;;;**************************************************************************** |
|---|
| 284 | |
|---|
| 285 | (defmfun spherical-bessel-i0-scaled (x) |
|---|
| 286 | "gsl_sf_bessel_i0_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 287 | :documentation ; FDL |
|---|
| 288 | "The scaled regular modified spherical Bessel function of zeroth |
|---|
| 289 | order, \exp(-|x|) i_0(x).") |
|---|
| 290 | |
|---|
| 291 | (defmfun spherical-bessel-i1-scaled (x) |
|---|
| 292 | "gsl_sf_bessel_i1_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 293 | :documentation ; FDL |
|---|
| 294 | "The scaled regular modified spherical Bessel function of first order, |
|---|
| 295 | \exp(-|x|) i_1(x).") |
|---|
| 296 | |
|---|
| 297 | (defmfun spherical-bessel-i2-scaled (x) |
|---|
| 298 | "gsl_sf_bessel_i2_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 299 | :documentation ; FDL |
|---|
| 300 | "The scaled regular modified spherical Bessel function of second order, |
|---|
| 301 | \exp(-|x|) i_2(x).") |
|---|
| 302 | |
|---|
| 303 | (defmfun spherical-bessel-il-scaled (n x) |
|---|
| 304 | "gsl_sf_bessel_il_scaled_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 305 | :documentation ; FDL |
|---|
| 306 | "The scaled regular modified spherical Bessel function of order l, |
|---|
| 307 | \exp(-|x|) i_l(x).") |
|---|
| 308 | |
|---|
| 309 | (defmfun spherical-bessel-il-scaled-array (x array) |
|---|
| 310 | "gsl_sf_bessel_il_scaled_array" |
|---|
| 311 | (((1- (dim0 array)) :int) (x :double) ((gsl-array array) :pointer)) |
|---|
| 312 | :invalidate (array) |
|---|
| 313 | :documentation ; FDL |
|---|
| 314 | "The values of the scaled regular modified cylindrical Bessel |
|---|
| 315 | functions \exp(-|x|) i_l(x) for l from 0 to length(array)-1 |
|---|
| 316 | inclusive. The values are computed using recurrence relations |
|---|
| 317 | for efficiency, and therefore may differ slightly from the exact values.") |
|---|
| 318 | |
|---|
| 319 | ;;;;**************************************************************************** |
|---|
| 320 | ;;;; Irregular Modified Spherical Bessel Functions |
|---|
| 321 | ;;;;**************************************************************************** |
|---|
| 322 | |
|---|
| 323 | (defmfun spherical-bessel-k0-scaled (x) |
|---|
| 324 | "gsl_sf_bessel_k0_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 325 | :documentation ; FDL |
|---|
| 326 | "The scaled irregular modified spherical Bessel function of zeroth |
|---|
| 327 | order, \exp(x) k_0(x), for x>0.") |
|---|
| 328 | |
|---|
| 329 | (defmfun spherical-bessel-k1-scaled (x) |
|---|
| 330 | "gsl_sf_bessel_k1_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 331 | :documentation ; FDL |
|---|
| 332 | "The scaled irregular modified spherical Bessel function of first order, |
|---|
| 333 | \exp(x) k_1(x), for x>0.") |
|---|
| 334 | |
|---|
| 335 | (defmfun spherical-bessel-k2-scaled (x) |
|---|
| 336 | "gsl_sf_bessel_k2_scaled_e" ((x :double) (ret sf-result)) |
|---|
| 337 | :documentation ; FDL |
|---|
| 338 | "The scaled irregular modified spherical Bessel function of second order, |
|---|
| 339 | \exp(x) k_2(x), for x>0.") |
|---|
| 340 | |
|---|
| 341 | (defmfun spherical-bessel-kl-scaled (n x) |
|---|
| 342 | "gsl_sf_bessel_il_scaled_e" ((n :int) (x :double) (ret sf-result)) |
|---|
| 343 | :documentation ; FDL |
|---|
| 344 | "The scaled irregular modified spherical Bessel function of order l, |
|---|
| 345 | \exp(x) k_l(x), for x>0.") |
|---|
| 346 | |
|---|
| 347 | (defmfun spherical-bessel-kl-scaled-array (x array) |
|---|
| 348 | "gsl_sf_bessel_kl_scaled_array" |
|---|
| 349 | (((1- (dim0 array)) :int) (x :double) ((gsl-array array) :pointer)) |
|---|
| 350 | :invalidate (array) |
|---|
| 351 | :documentation ; FDL |
|---|
| 352 | "The values of the scaled irregular modified spherical Bessel |
|---|
| 353 | functions \exp(x) k_l(x) for l from 0 to length(array)-1 |
|---|
| 354 | inclusive x>0. The values are computed using recurrence |
|---|
| 355 | relations for efficiency, and therefore may differ slightly |
|---|
| 356 | from the exact values.") |
|---|
| 357 | |
|---|
| 358 | ;;;;**************************************************************************** |
|---|
| 359 | ;;;; Regular Bessel Function - Fractional Order |
|---|
| 360 | ;;;;**************************************************************************** |
|---|
| 361 | |
|---|
| 362 | (defmfun bessel-Jnu (nu x) |
|---|
| 363 | "gsl_sf_bessel_Jnu_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 364 | :documentation ; FDL |
|---|
| 365 | "The regular cylindrical Bessel function of fractional order |
|---|
| 366 | \nu, J_\nu(x).") |
|---|
| 367 | |
|---|
| 368 | (defmfun spherical-Jnu-array (nu v) |
|---|
| 369 | "gsl_sf_bessel_sequence_Jnu_e" |
|---|
| 370 | ((nu :double) :mode ((dim0 v) :int) ((gsl-array v) :pointer)) |
|---|
| 371 | :invalidate (v) |
|---|
| 372 | :documentation ; FDL |
|---|
| 373 | "The regular cylindrical Bessel function of |
|---|
| 374 | fractional order \nu, J_\nu(x), evaluated at a series of |
|---|
| 375 | x values. The array v contains the x values. |
|---|
| 376 | They are assumed to be strictly ordered and positive. |
|---|
| 377 | The array is over-written with the values of J_\nu(x_i).") |
|---|
| 378 | |
|---|
| 379 | ;;;;**************************************************************************** |
|---|
| 380 | ;;;; Irregular Bessel Function - Fractional Order |
|---|
| 381 | ;;;;**************************************************************************** |
|---|
| 382 | |
|---|
| 383 | (defmfun bessel-Ynu (nu x) |
|---|
| 384 | "gsl_sf_bessel_Ynu_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 385 | :documentation ; FDL |
|---|
| 386 | "The irregular cylindrical Bessel function of fractional order |
|---|
| 387 | \nu, Y_\nu(x).") |
|---|
| 388 | |
|---|
| 389 | ;;;;**************************************************************************** |
|---|
| 390 | ;;;; Regular Modified Bessel Functions - Fractional Order |
|---|
| 391 | ;;;;**************************************************************************** |
|---|
| 392 | |
|---|
| 393 | (defmfun bessel-Inu (nu x) |
|---|
| 394 | "gsl_sf_bessel_Inu_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 395 | :documentation ; FDL |
|---|
| 396 | "The regular modified Bessel function of fractional order |
|---|
| 397 | \nu, I_\nu(x) for x>0, \nu>0.") |
|---|
| 398 | |
|---|
| 399 | (defmfun bessel-Inu-scaled (nu x) |
|---|
| 400 | "gsl_sf_bessel_Inu_scaled_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 401 | :documentation ; FDL |
|---|
| 402 | "The scaled regular modified Bessel function of fractional order |
|---|
| 403 | \nu, \exp(-|x|)I_\nu(x) for x>0, \nu>0.") |
|---|
| 404 | |
|---|
| 405 | ;;;;**************************************************************************** |
|---|
| 406 | ;;;; Irregular Modified Bessel Functions - Fractional Order |
|---|
| 407 | ;;;;**************************************************************************** |
|---|
| 408 | |
|---|
| 409 | (defmfun bessel-Knu (nu x) |
|---|
| 410 | "gsl_sf_bessel_Knu_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 411 | :documentation ; FDL |
|---|
| 412 | "The irregular modified Bessel function of fractional order \nu, |
|---|
| 413 | K_\nu(x) for x>0, \nu>0.") |
|---|
| 414 | |
|---|
| 415 | (defmfun bessel-lnKnu (nu x) |
|---|
| 416 | "gsl_sf_bessel_lnKnu_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 417 | :documentation ; FDL |
|---|
| 418 | "The logarithm of the irregular modified Bessel function of fractional |
|---|
| 419 | order \nu, \ln(K_\nu(x)) for x>0, \nu>0.") |
|---|
| 420 | |
|---|
| 421 | (defmfun bessel-Knu-scaled (nu x) |
|---|
| 422 | "gsl_sf_bessel_Knu_scaled_e" ((nu :double) (x :double) (ret sf-result)) |
|---|
| 423 | :documentation ; FDL |
|---|
| 424 | "The scaled irregular modified Bessel function of fractional order |
|---|
| 425 | \nu, \exp(+|x|) K_\nu(x) for x>0, \nu>0.") |
|---|
| 426 | |
|---|
| 427 | ;;;;**************************************************************************** |
|---|
| 428 | ;;;; Zeros of Regular Bessel Functions |
|---|
| 429 | ;;;;**************************************************************************** |
|---|
| 430 | |
|---|
| 431 | (defmfun bessel-zero-J0 (s) |
|---|
| 432 | "gsl_sf_bessel_zero_J0_e" ((s :int) (ret sf-result)) |
|---|
| 433 | :documentation ; FDL |
|---|
| 434 | "The location of the s-th positive zero of the Bessel function |
|---|
| 435 | J_0(x).") |
|---|
| 436 | |
|---|
| 437 | (defmfun bessel-zero-J1 (s) |
|---|
| 438 | "gsl_sf_bessel_zero_J1_e" ((s :int) (ret sf-result)) |
|---|
| 439 | :documentation ; FDL |
|---|
| 440 | "The location of the s-th positive zero of the Bessel function |
|---|
| 441 | J_1(x).") |
|---|
| 442 | |
|---|
| 443 | (defmfun bessel-zero-Jnu (nu s) |
|---|
| 444 | "gsl_sf_bessel_zero_Jnu_e" ((nu :double) (s :int) (ret sf-result)) |
|---|
| 445 | :documentation ; FDL |
|---|
| 446 | "These routines compute the location of the s-th positive zero |
|---|
| 447 | of the Bessel function J_\nu(x). The current implementation |
|---|
| 448 | does not support negative values of nu.") |
|---|
| 449 | |
|---|
| 450 | ;;;;**************************************************************************** |
|---|
| 451 | ;;;; Examples and unit test |
|---|
| 452 | ;;;;**************************************************************************** |
|---|
| 453 | |
|---|
| 454 | #| |
|---|
| 455 | |
|---|
| 456 | ;; This bizarrely causes a division-by-zero error |
|---|
| 457 | ;; (bessel-jnu 3.0d0 4.0d0) |
|---|
| 458 | ;; in macroexpansion the form from within SLIME using SBCL (expands |
|---|
| 459 | ;; fine from shell) |
|---|
| 460 | |
|---|
| 461 | (make-tests bessel |
|---|
| 462 | (cylindrical-bessel-J0 4.0d0) |
|---|
| 463 | (cylindrical-bessel-J1 4.0d0) |
|---|
| 464 | (cylindrical-bessel-Jn 2 4.0d0) |
|---|
| 465 | (letm ((besarr (vector-double-float 4))) |
|---|
| 466 | (cylindrical-bessel-Jn-array 2.0d0 besarr 2) |
|---|
| 467 | (data besarr)) |
|---|
| 468 | (cylindrical-bessel-Y0 4.0d0) |
|---|
| 469 | (cylindrical-bessel-Y1 4.0d0) |
|---|
| 470 | (cylindrical-bessel-Yn 3 4.0d0) |
|---|
| 471 | (letm ((besarr (vector-double-float 4))) |
|---|
| 472 | (cylindrical-bessel-Yn-array 2.0d0 besarr 2) |
|---|
| 473 | (data besarr)) |
|---|
| 474 | (cylindrical-bessel-I0 4.0d0) |
|---|
| 475 | (cylindrical-bessel-I1 4.0d0) |
|---|
| 476 | (cylindrical-bessel-In 3 4.0d0) |
|---|
| 477 | (letm ((besarr (vector-double-float 4))) |
|---|
| 478 | (cylindrical-bessel-In-array 2.0d0 besarr 2) |
|---|
| 479 | (data besarr)) |
|---|
| 480 | (cylindrical-bessel-I0-scaled 4.0d0) |
|---|
| 481 | (cylindrical-bessel-I1-scaled 4.0d0) |
|---|
| 482 | (cylindrical-bessel-In-scaled 3 4.0d0) |
|---|
| 483 | (letm ((besarr (vector-double-float 4))) |
|---|
| 484 | (cylindrical-bessel-In-scaled-array 2.0d0 besarr 2) |
|---|
| 485 | (data besarr)) |
|---|
| 486 | (cylindrical-bessel-K0 4.0d0) |
|---|
| 487 | (cylindrical-bessel-K1 4.0d0) |
|---|
| 488 | (cylindrical-bessel-Kn 2 4.0d0) |
|---|
| 489 | (letm ((besarr (vector-double-float 4))) |
|---|
| 490 | (cylindrical-bessel-Kn-array 2.0d0 besarr 2) |
|---|
| 491 | (data besarr)) |
|---|
| 492 | (cylindrical-bessel-K0-scaled 4.0d0) |
|---|
| 493 | (cylindrical-bessel-K1-scaled 4.0d0) |
|---|
| 494 | (cylindrical-bessel-Kn-scaled 2 4.0d0) |
|---|
| 495 | (letm ((besarr (vector-double-float 4))) |
|---|
| 496 | (cylindrical-bessel-Kn-array 2.0d0 besarr 2) |
|---|
| 497 | (data besarr)) |
|---|
| 498 | (spherical-bessel-j0 4.0d0) |
|---|
| 499 | (spherical-bessel-j1 4.0d0) |
|---|
| 500 | (spherical-bessel-j2 4.0d0) |
|---|
| 501 | (spherical-bessel-jl 3 4.0d0) |
|---|
| 502 | (letm ((besarr (vector-double-float 4))) |
|---|
| 503 | (spherical-bessel-jl-array 4.0d0 besarr) |
|---|
| 504 | (data besarr)) |
|---|
| 505 | (letm ((besarr (vector-double-float 4))) |
|---|
| 506 | (spherical-bessel-jl-steed-array 4.0d0 besarr) |
|---|
| 507 | (data besarr)) |
|---|
| 508 | (spherical-bessel-y0 4.0d0) |
|---|
| 509 | (spherical-bessel-y1 4.0d0) |
|---|
| 510 | (spherical-bessel-y2 4.0d0) |
|---|
| 511 | (spherical-bessel-yl 2 4.0d0) |
|---|
| 512 | (letm ((besarr (vector-double-float 4))) |
|---|
| 513 | (spherical-bessel-yl-array 4.0d0 besarr) |
|---|
| 514 | (data besarr)) |
|---|
| 515 | (spherical-bessel-i0-scaled 4.0d0) |
|---|
| 516 | (spherical-bessel-i1-scaled 4.0d0) |
|---|
| 517 | (spherical-bessel-i2-scaled 4.0d0) |
|---|
| 518 | (spherical-bessel-il-scaled 3 4.0d0) |
|---|
| 519 | (letm ((besarr (vector-double-float 4))) |
|---|
| 520 | (spherical-bessel-il-scaled-array 4.0d0 besarr) |
|---|
| 521 | (data besarr)) |
|---|
| 522 | (spherical-bessel-k0-scaled 4.0d0) |
|---|
| 523 | (spherical-bessel-k1-scaled 4.0d0) |
|---|
| 524 | |
|---|
| 525 | (spherical-bessel-k2-scaled 4.0d0) |
|---|
| 526 | (spherical-bessel-kl-scaled 3 4.0d0) |
|---|
| 527 | (letm ((besarr (vector-double-float 4))) |
|---|
| 528 | (spherical-bessel-kl-scaled-array 4.0d0 besarr) |
|---|
| 529 | (data besarr)) |
|---|
| 530 | (bessel-jnu 3.0d0 4.0d0) |
|---|
| 531 | (letm ((besarr (vector-double-float #(1.0d0 2.0d0 3.0d0)))) |
|---|
| 532 | (spherical-Jnu-array 0.5d0 besarr) |
|---|
| 533 | (data besarr)) |
|---|
| 534 | (bessel-Ynu 3.0d0 4.0d0) |
|---|
| 535 | (bessel-Inu 3.0d0 4.0d0) |
|---|
| 536 | (bessel-Inu-scaled 3.0d0 4.0d0) |
|---|
| 537 | (bessel-Knu 3.0d0 4.0d0) |
|---|
| 538 | (bessel-lnKnu 3.0d0 4.0d0) |
|---|
| 539 | (bessel-Knu-scaled 3.0d0 4.0d0) |
|---|
| 540 | (bessel-zero-J0 5) |
|---|
| 541 | (bessel-zero-J1 5) |
|---|
| 542 | (bessel-zero-Jnu 2.0d0 5)) |
|---|
| 543 | |
|---|
| 544 | |# |
|---|
| 545 | |
|---|
| 546 | (LISP-UNIT:DEFINE-TEST BESSEL |
|---|
| 547 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 548 | (LIST -0.3971498098638474d0 4.334456411751256d-16) |
|---|
| 549 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-J0 4.0d0))) |
|---|
| 550 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 551 | (LIST -0.0660433280235491d0 2.1409770694795335d-16) |
|---|
| 552 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-J1 4.0d0))) |
|---|
| 553 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 554 | (LIST 0.3641281458520729d0 3.974061014982464d-16) |
|---|
| 555 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-JN 2 4.0d0))) |
|---|
| 556 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 557 | (LIST |
|---|
| 558 | #(0.35283402861563773d0 0.12894324947440206d0 |
|---|
| 559 | 0.033995719807568436d0 0.007039629755871686d0)) |
|---|
| 560 | (MULTIPLE-VALUE-LIST |
|---|
| 561 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 562 | (CYLINDRICAL-BESSEL-JN-ARRAY 2.0d0 BESARR 2) |
|---|
| 563 | (DATA BESARR)))) |
|---|
| 564 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 565 | (LIST -0.016940739325064968d0 1.8993556609468549d-16) |
|---|
| 566 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-Y0 4.0d0))) |
|---|
| 567 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 568 | (LIST 0.3979257105570999d0 3.1396236150465943d-16) |
|---|
| 569 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-Y1 4.0d0))) |
|---|
| 570 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 571 | (LIST -0.18202211595348539d0 3.355735727760045d-16) |
|---|
| 572 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-YN 3 4.0d0))) |
|---|
| 573 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 574 | (LIST |
|---|
| 575 | #(-0.6174081041906827d0 -1.127783776840428d0 |
|---|
| 576 | -2.7659432263306014d0 -9.935989128481978d0)) |
|---|
| 577 | (MULTIPLE-VALUE-LIST |
|---|
| 578 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 579 | (CYLINDRICAL-BESSEL-YN-ARRAY 2.0d0 BESARR 2) |
|---|
| 580 | (DATA BESARR)))) |
|---|
| 581 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 582 | (LIST 11.301921952136329d0 2.7297681442535893d-14) |
|---|
| 583 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-I0 4.0d0))) |
|---|
| 584 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 585 | (LIST 9.759465153704449d0 1.9210136786427457d-14) |
|---|
| 586 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-I1 4.0d0))) |
|---|
| 587 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 588 | (LIST 3.3372757784203446d0 8.06056628872663d-15) |
|---|
| 589 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-IN 3 4.0d0))) |
|---|
| 590 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 591 | (LIST |
|---|
| 592 | #(0.6889484476987382d0 0.21273995923985267d0 |
|---|
| 593 | 0.05072856997918024d0 0.009825679323131702d0)) |
|---|
| 594 | (MULTIPLE-VALUE-LIST |
|---|
| 595 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 596 | (CYLINDRICAL-BESSEL-IN-ARRAY 2.0d0 BESARR 2) |
|---|
| 597 | (DATA BESARR)))) |
|---|
| 598 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 599 | (LIST 0.2070019212239867d0 2.241925168997723d-16) |
|---|
| 600 | (MULTIPLE-VALUE-LIST |
|---|
| 601 | (CYLINDRICAL-BESSEL-I0-SCALED 4.0d0))) |
|---|
| 602 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 603 | (LIST 0.1787508395024353d0 1.1370197115937822d-16) |
|---|
| 604 | (MULTIPLE-VALUE-LIST |
|---|
| 605 | (CYLINDRICAL-BESSEL-I1-SCALED 4.0d0))) |
|---|
| 606 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 607 | (LIST 0.0611243380296663d0 9.334510342661594d-17) |
|---|
| 608 | (MULTIPLE-VALUE-LIST |
|---|
| 609 | (CYLINDRICAL-BESSEL-IN-SCALED 3 4.0d0))) |
|---|
| 610 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 611 | (LIST |
|---|
| 612 | #(0.09323903330473338d0 0.028791222639470898d0 |
|---|
| 613 | 0.006865365386320685d0 0.0013297610941881578d0)) |
|---|
| 614 | (MULTIPLE-VALUE-LIST |
|---|
| 615 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 616 | (CYLINDRICAL-BESSEL-IN-SCALED-ARRAY 2.0d0 BESARR |
|---|
| 617 | 2) |
|---|
| 618 | (DATA BESARR)))) |
|---|
| 619 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 620 | (LIST 0.011159676085853023d0 2.0424662435034432d-17) |
|---|
| 621 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-K0 4.0d0))) |
|---|
| 622 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 623 | (LIST 0.01248349888726843d0 1.767412161819488d-17) |
|---|
| 624 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-K1 4.0d0))) |
|---|
| 625 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 626 | (LIST 0.017401425529487143d0 2.257461693414273d-16) |
|---|
| 627 | (MULTIPLE-VALUE-LIST (CYLINDRICAL-BESSEL-KN 2 4.0d0))) |
|---|
| 628 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 629 | (LIST |
|---|
| 630 | #(0.2537597545660558d0 0.6473853909486341d0 |
|---|
| 631 | 2.1959159274119586d0 9.431049100596468d0)) |
|---|
| 632 | (MULTIPLE-VALUE-LIST |
|---|
| 633 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 634 | (CYLINDRICAL-BESSEL-KN-ARRAY 2.0d0 BESARR 2) |
|---|
| 635 | (DATA BESARR)))) |
|---|
| 636 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 637 | (LIST 0.6092976692566953d0 3.0340122249326356d-16) |
|---|
| 638 | (MULTIPLE-VALUE-LIST |
|---|
| 639 | (CYLINDRICAL-BESSEL-K0-SCALED 4.0d0))) |
|---|
| 640 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 641 | (LIST 0.681575945185671d0 3.596132979136138d-16) |
|---|
| 642 | (MULTIPLE-VALUE-LIST |
|---|
| 643 | (CYLINDRICAL-BESSEL-K1-SCALED 4.0d0))) |
|---|
| 644 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 645 | (LIST 0.9500856418495256d0 1.1481477659153143d-14) |
|---|
| 646 | (MULTIPLE-VALUE-LIST |
|---|
| 647 | (CYLINDRICAL-BESSEL-KN-SCALED 2 4.0d0))) |
|---|
| 648 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 649 | (LIST |
|---|
| 650 | #(0.2537597545660558d0 0.6473853909486341d0 |
|---|
| 651 | 2.1959159274119586d0 9.431049100596468d0)) |
|---|
| 652 | (MULTIPLE-VALUE-LIST |
|---|
| 653 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 654 | (CYLINDRICAL-BESSEL-KN-ARRAY 2.0d0 BESARR 2) |
|---|
| 655 | (DATA BESARR)))) |
|---|
| 656 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 657 | (LIST -0.18920062382698205d0 1.6804391107692678d-16) |
|---|
| 658 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-J0 4.0d0))) |
|---|
| 659 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 660 | (LIST 0.11611074925915747d0 2.387125482192573d-16) |
|---|
| 661 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-J1 4.0d0))) |
|---|
| 662 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 663 | (LIST 0.27628368577135015d0 3.680838111259856d-16) |
|---|
| 664 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-J2 4.0d0))) |
|---|
| 665 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 666 | (LIST 0.22924385795503022d0 4.581212568400321d-16) |
|---|
| 667 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-JL 3 4.0d0))) |
|---|
| 668 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 669 | (LIST |
|---|
| 670 | #(-0.18920062382698202d0 0.11611074925915743d0 |
|---|
| 671 | 0.2762836857713501d0 0.22924385795503022d0)) |
|---|
| 672 | (MULTIPLE-VALUE-LIST |
|---|
| 673 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 674 | (SPHERICAL-BESSEL-JL-ARRAY 4.0d0 BESARR) |
|---|
| 675 | (DATA BESARR)))) |
|---|
| 676 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 677 | (LIST |
|---|
| 678 | #(-0.18920062382698208d0 0.11611074925915742d0 |
|---|
| 679 | 0.27628368577135015d0 0.22924385795503024d0)) |
|---|
| 680 | (MULTIPLE-VALUE-LIST |
|---|
| 681 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 682 | (SPHERICAL-BESSEL-JL-STEED-ARRAY 4.0d0 BESARR) |
|---|
| 683 | (DATA BESARR)))) |
|---|
| 684 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 685 | (LIST 0.16341090521590299d0 1.4513803955642766d-16) |
|---|
| 686 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-Y0 4.0d0))) |
|---|
| 687 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 688 | (LIST 0.2300533501309578d0 1.5324631572452525d-16) |
|---|
| 689 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-Y1 4.0d0))) |
|---|
| 690 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 691 | (LIST 0.009129107382315343d0 1.6876604955506113d-16) |
|---|
| 692 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-Y2 4.0d0))) |
|---|
| 693 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 694 | (LIST 0.009129107382315343d0 1.6876604955506113d-16) |
|---|
| 695 | (MULTIPLE-VALUE-LIST (SPHERICAL-BESSEL-YL 2 4.0d0))) |
|---|
| 696 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 697 | (LIST |
|---|
| 698 | #(0.16341090521590299d0 0.2300533501309578d0 |
|---|
| 699 | 0.009129107382315343d0 -0.21864196590306362d0)) |
|---|
| 700 | (MULTIPLE-VALUE-LIST |
|---|
| 701 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 702 | (SPHERICAL-BESSEL-YL-ARRAY 4.0d0 BESARR) |
|---|
| 703 | (DATA BESARR)))) |
|---|
| 704 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 705 | (LIST 0.12495806717151219d0 5.5492529314587895d-17) |
|---|
| 706 | (MULTIPLE-VALUE-LIST |
|---|
| 707 | (SPHERICAL-BESSEL-I0-SCALED 4.0d0))) |
|---|
| 708 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 709 | (LIST 0.09380241603560975d0 4.165664081928078d-17) |
|---|
| 710 | (MULTIPLE-VALUE-LIST |
|---|
| 711 | (SPHERICAL-BESSEL-I1-SCALED 4.0d0))) |
|---|
| 712 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 713 | (LIST 0.05460625514480487d0 2.425004870012731d-17) |
|---|
| 714 | (MULTIPLE-VALUE-LIST |
|---|
| 715 | (SPHERICAL-BESSEL-I2-SCALED 4.0d0))) |
|---|
| 716 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 717 | (LIST 0.02554459710460367d0 5.842201171222646d-16) |
|---|
| 718 | (MULTIPLE-VALUE-LIST |
|---|
| 719 | (SPHERICAL-BESSEL-IL-SCALED 3 4.0d0))) |
|---|
| 720 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 721 | (LIST |
|---|
| 722 | #(0.12495806717151212d0 0.09380241603560971d0 |
|---|
| 723 | 0.05460625514480483d0 0.02554459710460367d0)) |
|---|
| 724 | (MULTIPLE-VALUE-LIST |
|---|
| 725 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 726 | (SPHERICAL-BESSEL-IL-SCALED-ARRAY 4.0d0 BESARR) |
|---|
| 727 | (DATA BESARR)))) |
|---|
| 728 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 729 | (LIST 0.39269908169872414d0 1.743934249004316d-16) |
|---|
| 730 | (MULTIPLE-VALUE-LIST |
|---|
| 731 | (SPHERICAL-BESSEL-K0-SCALED 4.0d0))) |
|---|
| 732 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 733 | (LIST 0.4908738521234052d0 2.1799178112553949d-16) |
|---|
| 734 | (MULTIPLE-VALUE-LIST |
|---|
| 735 | (SPHERICAL-BESSEL-K1-SCALED 4.0d0))) |
|---|
| 736 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 737 | (LIST 0.760854470791278d0 3.378872607445862d-16) |
|---|
| 738 | (MULTIPLE-VALUE-LIST |
|---|
| 739 | (SPHERICAL-BESSEL-K2-SCALED 4.0d0))) |
|---|
| 740 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 741 | (LIST 0.02554459710460367d0 5.842201171222646d-16) |
|---|
| 742 | (MULTIPLE-VALUE-LIST |
|---|
| 743 | (SPHERICAL-BESSEL-KL-SCALED 3 4.0d0))) |
|---|
| 744 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 745 | (LIST |
|---|
| 746 | #(0.39269908169872414d0 0.4908738521234052d0 |
|---|
| 747 | 0.760854470791278d0 1.4419419406125027d0)) |
|---|
| 748 | (MULTIPLE-VALUE-LIST |
|---|
| 749 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT 4))) |
|---|
| 750 | (SPHERICAL-BESSEL-KL-SCALED-ARRAY 4.0d0 BESARR) |
|---|
| 751 | (DATA BESARR)))) |
|---|
| 752 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 753 | (LIST 0.43017147387562193d0 7.641380397338472d-16) |
|---|
| 754 | (MULTIPLE-VALUE-LIST (BESSEL-JNU 3.0d0 4.0d0))) |
|---|
| 755 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 756 | (LIST |
|---|
| 757 | #(0.6713967071418024d0 0.5130161365618323d0 |
|---|
| 758 | 0.06500818287738516d0)) |
|---|
| 759 | (MULTIPLE-VALUE-LIST |
|---|
| 760 | (LETM ((BESARR (VECTOR-DOUBLE-FLOAT #(1.0d0 2.0d0 3.0d0)))) |
|---|
| 761 | (SPHERICAL-JNU-ARRAY 0.5d0 BESARR) |
|---|
| 762 | (DATA BESARR)))) |
|---|
| 763 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 764 | (LIST -0.1820221159534852d0 2.020851441225493d-15) |
|---|
| 765 | (MULTIPLE-VALUE-LIST (BESSEL-YNU 3.0d0 4.0d0))) |
|---|
| 766 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 767 | (LIST 3.3372757784203437d0 1.1856385307923545d-14) |
|---|
| 768 | (MULTIPLE-VALUE-LIST (BESSEL-INU 3.0d0 4.0d0))) |
|---|
| 769 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 770 | (LIST 0.061124338029666284d0 1.3572329489101316d-16) |
|---|
| 771 | (MULTIPLE-VALUE-LIST (BESSEL-INU-SCALED 3.0d0 4.0d0))) |
|---|
| 772 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 773 | (LIST 0.029884924416755682d0 1.0617257976532701d-16) |
|---|
| 774 | (MULTIPLE-VALUE-LIST (BESSEL-KNU 3.0d0 4.0d0))) |
|---|
| 775 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 776 | (LIST -3.5104011258456183d0 4.776268519767339d-15) |
|---|
| 777 | (MULTIPLE-VALUE-LIST (BESSEL-LNKNU 3.0d0 4.0d0))) |
|---|
| 778 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 779 | (LIST 1.6316615870352025d0 5.072223134504136d-15) |
|---|
| 780 | (MULTIPLE-VALUE-LIST (BESSEL-KNU-SCALED 3.0d0 4.0d0))) |
|---|
| 781 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 782 | (LIST 14.930917708487813d0 4.4792753125463437d-14) |
|---|
| 783 | (MULTIPLE-VALUE-LIST (BESSEL-ZERO-J0 5))) |
|---|
| 784 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 785 | (LIST 16.470630050877624d0 3.2941260101755246d-13) |
|---|
| 786 | (MULTIPLE-VALUE-LIST (BESSEL-ZERO-J1 5))) |
|---|
| 787 | (LISP-UNIT::ASSERT-NUMERICAL-EQUAL |
|---|
| 788 | (LIST 17.95981949498783d0 3.591963898997566d-14) |
|---|
| 789 | (MULTIPLE-VALUE-LIST (BESSEL-ZERO-JNU 2.0d0 5)))) |
|---|
| 790 | |
|---|
| 791 | |
|---|