1. Trang chủ
  2. » Công Nghệ Thông Tin

PHƯƠNG PHÁP số TRONG đại số TUYẾN TÍNH

65 878 12
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phương Pháp Số Trong Đại Số Tuyến Tính
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Đại số tuyến tính
Thể loại Bài giảng
Thành phố Hà Nội
Định dạng
Số trang 65
Dung lượng 0,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHƯƠNG PHÁP số TRONG đại số TUYẾN TÍNH

Trang 2

1 n

2n 22

21

1n 12

11

a

a a

a

a a

a

a a

x

x

1

Trang 3

Đặt vấn đề ( tiếp theo )

 Nếu det(A)  0 thì hệ có nghiệm duy nhất

 Phương pháp giải thuộc 2 hai nhóm:

o Trực tiếp (giải đúng): Cramer, Gauss,…

o Lặp (gần đúng)

 Phương pháp Cramer

) A det(

) A

Trang 4

ni n

1 ni 1

n

n 2 1

i 2 2

1 i 2 21

n 1 1

i 1 1

1 i 1 11

i

a

a b

a

a

a b

a

a

a

a b

a

a A

Thay cột thứ i trong A bởi B để có Ai

Trang 5

2 2

3 2

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

x

10 1) - 3(2 2)

(1 - 4) 2(-1 2

-1

1 1

3 1 2

1 1

1 1 2

2 1 2 1 2 3

2 1 1

1 1

2 )

1

1 1

1 2

1 1

2 1 2

2 1 3 1 2 1

2 1 2

1 1

3 )

3(6 1)

(3 - 2) (2 2 2 2

-1 3

3 1 1

1 3

1 1

2 2 2 1

1 3

2 2

1

1 3

2 )

Trang 6

Phương pháp Cramer

20 3)

3(2 6)

(-1 - 4) 2(1 2

1

3 1 3 1 2

3 1

1 2

2 1 2 1 2

3

2 1 1

3 1

2 )

10 )

3 10

30 )

2 10

20 )

Trang 7

3 x

3 x

5 x

x x

2

4 x

x x

3 2

1

3 2

1

3 2

1

Trang 8

4 B

, 3 3

1

1 1

2

1 1

1

A

4 3

3 1

1 1

2

1 1

1 )

12 x

12 3

3 6

1 1

5

1 1

0 x

0 3

6 1

1 5

2

1 4

4 x

4 6

3 1

5 1 2

4 1 1

Trang 9

Phương pháp Cramer

Nhận xét:

 Nếu xem như trong quá trình tính toán không có sai số quy tròn thì phương pháp Cramer là một phương pháp giải đúng

 Việc giải hệ gồm n phương trình bằng phương pháp

Cramer cần phải tính n+1 định thức cấp n, mỗi định

thức cấp n cần: n!-1 phép cộng, (n-1)n! phép nhân Khi

n lớn  số lượng phép tính là rất lớn  khó thực hiện được trong thực tế

Trang 10

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (phương pháp khử)

Nội dung của phương pháp: Gồm 2 quá trình:

) 2 ( 2

) 1 ( 1 (n)

) 2 ( n 2

) 1 ( n 1

) 1 ( 12 )

n (

b

b

b B

; 1

a

1

a

a 1

A

) ( ) (

Trang 11

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Hệ phương trình đã cho tương đương với:

) n ( n n

) 2 ( 2 n

) 2 ( n 2 2

) 1 ( 1 n

) 1 ( n 1 2

) 1 ( 12 1

b x

b x a

x

b x a

x a

x

Trang 12

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Quá trình nghịch: Lần lượt tính nghiệm xn, xn-1, … x1 theo cách:

n

i k

k

i ik

i i i

n

n n n

n n n

n n n

x a b

x

x a b

x

x a

b x

b x

2

) 1 ( 1

) 1 ( 1 1

1

) ( )

(

) 1 ( ) 1 (

) 1 ( 1 1

) (

Trang 13

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Các bước thực hiện: Để minh họa, ta sử dụng phương pháp Gauss để

3

2 2

3 2

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

x

Trang 14

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Bước 1: - Giả sử a11 ≠ 0, chia dòng 1 cho a11 (a11 là phần tử

trụ) Hệ đã cho tương đượng với:

n nn

n n

n

n n

) ( n

) ( )

