Cardano vs Vieta

Zbiór wzorów, definicji i najczęściej poruszanych problemów z Algebry.
Awatar użytkownika
mol_ksiazkowy
Użytkownik
Użytkownik
Posty: 11266
Rejestracja: 9 maja 2006, o 12:35
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 3143 razy
Pomógł: 747 razy

Cardano vs Vieta

Post autor: mol_ksiazkowy »

Jak wiadomo N.H. Abel wykazał, niemożność rozwiązania w postaci ogólnej równań stopnia piątego i wyższych za pomocą skończonej liczby operacji +, -, *. i / oraz wyciągania pierwiastka; uzasadnił też na czym polega możność znalezienia ogólnej postaci rozwiązania dla niższych stopni...Dużo wcześniej G. Cardano rozsupłał był równanie stopnia trzeciego. Jak to zrobił? Metoda jakiej użył była niezwykle pomysłowa i prosta! Sam pomysł podał mu rzekomo Tartaglia, pod warunkiem dochowania sekretu : skojarzył z tym równaniem (A) prosty układ równań :
tj:

\(\displaystyle{ a - b = -q}\)
\(\displaystyle{ 27ab = p^{3}}\)

Mając dane konkretne równanie (A) , a więc znając liczby \(\displaystyle{ p}\) i \(\displaystyle{ q}\), wypisany powyżej układ równań obliczamy bez trudu . Łatwo zauwayć, że obliczenie \(\displaystyle{ a}\) i \(\displaystyle{ b}\) sprowadza się do rozwiązania równania kwadratowego! Liczymy deltę itd...
Znając już liczby \(\displaystyle{ a}\) i \(\displaystyle{ b}\) kładziemy:

\(\displaystyle{ x=\sqrt[3]{a}-\sqrt[3]{b}}\)

Dlaczego tak ? trudno powiedzieć, bo na tym właśnie opiera się genialność metody, ale teraz łatwo jest się przekonać, że jest istotnie to pierwiastek równania A , faktycznie, korzystamy tylko ze wzoru na sześcian różnicy i z tego jak powiązne są liczby a, b z p i q:
tj.:

(A) \(\displaystyle{ x^{3} + px + q = 0}\)


(B) \(\displaystyle{ x=\sqrt[3]{-\frac{q}{2}+\sqrt{\frac{q^{2}}{4}+\frac{p^{3}}{27}}}-\sqrt[3]{\frac{q}{2}+\sqrt{\frac{q^{2}}{4}+\frac{p^{3}}{27}}}}\)

Uwaga:
Wyrażenie występujące pod pierwiastkiem kwadratowym w powyższym wzorze Cardano zwie się delta czyli wyróżnik równania . Ma miejsce ważny fakt: Jeśli \(\displaystyle{ \Delta > 0}\) , to równanie (A) ma dokładnie jeden pierwiastek rzeczywisty dany powyżej wyprowadzonym wzorem.

\(\displaystyle{ \Delta=\frac{q^{2}}{4}+\frac{p^{3}}{27}}\)


Metoda Kaca
Jest ona niezwykle sprytna i polega -mówiąc opisowo na rozkładzie lewej strony równania (A) na różnicę sześcianów pewnych dwóch funkcji liniowych, przy czym uzyskuje się tu prosty układ czterech równań i tyleż niewiadomych.tj. chcemy wiedzieć jak "zapisać" \(\displaystyle{ A}\), \(\displaystyle{ B}\), \(\displaystyle{ m}\) , \(\displaystyle{ n}\) przez \(\displaystyle{ p}\) i \(\displaystyle{ q}\) :
\(\displaystyle{ x^{3}+px+q=A(x+m)^{3}-B(x+n)^{3}}\),
tj.
(C) \(\displaystyle{ \sqrt[3]{A}(x+m)-\sqrt[3]{B}(x+n)=0}\),

Okaże się, że \(\displaystyle{ A}\) i \(\displaystyle{ B}\) można wyrazić przez \(\displaystyle{ m}\) i \(\displaystyle{ n}\), zaś te są pierwiastkami równania kwadratowego, którego współczynniki wyrażają się przez \(\displaystyle{ p}\) i \(\displaystyle{ q}\), w efekcie będą gotowe wzory: a także (podstawiając te wartości do równania (k)) formułę na \(\displaystyle{ x}\), łatwo sprawdzić, że otrzyma się dokładnie wzór Cardano!
tj.
\(\displaystyle{ x=\sqrt[3]{mn}(\sqrt[3]{m}+\sqrt[3]{n})}\);

