#2282 Problem in LISP with times function in sym

None
closed
nobody
5
2013-11-16
2011-10-19
No

Good morning dear collegues,

I'm the author of the package "symmetries" of maxima (in maxima/share/sym/)

A new strange bug with LISP appears :

(%i49) resolvante: lineaire$
(%i50) resolvante(x^3-6,x,x1+2*x2+3*x3,[x1,x2,x3]);
" resolvante lineaire "
Maxima encountered a Lisp error:

EVAL: undefined function TIMES

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
================
the function resolvante apply a function of the file maxima/share/sym/resolv1.lsp (joined) when the variable "resolvante" is affected to " lineaire").
The function " times" (not TIMES) appears two times in file maxima/share/sym/resolv1.lsp

With the preceding versions of maxima this problem does not exists. The function resolvante (with lineaire) was ok.
I use maxima under Sage
See bellow "bug_report()" informations :
========
(%i7) bug_report();
...
-------------------------------------------------------------
Maxima version: 5.13.0
Maxima build date: 15:23 7/11/2008
host type: i686-apple-darwin9.2.0
lisp-implementation-type: CLISP
lisp-implementation-version: 2.46 (2008-07-02) (built on bsd.local [10.95.224.68])

-------------------------------------------------------------

What do you think about ?

I work about a conference on Evariste Galois (National Celebration ...) ,
I need to make some computations, as the (linear) Galois resolvent, and I have'nt many time.

Thank to help me.

Sincerly yours, Annick Valibouze

Discussion

  • file maxima/share/sym/resolv1.lsp

     
    Attachments
  • Dieter Kaiser
    Dieter Kaiser
    2011-10-19

    I have observed this bug in even older version Maxima 5.9, too.

    Maxima does not know a function or macro with the name times. I had a look at the code and I have tried to insert the function mul at two places. With this change I get a result:

    (%i4) resolvante: lineaire$

    (%i5) resolvante(x^3-6,x,x1+2*x2+3*x3,[x1,x2,x3]);
    " resolvante lineaire "
    6
    5
    4
    3
    2
    1
    (%o5) y^6+972

    I do not know if the result is correct and I do not know the algorithm. But if the functions times is supposed to multiply the arguments, than mul is the correct replacement in the file reslov1.lisp.

    By the way: When loading the functions of the package I get a lot of compiler warnings. There might be more problems.

    Dieter Kaiser

     
  • Dieter Kaiser
    Dieter Kaiser
    2011-10-19

    In addition, this is a summary of the compiler report, when loading the package with SBCL and the actual Maxima version 5.25post:

    ; compilation unit finished
    ; Undefined functions:
    ; $ADD_SYM $DIVI_SYM $EV $EXP_SYM $FADD_SYM $FMULT_SYM $MULT_SYM $PART0 GROUPE_RESOLVANTE PUI2POLYNOME_GENERIQUE TIMES
    ; Undefined variables:
    ; $DIRECTNEW $RESOLCAYLEY $RESOLVANTE $SCHUR2COMP AAAAA LL1
    ; caught 6 WARNING conditions
    ; caught 26 STYLE-WARNING conditions

    Dieter Kaiser

     
  • Thanks for your answers
    Your result is ok.
    you can test with (the default) :
    resolvante: general$
    resolvante(x^3-6,x,x1+2*x2+3*x3,[x1,x2,x3]);

    Compilation :
    For the variables, I think that it is not a problem
    (I must take time to return in code to test all)
    For the functions, at this moment, I have not answer.
    It is clear, that with old versions of Maxima the function times was ok and compilation presented any problem ; others functions seems to be sym functions.
    I have some problem to compile too.
    When my conference will be finish, I will take time to anderstand what it appends and to debug and propose the new version
    (with some new functions about resolvents ...)

    Annick Valibouze

     
  • Remark :
    The algorithm with
    resolvante : lineaire$
    is not the same than the algorithm with
    resolvante: general$
    which does not depend on the invariant;
    The first is more rapid because the power functions of the roots of the resolvent are computed specificaly from a formulae providing to the multinomial formulae.

     
  • Robert Dodier
    Robert Dodier
    2013-11-07

    • private: Yes --> No
    • Group: --> None
     
  • Robert Dodier
    Robert Dodier
    2013-11-16

    • labels: Lisp Core --> Share Libraries, sym
    • status: open --> closed
     
  • Robert Dodier
    Robert Dodier
    2013-11-16

    Fixed by commit 8965c6305: change TIMES to M*. Closing this report.