Tải bản đầy đủ (.ppt) (85 trang)

Bài giảng: Phương pháp tính pps

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 (933.93 KB, 85 trang )


1
Phương
Phương
pháp tính
pháp tính


2
Chương 1: Một số phương
Chương 1: Một số phương
pháp tính toán trong đại số
pháp tính toán trong đại số
tuyến tính
tuyến tính
1.1. Ma trận và định thức
1.
Định thức của một ma trận
Ma trận A= (1.1)
det A= , với j bất kỳ, 1

j

n (1.2a)
det A= , với i bất kỳ, 1

i

n (1.2b)













mnmm
n
n
aaa
aaa
aaa




21
22221
11211

=
n
i
ijij
Aa
1


=
n
j
ijij
Aa
1


3

Định lý: nhân 1 hàng hoặc 1 cột của ma trận A với 1 số khác 0, sau đó đem cộng các thành phần tương ứng vào một hàng hoặc một cột
khác của ma trận đó thì giá trị của định thức không thay đổi
B = (1.3)
Áp dụng CT (1.2a) với j = 1 ta được
det A = det

Tiếp tuc

det A = det
= det =













nn
n
n
b
bb
bbb
00

0

222
11211
11
b












nn

n
n
b
bb
bbb
00

0

333
22322
11
b
22
b
2,211

−− nn
bb













nn
n
n
b
bb
bbb
00

0

444
33433






−−−
nn
nnnn
b
bb
,
,11,1
0
nn
bb
,11




4
Các bước chuyển từ ma trận A về ma trận B
-
Xét 2 hàng đầu của ma trận A :
-
Nhân hàng đầu với 1 số rồi cộng kết quả đó vào hàng thứ 2 sao cho b21= 0
(

0)

số đó là –

Các thành phần còn lại của hàng thứ 2 sẽ là:
, j = 1,2,…n

Tiếp tục với hàng thứ 3, 4, …cho đến hàng thứ i
, j = 1,2,…n (1.4)
11
a
n
n
aaa
aaa
22221
11211



0
11
1121
2121
=−=
a
aa
ab
11
121
22
a
aa
ab
j
jj
−=
11
11
a
aa
ab
ji
ijij
−=
1121
/ aa


5


Theo (1.2), với j = 1
det A =

det A = det
Lặp lại với

det A =
ở hàng thứ i:
Thay cho ký hiệu và công thức (1.4) ta dùng
(1.5)













nnnn
n
n
bbb
bbb
bbb





32
33332
22322












nn
n
n
b
bb
aaa
00

0

222

11211












nnnn
n
n
bbb
bbb
bbb




32
33332
22322
11
a













nnn
n
n
cc
cc
bbb
a
0

0

det
3
333
22322
11
nj
b
bb
bc