\(\displaystyle{ \begin{cases}mn=-q \\m+n=\frac{3q}{p} \end{cases}}\)

i...

\(\displaystyle{ \begin{cases}A=\frac{-n}{m-n} \\B=\frac{-m}{m-n} \end{cases}}\)


Metoda Harriota -->Jest ona oparta na oczywistej tożsamości, wypisanej poniżej, i która jest o tyle ciekawa, że można -tą ideę- w nieco podobny sposob- użyć też do rozwiazywania równań stopnia czwartego- o czym za chwilę, a zaczynamy jak zwykle od równania (A) tj. mamy dane liczby \(\displaystyle{ p}\) i \(\displaystyle{ q}\).

\(\displaystyle{ (a+b)^3 -3ab(a+b) -(a^3+b^3)=0}\)
\(\displaystyle{ x=a+b}\)

Jeśliby więc udało się dobrać liczby a, b tak aby \(\displaystyle{ -3ab = p}\) i \(\displaystyle{ a^3 + b^3 = -q}\) to wtedy liczba a+b czyni zadość równaniu A, a o to nam chodzi. Liczymy więc: \(\displaystyle{ b= \frac{-p}{3a}}\) co po podstawieniu do drugiego równania i prostych redukcjach da rownanie kwadratowe ze zmienna \(\displaystyle{ t=a^3}\). To juz latwo pozwala uzyskac wzór (B)


Rezolwenta. Ogólnie ujmując szukanie wzorów na pierwiastki wielomianu czwartego stopnia... jest nieco skomplikowane, i da sie sprowadzić do równań wyżej już omówionych, w tym wypadku można jednak sobie wystartować z poniższej tożsamości, która ....choć wzięla sie z "sufitu",jest bardzo pomocna:
tj.

\(\displaystyle{ (a+b+c)^4 -2(a^2+b^2+c^2) (a+b+c)^2 -8abc(a+b+c)+ (a^2+b^2+c^2)^2- 4(a^2b^2+b^2c^2+a^2c^2) =0}\)
\(\displaystyle{ x=a+b+c}\)

(D) \(\displaystyle{ x^4+px^2+qx+r=0}\)


\(\displaystyle{ \begin{cases}-2(a^2+b^2+c^2)=p; -8abc=q\\ r= (a^2+b^2+c^2)^2- 4(a^2b^2+b^2c^2+a^2c^2) \end{cases}}\)

Jeśliby więc udało się dobrać a, b, c tak aby były powiązane z p, q i r jak powyżej wypisano, to wtedy liczba \(\displaystyle{ x=a+b+c}\) będzie rzecz prosta spełniać równanie D, a taki właśnie mamy teraz cel: Dla szukanych wartości \(\displaystyle{ a^2, b^2, c^2}\) mamy układ:

\(\displaystyle{ \begin{cases}a^2+b^2+c^2=-\frac{p}{2} \\a^2b^2c^2=\frac{q^2}{64}\\a^2b^2+a^2b^2+b^2c^2=\frac{p^2}{16}-\frac{r}{4}\end{cases}}\)

zaś dla \(\displaystyle{ a, b, c}\) jeszcze warunek \(\displaystyle{ -8abc=q}\), Powyższy układ wobec wzorów Viety oznacza, iż liczby \(\displaystyle{ a^2, b^2, c^2}\) są pierwiastkami poniżej wypisanego równania (r)stopnia trzeciego (zwanego rezolwentą).Aby warunek \(\displaystyle{ -8abc=q}\) był spełniony, należy obrać takie znaki pierwiastków kwadratowych z pierwiastków równania rezolwenty, które nie zmieniają iloczynu \(\displaystyle{ abc}\)., tj.\(\displaystyle{ x_1=a+b+c, \ x_2=a-b-c, \ x_3=b-a-c, \ x_4=c-a-b}\)

(r)\(\displaystyle{ z^{3} + \frac{p}{2}z^2 + (\frac{p^2}{16}-\frac{r}{4})z - \frac{q^2}{64}= 0}\)
*