(

b

b b b

x

x x x

.

a

a a

a a

a

a

a a

a

a

a a

3 2

1 1

3 2 1

3 2

1

3 33

32 31

2 23

22 21

1 1

1 13

1 12 1

11 1

) 1 ( 1 11

j 1

) 1 ( j

3

2 2

2

3 2

1 2

1

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

x

 Quá trình thuận

Trang 15

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

- Khử x1 trong phương trình thứ i=2,3,4,…, n bằng cách:

Thay dòng i bởi dòng i – dòng 1 * a i1 Nghĩa là:

a(1)ij = aij - a(1)1j *ai1 với j=1,n và: b (1)

) (

) (

) (

n )

( nn

) ( n

) ( n

) ( n

) ( )

(

) ( n )

( )

(

) ( n

) ( )

(

b

b b b

x

x x x

.

a

a a

a a

a

a a

a

a a

1

1 3

1 2

1 1

3 2 1

1 1

3

1 2

1 3

1 33

1 32

1 2

1 23

1 22

1 1

1 13

1 12

5 2

7

2

1 2

5 2

3

2

3 2

1 2

1

3 2

3 2

3 2

1

x x

x x

x x

x

Trang 16

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Bước 2: Giả sử a(1)

22  0, chia dòng 2 cho a(1)22 Hệ đã cho tương đượng với:

), ,2,1(

,/

,/ 22(1) 2(2) 2(1) 22(1)

) 1 ( 2

) 2 (

) (

) (

) (

n

) ( nn

) ( n

) ( n

) ( n

) ( )

(

) ( n

) (

) ( n

) ( )

(

b

b b b

x

x x x

.

a

a a

a a

a

a

a

a a

1

1 3

2 2

1 1

3 2 1

1 1

3

1 2

1 3

1 33

1 32

2 2

2 23

1 1

1 13

1 12

0

0

1 0

5 2

7

3

1 3

5

2

3 2

1 2

1

3 2

3 2

3 2

1

x x

x x

x x

x

Trang 17

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

) (

) (

) (

n )

( nn )

( n

) ( n )

(

) ( n )

(

) ( n )

( )

(

b

b b b

x

x x x

a

a

a

a

a

a a

2

2 3

2 2

1 1

3 2 1

2 2

3

2 3

2 33

2 2

2 23

1 1

1 13

1 12

0 0

0 0

1 0

10 -

3

1 3

5

2

3 2

1 2

1

3

3 2

3 2

1

x

x x

x x

x

Trang 18

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

 Tiếp tục thực hiện như trên cho đến khi đưa được ma trận hệ số về ma trận tam giác trên Hệ đã cho tương đương với:

) (

) (

) (

n

) ( n

) ( n

) (

) ( n

) ( )

(

b

b b b

x

x x x

a

a

a

a a

3 3

2 2

1 1

3 2 1

3 3

2 2

2 23

1 1

1 13

1 12

1 0

0 0

1 0

0

1 0

3

1 3

5

2

3 2

1 2

1

3

3 2

3 2

1

x

x x

x x

x

Trang 19

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

3

1 3

5

2

3 2

1 2

1

3

3 2

3 2

1

x

x x

x x

Trang 20

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

Ví dụ 3.3: Giải hệ sau bằng phương phap Gauss

3 x

3 x

5 x

x x

2

4 x

x x

3 2

1

3 2

1

3 2

1

Giải: ???

Trang 21

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

4 B

, 2 2

0

3 1

0

1 1

1

(1) )

1 (

A

Trang 22

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

4 B

, 4 0

0

3 1

0

1 1

1

(2) )

2 (

4B

,10

0

31

0

11

1

(3) )

3 (

A

Trang 23

2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)

33

4

3

3 2

3 2

1

x

x x

x x

x

Ta có hệ đã cho tương đương với:

Vậy nghiệm của hệ là: x1=3; x2=0 và x3 = 1

Trang 24

Sơ đồ Gauss

 Trong trường hợp không sử dụng máy tính để giải, để hạn chế sai sót, ta có thể lập bảng (sơ đồ Gauss) để ghi lại quá trình tính tóan

 Để đơn giản, ta xét hệ chỉ gồm 3 phương trình, 3 ẩn:

33 2

32 1

31

2 3

23 2

22 1

21

1 3

13 2

12 1

11

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a

 Lập bảng để tính gồm 5 cột

Trang 26

Cách ghi vào sơ đồ Gauss

 Phần I:

- Ghi các hệ số của A vào các cột ai1, ai2, ai3 và hệ số tự do

B vào cột bi

- Cột  ghi tổng các phần tử bên trái cùng dòng

- Chia dòng 1 cho a11, kết quả ghi vào dòng cuối của phần I (ứng với i=4)

Trang 27

Cách ghi vào sơ đồ Gauss (tiếp theo)

 Phần III:

- Hệ số của phương trình thứ 3 sau khi khử x2 được ghi