ji
ijij
, ,2,
22
22
=−=
ijij
cb ,
( )
nijlinl
aa
a
aa
aa
jj
l
ll
l
lj
l
il
l
ij
l
ij
, ,1;, ,1;, ,2,1
,
1
)0(
1

)1(
)1()1(
)1(
+=+==
=−=

−−



6

det A = det
)1()1(
22
)0(
11
)1(
)1(
2
)1(
22
11211

00

0




×××=












n
nn
n
nn
n
n
aaa
a
aa
aaa


7
2. Ma trận nghich đảo

là ma trận nghich đảo của ma trận A


Cách tìm mt nghich đảo
C1: tính giá trị phần bù đại số , i,j=1,2,…,n
(1.6)
C2: Viết thêm mt I vào bên phải ma trận A
(1.7)
1−
A
1
11
==
−−
AAAA
ij
A












=

nnnn
n

n
AAA
AAA
AAA
A
A




det
1
21
22212
12111
1
[ ]












=

1 00

0 10
0 01
,
21
2
2221
11211
nnnn
n
n
aaa
aaa
aaa
IA


8
Sau khi biến đổi (1.8)
Cách tìm ta áp dụng công thức (1.5)
B1: chia hàng đầu của (1.7) cho
[ ]













=
++
++
++
nnnnnn
nnn
nnn
ccc
ccc
ccc
IA
2,2,1,
2,22,21,2
2,12,11,1
1 00

0 10
0 01
,













=
++
++
++

nnnnnn
nnn
nnn
ccc
ccc
ccc
A
2,2,1,
2,22,21,2
2,11,11,1
1




ij
c
11
a

[ ]












=
1 00

0 10
0 0/1/ /1
,
21
2
2221
111111112
nnnn
n
n
aaa
aaa
aaaaa
IA



9
B2: nhân hàng 1 với rồi cộng vào hàng 2

j=2,3,…,n+1
Tiếp tục áp dụng với hàng thứ l
Vậy có 2 bước tìm mt nghich đảo
-
Với mỗi hàng thứ l, chia tất cả cho ,j=l,…,n+l
-
Với mỗi i=1,2,…,n; i

l ta thay bằng

Tìm trở thành tìm (1.9)

21
a−
11212
)1(
2
/ aaaa
j
j
−=
)1( −l
lj
a
)1( −l

ll
a
)1( −l
ij
a
( )
lnll
a
aa
aa
l
ll
l
lj
l
il
l
ij
l
ij
+=−=

−−

, ,,
)1(
)1()1(
)1(
1−
A

)1()1()(
/
−−
=
l
ll
l
lj
l
lj
aaa


10
1.2. Hệ phương trình đại số tuyến tính
1.2. Hệ phương trình đại số tuyến tính
Công thức Kramer
Công thức Kramer
Cho hệ pt sau:
(1.10)
Hệ pt này có thể viết dưới dạng:
A= x= b=
det A

0 thi (1.10) có nghiệm tính theo CT
nnnnnn
nn
nn
bxaxaxa
bxaxaxa

bxaxaxa
=+++
=+++
=+++




2211
22222121
11212111












nnnn
n
n
aaa
aaa
aaa





21
22221
11211












n
x
x
x
.
2
1













n
b
b
b
.
2
1
bAx
1−
=
A
AbAbAb
x
A
AbAbAb
x
A
AbAbAb
x
nnnnn
n
nn
nn

det


det

det

2211
2222121
2
1212111
1
+++
=
+++
=
+++
=


11
Có thể viết cách khác:













=
nnnn
n
n
aab
aab
aab
A
x




det
1
2
2222
1121
1













=
+
+
+


nnjnn
nj
nj
jnnn
n
j
j
aab
aab
aab
aaa
aaa
aaa
A
x









det
1
1,
21,22
11,11
1,21
22221
1,11211












=



n
nnnn

n
n
n
b
b
b
aaa
aaa
aaa
A
x
.




det
1
2
1
1,21
1,22221
1,11211


12
1.
Phương pháp trực tiếp
a)
Phương pháp khử dùng ma trận nghịch đảo

Ý tưởng: Thêm ma trận I vào bên phải của ma trận A ta được ma trận [A,I] dạng (1.7). Áp dụng các phép biến đổi sơ cấp lên các
hàng của ma trận [A,I] cho đến khi [A,I] ở dạng (1.8). Khi đó nghiệm của phương trình (1.10):


nnnnnnn
nnnn
nnnn
cbcbcbx
cbcbcbx
cbcbcbx
2,2,21,11
2,22,221,212
2,12,121,111




+++=
+++=
+++=
++
++
++
nibcx
n
j
jjnii
, ,2,1,
1
,

==

=
+


13
b) Phương pháp khử Gauss
Cho hệ pt đại số tuyến tính sau:
(1.11)
G/sử ta áp dụng CT (1.5) cho TH l=1 lên (1.11) ta được
(1.12)
Tiếp tục, nếu thì (1.12) được đưa về dạng
1,2211
1,22222121
1,11212111




