Równanie trzeciego stopnia
Z Wikipedii
Równanie algebraiczne postaci
rozwiązać można na kilka sposobów.
Spis treści |
[edytuj] Pierwszy sposób
Równanie należy przedstawić w bardziej użytecznej formie. Najpierw dzieląc przez a otrzymujemy
i stosując podstawienie
mamy
po wymnożeniu, uproszczeniu i poszeregowaniu według potęg otrzymujemy
wyraz z kwadratem znika i równanie wygląda tak:
Następnie należy zastosować 2 podstawienia:
Otrzymujemy równanie w postaci kanonicznej:
następnie przyjmijmy, że
Wówczas
Po dalszym uporządkowaniu otrzymujemy
Wyraźnie widać, iż konieczne jest, by
i
W takim razie
, czyli
, stąd
Po pomnożeniu przez otrzymamy
Czyli znana postać funkcji kwadratowej
Podstawiając za v3 zmienną pomocniczą otrzymamy :
Podobnie jak w trójmianie kwadratowym występuje wyraz nazywany wyróżnikiem
Pamiętając o układzie równań dla zmiennych u,w po dalszych przekształceniach otrzymujemy wzory Cardana:
[edytuj] Drugi sposób
Zależnie od znaku wyróżnika mamy 3 możliwości.
Gdy , to obliczamy takie pomocnicze zmienne:
,
,
(Re - część rzeczywista liczby zespolonej)
A pierwiastek jest wtedy równy:
Gdy to pierwiastki są dwa:
,
A gdy , to pierwiastki są trzy. Aby doprowadzić je do postaci rzeczywistej należy wyznaczyć liczby
aby
czyli
Gdybyśmy stąd chcieli znaleźć liczby i
z równań otrzymanych przez porównanie części rzeczywistych oraz współczynników przy
, doprowadziłoby to nas do równań trzeciego stopnia o ujemnym wyróżniku, a więc których pierwiastki jakkolwiek wszystkie trzy rzeczywiste, znowu byłyby przedstawione przez wzory o skomplikowanej postaci dwóch pierwiastków sześciennych z liczb zespolonych. Droga ta nie doprowadziłaby więc do celu. W tym przypadku wzory Cardano nie nadają się do obliczenia pierwiastków równania. Można je natomiast wówczas z łatwością obliczyć przy pomocy funkcji trygonometrycznych. Wyznaczamy liczbę dodatnią
i kąt
tak, aby
i
Zatem:
i
co jest zawsze możliwe, gdyż wobec mamy
skąd
wzór przybierze wówczas postać:
Lecz jak wiemy:
zatem:
więc ostatecznie:
Obie te metody po części wynikają jedna z drugiej, zatem żadna z nich nie jest osobnym odkryciem, lecz w drugiej podany jest gotowy wzór wynikający z działań na liczbach zespolonych. Wzory te zostały opublikowane przez Girolamo Cardano w jego największym dziele - Ars magna.
Oto kod źródłowy przedstawiający ten sposób w języku C
#include <stdio.h> #include <math.h> #define PI 3.141592653589793238462643 void poly1(double[]); void poly2(double[]); void poly3(double[]); int main(){ double a[4]; int i; printf("Rozwiazyzywanie rownan wielomianowych stopnia trzeciego \n \n"); for(i=3;i>=0;i--){ printf("a[%d]=",i); scanf("%lf",&a[i]); } printf("\n"); poly3(a); printf("\n"); return 0; } void poly1(double a[]){ double x[1]; if(a[1]==0.&&a[0]==0.) printf("x[0] jest dowolna liczba rzeczywista\n"); if(a[1]==0.&&a[0]!=0.) printf("x[0] nie istnieje\n"); if(a[1]!=0.){ x[0]=(double)(-a[0]/a[1]); printf("x[0]=%.12f\n",x[0]); } } void poly2(double a[]){ double delta; double x[2]; delta=pow(a[1],2)-4*a[2]*a[0]; if(a[2]==0.) poly1(a); if(a[2]!=0.&&delta<0) printf("x[0] w zbiorze liczb rzeczywistych nie istnieje\n"); if(a[2]!=0.&&delta>=0.){ x[0]=(-a[1]-sqrt(delta))/(2.*a[2]); x[1]=(-a[1]+sqrt(delta))/(2.*a[2]); printf("x[0]=%.12f\n",x[0]); printf("x[1]=%.12f\n",x[1]); } } void poly3(double a[]){ double x[3]; double p,q,r,th,u,v,c,delta,eps=1e-12; if(a[3]==0.) poly2(a); if(a[3]!=0.){ c=-a[2]/(3.*a[3]); p=(3*a[3]*a[1]-pow(a[2],2))/(9.*pow(a[3],2)); q=(2*pow(a[2],3)-9*a[3]*a[2]*a[1]+27*pow(a[3],2)*a[0])/(54.*pow(a[3],3)); delta=pow(q,2)+pow(p,3); if(fabs(delta)<eps) delta=0.; if (delta>0){ u=cbrt(-q-sqrt(delta)); v=cbrt(-q+sqrt(delta)); x[0]=u+v+c; printf("x[0]=%.12f\n",x[0]); } if(delta<=0.){ r=hypot(-q,sqrt(-delta)); th=atan2(sqrt(-delta),-q); x[0]=2*cbrt(r)*cos((th/3.))+c; x[1]=2*cbrt(r)*cos((th+2*PI)/3.)+c; x[2]=2*cbrt(r)*cos((th-2*PI)/3.)+c; printf("x[0]=%.12f\n",x[0]); printf("x[1]=%.12f\n",x[1]); printf("x[2]=%.12f\n",x[2]); } } }
[edytuj] Trzeci sposób
Porównując postać kanoniczną do postaci iloczynowej
otrzymujemy nieliniowy układ równań z trzema niewiadomymi ale o wysokiej symetrii.
Ten nieliniowy układ z trzema niewiadomymi jest jednym z niewielu które dają sie rozwiązac analitycznie. Ponieważ równanie trzecie zawiera iloczyn trzeciego stopnia wystarczy podstawienie para-trygonometryczne (ważony para-cosinus)
,
,
gdzie łatwo zgadnąć φ = 300, aby wyzerować inne potęgi, co dalej prowadzi już do równania kwadratowego zapisanego prostym układem równań
co daje już rozwiązanie.
[edytuj] Zobacz też
- liczba zespolona
- równanie kwadratowe
- równanie bikwadratowe
- równanie zwrotne
- równanie czwartego stopnia
- metodyka rozwiązywania równań