Fitting in Maxima



On 12/31/08, ?iga Lenar?i? <ziga.lenarcic at gmail.com> wrote:

>  1) What is the current naming convenction for new functions in Maxima?
>  It seems that new functions are named in a
>  whole_words_separated_with_underscore.

Yes.

>  I personally much prefer the Mathematica's CapitalsForEachWord,

Adopting that convention would be a serious mistake,
and I discourage it at every opportunity.

>  4) Will there be possibility to call compiled numerical libraries
>  (ATLAS ..) from lisp in the future?

I hope so. The key part is a foreign function interface which is
usable by enough of the important-enough Lisp implementations.
I believe that CFFI is the most likely candidate at this point.

>  5) List of lists vs matrix : transpose does not work on list of
>  lists, therefore one has to convert list of lists to matrix,
>  transpose and convert back. I don't see what functionality is gained
>  by reprezenting matrices with a 'matrix.

Confounding lists and matrices (and sets) is a serious mistake.

>  6) There is no real SVD in Maxima? (don't suggest lapack dgesvd)

Here I'll try to avoid saying something I'll regret later.

>  6) What functionality should Maxima provide regarding function fitting?
>  I intend to write functions with similar calling structure as
>  Mathematicas
>  Fit - linear fitting (via missing SVD)
>  FindFit - nonlinear fitting via levenberg-marq. minimisation (from
>  Numerical Recipes)

The numerical stuff in the lsquares package makes use of LBFGS,
a quasi-Newton algorithm. L-M or other Gauss-Newton algorithms
might be preferable for least-squares problems, but I don't think it
makes a big difference.

One thing that comes to mind to make it simpler for the user is to
implement a construct similar to the "data frame" of S+ and R,
which associates metadata such as column names with a matrix.

By the way, the tone of your messages really discourages cooperation.

FWIW

Robert Dodier