#1138 risch & *integrator-level* unbound

closed
nobody
5
2012-12-04
2007-02-25
No

risch(cosh(x)) --> lisp error, but risch(cos(x)) i OK:

(%i4) risch(cosh(x),x);
Maxima encountered a Lisp error:
Error in MACSYMA-TOP-LEVEL [or a callee]: The variable *INTEGRATOR-LEVEL* is unbound.

(%i5) risch(cos(x),x);
(%o5) sin(x)

Discussion

  • Barton Willis

    Barton Willis - 2007-02-25
    • milestone: --> Includes_proposed_fix
     
  • Barton Willis

    Barton Willis - 2007-02-25

    Logged In: YES
    user_id=895922
    Originator: YES

    A putative fix:

    (defmfun $risch (exp var)
    (setq *integrator-level* 0)
    (with-new-context (context)
    (rischint exp var)))

     
  • Raymond Toy

    Raymond Toy - 2007-02-26

    Logged In: YES
    user_id=28849
    Originator: NO

    *integrator-level* was added fairly recently to break an infinite loop in INTEGRATOR. Instead of setting it in $risch, perhaps it should be bound in hypertrigint1, which looks like the only place risch calls back into sin.lisp (via INTEGRATOR).

     
  • Raymond Toy

    Raymond Toy - 2007-03-07
    • status: open --> closed
     
  • Raymond Toy

    Raymond Toy - 2007-03-07

    Logged In: YES
    user_id=28849
    Originator: NO

    Fixed as suggested (mostly).

    Now risch(cosh(x),x) -> 1/2*(exp(x)-exp(-x))

    I suppose that would be better as sinh(x), the answer is right.

    risch.lisp, rev 1.10

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks