CMh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z {|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !!!""""""""""""""""""""""""""""""""""""""""""""""############$$%& & & & & &&&&&&&&&&&&&&&&&&' '!'"'#'$'%'&'()*+,-./012(3(4(5(6(7(8(9(:(;(<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a*b*c*d*e*f*g*2+portable (uses FFI) provisionalAlberto Ruiz <aruiz@um.es> hdescription of GSL error codes i debug x = trace (show x) xjuseful for expressions like sortBy (compare `on` length) k partit 3 [1..9] == [[1,2,3],[4,5,6],[7,8,9]]l1obtains the common value of a property of a list mpostfix function application (flip ($)) nspecialized fromIntegral oAerror codes for the auxiliary functions required by the wrappers pcheck the error code 3hqrstuvwxyz{|}~ijklmnop,hqrstuvwxyz{|}~ijklmnop,portable (uses FFI) provisionalAlberto Ruiz <aruiz@um.es>HA one-dimensional array of objects stored in a contiguous memory block. number of elements $foreign pointer to the memory block "allocates memory for a new vector creates a Vector from a list: > fromList [2,3,5,7] 4 |> [2.0,3.0,5.0,7.0]'extracts the Vector elements to a list > toList (linspace 5 (1,10)) [1.0,3.25,5.5,7.75,10.0]an alternative to J with explicit dimension, used also in the instances for Show (Vector a). 1access to Vector elements without range checking /access to Vector elements with range checking. 5takes a number of consecutive elements from a Vector  > subVector 2 3 (fromList [1..10]) 3 |> [3.0,4.0,5.0]Reads a vector position: > fromList [0..9] @> 7 7.02creates a new Vector by joining a list of Vectors > join [fromList [1..5], constant 1 3] %8 |> [1.0,2.0,3.0,4.0,5.0,1.0,1.0,1.0]Ztransforms a complex vector into a real vector with alternating real and imaginary parts Ytransforms a real vector into a complex vector with alternating real and imaginary parts map on Vectors zipWith for Vectors   -portable (uses FFI) provisionalAlberto Ruiz <aruiz@um.es> NOptimized matrix computations are provided for elements in the Element class. @Matrix representation suitable for GSL and LAPACK computations. Matrix transpose. *Creates a vector by concatenation of rows > flatten (ident 3) )9 |> [1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]the inverse of Data.Packed.Matrix.fromLists (creates a Matrix from a list of vectors 3extracts the rows of a matrix as a list of vectors 4Creates a matrix from a list of vectors, as columns 7Creates a list of vectors from the columns of a matrix Reads a matrix position. Creates a matrix from a vector by grouping the elements in rows with the desired number of columns. (GNU-Octave groups by columns. To do it you can define reshapeF r = trans . reshape r (where r is the desired number of rows.) > reshape 4 ( [1..12]) (3><4)  [ 1.0, 2.0, 3.0, 4.0  , 5.0, 6.0, 7.0, 8.0  , 9.0, 10.0, 11.0, 12.0 ]Bapplication of a vector function on the flattened matrix elements Dapplication of a vector function on the flattened matrices elements matrix product -extraction of a submatrix from a real matrix 0extraction of a submatrix from a complex matrix $Extracts a submatrix from a matrix. #diagonal matrix from a real vector #diagonal matrix from a real vector 0creates a square matrix with the given diagonal :creates a vector with a given number of equal components: > constant 2 7 !7 |> [2.0,2.0,2.0,2.0,2.0,2.0,2.0]2obtains the complex conjugate of a complex vector Dcreates a complex vector from vectors with real and imaginary parts the inverse of  Qconverts a real vector into a complex representation (with zero imaginary parts) uloads a matrix efficiently from formatted ASCII text file (the number of rows and columns must be known in advance). H   9     .portable provisionalAlberto Ruiz <aruiz@um.es>hqrstuvwxyz{|}~ijklmnop    /uses ffi provisional!Alberto Ruiz (aruiz at um dot es)access to a sf_result access to sf_result_e10  ! !  !uses ffi provisional!Alberto Ruiz (aruiz at um dot es),Ewrapper for int gsl_sf_legendre_Pl_e(int l,double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_Pl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky "7wrapper for double gsl_sf_legendre_Pl(int l,double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_Pl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for int gsl_sf_legendre_Pl_array(int lmax,double x,double* result_array);  phttp://www.google.com/search?q=gsl_sf_legendre_Pl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky swrapper for int gsl_sf_legendre_Pl_deriv_array(int lmax,double x,double* result_array,double* result_deriv_array);  vhttp://www.google.com/search?q=gsl_sf_legendre_Pl_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for int gsl_sf_legendre_P1_e(double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_P1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for int gsl_sf_legendre_P2_e(double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_P2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for int gsl_sf_legendre_P3_e(double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_P3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky #1wrapper for double gsl_sf_legendre_P1(double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_P1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky $1wrapper for double gsl_sf_legendre_P2(double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_P2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky %1wrapper for double gsl_sf_legendre_P3(double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_P3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for int gsl_sf_legendre_Q0_e(double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_Q0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky &1wrapper for double gsl_sf_legendre_Q0(double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_Q0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for int gsl_sf_legendre_Q1_e(double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_Q1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky '1wrapper for double gsl_sf_legendre_Q1(double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_Q1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ewrapper for int gsl_sf_legendre_Ql_e(int l,double x,double* result);  lhttp://www.google.com/search?q=gsl_sf_legendre_Ql_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky (7wrapper for double gsl_sf_legendre_Ql(int l,double x);  jhttp://www.google.com/search?q=gsl_sf_legendre_Ql&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_legendre_Plm_e(int l,int m,double x,double* result);  mhttp://www.google.com/search?q=gsl_sf_legendre_Plm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky )>wrapper for double gsl_sf_legendre_Plm(int l,int m,double x);  khttp://www.google.com/search?q=gsl_sf_legendre_Plm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ywrapper for int gsl_sf_legendre_Plm_array(int lmax,int m,double x,double* result_array);  qhttp://www.google.com/search?q=gsl_sf_legendre_Plm_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky zwrapper for int gsl_sf_legendre_Plm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);  whttp://www.google.com/search?q=gsl_sf_legendre_Plm_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Owrapper for int gsl_sf_legendre_sphPlm_e(int l,int m,double x,double* result);  phttp://www.google.com/search?q=gsl_sf_legendre_sphPlm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky *Awrapper for double gsl_sf_legendre_sphPlm(int l,int m,double x);  nhttp://www.google.com/search?q=gsl_sf_legendre_sphPlm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky \wrapper for int gsl_sf_legendre_sphPlm_array(int lmax,int m,double x,double* result_array);  thttp://www.google.com/search?q=gsl_sf_legendre_sphPlm_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky }wrapper for int gsl_sf_legendre_sphPlm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);  zhttp://www.google.com/search?q=gsl_sf_legendre_sphPlm_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +<wrapper for int gsl_sf_legendre_array_size(int lmax,int m);  rhttp://www.google.com/search?q=gsl_sf_legendre_array_size&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Owrapper for int gsl_sf_conicalP_half_e(double lambda,double x,double* result);  nhttp://www.google.com/search?q=gsl_sf_conicalP_half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ,Awrapper for double gsl_sf_conicalP_half(double lambda,double x);  lhttp://www.google.com/search?q=gsl_sf_conicalP_half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Pwrapper for int gsl_sf_conicalP_mhalf_e(double lambda,double x,double* result);  ohttp://www.google.com/search?q=gsl_sf_conicalP_mhalf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -Bwrapper for double gsl_sf_conicalP_mhalf(double lambda,double x);  mhttp://www.google.com/search?q=gsl_sf_conicalP_mhalf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_conicalP_0_e(double lambda,double x,double* result);  khttp://www.google.com/search?q=gsl_sf_conicalP_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky .>wrapper for double gsl_sf_conicalP_0(double lambda,double x);  ihttp://www.google.com/search?q=gsl_sf_conicalP_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_conicalP_1_e(double lambda,double x,double* result);  khttp://www.google.com/search?q=gsl_sf_conicalP_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky />wrapper for double gsl_sf_conicalP_1(double lambda,double x);  ihttp://www.google.com/search?q=gsl_sf_conicalP_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Xwrapper for int gsl_sf_conicalP_sph_reg_e(int l,double lambda,double x,double* result);  qhttp://www.google.com/search?q=gsl_sf_conicalP_sph_reg_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 0Jwrapper for double gsl_sf_conicalP_sph_reg(int l,double lambda,double x);  ohttp://www.google.com/search?q=gsl_sf_conicalP_sph_reg&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Xwrapper for int gsl_sf_conicalP_cyl_reg_e(int m,double lambda,double x,double* result);  qhttp://www.google.com/search?q=gsl_sf_conicalP_cyl_reg_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 1Jwrapper for double gsl_sf_conicalP_cyl_reg(int m,double lambda,double x);  ohttp://www.google.com/search?q=gsl_sf_conicalP_cyl_reg&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for int gsl_sf_legendre_H3d_0_e(double lambda,double eta,double* result);  ohttp://www.google.com/search?q=gsl_sf_legendre_H3d_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 2Dwrapper for double gsl_sf_legendre_H3d_0(double lambda,double eta);  mhttp://www.google.com/search?q=gsl_sf_legendre_H3d_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for int gsl_sf_legendre_H3d_1_e(double lambda,double eta,double* result);  ohttp://www.google.com/search?q=gsl_sf_legendre_H3d_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3Dwrapper for double gsl_sf_legendre_H3d_1(double lambda,double eta);  mhttp://www.google.com/search?q=gsl_sf_legendre_H3d_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Vwrapper for int gsl_sf_legendre_H3d_e(int l,double lambda,double eta,double* result);  mhttp://www.google.com/search?q=gsl_sf_legendre_H3d_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 4Hwrapper for double gsl_sf_legendre_H3d(int l,double lambda,double eta);  khttp://www.google.com/search?q=gsl_sf_legendre_H3d&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky cwrapper for int gsl_sf_legendre_H3d_array(int lmax,double lambda,double eta,double* result_array);  qhttp://www.google.com/search?q=gsl_sf_legendre_H3d_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky "#$%&'()*+,-./01234"#$%&'()*+,-./01234"#$%&'()*+,-./01234uses ffi provisional!Alberto Ruiz (aruiz at um dot es) 5>wrapper for int gsl_sf_log_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_log_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6)wrapper for double gsl_sf_log(double x);  bhttp://www.google.com/search?q=gsl_sf_log&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7Bwrapper for int gsl_sf_log_abs_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_log_abs_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 8-wrapper for double gsl_sf_log_abs(double x);  fhttp://www.google.com/search?q=gsl_sf_log_abs&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky cwrapper for int gsl_sf_complex_log_e(double zr,double zi,gsl_sf_result* lnr,gsl_sf_result* theta);  lhttp://www.google.com/search?q=gsl_sf_complex_log_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 9Ewrapper for int gsl_sf_log_1plusx_e(double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_log_1plusx_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky :0wrapper for double gsl_sf_log_1plusx(double x);  ihttp://www.google.com/search?q=gsl_sf_log_1plusx&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ;Hwrapper for int gsl_sf_log_1plusx_mx_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_log_1plusx_mx_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <3wrapper for double gsl_sf_log_1plusx_mx(double x);  lhttp://www.google.com/search?q=gsl_sf_log_1plusx_mx&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 56789:;<56789:;<56789:;<uses ffi provisional!Alberto Ruiz (aruiz at um dot es)=@wrapper for int gsl_sf_zeta_int_e(int n,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_zeta_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >+wrapper for double gsl_sf_zeta_int(int n);  ghttp://www.google.com/search?q=gsl_sf_zeta_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ??wrapper for int gsl_sf_zeta_e(double s,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_zeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @*wrapper for double gsl_sf_zeta(double s);  chttp://www.google.com/search?q=gsl_sf_zeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky AAwrapper for int gsl_sf_zetam1_e(double s,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_zetam1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky B,wrapper for double gsl_sf_zetam1(double s);  ehttp://www.google.com/search?q=gsl_sf_zetam1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky CBwrapper for int gsl_sf_zetam1_int_e(int s,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_zetam1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky D-wrapper for double gsl_sf_zetam1_int(int s);  ihttp://www.google.com/search?q=gsl_sf_zetam1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky EIwrapper for int gsl_sf_hzeta_e(double s,double q,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_hzeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky F4wrapper for double gsl_sf_hzeta(double s,double q);  dhttp://www.google.com/search?q=gsl_sf_hzeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky G?wrapper for int gsl_sf_eta_int_e(int n,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_eta_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky H*wrapper for double gsl_sf_eta_int(int n);  fhttp://www.google.com/search?q=gsl_sf_eta_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky I>wrapper for int gsl_sf_eta_e(double s,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_eta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky J)wrapper for double gsl_sf_eta(double s);  bhttp://www.google.com/search?q=gsl_sf_eta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky =>?@ABCDEFGHIJ=>?@ABCDEFGHIJ=>?@ABCDEFGHIJuses ffi provisional!Alberto Ruiz (aruiz at um dot es)K>wrapper for int gsl_sf_sin_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_sin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky L)wrapper for double gsl_sf_sin(double x);  bhttp://www.google.com/search?q=gsl_sf_sin&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky M>wrapper for int gsl_sf_cos_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_cos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky N)wrapper for double gsl_sf_cos(double x);  bhttp://www.google.com/search?q=gsl_sf_cos&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky OIwrapper for int gsl_sf_hypot_e(double x,double y,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_hypot_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky P4wrapper for double gsl_sf_hypot(double x,double y);  dhttp://www.google.com/search?q=gsl_sf_hypot&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky awrapper for int gsl_sf_complex_sin_e(double zr,double zi,gsl_sf_result* szr,gsl_sf_result* szi);  lhttp://www.google.com/search?q=gsl_sf_complex_sin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky awrapper for int gsl_sf_complex_cos_e(double zr,double zi,gsl_sf_result* czr,gsl_sf_result* czi);  lhttp://www.google.com/search?q=gsl_sf_complex_cos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky fwrapper for int gsl_sf_complex_logsin_e(double zr,double zi,gsl_sf_result* lszr,gsl_sf_result* lszi);  ohttp://www.google.com/search?q=gsl_sf_complex_logsin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Q?wrapper for int gsl_sf_sinc_e(double x,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_sinc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky R*wrapper for double gsl_sf_sinc(double x);  chttp://www.google.com/search?q=gsl_sf_sinc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky SAwrapper for int gsl_sf_lnsinh_e(double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_lnsinh_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky T,wrapper for double gsl_sf_lnsinh(double x);  ehttp://www.google.com/search?q=gsl_sf_lnsinh&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky UAwrapper for int gsl_sf_lncosh_e(double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_lncosh_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky V,wrapper for double gsl_sf_lncosh(double x);  ehttp://www.google.com/search?q=gsl_sf_lncosh&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky _wrapper for int gsl_sf_polar_to_rect(double r,double theta,gsl_sf_result* x,gsl_sf_result* y);  lhttp://www.google.com/search?q=gsl_sf_polar_to_rect&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky _wrapper for int gsl_sf_rect_to_polar(double x,double y,gsl_sf_result* r,gsl_sf_result* theta);  lhttp://www.google.com/search?q=gsl_sf_rect_to_polar&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky WLwrapper for int gsl_sf_sin_err_e(double x,double dx,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_sin_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky XLwrapper for int gsl_sf_cos_err_e(double x,double dx,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_cos_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky =wrapper for int gsl_sf_angle_restrict_symm_e(double* theta);  thttp://www.google.com/search?q=gsl_sf_angle_restrict_symm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Y=wrapper for double gsl_sf_angle_restrict_symm(double theta);  rhttp://www.google.com/search?q=gsl_sf_angle_restrict_symm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <wrapper for int gsl_sf_angle_restrict_pos_e(double* theta);  shttp://www.google.com/search?q=gsl_sf_angle_restrict_pos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Z<wrapper for double gsl_sf_angle_restrict_pos(double theta);  qhttp://www.google.com/search?q=gsl_sf_angle_restrict_pos&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky [Vwrapper for int gsl_sf_angle_restrict_symm_err_e(double theta,gsl_sf_result* result);  xhttp://www.google.com/search?q=gsl_sf_angle_restrict_symm_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky \Uwrapper for int gsl_sf_angle_restrict_pos_err_e(double theta,gsl_sf_result* result);  whttp://www.google.com/search?q=gsl_sf_angle_restrict_pos_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky KLMNOPQRSTUVWXYZ[\KLMNOPQRSTUVWXYZ[\KLMNOPQRSTUVWXYZ[\ uses ffi provisional!Alberto Ruiz (aruiz at um dot es)]Hwrapper for int gsl_sf_synchrotron_1_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_synchrotron_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ^3wrapper for double gsl_sf_synchrotron_1(double x);  lhttp://www.google.com/search?q=gsl_sf_synchrotron_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky _Hwrapper for int gsl_sf_synchrotron_2_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_synchrotron_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `3wrapper for double gsl_sf_synchrotron_2(double x);  lhttp://www.google.com/search?q=gsl_sf_synchrotron_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ]^_`]^_`]^_` uses ffi provisional!Alberto Ruiz (aruiz at um dot es) a?wrapper for int gsl_sf_psi_int_e(int n,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_psi_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky b*wrapper for double gsl_sf_psi_int(int n);  fhttp://www.google.com/search?q=gsl_sf_psi_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky c>wrapper for int gsl_sf_psi_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_psi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky d)wrapper for double gsl_sf_psi(double x);  bhttp://www.google.com/search?q=gsl_sf_psi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky eCwrapper for int gsl_sf_psi_1piy_e(double y,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_psi_1piy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky f.wrapper for double gsl_sf_psi_1piy(double y);  ghttp://www.google.com/search?q=gsl_sf_psi_1piy&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky kwrapper for int gsl_sf_complex_psi_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im);  lhttp://www.google.com/search?q=gsl_sf_complex_psi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gAwrapper for int gsl_sf_psi_1_int_e(int n,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_psi_1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky h,wrapper for double gsl_sf_psi_1_int(int n);  hhttp://www.google.com/search?q=gsl_sf_psi_1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky i@wrapper for int gsl_sf_psi_1_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_psi_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky j+wrapper for double gsl_sf_psi_1(double x);  dhttp://www.google.com/search?q=gsl_sf_psi_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky kFwrapper for int gsl_sf_psi_n_e(int n,double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_psi_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky l1wrapper for double gsl_sf_psi_n(int n,double x);  dhttp://www.google.com/search?q=gsl_sf_psi_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky abcdefghijkl abcdefghijkl abcdefghijkl uses ffi provisional!Alberto Ruiz (aruiz at um dot es)mHwrapper for int gsl_sf_pow_int_e(double x,int n,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_pow_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky n3wrapper for double gsl_sf_pow_int(double x,int n);  fhttp://www.google.com/search?q=gsl_sf_pow_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky mnmnmn uses ffi provisional!Alberto Ruiz (aruiz at um dot es)oEwrapper for int gsl_sf_lambert_W0_e(double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_lambert_W0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky p0wrapper for double gsl_sf_lambert_W0(double x);  ihttp://www.google.com/search?q=gsl_sf_lambert_W0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky qFwrapper for int gsl_sf_lambert_Wm1_e(double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_lambert_Wm1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky r1wrapper for double gsl_sf_lambert_Wm1(double x);  jhttp://www.google.com/search?q=gsl_sf_lambert_Wm1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky opqropqropqr uses ffi provisional!Alberto Ruiz (aruiz at um dot es)sNwrapper for int gsl_sf_laguerre_1_e(double a,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_laguerre_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky tNwrapper for int gsl_sf_laguerre_2_e(double a,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_laguerre_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uNwrapper for int gsl_sf_laguerre_3_e(double a,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_laguerre_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky v9wrapper for double gsl_sf_laguerre_1(double a,double x);  ihttp://www.google.com/search?q=gsl_sf_laguerre_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky w9wrapper for double gsl_sf_laguerre_2(double a,double x);  ihttp://www.google.com/search?q=gsl_sf_laguerre_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky x9wrapper for double gsl_sf_laguerre_3(double a,double x);  ihttp://www.google.com/search?q=gsl_sf_laguerre_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky yTwrapper for int gsl_sf_laguerre_n_e(int n,double a,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_laguerre_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky z?wrapper for double gsl_sf_laguerre_n(int n,double a,double x);  ihttp://www.google.com/search?q=gsl_sf_laguerre_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky stuvwxyzstuvwxyzstuvwxyzuses ffi provisional!Alberto Ruiz (aruiz at um dot es){Nwrapper for int gsl_sf_hyperg_0F1_e(double c,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_hyperg_0F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky |9wrapper for double gsl_sf_hyperg_0F1(double c,double x);  ihttp://www.google.com/search?q=gsl_sf_hyperg_0F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky }Uwrapper for int gsl_sf_hyperg_1F1_int_e(int m,int n,double x,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_hyperg_1F1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ~@wrapper for double gsl_sf_hyperg_1F1_int(int m,int n,double x);  mhttp://www.google.com/search?q=gsl_sf_hyperg_1F1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Wwrapper for int gsl_sf_hyperg_1F1_e(double a,double b,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_hyperg_1F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for double gsl_sf_hyperg_1F1(double a,double b,double x);  ihttp://www.google.com/search?q=gsl_sf_hyperg_1F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Swrapper for int gsl_sf_hyperg_U_int_e(int m,int n,double x,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_hyperg_U_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >wrapper for double gsl_sf_hyperg_U_int(int m,int n,double x);  khttp://www.google.com/search?q=gsl_sf_hyperg_U_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky [wrapper for int gsl_sf_hyperg_U_int_e10_e(int m,int n,double x,gsl_sf_result_e10* result);  qhttp://www.google.com/search?q=gsl_sf_hyperg_U_int_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Uwrapper for int gsl_sf_hyperg_U_e(double a,double b,double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_hyperg_U_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @wrapper for double gsl_sf_hyperg_U(double a,double b,double x);  ghttp://www.google.com/search?q=gsl_sf_hyperg_U&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ]wrapper for int gsl_sf_hyperg_U_e10_e(double a,double b,double x,gsl_sf_result_e10* result);  mhttp://www.google.com/search?q=gsl_sf_hyperg_U_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `wrapper for int gsl_sf_hyperg_2F1_e(double a,double b,double c,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_hyperg_2F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for double gsl_sf_hyperg_2F1(double a,double b,double c,double x);  ihttp://www.google.com/search?q=gsl_sf_hyperg_2F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gwrapper for int gsl_sf_hyperg_2F1_conj_e(double aR,double aI,double c,double x,gsl_sf_result* result);  phttp://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for double gsl_sf_hyperg_2F1_conj(double aR,double aI,double c,double x);  nhttp://www.google.com/search?q=gsl_sf_hyperg_2F1_conj&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gwrapper for int gsl_sf_hyperg_2F1_renorm_e(double a,double b,double c,double x,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_hyperg_2F1_renorm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for double gsl_sf_hyperg_2F1_renorm(double a,double b,double c,double x);  phttp://www.google.com/search?q=gsl_sf_hyperg_2F1_renorm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky nwrapper for int gsl_sf_hyperg_2F1_conj_renorm_e(double aR,double aI,double c,double x,gsl_sf_result* result);  whttp://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_renorm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ywrapper for double gsl_sf_hyperg_2F1_conj_renorm(double aR,double aI,double c,double x);  uhttp://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_renorm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Wwrapper for int gsl_sf_hyperg_2F0_e(double a,double b,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_hyperg_2F0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for double gsl_sf_hyperg_2F0(double a,double b,double x);  ihttp://www.google.com/search?q=gsl_sf_hyperg_2F0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky {|}~{|}~{|}~uses ffi provisional!Alberto Ruiz (aruiz at um dot es) Twrapper for int gsl_sf_gegenpoly_1_e(double lambda,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gegenpoly_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Twrapper for int gsl_sf_gegenpoly_2_e(double lambda,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gegenpoly_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Twrapper for int gsl_sf_gegenpoly_3_e(double lambda,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gegenpoly_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for double gsl_sf_gegenpoly_1(double lambda,double x);  jhttp://www.google.com/search?q=gsl_sf_gegenpoly_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for double gsl_sf_gegenpoly_2(double lambda,double x);  jhttp://www.google.com/search?q=gsl_sf_gegenpoly_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?wrapper for double gsl_sf_gegenpoly_3(double lambda,double x);  jhttp://www.google.com/search?q=gsl_sf_gegenpoly_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Zwrapper for int gsl_sf_gegenpoly_n_e(int n,double lambda,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gegenpoly_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ewrapper for double gsl_sf_gegenpoly_n(int n,double lambda,double x);  jhttp://www.google.com/search?q=gsl_sf_gegenpoly_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ^wrapper for int gsl_sf_gegenpoly_array(int nmax,double lambda,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_gegenpoly_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Iwrapper for int gsl_sf_fermi_dirac_m1_e(double x,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_fermi_dirac_m1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 4wrapper for double gsl_sf_fermi_dirac_m1(double x);  mhttp://www.google.com/search?q=gsl_sf_fermi_dirac_m1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for int gsl_sf_fermi_dirac_0_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_fermi_dirac_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3wrapper for double gsl_sf_fermi_dirac_0(double x);  lhttp://www.google.com/search?q=gsl_sf_fermi_dirac_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for int gsl_sf_fermi_dirac_1_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_fermi_dirac_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3wrapper for double gsl_sf_fermi_dirac_1(double x);  lhttp://www.google.com/search?q=gsl_sf_fermi_dirac_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for int gsl_sf_fermi_dirac_2_e(double x,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_fermi_dirac_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3wrapper for double gsl_sf_fermi_dirac_2(double x);  lhttp://www.google.com/search?q=gsl_sf_fermi_dirac_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Pwrapper for int gsl_sf_fermi_dirac_int_e(int j,double x,gsl_sf_result* result);  phttp://www.google.com/search?q=gsl_sf_fermi_dirac_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ;wrapper for double gsl_sf_fermi_dirac_int(int j,double x);  nhttp://www.google.com/search?q=gsl_sf_fermi_dirac_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_fermi_dirac_mhalf_e(double x,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_fermi_dirac_mhalf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7wrapper for double gsl_sf_fermi_dirac_mhalf(double x);  phttp://www.google.com/search?q=gsl_sf_fermi_dirac_mhalf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_fermi_dirac_half_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_fermi_dirac_half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_fermi_dirac_half(double x);  ohttp://www.google.com/search?q=gsl_sf_fermi_dirac_half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_fermi_dirac_3half_e(double x,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_fermi_dirac_3half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7wrapper for double gsl_sf_fermi_dirac_3half(double x);  phttp://www.google.com/search?q=gsl_sf_fermi_dirac_3half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Uwrapper for int gsl_sf_fermi_dirac_inc_0_e(double x,double b,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_fermi_dirac_inc_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @wrapper for double gsl_sf_fermi_dirac_inc_0(double x,double b);  phttp://www.google.com/search?q=gsl_sf_fermi_dirac_inc_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Dwrapper for int gsl_sf_expint_E1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_expint_E1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_expint_E1(double x);  hhttp://www.google.com/search?q=gsl_sf_expint_E1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_expint_E2_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_expint_E2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_expint_E2(double x);  hhttp://www.google.com/search?q=gsl_sf_expint_E2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_expint_E1_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_expint_E1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_expint_E1_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_expint_E1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_expint_E2_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_expint_E2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_expint_E2_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_expint_E2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_expint_Ei_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_expint_Ei_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_expint_Ei(double x);  hhttp://www.google.com/search?q=gsl_sf_expint_Ei&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_expint_Ei_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_expint_Ei_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_expint_Ei_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_expint_Ei_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >wrapper for int gsl_sf_Shi_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_Shi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky )wrapper for double gsl_sf_Shi(double x);  bhttp://www.google.com/search?q=gsl_sf_Shi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >wrapper for int gsl_sf_Chi_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_Chi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky )wrapper for double gsl_sf_Chi(double x);  bhttp://www.google.com/search?q=gsl_sf_Chi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Cwrapper for int gsl_sf_expint_3_e(double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_expint_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky .wrapper for double gsl_sf_expint_3(double x);  ghttp://www.google.com/search?q=gsl_sf_expint_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky =wrapper for int gsl_sf_Si_e(double x,gsl_sf_result* result);  chttp://www.google.com/search?q=gsl_sf_Si_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky (wrapper for double gsl_sf_Si(double x);  ahttp://www.google.com/search?q=gsl_sf_Si&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky =wrapper for int gsl_sf_Ci_e(double x,gsl_sf_result* result);  chttp://www.google.com/search?q=gsl_sf_Ci_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky (wrapper for double gsl_sf_Ci(double x);  ahttp://www.google.com/search?q=gsl_sf_Ci&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for int gsl_sf_atanint_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_atanint_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_atanint(double x);  fhttp://www.google.com/search?q=gsl_sf_atanint&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Wwrapper for int gsl_sf_ellint_Kcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_ellint_Kcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for double gsl_sf_ellint_Kcomp(double k,gsl_mode_t mode);  khttp://www.google.com/search?q=gsl_sf_ellint_Kcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Wwrapper for int gsl_sf_ellint_Ecomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_ellint_Ecomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for double gsl_sf_ellint_Ecomp(double k,gsl_mode_t mode);  khttp://www.google.com/search?q=gsl_sf_ellint_Ecomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `wrapper for int gsl_sf_ellint_Pcomp_e(double k,double n,gsl_mode_t mode,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_ellint_Pcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Cellint_Pcomp_e :: Double -> Double -> Precision -> (Double,Double) $ellint_Pcomp_e k n mode = createSFR ellint_Pcomp_e. $ gsl_sf_ellint_Pcomp_e k n (precCode mode) foreign import ccall ellint.h gsl_sf_ellint_Pcomp_eN gsl_sf_ellint_Pcomp_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt Kwrapper for double gsl_sf_ellint_Pcomp(double k,double n,gsl_mode_t mode);  khttp://www.google.com/search?q=gsl_sf_ellint_Pcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 8ellint_Pcomp :: Double -> Double -> Precision -> Double Aellint_Pcomp k n mode = gsl_sf_ellint_Pcomp k n (precCode mode) foreign import ccall ellint.h gsl_sf_ellint_PcompA gsl_sf_ellint_Pcomp :: Double -> Double -> Gsl_mode_t -> Double Wwrapper for int gsl_sf_ellint_Dcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_ellint_Dcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 9ellint_Dcomp_e :: Double -> Precision -> (Double,Double) "ellint_Dcomp_e k mode = createSFR ellint_Dcomp_e, $ gsl_sf_ellint_Dcomp_e k (precCode mode) foreign import ccall ellint.h gsl_sf_ellint_Dcomp_eD gsl_sf_ellint_Dcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt Bwrapper for double gsl_sf_ellint_Dcomp(double k,gsl_mode_t mode);  khttp://www.google.com/search?q=gsl_sf_ellint_Dcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky .ellint_Dcomp :: Double -> Precision -> Double =ellint_Dcomp k mode = gsl_sf_ellint_Dcomp k (precCode mode) foreign import ccall ellint.h gsl_sf_ellint_Dcomp7 gsl_sf_ellint_Dcomp :: Double -> Gsl_mode_t -> Double ^wrapper for int gsl_sf_ellint_F_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_ellint_F_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Iwrapper for double gsl_sf_ellint_F(double phi,double k,gsl_mode_t mode);  ghttp://www.google.com/search?q=gsl_sf_ellint_F&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ^wrapper for int gsl_sf_ellint_E_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_ellint_E_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Iwrapper for double gsl_sf_ellint_E(double phi,double k,gsl_mode_t mode);  ghttp://www.google.com/search?q=gsl_sf_ellint_E&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gwrapper for int gsl_sf_ellint_P_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_ellint_P_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for double gsl_sf_ellint_P(double phi,double k,double n,gsl_mode_t mode);  ghttp://www.google.com/search?q=gsl_sf_ellint_P&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gwrapper for int gsl_sf_ellint_D_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_ellint_D_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Rwrapper for double gsl_sf_ellint_D(double phi,double k,double n,gsl_mode_t mode);  ghttp://www.google.com/search?q=gsl_sf_ellint_D&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ]wrapper for int gsl_sf_ellint_RC_e(double x,double y,gsl_mode_t mode,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_ellint_RC_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for double gsl_sf_ellint_RC(double x,double y,gsl_mode_t mode);  hhttp://www.google.com/search?q=gsl_sf_ellint_RC&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky fwrapper for int gsl_sf_ellint_RD_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_ellint_RD_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Qwrapper for double gsl_sf_ellint_RD(double x,double y,double z,gsl_mode_t mode);  hhttp://www.google.com/search?q=gsl_sf_ellint_RD&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky fwrapper for int gsl_sf_ellint_RF_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_ellint_RF_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Qwrapper for double gsl_sf_ellint_RF(double x,double y,double z,gsl_mode_t mode);  hhttp://www.google.com/search?q=gsl_sf_ellint_RF&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky owrapper for int gsl_sf_ellint_RJ_e(double x,double y,double z,double p,gsl_mode_t mode,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_ellint_RJ_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Zwrapper for double gsl_sf_ellint_RJ(double x,double y,double z,double p,gsl_mode_t mode);  hhttp://www.google.com/search?q=gsl_sf_ellint_RJ&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Lwrapper for int gsl_sf_multiply_e(double x,double y,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_multiply_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7wrapper for double gsl_sf_multiply(double x,double y);  ghttp://www.google.com/search?q=gsl_sf_multiply&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky dwrapper for int gsl_sf_multiply_err_e(double x,double dx,double y,double dy,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_multiply_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)@wrapper for int gsl_sf_dilog_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_dilog_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +wrapper for double gsl_sf_dilog(double x);  dhttp://www.google.com/search?q=gsl_sf_dilog&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky pwrapper for int gsl_sf_complex_dilog_xy_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im);  qhttp://www.google.com/search?q=gsl_sf_complex_dilog_xy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky qwrapper for int gsl_sf_complex_dilog_e(double r,double theta,gsl_sf_result* result_re,gsl_sf_result* result_im);  nhttp://www.google.com/search?q=gsl_sf_complex_dilog_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky mwrapper for int gsl_sf_complex_spence_xy_e(double x,double y,gsl_sf_result* real_sp,gsl_sf_result* imag_sp);  rhttp://www.google.com/search?q=gsl_sf_complex_spence_xy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Bwrapper for int gsl_sf_debye_1_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_debye_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_debye_1(double x);  fhttp://www.google.com/search?q=gsl_sf_debye_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for int gsl_sf_debye_2_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_debye_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_debye_2(double x);  fhttp://www.google.com/search?q=gsl_sf_debye_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for int gsl_sf_debye_3_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_debye_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_debye_3(double x);  fhttp://www.google.com/search?q=gsl_sf_debye_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for int gsl_sf_debye_4_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_debye_4_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_debye_4(double x);  fhttp://www.google.com/search?q=gsl_sf_debye_4&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Awrapper for int gsl_sf_dawson_e(double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_dawson_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ,wrapper for double gsl_sf_dawson(double x);  ehttp://www.google.com/search?q=gsl_sf_dawson&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es) wrapper for int gsl_sf_coupling_3j_e(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_coupling_3j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky jwrapper for double gsl_sf_coupling_3j(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc);  jhttp://www.google.com/search?q=gsl_sf_coupling_3j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coupling_6j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_coupling_6j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky jwrapper for double gsl_sf_coupling_6j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);  jhttp://www.google.com/search?q=gsl_sf_coupling_6j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coupling_RacahW_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);  phttp://www.google.com/search?q=gsl_sf_coupling_RacahW_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky nwrapper for double gsl_sf_coupling_RacahW(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);  nhttp://www.google.com/search?q=gsl_sf_coupling_RacahW&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coupling_9j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_coupling_9j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for double gsl_sf_coupling_9j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji);  jhttp://www.google.com/search?q=gsl_sf_coupling_9j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coupling_6j_INCORRECT_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);  vhttp://www.google.com/search?q=gsl_sf_coupling_6j_INCORRECT_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky twrapper for double gsl_sf_coupling_6j_INCORRECT(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);  thttp://www.google.com/search?q=gsl_sf_coupling_6j_INCORRECT&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es) Qwrapper for int gsl_sf_hydrogenicR_1_e(double Z,double r,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_hydrogenicR_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <wrapper for double gsl_sf_hydrogenicR_1(double Z,double r);  lhttp://www.google.com/search?q=gsl_sf_hydrogenicR_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky [wrapper for int gsl_sf_hydrogenicR_e(int n,int l,double Z,double r,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_hydrogenicR_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Fwrapper for double gsl_sf_hydrogenicR(int n,int l,double Z,double r);  jhttp://www.google.com/search?q=gsl_sf_hydrogenicR&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coulomb_wave_FG_e(double eta,double x,double lam_F,int k_lam_G,gsl_sf_result* F,gsl_sf_result* Fp,gsl_sf_result* G,gsl_sf_result* Gp,double* exp_F,double* exp_G);  phttp://www.google.com/search?q=gsl_sf_coulomb_wave_FG_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ~wrapper for int gsl_sf_coulomb_wave_F_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);  shttp://www.google.com/search?q=gsl_sf_coulomb_wave_F_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wrapper for int gsl_sf_coulomb_wave_FG_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* gc_array,double* F_exponent,double* G_exponent);  thttp://www.google.com/search?q=gsl_sf_coulomb_wave_FG_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  wrapper for int gsl_sf_coulomb_wave_FGp_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* fcp_array,double* gc_array,double* gcp_array,double* F_exponent,double* G_exponent);  uhttp://www.google.com/search?q=gsl_sf_coulomb_wave_FGp_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  wrapper for int gsl_sf_coulomb_wave_sphF_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);  vhttp://www.google.com/search?q=gsl_sf_coulomb_wave_sphF_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Pwrapper for int gsl_sf_coulomb_CL_e(double L,double eta,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_coulomb_CL_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Uwrapper for int gsl_sf_coulomb_CL_array(double Lmin,int kmax,double eta,double* cl);  ohttp://www.google.com/search?q=gsl_sf_coulomb_CL_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Bwrapper for int gsl_sf_clausen_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_clausen_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_clausen(double x);  fhttp://www.google.com/search?q=gsl_sf_clausen&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uses ffi provisional!Alberto Ruiz (aruiz at um dot es)dDwrapper for int gsl_sf_bessel_J0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_J0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_J0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_J0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_J1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_J1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_J1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_J1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_bessel_Jn_e(int n,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_Jn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_bessel_Jn(int n,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_Jn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Ywrapper for int gsl_sf_bessel_Jn_array(int nmin,int nmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_Jn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_Y0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_Y0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_Y0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_Y0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_Y1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_Y1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_Y1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_Y1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_bessel_Yn_e(int n,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_Yn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_bessel_Yn(int n,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_Yn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Ywrapper for int gsl_sf_bessel_Yn_array(int nmin,int nmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_Yn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_I0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_I0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_I0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_I0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_I1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_I1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_I1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_I1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_bessel_In_e(int n,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_In_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_bessel_In(int n,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_In&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ywrapper for int gsl_sf_bessel_In_array(int nmin,int nmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_In_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_bessel_I0_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_I0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_bessel_I0_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_I0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Kwrapper for int gsl_sf_bessel_I1_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_I1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  6wrapper for double gsl_sf_bessel_I1_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_I1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Qwrapper for int gsl_sf_bessel_In_scaled_e(int n,double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_In_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  <wrapper for double gsl_sf_bessel_In_scaled(int n,double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_In_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `wrapper for int gsl_sf_bessel_In_scaled_array(int nmin,int nmax,double x,double* result_array);  uhttp://www.google.com/search?q=gsl_sf_bessel_In_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  Dwrapper for int gsl_sf_bessel_K0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_K0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_K0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_K0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_K1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_K1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_K1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_K1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_bessel_Kn_e(int n,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_Kn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_bessel_Kn(int n,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_Kn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Ywrapper for int gsl_sf_bessel_Kn_array(int nmin,int nmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_Kn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_bessel_K0_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_K0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_bessel_K0_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_K0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_bessel_K1_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_K1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_bessel_K1_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_K1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Qwrapper for int gsl_sf_bessel_Kn_scaled_e(int n,double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_Kn_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <wrapper for double gsl_sf_bessel_Kn_scaled(int n,double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_Kn_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `wrapper for int gsl_sf_bessel_Kn_scaled_array(int nmin,int nmax,double x,double* result_array);  uhttp://www.google.com/search?q=gsl_sf_bessel_Kn_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_j0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_j0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_j0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_j0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_j1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_j1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_j1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_j1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_bessel_j2_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_j2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_bessel_j2(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_j2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_bessel_jl_e(int l,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_jl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  5wrapper for double gsl_sf_bessel_jl(int l,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_jl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Pwrapper for int gsl_sf_bessel_jl_array(int lmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_jl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Twrapper for int gsl_sf_bessel_jl_steed_array(int lmax,double x,double* jl_x_array);  thttp://www.google.com/search?q=gsl_sf_bessel_jl_steed_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky !Dwrapper for int gsl_sf_bessel_y0_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_y0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky "/wrapper for double gsl_sf_bessel_y0(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_y0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky #Dwrapper for int gsl_sf_bessel_y1_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_y1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky $/wrapper for double gsl_sf_bessel_y1(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_y1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky %Dwrapper for int gsl_sf_bessel_y2_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_y2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky &/wrapper for double gsl_sf_bessel_y2(double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_y2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 'Jwrapper for int gsl_sf_bessel_yl_e(int l,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_bessel_yl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky (5wrapper for double gsl_sf_bessel_yl(int l,double x);  hhttp://www.google.com/search?q=gsl_sf_bessel_yl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Pwrapper for int gsl_sf_bessel_yl_array(int lmax,double x,double* result_array);  nhttp://www.google.com/search?q=gsl_sf_bessel_yl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky )Kwrapper for int gsl_sf_bessel_i0_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_i0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky *6wrapper for double gsl_sf_bessel_i0_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_i0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +Kwrapper for int gsl_sf_bessel_i1_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_i1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ,6wrapper for double gsl_sf_bessel_i1_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_i1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -Kwrapper for int gsl_sf_bessel_i2_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_i2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky .6wrapper for double gsl_sf_bessel_i2_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_i2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /Qwrapper for int gsl_sf_bessel_il_scaled_e(int l,double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_il_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 0<wrapper for double gsl_sf_bessel_il_scaled(int l,double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_il_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Wwrapper for int gsl_sf_bessel_il_scaled_array(int lmax,double x,double* result_array);  uhttp://www.google.com/search?q=gsl_sf_bessel_il_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 1Kwrapper for int gsl_sf_bessel_k0_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_k0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 26wrapper for double gsl_sf_bessel_k0_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_k0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3Kwrapper for int gsl_sf_bessel_k1_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_k1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 46wrapper for double gsl_sf_bessel_k1_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_k1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5Kwrapper for int gsl_sf_bessel_k2_scaled_e(double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_k2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 66wrapper for double gsl_sf_bessel_k2_scaled(double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_k2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7Qwrapper for int gsl_sf_bessel_kl_scaled_e(int l,double x,gsl_sf_result* result);  qhttp://www.google.com/search?q=gsl_sf_bessel_kl_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 8<wrapper for double gsl_sf_bessel_kl_scaled(int l,double x);  ohttp://www.google.com/search?q=gsl_sf_bessel_kl_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Wwrapper for int gsl_sf_bessel_kl_scaled_array(int lmax,double x,double* result_array);  uhttp://www.google.com/search?q=gsl_sf_bessel_kl_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 9Owrapper for int gsl_sf_bessel_Jnu_e(double nu,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_bessel_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ::wrapper for double gsl_sf_bessel_Jnu(double nu,double x);  ihttp://www.google.com/search?q=gsl_sf_bessel_Jnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ;Owrapper for int gsl_sf_bessel_Ynu_e(double nu,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_bessel_Ynu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <:wrapper for double gsl_sf_bessel_Ynu(double nu,double x);  ihttp://www.google.com/search?q=gsl_sf_bessel_Ynu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky _wrapper for int gsl_sf_bessel_sequence_Jnu_e(double nu,gsl_mode_t mode,size_t size,double* v);  thttp://www.google.com/search?q=gsl_sf_bessel_sequence_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky =Vwrapper for int gsl_sf_bessel_Inu_scaled_e(double nu,double x,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_bessel_Inu_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >Awrapper for double gsl_sf_bessel_Inu_scaled(double nu,double x);  phttp://www.google.com/search?q=gsl_sf_bessel_Inu_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ?Owrapper for int gsl_sf_bessel_Inu_e(double nu,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_bessel_Inu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @:wrapper for double gsl_sf_bessel_Inu(double nu,double x);  ihttp://www.google.com/search?q=gsl_sf_bessel_Inu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky AVwrapper for int gsl_sf_bessel_Knu_scaled_e(double nu,double x,gsl_sf_result* result);  rhttp://www.google.com/search?q=gsl_sf_bessel_Knu_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky BAwrapper for double gsl_sf_bessel_Knu_scaled(double nu,double x);  phttp://www.google.com/search?q=gsl_sf_bessel_Knu_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky COwrapper for int gsl_sf_bessel_Knu_e(double nu,double x,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_bessel_Knu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky D:wrapper for double gsl_sf_bessel_Knu(double nu,double x);  ihttp://www.google.com/search?q=gsl_sf_bessel_Knu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky EQwrapper for int gsl_sf_bessel_lnKnu_e(double nu,double x,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_bessel_lnKnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky F<wrapper for double gsl_sf_bessel_lnKnu(double nu,double x);  khttp://www.google.com/search?q=gsl_sf_bessel_lnKnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky GFwrapper for int gsl_sf_bessel_zero_J0_e(int s,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_bessel_zero_J0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky H1wrapper for double gsl_sf_bessel_zero_J0(int s);  mhttp://www.google.com/search?q=gsl_sf_bessel_zero_J0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky IFwrapper for int gsl_sf_bessel_zero_J1_e(int s,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_bessel_zero_J1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky J1wrapper for double gsl_sf_bessel_zero_J1(int s);  mhttp://www.google.com/search?q=gsl_sf_bessel_zero_J1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky KQwrapper for int gsl_sf_bessel_zero_Jnu_e(double nu,int s,gsl_sf_result* result);  phttp://www.google.com/search?q=gsl_sf_bessel_zero_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky L<wrapper for double gsl_sf_bessel_zero_Jnu(double nu,int s);  nhttp://www.google.com/search?q=gsl_sf_bessel_zero_Jnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky X      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLX      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLX      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLuses ffi provisional!Alberto Ruiz (aruiz at um dot es)M>wrapper for int gsl_sf_exp_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_exp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky N)wrapper for double gsl_sf_exp(double x);  bhttp://www.google.com/search?q=gsl_sf_exp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky OFwrapper for int gsl_sf_exp_e10_e(double x,gsl_sf_result_e10* result);  hhttp://www.google.com/search?q=gsl_sf_exp_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky PLwrapper for int gsl_sf_exp_mult_e(double x,double y,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_exp_mult_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Q7wrapper for double gsl_sf_exp_mult(double x,double y);  ghttp://www.google.com/search?q=gsl_sf_exp_mult&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky RTwrapper for int gsl_sf_exp_mult_e10_e(double x,double y,gsl_sf_result_e10* result);  mhttp://www.google.com/search?q=gsl_sf_exp_mult_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky S@wrapper for int gsl_sf_expm1_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_expm1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky T+wrapper for double gsl_sf_expm1(double x);  dhttp://www.google.com/search?q=gsl_sf_expm1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky UAwrapper for int gsl_sf_exprel_e(double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_exprel_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky V,wrapper for double gsl_sf_exprel(double x);  ehttp://www.google.com/search?q=gsl_sf_exprel&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky WCwrapper for int gsl_sf_exprel_2_e(double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_exprel_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky X.wrapper for double gsl_sf_exprel_2(double x);  ghttp://www.google.com/search?q=gsl_sf_exprel_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky YIwrapper for int gsl_sf_exprel_n_e(int n,double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_exprel_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Z4wrapper for double gsl_sf_exprel_n(int n,double x);  ghttp://www.google.com/search?q=gsl_sf_exprel_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky [Lwrapper for int gsl_sf_exp_err_e(double x,double dx,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_exp_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky \Twrapper for int gsl_sf_exp_err_e10_e(double x,double dx,gsl_sf_result_e10* result);  lhttp://www.google.com/search?q=gsl_sf_exp_err_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ]dwrapper for int gsl_sf_exp_mult_err_e(double x,double dx,double y,double dy,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_exp_mult_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ^lwrapper for int gsl_sf_exp_mult_err_e10_e(double x,double dx,double y,double dy,gsl_sf_result_e10* result);  qhttp://www.google.com/search?q=gsl_sf_exp_mult_err_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky MNOPQRSTUVWXYZ[\]^MNOPQRSTUVWXYZ[\]^MNOPQRSTUVWXYZ[\]^uses ffi provisional!Alberto Ruiz (aruiz at um dot es)_Rwrapper for int gsl_sf_airy_Ai_e(double x,gsl_mode_t mode,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_airy_Ai_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky `=wrapper for double gsl_sf_airy_Ai(double x,gsl_mode_t mode);  fhttp://www.google.com/search?q=gsl_sf_airy_Ai&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky aRwrapper for int gsl_sf_airy_Bi_e(double x,gsl_mode_t mode,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_airy_Bi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky b=wrapper for double gsl_sf_airy_Bi(double x,gsl_mode_t mode);  fhttp://www.google.com/search?q=gsl_sf_airy_Bi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky cYwrapper for int gsl_sf_airy_Ai_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_airy_Ai_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky dDwrapper for double gsl_sf_airy_Ai_scaled(double x,gsl_mode_t mode);  mhttp://www.google.com/search?q=gsl_sf_airy_Ai_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky eYwrapper for int gsl_sf_airy_Bi_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);  ohttp://www.google.com/search?q=gsl_sf_airy_Bi_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky fDwrapper for double gsl_sf_airy_Bi_scaled(double x,gsl_mode_t mode);  mhttp://www.google.com/search?q=gsl_sf_airy_Bi_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky gXwrapper for int gsl_sf_airy_Ai_deriv_e(double x,gsl_mode_t mode,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_airy_Ai_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky hCwrapper for double gsl_sf_airy_Ai_deriv(double x,gsl_mode_t mode);  lhttp://www.google.com/search?q=gsl_sf_airy_Ai_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky iXwrapper for int gsl_sf_airy_Bi_deriv_e(double x,gsl_mode_t mode,gsl_sf_result* result);  nhttp://www.google.com/search?q=gsl_sf_airy_Bi_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky jCwrapper for double gsl_sf_airy_Bi_deriv(double x,gsl_mode_t mode);  lhttp://www.google.com/search?q=gsl_sf_airy_Bi_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky k_wrapper for int gsl_sf_airy_Ai_deriv_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);  uhttp://www.google.com/search?q=gsl_sf_airy_Ai_deriv_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky lJwrapper for double gsl_sf_airy_Ai_deriv_scaled(double x,gsl_mode_t mode);  shttp://www.google.com/search?q=gsl_sf_airy_Ai_deriv_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky m_wrapper for int gsl_sf_airy_Bi_deriv_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);  uhttp://www.google.com/search?q=gsl_sf_airy_Bi_deriv_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky nJwrapper for double gsl_sf_airy_Bi_deriv_scaled(double x,gsl_mode_t mode);  shttp://www.google.com/search?q=gsl_sf_airy_Bi_deriv_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky oDwrapper for int gsl_sf_airy_zero_Ai_e(int s,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_airy_zero_Ai_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky p/wrapper for double gsl_sf_airy_zero_Ai(int s);  khttp://www.google.com/search?q=gsl_sf_airy_zero_Ai&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky qDwrapper for int gsl_sf_airy_zero_Bi_e(int s,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_airy_zero_Bi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky r/wrapper for double gsl_sf_airy_zero_Bi(int s);  khttp://www.google.com/search?q=gsl_sf_airy_zero_Bi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky sJwrapper for int gsl_sf_airy_zero_Ai_deriv_e(int s,gsl_sf_result* result);  shttp://www.google.com/search?q=gsl_sf_airy_zero_Ai_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky t5wrapper for double gsl_sf_airy_zero_Ai_deriv(int s);  qhttp://www.google.com/search?q=gsl_sf_airy_zero_Ai_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky uJwrapper for int gsl_sf_airy_zero_Bi_deriv_e(int s,gsl_sf_result* result);  shttp://www.google.com/search?q=gsl_sf_airy_zero_Bi_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky v5wrapper for double gsl_sf_airy_zero_Bi_deriv(int s);  qhttp://www.google.com/search?q=gsl_sf_airy_zero_Bi_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky  !_`abcdefghijklmnopqrstuv_`abcdefghijklmnopqrstuv! _`abcdefghijklmnopqrstuvuses ffi provisional!Alberto Ruiz (aruiz at um dot es) w?wrapper for int gsl_sf_erfc_e(double x,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_erfc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky x*wrapper for double gsl_sf_erfc(double x);  chttp://www.google.com/search?q=gsl_sf_erfc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky yCwrapper for int gsl_sf_log_erfc_e(double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_log_erfc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky z.wrapper for double gsl_sf_log_erfc(double x);  ghttp://www.google.com/search?q=gsl_sf_log_erfc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky {>wrapper for int gsl_sf_erf_e(double x,gsl_sf_result* result);  dhttp://www.google.com/search?q=gsl_sf_erf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky |)wrapper for double gsl_sf_erf(double x);  bhttp://www.google.com/search?q=gsl_sf_erf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky }@wrapper for int gsl_sf_erf_Z_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_erf_Z_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ~@wrapper for int gsl_sf_erf_Q_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_erf_Q_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +wrapper for double gsl_sf_erf_Z(double x);  dhttp://www.google.com/search?q=gsl_sf_erf_Z&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +wrapper for double gsl_sf_erf_Q(double x);  dhttp://www.google.com/search?q=gsl_sf_erf_Q&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Awrapper for int gsl_sf_hazard_e(double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_hazard_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ,wrapper for double gsl_sf_hazard(double x);  ehttp://www.google.com/search?q=gsl_sf_hazard&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky wxyz{|}~ wxyz{|}~ wxyz{|}~uses ffi provisional!Alberto Ruiz (aruiz at um dot es),Bwrapper for int gsl_sf_lngamma_e(double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_lngamma_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_lngamma(double x);  fhttp://www.google.com/search?q=gsl_sf_lngamma&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Uwrapper for int gsl_sf_lngamma_sgn_e(double x,gsl_sf_result* result_lg,double* sgn);  lhttp://www.google.com/search?q=gsl_sf_lngamma_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @wrapper for int gsl_sf_gamma_e(double x,gsl_sf_result* result);  fhttp://www.google.com/search?q=gsl_sf_gamma_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky +wrapper for double gsl_sf_gamma(double x);  dhttp://www.google.com/search?q=gsl_sf_gamma&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_gammastar_e(double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_gammastar_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_gammastar(double x);  hhttp://www.google.com/search?q=gsl_sf_gammastar&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Cwrapper for int gsl_sf_gammainv_e(double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_gammainv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky .wrapper for double gsl_sf_gammainv(double x);  ghttp://www.google.com/search?q=gsl_sf_gammainv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky ewrapper for int gsl_sf_lngamma_complex_e(double zr,double zi,gsl_sf_result* lnr,gsl_sf_result* arg);  phttp://www.google.com/search?q=gsl_sf_lngamma_complex_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Lwrapper for int gsl_sf_taylorcoeff_e(int n,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_taylorcoeff_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 7wrapper for double gsl_sf_taylorcoeff(int n,double x);  jhttp://www.google.com/search?q=gsl_sf_taylorcoeff&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky <wrapper for int gsl_sf_fact_e(int n,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_fact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 'wrapper for double gsl_sf_fact(int n);  chttp://www.google.com/search?q=gsl_sf_fact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Bwrapper for int gsl_sf_doublefact_e(int n,gsl_sf_result* result);  khttp://www.google.com/search?q=gsl_sf_doublefact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky -wrapper for double gsl_sf_doublefact(int n);  ihttp://www.google.com/search?q=gsl_sf_doublefact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky >wrapper for int gsl_sf_lnfact_e(int n,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_lnfact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky )wrapper for double gsl_sf_lnfact(int n);  ehttp://www.google.com/search?q=gsl_sf_lnfact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_lndoublefact_e(int n,gsl_sf_result* result);  mhttp://www.google.com/search?q=gsl_sf_lndoublefact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_lndoublefact(int n);  khttp://www.google.com/search?q=gsl_sf_lndoublefact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Fwrapper for int gsl_sf_lnchoose_e(int n,int m,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_lnchoose_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 1wrapper for double gsl_sf_lnchoose(int n,int m);  ghttp://www.google.com/search?q=gsl_sf_lnchoose&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Dwrapper for int gsl_sf_choose_e(int n,int m,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_choose_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky /wrapper for double gsl_sf_choose(int n,int m);  ehttp://www.google.com/search?q=gsl_sf_choose&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_lnpoch_e(double a,double x,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_lnpoch_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_lnpoch(double a,double x);  ehttp://www.google.com/search?q=gsl_sf_lnpoch&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Zwrapper for int gsl_sf_lnpoch_sgn_e(double a,double x,gsl_sf_result* result,double* sgn);  khttp://www.google.com/search?q=gsl_sf_lnpoch_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for int gsl_sf_poch_e(double a,double x,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_poch_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3wrapper for double gsl_sf_poch(double a,double x);  chttp://www.google.com/search?q=gsl_sf_poch&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Kwrapper for int gsl_sf_pochrel_e(double a,double x,gsl_sf_result* result);  hhttp://www.google.com/search?q=gsl_sf_pochrel_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 6wrapper for double gsl_sf_pochrel(double a,double x);  fhttp://www.google.com/search?q=gsl_sf_pochrel&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Owrapper for int gsl_sf_gamma_inc_Q_e(double a,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gamma_inc_Q_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky :wrapper for double gsl_sf_gamma_inc_Q(double a,double x);  jhttp://www.google.com/search?q=gsl_sf_gamma_inc_Q&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Owrapper for int gsl_sf_gamma_inc_P_e(double a,double x,gsl_sf_result* result);  lhttp://www.google.com/search?q=gsl_sf_gamma_inc_P_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky :wrapper for double gsl_sf_gamma_inc_P(double a,double x);  jhttp://www.google.com/search?q=gsl_sf_gamma_inc_P&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Mwrapper for int gsl_sf_gamma_inc_e(double a,double x,gsl_sf_result* result);  jhttp://www.google.com/search?q=gsl_sf_gamma_inc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 8wrapper for double gsl_sf_gamma_inc(double a,double x);  hhttp://www.google.com/search?q=gsl_sf_gamma_inc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Jwrapper for int gsl_sf_lnbeta_e(double a,double b,gsl_sf_result* result);  ghttp://www.google.com/search?q=gsl_sf_lnbeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 5wrapper for double gsl_sf_lnbeta(double a,double b);  ehttp://www.google.com/search?q=gsl_sf_lnbeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Zwrapper for int gsl_sf_lnbeta_sgn_e(double x,double y,gsl_sf_result* result,double* sgn);  khttp://www.google.com/search?q=gsl_sf_lnbeta_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Hwrapper for int gsl_sf_beta_e(double a,double b,gsl_sf_result* result);  ehttp://www.google.com/search?q=gsl_sf_beta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky 3wrapper for double gsl_sf_beta(double a,double b);  chttp://www.google.com/search?q=gsl_sf_beta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky Uwrapper for int gsl_sf_beta_inc_e(double a,double b,double x,gsl_sf_result* result);  ihttp://www.google.com/search?q=gsl_sf_beta_inc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky @wrapper for double gsl_sf_beta_inc(double a,double b,double x);  ghttp://www.google.com/search?q=gsl_sf_beta_inc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky (((0uses ffi provisional!Alberto Ruiz (aruiz at um dot es) !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uses ffi provisional!Alberto Ruiz (aruiz at um dot es)0Solution of general polynomial equations, using gsl_poly_complex_solve. For example, ( the three solutions of x^3 + 8 = 0  > polySolve [8,0,0,1] [(-1.9999999999999998) :+ 0.0,  1.0 :+ 1.732050807568877,  1.0 :+ (-1.732050807568877)]@The example in the GSL manual: To find the roots of x^5 -1 = 0: > polySolve [-1, 0, 0, 0, 0, 1] .[(-0.8090169943749475) :+ 0.5877852522924731, 0(-0.8090169943749475) :+ (-0.5877852522924731), +0.30901699437494734 :+ 0.9510565162951536, .0.30901699437494734 :+ (-0.9510565162951536),  1.0 :+ 0.0]uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Fast 1D Fourier transform of a  (12 34) using gsl_fft_complex_forward6. It uses the same scaling conventions as GNU Octave. > fft (GSL.Matrix.fromList [1,2,3,4]) Dvector (4) [10.0 :+ 0.0,(-2.0) :+ 2.0,(-2.0) :+ 0.0,(-2.0) :+ (-2.0)]The inverse of , using gsl_fft_complex_inverse.  uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Vconversion of Haskell functions into function pointers that can be used in the C side Numerical integration using gsl_integration_qags9 (adaptive integration with singularities). For example: >% let quad = integrateQAGS 1E-9 1000 ># let f a x = x**(-0.5) * log (a*x) > quad (f 1) 0 1 *(-3.999999999999974,4.871658632055187e-13)Numerical integration using gsl_integration_qngA (useful for fast integration of smooth functions). For example: > let quad = integrateQNG 1E-6 > quad (\x -> 4/(1+x*x)) 0 1 )(3.141592653589793,3.487868498008632e-14)!uses ffi provisional!Alberto Ruiz (aruiz at um dot es)Vconversion of Haskell functions into function pointers that can be used in the C side 'Adaptive central difference algorithm, gsl_deriv_central. For example: " > let deriv = derivCentral 0.01  > deriv sin (pi/4) ,(0.7071067812000676,1.0600063101654055e-10)  > cos (pi/4) 0.7071067811865476 'Adaptive forward difference algorithm, gsl_deriv_forwardX. The function is evaluated only at points greater than x, and never at x itself. The derivative is returned in result and an estimate of its absolute error is returned in abserr. This function should be used if f(x) has a discontinuity at x, or is undefined for values less than x. A backward derivative can be obtained using a negative step. (Adaptive backward difference algorithm, gsl_deriv_backward. "portable (uses FFI) provisionalAlberto Ruiz <aruiz@um.es>Vobtains different functions of a vector: norm1, norm2, max, min, posmax, posmin, etc. (map of real vectors with given function +map of complex vectors with given function (map of real vectors with given function +map of complex vectors with given function &elementwise operation on real vectors )elementwise operation on complex vectors ...portable provisionalAlberto Ruiz <aruiz@um.es>4Creates a real vector containing a range of values: > linspace 5 (-3,7) 5 |> [-3.0,-0.5,2.0,4.5,7.0]  portable provisionalAlberto Ruiz <aruiz@um.es> 2creates a matrix from a vertical list of matrices !4creates a matrix from a horizontal list of matrices CCreates a matrix from blocks given as a list of lists of matrices: > let a =  $  [5,7,2] > let b =  4 $  (-1) 12 > fromBlocks [[a,b],[b,a]] (6><7) , [ 5.0, 0.0, 0.0, -1.0, -1.0, -1.0, -1.0 , , 0.0, 7.0, 0.0, -1.0, -1.0, -1.0, -1.0 , , 0.0, 0.0, 2.0, -1.0, -1.0, -1.0, -1.0 , , -1.0, -1.0, -1.0, -1.0, 5.0, 0.0, 0.0 , , -1.0, -1.0, -1.0, -1.0, 0.0, 7.0, 0.0 , , -1.0, -1.0, -1.0, -1.0, 0.0, 0.0, 2.0 ]Reverse rows Reverse columns &creates a rectangular diagonal matrix > diagRect (constant 5 3) 3 4 (3><4)  [ 5.0, 0.0, 0.0, 0.0  , 0.0, 5.0, 0.0, 0.0  , 0.0, 0.0, 5.0, 0.0 ]0extracts the diagonal from a rectangular matrix /creates the identity matrix of given dimension  An easy way to create a matrix:  > (2><3)[1..6] (2><3)  [ 1.0, 2.0, 3.0  , 4.0, 5.0, 6.0 ]GThis is the format produced by the instances of Show (Matrix a), which can also be used for input. 9Creates a matrix with the first n rows of another matrix 4Creates a copy of a matrix without the first n rows <Creates a matrix with the first n columns of another matrix 7Creates a copy of a matrix without the first n columns  Creates a  , from a list of lists (considered as rows). > fromLists [[1,2],[3,4],[5,6]] (3><2)  [ 1.0, 2.0  , 3.0, 4.0  , 5.0, 6.0 ]%creates a 1-row matrix from a vector (creates a 1-column matrix from a vector ZCreates a string from a matrix given a separator and a function to show each entry. Using Gthis function the user can easily define any desired display function:  import Text.Printf(printf) disp = putStrLn . format " " (printf "%.2f")*creates a matrix from a table of numbers. Urearranges the rows of a matrix according to the order given in a list of integers. Lcreates matrix by repetition of a matrix a given number of rows and columns (> repmat (ident 2) 2 3 :: Matrix Double (4><6)  [ 1.0, 0.0, 1.0, 0.0, 1.0, 0.0  , 0.0, 1.0, 0.0, 1.0, 0.0, 1.0  , 1.0, 0.0, 1.0, 0.0, 1.0, 0.0  , 0.0, 1.0, 0.0, 1.0, 0.0, 1.0 ]% ) #portable (uses FFI) provisionalAlberto Ruiz <aruiz@um.es> 4eigendecomposition of a real symmetric matrix using gsl_eigen_symmv. 0 > let (l,v) = eigS $ 'fromLists' [[1,2],[2,1]]  > l  3.000 -1.000   > v  0.707 -0.707  0.707 0.707   > v <> diag l <> trans v  1.000 2.000  2.000 1.000 7eigendecomposition of a complex hermitian matrix using gsl_eigen_hermv 4 > let (l,v) = eigH $ 'fromLists' [[1,2+i],[2-i,3]]   > l  4.449 -0.449   > v  -0.544 0.839  (-0.751,0.375) (-0.487,0.243)   > v <> diag l <> (conjTrans) v  1.000 (2.000,1.000)  (2.000,-1.000) 3.000 5Singular value decomposition of a real matrix, using gsl_linalg_SV_decomp_mod: > let (u,s,v) = svdg $  fromLists [[1,2,3],[-4,1,7]] \ > u  0.310 -0.951  0.951 0.310 \ > s  8.497 2.792 \ > v -0.411 -0.785  0.185 -0.570  0.893 -0.243 \ > u <>  s <>  v  1. 2. 3.  -4. 1. 7.(QR decomposition of a real matrix using gsl_linalg_QR_decomp and gsl_linalg_QR_unpack. > let (q,r) = qr $  fromLists [[1,3,5,7] ,[2,0,-2,4]] \ > q -0.447 -0.894 -0.894 0.447 \ > r -2.236 -1.342 -0.447 -6.708  0. -2.683 -5.367 -4.472 \ > q <> r 1.000 3.000 5.000 7.000 2.000 0. -2.000 4.000JCholesky decomposition of a symmetric positive definite real matrix using gsl_linalg_cholesky_decomp. > chol $ (2>< 2) [1,2,  2,9::Double] (2><2)  [ 1.0, 0.0  , 2.0, 2.23606797749979 ]"^lu decomposition of real matrix (packed as a vector including l, u, the permutation and sign) #alu decomposition of complex matrix (packed as a vector including l, u, the permutation and sign) 5The LU decomposition of a square matrix. Is based on gsl_linalg_LU_decomp and gsl_linalg_complex_LU_decomp as described in  Mhttp://www.gnu.org/software/Numeric.GSL/manual/Numeric.GSL-ref_13.html#SEC223.  > let m =  fromLists [[1,2,-3] ,[2+3*i,-7,0] ,[1,-i,2*i]] > let (l,u,p,s) = luR mL is the lower triangular:  > l  1. 0. 0. 0.154-0.231i 1. 0. 0.154-0.231i 0.624-0.522i 1.U is the upper triangular:  > u #2.+3.i -7. 0. # 0. 3.077-1.615i -3. " 0. 0. 1.873+0.433ip is a permutation:  > p [1,0,2]L *6 U obtains a permuted version of the original matrix:  > extractRows p m  2.+3.i -7. 0.  1. 2. -3.  1. -1.i 2.i   > l <> u  2.+3.i -7. 0.  1. 2. -3.  1. -1.i 2.iNs is the sign of the permutation, required to obtain sign of the determinant: > s * product ( $ takeDiag u) !(-18.0) :+ (-16.000000000000004) > LinearAlgebra.Algorithms.det m  (-18.0) :+ (-16.000000000000004)Complex version of #.   $uses ffi provisional!Alberto Ruiz (aruiz at um dot es)$another required conversion %Vconversion of Haskell functions into function pointers that can be used in the C side .The method of Nelder and Mead, implemented by !gsl_multimin_fminimizer_nmsimplexW. The gradient of the function is not required. This is the example in the GSL manual:  Jminimize f xi = minimizeNMSimplex f xi (replicate (length xi) 1) 1e-2 100   f [x,y] = 10*(x-1)^2 + 20*(y-2)^2 + 30    main = do  let (s,p) = minimize f [5,7]  print s  print p   > main &[0.9920430849306285,1.9969168063253164]  0. 512.500 1.082 6.500 5. ! 1. 290.625 1.372 5.250 4. ! 2. 290.625 1.372 5.250 4. ! 3. 252.500 1.372 5.500 1. ! 4. 101.406 1.823 2.625 3.500 ! 5. 101.406 1.823 2.625 3.500 ! 6. 60. 1.823 0. 3. ! 7. 42.275 1.303 2.094 1.875 ! 8. 42.275 1.303 2.094 1.875 ! 9. 35.684 1.026 0.258 1.906 !10. 35.664 0.804 0.588 2.445 !11. 30.680 0.467 1.258 2.025 !12. 30.680 0.356 1.258 2.025 !13. 30.539 0.285 1.093 1.849 !14. 30.137 0.168 0.883 2.004 !15. 30.137 0.123 0.883 2.004 !16. 30.090 0.100 0.958 2.060 !17. 30.005 6.051e-2 1.022 2.004 !18. 30.005 4.249e-2 1.022 2.004 !19. 30.005 4.249e-2 1.022 2.004 !20. 30.005 2.742e-2 1.022 2.004 !21. 30.005 2.119e-2 1.022 2.004 !22. 30.001 1.530e-2 0.992 1.997 !23. 30.001 1.259e-2 0.992 1.997  24. 30.001 7.663e-3 0.992 1.997?The path to the solution can be graphically shown by means of: GSL.Plot.mplot $ drop 3 ( p)1The Fletcher-Reeves conjugate gradient algorithm $gsl_multimin_fminimizer_conjugate_fr). This is the example in the GSL manual:  7minimize = minimizeConjugateGradient 1E-2 1E-4 1E-3 30 f [x,y] = 10*(x-1)^2 + 20*(y-2)^2 + 30   df [x,y] = [20*(x-1), 40*(y-2)]    main = do " let (s,p) = minimize f df [5,7]  print s  print p   > main [1.0,2.0]  0. 687.848 4.996 6.991  1. 683.555 4.989 6.972  2. 675.013 4.974 6.935  3. 658.108 4.944 6.861  4. 625.013 4.885 6.712  5. 561.684 4.766 6.415  6. 446.467 4.528 5.821  7. 261.794 4.053 4.632  8. 75.498 3.102 2.255  9. 67.037 2.852 1.630 10. 45.316 2.191 1.762 11. 30.186 0.869 2.026 12. 30. 1. 2.?The path to the solution can be graphically shown by means of: GSL.Plot.mplot $ drop 2 ( p)%uses -fffi and -fglasgow-exts provisional!Alberto Ruiz (aruiz at um dot es)VThis action removes the GSL default error handler (which aborts the program), so that N GSL errors can be handled by Haskell (using Control.Exception) and ghci doesn' t abort. &'()*+,-. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&portable (uses FFI) provisional!Alberto Ruiz (aruiz at um dot es)Wrapper for LAPACK's dgesvd>, which computes the full svd decomposition of a real matrix. (u,s,v)=full svdR m so that m=u <> s <>  v.  Wrapper for LAPACK's dgesvd>, which computes the full svd decomposition of a real matrix. (u,s,v)=full svdRdd m so that m=u <> s <>  v.  Wrapper for LAPACK's zgesvdA, which computes the full svd decomposition of a complex matrix. (u,s,v)=full svdC m so that m=u <> comp s <>  v.  Wrapper for LAPACK's zgeevU, which computes the eigenvalues and right eigenvectors of a general complex matrix: if  (l,v)=eigC m then m <> v = v <> diag l. 'The eigenvectors are the columns of v. ! The eigenvalues are not sorted.  Wrapper for LAPACK's dgeevR, which computes the eigenvalues and right eigenvectors of a general real matrix: if  (l,v)=eigR m then m <> v = v <> diag l. 'The eigenvectors are the columns of v. ! The eigenvalues are not sorted.  Wrapper for LAPACK's dsyevT, which computes the eigenvalues and right eigenvectors of a symmetric real matrix: if  (l,v)=eigSl m then m <> v = v <> diag l. 'The eigenvectors are the columns of v. 9 The eigenvalues are sorted in descending order (use eigS' for ascending order). Wrapper for LAPACK's zheevW, which computes the eigenvalues and right eigenvectors of a hermitian complex matrix: if  (l,v)=eigH m then m <> s v = v <> diag l. 'The eigenvectors are the columns of v. 9 The eigenvalues are sorted in descending order (use eigH' for ascending order). Wrapper for LAPACK's dgesvr, which solves a general real linear system (for several right-hand sides) internally using the lu decomposition. Wrapper for LAPACK's zgesvu, which solves a general complex linear system (for several right-hand sides) internally using the lu decomposition. Wrapper for LAPACK's dgels, which obtains the least squared error solution of an overconstrained real linear system or the minimum norm solution of an underdetermined system, for several right-hand sides. For rank deficient systems use &. Wrapper for LAPACK's zgels, which obtains the least squared error solution of an overconstrained complex linear system or the minimum norm solution of an underdetermined system, for several right-hand sides. For rank deficient systems use &. Wrapper for LAPACK's dgelss, which obtains the minimum norm solution to a real linear least squares problem Ax=B using the svd, for several right-hand sides. Admits rank deficient systems but it is slower than &. The effective rank of A is determined by treating as zero those singular valures which are less than rcond times the largest singular value. If rcond == Nothing machine precision is used. Wrapper for LAPACK's zgelss, which obtains the minimum norm solution to a complex linear least squares problem Ax=B using the svd, for several right-hand sides. Admits rank deficient systems but it is slower than &. The effective rank of A is determined by treating as zero those singular valures which are less than rcond times the largest singular value. If rcond == Nothing machine precision is used. Wrapper for LAPACK's zpotrf1, which computes the Cholesky factorization of a - complex Hermitian positive definite matrix. Wrapper for LAPACK's dpotrf1, which computes the Cholesky factorization of a * real symmetric positive definite matrix. Wrapper for LAPACK's dgeqr26, which computes a QR factorization of a real matrix. Wrapper for LAPACK's zgeqr29, which computes a QR factorization of a complex matrix. Wrapper for LAPACK's dgehrdE, which computes a Hessenberg factorization of a square real matrix. Wrapper for LAPACK's zgehrdH, which computes a Hessenberg factorization of a square complex matrix. Wrapper for LAPACK's dgees@, which computes a Schur factorization of a square real matrix. Wrapper for LAPACK's zgeesC, which computes a Schur factorization of a square complex matrix. Wrapper for LAPACK's dgetrf>, which computes a LU factorization of a general real matrix. Wrapper for LAPACK's zgeesC, which computes a Schur factorization of a square complex matrix.      /0          'uses ffi provisional!Alberto Ruiz (aruiz at um dot es)conversion utilities F&'()*+,-.  !"#$% !"#$% !"#$% !"#$%uses ffi provisional!Alberto Ruiz (aruiz at um dot es)&jA generic interface for vectors and matrices to a few element-by-element functions in Numeric.GSL.Vector. +"element by element multiplication ,element by element division -7scale the element by element reciprocal of the object: scaleRecip 2 (fromList [5,i]#) == 2 |> [0.4 :+ 0.0,0.0 :+ (-2.0)] /euclidean inner product 0Outer product of two vectors. >  [1,2,3] `outer`  [5,2,3] (3><3)  [ 5.0, 2.0, 3.0  , 10.0, 4.0, 6.0  , 15.0, 6.0, 9.0 ]1#Kronecker product of two matrices.  m1=(2><3)  [ 1.0, 2.0, 0.0  , 0.0, -1.0, 3.0 ] m2=(4><3)  [ 1.0, 2.0, 3.0  , 4.0, 5.0, 6.0  , 7.0, 8.0, 9.0  , 10.0, 11.0, 12.0 ] > kronecker m1 m2 (8><9) ; [ 1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 0.0, 0.0, 0.0 ; , 4.0, 5.0, 6.0, 8.0, 10.0, 12.0, 0.0, 0.0, 0.0 ; , 7.0, 8.0, 9.0, 14.0, 16.0, 18.0, 0.0, 0.0, 0.0 ; , 10.0, 11.0, 12.0, 20.0, 22.0, 24.0, 0.0, 0.0, 0.0 ; , 0.0, 0.0, 0.0, -1.0, -2.0, -3.0, 3.0, 6.0, 9.0 ; , 0.0, 0.0, 0.0, -4.0, -5.0, -6.0, 12.0, 15.0, 18.0 ; , 0.0, 0.0, 0.0, -7.0, -8.0, -9.0, 21.0, 24.0, 27.0 ; , 0.0, 0.0, 0.0, -10.0, -11.0, -12.0, 30.0, 33.0, 36.0 ] &'()*+,-./01 &'()*+,-./01 &'()*+,-.'()*+,-./015portable provisional!Alberto Ruiz (aruiz at um dot es)(uses gnuplot and ImageMagick provisional!Alberto Ruiz (aruiz at um dot es) 16Loads a real matrix from a formatted ASCII text file "fromFile :: FilePath -> IO Matrix CfromFile filename = readFile filename >>= return . readMatrix read 3Saves a real matrix to a formatted ascii text file 2lFrom vectors x and y, it generates a pair of matrices to be used as x and y arguments for matrix functions. 44Draws a 3D surface representation of a real matrix.   > mesh (hilb 20) NIn certain versions you can interactively rotate the graphic using the mouse. 6mDraws the surface represented by the function f in the desired ranges and number of points, internally using 4(.  > let f x y = cos (x + y) " > splot f (0,pi) (0,2*pi) 50 7-plots several vectors against the first one 8TDraws a list of functions over a desired range and with a desired number of points + > plot [sin, cos, sin.(3*)] (0,2*pi) 1000 9SDraws a parametric curve. For instance, to draw a spiral we can do something like: > > parametricPlot (\t->(t * sin t, t * cos t)) (0,10*pi) 1000 :"writes a matrix to pgm image file ;Qimshow shows a representation of a matrix as a gray level image using ImageMagick' s display. 23456789:; 7896452:;3 23456789:;)uses ffi provisional!Alberto Ruiz (aruiz at um dot es)<Objects which have a p-norm. / Using it you can define convenient shortcuts:  norm2 x = pnorm PNorm2 x !frobenius m = norm2 . flatten $ mB\Auxiliary typeclass used to define generic computations for both real and complex matrices. C)Singular value decomposition using lapack's dgesvd or zgesvd. DPSolution of a general linear system (for several right-hand sides) using lapacks' dgesv and zgesv. , See also other versions of linearSolve in Numeric.LinearAlgebra.LAPACK. FDEigenvalues and eigenvectors of a general square matrix using lapack's dgeev or zgeev. If  (s,v) = eig m then m < > v == v <> diag s GSSimilar to eigSH without checking that the input matrix is hermitian or symmetric. HRSimilar to chol without checking that the input matrix is hermitian or symmetric. IQR factorization using lapack's dgeqr2 or zgeqr2. If  (q,r) = qr m then m == q <> r0, where q is unitary and r is upper triangular. J%Hessenberg factorization using lapack's dgehrd or zgehrd. If (p,h) = hess m then m == p <> h < > ctrans p, where p is unitary $ and h is in upper Hessenberg form. K Schur factorization using lapack's dgees or zgees. If (u,s) = schur m then m == u <> s < > ctrans u, where u is unitary \ and s is a Shur matrix. A complex Schur matrix is upper triangular. A real Schur matrix is ! upper triangular in 2x2 blocks. "GAnything that the Jordan decomposition can do, the Schur decomposition  can do better!" (Van Loan) LConjugate transpose. MYEigenvalues and Eigenvectors of a complex hermitian or real symmetric matrix using lapack's dsyev or zheev. If (s,v) = eigSH m then m == v < > diag s < > ctrans v NXCholesky factorization of a positive definite hermitian or symmetric matrix using lapack's dpotrf or zportrf. If  c = chol m then m == c < > ctrans c. ODdeterminant of a square matrix, computed from the LU decomposition. P1LU factorization of a general matrix using lapack's dgetrf or zgetrf. If (l,u,p,s) = lu m then m == p <> l <> u, where l is lower triangular, ] u is upper triangular, p is a permutation matrix and s is the signature of the permutation. Q(Inverse of a square matrix using lapacks' dgesv and zgesv. R.Pseudoinverse of a general matrix using lapack's dgelss or zgelss. S A version of C)H which returns an appropriate diagonal matrix with the singular values. If (u,d,v) = full svd m then m == u <> d < > trans v. T A version of C)i which returns only the nonzero singular values and the corresponding rows and columns of the rotations. If (u,s,v) = economy svd m then m == u < > diag s < > trans v. U#The machine precision of a Double: eps = 2.22044604925031e-16! (the value used by GNU-Octave). VThe imaginary unit: i = 0.0 :+ 1.0 W6The nullspace of a matrix from its SVD decomposition. X_The nullspace of a matrix, assumed to be one-dimensional, with default tolerance (shortcut for last . nullspacePrec 1). \NReciprocal of the 2-norm condition number of a matrix, computed from the SVD. ]0Number of linearly independent rows or columns. ^DGeneric matrix functions for diagonalizable matrices. For instance: logm = matFunc log_NMatrix exponential. It uses a direct translation of Algorithm 11.3.1 in Golub & Van Loan, + based on a scaled Pade approximation. `[Matrix square root. Currently it uses a simple iterative algorithm described in Wikipedia. jIt only works with invertible matrices that have a real solution. For diagonalizable matrices you can try  matFunc sqrt.  m = (2><2) [4,9  ,0,4] :: Matrix Double >sqrtm m (2><2)  [ 2.0, 2.25  , 0.0, 2.0 ]&<=>?@ABCDEFGHIJKLMNOPQRSTUVWX2YZ[\]^_`%QRO]\STMNP_`^WX<=>A@?UVYZ[BCDEFGHIJKL%<==>A@??@AB CDEFGHIJKLCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`*portable provisional!Alberto Ruiz (aruiz at um dot es)amatrix product b u <.> v = dot u vc x .* a = scale x ad a */ x = scale (recip x) ae:least squares solution of a linear system, similar to the \ operator of Matlab/"Octave (based on linearSolveSVD). f2Horizontal concatenation of matrices and vectors:  > (ident 3 <-> 3 * ident 3) <|> fromList [1..6.0] (6><4)  [ 1.0, 0.0, 0.0, 1.0  , 0.0, 1.0, 0.0, 2.0  , 0.0, 0.0, 1.0, 3.0  , 3.0, 0.0, 0.0, 4.0  , 0.0, 3.0, 0.0, 5.0  , 0.0, 0.0, 3.0, 6.0 ]g0Vertical concatenation of matrices and vectors. abcdefgabecdfgabcdefg6uses ffi provisional!Alberto Ruiz (aruiz at um dot es)&'()*+,-.  !"#$%&'()*+,-./01<=>?@ABCDEFGHIJKLMNOPQRSTUVWX2YZ[\]^_`abcdefg3,7,8,9,:,;,<,=,>,?,@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T/U/V/W/XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      P !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !!!""""""""""""""""""""""""""""""""" " " " " """"""""" !"#$%&'()*+,-.#/#0#1#2#3#4#5#6#7#8#9#:$;$<%=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&9&:'S'T'U'V'W'X'YZ[\]^_`abcde(f(g(h(i(j(k(l(m(n(o)p)q)r)s)t)u)v)w)x)y)z){)|)2)})~)))))))))))))))4))))))*******+++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,-----W-T-U-V--------------------------------------------/// / /    !"#$%&'()*+, -./0123456789:;<=>?@ABCDEFGHI12J34K L!LMN#O#P$Q$R12S12T12U12V12W12X12Y12Z12[&\&](^)_`hmatrix-0.2.0.0Data.Packed.VectorData.Packed.MatrixNumeric.LinearAlgebra.LinearNumeric.GSL.Special.AiryNumeric.GSL.Special.LegendreNumeric.GSL.Special.LogNumeric.GSL.Special.ZetaNumeric.GSL.Special.TrigNumeric.GSL.Special.SynchrotronNumeric.GSL.Special.PsiNumeric.GSL.Special.Pow_intNumeric.GSL.Special.LambertNumeric.GSL.Special.LaguerreNumeric.GSL.Special.HypergNumeric.GSL.Special.GegenbauerNumeric.GSL.Special.Fermi_diracNumeric.GSL.Special.ExpintNumeric.GSL.Special.EllintNumeric.GSL.Special.ElementaryNumeric.GSL.Special.DilogNumeric.GSL.Special.DebyeNumeric.GSL.Special.DawsonNumeric.GSL.Special.CouplingNumeric.GSL.Special.CoulombNumeric.GSL.Special.ClausenNumeric.GSL.Special.BesselNumeric.GSL.Special.ExpNumeric.GSL.Special.ErfNumeric.GSL.Special.GammaNumeric.GSL.PolynomialsNumeric.GSL.FourierNumeric.GSL.IntegrationNumeric.GSL.DifferentiationNumeric.GSL.VectorNumeric.GSL.MatrixNumeric.GSL.Minimization Numeric.GSLNumeric.LinearAlgebra.LAPACK Data.Packed Graphics.Plot Numeric.LinearAlgebra.AlgorithmsNumeric.LinearAlgebra.InterfaceData.Packed.Internal.CommonData.Packed.Internal.VectorData.Packed.Internal.MatrixData.Packed.InternalNumeric.GSL.Special.InternalNumeric.GSL.Specialbase Data.Complexghc-prim GHC.TypesNumeric.LinearAlgebra.InstancesNumeric.LinearAlgebraVectordimfromListtoList|> subVector@>join liftVector liftVector2ElementMatrixrowscolstransflattentoListsfromRowstoRows fromColumns toColumns@@>reshape liftMatrix liftMatrix2multiply subMatrixdiagconstantfromFile Precision PrecApprox PrecSingle PrecDouble legendre_Pl legendre_P1 legendre_P2 legendre_P3 legendre_Q0 legendre_Q1 legendre_Ql legendre_Plmlegendre_sphPlmlegendre_array_size conicalP_halfconicalP_mhalf conicalP_0 conicalP_1conicalP_sph_regconicalP_cyl_reglegendre_H3d_0legendre_H3d_1 legendre_H3dlog_elog log_abs_elog_abs log_1plusx_e log_1plusxlog_1plusx_mx_e log_1plusx_mx zeta_int_ezeta_intzeta_ezetazetam1_ezetam1 zetam1_int_e zetam1_inthzeta_ehzeta eta_int_eeta_inteta_eetasin_esincos_ecoshypot_ehypotsinc_esinclnsinh_elnsinhlncosh_elncosh sin_err_e cos_err_eangle_restrict_symmangle_restrict_posangle_restrict_symm_err_eangle_restrict_pos_err_esynchrotron_1_e synchrotron_1synchrotron_2_e synchrotron_2 psi_int_epsi_intpsi_epsi psi_1piy_epsi_1piy psi_1_int_e psi_1_intpsi_1_epsi_1psi_n_epsi_n pow_int_epow_int lambert_W0_e lambert_W0 lambert_Wm1_e lambert_Wm1 laguerre_1_e laguerre_2_e laguerre_3_e laguerre_1 laguerre_2 laguerre_3 laguerre_n_e laguerre_n hyperg_0F1_e hyperg_0F1hyperg_1F1_int_ehyperg_1F1_int hyperg_1F1_e hyperg_1F1hyperg_U_int_e hyperg_U_inthyperg_U_int_e10_e hyperg_U_ehyperg_Uhyperg_U_e10_e hyperg_2F1_e hyperg_2F1hyperg_2F1_conj_ehyperg_2F1_conjhyperg_2F1_renorm_ehyperg_2F1_renormhyperg_2F1_conj_renorm_ehyperg_2F1_conj_renorm hyperg_2F0_e hyperg_2F0 gegenpoly_1_e gegenpoly_2_e gegenpoly_3_e gegenpoly_1 gegenpoly_2 gegenpoly_3 gegenpoly_n_e gegenpoly_nfermi_dirac_m1_efermi_dirac_m1fermi_dirac_0_e fermi_dirac_0fermi_dirac_1_e fermi_dirac_1fermi_dirac_2_e fermi_dirac_2fermi_dirac_int_efermi_dirac_intfermi_dirac_mhalf_efermi_dirac_mhalffermi_dirac_half_efermi_dirac_halffermi_dirac_3half_efermi_dirac_3halffermi_dirac_inc_0_efermi_dirac_inc_0 expint_E1_e expint_E1 expint_E2_e expint_E2expint_E1_scaled_eexpint_E1_scaledexpint_E2_scaled_eexpint_E2_scaled expint_Ei_e expint_Eiexpint_Ei_scaled_eexpint_Ei_scaledshi_eshichi_echi expint_3_eexpint_3si_esici_eci atanint_eatanintellint_Kcomp_e ellint_Kcompellint_Ecomp_e ellint_Ecomp ellint_F_eellint_F ellint_E_eellint_E ellint_P_eellint_P ellint_D_eellint_D ellint_RC_e ellint_RC ellint_RD_e ellint_RD ellint_RF_e ellint_RF ellint_RJ_e ellint_RJ multiply_emultiply_err_edilog_edilog debye_1_edebye_1 debye_2_edebye_2 debye_3_edebye_3 debye_4_edebye_4dawson_edawson coupling_3j_e coupling_3j coupling_6j_e coupling_6jcoupling_RacahW_ecoupling_RacahW coupling_9j_e coupling_9jhydrogenicR_1_e hydrogenicR_1 hydrogenicR_e hydrogenicR coulomb_CL_e clausen_eclausen bessel_J0_e bessel_J0 bessel_J1_e bessel_J1 bessel_Jn_e bessel_Jn bessel_Y0_e bessel_Y0 bessel_Y1_e bessel_Y1 bessel_Yn_e bessel_Yn bessel_I0_e bessel_I0 bessel_I1_e bessel_I1 bessel_In_e bessel_Inbessel_I0_scaled_ebessel_I0_scaledbessel_I1_scaled_ebessel_I1_scaledbessel_In_scaled_ebessel_In_scaled bessel_K0_e bessel_K0 bessel_K1_e bessel_K1 bessel_Kn_e bessel_Knbessel_K0_scaled_ebessel_K0_scaledbessel_K1_scaled_ebessel_K1_scaledbessel_Kn_scaled_ebessel_Kn_scaled bessel_j0_e bessel_j0 bessel_j1_e bessel_j1 bessel_j2_e bessel_j2 bessel_jl_e bessel_jl bessel_y0_e bessel_y0 bessel_y1_e bessel_y1 bessel_y2_e bessel_y2 bessel_yl_e bessel_ylbessel_i0_scaled_ebessel_i0_scaledbessel_i1_scaled_ebessel_i1_scaledbessel_i2_scaled_ebessel_i2_scaledbessel_il_scaled_ebessel_il_scaledbessel_k0_scaled_ebessel_k0_scaledbessel_k1_scaled_ebessel_k1_scaledbessel_k2_scaled_ebessel_k2_scaledbessel_kl_scaled_ebessel_kl_scaled bessel_Jnu_e bessel_Jnu bessel_Ynu_e bessel_Ynubessel_Inu_scaled_ebessel_Inu_scaled bessel_Inu_e bessel_Inubessel_Knu_scaled_ebessel_Knu_scaled bessel_Knu_e bessel_Knubessel_lnKnu_e bessel_lnKnubessel_zero_J0_ebessel_zero_J0bessel_zero_J1_ebessel_zero_J1bessel_zero_Jnu_ebessel_zero_Jnuexp_eexp exp_e10_e exp_mult_eexp_multexp_mult_e10_eexpm1_eexpm1exprel_eexprel exprel_2_eexprel_2 exprel_n_eexprel_n exp_err_e exp_err_e10_eexp_mult_err_eexp_mult_err_e10_e airy_Ai_eairy_Ai airy_Bi_eairy_Biairy_Ai_scaled_eairy_Ai_scaledairy_Bi_scaled_eairy_Bi_scaledairy_Ai_deriv_e airy_Ai_derivairy_Bi_deriv_e airy_Bi_derivairy_Ai_deriv_scaled_eairy_Ai_deriv_scaledairy_Bi_deriv_scaled_eairy_Bi_deriv_scaledairy_zero_Ai_e airy_zero_Aiairy_zero_Bi_e airy_zero_Biairy_zero_Ai_deriv_eairy_zero_Ai_derivairy_zero_Bi_deriv_eairy_zero_Bi_deriverfc_eerfc log_erfc_elog_erfcerf_eerferf_Z_eerf_Q_eerf_Zerf_Qhazard_ehazard lngamma_elngammagamma_egamma gammastar_e gammastar gammainv_egammainv taylorcoeff_e taylorcoefffact_efact doublefact_e doublefactlnfact_elnfactlndoublefact_e lndoublefact lnchoose_elnchoosechoose_echooselnpoch_elnpochpoch_epoch pochrel_epochrel gamma_inc_Q_e gamma_inc_Q gamma_inc_P_e gamma_inc_P gamma_inc_e gamma_inclnbeta_elnbetabeta_ebeta beta_inc_ebeta_inc polySolvefftifft integrateQAGS integrateQNG derivCentral derivForward derivBackwardFunCodeSMinMinIdxMaxMaxIdxAbsSumNorm2 FunCodeVVATan2PowDivMulSubAdd FunCodeSVPowVSPowSVNegate AddConstantRecipScaleFunCodeVSqrtSignLogExpATanhACoshASinhTanhCoshSinhATanACosASinAbsTanCosSin toScalarR vectorMapR vectorMapC vectorMapValR vectorMapValC vectorZipR vectorZipClinspace vectorMax vectorMinvectorMaxIndexvectorMinIndex fromBlocksflipudfliprldiagRecttakeDiagident><takeRowsdropRows takeColumns dropColumns fromListsasRowasColumn fromArray2Dformat readMatrix extractRowsrepmateigSgeigHgsvdgqrqrPackedunpackQRcholRcholCluSolveRluSolveCluRluCminimizeNMSimplexminimizeConjugateGradientsetErrorHandlerOffsvdRsvdRddsvdCeigCeigReigSeigH linearSolveR linearSolveClinearSolveLSRlinearSolveLSClinearSolveSVDRlinearSolveSVDCcholHcholSqrRqrChessRhessCschurRschurC Container toComplex fromComplexcompconjrealcomplexLinearscale addConstantaddsubmuldivide scaleRecipequaldotouter kroneckermeshdomgnuplotXmeshmesh'splotmplotplotparametricPlot matrixToPGMimshowNormedpnormNormTypePNorm2PNorm1InfinityFieldsvd linearSolvelinearSolveSVDeigeigSH'cholSHhessschurctranseigSHcholdetluinvpinvfulleconomyepsi nullspacePrec nullVector haussholder unpackHessrcondrankmatFuncexpmsqrtm<><.>.**/<\><|><-> gsl_strerrordebugonpartitcommon//fi errorCodecheckTauxMulTMMCVMTMCVMTCVMTVCVTCMCVTCVCVCVTCVCVTCVTCMCMCMTCMCMVCMTCMVCMTVCMTCMCM TCMCMCVCMTMCMCVCMTCMCVCMTCVCMTCMTMMVMTMVMTMMVTMVTVVMTVMTMMMTMVMMTVMMTMMTMTVVVTVVTVPCPDww2ww3ww4app1app2app3app4fptr createVectorat'atasReal asComplexVvec withVectorsafeRead subMatrixR subMatrixCdiagRdiagCc_gslReadMatrix cconstantC cconstantRc_diagCc_diagR c_submatrixR cmultiplyC cmultiplyRctransCctransR constantD transdata multiplyD subMatrixDdiagDMtMFfdatMCcdat MatrixOrder ColumnMajorRowMajorcmatfmatmat withMatrixmatrixFromVector createMatrix singletoncompat>|< transdataR transdataC transdataAuxgmatCdtt multiplyAux multiplyR multiplyCdiagAux constantAux constantR constantC createSFR createSFR_E10Size_t Gsl_mode_tprecCode legendre_Pl_elegendre_Pl_arraylegendre_Pl_deriv_array legendre_P1_e legendre_P2_e legendre_P3_e legendre_Q0_e legendre_Q1_e legendre_Ql_elegendre_Plm_elegendre_Plm_arraylegendre_Plm_deriv_arraylegendre_sphPlm_elegendre_sphPlm_arraylegendre_sphPlm_deriv_arrayconicalP_half_econicalP_mhalf_e conicalP_0_e conicalP_1_econicalP_sph_reg_econicalP_cyl_reg_elegendre_H3d_0_elegendre_H3d_1_elegendre_H3d_elegendre_H3d_array complex_log_e complex_sin_e complex_cos_ecomplex_logsin_e polar_to_rect rect_to_polarangle_restrict_symm_eangle_restrict_pos_e complex_psi_egegenpoly_arraycomplex_dilog_xy_ecomplex_dilog_ecomplex_spence_xy_ecoupling_6j_INCORRECT_ecoupling_6j_INCORRECTcoulomb_wave_FG_ecoulomb_wave_F_arraycoulomb_wave_FG_arraycoulomb_wave_FGp_arraycoulomb_wave_sphF_arraycoulomb_CL_arraybessel_Jn_arraybessel_Yn_arraybessel_In_arraybessel_In_scaled_arraybessel_Kn_arraybessel_Kn_scaled_arraybessel_jl_arraybessel_jl_steed_arraybessel_yl_arraybessel_il_scaled_arraybessel_kl_scaled_arraybessel_sequence_Jnu_e lngamma_sgn_elngamma_complex_e lnpoch_sgn_e lnbeta_sgn_eComplexDoublemkfunjoinVert joinHorizluRauxluCaux mkVecVecfunmkVecfunphase magnitudepolarcismkPolar conjugateimagPartrealPart:+eigS'eigH'toFilepinvTol