vào dòng đầu tiên (ứng với i=3)

- Chia dòng 3 cho a33(2), kết quả ghi vào dòng cuối của

phần III (ứng với i=4)

 Phần IV: Ghi hệ số 1 vào các ô tương ứng với vị trí của x và tính nghiệm x3, x2, x1

Chú ý: những phép biến đổi trên các hệ số của A, B như thế nào thì cũng biến đổi như vậy đối với cột tổng nên tổng a i1 +a i2 +a i3 +b i =a i Nếu có sự khác biệt lớn hơn sai số do quy tròn thì phải xem lại quá trình tính tóan

(Xem ví dụ trong slide kế)

Trang 28

2 2

3 2

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

Trang 29

3x

5x

xx

2

4x

xx

3 2

1

3 2

1

3 2

1

Ví dụ 3.5: Lập sơ đồ Gauss giải hệ:

Trang 31

Khối lượng phép tính của PP Gauss

6

5 2

1 )( n ) n

6

5 2

1 )( n ) n

(

6

7 9

Trang 32

Giải thuật của phương pháp Gauss

Quá trình thuận:

For (int k=1; k<=n;k++) {

m = akk;//m là phần tử trụ

If m= =0 “Chưa xét trường hợp này, dừng”

Else { //Chia dòng k cho m=akk

bk=bk/m;

for (int j=1; j<=n; j++) akj=akj/m;

for (int i=k+1; i<=n;i++){

hệsố = aik; bi=bi-heso*bk; for (int j = k; j<=n; j++) aij=aij-akj*heso; }

}

}

Trang 33

Giải thuật của phương pháp Gauss

Trang 34

3) Phương pháp Gauss với phần tử trụ lớn nhất:

Với PP Gauss được trình bày ở trên:

 Phương pháp Gauss là PP giải đúng Thực tế, vẫn xảy

ra sai số do quy tròn Hơn nữa, các tính toán trên máy tính chỉa là gần đúng Sai số sẽ lớn khi phần tử trụ có trị tuyệt đối nhỏ

 Không thực hiện được nếu ở bước k, phần tử akk=0

 Cải tiến phương pháp Gauss ở trên bằng cách: Ở bước

k, ta chọn phần tử làm trụ có trị tuyệt đối lớn nhất

Trang 35

3) Phương pháp Gauss với phần tử trụ lớn nhất (tt)

Nội dung của phương pháp:

Giống như phương pháp Gauss đã trình bày, tuy nhiên:

Ở bước k, trước khi biến đổi:

Trang 36

for (i=k;i<=n; i++) if |aik|>|ark| then r = i;

if (ark== 0) {Hệ không có nghiệm duy nhất, dừng}

else { Hóan vị dòng r với dòng k m=akk;

Chia dòng k cho m Khử xk ở các pt thứ i=k+1, k+2, …, n bằng cách:

Thay dòng i bởi dòng i – aik*dòng k

} }

Trang 38

4 Giải hệ phương trình tuyến tính bằng phương pháp Cholesky

 Giải hệ PT tuyến tính: AX = B

Nội dung của phương pháp:

 Giả sử biến đổi được ma trận A thành tích của 2 ma trận vuông cấp n : A = C x D

Trong đó ma trận C và D là 2 ma trận tam giác có dạng:

c

C c

c C

0

0

0

2 1

22 21

00

10

1

2

1 12

n

n

d

d d

D

Trong đó cii 0 với mọi i=1,2,…,n

Trang 39

Phương pháp Cholesky (tiếp theo)

 Sau khi xác định được 2 ma trận C và D, tính nghiệm của hệ gồm 2 bước:

Bước 1: Giải hệ CY = B

y1 = b1/c11

y2 = (b2 – c21*y1)/c22

kk i

k

i

ki k

1 1

n k , 1

ki k

x

Trang 40

Phương pháp Cholesky (tiếp theo)

j) (i 1 d

1) j (i .

ij ij

1 1

1 1

j

k

kj ik ij

ij

i i

d c a

c

a c

)(1

)

