Expressing a root of a cubic polynomial as a series

Click For Summary

Discussion Overview

The discussion revolves around methods for expressing the roots of a cubic polynomial as a series, particularly focusing on extracting the largest root with arbitrary precision. Participants explore various numerical methods and their limitations in achieving this goal.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant inquires about an efficient way to express the largest root of the cubic polynomial x^3 - 4*x^2 + 2, seeking a method to obtain digits incrementally.
  • Another participant acknowledges Newton's Method but points out its limitation due to the need for division by the derivative, which can lead to infinite decimal expansions.
  • A suggestion is made to consider the bisection method as an alternative, although it also has its own limitations.
  • One participant expresses uncertainty about how to extract an arbitrary number of digits from the root, referencing a desire for a method similar to a spigot algorithm.
  • Another participant proposes calculating the extrema of the polynomial and using tangent lines to establish brackets for root-finding.
  • A different approach is shared, detailing the formula for finding roots of a cubic polynomial, but it does not address how to extract digits individually.
  • One participant clarifies that their main issue is not finding the roots but rather returning arbitrarily long decimal expansions.
  • Finally, a participant admits to understanding the question but expresses a lack of knowledge on how to proceed.

Areas of Agreement / Disagreement

Participants express various methods and approaches, but there is no consensus on a definitive solution for extracting digits of the cubic root. Multiple competing views and uncertainties remain regarding the best approach.

Contextual Notes

Limitations include the dependence on numerical methods that may not yield precise results for arbitrary digit extraction and the unresolved nature of how to handle infinite decimal expansions.

SeventhSigma
Messages
256
Reaction score
0
Is there a good way to do this?

I have an equation, say x^3 - 4*x^2 + 2, so a=1, b=-4, c=0, d=2.

Is there an easy way to express the largest root of such an equation? In this case, the roots are:

3.8661982625090223
-0.65544238154983
0.7892441190408067

But I am trying to find an easier way to extract that 3.866 root in such a way that I can express it in terms of as many digits as I want (incrementally, so as to not waste computer memory doing crazy float math). I've tried looking at the wiki entries for cubic functions and Taylor expansions but I feel like I'm hitting a brick wall.

Apologies if my question is not clear.
 
Physics news on Phys.org
And yes, I'm aware of Newton's Method, but the problem is that it requires me to divide a function by its derivative, which ultimately results in a decimal of infinite length (meaning I have to truncate it and lose information).
 
SeventhSigma said:
And yes, I'm aware of Newton's Method, but the problem is that it requires me to divide a function by its derivative, which ultimately results in a decimal of infinite length (meaning I have to truncate it and lose information).

How about the bisection method? Of course there are also limitations (as with every other numerical method) but it is not as worse as with Newton.
 
Just of the top of my head:

You could calculate the extrema (set derivative to zero).
Pick a point to the left of the leftmost extrema, calculate the tangent line and intersect it with the x-axis.
There! A lower bracket.

If there are no extrema, search left and right with some step, until your signs are different.
There! A bracket.
 
My problem isn't finding roots -- it's returning arbitrarily long decimal expansions
 
Ah sorry, my bad.

Well, you could simply calculate all roots and pick the biggest.

The solution of [itex]x^3+ax^2+bx+c = 0[/itex] is:

[itex]Q={a^2-3b \over 9}[/itex]

[itex]R={2a^3-9ab +27c \over 54}[/itex]

if [itex]R^2 < Q^3[/itex] then

[itex]\theta=\arccos(R / \sqrt{Q^3})[/itex]

[itex]x_1=-2\sqrt Q \cos({\theta \over 3}) - {a \over 3}[/itex]

[itex]x_2=-2\sqrt Q \cos({\theta + 2\pi \over 3}) - {a \over 3}[/itex]

[itex]x_3=-2\sqrt Q \cos({\theta - 2\pi \over 3}) - {a \over 3}[/itex]​

else

[itex]A=-sgn(R)\left[|R| + \sqrt{R^2-Q^3}\right]^{1 \over 3}[/itex]

[itex]B=(Q/A) \text{ if } (A \ne 0) \text{ or 0 otherwise}[/itex]

[itex]x_1=(A+B) - {a \over 3}[/itex]​

fi
 
Right, but I mean how do I then take that sort of formulation and then spit out, say, N digits, where I'm dealing with each digit as a standalone entity?

ex:

for N in range (1, 100):
return Nth digit of cubic root
 
Sorry, I finally understand what you're asking, but I've got no clue. :frown:
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 0 ·
Replies
0
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 11 ·
Replies
11
Views
2K