Przejdź do zawartości

Równanie sześcienne

Z Wikipedii, wolnej encyklopedii
Wykres funkcji sześciennej która ma 3 pierwiastki rzeczywiste: są nimi współrzędne punktów przecięcia wykresu osią x: 2, -1 oraz -4. Pozwala to na zapis w postaci iloczynowej – rozkład na czynniki liniowe:

Równanie sześcienne lub trzeciego stopniarównanie algebraiczne postaci gdzie Jeżeli współczynniki równania są liczbami rzeczywistymi, to równanie ma trzy pierwiastki, w tym co najmniej jeden pierwiastek rzeczywisty.

Jeżeli współczynniki te są liczbami zespolonymi, to równanie to ma trzy pierwiastki – na ogół są zespolone.

Rys historyczny

[edytuj | edytuj kod]
Strona tytułowa Ars Magna

Równania sześcienne zostały rozwiązane w pierwszej połowie XVI wieku. W tamtym czasie w Europie nie używano jeszcze liczb ujemnych i każde równanie zapisywano tak aby wszystkie współczynniki były dodatnie. Rozważano więc szereg różnych typów równań trzeciego stopnia. Matematycy wiedzieli jednak, że rozwiązanie ogólnego równania trzeciego stopnia może być zredukowane do rozwiązania równania:

gdzie

Włoski matematyk Scipione del Ferro podał metodę rozwiązania jednego z tych typów, a prawdopodobnie też i drugiego. Nie rozgłaszał on swoich odkryć i przekazał on swoją metodę jedynie paru osobom, np. jego student Fior wiedział, jak rozwiązać równanie pierwszego typu. Del Ferro zapisywał wszystkie swoje odkrycia w notatniku, który po jego śmierci przeszedł w posiadanie Hannibala Navego, zięcia del Ferro. (Nave był również matematykiem i po śmierci teścia w 1526 r. przejął jego posadę na Uniwersytecie Bolońskim).

Niezależnie (ale i później) równania te były rozwiązane przez Niccolò Tartaglię. Potrafił on rozwiązać niektóre typy równań, kiedy w 1535 zaaranżowano mecz matematyczny pomiędzy Fiorem a Tartaglią. W czasie tej debaty każda ze stron podała drugiej 30 równań do rozwiązania. Podczas gdy zadania przygotowane przez Tartaglię były bardzo różnorodne, te podane przez Fiora dotyczyły tylko jedynego typu równań, które Fior potrafił rozwiązać. Rankiem 13 lutego 1535 Tartaglia odkrył sposób na rozwiązywanie tego typu równań i mecz wygrał. Swojej metody rozwiązywania równań Tartaglia nie chciał jednak ogłosić.

Girolamo Cardano uprosił Tartaglię w 1539 r. o wyjawienie metody rozwiązywania równań sześciennych, w zamian zobowiązując się do dochowania tajemnicy i nieujawniania metody. W 1540 r., Lodovico Ferrari, asystent Cardana, odkrył metodę redukcji równań czwartego stopnia do równań sześciennych. Razem z metodą rozwiązywania tych ostatnich pozwalało to rozwiązać wszystkie typy równań stopnia 4, jednak odkrycie to nie mogło zostać opublikowane ze względu na obietnicę daną Tartaglii.

W 1543 r. Cardano i Ferrari odwiedzili Navego, zięcia del Ferro, w Bolonii i dowiedzieli się od niego, że to del Ferro był pierwszym matematykiem, który rozwiązał równania trzeciego stopnia. Cardano uznał, że obietnica dana Tartaglii nie obowiązuje go więcej i opublikował metodę rozwiązywania równań 3. i 4. stopnia w swoim dziele Ars Magna w 1545.

Równania sześcienne znalazły zastosowanie m.in. w fizyce i chemii, np. w termodynamice. Równanie van der Waalsa jest równaniem sześciennym ze względu na objętość opisywanego gazu.

Sprowadzenie do postaci kanonicznej

[edytuj | edytuj kod]

Aby wyznaczyć pierwiastki równania sześciennego o współczynnikach rzeczywistych lub zespolonych

(1)

równanie to sprowadza się do tak zwanej postaci kanonicznej


(2)

gdzie:

Postać kanoniczną uzyskuje się stosując do równania wyjściowego podstawienie:

Po znalezieniu rozwiązań równania kanonicznego (2) rozwiązania pierwotnego równania (1) znajduje się z ostatniego wzoru zamieszczonego powyżej.

Uzasadnienie wzorów prowadzących do postaci kanonicznej

[edytuj | edytuj kod]

Dzieląc obie strony równania (1) przez otrzymuje się

Stosując podstawienie otrzymuje się

Po wymnożeniu, uproszczeniu i poszeregowaniu według potęg otrzymuje się