Uwaga: Oglądając wzory na rozwiązania równań stopnia 3 i 4 -go widzimy, że są one podane dla przypadku, gdy wspólczynnik przy najwyższej potędze jest 1, zaś przy nastepnej 0. Pierwsza sprawa jest jasna! (wystarczy podzielić), zaś druga -tu właśnie występuje idea przesuwania, tj wprowadzamy nową zmienną y, i gdy przejdziemy na to "nowe" równanie, to istotnie współczynnik przy "\(\displaystyle{ t}\) do \(\displaystyle{ n-1}\)" istotnie zniknie!

\(\displaystyle{ t=x+\frac{a_{n-1}}{n}}\)
\(\displaystyle{ t= \phi(x)}\)

Warto zwrócić uwagę, że operacja ta ma opis geometryczny: przesuwamy oś iksów względem wykresu wielomianu \(\displaystyle{ W(x)}\) tak, aby zero tejże osi było średnią arytmetyczną (lub -co na jedna wychodzi : środkiem ciężkości..) wszystkich pierwiastków \(\displaystyle{ W}\). -czemu?! o tym poniżej:

wzory Viety --> Jesli weźmiemy równanie sześcienne, o trzech pierwiastkach \(\displaystyle{ x_1, x_2, x_3}\) , to uzyskamy trzy zależności między nimi a współczynnikamu tegoż wielomianu. Każde wyrażenie wystepujace po lewej stronie jest tzw. wielomianem symetrycznym podstawowym (jako funkcja zmiennych \(\displaystyle{ x_j}\)):

\(\displaystyle{ x^3+a_2 x^2 + a_1 x + a_0 =(x-x_1)(x-x_2)(x-x_3)}\)
to:

\(\displaystyle{ x_1 +x_2 +x_3 = -a_2}\)
\(\displaystyle{ x_1 x_2 +x_2 x_3 + x_1 x_3 = a_1}\)
\(\displaystyle{ x_1 x_2 x_3 = -a_0}\)

Teraz spróbujmy zapisać rzecz nieco ogólniej (i uda sie!!): gdy dany jest wielomian stopnia \(\displaystyle{ n}\), o współczynniku \(\displaystyle{ a_j}\) przy \(\displaystyle{ x^j}\) (tj, a0 to wyraz wolny)- mający dokładnie \(\displaystyle{ n}\) pierwiastkow rzeczywistych, to wtedy uzyskamy \(\displaystyle{ n}\) równań postaci:

\(\displaystyle{ \sum\limits_{1 \leq i_1 < ..... < i_k \leq n} a_{i_1} .... a_{i_k} =(-1)^k \frac{a_{n-k}}{a_n}}\)

\(\displaystyle{ k=1,....n}\)


Zadania
1. Proste ćwiczenie na zastosowanie wzoru Cardano. W obu przypadkach podane jest albo pierwiastek , badź Delta, należy uzupełnić
a \(\displaystyle{ x^{3}+6x-2=0}\) , \(\displaystyle{ x=\sqrt[3]{4}-\sqrt[3]{2}}\), \(\displaystyle{ \Delta=}\) ?
b \(\displaystyle{ x^{3}+3x-10=0}\) ,\(\displaystyle{ x=}\) ? \(\displaystyle{ \Delta=26}\)

2. Rozważmy sobie wielomian w(x)=\(\displaystyle{ x^3-3x-1}\). Sprawdź, że ma on trzy pierwiastki rzeczywiste \(\displaystyle{ x_1, x_2, x_3}\). Dalej określamy: \(\displaystyle{ t_n=x_1^n+ x_2^n + x_3^n}\). Wykazać, że wtedy \(\displaystyle{ t_{n+3}=3t_{n+1} + t_n}\)
3. Kontynuacja zadania 2. należy obliczyć:
1 \(\displaystyle{ \frac{1}{x_1^3}+\frac{1}{x_2^3}+\frac{1}{x_3^3}}\)
2\(\displaystyle{ \frac{1}{x_1^4}+\frac{1}{x_2^4}+\frac{1}{x_3^4}}\)


