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
>
>