1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng phần mềm Maple và cơ sở Groebner trong giải toán hình học phẳng

51 1,2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 3,02 MB

Nội dung

Với mong muốn đóng góp một phần nhỏ công sức để giảm bớt những khókhăn cho học sinh, sinh viên trong việc giải các bài toán hình học phẳng thườnggặp mà không mất quá nhiều thời gian khi

Trang 1

MỤC LỤC

Trang 2

MỞ ĐẦU

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Ngày nay, nhờ sự phát triển như vũ bão của công nghệ thông tin, máy tính

đã thâm nhập vào hầu hết các lĩnh vực khoa học và đời sống Nhiều chương trìnhứng dụng đã được phát triển liên quan tới quản lý dữ liệu, in ấn, đồ họa, xử lýảnh… Riêng đối với ngành Toán đã có những sản phẩm mang tính phổ dụng nhưMathematica, Matlab, Maple … và nhiều chương trình chuyên dụng cho từng bộmôn Toán học Những phần mềm trên giúp ích rất nhiều cho việc giảng dạy mônToán, học Toán cũng như việc ứng dụng Toán trong các ngành kĩ thuật, kinh tế và

vì thế tại các nước phát triển chúng đã trở thành cẩm nang của nhiều sinh viên vàcác nhà khoa học

Khả năng của các phần mềm Toán học là rất lớn và có thể khai thác chúng ởnhiều góc độ khác nhau Do đó, việc nghiên cứu và giảng dạy cho sinh viên cách

sử dụng công cụ phần mềm Toán thông dụng như Maple là cần thiết và đem lạihiệu quả thực sự

Một nét nổi bật của các phần mềm tính toán là chúng không chỉ giúp chúng

ta tính toán mà còn hỗ trợ cho tư duy, suy luận và do đó nó rất hữu ích trong giảngdạy và nghiên cứu Toán học Kể từ khi phần mềm tính toán Maple ra đời, nhiềutrường Đại học trên thế giới đã thay đổi cách dạy và học môn Toán Cùng với cáchgiảng dạy giải toán truyền thống, người học được hướng dẫn để giải toán bằngMaple Phương pháp này tạo ra cho Toán học một cách tiếp cận mới sinh động vàsáng tạo hơn, tạo ra cho con người có thể khai thác tối đa khả năng sáng tạo Theotác giả Phạm Huy Điển: “Nếu như với Đại số, Số học, Giải tích … Maple có khảnăng đầy đủ để giảng dạy và học tập (từ phổ thông lên đại học) thì trong Hình họcphẳng nó chỉ đưa ra những công cụ mang tính cơ sở chưa đáp ứng được nội dunggiảng dạy bộ môn Hình học hiện nay ở Việt Nam” Tuy nhiên Maple là một hệthống mở, nó cho phép chúng ta tạo lập được những công cụ mới bổ sung Do đó,chúng ta có thể làm phong phú hơn gói công cụ Hình học phẳng của Maple

Trang 3

Theo phương pháp trên, bằng cách ứng dụng lý thuyết Toán học Cơ sởGroebner kết hợp với phần mềm Maple chúng ta có thể giải các bài toán Hình họcphẳng

Với mong muốn đóng góp một phần nhỏ công sức để giảm bớt những khókhăn cho học sinh, sinh viên trong việc giải các bài toán hình học phẳng thườnggặp mà không mất quá nhiều thời gian khi tính toàn bằng tay mà áp dụng thành tựukhoa học công nghệ hiện đại để giải quyết một bài toán nhanh, gọn qua đó hỗ trợcho đội ngũ giáo viên các trường phổ thông trong công tác giảng dạy của mình

Bởi vậy, chúng em mạnh dạn nghiên cứu đề tài: “Ứng dụng phần mềm Maple và

cơ sở Groebner trong giải toán hình học phẳng”.

2 Ý NGHĨA CỦA ĐỀ TÀI

2.1 Ý nghĩa khoa học: Đề tài nghiên cứu các thuật toán trong phần mềm Maple vàứng dụng Cơ sở Groebner để giải các bài toán Hình học phẳng

2.2 Ý nghĩa thực tiễn: Đề tài nghiên cứu là tài liệu tham khảo cho sinh viên ngànhĐại học sư phạm Toán và giáo viên các trường trung học phổ thông Sau khi đề tàihoàn thành, chúng em hi vọng đây sẽ là một tài liệu bổ ích cho học sinh, sinh viêntrong học tập và nghiên cứu về cách sử dụng phần mềm Maple để giảng dạy hìnhhọc

3 MỤC TIÊU ĐỀ TÀI

