SourceForge has been redesigned. Learn more.

#867 algsys & algebraic == true / FIX


(%o7) [b*c+a^2-a,b*d+a*b-b,c*d+a*c-c,d^2-d+b*c]
(%i8) algsys(%,[a,b,c,d]);

Maxima encountered a Lisp error:
(%i9) algsys(%o7,[a,b,c,d]),algebraic : true;
(%o9) [[a=-(sqrt(1-4*%r7*%r8)-1)/2, ...]]

Would it be OK to have algsys (or maybe just resultant)
set algebraic to true?



  • Barton Willis

    Barton Willis - 2006-02-13

    Logged In: YES

    Proposed fix:

    (defmfun $resultant (a b mainvar)
    (prog (varlist formflag $ratfac res ans genvar $keepfloat
    (setq varlist (list mainvar) $ratfac t ans 1 $algebraic t)

    It seems to fix the problem:

    (%o9) [b*c+a^2-a,b*d+a*b-b,c*d+a*c-c,d^2-d+b*c]
    (%i10) algsys(%,[a,b,c,d]);
    (%o10) [[a=-(sqrt(1-4*%r7*%r8)-1)/2,b=%r7


  • Robert Dodier

    Robert Dodier - 2006-08-15

    Logged In: YES

    Observed in

  • Robert Dodier

    Robert Dodier - 2006-08-15
    • labels: --> 460522
    • summary: algsys & algebraic == true --> algsys & algebraic == true / FIX
  • Robert Dodier

    Robert Dodier - 2006-09-08
    • labels: 460522 --> Lisp Core - Solving equations
  • Robert Dodier

    Robert Dodier - 2006-09-09
    • milestone: --> Includes_proposed_fix
  • Dieter Kaiser

    Dieter Kaiser - 2009-01-25

    This bug reported is related to the bug report SF[609466].

    A check for a number zero in a call to punivarp has been checked in.
    Maxima no longer gets a fatal Lisp error for the examples given in this bug report, but returns an error message:

    `algsys' cannot solve - system too complicated.
    -- an error. To debug this try debugmode(true);

    Should we close the bug report too? The Lisp error has gone. The algorithm is not smart enough to find a solution for the problem, but that might be not a bug.

    To improve algsys more general we can set the flag $algebraic in the routine $algsys. That is the point a lot of global variables are set.

    Dieter Kaiser

  • Dieter Kaiser

    Dieter Kaiser - 2010-02-10
    • status: open --> pending
  • Dieter Kaiser

    Dieter Kaiser - 2010-02-10

    The Lisp error has gone as written in the last posting.
    The system is solveable with the option variable algebraic set to true:

    (%i1) [b*c+a^2-a,b*d+a*b-b,c*d+a*c-c,d^2-d+b*c];

    (%o1) [b*c+a^2-a,b*d+a*b-b,c*d+a*c-c,d^2-d+b*c]
    (%i2) algsys(%,[a,b,c,d]),algebraic:true;

    (%o2) [[a = -(sqrt(1-4*%r559*%r560)-1)/2,b = %r559,c = %r560,
    d = (sqrt(1-4*%r559*%r560)+1)/2],
    [a = (sqrt(1-4*%r561*%r562)+1)/2,b = %r561,c = %r562,
    d = -(sqrt(1-4*%r561*%r562)-1)/2],[a = 0,b = %r563,c = 0,d = 1],
    [a = 1,b = %r564,c = 0,d = 0],[a = 1,b = 0,c = 0,d = 1],
    [a = 0,b = 0,c = 0,d = 0]]

    I think we no longer have a bug. Setting the status to pending and the resolution to "works for me".

    Dieter Kaiser

  • SourceForge Robot

    • status: pending --> closed
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).


Log in to post a comment.