+
+
+
=+++
=+++
=+++
nnnnnnn
nnn
nnn
axaxaxa

axaxaxa
axaxaxa
0
11
≠a
)1()1(
2
)1(
)1(1(
2
)1(
1,11212111
1,2
1,2222




+
+
=++
=++
=+++
+
nnnnn
nn
axaxa
axaxa
axaxaxa
n

n
nnn
0
)1(
22
≠a
)2()2(
3
)2(
)2()2(
3
)2(
)1()1(
3
)1(
2
)1(
1,11313212111
1,333
1,3333
1,222322





+
+
+
=++

=++
=+++
=++++
+
nnn
nn
nn
axaxa
axaxa
axaxaxa
axaxaxaxa
n
n
n
nnn


14
Tiếp tục cho đến n-1 lần:
Nghiệm của hệ pt là:
(1.14)
)()1(
)2()2(
3
)2(
)1()1(
3
)1(
2
)1(

1,11313212111
1,
1,3333
1,222322




n
n
n
n
n
nnn
nnnn
nn
nn
axa
axaxa
axaxaxa
axaxaxaxa
+
+
+
=
=++
=+++
=++++

+

1, ,1
)(
1
1
)1()1(
1,
)1(
)1(
)1(
1,
−=
−=
=

+=
−−
+



+
nj
xaa
a
x
a
a
x
j
n

ij
i
ij
i
ni
i
ii
i
n
nn
n
nn
n


15
c) Phép khử Jordan
Tương tự phép khử Gauss chỉ khác là ở bước thứ l các thành phần bên trên và bên dưới đều được đưa về 0.
Kết quả ta có hệ pt

Nghiệm của hệ pt là:
)1( −l
ll
a
)1(
)1(
1,
)1(
1,
)1(



+

+

=
=
i
ii
n
ni
i
n
ni
i
i
ii
a
a
x
axa


16
d) Phương pháp Cholesky (giải pt 1.10)
Đk:

Ma trận A=LU
Ma trận ; Ma trận

Đặt Ux=y

Ly=b. Do đó ta có 2 hệ pt cần giải
0det 0det;0det0
333231
232221
131211
2221
1211
11
≠≠

















≠ A
aaa

aaa
aaa
aa
aa
a
















=
1

0 1
0 01
0 001
321
3231
21

nnn
lll
ll
l
L
















=
nn
n
n
n
u
uu
uuu
uuuu

U
000

00
0

333
22322
1131211


17
-
Hệ thứ nhất:
nghiệm của hệ này là:
-
Hệ thứ 2:
nghiệm của hệ này là:

















=
















×

















nn
nnn
b
b
b
b
y
y
y
y
lll
ll
l

1

0 1
0 01
0 001
3
2
1

3
2
1
321
3231
21
niylby
by
i
j
jijii
, ,3,2
1
1
11
=−=
=


=

















=
















×

















nn
nn
n
n
n
y
y
y
y
x
x
x
x
u
uu
uuu
uuuu

000


00
0

3
2
1
3
2
1
333
22322
1131211
nixuy
u
x
uyx
n
ij
jiji
ii
i
nnnn
, ,3,2)(
1
/
1
=−=
=

+=



18

Tìm
LU=A

x =
Nhận thấy
Cột thứ nhất của L:
Hàng thứ 2 của U:
Cột thứ 2 của L:
ijij
ul ,

















1

0 1
0 01
0 001
321
3231
21
nnn
lll
ll
l
















nn
n

n
n
u
uu
uuu
uuuu
000

00
0

333
22322
1131211












nnnn
n
n
aaa

aaa
aaa




21
22221
11211
njau
jj
, ,2,1,
11
==
11111111
/, ,3,2, ualniaul
iiii
=⇒==
niulauauul
jjjjjj
, ,3,2
1212222121
=−=⇒=+
( )
niula
u
laulul
iiiiii
, ,4,3
1

1212
22
22222121
=−=⇒=+


19
Hàng thứ i của U và cột thứ j của L
jiula
u
l
jiulau
j
k
kjikij
ij
ij
i
k
kjikijij
>








−=

≤−=



=

=
1
1
1
1
1


20
2. Phương pháp lặp
-Tính chéo trội:
a) Phương pháp lặp Gauss-Seidel
Cho hệ phương trình
Biến đổi
niaa
n
ijj
ijij
, 2,1
,1
=>

