• Back to the 21st century


  • cubic polynomials for time passengers...



    The old mathematicians(like Euclid: around 330 bc - around 275 bc) ran into the problem of solving a polynomial of degree 3 a very long time ago, when trying to find the solution for various geometrical challenges...(like the doubling of the volume of a cube, trisection of an angle..).All these problems cannot be solved by instruments like compasses or a ruler. There are clear indications that finding solutions for this particular problem even goes back to ancient Babylonia (approx. 2'000 bc). The Arabian mathematicians inspired the famous Italian mathematician Leonardo Pisano Fibonacci(1170 - 1250), who found a solution for a special cubic equation (where c1 = 2, see below). He probably used an Arabic method of successive approximations.

    The general case(except from the pardonable coefficient 1 with x3, in today's language we talk about a normed polynomial): P(x) = x3 + c1x2 + c2x + c3 = 0

    The solution of a cubic polynomial is linked with the Renaissance mathematician Girolamo Cardano: 24.9.1501(Pavia,Italy) - 21.9.1576(Rome,Italy). But now lets look at our polynomial P(x) above (assuming only REAL coefficients). By the substitution z = x - c1/3 we can transform P(x) into Q(x)=x3+ px + q = 0. We assume that p is unequal to 0. If x is a solution of Q(x), we can write x = u + v. When we do that, our equation Q(x) turns into: (u + v)3 + p(u + v) + q =0, eg. u3 + v3 + (3uv + p)(u + v) + q = 0. As u + v has the dimension 1, we can choose 1 parameter in order to make the middle term vanish by 3uv = - p. (I) 3uv = - p and (II) u3 + v3 = - q. This means u3 and v3 are roots of the quadratic equation s2 + qs - (p/3)3 = 0. The solutions of these equations are:

    u3 = (-q/2) + [(q/2)2 + (p/3)3]1/2 and v3 = (-q/2) - [(q/2)2 + (p/3)3]1/2 .. it can be also shown easily that u3 - v3 = 2[(q/2)2 + (p/3)3]0.5

    But this way we obtain 3 solutions each for u and v, leaving us with 9 solutions in total for our x = u + v at first glance. But we remember that 3uv = - p, eg once we choose one solution for u, v is determined, which reduces the total number of solutions for u + v from 9 to 3. In todays terms, we can say that these 3 solutions must have the form x1, x1r and x1r2 where r = e2π i/3. Starting with solution u1 and the relation 3u1v1 = - p, our complete solution will look like this: x1 = u1 + v1 , x2 = r u1 + r2v1 , x3 = r2u1 + rv1 (+), of course we would need to verify that these are indeed the solutions of Q(x), but lets take a coffee and skip this analytical exercise. This triple (+) we name Cardanos formulas. It should be mentioned here, that the solution of a cubic polynomial bordered on a miracle, as mathematical symbolism was not existing at Cardano's time and the concept of complex numbers was unknown. (So our formula above is not really Cardano's handwriting). Cardano helped himself out by geometrical shapes/proofs. Although Cardano's contribution was very valuable in regards to cubic polynomials it was not him who found the solution as the first one. Nicolas Tartaglia (1500 or 1499 - 1557) seemed to be the one who found a general solution even before Cardano, just that Cardano published (book 'Ars Magna'; year 1545 in Nurnberg) Tartaglias idea first, and did not follow the agreement. It is also important to mention, that the 'Ars Magna' contained a more generalized view of the cubic equation compared to Tartaglias results. It must be also mentioned here that the Italian mathematician Scipione del Ferro (6.2.1465 - 5.11.1526) found a solution of our reduced form Q(x) above probably earlier than Tartaglia. Ferro kept his solution in secret and passed over his knowledge just before he died to his scholars Hannibal del Nave (son-in-law) and Antonio Maria Fior. The indications are that Tartaglia and Ferro found the solutions independently. Tartaglia never forgave Cardano for his "treason". Cardano's argument was that Scipione der Ferro found a solution before Tartaglia so he (Cardano) did not feel obliged to guard it as Tartaglia's personal secret any longer but considered it rather as "factum".

    Now lets look at one example, an example our Renaissance mathematicians could have solved for us:

    x3 - 3x2 + 7x - 21 = P(x) = 0

    The transform of x = r + 1 leads us to : r3 + 4r - 16 = Q(r) = 0, thus p = 4 and q = -16, so u + v = 2 (as 1st leaf of Riemann's surface), eg x1 = 3, we easily see, that the other solutions are complex. However, if D = (q/2)2 + (p/3)3 is negative, and we do not know the classical concept of complex numbers, we would have to definitely surrender here. Cardano indicates in a letter (August 4th, 1539) to Tartaglia that (q/2)2 + (p/3)3 < 0 can be a valid condition but that he (at the moment) does not know what to do with it. Tartaglia's written reply to Cardano is elusive and does not contain any useful suggestions to the problem. (It is quite likely that Cardano was one of the first mathematicians who must have used in one way or the other complex numbers as an indirect result when trying to solve the cubic equation). As this case was an insuperable obstacle, Cardano called it "casus irreducibilis". There is no algebraic way we could transform (a + bi)1/3 into x + ξi, i.e. without a trigonometrical representation (resp we would end up with a more complex equation than our cubic polynomial). This unpleasant fact occurs exactly there, where we would have expected it the least, eg where we find 3 real solutions!

    The "casus irreducibilis" can only occurr for a negative p and it must hold: q2/4 < |p3/27|. In order continue with this negative D, we have at least 2 (but not very different) possibilities.

    (a) we continue with the negative D and use complex numbers ..
    (b) we use the equivalence of cos 3α = 4cos3 α - 3cos α to Q(x) and expand the equation by a a factor ω as |cos α | ≤ 1. This way we obtain: z = ω cos α , ω = 2 (-p/3)1/2 and cos (α/3) = - 4q / ω 3.
    But the period of cosine is 2π so if we set: 3α = φ + 2πn we will get: z1 = ω cos φ/3 , z2 = ω cos (φ + π)/3 , z3 = ω cos (φ + 2π)/3

    f:{(signum x)*(abs x) xexp 1%3};s3:sqrt 3;pi:acos -1f
    s:s%first s;p:(b:s@2)-a*t:(a:s@1)%3;c:-0.5*q:(s@3)-t*b-2f*t*t;D:(c*c)+p*p*p%27f;

    /cardano,ferro,tartaglia
    if[D>=0f;u:f c+w:sqrt D;v:f c-w;mn0:neg m0:0.5*m:u+v;n0:s3*0.5*n:u-v;r:(m,0f;mn0,-1f*n0;mn0,n0);r[;0]:r[;0]-t]
    /casus irreducibilis; using (b)
    if[D<0f;h:sqrt -4f*p%3;i:acos -4f*q%h*h*h;r:(h*cos (i+pi*0 2 4)%3)-t]


    Sample 1: x3 + 7x2 - 4 = 0 (s:1 7 0 -4) returns r as 0.719824,-6.916382,-0.8034424)
    Sample 2: x3 - 9x2 + 36x - 28 = 0 (s:1 -9 36 -28) : returns r as (1 0;4 -3.464102;4 3.464102) .. means x1=1 , x2,3 = 4 ± 3.464102i
    Sample 3: x3 + 8x2 + 5x - 50 = 0 (s:1 8 5 -50) returns r as (2 0;-5 -3.575534e-008;-5 3.575534e-008) .. means x2=2 , x2,3 = -5
    Sample 4: 144x3 - 216x2 + 101x - 15 = 0 (s:144 -216 101 -15) returns r as (0.75,0.3333333,0.4166667) i.e. 3/4 , 1/3 , 5/12
    Sample 5: z3 - 6iz + 4(1-i) = 0 .. we try z = a + ib and separate the real and complex part first: a3 - 3ab2 + 6b + 4 = 0 resp. -b3 + 3a2b - 6a - 4 = 0
    this can be reduced to (a-b)(a+b)(a2+b2) + 4(a-b) = 0 - this means a = b and we end up with -a3 + 3a + 2 and so s = -1 0 3 2: returns r as (2 0;-1 -0;-1 0)
    In other words: z1 = 2 + 2i and z2,3 = -1 - i


  • Back to the 21st century


  • ©++ MILAN ONDRUŠ