Tải bản đầy đủ (.pdf) (25 trang)

báo cáo chủ đề 8 phương pháp gauss

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.18 MB, 25 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>VIỆN TOÁN NG D</b>Ứ<b>ỤNG VÀ TIN H C </b>Ọ

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Lời nói đầu </b>

<small>hơn trong cách sử dụng. </small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>3.2. Nghi m c a h </b>ệ ủ <b>ệ phương trình tuyến tính...4 </b>

<b>3.3. Biến đổi tương đương...4 </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b> Hệ phương trình tuyến tính và khái niệm cơ bản </b>

a11x<small>1 + a12 2 + ... + a1n n = b </small>x x <small>1</small>

a<small>21x1</small> + a<small>22x2</small> + ... + a<small>2nxn</small> = b (1.1) <small>2 ... </small>am1x<small>1 + am2 2 + ... +amn n = bm </small>x x

Trong đó, các hệ số aij, bi thuộc trường K. Trong phạm vi báo cáo ta coi K R. T ≡ ừ đây ta có các định nghĩa sau:

<small>a. </small>Các h s c a hệ ố ủ ệ phương trình lập thành m t ma tr n A, g i là ộ ậ ọ

<small> A = a a ... a 21222n ... a a ... am1m2mn </small>

tự do g i là ọ <b>ma tr n m r ng c a h</b>ậ ở ộ ủ ệ:

a11 a ... a b <small>121n1</small> 𝐴 = a a ... a b <small>21222n2... </small> a a ... a b<small>m1m2mnm </small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<small>4 </small>

c. Ma trận B thu đượ ừ cột hệ s tc t <b>ố ự do, gọi là ma trận hệ s t </b>ố ự

B = b <small>2</small> ... b <small>m</small>

trình, thì hệ phương trình đấy có th viể ết dướ ại d ng: A.X = B (1.2)

Từ đây về sau, ta sử dụng dạng trên để biểu diễn hệ phương trình là ch y u. ủ ế

Mỗi nghi m cệ ủa hệ phương trình (1.2) là mộ ộ s p tht b ắ ứ tự (c ,c ,...c<small>12n) thỏa mãn t t c </small>ấ ả các phương trình của hệ (1.2) được thỏa mãn khi thay các n xẩ <small>i tương ứ</small>ng bởi c <small>i</small>

M t hộ ệ phương trình có thể có duy nh t nghi m, vơ s nghi m ấ ệ ố ệhoặc vô nghi m. ệ

Hai hệ phương trình được gọi là tương đương nếu hai h ệ

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Các phép biến đổi sơ cấp c a hủ ệ phương trình là các phép biến đổi:

a. Nhân một phương trình nào đó của h v i m t s khác 0. ệ ớ ộ ố b. C ng vào mộ ột phương trình nào đó của h v i mệ ớ ột phương trình khác đã nhân với một số khác 0.

c. Đổi chỗ hai phương trình của h . ệTừ đây, ta có thể rút ra một số nhận xét sau:

- Các phép biến đổi sơ cấp c a hủ ệ phương trình tương ứng v i ớcác phép bi n ế đổi trên hàng c a ma tr n m r ng c a h . ủ ậ ở ộ ủ ệ

- Khi th c hi n các phép biự ệ ến đổi sơ cấp, ta thu được m t h ộ ệ

M t hộ ệ phương trình Cramer là mộ ệ phương trình mà số ẩt h n bằng số phương trình và định thức của ma trận hệ số khác không.

Từ đây, ta có thể phát biểu định lý Cramer.

nghiệm. Chứng minh:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>6 </small>A.X=B

Do đây là hệ phương trình Cramer nên ta có: det(A) ≠ 0

Như v y t n t i ma tr n nghậ ồ ạ ậ ịch đảo c a A là ủ 𝐴<small>−1</small>.Nhân c hai v ả ếcủa hệ phương trình ban đầu với 𝐴<small>−1</small>ta được:

𝑋 = 𝐴<sup>−1</sup>.𝐵

Như vậy hệ phương trình đã cho có nghiệm duy nhất là: 𝑋 = 𝐴<small>−1</small>.𝐵

<b>b. Định lý Kronecker – Capelli và các hệ quả </b>

