GVHD: TS Trịnh Công Diệu
Lớp: Toán VB2-K2 – NHÓM 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trƣờng Đại Học Sƣ Phạm TP.HCM
Khoa Toán – Tin THÀNH VIÊN NHÓM 2:
1. NGUYỄN THỊ MỸ THUẬN
2. MAI XUÂN BÌNH
3. PHẠM THỊ KIM CƢƠNG.
4. PHẠM THẾ SINH
I. ĐẶT VẤN ĐỀ 1
II. GIẢI QUYẾT VẤN ĐỀ 1
với
•Dạng chuẩn tắc suy rộng:
với
Vấn đề đặt ra là làm thế nào để chuyển đa thức từ dạng này sang dạng khác ?
II. Giải quyết vấn đề:
1. Cơ sở lí luận
Ta nhận thấy dạng chính tắc, chuẩn tắc, chính tắc suy rộng là các trường hợp đặc biệt của dạng
chuẩn tắc suy rộng.
Dạng chính tắc:
Dạng chuẩn tắc:
Dạng chính tắc suy rộng:
1. Định lý: về phép chia có dƣ
Trong trường số thực R, cho hai đa thức P(x) và Q(x) bất kỳ của vành , trong đó
deg(Q) 1, tồn tại duy nhất các đa thức S(x) và R(x) thoả mãn đồng thời các điều kiện:
i) P(x) = Q(x).S(x) + R(x)
ii) deg(R) < deg(Q) ()Px
x
()Px
0
()
n
i
i
i
P x a x
P x a x
12
; ;
n
a a a R
[ ; ]
0
( ) ( )
n
ih
i
i
P x a x
0 1 2
; ; ; ;
n
a a a a R
0, 0h
0h
Duy nhất. Giả sử ta có hai biểu diễn P(x) = S(x).Q(x) + R(x) và P(x) = S*(x).Q(x) + R*(x) thoả
mãn điều kiện ii). Khi đó Q(x).(S(x)-S*(x)) = R*(x) – R(x). Ta có, theo điều kiện ii) và định lý 1
thì deg(R*(x) – R(x)) < deg(Q). Mặt khác, nếu S(x) – S*(x) không đồng nhất bằng 0 thì
deg(Q(x).(S(x)-S*(x))) = deg(Q(x)) + deg(S(x)-S*(x)) deg(Q). Mâu thuẫn vì hai vế bằng nhau.
Theo ký hiệu của định lý thì S(x) được gọi là thương số và R(x) được gọi là dư số trong phép chia
P(x) cho Q(x).
n
k
k
k
m
k
k
k
xbxQxaxP
00
)(,)(
) () (
)()()(
1
1
1
001
1
m
m
nm
n
m
x
b
ba
a
bxbx
b
a
axaxaxa
xQx
b
a
xPxH
( ) ( ) ( ) ( *( )) ( ) *( )
m n m n
mm
nn
aa
P x H x x Q x x S x Q x R x
bb
3
2. Thuật toán tính giá trị của đa thức
Định lý Bezout: Cho đa thức và số . Ta có:
k−1
)
3. Cơ sở lí luận cho Bài toán chuyển đổi:
Cho đa thức dưới dạng chuẩn tắc suy rộng như sau
(1)
Ta sẽ biểu diễn về dạng chuẩn tắc suy rộng như sau:
(2)
với cho trước.
Để thực hiện được việc chuyển dạng này ta cần xác định các hệ số .
Ta có:
0
[ , ]
0
()
n
ih
i
i
xxP x a
aR
0
P x b x Q x
,kR
( 0, )
i
b i n
,
[ , ]
0
1
[ , ] [ , ]
0
1
[ -1, ] [ , ]
0
1
[ -1, ] [ , ]
0
[ -1, ]
1
,1
( ) ( )
( ) ( )
( ) 1 ( )
2
[ -1, ] [ , ]
0
( ) ( )
( ) 1 ( ) ( )
nn
n
n h n h i h
n n n i
i
nn
b
b
a x x a n h a x a x
2
[ -1, ] [ -1, ] [ , ]
, , 1
0
( ) ( ) ( )
n
n h n h i h
n n n n i
i
b x x b x a x
b x x b x x b n h a x a x
b x x b x x b x x b h a
,0
0
[ -1, ] [ -2, ]
, , 1 ,2 ,1 ,1 0
[ -1, ] [ -2, ]
, , 1 ,2 ,1 ,0
[ 1, ]
,
1
,0
,
, , 1
1, 2, ,1,0
n n n
n i n i i
ba
i n n
b ih b a
,0n
Pb
0
1
1
[ 1, ] [ 1, ]
,,
1
2
[ 2, ] [ 2, ] [ 1, ]
, , , 1 ,
1
[ 2, ]
1,
()
( ) ( )
( ) 2 ( ) ( )
()
nn
n
ih
ni
i
n
n h i h
n n n i
i
n
n h n h i h
n n n n n n n i
i
nh
n n n
1, 2
2
[ 2, ] [ 1, ]
1, 1 ,
1
[ 2, ] [ 3, ]
1, 1, 1
[
1, 1 , 2
( ) ( )
( ) ( )
3 ( )
nn
n
n h i h
n n i
i
n h n h
n n n n
n
n n n n
b
x b x
b x k x b x k x
b k n h b x
5
với
Tương tự, ta có
Khi đó
Tiếp tục làm như trên, sau n-2 bước ta có:
với
Bước n-1: Đặt
Vậy sau n-1 bước ta thu được P(x) có dạng sau:
[ 2, ] [ 3, ]
1, 1, 1 ,2 ,1
[ 2, ]
1,
[ 2, ] [ 3, ]
( ) ( )
1, 1, 1 1,2 1,2 ,1
1,1
( ) ( )
1, 1 1,2 1,1
[ 2, ]
1, 1,1
2
( )
()
nh
n n n n
n
ih
n i n
i
b x b b
x k b x b
1, .
1, 1, 1 ,
1, 2, ,k
P x x x k b x b b
1,
2 2
2, 2, 2 2,2 1,1 ,0
1
n
i n h
P x x x k x k x n b x b b b b
i n n n n
in
2 2 2, 2
2)k
nn
b P n b
1,
1 2,
1
n
i n h
ni
in
P x b x
6 Ta tóm tắt lại quá trình trên như sau:
…
[ , ]
0
2,2 1,1 ,0
1
21
1 2
n n n
nn
b x x k b x b
b x x k x n k b x x k x n k
b x x k b x
n
a
1n
a
2n
a
1
a
0
a
0
,nn
b
,1nn
b
,2nn
b
,1n
b
,0
0
n
bP
2,n
b
2, 1n
b
2, 2
2
2
2
n
n
n
b
Pn
b
k
1n
h,k {lần lượt là bước nhảy của dạng chuẩn tắc suy rộng ban đầu và dạng chuẩn tắc suy
rộng cần chuyển đổi.}
- Xuất:
- Thuật toán:
1. Gán
2. Với mỗi j chạy từ 0 đến n-1,
với mỗi i chạy từ n-1 đến j
Gán
Gán
3. Xuất .
Thuật toán trên có thể được trình bày dưới dạng bảng sau: (Nhân chéo, cộng dọc)
…
…
,
01
0
, , , ,
n
ih
ni
i
a a a P x a x
:
nn
ba
1
:
i i i
a a jk i j h a
:
ii
ba
01
, , ,
n
b b b
j
jk
n
a
,2nn
b
,1n
b
,0 0n
bb
2k n h
3k n h
k
1
k
1,nn
b
1, 1nn
b
1, 2nn
b
5
4
3
2
1
0
-7
-5
-3
-1
1
2
6
-37
189
-564
566
567
0
-4
-2
0
2
3
6
-61
311
0
5
6
6
-25
Suy ra:
Bước 3: Vậy dạng biểu diễn ở dạng chuẩn tắc suy rộng: là: 5
( ;2)
0
( ) ( 1)
i
i
i
P x a x
567, 562, 168, 24, 25, 6b b b b b b
()Px
5
( ;1)
0
( ) ( 2)
i
i
i
P x b x
5
( ;1) (1;2) (2;2) (3;2) (4;2) (5;2)
0
( ) ( 2) 567 562( 2) 168( 2) 24( 2) 25( 2) 6( 2)
i
i
i
P x b x x x x x x
9
Ví dụ 2:
Cho đa thức , với Hãy biểu
diễn đa thức ở dạng chuẩn tắc suy rộng với
36
-69
137
-273
546
-
1088
0
-1
-1
-1
-1
-1
-1
-1
6
-23
59
-128
265
-538
1084 0
0
0
0
0
2
2
2
2
6
-5
32
-22 0
3
3 3
6
0
()
i
i
i
P x a x
0 1 2 3 4 5 6 7
4, 0, 1, 1, 3, 2, 5, 6a a a a b a a a
()Px
2, 1.k
77
[ ;0]
00
( ) ( 0)
ii
ii
ii
P x a x a x
()Px
77
[ ; ]
00
P x b x
x x x x x x x
10
3.Chƣơng trình tƣơng ứng:
#include <stdio.h>
#include <conio.h>
void main()
{
int n, i, j;
float alpha, beta, h, k;
float hs[36], hsc[36], hsd[36];
printf("Bien doi dang Da thuc.\n");
printf("Chuan tac suy rong sang chuan tac suy rong.\n");
printf("Nhap n, alpha va h: ");
scanf("%d" "%f" "%f", &n, &alpha, &h);
printf("Nhap beta va k: ");
scanf("%f" "%f", &beta, &k);
hsd[n]=0;
for(i=0; i<= n; i++)
{
printf("Nhap vao he so a%d: ",i);
scanf("%f", &hs[i]);
}
printf("%6s"," ");
for (i=n; i>=0; i )
}
III. KẾT LUẬN:
Thuật toán chuyển từ dạng chuẩn tắc suy rộng này sang dạng chuẩn tắc suy rộng khác có
thể áp dụng cho tất cả các dạng chuyển đổi còn lại. Tuy nhiên, trong một số trường hợp, sử dụng
cách chuyển trực tiếp tương ứng sẽ dễ dàng, thuận lợi hơn do thuật toán đơn giản hơn.
IV. BỔ SUNG: DẠNG CHUYỂN ĐA THỨC TỪ DẠNG CHÍNH TẮC SANG DẠNG
CHUẨN TẮC SUY RỘNG VÀ NGƢỢC LẠI
Ta nhận thấy rằng, để chuyển đổi qua lại giữa các dạng đa thức ta cũng có thể chuyển đổi
qua lại dựa vào hai dạng cơ bản là Chính tắc và Chuẩn tắc suy rộng.
1. Chuyển đa thức từ dạng chính tắc sang dạng chuẩn tắc suy rộng
Ta có thể xem dạng chính tắc là trường hợp đặc biệt của dạng chuẩn tắc suy rộng, từ đó có
thể áp dụng phép biến đổi từ chuẩn tắc suy rộng sang chuẩn tắc suy rộng như đã trình bày ở phần
trên.
Cho đa thức ở dạng chính tắc
0
()
n
i
i
i
P x a x
ta chuyển về dạng chuẩn tắc suy rộng
,k
R
k: bước nhảy
- Xuất:
,k
01
0
, , , , ( )
n
i
ni
i
b b b P x b x
01
, , ,
n
b b b
.
Thuật toán trên có thể được trình bày dưới dạng bảng sau
(Nguyên tắc: nhân ngang cộng chéo) n
a
1n
a
2n
a
2
a
1
a
0
a
1, 1nn
b
1, 2nn
b
1,2n
b
1,1 1n
bb
2k
2,nn
b
2, 1nn
b
b
2, 2 2
=
nn
bb
1nk
1,nn
bb
1, 1 1
=
nn
bb
a
3
a
2
a
1
a
0
a
1
3
2
1
4
1
1
4
6
7
11
k
có dạng chuẩn tắc suy rộng là :
[4,2] [3,2] [2,2] [1,2]
( ) ( 1) 19( 1) 87( 1) 88( 1) 11P x x x x x
Chƣơng trình:
#include <stdio.h>
#include <conio.h>
void main()
{
int n, alpha, i, j;
int k;
int hs[36], hsc[36];
printf("Bien doi dang Da thuc.\n");
printf("Chinh tac sang chuan tac suy rong.\n");
printf("Nhap vao bac cua da thuc (n): ");
13
scanf("%d", &n);
printf("Nhap alpha va k: ");
scanf("%d" "%d", &alpha, &k);
for(i=0; i<= n; i++)
{
printf("Nhap vao he so a%d: ",i);
scanf("%d", &hs[i]);
}
printf("\n%5s"," ");
for (i=n; i>=0; i )
{
printf("%5d ", hs[i]);
P x d x
sang dạng chính tắc
0
()
n
i
i
i
P x a x
Cách 1: Áp dụng thuật toán 1 với
0; k 0
.
14
(+)
Cách 2:
Cơ sở thuật toán:
Ta chứng minh bổ đề sau:
Cho Q(x) là đa thức ở dạng chính tắc:
1
Trong đó:
1
0, 1
.
nn
i i i
ba
in
b a b
Chứng minh:
Áp dụng mệnh đề về phép chia có dư thì ta có được sự tồn tại của đẳng thức trên.Vấn đề là ta phải
chứng minh công thức truy hồi của các hệ số.
Ta có :
1
1 2 0
21
Đặt
1
0, 1
.
nn
i i i
ba
in
b a b
Ta được :
b
n
= a
n
b
n-1
… b
2
b
1
b
0Ý nghĩa: nếu biết được các hệ số của đa thức Q(x) thì ta cũng có thể biết được các hệ số của P(x)
Trở lại bài toán: Ta cần chuyển
[ , ]
0
( ) ( )
n
ih
i
i
P x d x
bài toán từ dạng chuẩn tắc suy rộng
sang dạng :
ih
i
i
n n n
P x d x x
d x n h d x n h d d x d
Áp dụng bổ đề trên, ta có:
- Áp dụng bổ đề với
1nh
. Đặt
1 1 0
1.
nn
n n n
bd
b d x n h d
11
2 2 1
1.
1.
nn
n n n
n n n
bd
c b n h b
c d n h b
Ta được
2
1 2 1 0
1
.
nn
i i i
ar
a r r
i n n j
a d r
Ta được
12
1 2 0
( )
n n n
n n n
P x a x a x a x a
n
a a a
.
Việc làm trên thể hiện ở bảng sau: (Nguyên tắc: nhân chéo, cộng ngang, đưa xuống)
16
n
d
1n
d
2n
d
3n
d
0
d
( 1)nh
3n
d
……….
…
…
…
…
…
[]h
n
g
1n
g
2n
g
Ví dụ:
Cho P(x) có dạng:
4,2 3,2 2,2 1,2
1 19 1 87 1 88 1 11P x x x x x
Hãy chuyển đa thức sang dạng biểu diễn chính tắc.
Giải:
Áp dụng thuật toán trên với
1, 2h
Ta lập bảng sau:
()n j h
4
d
27
88
3, :3 1ji
-3
1
4
6
7
11
4, :3 0ji
-1
1
3
2
1
4
Vậy P(x) có dạng chính tắc là :
4 3 2
3 2 4P x x x x x
.
Chƣơng trình:
#include <stdio.h>
#include <conio.h>
void main()
{
int n, alpha, h, i, j;
{
printf("%5d ", hs[i]);
}
getch();
}
V. TÀI LIỆU THAM KHẢO
1. Bài giảng Phương Pháp Tính của thầy Trịnh Công Diệu.
2. Phương pháp tính – Tạ Văn Đĩnh