bug-gsl
[Top][All Lists]
Advanced

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

[Bug-gsl] small documentation issues


From: Britton Kerin
Subject: [Bug-gsl] small documentation issues
Date: Thu, 11 Nov 2004 11:01:31 -0900 (AKST)

First, I love the GSL.  There aren't many pieces of software that seem 
sufficiently well-written that picking at knits this small seems 
worthwhile :)

In general: I'm probably just paranoid, but I get left feeling slightly 
unsure sometimes whether I can just call some_type_init() again or 
whether I have to do a some_type_free() some_type_alloc() when I want to 
start over.  For example, I wonder whether gsl_spline_init(), 
gsl_multifit_fdfsolver_set() are enough to make a fresh start.  Assuming 
that init does reset everything, a consistent use of the _init extension 
(for example between the above two) might be good, with perhaps a small 
secion somewhere stating how these things generally work.

In chapter 6 (polynomials):

subsection 6.2:

The functions described here manipulate polynomials stored in Newton's 
divided-difference representation.  The use of divided-differences is 
described in Abramowitz & Stegun sections 25.1.4, 25.2.26.

Abramowitz & Stegun should probably be mentioned in subsection 6.7 
(References).  \begin{knitpick} "sections 25.1.4 and 25.2.26." would be 
the normal way to end the second sentence. \end{knitpick}

In chapter 36 (Nonlinear Least-Squares Fitting):

The fields of structure types gsl_multifit_fsolver and 
gsl_multifit_fdfsolver are not described in the documentation, so one 
assumes they are private.  But in the example, the function print_state:

int
print_state (size_t iter, gsl_multifit_fdfsolver * s)
{
  printf ("iter: %3u x = % 15.8f % 15.8f % 15.8f "
          "|f(x)| = %g\n",
          iter,
          gsl_vector_get (s->x, 0), 
          gsl_vector_get (s->x, 1),
          gsl_vector_get (s->x, 2), 
          gsl_blas_dnrm2 (s->f));
}

The fiels s->x is referenced.  It's pretty obvious what it is, but it 
this portion of the API should be documented.  It also appears to make 
the routines gsl_multifit_fsolver_position and 
fsl_multifit_fdfsolver_position redundant.

In section 36.6, Minimization Algorithms using Derivatives, the section 
describing gsl_multifit_fdfsolver_lmsder contains a could small typo.  
The fourth paragraph begins:

The proposed step is now tested by evaluating the function at the 
resulting point, x'. If the step reduces the norm of the function 
sufficiently, and follows the predicted behavior of the function within 
the trust region. then it is accepted and size of the trust region is 
increased.

The second sentence should read

If the step reduces the norm of the function
sufficiently, and follows the predicted behavior of the function within
the trust region, then it is accepted and the size of the trust region is
increased.

i.e. period => comma and add a 'the'.

Britton





reply via email to

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