Trong định lý này, ta sẽ nêu ra điều kiện để một hệ phương trình t ng qt có nghiổ ệm, cũng như các hệ qu xung quanh. ả

a11x<small>1 + a12 2 + ... + a1n n = b </small>x x <small>1</small> a21x<small>1 + a22 2 + ... + a2n n = b </small>x x <small>2 </small>

<small>... </small>am1x<small>1 + am2 2 + ... +amn n = b </small>x x <small>m</small>

Có nghi m khi và ch khi h ng c a ma tr n h s b ng h ng c a ệ ỉ ạ ủ ậ ệ ố ằ ạ ủma tr n m r ng. ậ ở ộ

Từ đây, ta rút ra hai hệ quả quan trọng sau:

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Hệ qu 1.2.1</b>ả : N u h ế ệ phương trình (1.1) với n ẩn có 𝑟𝐴 = 𝑟A= thì 𝑛hệ có nghi m duy nh t. ệ ấ

Chứng minh:

Giả sử hệ có = 𝑟𝐴 𝑟A= 𝑛 . Khi đó tồn tại định thức con cơ sở ủ c a của M (định th c con khác 0), c A và ứ ả A. Bây giờ chúng ta s chẽ ứng minh r ng m i dòng c a ằ ỗ ủ A khác với n dòng đầu tiên là t h p tuy n ổ ợ ế

hệ phương trình:

a11x<small>1 + a12 2 + ... + a1n n = b </small>x x <small>1</small> a21x<small>1 + a22 2 + ... + a2n n = b </small>x x <small>2 </small>

<small>... </small>A x<small>n1 1 + an2 2 + ... +ann n = b </small>x x <small>n</small>

Do M ≠ 0 nên hệ này là một hệ Cramer, vì vậy nó có nghiệm duy nhất theo định lý Cramer.

vào n - 𝑟𝐴 tham s . ốChứng minh:

Gi sả ử 𝑟𝐴 = 𝑟A < n. Kí hiệu M là định thức con cơ sở ủ c a A và A.

A. Do đó:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>8 </small>

a a ... a <small>11121r</small>M = a a ... a <small>21222r</small>

... a a ... a <small>r1 r2r</small>

Bởi vì mỗi dòng thứ i của A, là tổ ợ h p tuyến tính của r dịng đầu tiên nên hệ đã cho tương đương với:

𝑎11𝑥1 + 𝑎12𝑥2 + + ⋯ 𝑎1𝑛𝑥𝑛 = 𝑏1− 𝑎1( +1)<small>𝑟</small> 𝑥(𝑟+1) − ⋯ − 𝑎<small>1𝑛 𝑛</small>𝑥 𝑎21𝑥1 + 𝑎22𝑥2 + + ⋯ 𝑎2𝑛𝑥𝑛 = 𝑏2− 𝑎2( +1)<small>𝑟</small> 𝑥(𝑟+1) − ⋯ − 𝑎<small>2𝑛 𝑛</small>𝑥 (1.3) ...…

𝑎𝑟1𝑥1 + 𝑎𝑟2𝑥2 + + ⋯ 𝑎𝑟𝑟𝑥𝑟 = 𝑏𝑟 − 𝑎<small>𝑟(𝑟+1) (𝑟+1) − </small>𝑥 ⋯ 𝑎𝑟𝑛𝑥n − Đây là một hệ phương trình Cramer r phương trình r ẩn , 𝑥1 𝑥2, …, . 𝑥𝑟Với mỗi bộ giá tr (ị 𝑐𝑟+1, … , 𝑐𝑛) của các n (ẩ 𝑥𝑟+1, … , ) ta đượ𝑥𝑛 c m t ộnghiệm của (1.3) là (𝑐1, … , 𝑐𝑟). Khi đó (𝑐1, 𝑐2, … , 𝑐𝑟, 𝑐𝑟+1, … , 𝑐𝑛) là nghiệm của (1.1).

trình vơ nghi m ho c có vơ s nghi m. ệ ặ ố ệ

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b> </b>Phương pháp Gauss

<b> 4.1. Ý tưởng phương pháp: </b>

Phương pháp Gauss (Gauss Elimination) là một phương pháp

ma trận hình thang (Row echelon form), sau đó sẽ ả ần lượ ừ gi i l t t ng