3.1 Đề tài nghiên cứu khoa học hệ thống một cách chi tiết các thuật toán sử dụngtrong phần mềm Maple và ứng dụng của nó trong việc giải các bài toán hình họcphẳng, đưa ra cách giải một cách nhanh và chính xác nhất cho một số dạng bàitoán hình học phẳng

3.2 Nêu ra quy trình đại số hóa một số bài toán hình học phẳng dựa trên Cơ sởGroebner

3.3 Nêu ra các bài tập vận dụng là tài liệu tham khảo cho học sinh, sinh viên

Trang 4

4 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU

4.1 Đối tương nghiên cứu: Các thuật toán trong phần mềm Maple, cơ sở Groebner

và các ứng dụng trong giải toán hình học phẳng

4.2 Phạm vi nghiên cứu: Phần mềm Maple, cơ sở Groebner ứng dụng trong giải các bài toán Hình học phẳng

5 NỘI DUNG NGHIÊN CỨU

Chương 1: Phần mềm Maple và cơ sở Groebner

1.1 Giới thiệu về phần mềm Maple

1.1.1 Giao diện và môi trường làm việc của Maple

1.1.2 Các khái niệm và hàm cơ bản trong lập trình trên Maple

1.1.3 Lập trình toán học trên Maple

1.1.4 Lệnh và kết quả của Maple

1.1.5 Ứng dụng của Maple trong hình học

1.2 Cơ sở Groebner

1.2.1 Định nghĩa cơ sở Groebner

1.2.2 Đại số hóa định lý hình học trên Maple

1.2.3 Quy trình chứng minh định lý hình học trên Maple

1.2.4 Cơ sở Groebner trong Maple

Chương 2: Bài tập vận dụng

2.1 Bài tập hình học phẳng với gói Groebner

2.2 Bài tập hình học phẳng với gói Geometry

2.3 Bài tập

6 PHƯƠNG PHÁP NGHIÊN CỨU

6.1 Phương pháp nghiên cứu lý luận: Đọc và nghiên cứu các tài liệu, giáo trình về phần mềm Maple, Cơ sở Groebner Nghiên cứu các thuật toán và ứng dụng Cơ sở Groebner trong giải các bài toán Hình học phẳng trên Maple

6.2 Phương pháp tổng kết kinh nghiệm: Qua việc nghiên cứu tài liệu, giáo trình thông qua các thuật toán, các chương trình giải toán Hình học phẳng trên Maple

Trang 5

CHƯƠNG 1 GIỚI THIỆU PHẦM MỀM MAPLE VÀ CƠ SƠ GROEBNER

1.1 Giới thiệu về phần mềm Maple

1.1.1 Giao diện và môi trường làm việc của Maple

1.1.1.1 Giới thiệu về phần mềm Maple

* Lịch sử phát triển:

Khái niệm đầu tiên về Maple xuất phát từ một cuộc họp vào tháng 11 năm

1980 tại Đại học Waterloo Canada ở Waterloo, Ontarrio, Canada Những nhànghiên cứu tại đại học muốn mua một máy tính đủ mạnh để chạy Macsyma Thayvào đó, người ta quyết định sẽ phát triển hệ thống đại số máy tính riêng để có thểchạy được những máy tính có giá thành hợp lý hơn Do đó, dự án bắt đầu với mụctiêu là tạo ra một hệ thống đại số hình thức mà các nhà nghiên cứu và sinh viên cóthể truy cập được

Sự phát triển đầu tiên của Maple được tiến hành rất nhanh, với phiên bảnhạn chế đầu tiên xuất hiện vào tháng 12 năm 1980 Những nhà nghiên cứu đã thửnghiệm và loại bỏ rất nhiều ý tưởng khác nhau để tạo ra một hệ thống liên tục cảitiến Maple được trình diễn đầu tiên tại hội nghị bắt đầu vào năm 1982

Đến cuối năm 1983, trên 50 trường đại học đã cài Maple trên máy tính của

họ Do số lượng hỗ trợ và yêu cầu giấy phép lớn, vào năm 1984, nhóm nghiên cứu

đã sắp xếp với WATCOM Products Inc để cấp phép và phân phối Maple

Vào năm 1988, do số lượng ngày càng tăng, Waterloo Maple Inc được thànhlập Mục tiêu đầu tiên của công ty là quản lý những bản phân phối phần mềm Cuốicùng, công ty cũng phải mở ra phòng R&D, ở đó khá nhiều sự phát triển cho Mapleđược thực hiện tới ngày nay Sự phát triển đáng kể của Maple tiếp tục diễn ra tạiphòng thí nghiệm trường đại học, bao gồm: Phòng thí nghiệm Tính toán hình thức tạiĐại học Waterloo, Trung tâm nghiên cứu Tính toán hình thức Ontario tại Đại học TâyOntario và những phòng thí nghiệm khắp nơi trên thế giới