Wyraz z kwadratem znika i otrzymuje się:

Stosując podstawienia:

otrzymuje się równanie w postaci kanonicznej (2).

Równanie kanoniczne o współczynnikach rzeczywistych

[edytuj | edytuj kod]

Aby wyznaczyć pierwiastki równania kanonicznego (2), oblicza się tzw. wyróżnik

Funkcja sześcienna ma pierwiastek rzeczywisty oraz dwa pierwiastki zespolone , - pierwiastki zespolone pojawiają się z równania kwadratowego .

(pojęcie wyróżnika jest analogiczne jak dla funkcji kwadratowej). Jeżeli równanie ma współczynniki rzeczywiste, to wyróżnik jest liczbą rzeczywistą - wtedy mają sens poniższe wzory, gdzie zależnie od znaku wyróżnika są 3 możliwe przypadki.

Przypadek 1   [1]

Oblicza się

Równanie (2) ma pierwiastek rzeczywisty

oraz dwa pierwiastki zespolone, wzajemnie sprzężone

: Funkcja sześcienna ma pierwiastki: podwójny oraz pojedynczy .
Przypadek 2 [2]

2.1 Gdy (wtedy wobec jest ), to

- równanie (2) ma jeden pierwiastek rzeczywisty podwójny i jeden pojedynczy

2.2 Gdy (wtedy też ), to równanie (2) ma jeden pierwiastek rzeczywisty potrójny:

 
Przypadek 3   [2]
Funkcja sześcienna ma trzy różne pierwiastki rzeczywiste: ,, .

Równanie (2) ma trzy różne pierwiastki rzeczywiste:

gdzie:

Uwagi na temat obliczeń pierwiastków:

(a) Symbole pierwiastków kwadratowych we wzorach oznaczają pierwiastki kwadratowe rzeczywiste (pierwiastki arytmetyczne), tj. pierwiastki z liczb dodatnich, dające jako wartość liczbę dodatnią. Pierwiastki te są dobrze określone, gdyż liczy się je z , albo we wzorze , gdy , wtedy ; dlatego jest jednoznacznie określoną liczbą dodatnią (gdyby pod pierwiastkiem była liczba ujemna, to pierwiastek byłby niejednoznacznie określony - bowiem dla liczb ujemnych mielibyśmy dwa pierwiastki zespolone).

(b) Symbole pierwiastków sześciennych we wzorach oznaczają pierwiastki sześcienne rzeczywiste, tj. we wzorach , , . Obliczanie ich nie prowadzi do błędów, gdy używa się kalkulatora, ale wymaga ostrożności w używaniu programowania komputerowego: w przypadku liczb ujemnych należy obliczać te wielkości jako liczby rzeczywiste, tj. dla liczb ujemnych , gdzie - wartość bezwzględna liczby. Problem obliczeń ww. pierwiastków z użyciem programów komputerowych omówiono dalej.

Przykłady równań sześciennych

[edytuj | edytuj kod]

Zależność liczby pierwiastków rzeczywistych od wyróżnika

[edytuj | edytuj kod]

Poniższe przykłady ilustrują różne przypadki, jakie występują przy rozwiązywaniu równania sześciennego. Z podanych tu funkcji sześciennych w postaci iloczynowej natychmiast widać rozwiązania. Jednak w ogólnym przypadku liczbę pierwiastków można określić dla każdej funkcji sześciennej bez znajomości pierwiastków, określając znak wyróżnika

Zmiana liczby pierwiastków równania sześciennego - (punktów przecięcia wykresów z osią ) związana ze zmianą wyrazu wolnego wzrost powoduje przesuwanie wykresu w górę i wzrasta liczba pierwiastków. Tu

(1) Funkcja sześcienna

ma jeden pierwiastek rzeczywisty oraz dwa pierwiastki zespolone , które są pierwiastkami równania kwadratowego (równanie to ma deltę mniejszą od zera); funkcję sześcienną można przedstawić w postaci czynnikowej

Licząc stwierdzimy, że tu .

(2.1) Funkcja sześcienna

ma pierwiastek podwójny oraz pierwiastek pojedynczy . Licząc stwierdzimy, że tu .

(2.2) Funkcja sześcienna

ma pierwiastek potrójny . Licząc stwierdzimy, że tu .

(3) Funkcja sześcienna

Brak zmiany liczby pierwiastków równania sześciennego pomimo zmiany wyrazu wolnego : wzrost powoduje przesuwanie wykresu w górę, ale nie wzrasta liczba pierwiastków. Tu . W takiej sytuacji równanie ma zawsze pojedynczy pierwiastek rzeczywisty i dwa zespolone.

ma 3 pierwiastki rzeczywiste: , oraz ; można ją przedstawić w postaci czynnikowej wyżej podanej. Licząc stwierdzimy, że tu .