4. Weżmy teraz równanie \(\displaystyle{ x^3-15x-4=0}\), jak łatwo widzieć liczba 4 jest jego pierwiastkiem, ale....wzór Cardano da nam wynik:
\(\displaystyle{ x=\sqrt[3]{2+\sqrt{-121}}+\sqrt[3]{2-\sqrt{-121}}}\)
Jak można pokazać (np na liczbach zespolonych!!), że ta liczba jest równa cztery?!
5. Spróbowąć użyć metodę Kaca dla równania stopnia czwartego poprzez rozkład na różnicę kwadratów pewnych dwumianów- obliczenia przeprowadzić na ustalonym przykładzie a potem uogólnic![/quote]
Ostatnio zmieniony 3 lis 2012, o 23:02 przez mol_ksiazkowy, łącznie zmieniany 5 razy.
Awatar użytkownika
Mariusz M
Użytkownik
Użytkownik
Posty: 6903
Rejestracja: 25 wrz 2007, o 01:03
Płeć: Mężczyzna
Lokalizacja: 53°02'N 18°35'E
Podziękował: 2 razy
Pomógł: 1246 razy

Cardano vs Vieta

Post autor: Mariusz M »

"Metoda Kaca" dla równania czwartego stopnia to metoda Ferrariego

Przypuśćmy że mamy równanie

\(\displaystyle{ x^{4}+a_{3}x^3+a_{2}x^2+a_{1}x+a_{0}=0}\)

Przenosimy trójmian kwadratowy na drugą stronę

\(\displaystyle{ x^{4}+a_{3}x^3=-a_{2}x^2-a_{1}x-a_{0}}\)

Uzupełniamy lewą stronę do kwadratu dodając odpowiedni wyraz
zgodnie ze wzorami skróconego mnożenia na kwadrat sumy/różnicy

\(\displaystyle{ x^{4}+a_{3}x^3+ \frac{a_{3}^2}{4}x^2 = \frac{a_{3}^2-4a_{2}}{4} x^2-a_{1}x-a_{0}}\)

Aby lewa strona była kwadratem jej wyróżnik musi być równy zero
Aby obliczyć wyróżnik wprowadzamy nową niewiadomą tak aby lewa strona była nadal kwadratem . Niewiadomą wprowadzamy dodając stronami odpowiednie wyrazy zgodnie ze
wzorem skróconego mnożenia na kwadrat sumy


\(\displaystyle{ \left( x^2+ \frac{a_{3}}{2}x \right)^2 = \frac{a_{3}^2-4a_{2}}{4} x^2-a_{1}x-a_{0}\\
\left( x^2+ \frac{a_{3}}{2}x+ \frac{y}{2} \right)^2=\left( y+\frac{a_{3}^2-4a_{2}}{4}\right)x^2+\left( \frac{a_{3}}{2}y-a_{1} \right)x+ \frac{y^2}{4} -a_{0}=0}\)


Wyróżnik lewej strony równania musi być równy zero

\(\displaystyle{ \left( \frac{a_{3}}{2}y-a_{1} \right)^2=\left( y^2-4a_{0}\right)\left( y+ \frac{a_{3}^2-4a_{2}}{4} \right)\\
\frac{a_{3}^2}{4}y^{2}-a_{1}a_{3}y+a_{1}^2=y^3+ \frac{a_{3}^2}{4}y^2- a_{2}y^2-4a_{0}y-a_{0}\left( a_{3}^2-4a_{2}\right)\\
y^3-a_{2}y^2+\left( a_{1}a_{3}-4a_{0}\right)y-a_{0}\left( a_{3}^2-4a_{2}\right)-a_{1}^2=0}\)


\(\displaystyle{ \left( x^2+ \frac{a_{3}}{2}x+ \frac{y}{2} \right)^{2}-\left( \sqrt{y+\frac{a_{3}^2-4a_{2}}{4}}x+ \frac{ \frac{a_{3}}{2}y-a_{1}}{2\sqrt{y+\frac{a_{3}^2-4a_{2}}{4}}} \right)^2=0}\)

Teraz należy zastosować wzór skróconego mnożenia na różnicę kwadratów

\(\displaystyle{ \left( x^2+\left(\frac{a_{3}}{2}-\sqrt{y+\frac{a_{3}^2-4a_{2}}{4}} \right)x+ \frac{y}{2}- \frac{ \frac{a_{3}}{2}y-a_{1}}{2\sqrt{y+\frac{a_{3}^2-4a_{2}}{4}}} \right)}\)

\(\displaystyle{ \left( x^2+\left(\frac{a_{3}}{2}+\sqrt{y+\frac{a_{3}^2-4a_{2}}{4}} \right)x+ \frac{y}{2}+ \frac{ \frac{a_{3}}{2}y-a_{1}}{2\sqrt{y+\frac{a_{3}^2-4a_{2}}{4}}} \right)=0}\)
Awatar użytkownika
mol_ksiazkowy
Użytkownik
Użytkownik
Posty: 11266
Rejestracja: 9 maja 2006, o 12:35
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 3143 razy
Pomógł: 747 razy

