Hi, thanks for the patch.
But then, wouldn't it be natural to reorganize the code so that power::to_rational throws an exception when it is called as a result of the call to to_rational in fraction_free_elimination?
This approach sounds a bit wrong (to put it very mildly).
One of the reasons why this fix is bad is because it would only be acceptable for the case solve_algo::automatic. But there are several other ways of calling fraction_free_elimination more directly.
I see.
<snip> It passes our testsuite without noticeable benchmark penalties and it solves Diego's problem. But I haven't done much more thinking and testing. Diego, can you please try if this works as expected for whatever you are doing there?
Yes, as far as I can tell your patch corrects the problem. The code I sent earlier is part of a list of computations I have been doing on the group SU(3); the sqrt(3) appears in the structure constants. I have repeated the calculations after applying your patch, and I have obtained consistent results. Best regards, Diego