Zależność liczby pierwiastków rzeczywistych od wyrazu wolnego

[edytuj | edytuj kod]

Dla funkcji kwadratowej liczba pierwiastków (punktów przecięcia wykresu z osią ) będzie zmieniać się wraz z przesuwaniem wykresu funkcji wzdłuż osi w górę. Własność ta występuje dla funkcji sześciennej, ale z wyjątkiem szczególnym: gdy , to równanie ma zawsze pojedynczy pierwiastek rzeczywisty i dwa zespolone. Wynika to z postaci równania kanonicznego : podstawiając otrzymamy – pierwiastek sześcienny ma zawsze jedno rozwiązanie rzeczywiste i dwa zespolone (por. pierwiastki sześcienne w dziedzinie zespolonej).

Uwaga nt. obliczeń numerycznych. Kod programu.

[edytuj | edytuj kod]

Liczenie pierwiastków 3-go stopnia z liczb ujemnych

[edytuj | edytuj kod]

Obliczanie pierwiastków sześciennych , , z użyciem programowania komputerowego wymaga istotnej uwagi, gdyż w przypadku liczb ujemnych należy obliczać te wielkości jako liczby rzeczywiste, tj. dla liczb ujemnych , gdzie - wartość bezwzględna liczby. Jednak wiele bibliotek liczy pierwiastki sześcienne z liczb ujemnych jako tzw. pierwiastki główne zespolone, co prowadzi do błędów.

Np. w języku Python nie należy używać funkcji cmath.pow(m, 1/3) z biblioteki cmath lub instrukcji m**(1/3) do liczenie pierwiastków 3-go stopnia z liczby m, gdyż dla liczb ujemnych otrzyma się jako wynik tzw. główny pierwiastek zespolony (jeden z trzech możliwych w tym wypadku pierwiastków zespolonych), a nie pierwiastek sześcienny w dziedzinie liczb rzeczywistych (np. dla zamiast otrzyma się liczbę ), co prowadzi do błędnych wyników. W Python można zaś użyć funkcji cbrt (cubic root) z biblioteki numpy, co daje poprawnie liczbę rzeczywistą lub napisać własny, krótki kod:        

if m>0: u=m**(1/3)
else: u=-(-m)**(1/3)

Program do liczenie pierwiastków równania sześciennego o współczynnikach rzeczywistych

[edytuj | edytuj kod]

Poniżej podano przykład kodu w języku Python, znajdujący pierwiastki równania sześciennego wg wzorów wyżej podanych dla równania sześciennego o współczynnikach rzeczywistych. Program można testować, korzystając np. z darmowego notatnika colab google online. W programie obliczane są pierwiastki dla 5 zestawów danych (tj. dane są współczynniki a, b, c, d równania sześciennego) i rysowane są wykresy funkcji sześciennych. Użytkownik może dodać własne zestawy współczynników (linia 55 kodu). W linii 77 kodu: x = linespace(-1, 4, 1000) liczby -1, 4 określają zakres zmiennej x, w jakim rysowany jest wykres - można dostosować do własnych przykładów.

# JK 2024.07.19 v.2 Program oblicza pierwiastki równania sześciennego 
# o współczynnikach rzeczywistych wg wzorów podanych w:
# W. Zakowski, Mały poradnik matematyczny, Warszawa, 1977, str. 255-256.

import numpy as np, matplotlib.pyplot as plt, cmath

# ----------------------------------------------------------------------------#
#    GłóWNA FUNKCJA, OBLICZAJĄCA PIERWIASTKI RÓWNANIA SZEŚCIENNEGO            #
# ----------------------------------------------------------------------------#

def solve_cubic(a, b, c, d):
    p = c/a - b**2 / (3*a**2)
    q = 2 * b**3 / (27*a**3) + d/a - b * c / (3*a**2)
    D = (q / 2)**2 + (p / 3)**3
    s= b / (3*a)

# --------------- D > 0 ------------------------------------------------#
    if D > 0:
        # Liczę pierwiastki sześcienne z danych liczb. 
        # Uwaga: Nie używać cmath ani m**(1/3) do liczenie pierwiastków 3-go stopnia,
        # bo dla liczb ujemnych wynikiem pierwiastek główny zespolony, 
        # a nie pierwiastek sześcienny dla liczb rzeczywistych!
        u = np.cbrt(-q / 2 + D**0.5) # cbrt - poprawnie liczy pierwiastek sześcienny 
        v = np.cbrt(-q / 2 - D**0.5) # z liczb ujemnych
        
        y0 = u + v
        y1 = -(u + v)/2 + (u-v) * 3**0.5/2 * 1j
        y2 = -(u + v)/2 - (u-v) * 3**0.5/2 * 1j
        roots_x = [y0 - s, y1 - s, y2 -s]
        INFO="Przypadek Delta > 0 - jeden pierwiastek rzeczywisty, dwa zespolone"

