Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
345 stars 230 forks source link

Msolve issues #3424

Open mahrud opened 2 months ago

mahrud commented 2 months ago

o1 = Msolve

o1 : Package

i2 : S = QQ[x,y,h]

o2 = S

o2 : PolynomialRing

i3 : I = ideal"3x2h-x3-y3,3y2h-2x3-2y3"

           3    3     2       3     3     2

o3 = ideal (- x - y + 3x h, - 2x - 2y + 3y h)

o3 : Ideal of S

i4 : msolveRealSolutions I -- FIXME stdio:4:19:(3): error: parallel assignment: expected a sequence of 2 values

i5 : I = ideal"3x2-x3-y3,3y2-2x3-2y3"

           3    3     2      3     3     2

o5 = ideal (- x - y + 3x , - 2x - 2y + 3y )

o5 : Ideal of S

i6 : msolveRealSolutions I -- FIXME stdio:6:19:(3): error: parallel assignment: expected a sequence of 2 values


This is probably introduced by me, but in fairness I think the documentation of Msolve is unclear or has a mistake about the output in this case.

cc: @Martin-Helmer @antonleykin 
Martin-Helmer commented 2 months ago

Thanks Mahrud!

As far as I know, this error use to be caught (some the code that caught it must have been inadvertently removed), for example when I run both these examples on my slightly older version of the Msolve package:

msolveRealSolutions I
stdio:5:1:(3): error: Input ideal not zero dimensional, no solutions found.

The lines that caught it (inside msolveRealSolutions) were:

solsp := readMsolveList get mOut;
if solsp_0>0 then (error "Input ideal not zero dimensional, no solutions found.";);
if (solsp_1)_0>1 then (print "unexpected msolve output, returning full output"; return solsp;);
mahrud commented 2 months ago

Yes, I realized that was on purpose and fixed this in #3425. The first issue I think Mike probably intends to fix. so maybe I'll assign this issue to him.