On Sep 17, 8:47 am, x x <[email protected]> wrote:
> > I am trying to solve the following equation:
> > sage: f(x)=((1-0.15)/(1-0.15+(0.15/(1-x*0.15)^22)))^3-x
>
> Hi,
>
> When writing 15/100 instead 0.15 it outputs:
>
> [x == 0.302350301169,
>  x == (0.67362336338 + 0.678659962463*I),
>  x == (0.67362336338 - 0.678659962463*I)]
>
> Although solve only accepts from the SymbolicRing (i don't know what
> this is b.t.w.) i suspect it solves over extensions of the rational
> numbers.
>
> Or maybe it decides to use numerical methods when the coefficients of
> the input equation are real numbers, and in this example the numerical
> methods give rise to a bug.
>

Dear Niels and Geir,

Because we use Maxima as our backend for such things, there are some
compromises we have to accept.  One that is currently being worked on
is precisely this issue.

In particular, one subroutine within the Sage solve is the Maxima
to_poly_solve, which uses a routine in Maxima called algsys, which
does indeed return floating-point answers when it cannot return exact
answers.  (I suspect that this was not known by whoever added this
functionality.  However, it is only recently that we've been getting
reports like this.)

See 
http://groups.google.com/group/sage-devel/browse_thread/thread/e797a9904baaa4a6/77a322b8a84b054a?show_docid=77a322b8a84b054a
as well.

- kcrisman
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to