Re: Cardano vs Vieta

Post autor: mol_ksiazkowy »

:arrow:
■ Metoda Ferrariego (przedstawiona powyżej) polega w istocie na znalezieniu \(\displaystyle{ z}\) tak, aby równanie \(\displaystyle{ x^4 = ax^2+bx+c}\) przedstawić w formie równoważnej \(\displaystyle{ (x^2 +z)^2= (a+2z)x^2+ bx + c+z^2 }\) ale tak, aby prawa strona była kwadratem tj. Aby jego wyróżnik był równy zero, co prowadzi do równania trzeciego stopnia (zmiennej \(\displaystyle{ z}\)).
■ Jeśli \(\displaystyle{ \Delta = \frac{q^2}{4}+ \frac{p^3}{27} < 0 }\) (przypadek nieprzywiedlny), to istnieja trzy rozwiązania, które wyrazaja wzory:
\(\displaystyle{ x_k = 2 \sqrt{- \frac{p}{3}} \cos(\frac{\phi + 2k \pi}{3 })}\) dla \(\displaystyle{ k=0,1,2 }\)
(jeśli \(\displaystyle{ \Delta < 0 }\), to tym samym \(\displaystyle{ p < 0 }\)).

■ Równanie trzeciego stopnia ; przejście z ogólnego równania przez podstawienie
(A)
\(\displaystyle{ \begin{cases} p=- \frac{b^3}{3a^2} + \frac{c}{a} \\ q= \frac{2b^3}{2a^3}-\frac{bc}{3a^2} + \frac{d}{a} \end{cases}}\)



Przykłady

■ W Przykładzie 4 tj. W równaniu \(\displaystyle{ x^3-15x-4=0}\) liczba \(\displaystyle{ x=\sqrt[3]{2+ \sqrt{-121} } + \sqrt[3]{2- \sqrt{-121} } }\) jest równa \(\displaystyle{ 4}\).
W swej Algebrze R. Bombelli podając ten przykład udowadnia, że
\(\displaystyle{ \sqrt[3]{2+ \sqrt{-121} } = 2+ \sqrt{-1}}\), oraz \(\displaystyle{ \sqrt[3]{2- \sqrt{-121} } = 2- \sqrt{-1}}\) co oznacza iż:
\(\displaystyle{ \begin{cases} (2+ \sqrt{-1})^3=2+11\sqrt{-1} \\ (2- \sqrt{-1})^3=2 - 11\sqrt{-1} \end{cases}}\)


Przykład
\(\displaystyle{ x^3-6x-9=0 }\)

Rozwiązanie
Ukryta treść:    

Przykład
\(\displaystyle{ x^3-6x+2=0 }\)


Rozwiązanie
Ukryta treść:    

Przyklad
\(\displaystyle{ x^4+8x -7=0}\)

Rozwiązanie
Ukryta treść:    

Przyklad
\(\displaystyle{ x^4+7x-12=0 }\)

Rozwiązanie
Ukryta treść:    

Przyklad
\(\displaystyle{ x^5+ x^4 + 1=0}\)

Rozwiązanie
Ukryta treść:    



Przykład
\(\displaystyle{ x^3+ (x+ 1)^3+ (x+2)^3= (x+3)^3 }\)

Rozwiązanie
Ukryta treść:    


Przykład
\(\displaystyle{ x^4 = 11x^2+12x+3}\)

Rozwiązanie
Ukryta treść:    
Załączniki
cardano01.jpg
cardano01.jpg (20.49 KiB) Przejrzano 4918 razy
Awatar użytkownika
mol_ksiazkowy
Użytkownik
Użytkownik
Posty: 11266
Rejestracja: 9 maja 2006, o 12:35
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 3143 razy
Pomógł: 747 razy

Re: Cardano vs Vieta

Post autor: mol_ksiazkowy »

Ukryta treść:    
Awatar użytkownika
Mariusz M
Użytkownik
Użytkownik
Posty: 6903
Rejestracja: 25 wrz 2007, o 01:03
Płeć: Mężczyzna
Lokalizacja: 53°02'N 18°35'E
Podziękował: 2 razy
Pomógł: 1246 razy

