|
|
Examples
|
|
|
--------
|
|
|
|
|
|
The [Jacobian elliptic functions](http://www.gnu.org/software/gsl/manual/html_node/Elliptic-Functions-_0028Jacobi_0029.html) *sn*, *cn*, and *dn* are special functions (Chapter 7):
|
|
|
|
|
|
(jacobian-elliptic-functions 0.2d0 0.81d0)
|
|
|
0.19762082367187703d0
|
|
|
0.9802785369736752d0
|
|
|
0.9840560289645665d0
|
|
|
|
|
|
which returns as multiple values the three function values. The functions are defined only if the second argument *m* is not greater than 1, so an error is signalled if this parameter is out of range:
|
|
|
|
|
|
(jacobian-elliptic-functions 0.61802d0 1.5d0)
|
|
|
Input domain error |m| > 1.0 in elljac.c at line 46
|
|
|
[Condition of type INPUT-DOMAIN]
|
|
|
|
|
|
This is an ordinary Lisp error which may be handled with standard definitions available in Lisp. To take the [complex conjugate scalar product](file:///usr/share/doc/gsl-ref-html/Level-1-GSL-BLAS-Interface.html) of two complex vectors of length 3:
|
|
|
|
|
|
(cdot #2m(#c(-34.5d0 8.24d0) #c(3.29d0 -8.93d0) #c(34.12d0 -6.15d0))
|
|
|
#2m(#c(49.27d0 -13.49d0) #c(32.5d0 42.73d0) #c(-17.24d0 43.31d0)))
|
|
|
#C(-2940.2118d0 1861.9380999999998d0)
|
|
|
|
|
|
There are over 1500 examples available from within GSLL with the function `examples`. There is also a suite of over 4000 tests; many of the examples also serve as tests, and most others are ported from GSL's tests. |