# --------------- D = 0 ------------------------------------------------#
    elif D == 0:
        u = np.cbrt(q / 2) # pierwiastek sześcienny
        roots_x = [u - s, u - s, -2*u - s]
        if q == 0: INFO="Przypadek Delta = 0, q = 0 - pierwiastek potrójny rzeczywisty"
        else:      INFO="Przypadek Delta = 0 - pierwiastki rzeczywiste: podwójny i pojedynczy"
# --------------- D <  0 ------------------------------------------------#
    else:
        r = (-p/3)**0.5
        theta = cmath.acos(3*q / (2*p*r))
        y0 = 2*r *cmath.cos(theta/3)
        y1 = 2*r *cmath.cos((theta + 2*cmath.pi)/3)
        y2 = 2*r *cmath.cos((theta + 4*cmath.pi)/3)
        roots_x = [y0 - s, y1 - s, y2 -s]
        INFO="Przypadek Delta < 0 - trzy różne pierwiastki rzeczywiste"
    return roots_x, D, p, q, INFO

# ----------------------------------------------------------------------------#
# Zestaw współczynników a, b, c, d równań sześciennych - różne przypadki;
#        można dopisać własne współczynniki równania
# ----------------------------------------------------------------------------#

coefficients_list = [
 (1,-6, 11, -6), # D<0    : f(x)=x³-6x²+11x-6=(x-1)(x-2)(x-3) - trzy pierwiastki pojedyncze
 (1,-4,  5, -2), # D=0    : f(x)=x³-4x²+5x-2 =(x-1)²(x-2)     - pierwiastki podwójny i pojedynczy
 (1,-3,  3, -1), # D=0,q=0: f(x)=x³-3x²+3x-1 =(x-1)³          - pierwiastek potrójny
 (1, 0,  0, -1), # D>0    : f(x)=x³-1 =(x-1)(x²+x+1)          - pierwiastek pojedynczy i 2 zespolone
 (1,-1,  1, -1), # D>0    : f(x)=x³-x²+x-1 =(x-1)(x²+1)       - pierwiastek pojedynczy i 2 zespolone
]

# Funkcja do określenia znaku
def znak(w):
    return "+" if w > 0 else "-"

# Przechodzimy przez każdy zestaw współczynników
for coeffs in coefficients_list:
    a, b, c, d = coeffs
    roots_x, D, p, q, INFO = solve_cubic(a, b, c, d)

    # Rysujemy wykres funkcji
    x = np.linspace(-1, 4, 1000)
    y = a*x**3 + b*x**2 + c*x + d
    plt.plot(x, y, 'b-')

    # Rysujemy rzeczywiste pierwiastki
    real_roots = sorted([root.real for root in roots_x if abs(root.imag) < 1e-5])
    plt.plot(real_roots, [a*r**3 + b*r**2 + c*r + d for r in real_roots], 'ro')

    # Dodajemy etykiety do pierwiastków
    for root in real_roots:
        plt.text(root, a*root**3 + b*root**2 + c*root + d + 0.5, f'{root:.3f}', verticalalignment='bottom', horizontalalignment='center')

    plt.axhline(0, color='gray', linestyle='-')
    plt.axvline(0, color='gray', linestyle='-')
    plt.xlabel('x')
    plt.ylabel('f(x)')
    plt.title(f'Wykres funkcji f(x)={a}{znak(b)} {abs(b)}{znak(c)} {abs(c)}x {znak(d)} {abs(d)}', pad=20)
    plt.show()

    # Wypisujemy wartości pierwiastków
    formatted_roots = [f"{root.real:.3f} {znak(root.imag)}{abs(root.imag):.3f}*j" if abs(root.imag) > 1e-5 else f"{root.real:.3f}" for root in roots_x]
    # Usuwamy nawiasy i apostrofy z wydruku
    print("PIERWIASTKI RÓWNANIA SZEŚCIENNEGO:", ", ".join(formatted_roots))
    print(" ")
    # Informacja nt. nt. D, p, q
    print(INFO)
    print(f"Delta = {D:.4g}, p= {p:.4g}, q= {q:.4g}")
    if abs(D)<10**(-15) and D!= 0:
          print("|Delta|< 10^(-15) - może być 1 pierwiastek podwójny i 1 pojedynczy, nie 3 pojedyncze (brak precyzji mozliwy z powodu przybliżeń numerycznych)")
    print("--------------------------------------------------------------------------M")

Równanie kanoniczne o współczynnikach zespolonych

[edytuj | edytuj kod]

Jeżeli równanie sześcienne ma współczynniki zespolone