ở dưới sẽ đơn giản hơn (ít ẩn hơn), và khi đó việc tìm t ng giá tr c a ừ ị ủẩn thỏa mãn hệ phương trình sẽ ễ dàng hơn. d

Như đã nói ở trên, phương pháp Gauss là việc th c hi n nh ng ự ệ ữphép biến đổi tương đương trên ma trận m r ng c a hở ộ ủ ệ phương trình tuyến tính, hoặc phép thế để gi i hả ệ phương trình này.<small> Và ở </small>đây, tôi

*Cho ma tr n ậ

E : a<small>111x1</small> + a<small>12x2 + ... + a1n n = b </small>x <small>1</small>

E : a<small>221x1</small> + a<small>22x2</small> + ... + a<small>2nxn</small> = b<small>2 </small> (4.1) ...

En: a<small>m1x1</small>+ a<small>m2x2</small> + ... + a<small>mnxn</small> = b<small>m </small>- Ta tách hệ phương trình trên thành d ng ma trạ <b>ận: </b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>10 </small>A.X = B Trong đó:

]; B = [𝑏1

𝑎<small>11𝑥1 + </small>𝑎<small>12𝑥2 + ⋯ + 𝑎1𝑛 𝑛 = </small>𝑥 𝑎<small>1.𝑛+1 </small>

𝑎22𝑥2 + ⋯ + 𝑎2𝑛𝑥𝑛 = 𝑎2. +1<small>𝑛</small> (4.3) …………

𝑎m𝑛𝑥𝑛 = 𝑎m. +1<small>𝑛</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Trong đó các phần tử ở cột n+1 tương ứng với , 𝑏1 𝑏2, … , 𝑏m. +) Quy trình ngh ch: ị

T h (4.3) giừ ệ ải ra ta được x ; x ; ... x b ng phép th d n và k t <small>nn-11</small> ằ ế ầ ếquả đó cho ta nghiệm của hệ phương trình (4.1).

Một số ví dụ: VD1: Gi i hpt: ả

x + 2y + z t = 1 – 2x + 3y 5z + t = 2 – 3x+ 5y 4z =3 –

Ta t o ra ma tr n b sung ạ ậ ổ 𝐴 :

1 2 1 −1 12 3 −5 1 23 5 −4 0 3)

Biến đổi về ma trận bậc thang 𝐴′ (<sup>1</sup>0 −1 −7<sup>2</sup> <sup>1</sup> <sup>−1 1</sup>3 0

) Ta lần lượt giải ra được:

x = 1 + 13t<small>1 –</small> 5t <small>2</small> y = -7t + 3t <small>12</small> z = t <small>1</small>

t = t <small>2</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>12 </small>VD2: Gi i hpt: ả

x + y + z = 3 2x y + 2z = 3 – – x 3y 3z = 5 – – –

<b> 4.3.Thuật toán và code: </b>

Ta t o ra ma tr n b sung ạ ậ ổ 𝐴 :

2 −1 2 −31 −3 −3 −5)

Biến đổi về ma trận bậc thang 𝐴′ (

) Ta l n ầ lượt giải ra được: x = 1 y = 3 z = 1 −

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

- Sau khi d ng vịng lừ ặp thì có được v ị trí đầu tiên c a ma tr n ủ ậkhác 0 (a<small>[i][j] ≠</small> 0 v i j bé nh t, i bé nh t) ớ ấ ấ

- Nếu i ≠ 1 thì đảo hàng i và 1.

<small>// Biến đổi về ma trận bậc thang</small>

<small>voidmatranbacthang() { inti = 1, = j1</small>

<small> // Đi tìm phần tử khác 0 đầu tiên (đi từ trên xuống dưới, trái sang phải)</small>

<small> while (ISZERO( [ ][a i j])) { ++; i</small>

<small> (ifi == + ) { m1</small>

<small> i = ; 1j++; ifj == + ) { n2</small>

<small> countzeros(); return; </small>

<small> } // Duyệt đến phần tử cuối cùng mà vẫn chưa thấy thì ma trận A là ma trận 0</small>

<small> } } </small>

<small> cout<<"Vi tri dau tien khac 0: "<<i<< " "<< << jendl; if ( != ) i1daohang(, ); </small>

