DAICUGNG VE PHUONG PHAPTINH-CHUONG 1 Chuẩn tắc = chuẩn tắc suy rộng Trước tiên ta có nhận xét sau: - Néu h =0 va zo = 0 thì dạng chuẩn tắc suy rộng trở thành dạng chính tắc.. Dưới đây
Trang 2Lời giải:
(1) Xây dựng Sơ đồ tính P(a) với a € R:
Xót dãy số {b,}¿_g„ cho bởi công thức:
bo = ao
bp = la — h(n — k)|bp a + ak Khi đó:
P(a) = bn
That vay:
Tit cong thitc xay dung day s6 {b,},_qq ta cé:
Dn, = aby—1 aby—1 = ala — h)b„—1
Trang 3DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
(2)
bạ — 1
bị ¬
(17 — 9+3) x (—16) + 2 — 162 (17 — 92) x 162 + (—7) — —169
(17 — 9 * 1) * (—169) + (—1) = —1353
= ( )a(- (
Trang 4return (poly[0]) else:
return(b(n-1)*x + poly{n]) poly = [2, -6, 2, -1]
Trang 5DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Cho vi du minh hoa thuật toán với n = 4,5
Viết Code Python thực thi các thuật toán
Lời giải:
Trước tiên ta có nhận xét sau:
- Néu h =0 va zo = 0 thì dạng chuẩn tắc suy rộng trở thành dạng chính tắc
- Nếu hb =0 thì dạng chuẩn tắc suy rộng trở thành dạng chuẩn tắc
- Nếu h — 1 thì dạng chuẩn tắc suy rộng trở thành dạng chính tắc suy rộng
Do đó, ta chỉ cần tìm hiểu bài toán chuyển đổi từ dạng chuẩn tắc suy rộng này sang dạng chuẩn tắc suy rộng khác Từ đó, ta có thể chuyển đổi qua lại giữa bốn dạng chính tắc, chuẩn tắc, chính tắc suy rộng và chuẩn tắc suy rộng
0.3.1 Cơ sở lý luận
Mệnh đề 0.3.1 Cho zọ,h e Ñ* và đa thức P{z) e IR„|z| có bậc không vượt quá ø
Khi đó hệ đa thức: {( — zg)l°"Ì ;j = ont lập thành cơ sở của R,,[x] Tur đó có duy nhất bộ số thực (zo,m, ,a„) sao cho P(z) = Sy"_g ai (@ — 0)" Wa ER
Tức là dạng chuẩn tắc suy rộng tâm zø bước nhảy b của P(z) tồn tại và duy nhất
Chứngminh
Ta cd tai i= On} là một cơ sở của R,,[z], do dé dim R,,[z] =n +1
Hệ {¿ — ag)" = on} c6 n+1 phan ti nén ta chỉ cần chứng minh hệ nay độc lập tuyến tính trong IR„jz] thì nó sẽ là cơ sở của IR„jz]
Giả sử tồn tại các số thực kọ, kị, , k„ sao cho: Ð 2` 4 kj (x — zọ) 5" — 0,Vz€ R
Trang 6
Cho x = x trong đẳng thức trên ta được ko = 0, dang thitc dude viét lai thanh
Định lí 0.3.2 (PhépchiaEuclide) Cho cac da thite P(x), S(z) € Riz], S(x) 4 0
Khi đó tồn tại duy nhất các đa thức Q(z), R(x) sao cho: P(x) = $(x)Q(x) + R(x), với
deg R(x) < deg S(z)
Cac đa thức Q(x), R(x) duce gọi tương ứng là thương và du trong phép chia P(x) cho
Dinh li 0.3.3 (Dinhly Bezout) Cho da thire P(x) € Riz], c € R Du cua phép chia P(x) cho x —c la gid tri cua da thite P(x) tai c
Chimg minh.Khi chia da thitc da thitc P(x) cho x —« ta duoc du hoac bang 0 hoặc là đa thức bậc 0 nên P{z) = (z — 6): Q(z) +r,recR
Trang 7DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Trang 80.3.2 Thuật toán
Cho đa thức dạng chuẩn tắc suy rộng:
P(x) = an (x — x9)" + +a (x — xạ) Ì + + ago, h € R
Ta biển dién P(x) vé dang chuẩn tắc suy rộng sau:
P(x) = bạ (& — go) + + bị (e — te) + + bạ; gọ,k € TR,
Để thực hiện được việc chuyển dạng này ta cần xác định các hệ số bj(j = 0,7) Day 86 {bọ, ,bạ„ 4} là các số dư được sinh ra do thực hiện liên tiếp các phép chia
Tu đó ta nêu ra thuật toán để giải quyết bài toán như sau:
- Tên thuật toán:
mh] +a; (v— xp) Hl +
MAL +b (x — Hà
Chuyén da thitc dang chuan tac suy rong P(x) = an (x — xo)!
+ag;zo, h € IR về dạng chuẩn tắc suy rộng P(z) = bn (7 — yo)!
+Ủg;1o,k R
- Input: n,a;( n
- Output: b;(4 = 0,n)
- Giải thuật toán:
+ Bước 1 Xác định n,a;(i = 0;n), x0, yo, A, k
-+ Bước 2 Tính các giá trị như bảng sau:
0; 7), £0, yo, h, k
Trang 9
DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
đạ~1
ma = Yo — Xọ — (n — 1)h n-1 =VYo t+ k— Xp
—(n—2)h
= + 1=Vot2k—Xy
—(n—3)h `
=ÿyạ†+(n- 1L)k — i= at
Xuất bọ = bh, by = b?, bo = b8, , Baa = BM 4, dn = Độ,
+ Buée 3 Két luan P(x) = by (x — yo)! + + bị (œ — go) + + bại go, kER
0.3.3 Ap dung thuật toán giải bài tập 1.3
Chuyển đỗi các đathứctừdạngchuântắcsangđạngchínhtắc
Vi du 0.3.6 (n = 4) Cho P(x) = (# — 1)4 — (w — 1)3 + (z — 1)2 — (z— 1) +1 Chuyển
đa thức về dang P(x) = S74_, bia"
Giai Bước 1 Xác định: ø = 4,d4 = 1,43 = —l,ag = 1a, =—-llag= lr =lh=O0,y=
—1 1| -4
Trang 10Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle I.py)
BA main.py
1+ def hornersr(a, x, h, y, k):
Za = = [5, -10, 10, -5, 1]
#hàm chuyên đôi từ dạng chuân tắc suy rộng này
1, -1) Đ[11 = Đ[1] + (y + J*K - X - (1-1)®h) * Đ[1+1]
bn]
2
#sang dạng chuân tác suy rộng khác
4 #a = [a0 al an]: ma Cran các hê số đa thức
5 #x, h- Tam va buec nhảy cũ
6 #y, k: tâm và bước nhảy mới
7 _ 8 #n là bậc đa thức
9 n = len(a)-1 1( b = a[:] #b là dãy copy của a
11
12 #thuật toán 13~ for j in range(0, n):
Buéc 1 Xaéc dinh: n = 5,a5 = lag =
Trang 11DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Buéc 3 Két luan P(x) = 2° — 6x4 + 1523 — 20x? + 152 — 6
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 2.py)
1+ fet hornersr(a, x, h, y, k) [-6, 15, -20, 15, -6, 1]
2 #ham chuyén đỗi từ dạng chuẫn tắc suy rộng này
#sang dạng chuan tac suy rộng khác
4 #a = [a0 a an]: ma trận các hệ số đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: tâm và bước nhảy mới
0,k—1
Bước 2 Tính b; (¿ — 0,4) Ta có bang sau
Nhóm2 7
Trang 13DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
i+ def hornersr(a, x, h, y, k): (1, 0, 5, 5, 1]
) #hàm chuyên đổi từ dạng chuẩn tắc suy rộng này >
#sang dạng chuân tác suy rộng khác
3
4 #a - [a0 al an]: ma trận các hệ sô đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: tâm và bước nhảy mới
Bước 3 Két luan P(x) = 2! + 9el4l + 2028) + 10x?! + alll — 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 4.py)
Nhóm2 9
Trang 143 #sang dang chuan tac suy róng khác
4 #a = [a0 al an]: ma trận các hệ sô đa thức
b #x, h: tâm và bước nháy co
6 #y, k: tâm và bước nhảy mới
Trang 15DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
det hornersr(a, x, h, y, k): [1, -1, 1, -1, 1]
#hàm chuyên đỏi từ dạng chuẩn tắc suy rộng này > |
#sang dang chuan tac suy réng khac
#a = [a0 al an]: ma trận các hệ sô đa thức
#x, h: tâm và bước nhảy cũ
#y, k: tâm và bước nhảy mới
Trang 16Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 6.py)
1+ def hornersr(a, x, h, y, k): [-1, 1, -1, 1, -1, 1]
2 #hàm chuyên đôi từ dạng chuân tắc suy rộng nà
3 #sang dạng chuan tac suy rộng khác
4 #a = [a0 al an]: ma trận các hệ sỏ đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: Tam va bước nhảy mới
14« for i in range(n - 1, j - 1, -1):
= 15 b[i] = bi] + (y + j*k - x - (i-j)*h) * bit]
16 #két qua tra vé 1a b = [bO b1 bn]
Trang 17DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Buéc 3 Két ludn P(x) = (a + 4)!*?! — 5(@ + 4)187] + 35(a + 4)2?7) — 155(+ + 4)? + 341,
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị cdc b; (file 7.py)
Trang 18
ee main.py za She
1+ def hornersr(a, x, h, y, k): (341, -155, 35, -5, 1]
2 #hàm chuyên đói từ dạng chuán tắc Suy rộng này > |
#Sang dang chuan tac suy rong knac
#a = [a0 al an]: ma trận các hệ số đa thức
#x, h: tân và bước nhảy cũ
#y, k: tam va bước nhảy mới
Trang 19DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 8.py)
1x def hornersr(a, x, h, y, k): [-1365, 651, -155, 25, -1, 1]
2 #hàm chuyên doi tir dang chuan tac suy rộng này >
3 #sang dang chuan tac suy rộng khác
4 #a = [a0 al an]: ma trận các hệ sô đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: tâm và bước nhảy mới
Trang 20Bước 3 Kết luận P(z) — 24-23 +2? -—a2 + 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 9.py)
1x def hornersr(a, x, h, y, k) [1, -1, 1, -1, 1]
#ham chuyên đỗi từ dạng chuẩn tắc suy rộng này >
#sang dang chuan tac suy rộng khác
4 #a = [a0 al an]: ma trận các hệ số đa thức
5 #x, h: tâm và bước nhảy co
6 #y, k: tâm và bước nhảy
14+ for i in range(n - 1, j - 1, -1)
= 15 b[i] = bli] + (y + j*k - x - (i-j)*h) * b[i+1]
16 #kêt quả trả về là b = [bO b1 bn]
Giải Bước 1 Xác định: œ = 5,øs = l, d4 = —l, øạ = 25, øa = —155,øị = 651, ao = —1365, z =
~4,h=9,u=0,k=0
Bước 2 Tính b; (¡ =0,5) Ta có bảng sau
Trang 21
DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
2 #hàm chuyển đổi từ dạng chuẩn tắc suy rộng này >
3 #sang dạng chuan tac suy rộng khác
4 #a = [a0 al an]: ma trận các hệ số đa thức
5 #x, h: tâm và bước nhảy Cũ
6 #y, k: tâm và bước nháy mới
Chuyển đỗi các đathứctừdạngchuântắc sangđạngchuẩntắc suy rộng vàngược lại
Tirdang chuantacsang dang chuantacsuyréng
Vi du 0.3.16 (n = 4) Cho P(x) = (# — 1)4 — (x — 1)8 + (a — 1)? — (z— 1) +1 Chuyên
đa thức về dạng P(x) = an bj(a — 2) 161,
Nhom2 17
Trang 22Giải Bước 1 Xác định: ø = 4,a4 = 1,daạ = —l,øaạ = l,øị = —l,dọ = 1l, =l,h =0, =
Trang 23DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
det hornersr(a, x, h, y, k): tle 65 Ue USn
#nam chuyén déi tử dạng chuẩn tắc suy rộng này
#sang dạng chuân tặc suy rộng khác
#a = [a0 al an]: ma trận các hệ số đa thức
#x, h: tâm và bước nhảy cũ
#y, k: tâm Và bươc nhảy mo1
#n là bậc đa thức
n - len(a)-1
b = a[:] #b là dãy copy của a
#thuật Toán for j in range(0, n) for i in range(n - 1, j 1, -1):
b[i] = b[i] ~ (y ~ j*k - x - (i-j)*h) * b[i+1]
#kèt quả trả về là b = [b0 b1 bn]
return(b)
a = |Ữ, -†1, 1, -1, 1Ì x=1
h=0 y=2 print(hornersr(a, x, h, y, k)) x
Chuyên đa thức về dang P(x) = 3>°_, bi(a — 2) 171
Bước 1 Xác định: ø = 5,as = 1,ø+ = —l,dạ = l,øạ = —l,ứi = l,øo =T—l,z—=l,h=
Trang 24Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các bạ
x def hornersr(a, x, h, y, k):
#ham chuyên đôi từ dang chuan tac suy rong nay
#sang dạng chuân tắc suy rộng khác
#x rh
ty,
#n la bac da len(a)-1
b = a[:] #b la day copy
n
#thuật toán
k
= [a0 al an]: ma trận các hệ sô đa thức
tâm và bước nhảy cũ tâm và bước nhảy mới thức
Chuyén da thire vé dang P(x) = ~*
Buéc 1 X4c dinh: n = 4,a4 = lag = 15,a2 = 50,4, = 30,a9 = 1x = 2,h = 2,y
(x— 2) 4) 445(2— 2)81+50(2— 2)? +30(2— 2) H+ 1
4
Nhóm2 20
Trang 25DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Bước 3 Kết luận P(z) — 24-23 +2? -—a2 + 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 13.py)
1x def hornersr(a, x, h, y, k) (1, -1, 1, -1, 1]
2 #ham chuyén đỗi từ dạng chuẩn tac suy rộng nay > |
3 #sang dang chuan tac ng khác
4 #a = [a0 al an]: ma tran cdc hé sé da thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k và bước nhảy mới
Vi du 0.3.19 (n = 5) Cho P(x) = (x — 2)! + 24(a — 2)47] + 155(@ — 2)8! + 280(a2 —
2)Í2?l + 91(z — 2)Í!?l, Chuyén da thire vé dang P(r) = SD, bi(x — 1)! ¡=0 Di
Giải Bước 1 Xác định: ø = 5,øs = 1,44 = 24,a3 = 155, a2 = 280,a, = 91,a9 =0,2 =l1,h=
0, —=2,k= 2
Bước 2 Tính ủ; (¡—= 0,5) Ta có bằng sau
Trang 26
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 14.py)
1+ def hornersr(a, x, hn, y, k): [-1, 1, -1, 1, -1, 1]
#ham chuyén doi tw dang chuan tac suy rộng này
3 #sang dang chuan tac suy réng khac
4 #a = [a0 al an]: ma tran cdc hệ só đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: tâm và bước nhảy mới
Vi dụ 0.3.20 (n = 4) Cho P(x) = (x — 1)4 — (ew — 1)8 + (z— 1)? — (z — 1) +1 Chuyên
da thire vé dang P(x) = an ball,
Trang 27
DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Giải Bước 1 Xác định: ø = 4,a4 = 1,daạ = —l,øaạ = l,øị = —l,dọ = 1l, =l,h =0, =
0, —1
Bước 2 Tính b; (¡=0,4) Th có bảng sau
=1
Bước 3 Kết luận 7(z) = z#! + zl + 2z) — acl + 5
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b; (ñle 15.py)
Trang 28
B main.py Zn Shell
1+ def hornersr(a, x, h, y, k): [5, -4, 2, 1, 1]
2 #hàm chuyên đổi từ dạng chuẩn tắc suy rộng này > |
Bì #sang dạng chuẩn tắc suy rộng khác
4 #a = [a0 al an]: ma tran các hệ số đa thức
5 #x, h: tâm và bước nhây co
6 #y, k: tâm và bước nhảy mới
Giải Bước 1 Xác định: ø = 5,as = 1,ø+ = —l,dạ = l,øạ = —l,ứi = l,øo =T—l,z—=l,h=
Trang 29DAICUGNG VE PHUONG PHAPTINH-CHUONG 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b;(file 16.py)
1+ def hornersr(a, x, h, y, k): [-6, 5, -2, 4, 4, 1]
2 #hàm chuyên đổi từ dang chuân tác suy réng nay >
3 #sang dạng chuân tặc suy rộng khác
4 #a = [a0 al an]: ma trận các hệ sô đa thức
5 #x, h: tâm và bước nhảy cũ
6 #y, k: tâm và bước nhảy mới
0
Bước 2 Tính b; (¡ = 0,4) Ta có bảng sau
1l 1
—2 1|1|_—I
—1
Trang 30
Bước 3 Kết luận P(z) — 24-23 +2? -—a2 + 1
Dưới đây là đoạn code được sử dụng trong Python để tìm giá trị các b;(file 17.py)
1~ def hornersr(a, x, h, y, k) (1, -1, 1, -1, 1]
2 #hàm chuyên đôi từ dạng chuân tắc suy rộng này > |
3 #sang dang chuan tac suy réng khdc
4 #a = [a0 al an]: ma tran các hệ sô đa thức
5 #x, h: tâm và bước nhảy Cũ
6 #y, k: tâm và bước nhảy mới
Vi du 0.3.23 (n = 5) Cho P(x) = (4-1)? (x-1)*+(e—- 1)? = (@-1)? + (e@- I 1
Chuyén da thire vé dang P(r) = an bail,
Giải Bước 1 Xác định: ø = 5,as = 1,ø+ = —l,dạ = l,øạ = —l,ứi = l,øo =T—l,z—=l,h=
0,—0,k— 1
Bước 2 Tính ủ; (¡— 0,5) Ta có bằng sau