Menu

#3557 algsys solution depends on variable order

None
open
algsys (15)
5
2019-06-03
2019-06-03
No

Algsys solves system of equations for some orderings of variables, but not others.

(%i9) eqns:[y*z-2*l*y-2*l*z=0, x*z-2*l*x-2*l*z=0, x*y-2*l*x-2*l*y=0, 2*x*y+2*x*z+2*y*z=1]$
(%i10) algsys(eqns,[x,y,z,l]);
(%o10) []
(%i11) algsys(eqns,[l,x,y,z]);
(%o11) [[l = -1/(4*sqrt(6)),x = -1/sqrt(6),y = -1/sqrt(6),z = -1/sqrt(6)],
          [l = 1/(4*sqrt(6)),x = 1/sqrt(6),y = 1/sqrt(6),z = 1/sqrt(6)]]

Reported on the maxima mailing list on 2019-06-02.

Discussion

  • David Billinghurst

    This is similar to [bugs :#2059] which went away after algsys improvements. Common causes for this behaviour are (see [bugs:#3208]):

    • zero determininants that don't simplify to zero
    • expression swell when back-substituting solutions

    Tracing similar to [bugs:#3321] required.

    We can see which permutations of variables give two solutions

    map(lambda([u],
      [u,length(algsys(eqns,u))]),
      listify(permutations([x,y,z,l])));
    [
     [[l,x,y,z],2],
     [[l,x,z,y],2],
     [[l,y,x,z],2],
     [[l,y,z,x],2],
     [[l,z,x,y],2],
     [[l,z,y,x],2],
     [[x,l,y,z],2],
     [[x,l,z,y],2],
     [[x,y,l,z],0],
     [[x,y,z,l],0],
     [[x,z,l,y],0],
     [[x,z,y,l],0],
     [[y,l,x,z],2],
     [[y,l,z,x],2],
     [[y,x,l,z],0],
     [[y,x,z,l],0],
     [[y,z,l,x],0],
     [[y,z,x,l],0],
     [[z,l,x,y],2],
     [[z,l,y,x],2],
     [[z,x,l,y],0],
     [[z,x,y,l],0],
     [[z,y,l,x],0],
     [[z,y,x,l],0]
    ]
    
     

    Related

    Bugs: #3208
    Bugs: #3321


    Last edit: David Billinghurst 2019-06-03
  • David Billinghurst

    I have traced this for algsys(eqns,[x,y,z,l]) using trace in [bugs:#3321]

    Elimination using resultants finds z = 1/sqrt(6) and z = -1/sqrt(6). It is the back-substitution that fails. This failure may be reducible to a two equation problem.

     

    Related

    Bugs: #3321


Log in to post a comment.

MongoDB Logo MongoDB