Bước 2: Bắt đầ ặ ừ ộu l p t c t th j vứ ừa tìm đượ ởc trên - Vịng l p for tặ ừ j tìm đượ ở bước 1, tăng j đến n+1: c

+ Vòng l p vặ ới hàng i, i = 2 đến i = m, n u aế <small>[i][j]</small> khác 0 thì bắt đầu tìm hàng k để khử hàng hiện tại:

1. Kh i t o m t bi n flag = false ở ạ ộ ế 2. vòng l p for k = i ặ – 1 đến k = 1:

N u aế <small>[k][j]</small> khác 0 và a<small>[k][0]</small> = j 1 thì gán flag = –true và thốt vịng l p. ặ

3. N u flag = true thì: ế a. gán ratio = a<small>[i][j]</small> / a<small>[k][j]</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>14 </small>

b. Ch y vòng lạ ặp for z = j đến z = n+1, gán a<small>[i][z]</small> = a[i][z] – ratio*a<small>[k][z]</small>

4. Sau khi kh xong c t, s p x p l i hàng thành d ng ử ộ ắ ế ạ ạbậc thang.

// In ma tr n sau m i l n kh c t và sau khi biậ ỗ ầ ử ộ ến đổi.

<small> // Bắt đầu lặp từ cột thứ j vừa tìm được ở trên đến n</small>

<small> for (; j <= + ; ++) { n1j</small>

<small> for ( = ; <= ; i2im i++) { </small>

<small> // Nếu a[i][j] khác 0 ta bắt đầu khử</small>

<small> if (!ISZERO( [ ][a i j])) { </small>

<small> intk; // Tìm hàng k để a[k][j] khác 0 và a[k][l] = 0 với mọi l<j</small>

<small> boolflag = false; </small>

<small> for ( = - k i1; >= ; --) {k1k // Tìm từ hàng i-1 trở lên </small>

<small> (!ifISZERO(a[k j][]) && [ak][0] == - ) { j1</small>

<small> flag = true; // Đã có hàng k thỏa mãn</small>

<small> break; } } </small>

<small> (!ifflag) continue; //Nếu khơng tìm thấy k ta tiếp tục tăng i // Lấy hàng i trừ đi aij/akj lần hàng k và gán cho hàng i</small>

Sau đó bắt đầu sắp xếp

Vòng l p for t ặ ừ z = i đến z < m Gán MIN = z,

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

vòng l p for t ặ ừ k = z + 1 đến k ≤ m, nếu a<small>[k][0]</small> < a<small>[MIN][0]</small> thì cho MIN = k, sau khi tìm được hàng có s s 0 nh nh t là hàng MIN ố ố ỏ ấđổi ch hàng aỗ <small>[MIN]</small> với hàng a <small>[z]</small>

<small>// Sắp xếp lại thứ tự các hàng từ hàng i theo tăng dần số số 0 ở đầu bằng sắp xếp lựa chọn</small>

<small>voidsapxeplaihang(inti = 1) { intMIN; </small>

<small> countzeros( );i // Cập nhật lại số số 0</small>

<small> for (intz = ; < ; i z m z++) { MIN z = ; </small>

<small> for ( = + ; <= ; intk z1km k++) (ifa[ ][k0] < a MIN[][0]) MIN k = ; daohang(MIN, z); </small>

<small> } </small>

<b> +) Quy trình ngh ch: </b>ị

Phần 1: Xác định loại nghi m ệ

Vòng l p for tặ ừ i = m đến 1, n u aế <small>[i][0]</small> = n (hàng i full 0) thì: Giảm rank A, nếu a<small>[i][n+1]</small> = 0 thì gi m rank ả 𝐴

ngược lại thì hàng i có phần t khác 0, d ng vịng lặp và ta có ử ừrank A.

N u rank A = rank ế 𝐴 < n là Vô s nghi m ố ệ N u rank A = rank ế 𝐴 = n là Nghi m duy nh t ệ ấ Còn l i là Vô nghiạ ệm. → In ra “vô nghiệm”.

<small>// Xác định hệ có nghiệm duy nhất, vơ số nghiệm hay vô nghiệm</small>

<small>intxacdinhloainghiem() { </small>

<small> intrankA m rankAn m = , = ; // rank A va rank A ngang</small>

<small> for (inti = ; >= ; --) { m i1i</small>

<small> (ifa[ ][i0] == ) {n // Số số 0 ở hàng i == n tức là hàng full 0</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>16 </small>

<small> rankA--; </small>

<small> ifISZERO( [ ][a i n + ])) 1rankAn--; // Giá trị ở cột bổ sung</small>

<small> } elsebreak; } </small>

<small> ifrankA == rankAn && rankA n < ) returnrankA; // Vô số nghiệm</small>

<small> ifrankA == rankAn && rankA == ) nreturn -1; // Nghiệm duy nhất</small>

<small> return -2; // Vô nghiệm</small>

<small>// Kiểm tra nghiệm trong trường hợp hệ có nghiệm duy nhất</small>

<small>boolkiemtra(double , *intoffset = 0boolparam = false) { ifstreamfi checkfile(); </small>

<small> fi>> m>>n</small>

<small> for (inti = ; < ; 0i m i++) { doubletmp = 0.0, aij0.0; for ( = ; < ; ++) { intj0j n j</small>

<small> fi>> ; aij</small>

<small> tmp += * aijx j[ + + 1offset]; } </small>

<small> fi>>aij; </small>

<small> ((ifparam && !ISZERO(tmp)) || (!param && fabs(tmp - aij) > 1e-6)) returnfalse; </small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<small> } fi.close(); returntrue; } </small>

<small>// Giải nghiệm trong trường hợp có nghiệm duy nhất</small>

<small>voidgiainghiemduynhat() { double *x = newdouble[n + ](); 1</small>

<small> for (inti = ; >= ; --) { n i1i</small>

<small> x i[] = a i[ ][n + ]; 1</small>

<small> for ( = ; > ; --) intj n j i jx i[ ] -= x j[] * a i[ ][j]; x i[] /= a i i[ ][]; </small>

<small> } </small>

<small> cout<<"He co nghiem duy nhat"<< endl; </small>

<small> for (inti = ; <= ; ++) 1in icout<<"x_"<<i<<" = "<<x i[] << endl; ifkiemtra(x)) cout<< endl <<"---> True"<< endl; </small>

<small> else cout<< endl <<"---> False"<< endl; }; </small>