.(

1/

ij

1 1

11 1

1

j i

d c

a cii d

c a

d

i

k

kj ik ij

ij

j j

Trang 41

Giải thuật Cholesky

Thuận: Tìm 2 ma trận C và D

Cho i = 1,2,…n;

Cho j=1,2,…,n{

Nếu (j<=i) { Nếu i=j thì dij=1 ngược lại (j<i): dij=0

Nếu j=1 thì cij=aij Ngược lại:{acc=0;

cho k=1,2,…,j-1: acc = acc + cik*dkj;

cij =aij – acc;}

} Ngược lại (nghĩa là j>i):

{ cij=0 Nếu (i=1) d1j=a1j/c11

Ngược lại {

acc=0;

Cho k=1,2,…,i-1: acc = acc + cik*dkj;

dij =(aij – acc)/cii }

} }

Trang 42

Giải thuật Cholesky

Trang 43

Phương pháp Cholesky (tiếp theo)

Ví dụ 3.6: Giải hệ sau bằng phương pháp Cholesky

3

2 2

3 2

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

0

3 / 5 1

0

2 / 1 2

/ 1 1 ,

3 / 10 2

/ 7 3

0 2

/ 3 1

0 0

2

D C

Giải hệ CY=B, được nghiệm y1=3/2, y2= -1/3, y3= 2

Giải hệ DX=Y, được nghiệm x1=1, x2= 3, x3= 2

Trang 44

1 n

2n 22

21

1n 12

11

a

a a

a

a a

a

a a

A

Trang 45

Tính định thức ma trận bằng phương pháp Gauss (tiếp theo)

Nội dung của phương pháp:

 Biến đổi ma trận A về ma trận tam giác có dạng:

0

a

a 1 0

a

a a 1

(n) 2n

(n) 23

(n) 1n

(n) 13

(n) 12 )

)1()det(

Trong đó: p là số lần hóan vị các dòng để tìm phần tử trụ

Trang 46

Giải thuật tính định thức ma trận bằng phương

 Nếu atk=0 thì det(A)=0; dừng thuật tóan

 Nếu atk ≠ 0 thì làm các việc sau đây:

1 /

{

a tkjk

Trang 47

6 Tìm ma trận nghịch đảo bằng phương pháp gauss

 Bài toán:

 Cho ma trận A:

 Tìm ma trận nghịch đảo A -1 của A Nghĩa là :

A.A-1 =I, Với I là ma trận đơn vị cấp n:

Lưu ý: Mọi ma trận không suy biến đều tồn tại ma trận nghịch đảo

1

2n 22

21

1n 12

11

a

a a

a

a a

a

a a A

0 0 0

0

0 1 0

0

0 0 1

I

Trang 48

2n 22

21

1n 12

11 1

x

x x

x

x x

x A

1

2n 22

21

1n 12

11

2 1

2 22

21

1 12

11 1

x

x x

x

x x

x

a a

a

a a

a

a a

a A

A

n nn

n n

n n

k

k nk n

k

k nk

n

k

kn k k

k n

k

k k

n

k

kn k n

k

k k n

k

k k

x a x

a x

a

x a x

a x

a

x a x

a x

a

1 1

2 1

1

1 2 2

2 1

1 2

1

1 1

2 1 1

1 1

0 1 0

0 0 1

I

x ij Cần phải tìm?

Trang 49

Tìm ma trận nghịch đảo (tt)

0

1

0

0

2 2 1

1

2 2 1

1

2 2

22 1

21

1 2

12 1

n j

n

nj jn j

j j

j

nj n j

j

nj n j

j

x a x

a x

a

x a x

a x

a

x a x

a x

a

x a x

a x

nj

j j

nn n

n

n n

e

e e

x

x x

a a

a

a a

a

a a

a

1

2 1

2 22

21

1 12

11 Xét cột thứ j trong 2 ma trận A.A -1 và I Ta có hệ:

1

) (

0

j i

j

i

e ij

Hay

Trang 50

j j

nn n

n

n n

e

e e

x

x x

a a

a

a a

a

a a

a

1

2 1

2 22

21

1 12

1

) (

0

j i

j i

e ij

Trang 51

0

0

1

1 31

3 21

2 11

1

1 3

31 33 21

32 11

31

1 2

31 23 21

22 11

21

1 1

31 13 21

12 11

11

n nn n

n n

n n

n n

n n

x a x

a x

a x

a

x a x

a x

a x

a

x a x

a x

a x

a

x a x

a x

a x

a

Để tìm được các phần tử ở cột 1 của ma trận A -1

Trang 52

0

1

0

2 32

3 22

2 12

1

2 3

32 33 22

32 12

31

2 2

32 23 22

22 12

21

2 1

32 13 22

12 12

11

n nn n

n n

n n

n n

n n

x a x

a x

a x

a

x a x

a x

a x

a

x a x

a x

a x

a

x a x

a x

a x

Trang 53

Giải thuật tìm ma trận nghịch đảo bằng pp

Dòng i của A = Dòng i của A – heso*dong k của A

Dòng i của I = Dòng i của I – heso*dong k của I

}

}

}

}