tj. , to sprowadza się je do postaci kanonicznej (w sposób identyczny jak równanie o współczynnikach rzeczywistych)

gdzie:

przy czym stosuje się podstawienie

Pierwiastki równania kanonicznego

[edytuj | edytuj kod]

Słuszne są wzory:

gdzie:

przy czym jako należy wybrać jakiekolwiek spośród możliwych pierwiastków zespolonych 3-go stopnia oraz , ale tak, by był spełniony warunek: .[3]

Uwaga 1 O ogólności wzorów: Dla równania o współczynnikach zespolonych wyróżnik może być liczbą zespoloną - dlatego tu nie można rozpatrywać przypadków (jak to pokazano dla równań o współczynnikach rzeczywistych), bo dla liczb zespolonych nie ma relacji czy . Jednak powyższe rozwiązania obejmują także jako szczególny przypadek równania o współczynnikach rzeczywistych.

Uwaga 2 O wyborze jednego z dwóch pierwiastków kwadratowych: Pierwiastek 2-go stopnia z wyróżnika w dziedzinie zespolonej ma dwie wartości , które są liczbami zespolonym, przeciwnymi: (np. ) . W obliczeniach należy wybrać jedną wartość pierwiastka - wybranie drugiej prowadziłoby do takich samych wyników na , tyle że wymieniłyby się wartościami (własność ta wynika z symetrii wzorów na ). W konsekwencji wymieniłyby się wartości i ; wartość pozostałaby bez zmian. Ponieważ równanie algebraiczne 3-go stopnia ma 3 pierwiastki zespolone, to oba rozwiązania dublują się, a nie są to np. pierwiastki podwójne.

Pierwiastki ogólnego równania sześciennego

[edytuj | edytuj kod]

Z zależności otrzymuje się ostatecznie rozwiązania równania wyjściowego (1):

Powyżej wyprowadzone wzory nazywane są wzorami Cardana[4]. Są one współczesnym uogólnieniem metody opisanej przez Girolama Cardana w Ars Magna.

Wyprowadzenie wzoru na pierwiastek

[edytuj | edytuj kod]

Wyprowadzenie to będzie słuszne dla równania w ogólności o współczynnikach zespolonych, co obejmuje równania o współczynnikach rzeczywistych. Dalej będą wyprowadzone wzory na pierwiastki oraz .

Rozważamy równanie kanoniczne

(2)

(a) Jeśli (a jest tak, gdy ), to mamy natychmiast rozwiązanie:

- wystarczy obliczyć pierwiastek zespolony 3-go stopnia z liczby (por. pierwiastki sześcienne) wg wzoru de Moivre'a; w wyniku otrzyma się trzy liczby zespolone lub jedną rzeczywistą i dwie zespolone.

Choć przypadek zawiera się w ogólnych wzorach, podanych na początku działu i niżej wyprowadzonych, to podano go tu ze względu na szczególne uproszczenie obliczeń w tym przypadku.

(b) Wprowadzamy dwie zmienne pomocnicze takie że: Wówczas


(3)

Po uporządkowaniu wyrazów z (3) mamy równanie

(4)

Zmienne można dobrać na nieskończenie wiele sposobów. Teraz załóżmy, że są takie, że


oraz
(5)

Wówczas spełnia równanie (4) gdy spełnia równanie (2). Przekształcamy układ równań (5), by otrzymać rozwiązania dla zmiennych :

Z drugiego równania mamy:

i po pomnożeniu przez otrzymujemy

Podstawiając za zmienną pomocniczą otrzymujemy równanie kwadratowe:


(6)

Równanie (6) ma dwa pierwiastki w dziedzinie zespolonej (które są liczbami rzeczywistymi tylko gdy ; gdy zaś lub jest liczbą zespoloną, to pierwiastki są liczbami zespolonymi):

gdzie podstawiono:

Ponieważ , więc otrzymujemy rozwiązania na :

Z drugiego równania układu równań (5) mamy ; podstawiając do tego równania rozwiązanie na otrzymamy:

Ostatecznie z zależności otrzymamy wzór na pierwiastek równania (2)

tj.

co kończy wyprowadzenie.

Uwaga 1 Eliminacja rozwiązań obcych: Jako należy wybrać jakiekolwiek spośród możliwych pierwiastków zespolonych 3-go stopnia oraz , ale tak, by był spełniony warunek: . Wynika to stąd, że rozwiązując układ równań (5) podnieśliśmy 1-sze równanie do trzeciej potęgi - to wprowadziło dodatkowe rozwiązania na (tzw. rozwiązania obce), nieobecne w pierwotnym układzie równań. Aby znaleźć rozwiązania właściwe, należy postąpić, jak wyżej wskazano.[3]