+ Vô s nghi m: ố ệ

- T o m t m ng 2 chiạ ộ ả ều lưu nghiệm x m i dòng là 1 vector ỗnghiệm

Vòng l p for tặ ừ i = 0 đến i < n thì x<small>[i+1][i]</small> = 1 - Bi u di n n này qua n khác: ể ễ ẩ ẩ

Cho i = rank A, bắt đầu ch y t ạ ừ hàng i đến hàng 1 cho j = a<small>[i][0]</small>, k = 0, a = a<small>ij[i][j+1]</small>

Gán vector nghi m x = vector 0 ệ <small>j</small> x<small>[0][j]</small> = a<small>[i][n+1]</small> / a <small>ij</small>

Khi k ≤ n, nếu k khác j+1 thì x<small>[k][j]</small> = x<small>[j][k] –</small> a<small>[i][k]</small> / a<small>ij, tăng </small>k.

– Th ẩn này vào ẩn kia (x biế <small>i</small> ểu diễn qua x v i i < j) <small>j</small> ớ

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<small>18 </small> Vòng l p for tặ ừ i = 0 đến i < n,

Vòng l p for tặ ừ j = i +2 đến j ≤ n, nếu x<small>[j][i]</small> khác 0 thì cho tmp = x<small>[j][i]</small>,

vòng l p for tặ ừ z = 0 đến z = n (th x vào x ) ế <small>ji</small> x<small>[z][i]</small> = x<small>[z][i]</small> + tmp*x<small>[z][j-1]</small> x[j][i] = x<small>[j][i] –</small> tmp

Cuối cùng thu được các vector nghiệm Sau đó in ra nghiệm

Gói ki m tra l i nghi m. ể ạ ệ

<small>// Giải nghiệm trong trường hợp vô số nghiệm</small>

