Re: Re: Number of roots from Solve?

*To*: mathgroup at smc.vnet.net*Subject*: [mg48472] Re: [mg48457] Re: Number of roots from Solve?*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Tue, 1 Jun 2004 03:02:48 -0400 (EDT)*References*: <200405310413.AAA16448@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

There are two reasons why I am sure Solve uses Rationalize. One, less important reason is that in the example that started this thread there are variables that have real exponents: there are no algebraic methods for solving such equations. Threfore they have to be converted to rationals. You can also check that NSolve will not solve these equations. Secondly, Solve depends fundamentally on Groebner basis. Grobener basis with non-exact coefficients is a very tricky thing. I think Daniel Lichtblau actually implemented something like that in NSolve, but certainly not in Solve. So there is no doubt that Solve has to rationalize equations to use Groebner basis. Finally, your example means nothing more than Solve applies N to the final result, as you would expect it to do. Andrzej Kozlowski On 31 May 2004, at 13:13, Bill Rowe wrote: > On 5/30/04 at 6:12 AM, akoz at mimuw.edu.pl (Andrzej Kozlowski) wrote: > >> I think having inexact coefficients does not make any difference >> here since I am pretty sure Solve first applies Rationalize to >> everything. In fact I don&t think it would not make any sense to do >> otherwise, given that Solve uses only algebraic and not numerical >> techniques. Since the equations are non-polynomial I can see >> nothing at all strange about them having very different numbers of >> roots. > > I don't understand your comments regarding Solve and Rationalize. Why > does the fac Solve uses algebraic techniques imply the usage of > Rationalize? > > If I do > > Solve[x^2+.1 x + .01 == 0,x] > > I get > > {x->-0.1,x->-0.1} > > and if I do > > Solve[Rationalize[x^2 + .1 x + .01 == 0], x] > > I get > > {x->-1/10}, x->-1/10} > > Doesn't that argue against Solve first applying Rationalize? > -- > To reply via email subtract one hundred and four > >