Got Questions? Get Answers.
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Roots of 4th order polynomial

Subject: Roots of 4th order polynomial

From: Markus Buehren

Date: 6 Nov, 2007 13:59:16

Message: 1 of 3

Hi!

There is an analytical way to compute the roots of a
polynomial of 4th degree, found by some guy called Ferrari.
Here are two descriptions:

http://mathworld.wolfram.com/QuarticEquation.html

http://www.mathe.tu-freiberg.de/~hebisch/cafe/viertergrad.pdf
(in german)

I wonder why I can't find an implementation in Matlab (or C)
of this algorithm on Matlab central. Does anyone know where
to find one?

Regards
Markus

Subject: Roots of 4th order polynomial

From: l_combee@yahoo.no

Date: 6 Nov, 2007 16:39:03

Message: 2 of 3

On Nov 6, 2:59 pm, "Markus Buehren" <mb_matlab.REM...@gmxTHIS.de>
wrote:
> Hi!
>
> There is an analytical way to compute the roots of a
> polynomial of 4th degree, found by some guy called Ferrari.
> Here are two descriptions:
>
> http://mathworld.wolfram.com/QuarticEquation.html
>
> http://www.mathe.tu-freiberg.de/~hebisch/cafe/viertergrad.pdf
> (in german)

There is a "simpler" (?) solution then the ones described above (the
final results are obviously the same), and it doesn't
require one to "eliminate" the x^3 term.

Just rewrite as follows:

x^4 + a1*x^3 + a2*x^2 + a3*x + a4 => (x^2 + b1*x + b3)*(x^2 + b2*x +
b4)

b1,2,3,4 are simple linear and intuitive expressions in a1,2,3,4 with
an additional unknown parameter r, e.g.,
b1 = a1/2 + r
b2 = a1/2 - r
b3/2 = a2 - 1/4*a1^2 + r^2 - (...)/r
b4/2 = a2 - 1/4*a1^2 + r^2 + (...)/r

where r is a non-zero root of the cubic equation
r^3 + k*r^2 + l*r^2 + m = 0
and where k,l,m are again simple expressions of the a1,2,3,4

Voila.

Subject: Roots of 4th order polynomial

From: Markus Buehren

Date: 8 Nov, 2007 00:40:43

Message: 3 of 3

> There is a "simpler" (?) solution then the ones described
above (the
> final results are obviously the same), and it doesn't
> require one to "eliminate" the x^3 term.
>
> Just rewrite as follows:

Do you have an implementation of that method??

Markus

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us