Re: Charsets
David Scherfgen via Maxima-discuss <[email protected]> Fri, 31 Jul 2026 22:44:45 +0200
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <CAMTHLKij1Xpe7Mgr55eiN_FuL3jNyzmjaKAVDunDHxGWy04OLA@mail.gmail.com> |
--===============5451883147025718994== Content-Type: multipart/alternative; boundary="0000000000002337dc0657ee43a0" --0000000000002337dc0657ee43a0 Content-Type: text/plain; charset="UTF-8" It seems like Maxima and Maple use different variable ordering, so for multivariate polynomials they produce different answers. This doesn't mean that either one is wrong. It's just a matter of definition. Can you share the actual, full computation that gives a wrong result? Dan Stanger <[email protected]> schrieb am Fr., 31. Juli 2026, 17:14: > Hello All, > I isolated the issue with Charsets to one line in the code, where the > current polynomial is divided by the leading coefficient and the numerator > used in the continuing calculation, to eliminate possible fractional > coefficients in the polynomials. However Maples and Maximas leading > coefficients produce different results. With Viktor's help I produced the > following table: > Expression Maxima Maple Same > print(lcoeff(-x1-2*x1*x2^2+(-x1^2)*x2-x3^2+x1*x2*x3)) -1 -1 Y > print(lcoeff(2*x1^2*x2-2*x1*x2^2+(-2)*x1^2*x2^2-x1-x1^2)) -2 -2 Y > print(lcoeff(1+3*x2*x3^2+(-x2)*x3+4*x2^2+(-2)*x2^3*x3+4*x2^4)) 3 4 N > print(lcoeff(4*x2^3+4*x2^5+x2+(-4)*x4*x2^4+(-4)*x4*x2^2-x4)) -4 4 N > print(lcoeff(1+8*x2^6+12*x2^4+6*x2^2)) 8 8 Y > print(lcoeff(12*x2^5+12*x2^3+3*x2)) 12 12 Y > print(lcoeff(-1-4*x2^4+(-4)*x2^2)) -4 -4 Y > print(lcoeff(4*x2^4+4*x2^2+1)) 4 4 Y > print(lcoeff(-2*x2^3-x2+x2^2*x3+x2^2)) 1 -2 N > print(lcoeff(2*x2^4+x2^2+(-2)*x4*x2^3+(-x4)*x2+x4*x2^2-x2^3)) -2 2 N > print(lcoeff(-4*x2^5-5*x2^3+4*x2^4-x2+2*x2^2)) -4 -4 Y > print(lcoeff(4*x2^4+2*x2^2+(-2)*x2^3)) 4 4 Y > print(lcoeff(-2*x2^3-x2+x2^2)) -2 -2 Y > print(lcoeff(2*x2^3+x2-x2^2)) 2 2 Y > print(lcoeff(2*x4*x2^2+x2-x2^2)) 2 2 Y > print(lcoeff(-1+x3^2)) 1 1 Y > print(lcoeff(-x4+x2)) -1 1 N > print(lcoeff(-1-2*x2^2+x2)) -2 -2 Y > Does anyone have time to take a look at this to try to determine the maple > lcoeff algorithm? > Dan Stanger > _______________________________________________ > Maxima-discuss mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > --0000000000002337dc0657ee43a0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">It seems like Maxima and Maple use different variable ord= ering, so for multivariate polynomials they produce different answers. This= doesn't mean that either one is wrong. It's just a matter of defin= ition.<div dir=3D"auto">Can you share the actual, full computation that giv= es a wrong result?</div></div><br><div class=3D"gmail_quote gmail_quote_con= tainer"><div dir=3D"ltr" class=3D"gmail_attr">Dan Stanger <<a href=3D"ma= ilto:[email protected]">[email protected]</a>> schrieb a= m Fr., 31. Juli 2026, 17:14:<br></div><blockquote class=3D"gmail_quote" sty= le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi= ng-left:1ex"><div dir=3D"ltr"><div>Hello All,</div><div>I isolated the issu= e with Charsets to one line in the code, where the current polynomial is di= vided by the leading coefficient and the numerator used in the continuing c= alculation, to eliminate possible fractional coefficients in the polynomial= s. However Maples and Maximas leading coefficients produce different result= s. With Viktor's help I produced the following table:</div><div> =09 =09 <span></span> =09 =09 =09 <table cellspacing=3D"0" border=3D"0" style=3D"font-family:"Liberation= Sans";font-size:x-small"> <colgroup width=3D"417"></colgroup> <colgroup span=3D"3" width=3D"85"></colgroup> <tbody style=3D"font-family:"Liberation Sans";font-size:x-small"= ><tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">Expression</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Maxima</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Maple</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Same</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-x1-2*x1*x2^2+(-x1^2)*x2-x3^2+x1*x= 2*x3))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-1</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-1</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(2*x1^2*x2-2*x1*x2^2+(-2)*x1^2*x2^2= -x1-x1^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(1+3*x2*x3^2+(-x2)*x3+4*x2^2+(-2)*x= 2^3*x3+4*x2^4))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">3</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">N</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(4*x2^3+4*x2^5+x2+(-4)*x4*x2^4+(-4)= *x4*x2^2-x4))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-4</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">N</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(1+8*x2^6+12*x2^4+6*x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">8</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">8</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(12*x2^5+12*x2^3+3*x2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">12</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">12</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-1-4*x2^4+(-4)*x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-4</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(4*x2^4+4*x2^2+1))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-2*x2^3-x2+x2^2*x3+x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">1</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">N</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(2*x2^4+x2^2+(-2)*x4*x2^3+(-x4)*x2+= x4*x2^2-x2^3))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">N</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-4*x2^5-5*x2^3+4*x2^4-x2+2*x2^2))<= /td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-4</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(4*x2^4+2*x2^2+(-2)*x2^3))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">4</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-2*x2^3-x2+x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(2*x2^3+x2-x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(2*x4*x2^2+x2-x2^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-1+x3^2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">1</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">1</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-x4+x2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-1</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">1</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">N</td> </tr> <tr style=3D"font-family:"Liberation Sans";font-size:x-small"> <td height=3D"17" align=3D"left" style=3D"font-family:"Liberation Sa= ns";font-size:x-small">print(lcoeff(-1-2*x2^2+x2))</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"right" style=3D"font-family:"Liberation Sans";font= -size:x-small">-2</td> <td align=3D"left" style=3D"font-family:"Liberation Sans";font-= size:x-small">Y</td> </tr> </tbody></table> </div><div><font face=3D"arial,sans-serif">Does anyone have time to take a = look at this to try to determine the maple lcoeff algorithm?</font></div><d= iv><font face=3D"arial,sans-serif">Dan Stanger</font></div></div> _______________________________________________<br> Maxima-discuss mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" r= el=3D"noreferrer">[email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/maxima-discuss" rel= =3D"noreferrer noreferrer" target=3D"_blank">https://lists.sourceforge.net/= lists/listinfo/maxima-discuss</a><br> </blockquote></div> --0000000000002337dc0657ee43a0-- --===============5451883147025718994== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============5451883147025718994== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Maxima-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/maxima-discuss --===============5451883147025718994==--