[R] Solving 100th order equation

Shubha Vishwanath Karanth shubhak at ambaresearch.com
Sat May 24 14:56:32 CEST 2008


Was also wondering which theoretical method is used to solve this problem?

Thanks,
Shubha Karanth | Amba Research
Ph +91 80 3980 8031 | Mob +91 94 4886 4510 
Bangalore * Colombo * London * New York * San José * Singapore * www.ambaresearch.com

-----Original Message-----
From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com] 
Sent: Saturday, May 24, 2008 6:13 PM
To: Peter Dalgaard
Cc: Shubha Vishwanath Karanth; r-help at stat.math.ethz.ch; Duncan Murdoch
Subject: Re: [R] Solving 100th order equation

On Sat, May 24, 2008 at 8:31 AM, Peter Dalgaard
<p.dalgaard at biostat.ku.dk> wrote:
> Shubha Vishwanath Karanth wrote:
>>
>> To apply uniroot I don't even know the interval values... Does numerical
>> methods help me? Or any other method?
>>
>> Thanks and Regards,
>> Shubha
>>
>> -----Original Message-----
>> From: Duncan Murdoch [mailto:murdoch at stats.uwo.ca] Sent: Saturday, May 24,
>> 2008 5:08 PM
>> To: Shubha Vishwanath Karanth
>> Subject: Re: [R] Solving 100th order equation
>>
>> Shubha Vishwanath Karanth wrote:
>>
>>>
>>> Hi R,
>>>
>>>
>>> I have a 100th order equation for which I need to solve the value for x.
>>> Is there a package to do this?
>>>
>>>
>>> For example my equation is:
>>>
>>>
>>> (x^100 )- (2*x^99) +(10*x^50)+.............. +(6*x ) = 4000
>>>
>>>
>>> I have only one unknown value and that is x. How do I solve for this?
>>>
>>>
>>
>> uniroot() will find one root.  If you want all of them, I don't know what
>> is available.
>>
>> Duncan Murdoch
>>
>
> polyroot() is built for this, but it stops at 48th degree polynomials, at
> least as currently implemented. Not sure that it (or anything else) would be
> stable beyond that limit. YACAS perhaps?
>

Unfortunately yacas does not seem to be able to handle it:

> library(Ryacas)
> x <- Sym("x")
> Solve((x^100 )- (2*x^99) +(10*x^50)+(6*x ) - 4000 == 0, x)
[1] "Starting Yacas!"
expression(list())

Simpler one works ok:

> Solve(x^2 - 1, x)
expression(list(x == 1, x == -1))
This e-mail may contain confidential and/or privileged i...{{dropped:10}}



More information about the R-help mailing list