Uwaga 2 Wszystkie rozwiązania zawarte są w jednym wzorze: De facto wzór zawiera wszystkie trzy rozwiązania : gdy obliczy się wszystkie pierwiastki zespolone 3-go stopnia oraz , to dokładnie trzy pary liczb będą spełniać warunek: , a ich sumy dadzą pierwiastki równania kanonicznego.[3] Wynika to stąd, że pierwiastkowanie w dziedzinie liczb zespolonych jest dobrze określoną funkcją wielowartościową. Własność tę zilustrowano w przykładach 1 i 2 w następnym rozdziale.

Uogólnione wzory Cardana na pierwiastki

[edytuj | edytuj kod]

Znając pierwiastek można obliczyć pozostałe pierwiastki równania (2) wykorzystując własności symetrii pierwiastków równania kanonicznego, wyrażone we wzorach Viète’a, oraz własności pierwiastków sześciennych z jedynki (por. pierwiastek z jedynki) i Wzory te mają postać:

gdzie:

Podstawiając i i dokonując przegrupowania wyrazów otrzyma się podane na wstępie tego rozdziału wzory:

Uzasadnienie uogólnionych wzorów Cardana na pierwiastki

[edytuj | edytuj kod]

Metoda I. Pierwiastki kanonicznego równania sześciennego muszą spełniać wzory Viète’a:

(dla równania kanonicznego mamy )

Dla pierwiastków z jedynki i słuszne są m. in. zależności (łatwo to sprawdzić):

Podstawiając do wzorów Viète’a zależności

grupujemy wyrazy i korzystamy z własności pierwiastków i . Sprawdzamy, że wzory Viète'a są spełnione. Wynika stąd, że są rozwiązaniami równania kanonicznego (2), gdyż równanie 3-go stopnia ma trzy pierwiastki (ogólnie: równanie -tego stopnia ma pierwiastków, w ogólności zespolonych, a także wielokrotnych, przy czym pierwiastek o krotności traktuje się jako pierwiastków - por. zasadnicze twierdzenie algebry), co kończy dowód.

Metoda II. Dowód na postać wzorów na z wykorzystaniem ogólnej zależności nieznanych pierwiastków zespolonych od znanego pierwiastka i pierwiastków z jedynki

Pierwiastki są zadane warunkami:

Mamy już liczby , takie że , oraz pierwiastek a chcemy teraz znaleźć pierwiastki . Skorzystamy z faktu, że dwa nieznane pierwiastki sześcienne dowolnej liczby zespolonej można wyrazić poprzez jeden znany pierwiastek, gdyż:

gdzie - dowolny z trzech pierwiastków zespolonych danej liczby (por. pierwiastek sześcienny).

Wynika stąd, że pozostałe pierwiastki zespolone są dane wzorami

oraz

Spośród czterech możliwych konfiguracji znajdujemy takie pary , które spełniają warunek . Otrzymujemy dwie takie pary: oraz , gdyż

przy czym skorzystaliśmy z faktu, że . Stąd mamy natychmiast

Po pogrupowaniu i podstawieniu wyrażeń na i otrzymamy

co kończy dowód.

Podsumowanie

[edytuj | edytuj kod]

Aby rozwiązać równanie

o współczynnikach zespolonych, sprowadzamy je do postaci kanonicznej

Następnie znajdujemy parę liczb spełniających równania

  oraz  

Wymaga to rozwiązania równania kwadratowego - otrzymujemy pierwiastek Następnie otrzymujemy wzory Cardana na uzasadniając je w oparciu o własności pierwiastków zespolonych z jedynki i wzory Viète'a. Lub korzystamy z własności pierwiastków zespolonych z jedynki i ogólnej zależności pierwiastków dowolnej liczby od pierwiastków z jedynki.

Przykłady obliczania pierwiastków

[edytuj | edytuj kod]

Podano tu dwa przykłady obliczania pierwiastków równania sześciennego wg uogólnionych wzorów Cardana. Przykład pierwszy dotyczy równania o współczynnikach rzeczywistych. Przykład ten ilustruje, iż uogólnione wzory Cardana obejmują jako przypadek szczególny tego typu równania (rozważane oryginalnie przez Cardana, podane na początku tego artykułu) - nie jest potrzebne stosowania osobnych wzorów. Przykład drugi dotyczy równania o współczynnikach zespolonych. Liczby zespolone nie były znane za czasów Cardana, ale problem poszukiwania pierwiastków równania sześciennego doprowadził ostatecznie do ich odkrycia.

Obliczenia są pracochłonne, jednak pożyteczne jest prześledzenie obliczeń, gdyż w dziedzinie liczb zespolonych mamy funkcje wielowartościowe - obliczenia pierwiastków zespolonych dają 2 wartości dla pierwiastka kwadratowego i 3 dla sześciennego; ponadto wyprowadzone wzory dają rozwiązania obce - aby je wyeliminować, potrzeba sprawdzić 9 iloczynów otrzymanych liczb ; liczba możliwych "ścieżek", uwzględniająca więc wszystkie możliwe wartości pośrednie, wynosi w tych obliczeniach 18.

