<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Dear all,<div><br></div><div>I am using the function to_polynomial to produce a polynomial from a expression,</div><div>it seems that to_polynomial does not return a polynomial in some cases, </div><div>as illustrated in the following example, note that it works well on expression e2,</div><div>while it does nothing on e3 (e3=e2^2), and does not return a polynomial.</div><div><br></div><div><br></div><div><div>#include "ginac/GiNaC.h"</div><div>using namespace GiNaC;</div><div>using namespace std;</div><div>int main() {</div><div>    symbol x("x"), y("y");</div><div>    auto e1 = x+y;</div><div>    auto e2 = e1+1/e1+pow(e1,4);</div><div>    auto e3 = pow(e2, 2);</div><div>    exmap mp2;</div><div>    ex p2 = e2.to_polynomial(mp2);</div><div>    cout << " = " << p2 << "\n   with " << mp2 << endl; </div><div>    //= y+symbol4+x+(y+x)^4</div><div><div>    //   with {symbol4==(y+x)^(-1)}</div></div><div>    exmap mp3;</div><div>    ex p3 = e3.to_polynomial(mp3);</div><div>    cout << " = " << p3 << "\n   with " << mp3 << endl;</div><div><div>    //= (y+(y+x)^(-1)+x+(y+x)^4)^2</div><div>    //with {}</div></div><div>    return 0;</div><div>}</div><div><br></div><div>Best regards!</div><div>Feng</div><div><br></div><div><br></div></div>