Trang 6

Vào năm 1989, giao diện đồ họa người dùng đầu tiên của Maple được pháttriển và bao gồm trong bản 4.3 dành cho Macintosh Những phiên bản trước củaMaple chỉ gồm giao diện dòng lệnh với ngõ ra hai chiều Bản X11 và Windows vớigiao diện mới tiếp bước năm 1980 với Maple V.

Vào năm 1999, với việc phát hành Maple 6, Maple đã đưa vào một số Thưviện Số học NAG, được mở rộng độ chính xác ngẫu nhiên

Năm 1995, Maple đã mất khá nhiều thị phần vào tay đối thủ do có giao diệnngười dùng yếu hơn

Vào năm 2003, giao diện “chuẩn” hiện nay được giới thiệu trong Maple 9.Giao diện này được viết chủ yếu bằng Java (mặc dù có nhiều phần, nhưng luật choviệc gõ công thức toán học được viết bằng ngôn ngữ Maple) Giao diện Java bị phêphán là chậm, nhưng sự phát triển được thực hiện trong các bản sau này củaMaple

Nhưng vào năm 2005, Maple 10 giới thiệu một “chế độ văn bản” mới nhưmột phần của giao diện chuẩn Tính năng chính của chế độ này là phép toán đượcđưa vào ngõ nhập hai chiều, do đó nó xuất hiện tương tự như công thức trong sách.Vào năm 2008, Maple 12 đã thêm những tính năng giao diện người dùng giống nhưMathematica, gồm có những kiểu trình bày theo mục đích đặc biệt, quản lý phần đầu

và cuối trang, vùng thực hiện tự động, mẫu hoàn thành lệnh, kiểm tra cú pháp vàvùng tự động khởi tạo Những tính năng khác được thêm vào để làm cho Maple dễdùng hơn như một hộp công cụ Maple Phiên bản mới nhất hiện nay là Maple 16 rađời ngày 3 tháng 3 năm 2012 với các tính năng và gói công cụ vượt trội hơn hẳnmang bước đột phá của Maple

* Chức năng cốt lõi:

Người dùng có thể nhập biểu thức toán học theo các ký hiệu toán học truyềnthống Có thể dễ dàng tạo ra những giao diện người dùng tùy chọn Phần lớn chứcnăng toán học của Maple được viết bằng ngôn ngữ Maple và được thông dịch bởinhân Maple Nhân Maple được viết bằng C Maple chạy trên tất cả các hệ điều hànhchính

Trang 7

Maple là phần mềm có một môi trường tính toán khá phong phú, hỗ trợ hầuhết các lĩnh vực của toán học như: Giải tích số, đồ thị, đại số hình thức,… Do đó ta

dễ dàng tính được các giá trị gần đúng, rút gọn biểu thức, giải phương trình, bấtđẳng thức, hệ phương trình, tính giới hạn, đạo hàm, tích phân của hàm số, vẽ đồ thị,tính diện tích, thể tích, biến đổi ma trận, khai triển các chuỗi, tính toán thống kê, xử

lý số liệu, số phức, phương trình vi phân, phương trình đạo hàm riêng… và lập trìnhgiải các bài toán với cấu trúc chương trình đơn giản Ngoài ra với phần mềm này ta

dễ dàng biên soạn các sách giáo khoa điện tử với chức năng Hyperlink tạo các siêuvăn bản rất đơn giản mà không cần đến sự hỗ trợ của bất kỳ phần mềm nào khác(chẳng hạn PageText, Word, FontPage…) Với các chức năng trên, Maple là công

cụ đắc lực hỗ trợ cho những người làm toán

* Nguồn gốc tên gọi:

Tên “Maple” không phải là tên viết tắt hoặc từ cấu tạo bằng chữ đầu, mà chỉ

đơn giản là biểu tượng để chỉ hình tượng Lá phong (tiếng Anh là: maple) trên Quốc

kỳ Canada

1.1.1.2 Giao diện và môi trường làm việc của Maple.

* Khởi động Maple:

Nếu Maple được cài đặt đúng quy trình, để làm việc với Maple ta chọn:

Start -> Programs -> Maple 12 -> Classic Worksheet Maple

Hoặc bấm vào biểu tượng Maple trên màn hình:

* Thoát khỏi Maple:

Maple 12.lnk

Trang 8

Để thoát khỏi Maple ta vào File -> Exit hoặc nhấn Alt + F4 Nếu chương

trình chưa được lưu trữ, Maple sẽ nhắc ta cần lưu trữ hay không Ta chọn Yes đểlưu lại, No là không lưu, Cancel để tiếp tục làm việc