Na tych prostych przykładach widać, jak pożyteczne jest użycie programów komputerowych w obliczeniach.

1. Równanie o współczynnikach rzeczywistych

[edytuj | edytuj kod]

Dane jest równanie:

(a) Przechodzimy do formy kanonicznej licząc :

Otrzymujemy:

,

(b) Obliczamy

Otrzymujemy:

Uwaga: Otrzymuje się też , gdyż pierwiastek kwadratowy ma zawsze dwie wartości w dziedzinie liczb zespolonych ; tę drugą wartość pomijamy; gdybyśmy tę wartość przyjęli, to z dalszych obliczeń i tak otrzymalibyśmy te same pierwiastki równania sześciennego (por. Uwaga 2 O wyborze jednego z dwóch pierwiastków kwadratowych - poprzedni rozdział).

(c) Obliczamy z równania . Równanie to ma 3 pierwiastki zespolone, które znajdujemy za pomocą wzoru de Moivre'a :

gdzie:

- stopień pierwiastka
- moduł liczby zespolonej
- faza liczby

Dla otrzymamy

oraz trzy pierwiastki sześcienne z :

(d) Obliczamy ; wielkość ta jest sprzężona do . Liczymy pierwiastki sześcienne analogicznie, jak wyżej:

(widać, że trzy liczby są sprzężone parami z trzema liczbami )

(e) Spośród liczb znajdujemy takie pary, że .

Otrzymujemy trzy takie pary:

Liczymy pierwiastki ze wzorów:

Wynik jest zaskakujący: jeżeli wybierzemy którąkolwiek z par liczb , to otrzymamy identyczne zestawy pierwiastków, choć w zmienionej kolejności, tj.

Widać stąd, że można postępować tak: po znalezieniu jakiejkolwiek pary obliczać dalsze pierwiastki z wyżej podanych wzorów. Lub można też znaleźć te trzy właściwe pary liczb , a kolejne pierwiastki będą równe sumom wartości w poszczególnych parach .

(g) Ostatecznie ze wzoru otrzymujemy pierwiastki wyjściowego równania:

2. Równanie o współczynnikach zespolonych

[edytuj | edytuj kod]
Pierwiastki równania na płaszczyźnie zespolonej

Dane jest równanie:

(a) Obliczamy :

, ,

(b) Obliczamy : mamy dwa rozwiązania, wybieramy np.

(c) Liczymy :

, ,

(d) Liczymy

oraz liczymy :

, ,

(e) Znajdujemy takie , że

Liczymy pierwiastki z wyżej podanych wzorów: . Podobnie jak w przykładzie 1 : jeżeli wybierzemy którąkolwiek z par liczb , to otrzymamy identyczne zestawy pierwiastków, choć w zmienionej kolejności, tj.

(f) Ostatecznie ze wzoru otrzymujemy pierwiastki wyjściowego równania:

Powyższe obliczenia można sprawdzić na stronie WolframAlpha.

Kod programu: Obliczanie pierwiastków równania sześciennego o współczynnikach zespolonych

[edytuj | edytuj kod]

Poniżej podano kod programu w języku Python wg wzorów wyżej zestawionych dla równania sześciennego o współczynnikach zespolonych. Program można testować np. na darmowym notatniku colab google online. W programie obliczane są pierwiastki dla 1 zestawu danych (tj. danymi są współczynniki a, b, c, d równania sześciennego) i rysowane jest ich położenie na płaszczyźnie zespolonej. Użytkownik może podać własne zestawy współczynników (linia 12 kodu).

# JK2024.07.18 PROGRAM LICZY PIERWIASTKI RÓWNANIA O WSPÓŁCZYNNIKACH # ZESPOLONYCH 
#            ax^3 + bx^2 + cx + d = 0
# wg wzorów podanych w:I. Smirnow, Matematyka wyższa, 
# tom. I, str. 402-405
# I RYSUJE POŁOŻENIE PIERWIASTKÓW NA PŁASZCZYŹNIE ZESPOLONEJ
# UŻYTKOWNIK MOŻE WPISAC WŁASNEZESTAWY WSPÓŁCZYNNIKÓW a, b, c, d

import cmath
import matplotlib.pyplot as plt

# Współczynniki ogólnego równania sześciennego - przykładowe zestawy
a, b, c, d =  2+3j, 1-2j, -1+4j, 5+6j
#a, b, c, d =     1,    5,     4,    0
#a, b, c, d =     1,    0,     0,    1

