Hi,
any opinion on the subject below? I don't really want to code a
patch that never gets accepted later...
Betreff: | [GiNaC-devel] evalf() on cube roots |
---|---|
Datum: | Wed, 31 Oct 2018 18:02:50 +0100 |
Von: | Jan Rheinländer <jrheinlaender@gmx.de> |
An: | GiNaC development list <ginac-devel@ginac.de> |
On 08/02/2015 08:59 PM, Jan Rheinländer wrote:Actually, there isn't. Branch cuts are a matter of convention. Nothing more but also nothing less.I suppose there is some excellent mathematical reason for this...There isn't. GiNaC, like almost all other systems, returns the solution on the principal branch, compatible with exp(log(-1)/3).It should be straightforward to replace such rational expressions by the form you want them to be in before calling evalf(), using techniques such as these: <http://www.ginac.de/FAQ.html#advanced> Cheers -richy.but for me it means that I can't use GiNaC to verify Cardano's formula for a cubic function:(-1-sqrt(2))^(1/3)+(-1+sqrt(2))^(1/3)x = (-1 - sqrt(2))^(1/3) + (-1 + sqrt(2))^(1/3);3.3544445609126528848+8.9073474964875349776*I Surely there must be a way to verify such a formula in GiNaC???evalf(x^3 + 3 * x + 2);