Řešení obecné kubické rovnice

Řešíme obecnou kubickou rovnici tvaru (kde a je různé od 0, jinak by to nebyla kubická rovnice):

a*x^3+b*x^2+c*x+d = 0       resp.       x^3+beta*x^2+gamma*x+delta = 0 ,

to po vydělení rovnice číslem a , přičemž beta = b/a , gamma = c/a, delta = d/a . Další úpravou je možné se "zbavit" i členu s druhou mocninou, zavedením nové proměnné z  vztahem

x = z-beta/3  .

Dosazením do rovnice pro x dostaneme po úpravě:

z^3+(gamma-1/3*beta^2)*z-1/3*gamma*beta+delta+2/27*beta^3 = 0

Položíme-li tedy

p = gamma-beta^2/3 ,   q = -gamma*beta/3+delta+2*beta^3/27

obdržíme tzv. redukovanou kubickou rovnici

z^3+p*z+q = 0 .

Řešení této rovnice budeme hledat ve speciálním tvaru

z = u^(1/3)+v^(1/3)  ,

kde u, v jsou neznámá (hledaná) čísla. Proč vlastně v tomto tvaru? Jednak proto, že to vyjde :) a jednak to přece jenom má jakousi logiku: očekáváme, že hledané kořeny budou mít co do činění s nějakou kombinací třetích odmocnin, a toto je jedna z nejjednodušších.

Po dosazení a úpravě dostaneme

u+3*u^(2/3)*v^(1/3)+(p+3*v^(2/3))*u^(1/3)+p*v^(1/3)+q+v = 0

což po úpravě dává

u+v+q+(u^(1/3)+v^(1/3))*(p+3*(u*v)^(1/3)) = 0 .

Tato rovnice bude splněna například tehdy, když

q = -(u+v)

p = -3*(u*v)^(1/3)

Uvedená soustava pro neznámé   u, v vede na kvadratickou rovnici například pro proměnnou u : po dosazení v = -q-u  do druhé rovnice dostaneme p^3 = 3^3*u*(q+u) , neboli:

u^2+q*u-(p/3)^3 = 0 .

Diskriminant této kvadratické rovnice,   q^2+4*(p/3)^3 , se nazývá i diskriminantem původní kubické rovnice, častěji se však tímto termínem označuje jeho čtvrtina: (q/2)^2+(p/3)^3 , vyznačující se hezkou symetrií.

Problém je tím v podstatě vyřešen, u  spočteme jako (stačí jeden) kořen uvedené kvardatické rovnice a v  najdeme z u. Dosazením získáme i  z , a po provedení zpětných substitucí se dozvíme i x . Všecko to pak vypadá takto (proveďte si podrobně):

u := -1/2*q+1/18*sqrt(81*q^2+12*p^3)

v := -1/2*q-1/18*sqrt(81*q^2+12*p^3)

z := (-1/2*q+1/18*sqrt(81*q^2+12*p^3))^(1/3)+(-1/2*q-1/18*sqrt(81*q^2+12*p^3))^(1/3)

x := (1/6*c*b/(a^2)-1/2*d/a-1/27*b^3/(a^3)+1/18*sqrt(81*(-1/3*c*b/(a^2)+d/a+2/27*b^3/(a^3))^2+12*(c/a-1/3*b^2/(a^2))^3))^(1/3)+(1/6*c*b/(a^2)-1/2*d/a-1/27*b^3/(a^3)-1/18*sqrt(81*(-1/3*c*b/(a^2)+d/a+2/2...
x := (1/6*c*b/(a^2)-1/2*d/a-1/27*b^3/(a^3)+1/18*sqrt(81*(-1/3*c*b/(a^2)+d/a+2/27*b^3/(a^3))^2+12*(c/a-1/3*b^2/(a^2))^3))^(1/3)+(1/6*c*b/(a^2)-1/2*d/a-1/27*b^3/(a^3)-1/18*sqrt(81*(-1/3*c*b/(a^2)+d/a+2/2...

Poslední vyjádření x lze ještě drobně upravit:

[Maple OLE 2.0 Object]

Tento Cardanův vzorec umožňuje nalézt všechny tři kořeny původní kubické rovnice tím, že bereme do úvahy různé třetí odmocniny výrazů v něm uvedených.

Všechno bylo sepsáno v Maplu (který za mě upravoval výrazy, proto jsem to v něm taky psal), který se vyznačuje nepříliš hezkou úpravou, za kterou se omlouvám.