# Obliczenie p, q, s, D
p = c / a - (b**2) / (3 * a**2)
q = (2 * b**3) / (27 * a**3) + d / a - (b * c) / (3 * a**2)
s = b / (3 * a)
D = cmath.sqrt((q / 2)**2 + (p / 3)**3)

print(f"p={p:.4g}, q={q:.4g}")

# Pierwiastki sześcienne z jedności
omega = cmath.exp(2 * cmath.pi * 1j / 3)
omega2 = omega ** 2

# Obliczenie pierwiastków sześciennych na u i v
u1 = ((-q / 2 - D) ** (1/3))
u2 = omega * u1
u3 = omega2 * u1

v1 = ((-q / 2 + D) ** (1/3))
v2 = omega * v1
v3 = omega2 * v1

# Sprawdzenie wszystkich kombinacji u i v - wybór takich, że u*v=-p/3
possible_roots = []
roots = []

for u in [u1, u2, u3]:
    for v in [v1, v2, v3]:
        if abs(u * v + p / 3) < 1e-10:  # warunek u * v = -p /3
            x0 = u + v - s
            x1 = omega * v + omega2 * u - s
            x2 = omega2 * v + omega * u - s 

            print(f"uv={u*v:.4g},u={u:.4g}, v={v:.4g}, x0={x0:.4g}, x1={x1:.4g}, x2={x2:.4g}")
            x0 = complex(round(x0.real, 4), round(x0.imag, 4))
            possible_roots.append(x0)
            roots.append((u, v))

print(" ----")

# Wykres pierwiastków na płaszczyźnie zespolonej
fig, ax = plt.subplots(figsize=(8, 8), dpi=300)  # Ustawienie DPI dla wysokiej jakości

# Punkty na wykresie
colors = ['bo', 'ro', 'go']
lines =  ['b--', 'r--', 'g--']
labels = []

for i, x in enumerate(possible_roots):
    ax.plot([x.real], [x.imag], colors[i % len(colors)], label=f'Root {i+1}: {x}')  # Punkty z etykietami
    ax.plot([0, x.real], [0, x.imag], lines[i % len(lines)])  # Linie przerywane
    labels.append(f'Root {i+1}: {x}')

# Dodanie legendy
ax.legend()

# Etykiety i tytuł
ax.set_xlabel('Re z')
ax.set_ylabel('Im z')
equation = f"{a}x^3 + {b}x^2 + {c}x + {d} = 0"
ax.set_title(f'Pierwiastki równania sześciennego na płaszczyźnie zespolonej\n{equation}')

# Siatka
ax.grid()

# Równe skalowanie
ax.axis('equal')

# Ustawienie przezroczystego tła
fig.patch.set_alpha(0.0)
ax.patch.set_alpha(0.0)

# Zapisanie wykresu z przezroczystym tłem w wysokiej jakości
plt.savefig('complex_roots.png', transparent=True, dpi=300)

# Wyświetlenie wykresu
plt.show()


Inne metody rozwiązywania równania kanonicznego

[edytuj | edytuj kod]

Wykorzystanie twierdzenie Bézouta

[edytuj | edytuj kod]

Jeśli znajdzie się jeden pierwiastek równania

(2)

to pozostałe dwa pierwiastki można wyznaczyć korzystając z twierdzenia Bézouta: dzieląc wielomian przez dwumian otrzyma się jako iloraz równanie kwadratowe: rozwiązując to równanie otrzyma się pozostałe pierwiastki równania (2).

Ważony para-cosinus

[edytuj | edytuj kod]

Dla równania kanonicznego

korzystamy ze wzorów Viète’a i otrzymujemy:

Ten nieliniowy układ z trzema niewiadomymi ze względu na wysoką symetrię jest jednym z niewielu, które dają się rozwiązać analitycznie. Ze względu na prostotę pierwszego równania wystarczy zająć się jedynie dwoma następnymi po wyrugowaniu zmiennej

Zastosujemy teraz podstawienie para-trygonometryczne (ważony para-cosinus):

zależności

prowadzą do układu równań

który rozwiązujemy rozwiązując proste równanie kwadratowe.

Podstawienie Viète’a

[edytuj | edytuj kod]

W równaniu kanonicznym podstawiamy

co prowadzi do równania kwadratowego na

lub równoważnie

gdzie . Równanie powyższe ma dwa rozwiązania oraz ; stąd otrzyma się na po trzy rozwiązania: oraz , gdyż w dziedzinie zespolonej każda liczba różna od zera ma zawsze trzy pierwiastki trzeciego stopnia (por. pierwiastek sześcienny). Daje to w sumie sześć rozwiązań na . Jednak ostatecznie otrzyma się trzy rozwiązania na trzy będą dublować się.

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]

Bibliografia

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]