Bối cảnh và vấn đề nghiên cứu

Trong hệ thống giáo dục đại học và nghiên cứu khoa học, Toán học đóng vai trò nền tảng cho nhiều lĩnh vực khoa học tự nhiên, kỹ thuật và các mô hình kinh tế. Tuy nhiên, việc giảng dạy và tiếp thu các kiến thức toán học chuyên sâu, đặc biệt là các nội dung tính toán giải tích số và phương pháp tính, thường gặp khó khăn do khối lượng tính toán lớn và độ phức tạp cao của các thuật toán. Sự xuất hiện và phát triển của các hệ thống đại số máy tính (Computer Algebra Systems - CAS) như Maple, Matlab, hay Mathematica đã cung cấp công cụ hỗ trợ tính toán số học, tính toán hình thức và mô phỏng trực quan dữ liệu.

Phần mềm Maple do Đại học Tổng hợp Waterloo (Canada) xây dựng và phát triển từ năm 1985, tích hợp khả năng tính toán ký hiệu, tính toán số chính xác cao, đồ họa toán học và một ngôn ngữ lập trình hướng chu trình. Để khai thác các tính năng này nhằm tối ưu hóa quy trình giải các bài toán xấp xỉ hàm, khóa luận "Ứng dụng phần mềm Maple tìm đa thức nội suy" được thực hiện tại Trường Đại học Hồng Đức.

Nhiệm vụ và mục tiêu nghiên cứu của đề tài bao gồm:

  1. Góp phần thực hiện chủ trương ứng dụng công nghệ thông tin nhằm nâng cao chất lượng và hiệu quả trong hoạt động dạy và học môn Toán.
  2. Hệ thống hóa cơ sở lý thuyết toán học về bài toán nội suy hàm số, trọng tâm là đa thức nội suy Lagrange và đa thức nội suy Newton.
  3. Xây dựng các thuật toán, chu trình xử lý tự động trên môi trường phần mềm Maple (phiên bản Maple 18) để giải quyết các bài toán tìm đa thức nội suy và ước lượng giá trị hàm số tại các điểm bất kỳ.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Cơ sở lý thuyết về đa thức nội suy Lagrange, đa thức nội suy Newton (tiến và lùi), bảng tỉ sai phân, cùng các kỹ thuật lập trình thuật toán trên phần mềm toán học Maple.
  • Phạm vi nghiên cứu: Các định lý, công thức toán học thuộc chuyên ngành Giải tích/Phương pháp tính liên quan đến bài toán nội suy và các cấu trúc lệnh, chu trình xử lý trên phiên bản phần mềm Maple 18.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng trên lý thuyết xấp xỉ hàm trong không gian hàm thực. Cho đoạn $[a, b] \subset \mathbb{R}$, xét $X$ là không gian vectơ các hàm thực xác định trên $[a, b]$. Bài toán nội suy đặt ra yêu cầu: Cho hệ $n + 1$ mốc nội suy phân biệt ${x_i}_{i=0}^n \subset [a, b]$ và hệ $n + 1$ giá trị tương ứng $y_i = f(x_i)$. Cần xác định một đa thức $P_n(x)$ có bậc không vượt quá $n$ sao cho thỏa mãn điều kiện nội suy $P_n(x_i) = y_i$ với mọi $i = 0, 1, \dots, n$.

Tác giả hệ thống hóa hai khung mô hình nội suy chính:

  1. Đa thức nội suy Lagrange: Đa thức được thiết lập dưới dạng tổ hợp tuyến tính: $$P_n(x) = \sum_{i=0}^n y_i \prod_{j=0, j \neq i}^n \frac{x - x_j}{x_i - x_j}$$ Đối với trường hợp các mốc nội suy cách đều ($x_{i+1} - x_i = h$), bài toán sử dụng phép đổi biến $x = x_0 + th$ để chuẩn hóa việc tính toán các hệ số độc lập với bước $h$.

  2. Đa thức nội suy Newton: Dựa trên khái niệm tỉ sai phân cấp $k$: $$f(x_i, x_{i+1}) = \frac{y_{i+1} - y_i}{x_{i+1} - x_i}, \quad f(x_i, \dots, x_{i+k}) = \frac{f(x_{i+1}, \dots, x_{i+k}) - f(x_i, \dots, x_{i+k-1})}{x_{i+k} - x_i}$$ Công thức nội suy Newton có dạng: $$P_n(x) = f(x_0) + \sum_{k=1}^n f(x_0, \dots, x_k) \prod_{j=0}^{k-1}(x - x_j)$$ Với các mốc cách đều, tác giả xây dựng hai dạng công thức: công thức nội suy Newton tiến (ở đầu bảng) sử dụng sai phân tiến $\Delta^k y_0$ và công thức nội suy Newton lùi (ở cuối bảng) sử dụng sai phân lùi $\Delta^k y_{n-k}$.

