HỒ CHÍ MINH KHOA TOÁN – TIN BÀI TẬP NHÓM MÔN PHƯƠNG PHÁP TÍNH ĐỀ BÀI: Cho là số thực và là đa thức trên trường số thực.. Tính khi công thức tính được cho ở dạng chuẩn tắc suy rộng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH KHOA TOÁN – TIN
BÀI TẬP NHÓM MÔN PHƯƠNG PHÁP TÍNH
ĐỀ BÀI:
Cho là số thực và là đa thức trên trường số thực Tính khi công thức
tính được cho ở dạng chuẩn tắc suy rộng
GVHD: TS Trịnh Công Diệu
Nhóm SVTH Toán 4B (Nhóm 10):
1 Trịnh Thanh Sơn
2 Trần Quốc Tú
3 Võ Quốc Trung
Thành phố Hồ Chí Minh Tháng 10 năm 2013
Trang 2I ĐẶT VẤN ĐỀ
Trước tiên ta nhắc lại định nghĩa sau
Cho đa thức , khi đó được biểu diễn thành 1 trong 4 dạng sau
1 Dạng chính tắc: 0
i i
=
2 Dạng chuẩn tắc:
0
i
x x
=
−
3 Dạng chính tắc suy rộng:
[ ] 0
i i
=
4 Dạng chuẩn tắc suy rộng:
[ , ] 0
i
x x
=
−
Nhận xét: Dạng chuẩn tắc suy rộng là trường hợp tổng quát của 3 dạng còn lại
Dạng chính tắc:
Dạng chuẩn tắc:
Dạng chính tắc suy rộng:
Vấn đề đặt ra:
Với là một số thực và là đa thức thuộc trường số thực cho dưới dạng bất kỳ Yêu cầu đặt ra là tính Thay trực tiếp vào đa thức là một cách để tính Ngoài cách tính như vậy ra, liệu còn cách tính nào khác hiểu quả hơn hay không?
Theo nhận xét ở trên, thay vì xây dựng thuật toán tính cho từng dạng của thì ta chỉ cần làm cho trường hợp ở dạng chuẩn tắc suy rộng Từ đó ta có thể làm được cho 3 dạng biểu diễn còn lại của Sau đây ta sẽ xây dựng một thuật toán để tính giá trị của đa thức tại điểm khi mà đa thức này được biểu diễn ở dạng chuẩn tắc suy rộng
II TRÌNH BÀY VẤN ĐỀ
1 CƠ SỞ LÝ LUẬN
Mệnh đề 1:
Mệnh đề 1.1: Cho
( ), ( ) [ ]
,
( ) 0
Khi đó tồn tại duy nhất
( ), ( ) [ ]
sao cho
với
deg ( ) deg ( )r x < g x
Các đa thức q(x), r(x) lần lượt được gọi là đa thức thương và dư trong phép chia f(x) cho g(x)
Chứng minh:
Trước hết sự tồn tại q(x) và r(x) dựa vào thuật toán chia đa thức cho đa thức
Ta chứng minh chúng tồn tại duy nhất
Giả sử cũng có tính chất đòi hỏi Khi đó
với bậc bậc nếu Suy ra:
Hay
Nếu thì deg = deg + deg deg
Đây là một điều mâu thuẫn vì deg deg và deg deg
Trang 3Vậy , mà nên suy ra
Như vậy các đa thức tồn tại và duy nhất
Mệnh đề 2:
Cho đa thức và số thực Số dư trong phép chia cho là
Chứng minh:
Theo mệnh đề 1 khi chia P(x) cho x−α
tồn tại duy nhất đa thức thương
( )
Q x
và dư r(x) sao cho:
trong đó
deg ( ) deg(r x < x−α)⇒r x( )= =c const
Suy ra:
Vậy mệnh đề 2 được chứng minh
Mệnh đề 3:
Mọi đa thức trên trường số thực có bậc n đều biểu diễn được duy nhất dưới dạng:
P x = +a a x x− +a x x x x− − + +a x x x x− − x x−
Chứng minh:
Trước hết ta sẽ chứng minh nhận xét sau:
n
k
i
x x
với quy ước
0 1
1
i i
x x
=
− =
∏
là độc lập tuyến tính trên Thật vậy:
Giả sử ngược lại là
n k
i
x x
là phụ thuộc tuyến tính, nghĩa là tồn tại 0
, , n
a a
không đồng thời bằng không sao cho:
a +a x x− +a x x x x− − + +a x x x x− − x x− = ∀x
P x = +a a x x− +a x x x x− − + +a x x x x− − x x−
Vì
0, , n
a a
không đồng thời bằng không nên tồn tại
0
i
a ≠
Đặt: i0 =max 0{ ≤ ≤i n a i ≠0}
Khi đó, P(x) là đa thức bậc 0
i
nên P(x) sẽ có tối đa là 0
i
nghiệm
Do đó, sẽ có 0
x ∈¡
sao cho 0
( ) 0
P x ≠
, mâu thuẫn vì
( ) 0,
P x = ∀x
Vậy
n k
i
x x
độc lập tuyến tính trên Nhận xét đã được chứng minh, ta trở lại mệnh đề 3:
Trang 4Vì
n k
i
x x
là độc lập tuyến tính trên và ta cũng có dim nên
n k
i
x x
là một cơ sở của
Do đó đa thức được biểu diễn duy nhất dưới dạng:
P x = +a a x x− +a x x x x− − + +a x x x x− − x x−
Mệnh đề 4:
Cho được ghi ở dạng chuẩn tắc suy rộng, nghĩa là:
0
[ , ] 0
( )
n
n
i h i
i
x x
−
−
= −
= + − + − − −
+ + − − − − − −
+ − − − − − − + − − − − − −
Với đặt
( 0 ) 1
1, 2, , 2,1, 0
=
= − −
= + − −
Khi đó
( ) ( ) ( )
( ) ( ) ( ( ) )
( ) ( ) ( ( ) ) ( ) ( ) ( ( ) )
( )
n
α
−
−
= + − + − −
+ + − − − − −
+ − − − − − + − − − − −
Chứng minh:
Từ cách đặt, ta có:
1, 2, , 2,1,0
=
= − −
= − − −
Thay các i
a
vào P(x) ta được:
Trang 5
Đây chính là điều phải chứng minh
2 THUẬT TOÁN
2.1 Cơ sở của thuật toán
Thuật toán trình bày dưới đây chủ yếu là dựa vào mệnh đề 2 và 4 đã trình bày ở trên
Để thuận tiện tính được giá trị của khi ghi ở dạng chuẩn tắc suy rộng mà không phải thế trực tiếp giá trị ta sử dụng mệnh đề 2 Khi đó thay vì tính giá trị ta đi tìm dư của phép chia cho Muốn tìm
dư này ta sử dụng kết quả đã trình bày ở mệnh đề 4
Bằng cách đặt:
1, 2, , 2,1, 0
=
= − −
= − − −
Ta đã chuyển được ghi ở dạng chuẩn tắc suy rộng
[ , ] 0
i
x x
về dạng sau:
( ) ( ) ( )
( ) ( ) ( ( ) )
( ) ( ) ( ( ) ) ( ) ( ) ( ( ) )
( )
n
α
−
−
= + − + − −
+ + − − − − −
+ − − − − − + − − − − −
(*)
Từ đây ta thấy
Như vậy dư của phép chia đa thức cho là , điều này cũng có nghĩa là
Chú ý thêm rằng theo kết quả của mệnh đề 3 thì đa thức được biểu diễn duy nhất dưới dạng (*) Khi đó được tìm thấy là duy nhất
2.2 Thuật toán
Đề toán: Cho
[ , ] 0
i
x x
Với là số thực, tính
Thuật toán giải:
• Bước 1: xác định 0
, , , , i
nα x h a
,
0,
• Bước 2: Tính các i
b
(theo công thức truy hồi:
Trang 6( 0 ) 1
=
= + − −
Để hỗ trợ việc tính toán ta lập một bảng như sau:
n
0 c n−1= − − −α x0 (n 1)h
c c h
x n h
α
c c h
x h
α
= +
= − −
0
c c h
x h
α
= +
= − −
0
c c h
x
α
= +
= −
Cách lập bảng:
Bảng gồm 3 dòng và n+2 cột
Dòng đầu tiên từ ô thứ hai ta lần lượt điền theo thứ tự từ n 0
a →a
Dòng thứ hai ô thứ hai ta điền số 0,ô thứ ba ta điền
n
, từ ô thứ ba trở đi ta lấy ô đằng trước cộng thêm h
Dòng thứ ba, ô đầu tiên ta điền giá trị α
, từ ô thứ hai ta tính theo quy tắc “ nhân chéo cộng dọc” tức
là lấy
.0
b =α +a
,
,….,
b = +a α−x b
• Bước 3: Lấy ô cuối cùng của dòng thứ ba chính là
P α =b
3 VÍ DỤ MINH HỌA
Ví dụ 1 Cho đa thức Tính
Bước 1:
Ta có
Bước 2: Lập bảng
Bước 3: P(3) = 6
Ví dụ 2 Cho đa thức Tính P(2)
Bước 1:
Trang 7Bước 2: Lập bảng
Bước 3: P(3) = -9
Ví dụ 3 Cho đa thức Tính
Ta thấy chưa có dạng chuẩn tắc suy rộng nên ta viết lại như sau:
Bước 1:
Bước 2: Lập bảng
1
Bước 3: P(-4) = 23/5
4 ĐOẠN CHƯƠNG TRÌNH TƯƠNG ỨNG
Chương trình chạy được trên máy có cài đặt turbo pascal
program_tinhgiatridathuc;
uses crt;
var a, b: array[0 100] of integer;
alpha, x0, h, i, j, n: integer;
begin
writeln(‘nhap vao alpha, x0, h ‘); readln(alpha, x0, h);
writeln(‘nhap vao bac cua da thuc n :’); readln(n);
for i:= 1 to n do
begin
write(‘a[‘,i,’] = ‘); readln(a[i]);
end;
b[n] := a[n];
write(‘ tinh b0 là : ‘);
for i:= n – 1 downto 0 do
b[i]:= a[i] + (alpha – x0 – i*h)*b[i+1];
writeln(b[i]);
readln;
end
Trang 85 TÀI LIỆU THAM KHẢO
[1] Bài giảng của thầy Trịnh Công Diệu
[2] Đậu Thế Cấp, 2007, Cấu trúc đại số, NXB Giáo dục
[3] Tài liệu các khóa 34, 35
[4] Hoàng Kiếm, Nguyễn Đức Thắng, Đinh Nguyễn Anh Dũng, 2006, Giáo trình tin học đại cương, NXB Thống kê