<small>voidgiainghiemtongquat(intrankA) { double ** ; x</small>

<small> // Tạo một ma trận lưu nghiệm </small>

<small> = xnewdouble *[n1]; </small>

<small> for (inti = ; <= ; ++) 0in ix[] = newdouble[n](); for (inti = ; < ; 0i n i++) x[ + 1][i] = 1</small>

<small> cout<<"Rank A: "<<rankA<< endl; </small>

<small> // Biểu diễn ẩn này qua ẩn khác (x1 = 0 -2x2 - 3x3 - 3.5x4)</small>

<small> inti = rankA; while (i >= ) { 1</small>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<small> for (intz = 0; <= ; ++) zn zx z[ ][i] = x z i[ ][] + tmp x * [ ][z j - 1]; // Thế xj vào xi</small>

<small> x j i[ ][] = x j[ ][i] - tmp; // Phải trừ đi vì xi = bi + ai*xi + ...,\</small>

<small> nếu ai = 1 (xi được chọn làm tham số) thì sau vịng lặp for trên xij = ai + tmp,\</small>

<small> nếu ai = 0 (xi được biểu diễn qua ẩn khác) thì sau vịng for xij = tmp,\</small>

<small> cả 2 trường hợp đều cần trừ đi tmp để đúng với hệ số</small>

<small> } </small>

<small> // In nghiệm</small>

<small> for (inti = ; < ; 0i n i++) { </small>

<small> cout<<"x_"<<i + 1<<" = "<<x[ ][0i]; for ( = ; <= intj1jn; ++) jif (!ISZERO( [ ][])) </small>

<small> cout<< " "<< showpos <<x[j i][ ] << noshowpos <<"x_"<< ; j</small>

<small> cout<<endl; } </small>

<small> // Kiểm tra lại nghiệm</small>

2x1 – x + 2x = <small>23</small> –3 x<small>1 –</small> 3x<small>2 –</small> 3x = 5 <small>3</small> –

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Ví d 3: Ví d th hi n thuụ ụ ể ệ ật toán đã giải quyết được vấn đề hệ không full hạng.

x + 2x + 3x + 5x = 0 <small>1234</small>2x1 + 4x + 6x + 7x = 0 <small>234</small>3x1 + 6x + 5x + 4x = 0 <small>234</small>

Ví d 4: Ví d th hi n thuụ ụ ể ệ ật toán đã sửa đượ ỗ ắc l i s p x p l i ma ế ạtrận v d ng bề ạ ậc thang.

x + 2x + 3x + 4x + 5x + 7x = 7 <small>123456</small> 2x + 4x + 6x + x<small>1234 –</small> 2x + 3x = 3 <small>56</small> 3x + 6x + 7x + 4x<small>1234 –</small> 8x + 6x = 6 <small>56</small> 4x + 8x + 10x + x<small>1234 –</small> 15x +2x = 2<small>56</small>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<small>22 </small>

+) Ở đây ta nêu ra mộ ố đặc điểt s m của phương pháp Gauss: - Là một phương pháp giải đúng nghiệm c a hủ ệ phương trình - Chia ra làm hai bướ Bước: c thuận và bước ngh ch ị

- Ý tưởng đơn giản, tuy nhiên vi c cách xệ ử lí để đưa ra nghiệm lại khá ph c t p khi có khá nhiứ ạ ều trường hợp đặc bi t. ệ

+) Ưu điểm:

- Có th s d ng gi i h v i sể ử ụ ả ệ ớ ố phương trình và ẩn khơng cố định. - Có th gi i cể ả ả phương trình có định thức = 0

- Khối lượng phép tính nh v i h n ỏ ớ ệ ẩn n phương trình: N = <sup>𝑛</sup><sub>3</sub> (n<small>2</small>+3n−1 ố) s phép nhân ( chia)

C = <sup>𝑛</sup><sub>2</sub> (2n<small>2</small>+3n−5) số phép cộng ( trừ)

+) Nhược điểm: khi giải nghiệm ta phải chia cho aii<small>(k)</small> ≈ 0 thì nghiệm s g p sai sẽ ặ ố lớn

+) So sánh với các phương pháp khác:

- Sai s tính tốn khuố ếch đại hơn so với phương pháp

phần tử trội.

hiệu để giải đúng những hệ phương trình tuyến tính có kích thước

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

nhỏ. Tuy vậy, nó cũng có mộ ố h n ch v tt s ạ ế ề ốc độ, khả năng thực hiện song song, … Do vậy, nó thường được sử dụng ở những hệ có

đượ ực l a ch n vì nh ng l i ích v tọ ữ ợ ề ốc độ mà nó mang lại.

</div>

×