Phương pháp nghiên cứu được tác giả áp dụng là phương pháp nghiên cứu tài liệu lý thuyết kết hợp với phương pháp thực nghiệm thuật toán. Tác giả thu thập, phân tích và tổng hợp các giáo trình Giải tích, tài liệu hướng dẫn Maple; sau đó mô hình hóa các công thức toán học thành các thuật toán lặp và cấu trúc ma trận trong Maple 18. Nguồn dữ liệu phục vụ kiểm thử bao gồm các bảng mốc số liệu thực nghiệm rời rạc và các hàm số giải tích chuẩn ($f(x) = 3^x$, $f(x) = e^{2x} - x$, $f(x) = \sin(\ln x)$, $f(x) = \sqrt{x}$).


Nội dung chính theo từng chương

Chương 1: Phần mềm Maple - 18

Chương này trình bày tổng quan về cấu trúc giao diện, môi trường tính toán và các nguyên tắc lập trình cơ bản trong phần mềm Maple 18.

Về cấu trúc hệ thống và giao diện, tác giả phân tích các phân hệ chức năng:

  • Hệ thống thanh thực đơn: Menu File (các thao tác tệp, tính năng Export As sang định dạng web, RTF, Maplet); Menu Edit (các thao tác chỉnh sửa, tách/hợp cụm xử lý Split or Join, tính năng Remove Output nhằm giảm dung lượng tệp lưu trữ, điều hướng qua Bookmark); Menu View (quản lý thanh công cụ, chế độ hiển thị Inline Document Output, chế độ trình chiếu Slideshow, quản lý ẩn/hiện dấu Section và Execution Group).
  • Môi trường tính toán: Định nghĩa thành phần cơ sở là "Cụm xử lý" (Execution Group) bắt đầu bởi dấu nhắc [>. Phân biệt quy tắc nhập lệnh Maple Input: kết thúc bằng dấu chấm phẩy (;) để xuất kết quả tính toán màu xanh (Maple Output), hoặc kết thúc bằng dấu hai chấm (:) để chạy ngầm và ẩn kết quả. Phân biệt cặp lệnh trơ (hiển thị biểu thức tượng trưng) và lệnh trực tiếp (cho kết quả tính toán số trị/đại số). Cú pháp toán học quy chuẩn các hàm sơ cấp (sin, tan, arctan, cot, exp, sqrt) và phân biệt chữ hoa/thường đối với hằng số Pi và biến pi.

Về cấu trúc điều khiển và lập trình chu trình:

  • Cấu trúc lặp và rẽ nhánh: Cú pháp vòng lặp không xác định while <điều kiện> do <dãy lệnh> end do;, vòng lặp xác định for <biến> from <đầu> by <bước> to <cuối> do <dãy lệnh> end do; (hoặc for ... in ...), cấu trúc điều kiện if ... then ... elif ... else ... end if;. Đi kèm là các lệnh điều khiển luồng gồm break (ngắt vòng lặp), next (bỏ qua bước lặp), return (trả về giá trị hàm) và error (báo lỗi ra màn hình).
  • Thiết lập chu trình (Procedure): Khai báo tường minh qua cấu trúc:
    procedure_name := proc(parameter_sequence)
        local local_sequence;
        global global_sequence;
        option option_sequence;
        statements_sequence;
    end proc;
    
    Tác giả giải thích chi tiết cơ chế truyền tham biến, tính đóng gói của biến cục bộ (local), phạm vi ảnh hưởng của biến toàn cục (global), và cơ chế định giá biểu thức (định giá một cấp đối với tham biến/biến cục bộ và định giá toàn phần đối với biến toàn cục).

Chương 2: Đa thức nội suy và ứng dụng phần mềm Maple tìm đa thức nội suy

Chương 2 là trọng tâm ứng dụng của khóa luận, kết hợp lý thuyết giải tích số với việc lập trình thuật toán giải quyết các bài toán nội suy cụ thể.

1. Đa thức nội suy Lagrange và chương trình thực hiện trên Maple-18

Tác giả triển khai hai giải pháp kỹ thuật để xác định đa thức Lagrange trên Maple:

  • Cách 1 (Xây dựng chu trình thuật toán độc lập): Sử dụng các toán tử đại số kết hợp hàm product và nops để quét danh sách mốc nội suy $[x]$, giá trị $[y]$ và biến $t$:
    • Định nghĩa hàm trọng số cơ sở $\varphi(i, x, n, t) = \prod_{j=1, j \neq i}^n (t - x_j)$.
    • Tổng hợp đa thức $P(t) = \sum_{i=1}^n y_i \frac{\varphi(i, x, n, t)}{\varphi(i, x, n, x_i)}$.
  • Cách 2 (Sử dụng gói công cụ chuyên dụng): Gọi gói thư viện with(CurveFitting); và thực thi hàm PolynomialInterpolation(X, Y, x);, kết hợp hàm subs để tính toán xấp xỉ giá trị hàm tại một điểm bất kỳ.

Khóa luận thực hiện tính toán và đối chiếu nhiều bài toán mẫu:

  • Bài toán 1: Mốc $x = [1, 2, 3]$ và $y = [1, 2, 4]$, kết quả thu được đa thức $P(t) = \frac{1}{2}t^2 - \frac{1}{2}t + 1$.
  • Bài toán 2: Mốc $x = [0, 1, 2, 15]$ và $y = [2, 3, 12, 3587]$, kết quả đa thức nội suy thu gọn là $P(t) = t^3 + t^2 - t + 2$.
  • Bài toán xấp xỉ hàm giải tích: Khảo sát hàm $y = 3^x$ trên đoạn $[-1, 1]$ với các mốc ${-1, 0, 1}$. Đa thức nội suy Lagrange thu được là $P(t) = \frac{2}{3}t^2 + \frac{4}{3}t + 1$. Ước lượng giá trị tại điểm $t = \frac{1}{6}$ cho kết quả $P\left(\frac{1}{6}\right) = \frac{67}{54}$.
Dữ liệu mốc nội suy ($x$) Giá trị hàm số ($y$) Đa thức Lagrange $P(t)$ thu được Giá trị ước lượng $P(t_0)$
$[1, 2, 3]$ $[1, 2, 4]$ $\frac{1}{2}t^2 - \frac{1}{2}t + 1$ -
$[0, 1, 2, 15]$ $[2, 3, 12, 3587]$ $t^3 + t^2 - t + 2$ -
$[-1, 0, 1]$ ($y = 3^x$) $\left[\frac{1}{3}, 1, 3\right]$ $\frac{2}{3}t^2 + \frac{4}{3}t + 1$ $P\left(\frac{1}{6}\right) = \frac{67}{54}$
$[1, 2, 3, 4, 5]$ $[1, 1, 2, 3, 5]$ Biểu thức bậc 4 thu gọn $f\left(\frac{5}{2}\right), f\left(\frac{4}{3}\right), f(6)$
$[0, 1, 3, 4, 5]$ $[0, 1, 81, 256, 625]$ Biểu thức bậc 4 thu gọn $f(2), f\left(\frac{1}{12}\right), f\left(\frac{8}{2}\right)$

2. Đa thức nội suy Newton và chương trình thực hiện trên Maple-18

Tác giả thiết kế một thủ tục tổng quát Newton := proc(x, y, t) để tự động hóa hoàn toàn quá trình lập bảng tỉ sai phân và thiết lập đa thức:

  • Cơ chế thuật toán: Sử dụng cấu trúc ma trận kích thước $n \times (n+1)$ thông qua lệnh matrix(n, n+1, ...). Cột đầu tiên chứa các mốc $x$, cột thứ hai chứa các giá trị $y$. Các cột tiếp theo lưu trữ tỉ sai phân từ cấp 1 đến cấp $n-1$ được tính toán tự động thông qua hai vòng lặp for lồng nhau.
  • Xây dựng đa thức: Khởi tạo $P = y[1]$, sau đó lặp để nhân dồn các biểu thức sai phân với tích các hiệu $\prod_{k=1}^{j-1}(t - x_k)$. Kết quả được rút gọn đại số bằng lệnh collect(sol, t); và ước lượng giá trị qua lệnh subs.

Các bài toán điển hình được giải quyết trong khóa luận:

  • Bài toán tỉ sai phân số nguyên: Bảng mốc $x = [0, 1, 2, 5]$ và $y = [2, 3, 12, 147]$. Bảng tỉ sai phân được thiết lập với các giá trị $\Delta^1 f = [1, 9, 45]$, $\Delta^2 f = [4, 9]$, $\Delta^3 f = [-1]$. Đa thức Newton thu được là $P(x) = 2 + 1x + 4x(x-1) - 1x(x-1)(x-2) = x^3 + x^2 - x + 2$. Giá trị tính toán tại các điểm là $P(3) = 35$ và $P(4) = 78$.
  • Bài toán mốc cách đều: Bảng mốc $x = [1, 3, 5, 7]$ và $y = [24, 120, 336, 720]$, thiết lập tỉ sai phân các cấp thu được $P(t) = t^3 + 6t^2 + 11t + 6$; tính tại $t = 6$ cho kết quả $P(6) = 540$.
  • Bài toán hàm phi tuyến: Khảo sát hàm $f(x) = \sin(\ln x)$ với 3 mốc $x = [2; 2{,}4; 2{,}6]$ và các giá trị tương ứng $y = [0{,}012097; 0{,}015279; 0{,}016676]$. Đa thức nội suy Newton bậc hai thu được là $P(x) = -0{,}001616x^2 + 0{,}015065x - 0{,}011573$.
  • Bài toán căn thức: Khảo sát hàm $f(x) = \sqrt{x}$ trên hệ mốc rời rạc $x = [0, 1, 2, 4, 5]$ với các giá trị hàm tương ứng $y = [0, 1, 1{,}414214, 2, 2{,}236067]$ để lập bảng tỉ sai phân và thiết lập đa thức xấp xỉ.

Kết quả và đóng góp

Khóa luận đạt được các kết quả cụ thể sau:

  1. Chuẩn hóa các thuật toán tính toán: Đã chuyển hóa thành công các công thức toán học trừu tượng của đa thức Lagrange và Newton thành các module mã lệnh hoàn chỉnh trên Maple 18. Thuật toán xử lý chính xác từ các bài toán mốc nguyên đơn giản đến các bài toán hàm phi tuyến phức tạp ($\sin(\ln x), \sqrt{x}, 3^x, e^{2x}-x$).
  2. So sánh phương pháp thực hiện trên Maple:
    • Đối với nội suy Lagrange, tác giả chỉ ra rằng cách lập trình chu trình độc lập (Cách 1) có tính linh hoạt cao hơn khi áp dụng cho các bộ dữ liệu rời rạc dạng danh sách, trong khi việc dùng gói CurveFitting (Cách 2) đòi hỏi nhiều bước khai báo hình thức hơn.
    • Đối với nội suy Newton, việc xây dựng thuật toán ma trận tự động tính tỉ sai phân giúp loại bỏ hoàn toàn các sai số số học do tính toán thủ công bằng tay khi số mốc nội suy lớn.
Tiêu chí so sánh Tính toán thủ công truyền thống Ứng dụng lập trình Maple 18
Thời gian thực hiện Chậm, tăng theo cấp số mũ khi số mốc $n$ tăng Nhanh chóng, cho kết quả tức thời
Độ chính xác Dễ nhầm lẫn khi lập bảng tỉ sai phân cấp cao Tuyệt đối chính xác về mặt số học đại số
Khả năng xử lý số liệu Hạn chế với các số thập phân nhiều chữ số Xử lý tốt các tập dữ liệu thực nghiệm lớn
Yêu cầu người thực hiện Kỹ năng tính toán cơ bản Phải nắm vững cú pháp lệnh và cấu trúc chu trình

Đóng góp của khóa luận thể hiện ở việc cung cấp một tài liệu tham khảo có cấu trúc rõ ràng, kết nối giữa lý thuyết toán học thuần túy và công cụ tin học ứng dụng, đóng góp vào việc đổi mới phương pháp giảng dạy và học tập môn Phương pháp tính và Giải tích số.


Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Phạm vi nghiên cứu của khóa luận mới chỉ tập trung vào hai dạng đa thức nội suy cổ điển là Lagrange và Newton (tiến/lùi) với các bộ mốc một chiều. Khóa luận chưa đi sâu vào việc phân tích và đánh giá sai số lý thuyết đối với từng dạng hàm cụ thể, cũng như chưa mở rộng sang các dạng nội suy phức tạp khác như nội suy Hermite, nội suy Spline hay nội suy hai chiều. Đồng thời, việc cài đặt chu trình đòi hỏi người học phải có kiến thức nền tảng nhất định về cú pháp phần mềm Maple.
  • Hướng nghiên cứu tiếp: Dựa trên phạm vi nghiên cứu, hướng phát triển tự nhiên của đề tài là mở rộng xây dựng các gói chu trình Maple cho bài toán nội suy Spline (bậc ba), nội suy lượng giác, và tích hợp giao diện đồ họa tương tác (Maplet) để người dùng không chuyên có thể nhập số liệu và nhận kết quả trực quan mà không cần thao tác trực tiếp với mã lệnh.

Giá trị tham khảo

Khóa luận là tài liệu học tập và tham khảo cho:

  • Sinh viên ngành Sư phạm Toán học và Toán ứng dụng: Có thể sử dụng Chương 1 để làm quen nhanh với cú pháp lập trình chu trình trong Maple, và sử dụng Chương 2 như một tài liệu thực hành môn Phương pháp tính/Giải tích số.
  • Giáo viên giảng dạy môn Toán: Tham khảo các đoạn mã chu trình để tạo đề bài, tự động sinh đáp án chính xác cho các bảng tỉ sai phân và đa thức nội suy, phục vụ kiểm tra và soạn bài giảng điện tử.

Câu hỏi thường gặp

1. Khóa luận sử dụng phiên bản Maple nào và môi trường lập trình có đặc điểm gì?
Khóa luận sử dụng phiên bản phần mềm Maple 18. Môi trường tính toán được xây dựng dựa trên các cụm xử lý (Execution Group), phân biệt lệnh xuất kết quả (kết thúc bằng ;) và lệnh ẩn kết quả (kết thúc bằng :), cùng với hệ thống lập trình chu trình đóng gói thông qua khối lệnh proc() ... end proc;.

2. Để tìm đa thức nội suy Lagrange trên Maple, tác giả đề xuất những cách nào?
Tác giả đề xuất 2 cách: Cách 1 là tự xây dựng một chu trình tính toán độc lập dựa trên hàm tích lũy product và danh sách mốc $x, y$; Cách 2 là nạp thư viện with(CurveFitting); và sử dụng lệnh tích hợp sẵn PolynomialInterpolation(X, Y, x);.

3. Thuật toán tìm đa thức nội suy Newton trong khóa luận được tổ chức như thế nào?
Tác giả xây dựng thủ tục Newton := proc(x, y, t) sử dụng một ma trận kích thước $n \times (n+1)$ để lưu trữ mốc $x$, giá trị $y$ và tự động tính toán toàn bộ bảng tỉ sai phân các cấp qua hai vòng lặp for lồng nhau, sau đó nhân dồn các nhân tử và dùng lệnh collect để đưa ra đa thức kết quả.

4. Khóa luận đã thực hiện kiểm nghiệm thuật toán trên những hàm số giải tích nào?
Khóa luận đã kiểm nghiệm thuật toán trên các hàm số: $f(x) = 3^x$ trên đoạn $[-1, 1]$, $f(x) = e^{2x} - x$, $f(x) = \sin(\ln x)$ với các mốc ${2; 2{,}4; 2{,}6}$, và hàm $f(x) = \sqrt{x}$ trên các mốc ${0, 1, 2, 4, 5}$.


Kết luận

Khóa luận "Ứng dụng phần mềm Maple tìm đa thức nội suy" của sinh viên Nguyễn Thị Vân (Trường Đại học Hồng Đức) đã hệ thống hóa đầy đủ cơ sở lý thuyết về đa thức nội suy Lagrange và Newton. Đề tài đã xây dựng thành công các chu trình lập trình trên phần mềm Maple 18, tự động hóa quy trình lập bảng tỉ sai phân và xác định chính xác đa thức nội suy cho nhiều dạng bài toán số liệu và hàm giải tích khác nhau. Công trình là tài liệu tham khảo có giá trị thực tiễn đối với sinh viên và giảng viên ngành Toán trong việc ứng dụng công nghệ thông tin vào giảng dạy và học tập giải tích số.