Re: Cardano vs Vieta

Post autor: Mariusz M »

@mol_ksiazkowy
Bawiłeś się programowaniem ?
Ostatnio skrobnąłem kod programiku do rozwiązywania równań czwartego stopnia w C#
Przetestowałbyś metodę TryParse dla liczb zespolonych ?
Klasa z Numerics jest wybrakowana bo nie napisali dla niej żadnej metody Parse

Znalazłem w książce Eulera metodę która jest uogólnieniem metody którą Cardano wyżebrał od Niccolo Fontany
i zapisałem ją w kodzie programu C#

Kod: Zaznacz cały

using System;
using System.Numerics;
namespace NamespaceName
{
	public class ClassName
	{
		const double eps = 1e-10;
		public static void Horner(int deg,Complex x, Complex[] A)
		{
			for(int j = 0; j < deg; j++)
				for(int i = deg - 1; i >= j; i--)
					A[i] += A[i + 1] * x;
		}
		public static int linear(int deg,Complex[] a,Complex[] x)
		{
			if(a[deg] == Complex.Zero)
				return 0;
			x[0] = (Complex)(-a[0])/a[1];
			return 1;
		}
		public static int quadratic(int deg,Complex[] a,Complex[] x)
		{
			if(a[deg] == Complex.Zero)
				return linear(deg-1,a,x);
			Complex delta = a[1] * a[1] - 4 * a[2] * a[0];
			x[0] = (-a[1]-Complex.Sqrt(delta))/(2.0 * a[2]);
			x[1] = (-a[1]+Complex.Sqrt(delta))/(2.0 * a[2]);
			return 2;
		}
		public static int cubic(int deg,Complex[] a,Complex[] x)
		{
			if(a[deg] == Complex.Zero)
				return quadratic(deg-1,a,x);
			Complex s = (Complex)(-a[deg-1])/(deg*a[deg]);
			Horner(deg,s,a);
			for(int i = 0;i <= deg; i++)
				a[i] /= (Complex)(a[deg]);
			for(int i = 0; i < deg;i++)
				x[i] = s;
			Complex[] b = new Complex[deg];
			Complex[] t = new Complex[deg-1];
			b[2] = 1.0;
			b[1] = a[0];
			b[0] = Complex.Pow(-a[1]/3.0,3);
			quadratic(deg-1,b,t);
			t[0] = Complex.Pow(t[0],1.0/3);
			t[1] = Complex.Pow(t[1],1.0/3);
			Complex[] e = new Complex[deg];
			e[0] = Complex.One;
			e[1] = 0.5 * (-1+Math.Sqrt(3)*Complex.ImaginaryOne);
			e[2] = Complex.Conjugate(e[1]);
			int j = 0;	
			while(Complex.Abs(3*e[j/3]*t[0]*e[j%3]*t[1] + a[1]) > eps)
				j++;
			t[0] = e[j/3] * t[0];
			t[1] = e[j%3] * t[1];
			
			x[0] += t[0] + t[1];
			x[1] += e[1] * t[0] + e[2] * t[1];
			x[2] += e[2] * t[0] + e[1] * t[1];
			return 3;
		}
		public static int quartic(int deg,Complex[] a,Complex[] x)
		{
			if(a[deg] == Complex.Zero)
				return cubic(deg-1,a,x);
			Complex s = (Complex)(-a[deg-1])/(deg*a[deg]);
			Horner(deg,s,a);
			for(int i = 0;i <= deg; i++)
				a[i] /= (Complex)(a[deg]);
			for(int i = 0; i < deg;i++)
				x[i] = s;
			Complex[] b = new Complex[deg];
			Complex[] t = new Complex[deg-1];
			b[3] = 1;
			b[2] = 2*a[2];
			b[1] = a[2] * a[2] - 4 * a[0];
			b[0] = - a[1] * a[1];
			cubic(deg-1,b,t);
			for(int i=0;i<3;i++)
			   t[i] = Complex.Sqrt(t[i]);
			if(Complex.Abs(t[0]*t[1]*t[2] + a[1]) > eps)
				t[2] = -t[2];
			x[0] += 0.5*(t[0] + t[1] + t[2]);
			x[1] += 0.5*(t[0] - t[1] - t[2]);
			x[2] += 0.5*(-t[0] + t[1] - t[2]);
			x[3] += 0.5*(-t[0] - t[1] + t[2]);
			return 4;
		}
		public static bool TryParse(String s, out Complex z)
		{
			double re,im;
			bool b1,b2;
			s.Trim();
			if(!s.EndsWith("i") && !s.EndsWith("j"))
			{
				b1= double.TryParse(s,out re);
				z = new Complex(re,0);
				return b1;
			}
			int index = s.IndexOf('+',1);
			if(index < 0)
			  index = s.IndexOf('-',1);
			s = s.Substring(0,s.Length-1);
			if(s.Substring(index+1) == "")
				s+="1";
			if(index < 0)
			{
				b2 = double.TryParse(s,out im);
				z = new Complex(0,im);
				return b2;
			}
			b1 = double.TryParse(s.Substring(0,index),out  re);
			b2 = double.TryParse(s.Substring(index),out  im);
			z = new Complex(re,im);
			return b1 && b2;
		}
		public static void Main(string[] args)
		{
			char esc;
			int deg = 4,degx;
			Complex[] a = new Complex[deg + 1];
			Complex[] x = new Complex[deg];
			do
			{
				for(int i = deg;i >= 0;i--)
				{
					Console.Write("a[{0}]=",i);
					while(!TryParse(Console.ReadLine(),out a[i]));
				}
				for(int i = deg;i >= 0;i--)
					Console.WriteLine("a[{0}]={1}",i,a[i].ToString());
				degx = quartic(deg,a,x);
				for(int i = 0;i < degx;i++)
					Console.WriteLine("x[{0}]={1}",i,x[i].ToString());
				esc = (char)Console.ReadKey().Key;
			}
			while(esc != (char)ConsoleKey.Escape);
		}
	}
}

