bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] Mathieu functions: some issues


From: Vladimir V. Kisil
Subject: [Bug-gsl] Mathieu functions: some issues
Date: Thu, 25 Feb 2016 19:16:38 +0000

        Dear All,

        I want to raise some issues with the implementation of Mathieu
  functions in GSL.

  1. Documentation says that every function in gsl_sf_mathieu.h returns
  int, however functions like 

double gsl_sf_mathieu_ce (int N, double Q, double X)

  return double.

  2. In many cases Fourier coefficients are of interest to user, and
  they are indeed available to a user through

int gsl_sf_mathieu_a_coeff(int order, double qq, double aa, double coeff[]);
int gsl_sf_mathieu_b_coeff(int order, double qq, double aa, double coeff[]);

  However, the documentations does not tell this to users.

  3. In most cases a user is interested in many values of Mathieu
  functions for the same value of the parameter q. In a typical
  example, for every point of a 100x100 grid we need 5-10 different
  Mathieu function values with a same q. If evaluated from GSL, that
  will make hundred fousand identical calls to the above functions for
  Fourier coefficients.

  In SciLab
  (http://forge.scilab.org/index.php/p/mathieu/source/tree/master/)
  there is a possibility to recycle those Fourier coefficients once they
  have been computed. GSL performance will significantly increase if it
  will have a similar feature (may be using workspace?)

  4. In many applications Mathieu functions are useless if you are not
  able to calculate values of their derivatives as well. For this
  reason, evaluation of derivatives of Mathieu functions is implemented
  in other packages (SciLab mentioned above, SciPy, etc.)

  In fact, evaluation of derivatives does not require much work within
  the library code: if the  Mathieu function is evaluated by summing up
  the terms An*cos(n*x), then the derivative is given by the sum of terms
  An*n*cos(n*x). However, there is no an easy and accurate way to find
  the derivative if only the value of functions are returned to a user.

  I hope this comments may help (but please let me know if you require
  actual patches rather than suggestions).
  
  Best wishes,
  Vladimir
-- 
Vladimir V. Kisil                 http://www.maths.leeds.ac.uk/~kisilv/
  Book:     Geometry of Mobius Transformations     http://goo.gl/EaG2Vu
  Software: Geometry of cycles          http://moebinv.sourceforge.net/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]