≠=
nnnnnnnnnnnnnnnn

nnn
nnn
aaxaaxaaxaax
aaxaaxaaxaax
aaxaaxaaxaax
/)/( )/()/(

/)/( )/()/(
/)/( )/()/(
111,2211
111222232223122212
111111131113211121
+−−
+
+
+−++−+−=
+−++−+−=
+−++−+−=


21
Tổng quát:
Bước xuất phát
Các bước lặp tiếp theo được tính theo công thức
k= 0,1,2,…
)15.1(, ,2,1)(
1,
,1
ni
a

a
x
a
a
x
ii
ni
n
ijj
j
ii
ij
i
=+−=
+
≠=

nnnn
k
nnnnn
k
nnn
k
nnn
k
n
n
k
nn
kkk

n
k
nn
kkk
aaxaaxaaxaax
aaxaaxaaxaax
aaxaaxaaxaax
/)/( )/()/(

/)/( )/()/(
/)/( )/()/(
1
)1(
11,
)1(
22
)1(
11
)1(
1112
)(
222
)(
32223
)1(
12221
)1(
2
1111
)(

111
)(
31113
)(
21112
)1(
1
+
+
−−
+++
+
++
+
+
+−++−+−=
+−++−+−=
+−++−+−=
0, ,0,0,0
)0()0(
3
)0(
2
====
n
xxxk


22
(ε là một số dương nhỏ chọn trước một cách bất kỳ)



23
b, Phương pháp lặp Jacobi
G/t ma trận A có tính chéo trội. Ma trận A= D+L+U
Viết lại phương trình (1.10) như sau:

















=
0

0 0
0 00
0 000
321

3231
21
nnn
aaa
aa
a
L
















=
0 000

000
00
0
3

223
11312
n
n
n
a
aa
aaa
U
















=
nn
a
a
a

a
D
000

0 00
0 00
0 00
33
22
11
)16.1()(
)(
)(
11
bDxULDx
bxULDx
bxULD
−−
++−=⇔
++−=⇔
=++


24

















=

nn
a
a
a
a
D
/1 000

0 /100
0 0/10
0 00/1
33
22
11
1

















=+
0

0
0
0
321
33231
22321
11312
nnn
n
n
n
aaa
aaa
aaa

aaa
UL
















=

nnn
ab
ab
ab
bD
/
.
.
/
/

222
111
1


25
(1.16)


Công thức tính
















+

































−=

















nnnn
nnnnnnnnn
n
n
n
n
ab
ab
ab
ab
x
x
x
x

aaaaaa
aaaaaa
aaaa
aaaa
x
x
x
/
.
/
/
/
.
0 ///

/ //
/ 0/
/ /0
.
.
333
222
111
3
2
1
321
33322322231
2222221
1111112

2
1
nnnn
k
nnnnn
k
nnn
k
nnn
k
n
n
k
nn
kkk
n
k
nn
kkk
aaxaaxaaxaax
aaxaaxaaxaax
aaxaaxaaxaax
/)/( )/()/(

/)/( )/()/(
/)/( )/()/(
1
)(
11,
)(

22
)(
11
)1(
1112
)(
222
)(
32223
)(
12221
)1(
2
1111
)(
111
)(
31113
)(
21112
)1(
1
+−−
+
+
+
+
+
+−++−+−=
+−++−+−=

+−++−+−=
;0, ,0,0
:
)0()0(
2
)0(
1
)(
===
n
k
i
xxx
x

×