@mol_ksiazkowy , pamiętasz coś z metod numerycznych
Pierwiastki równania wielomianowego są związane z wartościami własnymi macierzy

Jeśli chodzi o wartości własne to na razie mam redukcję do postaci Hessenberga
ale tylko za pomocą eliminacji Gaussa
Rozkład macierzy na iloczyn QR udało mi się napisać bo rozpisałem sobie mnożenie przez macierze obrotów
Mnożenie macierzy niby jest na to wzorek i wystarczą trzy pętelki ale aby poprawnie działało trzeba macierz skopiować
Awatar użytkownika
mol_ksiazkowy
Użytkownik
Użytkownik
Posty: 11266
Rejestracja: 9 maja 2006, o 12:35
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 3143 razy
Pomógł: 747 razy

Re: Cardano vs Vieta

Post autor: mol_ksiazkowy »

Równanie trzeciego stopnia; wzór Cardano; metoda geometryczna


Z sześcianu o boku długości \(\displaystyle{ A}\) wycinamy sześcian o boku długości \(\displaystyle{ B <A}\), a w przeciwległym rogu sześcian tak, by stykały się rogami, tj. sześcian o boku długości \(\displaystyle{ x = A-B}\). Wtedy też z uwagi na to, że ten duży sześcian (o boku długości \(\displaystyle{ A}\)) został rozbity na dwa mniejsze sześciany i trzy prostopadłościany o bokach \(\displaystyle{ A,B,x}\):

(*) \(\displaystyle{ B^3+ x^3+3ABx = A^3}\) (równoważnie \(\displaystyle{ B^3+ x^3+3(B+x)Bx = (B+x)^3}\))
tj. równanie
\(\displaystyle{ x^3+px+q = 0}\)
przy
\(\displaystyle{ \begin{cases} p=3AB \\ q=B^3-A^3. \end{cases}}\)

Jeśli
\(\displaystyle{ \begin{cases} A^3=C \\ B^3=D, \end{cases}}\)
to równoważnie
\(\displaystyle{ \begin{cases} 27CD=p^3 \\ C-D=-q, \end{cases}}\)
co daje równanie kwadratowe i tym samym wzór Cardano.


Przykład
\(\displaystyle{ \begin{cases} A = \frac{4}{3} \\ B= \frac{1}{3} \end{cases}}\)
(*) \(\displaystyle{ x^3 + \frac{4}{3}x - \frac{63}{27}=0}\)
tj. równoważnie \(\displaystyle{ 27x^3 +36x - 63=0,}\)
którego \(\displaystyle{ x=1}\) jest jedynym rozwiązaniem.
Ostatnio zmieniony 7 mar 2023, o 21:24 przez Jan Kraszewski, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
ODPOWIEDZ