* Giao diện của cửa sổ làm việc của Maple:

Giao diện làm việc của Maple cũng giống như giao diện của các chươngtrình ứng dụng khác trên môi trường Windows, tức là cũng gồm các thanh menulệnh Maple có 2 môi trường làm việc là toán và văn bản Sau khi khởi động,Maple tự động bật môi trường toán Muốn chuyển sang môi trường văn bản, kíchchuột vào biểu tượng “T” trên thanh công cụ Ngược lại, từ môi trường văn bản,muốn chuyển sang môi trường toán thì kích chuột vào dấu “[>” trên thanh công cụ

* Menu Bar (Thực đơn ngang):

Trang 9

Dòng chứa các chức năng, ứng với mỗi chức năng là một thực đơn dọctương ứng.

\

* Tool Bar (Thanh công cụ):

Chứa một số biểu tượng (Icon) thể hiện một số lệnh thông dụng để người sửdụng thao tác nhanh

1.1.2 Các khái niệm và hàm cơ bản trong lập trình trên Maple.

- Tên (name) và xâu kí tự:

Tên là mộ: xâu hình tự (string of letters) được dùng như một chỉ mục haymột nhãn để đại diện cho các đối tượng trong Maple có thể thay đổi được (nhưbiến, kí hiệu toán học, các biểu thức nói chung, …) mà ta có thể gán cho nó Tên làmột trong các thành phần không thể thiếu của Maple trong việc tạo ra các biểuthức Chiều dài tối đa của tên phụ thuộc vào hệ máy tính mà Maple chạy trên đó(với máy 32-bit thì chiều dài tối đa của tên là 524275)

Bất cứ biểu thức nào đều có thể được gán cho một cái tên Nếu không có giá trịnào được gán cho một tên thì nó sẽ nhận chính tên nó làm giá trị mặc định

Chương trình Maple sử dụng tên bắt đầu với một dấu gạch dưới ( _ ) làm các biến toàn cục và vì thế chúng ta nên tránh sử dụng chúng

- Một xâu kí tự bất kỳ (string of characters) có thể không phải là xâu hình tự (vì có thể chứa các kí tự đặc biệt như: khoảng trống, dấu chấm than, …) và do đó không thể là một tên hợp lệ Tuy nhiên, Maple cho phép tạo một tên từ một xâu kí

tự bất kỳ bằng cách cho nó vào trong cặp dấu nháy đơn (`) (backquote), thí dụ như xâu kí tự `a variable!` là một tên biến hợp lệ và người ta có thể gán cho nó giá trị

10 bằng lệnh `a variable`:=10

Trang 10

Một xâu hình tự thường là một tên hợp lệ và được xem là trùng với tên được tạobằng cách bao xung quanh xâu này bằng các cặp dấu nháy (vì thế mà x và `x` đềuchỉ đến một tên) Tuy nhiên, nếu xâu hình tự mà trùng với từ khóa của Maple thìkhông phải là một tên hợp lệ và muốn cho nó trở thành một tên ta lại phải cho nóvào trong cặp dấu nháy.

Hai dấu nháy liên tiếp trong một xâu kí tự sẽ được hiểu như là một dấu Ví dụ nhưkhi ta viết: print (`I’m a student`);  kết quả sẽ cho ta xâu: I’m a student

1.1.3 Lập trình toán học trên Maple.

Một chương trình tính toán thường có ba phần:

- Dữ liệu vào

- Phương pháp

- Kết quả

Cấu trúc của một chương trình cơ bản trong Maple thường có dạng:

Tên_chương_trình := proc(các đối số);

là đúng) thì các câu lệnh bên trong được thực hiện, sau đó lại tiếp tục kiểm tra điềukiện condition cho đến khi điều kiện không còn thỏa mãn nữa Vòng lặp while

Trang 11

thường được sử dụng khi số lần lặp một hay một chuỗi biểu thức là không xác định

rõ, đồng thời ta muốn các biểu thức đó còn cần được lặp trong khi một điều kiệnnào đó còn được thỏa mãn

Điều kiện condition trong vòng lặp phải là một biểu thức boolean, tức là giátrị của nó có thể đúng hoặc sai, nếu không thì sẽ sinh ra lỗi

Trong trường hợp muốn thoát ra khỏi vòng lặp ngay từ trong giữa vòng lặp,

ta có thể thực hiện bằng cách dùng câu lệnh return, quit hoặc break Chú ý rằngvòng lặp while-do-od, không bắt buộc phải nằm trên nhiều dòng lệnh nhưng người

ta thường viết trên nhiều dòng để câu lệnh dễ đọc và dễ hiểu hơn

Vòng lặp for được dùng để lặp một chuỗi các biểu thức được đặt giữa do và

od, mỗi lần lặp tương ứng với một giá trị phân biệt của biến chỉ số name đứng sau

từ khóa for Ban đầu, giá trị strart được gán cho biến chỉ số Nếu giá trị của biếnname nhỏ hơn hay bằng giá trị finish thì chuỗi lệnh nằm giữa do và od được thựchiện, sau đó biến name được gán giá trị tiếp theo bằng cách cộng thêm vào nó giátrị change (name:= name + change) Sau đó, biến name được so sánh với finish đểquyết định xem việc thực hiện chuỗi lệnh có được tiếp tục nữa không Quá trình sosánh biến chỉ số name và thực hiện chuỗi lệnh được lặp lại liên tiếp cho đến khi giátrị của biến name lớn hơn giá trị finish Giá trị cuối cùng của biến name sẽ là giá trịvượt quá finish đầu tiên

Trang 12

* Lệnh điều kiện if

+ Cấu trúc cú pháp:

If condition then

Statement sequence

[ elif condition then statement sequence ]

[ else statement sequence ]

Fi;

+ Chức năng:

Nếu bạn muốn một dãy biểu thức được thực hiện khi điều kiện nào đó đượcthỏa mãn và một dãy biểu thức khác được thực hiện nếu trái lại thì có thể dùng câulệnh if - then - else - fi Trong câu lệnh trên, nếu điều kiện condition là đúng thìchuỗi biểu thức đứng sau then sẽ được thực hiện, nếu trái lại thì điều kiệncondition sau từ khóa elif sẽ được kiểm tra, nếu nó đúng thì chuỗi lệnh tương ứngsau then được thực hiện, cứ tiếp tục cho đến khi các điều kiện condition đều khôngthỏa mãn, thì các biểu thức sau lệnh else được thực hiện

Lưu ý rằng cấu trúc lệnh (tùy chọn) elif … then … được lặp lại với số lần tùy ý Từkhóa elif là dạng viết tắt của else if

Các biểu thức điều kiện (codition) được sử dụng trong câu lệnh if phải đượctạo thành từ các bất đẳng thức, các đẳng thức (các phép toán quan hệ), các biến số,các phép toán logic, các hàm có giá trị trả lại là giá trị logic Nếu trái lại thì sẽ gây

Trang 13

thấy đối tượng cần tìm Khi đó, ngay tại thời điểm tìm thấy, bạn dùng lệnh break

để nhảy ra khỏi vòng tìm kiếm Trước lệnh break thường có một câu lệnh điều kiện

* Lệnh next:

+ Cấu trúc và chức năng:

Cũng giống như câu lệnh break, lệnh next được thực hiện trong vòng lặpwhile/for với mục đích bỏ qua một số lệnh bên trong vòng lặp để nhảy qua lần lặptiếp theo Khi lặp lệnh next trong vòng lặp, chương trình bỏ qua các lệnh tiếp theocủa vòng lặp tận cùng nhất chứa next cho đến khi gặp từ khóa xác định kết thúcvòng lặp (ở đây là lệnh od) Đến đây vòng lặp tiếp tục nhảy qua lần lặp tiếp theo(nếu có thể) bằng cách tăng chỉ số hoặc kiểm tra điều kiện để quyết định xem cónên thực hiện vòng lặp tiếp theo

Lệnh next sinh ra lỗi nếu nó được gọi ngoài vòng lặp while/for Tương tựnhư break, next cũng không phải là từ khóa, do đó ta hoàn toàn có thể gán cho nextmột giá trị (xem như next là một biến) Ngay trước lệnh next cũng thường là mộtcâu lệnh điều kiện if … then …

1.1.4 Lệnh và kết quả của Maple

* Lệnh và kết quả của Maple (Maple Input and Output).

+ Lệnh của Maple (Maple Input) là những từ tựa tiếng Anh được sử dụngtheo một nghĩa nhất định và phải tuân theo cú pháp của Maple Lệnh được nhậpsau dấu nhắc lệnh “ [> ” và kết thúc bởi dấu “ : ” hoặc “ ; ”,

Ví dụ 1.1.

[> solve(5*x^2 + 3*x-,{x}); Mỗi câu lệnh của Maple nếu kết thúc lệnh bằng dấu “ ; ” kết quả sẽ hiển thị ngay ramàn hình, nếu kết thúc lệnh bằng dấu “:” kết quả sẽ không hiển thị ra màn hình

Trang 14

Lệnh được thực hiện khi con trỏ ở trong hoặc ở cuối dòng lệnh mà ta nhấn Enter().

Lệnh của Maple có hai loại lệnh là lệnh trơ và lệnh trực tiếp Lệnh trơ vàlệnh trực tiếp chỉ khác nhau ở chữ cái đầu tiên của lệnh trơ viết chữ in hoa chỉ cho

ta biểu thức đặc trưng, lệnh trực tiếp cho ra chữ thường cho ra kết quả ngay

Ví dụ 1.2

Tính

x

x x

>

(Đề thi tuyển sinh khối D- năm 1999)

- Nếu ta sử dụng lệnh trơ Limit, kết quả như sau:

như vậy kết quả 12 + 1921 64(1 3/ ) sau khi rút gọn là 2548

+ Kết quả của Maple (Maple Output) sẽ được đưa ra màn hình, thường là màu xanh cô ban sau khi nhấn phím Enter “” để thực hiện câu lệnh

1.1.5 Ứng dụng của Maple trong hình học.

Maple cung cấp hai gói công cụ để xử lý các bài toán trong hình học, đó là

các gói geometry cho hình học phẳng và gói geom3d cho hình học không gian.

Các hàm xử lý trong các gói công cụ này thực hiện các thao tác cơ bản để giải cácbài toán hình học như viết phương trình đường thẳng, mặt phẳng, mặt cầu, …, tínhdiện tích tam giác, tứ giác, hình tròn, …, tính khoảng cách từ một điểm tới một

Trang 15

đường thẳng hoặc một mặt phẳng … Nhìn chung, để giải được một bài toán hìnhhọc trong Maple, trong phần lớn các trường hợp, ta phải kết hợp các hàm xử lý cơbản lại với nhau để giải quyết yêu cầu của bài toán Trong phần dưới đây, chúngtôi không trình bày về cách thức sử dụng các hàm trong các gói công cụ trên màchỉ đưa ra một số ví dụ để chúng ta thấy được khái quát về ứng dụng của Mapletrong hình học.

Ví dụ 1.3.

Kiến thức về các đường côníc được trang bị cho học sinh cuối cấp ở bậctrung học phổ thông, để giúp cho học sinh và các thầy cô giáo có được công cụ họctập cũng như giảng dạy học phần này, Maple cung cấp gói công cụ

Student[Precalculus][ConicsTutor].

[>with(Student[Precalculus]):

[>ConicsTutor(x^2+4*y^2=1);

Trang 16

Ví dụ 1.4

Trong chương trình Toán ở bậc trung học cơ sở, rất nhiều bài toán có đề cậptới tam giác và các yếu tố liên quan tới tam giác như đường trung tuyến, đườngcao, đường trung trực, đường tròn nội tiếp, ngoại tiếp, bàng tiếp tam giác, …Vấn

đề đặt ra ở đây là làm thế nào để xác định được các yếu tố đó một cách nhanhchóng khi chỉ biết được tọa độ 3 đỉnh của tam giác Trong ví dụ sau muốn minhhọa việc tổng hợp các hàm cơ sở mà Maple cung cấp để giải bài toán tìm một sốyếu tố của tam giác khi biết tọa độ 3 đỉnh của tam giác đó

Quan sát mã chương trình dưới đây:

- Dựng đường tròn ngoại tiếp một tam giác: circumcircle()

T

Trang 17

- Dựng đường tròn nội tiếp một tam giác: incircle()

T

- Dựng đường tròn bàng tiếp tam giác: excircle()

Trang 18

- Dựng giao điểm giữa đường thẳng và đường tròn khi biết các phươngtrình của chúng:

Đối với đường thẳng x +y = 1 và đường tròn x2 + y2 =1

[> line(l, x + y = 1, [x,y]); circle(c, x^2 + y^2 = 1, [x,y]);

intersection(P, l, c,[M,N]); detail(P);

draw({l,c});

- Dựng giao điểm của hai đường tròn khi biết phương trình của chúng:Với hai đường tròn c1có tâm (0,0) bán kính 1; và c2 có tâm O(2,0) bánkính 1.5

[> circle(c1, x^2 + y^2 = 1, [x,y]);

Trang 19

- Tìm toạ độ trọng tâm G của tam giác ABC: centroid()

Tam giác ABC có 3 đỉnh A(1,7), B(2,8), C(9,12)

[>tamgiac:=[point(A,1,7),point(B,2,8),point(C,9,12)];

centroid(tamgiac,G); coordinates(G);

- Tìm toạ độ trực tâm H của tam giác ABC: orthocenter()

Tam giác ABC có 3 đỉnh A(3,4), B(2,5), C(9,1)

[>tamgiac:=[point(A,4,3),point(B,2,5),point(C,9,1)];

orthcenter(H,tamgiac);coordinates(H);

- Viết phương trình đường trung tuyến mA của tam giác ABC: median()

Tam giác ABC có 3 đỉnh A(3,4), B(2,5), C(9,1), hãy viết phương trìnhđường trung tuyến mA của tam giác ABC

Trang 21

1.2 Định nghĩa cơ sở Groebner

1.2.1 Định nghĩa cơ sở Groebner

1.2.1.1 Thứ tự từ

* Thứ tự, giả thứ tự:

Định nghĩa Quan hệ R trên tập X được là một thứ tự (bộ phận), nếu nó thỏa mãn

điều kiện sau đây đối với mọi x, y, z ∈ X

(i) x R x (tính chất phản xạ)

(ii) Nếu x R y và y R z thì x R z (tính chất bắc cầu)

(iii) Nếu x R y và y R x thì x = y (tính chất phản đối xứng)

* Từ khởi đầu, đơn thức đầu:

Kí hiệu R = K[ ] và là tập đơn thức của nó

Định nghĩa Cho là một thứ tự từ và f R = K[ ] Từ khởi đầu của f, kí

hiệu là (f), là từ lớn nhất của đa thức f đối với thứ từ

Nếu (f) = , 0 K , thì được gọi là hệ số đầu và

đơn thức đầu của f đối với thứ tự từ

Trang 22

Nếu thứ tự từ đã được ngầm hiểu, ta sẽ viết in(f) (t.ư 1c(f), 1m(f) thay

* Iđêan khởi đầu:

Khái niệm sau là xuất phát điểm hình thành lí thuyết cơ sở Groebner

Định nghĩa Iđêan khởi đầu:

• Cho I là iđêan của R và ≤ là một thứ tự từ Iđêan khởi đầu của I, kíhiệu là in≤(I), là iđêan của R sinh bởi từ dấu của các phần tử của I, nghĩa là :

in≤(I) = (in≤(f)│f ∈ I)

• Cũng như trên ta sẽ viết in(I) thay vì in≤(I) nếu ≤ đã rõ

• Rõ ràng cũng có in(I) = (lim(f)│f ∈ I), nên in(I) là iđêan đơn thức

1.2.1.2 Cơ sở Groebner

Định nghĩa Cơ sở Groebner:

• Cho ≤ là một thứ tự từ và I là một iđêan của I, tập hữu hạn các đa

thức khác không g1,…, gs ∈ I được gọi là một cơ sở Groebner của I đối với thứ tự

từ ≤, nếu:

Trang 23

in≤(I) = (in≤(g1) ,…, in≤(gs)).

Tập g1, …, gs ∈ I được gọi là cơ sở Groebner là cơ sở chuẩn tắc Từ bổ đềDickson suy ra mọi iđêan đều có cơ sở Groebner (hữu hạn)

Chú ý ở đây ta luôn hiểu cơ sở như một hệ sinh Tuy nhiên ở định nghĩa trênchưa thấy rõ liệu bản thân g1, …, gs có phải là cơ sở của I hay không ?

Kết quả sau đây khẳng định điều đó:

Ví dụ 1.8.

Cho I = (xy, x3) ⊆K [x,y] và f1 = xy, f2 =5xy - y3 Cho x > y, khi đó in≤ rlex(f1

) = in≤ glex(f2) = xy, nên { f1, f2} không là cơ sở Groebner của I đối với ≤ glex, vì in≤ glex(I) = (I) Tuy nhiên, in≤ glex(f1) = in≤ rlex(f1) = xy, in≤ rlex(f2) = y3 và in≤ glex (I) = in≤ rlex(I)

= (I) nên f1, f2 là cơ sở Groebner của I đối với thứ tự từ điển ngược

1.2.2 Đại số hóa định lý hình học trên Maple.

Ý tưởng của việc áp dụng cơ sở Groebner để chứng minh định lí hình học sơcấp xuất phát từ nhận xét: Khi biểu diễn các hình hình học trong tọa độ Descartesvuông góc thì hầu hết các hình hình học hoặc biên của nó có thể xem là các khôngđiểm của các đa thức và các quan hệ giữa chúng đều có thể mô tả bằng phương trình

đa thức Như vậy, có thể đại số hóa một số định lí hình học thành bài toán sau đây:

Giả thiết: Cho hệ phương trình

f1 = 0, f2 = 0, … , fs = 0 (*)Kết luận: Khi đó mọi nghiệm thực của hệ (*) phải thỏa mãn các phương trình:

g1 = g2 = … = gr = 0

Ở trên fi, gj là các đa thức với hệ số thực Tập biến được chia làm hai loại:biến độc lập (không xuất hiện trong các fi) và biến phụ thuộc

1.2.3 Quy trình chứng minh định lý hình học trên Maple

Quy trình chứng minh định lý hình học trên Maple được tóm tắt thông quacác bước sau đây:

Bước 1: Đại số hóa bài toán hình học

Bước 2: Chạy trên phần mềm Maple tìm cơ sở Groebner của iđêan (f1 = 0,

…, fs , 1- yg) với chú ý xem các biến độc lập như tham số

Bước 3: Cơ sở Groebner của iđêan (f1 = 0 , … , fs , 1-yg) chứa các đa thức 1

Trang 24

khi và chỉ khi định lí hình học cần chứng minh là đúng.

Chú ý:

Nếu tại bước 2 ta vẫn xem các biến độc lập là biến, thì tại bước 3 nếu cơ sởGroebner của iđêan (f1 = 0, …, fs, 1- yg) chứa đa thức 1 hoặc chứa đa thức chỉ chứabiến độc lập, thì ta vẫn kết luận được định lí hình học cần chứng minh là đúng Tuynhiên điều ngược lại chỉ đúng nếu ta chọn thứ tự từ khử đối với các biến không độclập và y (chẳng hạn dùng plex và xếp các biến độc lập ở sau cùng)

1.2.4 Cơ sở Groebner trong Maple

Mục này chúng tôi xin trình bày một số lệnh của Maple 9.5 trong việc ứngdụng cơ sở Groebner để giải một số bài toán hình học phẳng đó là gói Groebner

Để sử dụng được gói lệnh này phải gọi nó ra bằng cách đánh:

[>with(Groebner);

Trong Maple lệnh bắt đầu bằng “[>” và kết thúc bằng dấu “;” Một khi góiGroebner được chạy ta có thể thực hiện thuật toán chia, tính cơ sở Groebner vàthực hiện các lệnh mô tả đưới đây

Trong Maple, một thứ tự từ được gọi là một termorder Khi xét các thứ tự từ

dễ sử dụng nhất là thứ tự từ điển ngược Thứ tự từ điển được gọi là plex (tức “pure lexicographic”) và thứ tự từ điển ngược được gọi là tdeg (tức “total degree”), cẩn thận nhầm lẫn tdeg với glex Maple cần biết termorder muốn dùng (plex hay tdeg)

và một danh sách các biến

Ví dụ 1.9 Để Maple sử dụng thứ tự từ điển với các biến x> y > z, ta cần nhập plex

(x, y, z)

Gói này cũng biết một thứ tự từ khử Để khử k biến đầu tiên từ x1, … , xn, có

thể sử dụng lexdeg ([ x_1,…,x_k], [x_{k+1}, …,x_n]) (nhớ rằng Maple bao quanh

một số danh sách dấu ngoặc [ … ])

Các lệnh sử dụng phổ biến trong gói Groebner của Maple là normalf để thực hiện thuật toán chia và gbasis để tính một cơ sở Groebner Trên normalf tương ứng

với “normal form” và lệnh có cú pháp như sau:

[>normalf(f,polylist,term_order);

Kết quả là phần dư của f trong phép chia cho các đa thức trong danh sách

polylist sử dụng thứ tự từ quy định bởi term_order.

Trang 25

Ví dụ 1.10 Để chia x3+3y2 cho x2+y và x+2xy sử dụng thứ tự từ điển ngược với x

> y, sẽ nhập:

[>normalf(x^3+3*y^2, [x^2+y,x+2*x*y],tdeg(x,y));

Cho kết quả 3y2+x/2 Trường cơ sở ở đây là những trường số hữu tỷ Q Chú

ý rằng normalf không cho được các thương trong thuật toán chia.

Ta có thể đoán trước được, gbasic tương ứng với “Grobner basis” và cú

Nếu bạn sử dụng các đa thức với hệ số nguyên hay hữu tỷ trong normalf hay

gbasic, Maple sẽ giả định rằng bạn đang thực hiện trên trường Q Chú ý rằng ở đây

không giới hạn trên kích thước của các hệ số Để Maple cố định một biến trongtrường cơ sở (một tham số), bạn chỉ cần bỏ qua nó trong danh sách các biến trongterm_order Do đó,

[> gbasic(v* x^2+y,u*x*y+ y^2], plex(x,y));

Sẽ tính một cơ sở Groebner của (v x2+y, uxy+y2) Q(u,v)[x,y] với thứ tự từđiển với x > y

Một số lệnh phổ biến khác trong gói Groebner là:

leadmon(f, term_order), để tính lm(f) và lc(f) của một đa thức f với quan hệ

term_order Lệnh liên quan là leadtem(f, term_order) để tìm lm(f) và leadcoeff(f,

Ngày đăng: 07/11/2014, 22:42

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w