/{

Trang 54

Giải thuật tìm ma trận nghịch đảo bằng pp Gauss

Trang 55

7 Chuẩn của ma trận và chuẩn của vector

4.1 Định nghĩa: Chuẩn của ma trận A=(aij) là một số thực ||A||

thỏa các điều kiện:

a. ||A||≥0 (với ||A||=0  A = 0)

b. ||.A||=||.||A||, với  là một số thực

.

)

|

| (

.

|

| max

.

,

2

1 2 2

j i

ij

i

ij j

a A

c

a A

b

a A

(Chuẩn Ơclit )

(Chuẩn dòng)

Trang 56

Chuẩn của ma trận và chuẩn của vector

2 0

1

1 1 2

A

Tính? A , A , A

2 1

Trang 57

Chuẩn của ma trận và chuẩn của vector

 Chuẩn Vector: Vector là ma trận chỉ có 1 cột nên chuẩn của Vector là:

x x

x X

1 2

1

2 1

1

2 2

2 2

2 1

x X

1

X

Tính các chuẩn dòng, cột vàƠclit Của X

Trang 58

8 Sự không ổn định của hệ phương trình đại số tuyến tính

 Giả sử nghiệm của hệ AX=B tìm được là X1

 Nếu thay đổi rất ít giá trị của các hệ số hoặc của vế phải, mà nghiệm tìm được của hệ sai lệnh lớn so với X1 Ta nói hệ

AX=B không ổn định, ngược lại hệ phương trình gọi là ổn

định

 Cách đơn giản để kiểm tra tính ổn định của hệ thống phương trình là: Giải hệ AX=B đồng thời cũng giải hệ AX=B1 với B1khác rất ít so bới B Nếu hai nghiệm tìm được xấp xỉ nhau, ta nói hệ ổn định, ngược lại ta nói hệ không ổn định

 Cách khác: xét hệ số Cond(A)=||A||.||A-1||

Với ||A|| là một chuẩn nào đó

Cond(A) càng lớn, hệ càng không ổn định

Con(A) càng gần với 1, hệ càng ổn định

Trang 59

Sự không ổn định của hệ phương trình đại số tuyến tính (tt)

9 5

7

33 9

10 6

8

23 5

6 5

7

32 7

8 7

10

4 3

2 1

4 3

2 1

4 3

2 1

4 3

2 1

x x

x x

x x

x x

x x

x x

x x

x x

Trang 60

9 Giải hệ phuơng trình tuyến tính bằng phương pháp lặp đơn

- Bắt đầu với X(0) nào đó, nếu dãy: X(n+1) =  + X(n) (*) hội tụ về X(*) khi n   thì X(*) là nghiệm của hệ

 Tìm nghiệm của hệ: AX=B

 Nội dung của phương pháp

-Biến đổi hệ về dạng tương đượng: X =  + X

n1

2n 22

21

1n 12

11 2

Trang 61

Sự hội tụ bề nghiệm và sai số

Định lý: Nếu ||  ||p<1 thì dãy lặp (a) hội tụ về nghiệm (||  ||p: Là một chuẩn nào đó của  )

k

X X

X X

p p

k p p

k

X X

X

1

) (

Trang 62

,0

915

,03

09,0

808

,024

,04

3 2

1

3 2

1

3 2

1

xx

x

xx

x

xx

3

3 1

2

3 2

1

02 , 0 01

, 0 5

05 , 0 03

, 0 3

02 , 0 06

, 0 2

x x

x

x x

x

x x

x

X

X    

Trang 63

, 0 01

, 0

05 , 0 0

03 , 0

02 , 0 06 , 0 0

; 5 3

Hội tụ về nghiệm của hệ đã cho

Bài tập: Với hệ đã cho trong ví dụ trên

a) Hãy tính nghiệm gần đúng của hệ sau 3 lần lặp (Bắt đầu với

X (0) =(0,0,0)

b) Hãy tìm nghiệm gần đúng của hệ với sai số không quá 0,05

Trang 64

29 2

5

12 6

2

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

9 5

7

33 9

10 6

8

23 5

6 5

7

32 7

8 7

10

4 3

2 1

4 3

2 1

4 3

2 1

4 3

2 1

x x

x x

x x

x x

x x

x x

x x

7 2

7

3 3

4

3 2

1

3 2

1

3 2

1

x x

x

x x

x

x x

x

c)

Trang 65

13

1

32

4

4 0

1

2 1

3

3 Tìm ma trận nghịch đảo của các ma trận cho ở câu 2 bằng phương pháp Gauss

Ngày đăng: 07/12/2013, 14:25

TỪ KHÓA LIÊN QUAN

w