A M T J SỐ 1- THÁNG 5/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL. No 01 - MAY, 2017

Size: px
Start display at page:

Download "A M T J SỐ 1- THÁNG 5/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL. No 01 - MAY, 2017"

Transcription

1 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL No 01 - MAY, 2017 TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG SỐ 1- THÁNG 5/2017 Ban biên tập: Tran Henry (chủ biên) Nguyễn Hồng Quân Nguyễn Hoàng Hải Hoàng Hồ Nam Trần Việt Tuấn Tú

2 Lời Ban biên tập Thế giới ngày nay luôn coi trọng khoa học ứng dụng trong mọi lĩnh vực và xem đó là kim chỉ nam cho sự phát triển vươn xa của loài người. Vì vậy, khoa học không chỉ có những lí thuyết hàm lâm mà hầu hết đều có những ứng dụng rất thực tế, góp phần lớn làm thay đổi thế giới nơi chúng ta đã và đang sống, và hơn hết là khoa học ứng dụng phục vụ con người bay cao và bay xa hơn. Trên tinh thần đó, tạp chí Toán ứng dụng và Công nghệ (Applied Mathematics and Technology Journal - AMTJ) ra đời nhằm mục đích đi tìm câu trả lời về việc ứng dụng cho những lí thuyết đã có, đem đến cho bạn đọc cái hay, cái đẹp của khoa học ứng dụng, làm cho lí thuyết trở nên dễ hiểu với những minh họa bằng hình ảnh, chứng minh bằng những phần mềm máy tính và chỉ ra những ứng dụng của chúng trong kết hợp chặt chẽ với công nghệ thông tin. Hơn nữa, tạp chí được biên tập và xuất bản điện tử online miễn phí cùng vì một mục đích quan trọng nhất, đó là khơi gợi và nuôi dưỡng sự đam mê về STEM (Science Technology Engineering- Mathematics) cho mọi người và nhất là các bạn học sinh- sinh viên. Tạp chí còn là nơi chia sẻ, thảo luận về giáo dục, du học, học thuật và ứng dụng của các chuyên gia cũng như giúp bạn đọc có cái nhìn trực quan, rõ ràng và hiểu biết hơn về lí thuyết khoa học thông qua các ứng dụng. Bạn đọc: Tạp chí dành cho mọi người với bạn đọc chính là Học sinh cấp 2-3, sinh viên Đại học và Sau Đại học. Các bài viết cho tạp chí vui lòng gởi về theo địa chỉ minhthe5@gmail.com Thời gian: Hai tháng xuất bản một lần, số đầu tiên vào tháng 5/2017. Hình thức xuất bản: Tạp chí sẽ được xuất bản theo dạng ebook với định dạng pfd và chia sẻ online hoàn toàn miễn phí bao gồm tải về máy để xem offline hoặc xem online trực tiếp trên website. Bài báo của các tác giả sẽ được trình bày bằng tiếng Việt và tiếng Anh. Riêng phần các bài báo tiếng Anh được đăng theo sự đồng ý bởi Ban biên tập của Tạp chí The Electronic Journal of Mathematics and Technology, Radford University, Virginia, USA. Tạp chí gồm có các chủ đề: + Toán, khoa học ứng dụng + Công nghệ thông tin và công nghệ trong khoa học nói chung + Khoa học dữ liệu và thống kê, Toán kinh tế, tài chính. + Giáo dục, du học quốc tế. Trân trọng kính chào Henry Tran

3 MỤC LỤC PHẦN CÁC BÀI BÁO TIẾNG VIỆT - ARTICLES IN VIETNAMESE Trần Việt Tuấn Tú - Temple University, Pennsylvania, USA Lập trình Python tạo chat bot cho Facebook Messenger Phan Minh Hoàng, Vũ Hùng, Minh Hiếu - THPT Năng khiếu- Đại học Quốc gia Tp.HCM, Vietnam Mô hình tối ưu cho việc phân tuyến học sinh vào lớp Henry Trần - Pittsburgh, Pennsylvania,USA Các phương pháp sai phân hữu hạn cho phương trình đạo hàm riêng dạng Parabolic với lập trình MATLAB Hong Do (tổng hợp) - Wayne State University, Michigan, USA Giới thiệu về tối ưu hóa - Introduction to Optimization problems Nguyễn Trường Chấng - Nguyên Uỷ viên Hội Toán học Tp.HCM, Vietnam Tìm nghiệm gần đúng các phương trình toán học thông qua lập trình MATLAB và lập trình trên máy tính khoa học-đồ họa Texas Instrument TI- 83/84 Plus PHẦN CÁC BÀI BÁO TIẾNG ANH - ARTICLES IN ENGLISH Alasdair McAndrew Alasdair, Victoria University, Melbourne, Australia Using CAS calculators to teach and explore numerical methods - Sử dụng máy tính khoa học CAS để dạy và khám phá các phương pháp số Deane E. Arganbright - Divine Word University, Madang, Papua New Guinea Metric Spaces and Their Geometries via Excel - Các không gian Mêtric và ý nghĩa hình học của chúng thông qua phần mềm Microsoft Excel D. E. Bayleran, Darren J. Finnigan, Alaa Hạ Ali, Kyungyong Lee, Chris M. Locricchio, Matthew R. Mills, Daniel Puig-Pey Stiefel, The Minh Tran, Rafal Urbaniuk - Wayne State University, Michigan, USA Generic singularities on linear combinations of prescribed monomials in two variables. 111 Victoria Lang, Sang-Gu Lee, Jae Hwa Lee - Sungkyunkwan University, Korea Zombie Population Modelling Ildikó Perjési-Hámori - University of Pécs, Pécs, Hungary Teaching numerical methods using CAS - Dạy các phương pháp số sử dụng hệ thống tính toán đại số CAS Henry Tran - Wayne State University, Michigan, USA 3

4 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Finite Difference methods for Partial Differential Equations: Analysis and Implementation Ernesto Aranda, Jose Carlos Bellido - Universidad de Castilla - La Mancha Spain Introduction to Truss Structures Optimization with Python

5 Applied Mathematics and Technology Journal No 01, 05/2017 LẬP TRÌNH PYTHON TẠO CHAT BOT CHO FACEBOOK MESSENGER Trần Việt Tuấn Tú Department of Mathematics and Computer Science Temple University, Pennsylvania, USA TÓM TẮT Vào tháng 4 năm 2016, đội ngũ kĩ thuật của Facebook đã công bố việc cho phép lập trình viên tạo bot cho nền tảng Messenger, để hỗ trợ những trang (Pages) của doanh nghiệp hay cá nhân giao tiếp với người dùng một cách tự động (giống như robot tự động chat với người dùng).giả sư rằng, bạn mở một cửa hàng bán hàng online qua Facebook, mọi việc rất đơn giản nếu bạn chỉ có 10 khách hàng mỗi ngày và việc trả lời tin nhắn cho từng người về địa điểm giao hàng, mã hàng, hình sản phẩm không là vấn đề gì đối với bạn. Nhưng hãy tưởng tượng rằng, nếu bạn có 100 khách hàng mỗi ngày, việc phải đăng nhập vào Messenger của trang bán hàng, giải đáp từng thắc mắc về sản phẩm, cách thức giao hàng, địa chỉ nhận hàng trở nên cực kì mất thời gian và nhàm chán. Và cho dù bạn có hẳn một đội ngũ dịch vụ khách hàng để hỗ trợ người dùng trên Facebook, công việc vẫn rất nhàm chán và không tạo động lực làm việc. Facebook bot ra đời để giải quyết vấn đề đó. Vậy bot là gì? Chúng ta sẽ đi tìm câu trả lời cho vấn đề trên bằng lập trình Python cho Facebook Messenger. 1. Giới thiệu Hiểu một cách đơn giản, chat bot là một phần mềm chat tự động. Tức là khi bạn nhắn tin cho trang Facebook, sẽ không có người trả lời mà là một phần mềm trả lời thay với các tin năng hỗ trợ khách hàng đầy đủ và chuyên nghiệp. Điều này có lợi cho cả hai phía khách hàng và doanh nghiệp, vì doanh nghiệp sẽ tiết kiệm được thời gian trả lời mọi thắc mắc của cá nhân và giao cho bot trả lời; chỉ khi nào có chuyện khẩn cấp hay bot không trả lời được mới cần người thay. Về phía người dùng, bạn sẽ nhận được câu trả lời nhanh hơn với độ chính xác cao, đặc biệt với các câu hỏi về thông tin cơ bản như tên loại hàng, thời gian và địa điểm giao hàng. Sau đây là hình ảnh ví dụ chat bot của CNN-một tờ báo lớn của Mỹ. 5

6 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 CNN chat bot Bot có rất nhiều mức độ phức tạp. Nó có thể trả lời thông minh như con người với các thuật toán phức tạp về trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên, nhưng trong khuôn khổ bài viết này, chúng ta chỉ tìm hiểu cách tạo một con bot đơn giản cho Facebook Messenger với Python. Nhiệm vụ của chúng ta là tạo một chat bot phản hồi lại giống như nội dung của người gửi. Qua việc tạo một chat bot đơn giản như vậy, bạn sẽ hiểu hơn về quy trình tạo bot, cũng như một số khái niệm và kĩ thuật cơ bản trong việc phát triển ứng dụng giao tiếp với server Messenger của Facebook. Kiến thức cần thiết để tạo chat bot: Kiến thức cơ bản về Python (print, if/else, loop, class, function) Kiến thức cơ bản về web (HTTP request) Sử dụng hệ điều hành Unix như Linux, Mac OS X (Người dùng Windows có thể xem cách tạo máy ảo và cài đặt Ubuntu ở phần tham khảo) Text editor (Visual Studio Code, Sublime Text hay Vim) 2. Lập trình Python tạo chat bot 2.1. Tạo một app trên Facebook Developers Bạn hãy vào Facebook Developer s Quickstart và nhập tên mình thích. 6

7 Applied Mathematics and Technology Journal No 01, 05/2017 FB Quickstart Page Sau đó, ở phần Category chọn App for Messenger App for Messenger 7

8 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Sau đó, bạn sẽ được đưa đến trang settings của ứng dụng. Hãy mở một cửa sổ hay tab mới và tạo 1 Page mới trên Facebook. Mục đích của bước này là liên kết ứng dụng chat bot với một Page của Facebook. Sau khi tạo Page xong, vào lại trang Settings của App và ở phần Token Generation, chọn tên Page vừa tạo. Sau bước này, bạn sẽ có Page Access Token. Hãy lưu đoạn code này lại Thiết lập môi trường phát triển trong Python Bạn hãy mở cửa sổ Terminal trong hệ điều hành Unix tạo một folder mới cho project này. $ mkdir fb-bot-flask Sau đó, hãy theo hướng dẫn này để cài đặt pip và virtualenv cho Python: * How to to install pip: * How to install virtualenv: Sau khi có pip và virtualenv, truy cập vào folder fb-bot-flask và thiết lập môi trường: $ cd fb-bot-flask $ virtualenv venv Mục đích của việc dùng virtualenv là tạo một môi trường "ảo" trên máy tính để tránh xung đột với hệ thống khi cài các package bên ngoài. Ví dụ, bạn cần cài package Flask 0.10 nhưng trong hệ thống đang có Flask 0.12, như vậy việc cài Flask 0.10 chung môi trường cho hệ thống sẽ không tốt và dễ tạo các xung đột về sau. Sau khi thiết lập virtualenv hãy kích hoạt nó và install các package cần thiết và lưu nó lại trong file requirements.txt để dễ cài đặt lại sau này: \$ source venv/bin/activate (venv)\$ pip install flask requests (venv)\$ pip freeze > requirements.txt Sau bước này, chúng ta đã có gần như đủ điều kiện để phát triển chat bot. Tạo một file mới trong folder của project tên app.py và với nội dung sau: from flask import Flask import requests import os app = Flask( name / ) def index(): # Tra ve trang HTML voi dong chu "Hello World" return "Hello, World" if name == " main ": # Khoi chay app app.run(debug=true) 8

9 Applied Mathematics and Technology Journal No 01, 05/2017 Ở dòng 1 chúng ta import object Flask từ package flask để hỗ trợ cho việc tạo server đơn giản chạy trên nền Python. app.route( / ) và hàm index() là để trả về một trang HTML cơ bản với dòng chữ "Hello World" khi người dùng truy cập địa chỉ / trong trình duyệt. Bây giờ chúng ta có thể chạy thử ứng dụng: (venv) $ python app.py Truy cập địa chỉ bạn sẽ nhận được kết quả như thế này. Localhost Chúc mừng bạn! Đến được đây là bạn đã xong 50% của việc tạo chat bot. Tiếp đến chúng ta sẽ đi vào quy trình liên kết ứng dụng với Facebook. 3. Liên kết với Facebook Messenger 3.1. Kiến thức về giao thức HTTP Để có thể liên kết với server của Facebook, chúng ta sẽ cần tìm hiểu một chút về HTTP. HTTP (Hypertext Transfer Protocol) là tập hợp các quy tắc chuẩn cho việc biểu diễn dữ liệu và giao tiếp giữa hệ thống phân phối và là nền tảng của các trang web hiện đại. Trong đó, giao tiếp 9

10 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 phổ biến nhất là giữa máy chủ và khách hàng hay server-client. Để có dữ liệu, khách hàng sẽ gửi một yêu cầu HTTP tới máy chủ và nhận được phản hồi. Ví dụ: khi bạn truy cập vào bạn gửi một yêu cầu HTTP tới máy chủ của Google và Google phản hồi bạn bằng trang tìm kiếm. Đây là một khái niệm rất rộng, nhưng trong phạm vi của bài hướng dẫn này, chúng ta chỉ cần chú ý tới 2 loại yêu cầu HTTP cơ bản nhất là GET và POST. HTTP GET là gửi một yêu cầu đến máy chủ qua URL để lấy một tài nguyên hiện có, có thể là một trang HTML hay một file nhạc hay một file phim. HTTP POST là tạo ra một nguồn tài nguyên mới. Khi gửi yêu cầu HTTP POST, khách hàng sẽ gửi một lượng dữ liệu lên máy chủ. Phía trên khi truy cập với Python, chúng ta đã gửi yêu cầu HTTP GET tới máy chủ qua URL localhost. Có thể bạn sẽ thắc mắc máy chủ ở đâu vì mình chưa hề truy cập mạng Internet?! Vậy localhost là gì? Nói một cách dễ hiểu, khi bạn khởi chạy chương trình Python app.py bạn đã tạo một máy chủ nội bộ trong chính máy tính của bạn. Và máy chủ đó có thể được truy cập qua địa chỉ localhost với cổng Vậy điều này thì liên quan gì đến việc tạo chat bot? Câu trả lời là Facebook Bot hoạt động qua phương thức Webhook. Webhook có thể hiểu đơn giản là một quy tắc liên lạc giữa 2 ứng dụng qua HTTP POST. Hãy tưởng tượng bạn đi cà phê và gặp một bạn rất hấp dẫn. Bạn muốn tiếp cận với bạn đó để đi chơi và tìm hiểu nhiều hơn. Trong trường hợp đó, bạn sẽ đưa số điện thoại của mình cho bạn đó và nói, "Khi nào bạn muốn đi chơi thì gọi mình nhé, mình sẽ trả lời ngay tức thì!" Lúc đó WebHook chính là số điện thoại bạn đưa. Về mặt lý thuyết, Webhook là một HTTP POST callback. Trong khoa học máy tính, việc truyền callback vào một hàm mang ý nghĩa khi gọi hàm đó sẽ gọi callback ngay tức thời hoặc sau một khoảng thời gian rất ngắn. Trong ví dụ trên, khi bạn đó gọi điện thoại cho bạn bạn sẽ lập tức trả lời ngay. Hành động bạn trả lời bạn đó ngay là callback và số điện thoại là một Webhook. OK, bạn không cần nhớ và hiểu hết HTTP và WebHook đâu. Đề tài HTTP rộng lớn đến mức đủ để chia thành vài lớp trong chương trình đại học! 3.2. Tạo kết nối HTTP GET trong app.py: Trong file app.py, hãy thêm hàm sau sau /webhook, methods=[ GET ]) def verify(): if request.args.get("hub.mode") == "subscribe" and \ request.args.get("hub.verify_token") == os.environ["verify_token"]: challenge = request.args.get("hub.challenge") return challenge else: print Invalid GET request return Mục đích của đoạn code trên là xử lý những yêu cầu HTTP từ máy chủ Facebook. Để đăng ký một chat bot, máy chủ của Facebook sẽ đưa ra những phép thử với ứng dụng bằng việc gửi yêu 10

11 Applied Mathematics and Technology Journal No 01, 05/2017 cầu HTTP GET tới webhook của chúng ta. Yêu cầu HTTP GET đó bao gồm các cặp khoá giá trị (key - values). Ở đây có các key hub.mode - subscribe, hub.verify-token - VERIFY TOKEN và hub.challenge. VERIFY TOKEN là một đoạn mã xác nhận khi đăng kí webhook với Facebook. Mình sẽ chỉ bạn các set up VERIFY TOKEN sau. Sau khi kiểm tra giá trị subscribe và VERIFY TOKEN có tồn tại thì chúng ta trả về giá trị của khoá hub.challenge để xác nhận đã qua bài test thành công. Câu hỏi đặt ra là ứng dụng của chúng ta hiện giờ chỉ chạy trong nội bộ, vậy làm sao để Facebook có thể gửi yêu cầu qua mạng Internet? 3.3. Đưa ứng dụng ra bên ngoài Internet với ngrok Có rất nhiều cách đưa một ứng dụng ra ngoài Internet và truy cập từ public URL, và trong đa số trường hợp bạn sẽ phải thiết lập máy chủ Linux trên máy ảo, dùng các server engine khác nhau như Nginx hay dịch vụ như Heroku. Nhưng ở đây chúng ta sẽ nói về cách đơn giản nhất là dùng ngrok. Vậy ngrok là gì? ngrok là một công cụ giúp bạn kết nối localhost với Internet. Điều này có nghĩa khi thiết lập ngrok với localhost xong, một người khác ở một mạng khác có thể truy cập ứng dụng của bạn qua URL mà ngrok tạo ra. Tất nhiên đây là chỉ là giải pháp tạm thời chủ yếu dùng để kiểm thử phần mềm chứ không hề sử dụng lâu dài được. Trong khuôn khổ bài viết này, chúng ta chỉ quan tâm đến việc thiết lập server đơn giản cho chat bot nên ngrok đủ để thực hiện mục đích. Bạn có thể cài đặt ngrok ở đây: How to download Ngrok Sau khi cài đặt xong, chạy ngrok trong folder của project: $ngrok http 5000 Dòng lệnh này giúp liên kết với bên ngoài Internet. Cửa sổ Terminal sẽ trở thành giao diện quản lí và cho bạn URL để truy cập ứng dụng. 11

12 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 ngrok management interface Ở đây URL của mình là Đăng kí URL vừa tạo với Facebook Tại màn hình Settings của Apps, chọn Setup Webhook. Tại hộp thoại, nhập URL vừa được tạo ra đi kèm với /webhook như trường hợp của mình là Sau đó nhập Verify Token với bất kì cái gì bạn muốn nhưng phải đảm bảo dễ nhớ. Ở phần Subscription Fields chọn messages. Webhook setup Trước khi bấm Verify and Save, vào Terminal tại folder của project nhập verify token bạn chọn ở bước đăng kí và PAGE ACCESS TOKEN ở bước đầu Facebook tạo cho bạn: $ export VERIFY_TOKEN=TOKEN_MA_BAN_CHON $ export PAGE_ACCESS_TOKEN=page_access_token_facebook_cho_ban Save file và đảm bảo server đang chạy (python app.py). Click Verify and Save và chờ Facebook kiểm tra. Sau đó ở phần Select a page to subscribe your webhook to the page events chọn tên Page bạn tạo lúc nãy và Subscribe. Subscribe page Từ đây để giao tiếp với con bot bạn sẽ phải nhắn tin trên Page của mình. 12

13 Applied Mathematics and Technology Journal No 01, 05/ Xử lý yêu cầu HTTP POST của Facebook Mỗi lần bạn nhắn tin cho bot, Facebook sẽ gửi một yêu cầu HTTP POST tới Webhook với dữ liệu có dạng như sau: { "object":"page", "entry":[ { "messaging":[ { "message":{ "text":"tin nhan thu", "seq":20, "mid":"mid :7348aba4de4cfddf91" }, "timestamp": , "sender":{ "id":" " }, "recipient":{ "id":" " } } ], "time": , "id":" " } ] } Đây là dạng dữ liệu JSON, 1 kiểu dữ liệu rất phổ biến trong phát triển web. Ở đây bạn chỉ cần quan tâm đến 2 cái quan trọng nhất là data["entry"][["messaging"]["recipient"]["id] và data["entry"][["messaging"]["message"]["text"]. Để truy cập dạng dữ liệu này, chúng ta sẽ chuyển từ JSON thành dictionary trong Python. Sau khi lấy được dữ liệu từ Facebook, chúng ta sẽ gửi một yêu cầu HTTP POST về lại Facebook với nội dung muốn gửi cho ngừoi dùng. Như vậy sẽ có 2 yêu cầu HTTP POST: từ Facebook đến chúng ta và từ chúng ta đến Facebook. Trong file app.py, tiếp tục thêm đoạn code /webhook, methods=[ POST ]) def webhook(): # Lay du lieu tu Facebook data = request.json # Su dung dictionary de lay noi dung tin nhan va ID cua nguoi gui 13

14 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 for entry in data["entry"]: for event in entry["messaging"]: # Khong co tin nhan trong du lieu if message not in event: continue # Neu co tin nhan message = event["message"] # Bo qua tin nhan tu ung dung chung ta if message.get("is_echo", False): continue # Bo qua tin nhan khong co ngu canh if text not in message: continue # ID cua nguoi gui sender_id = event["sender"]["id"] # Noi dung tin nhan message_text = message["text"] # URL de chung ta gui yeu cau HTTP POST # Ve lai server cua Facebook request_url = params = { access_token : os.environ[ PAGE_ACCESS_TOKEN ] } # Gui yeu cau HTTP POST ve Facebook requests.post( request_url, params=params, headers={ Content-Type : application/json }, json={ recipient : { id : sender_id}, 14

15 Applied Mathematics and Technology Journal No 01, 05/2017 message : { text : message_text}}) print "DEBUG", message_text return "ok", 200 Các dòng trên để lấy nội dung tin nhắn và ID của ngừoi dùng. Vì con bot này đơn giản nên chúng ta chỉ cần phản hồi lại giống như nội dung của ngừoi gửi. Dòng requests.post... là để gửi yêu cầu HTTP POST đến server của Facebook. Qua đó Facebook sẽ làm con bot gửi tin nhắn về lại người dùng. Sau đây là một số hình ảnh demo: Moblie Demo 15

16 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Kết luận Xin chúc mừng! Bạn vừa tạo một chat bot đơn giản trên nền Facebook Messenger. Từ đây sẽ có nhiều hướng đi khác nhau. Bạn có thể điều chỉnh nội dung trả về cho người gửi phức tạp hơn và tuỳ vào nội dung gửi đi qua việc phân chia trường hợp hay sử dụng biểu thức chính quy hay áp dụng trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên để bot nói chuyện giống người hơn Tài liệu Một số links tham khảo: * Wit.ai - Một công cụ xử lý ngôn ngữ tự nhiên * HTTP Protocol * Lập trình Python * HTTP Protocol: Transfer Protocol * Facebook Messenger Bot tutorial: * Hướng dẫn viết chatbot cho Facebook: * What is WebHook? * Quick Start - Messenger Platform: * Install Ubuntu on Windows via VirtualBox: * Hypertext Transfer Protocol - Wikipedia The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems. * HTTP is the foundation of data communication for the World Wide Web en.wikipedia.org 16

17 Applied Mathematics and Technology Journal No 01, 05/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG MÔ HÌNH TỐI ƯU CHO VIỆC PHÂN TUYẾN HỌC SINH VÀO LỚP 6 Phan Minh Hoàng, Vũ Hùng, Minh Hiếu Trường THPT Năng khiếu - Đại học quốc gia Tp.HCM-Vietnam TÓM TẮT Giáo dục và đào tạo là một nhân tố quan trọng, đóng vai trò nồng cốt của một quốc gia, hay nói cách khác giáo dục chính là chìa khoá mở ra cho một quốc gia như Việt Nam có một cơ hội hoà nhập với toàn thế giới. Nước ta đã và đang từng ngày đẩy mạnh phát triển giáo dục và đạt được nhiều thành tựu nhất định Song, vẫn còn những vấn đề bất cập nhức nhối vẫn đang diễn ra âm thầm từng ngày mạnh mẽ đã tạo sự tiêu cực trong môi trường giáo dục nước nhà. Tiêu biểu nhất là vấn đề "chạy đua"để đưa các con vào các trường "điểm". Trong một cuộc khảo sát trực tuyến của báo Dân Trí với gần 20,000 người, hơn 62% phụ huynh thừa nhận đã dùng tiền hoặc quan hệ cá nhân để "chạy"trường tốt cho con mà trong đó có tới 31% học sinh không đạt tiêu chuẩn tuyển[1]. Vậy việc đưa ra một phương án phân tuyến phù hợp là một vấn đề cấp thiết và cũng như một bài câu hỏi khó cho Bộ giáo dục và đào tạo. Một cách phân tuyến phải đảm bảo được các yếu tố như số học sinh phân vào các trường phải phù hợp với điều kiện của các trường cũng như sự công bằng và các quyền lợi của học sinh. Vì vậy chúng tôi đã phát triển và đưa ra một số mô hình, sử dụng các thuật toán như cặp ghép hay quy hoạch tuyến tính, để có thể tự động đưa ra cách phân tuyến phù hợp với các dữ liệu về học sinh và trường học. 1. Bài toán đặt ra Chúng ta cần tìm phương án cho phân tuyến các học sinh tốt nghiệp tiểu học vào các trường cấp 2 trong cùng khu vực quận. Ta có thể phân một số lượng học sinh nhất định từ các trường tiểu học bất kì đến trường trung học bất kì. Do trong thực tế không gian của mỗi trường và cần một 17

18 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 kinh phí nhất định để hoạt động nên chúng ta sẽ có giới hạn trên và giới hạn dưới của của học sinh từng trường.do sự di chuyển của các học sinh tới trường học cũng có ảnh hưởng không nhỏ tới cách chọn phương án nên chúng ta có dữ liệu về thời gian di chuyển từ các trường tiểu học đến các trường trung học. Vậy chúng ta cần chọn trọng số các cạnh một cách hợp lý đề thỏa các điều kiện của trường và phải tối ưu theo các yếu tố khác. 2. Giả thiết Ta có các giả thiết cho bài toán như sau: 1. Do trường tiểu học không phân biệt trường chuyên hoặc thường nên ta giả sử các trường đều có các quyền lợi giống nhau và không có sự phận biệt giữa các trường. 2. Để việc phân bố trở nên hiệu quả ta nên coi học sinh của mỗi trường là một nhóm có vị trí địa lý giống nhau, nên ta giả sử học sinh sống gần trường tiểu học. 3. Trong trường hợp xấu nhất, các học sinh tốt nghiệp đều được phân vào một trường trung học cơ sở. 4. Số học sinh không học các trường trung học cơ sở trực thuộc sở là thấp và không đáng kể. 5. Các học sinh được chia thành 4 nhóm theo xếp loại học tập: Giỏi, Khá, Trung Bình, Yếu. 3. Xây dựng mô hình 3.1. Mô hình phân tuyến theo thời gian di chuyển và sự phân bố của học sinh Khi phân tuyến, đội tượng quan trọng nhất cần phải tối ưu là các học sinh. Một yếu tố quan trọng là thời gian di chuyển của các em đến trường. Vì vậy mô hình đầu tiên của chúng tôi được phát triển dựa trên vị trí của các học sinh vào các trường. 18

19 Applied Mathematics and Technology Journal No 01, 05/ Các biến số Ngoại trừ X i,j thì tất cả biến số ở trên đều là dữ liệu nhập vào từ thực tế. Chúng tôi sẽ dùng tài liệu thống kê "Số liệu tiếp nhận học sinh tiểu học vào trường Trung học cơ sở năm "[3] được trích từ báo "Thanh Niên"để phân tuyến học sinh trong khu vực quận Tân Bình, Thành phố Hồ Chí Minh. Việc áp dụng mô hình trên vào thực tế sẽ cho ta thấy khả năng ứng dụng của mô hình trong thực tế. 19

20 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Từ bảng số liệu trên, chúng tôi chỉ xét 6 trường THCS theo thứ tự từ 1 đến 6 đơn giản hóa việc tính toán cũng như giúp bài toán được gọn và dễ hiểu hơn. Từ đó, lập được ma trận dưới đây và dùng ngôn ngữ lập trình MATLAB để giải: Chúng tôi sẽ chỉ xét 3 trường Tiểu học là Ngô Sĩ Liên, Âu Lạc và Nguyễn Gia Thiều để đơn giản hóa việc tính toán cũng như giúp các bạn hiểu rõ nội dung mô hình. Dưới đây là ma trận thời gian di chuyển giữa 6 trường Tiểu học và 3 trường THCS (phút) 20

21 Applied Mathematics and Technology Journal No 01, 05/ Giải mô hình bài toán Đầu tiên hãy tiếp cận bài toán theo một cách trực tiếp nhất. Cho các danh sách các trường tiểu học và số lượng học sinh tốt nghiệp từ mỗi trường, danh sách các trường trung học cơ sở và các giới hạn trên và dưới của chỉ tiêu các trường đó., lập ra một kế hoạch phân tuyến sao cho các học sinh đều được phân vào một trường, và tổng thời gian để đi tới trường của các em là nhỏ nhất. Do chúng ta đã giả sử học sinh sống ở gần trường tiểu học, khoảng cách từ nhà một học sinh tiểu học trường i bất kì đến một trường trung học cơ sở j là Di,j. Từ bài toán trên ta có thể lập một phương pháp giải theo quy hoạch tuyến tính qua những điều kiện sau: Dưới đây chúng tôi xin đưa ra một hướng tiếp cận khác với bài toán. Bài toán không còn đưa về việc tối ưu thời gian nữa mà là một yếu tố quan trọng không kém trong công việc phân tuyến. Sau khi chúng tôi đã thử nghiệm mô hình trên với những dữ liêu từ quận Tân Bình, cụ thể hơn là trong 3 trường trung học cơ sở và 6 trường tiểu học bằng MATLAB. Chương trình tính ra kết quả. 21

22 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Có thể thấy kết quả tính ra cũng khá tương đồng với số lượng học snh được phân ra bởi sở. Với số lượng học sinh từ các trương Lê Văn Sĩ, Chi Lăng và Đống Đa là bằng nhau. Vậy ta có thể thấy do các yếu tố là các lớp tăng cường ngoại ngữ tạo thêm một số ràng buộc cho mô hình của chúng ta. Mở rộng 1 Với mô hình trên, chúng ta có thể phân tuyến học sinh phù hợp cho việc di chuyển đến trường. Song, không thể tối đa được chỉ tiêu thích hợp cho từng trường và học lực học sinh sẽ không đồng đều dẫn đến chênh lệch về chất lượng học sinh giữa các trường cũng như không đảm bảo được chất lượng giảng dạy. Nhận ra được vấn đề đó, chúng tôi đã phát triển thêm các mô hình mở rộng nhằm khắc phục những điểm chưa phù hợp của mô hình chính.trong trường hợp tất cả các học sinh học sinh tiểu học đã tốt nghiệp không vượt quá tất cả số học sinh cần tuyển vào trường trung học cơ sở: sau khi thử nghiệm với mô hình Mở rộng 2 Một tình huống khác sẽ gặp trong thực tế chính là số học sinh tốt nghiệp không đủ dẫn đến thiếu chỉ tiêu các trường hoặc vượt quá chỉ tiêu nhưng vẫn theo một tỉ lệ nhất định. Chúng tôi xây 22

23 Applied Mathematics and Technology Journal No 01, 05/2017 dựng mô hình này để bố trí số lượng học sinh hợp lí cho từng trưởng trong trường hợp này. Đặt ki là số học sinh trường trung học cơ ở i thiếu, ta có: Các điều kiện này có thể được giải bằng một biến thể của thuật toán CrissCross, một mở rộng của phương pháp đơn hình nhưng với hàm mục tiêu không cần phải là một hàm tuyến tính. Hoặc ta có thể giải bằng hàm fmincon() nếu sử dụng MATLAB Kết luận Với mô hình và các mở rộng trên ta có thể thấy ở mỗi phiên bản của bài toán ta chỉ tập trung tối ưu một yếu tố duy nhất của bài toán (thời gian di chuyển ở mô hình gốc và độ phân bố của các học sinh ở các trường ở trong phần mở rộng). Đây là hai hướng giải quyết hoàn toán khác nhau điều này dẫn đến khi chúng ta đang cố tối ưu một yếu tố sẽ dẫn đến việc yếu tố còn lại sẽ bị tệ đi rất nhiều. Trong thực tiễn nhưng mô hình này là không thực tế vì không kiểm soát được một yếu tố có thể đưa đến những tình huống bất khả thi. Vì vậy dựa vào những mô hình lý thuyết trên, chúng tôi đưa ra một mô hình thực tế hơn. Trên thực tế, chúng ta không cần cố đưa một yếu tố về cực tiểu mà chỉ cần nó bé hơn một giới hạn nào đó. Trong trường hợp này việc cố gắng tối ưu thời gian di chuyển là cực kì không càn thiết, chúng ta có thể hi sinh một vài giây hoặc vài phút để có thể cải thiển sự phân bố học sinh trong các trường một cách đáng kể. Vì vậy thay vì đặt tư tưởng là phải tối ưu cả hai hàm ta có thể thay một yếu tố thành điều kiện. Nếu vậy thì bài toán trên hoàn toàn có thể đặt lại như sau: 23

24 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Với TCap là chặn trên của thời gian. Đây là bài toán hoàn toàn giống như bài mở rộng 2 với điều kiện thêm là 3. TCap sẽ là một con số mà người dùng sẽ nhập tùy theo nhu cầu của họ. Theo chúng tôi đây là một mô hình thực tế vì người dùng có thể thử nhiều trường hợp của TCap để đưa ra các cách phân chia hợp lý tùy với các điều kiện khác của môi trường chứ không phải một kết quả cụ thể cho một tập input nhất định Mô hình trong trường hợp các học sinh có xêp loại học sinh Do chúng ta phân bô học sinh theo khoảng cách và độ phân bố nên có thể các trường đưa đến tình trạng ở các trường sẽ không đồng đều về số lượng học sinh ở các phân loại khác nhau. Ví dụ ở một trường số lượng học sinh giỏi sẽ trở nên quá nhiều và ít hơn ở các trường khác. Điều nãy dẫn đến sự thiếu cân bằng trong môi trường học tập. Vậy nên với các số liệu có sự chênh lệch lớn trong số liệu, chúng ta nên tìm một mô hình có thể tối ưu điều này nhưng đồng thời không được gây thiệt thòi cho các học sinh. Mô hình mà chúng tôi sau đây dựa trên ý tưởng xếp các học sinh vào theo tỉ lệ đầu ra của mỗi trường như tỉ lệ xếp loại học sinh lớp 9 tốt nghiệp từ trường. Chúng ta cần đưa các tỉ lệ này xấp xỉ nhau thê nên ta có thể đưa ra mô hình này: 24

25 Applied Mathematics and Technology Journal No 01, 05/2017 Và dựa vào những nhận xét đã đặt ra ở trên: Với mô hình trên nghiệm của chúng ta có thể là những số không nguyên, do khi áp dụng vào thực tế ta có thể bỏ qua những sai số nhỏ nên ta có thể làm tròn các kết quả đến số nguyên gần nhất nhưng vẫn bảo đảm được kết quả ứng dụng được vào thực tiễn Mô hình theo nguyện vọng học sinh Hai mô hình trên được phát triển từ ý tưởng tối ưu hóa thời gian di chuyển của các học sinh. Nhưng sau khi tham khảo một số tài liệu của một số quốc gia khác, điều này dẫn đến sự bất 25

26 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 công do các học sinh không được vào những ngôi trường mà mình yêu thích mà bị phân tuyến một cách cưỡng bức vào các trường gần nhà. Điều này tuy có tối ưu được các yếu tố như thời gian di chuyển hay tỉ lệ học sinh của các trường, nhưng lại làm gia tăng số lượng học sinh học những trường không mong muốn hoặc những ngôi trường không phù hợp. Hệ quả của việc này là sự gia tăng trong tham nhũng trong giáo dục, cha mẹ sử dụng tiền bạc và quan hệ để đưa con vào các trường mình muốn. Chính vì vậy, chúng tôi đã phát triển một mô hình mới dựa trên các nguyện vọng của học sinh, giảm thiểu tối đa việc học sinh bị phân vào các trường trái với mong muốn cũng như sự xuất hiện của các hiện tượng tiêu cực. Sau khi tìm hiểu thì chúng tôi tìm ra một mô hình tương tự để giải quyêt được tình trạng này, đó chính là mô hình hôn nhân ổn định của Gale-Shapley[2] Thuật toán cặp ghép ổn định Với mô hình này học sinh sẽ đánh giá các trường theo độ yêu thích. Do sự phân bố yêu thích của các học sinh sẽ không đồng đều với nhau nên chắc chắn không phải lúc nào cũng sắp xếp được các học sinh vào những trường mà họ muốn. Do vậy để cho công bằng chúng ta còn phải xếp hạng học sinh theo các tiêu chí, cụ thể trong đây có thể là điểm thi tốt nghiệp tiểu học của các em. Do các trường cũng không hề có thông tin gì khác về các học sinh nộp vào trường mình, ta có thể coi thứ tự điểm của các em cũng là thứ tự ưu tiên của các trường. Chúng ta sử dụng thuật toán sau vào mô hình: Bước 1: Xét học sinh từ điểm cao tới thấp, nếu trường xếp hạng cao nhất của họ còn chỉ tiêu thì xếp học sinh đó vào ngôi trường đó không thì coi như các học sinh đó bị loại ở bước 1. Với mô hình như vậy chúng ta sẽ bảo đảm các học sinh sẽ có cơ hội vào được trường yêu thích của mình. Xếp hạng các em sẽ cũng là động lực để các em cố gắng hơn nữa để có thể vô được ngôi trường mình yêu thích. Bước k: Chỉ xét các học sinh bị loại ở bước k 1. Xét học sinh từ điểm cao tới thấp, nếu trường xếp hạng cao thứ k của họ còn chỉ tiêu thì xếp học sinh đó vào ngôi trường đó không thì coi như các học sinh đó bị loại ở bước k. Sau khi đã thực hiện thuật toán trên thì tất cả học sinh đều đã tìm được một trường thích hợp cho mình. Thuật toán này đảm bảo các học sinh được phân bô theo trường mình thích và các trường cũng sẽ tuyển được những học sinh thích hợp. Thuật toán này bảo đảm được hai điều sau: 1. Nếu số học sinh không bé hơn tổng số chỉ tiêu của các trường thì các học sinh luôn có trường. Tức nếu M i=1 Ct i Num thì ở bước cuối của thuật toánsố học sinh bị loại bằng 0(với Cti là chỉ tiêu của trường i và Num là tổng số học sinh). 2. Đảm bảo sự phân chia luôn đảm bảo tính công bằng. Tính công bằng được tính là không tồn tại một cặp học sinh i và j vào trường Sc i và trường Sc j mà score i < score j nhưng q i, Sc i < q j, Scj (với score i là điểm tốt nghiệp học sinhivà q i,j là hạng độ yêu thích của trường j với học sinh i. Với mô hình như vậy chúng ta sẽ bảo đảm các học sinh sẽ có cơ hội vào đượctrường yêu thích của mình. Xếp hạng các em sẽ cũng là động lực để các em cố gắng hơn nữa để có thể vào được ngôi trường mình yêu thích. 26

27 Applied Mathematics and Technology Journal No 01, 05/ Ứng dụng trong thực tế Với mô hình trên nếu muốn biến đổi thành một cơ chế áp dụng được sẽ phải qua rất nhiều thay đổi do những yếu tố khác ảnh hưởng. Sau đây chúng tôi sẽ nói qua một số những thay đổi nhất định để phù hợp với những điều kiện trong thực tế: Do trong thực tế số lượng trường trung học cơ sở có thể rất lớn nên việc cho mỗi em học sinh xếp hạng tất cả các trường theo thứ tự là không khả thi. Vậy một biến đổi có thể là cho các học sinh đưa ra một danh sách các trường có giới hạn và theo thứ tự rồi giả sử độ yêu thích của các trường còn lại là bằng nhau. Do các trường còn lại có độ ưu tiên băng nhau, sau khi áp dụng thuật toán thì các học sinh dư còn lại có thể phân tối ưu theo mô hình 1. Do số lượng điểm thi phân biệt là hữu hạn và nhỏ hơn rất nhiều so với số học sinh nên có thể khi các trường gần tới giới hạn một số học sinh bằng điểm nhau có thể lại có những kết quả khác nhau vậy đem lại kết quả không công bằng. Do vậy có thể một trường có thể không cố định số lượng tuyển sinh mà có thể có một phần trăm học sinh có thể nhận thêm nếu có trường hợp có những học sinh bằng điểm. Điều này sẽ công bằng hơn trong thực tế và tránh sự ưu tiên về các yếu tố khác. Do không phải trường nào cũng muốn nhấn mạnh về học tập nên việc chỉ xét điểm tốt nghiệp là điều không hợp lý. Vì thế ta có thể để các trường quyết định về một số cách để xếp hạng hồ sơ để có thể đa dạng hóa các chỉ tiêu cũng như cho các em có định hướng tốt hơn về một số yếu tố khác ngoài chỉ việc học thuật. 4. Đánh giá mô hình và ứng dụng vào thực tế Ở mô hình 1, chúng ta tập trung vào việc tối ưu hai yếu tố là thời gian và sự phân bố học sinh trong các trường trung học cơ sở. Điều này giúp cho tỉ lệ phân bố các học sinh giữa các trường là đồng đều nhau, không làm cho một số trường dư hoặc thùa chỉ tiêu tối ưu một cách quá đáng. Ngoài ra việc tối ưu hóa thời gian bằng biến chặn có thể cho người sử dụng mô hình có thể linh hoạt điều chỉnh thời gian giới hạn để có thể tối ưu các yếu tố khác một cách dễ dàng hơn ở các trường hợp cụ thể khác nhau. Ngoài ra chúng tôi còn đưa ra một mô hình biến thể của mô hình một nhằm có thể phân chia các học sinh, sao cho chất lượng học sinh của mỗi trường là phù hợp với các yếu tố của trường đó nhất. Tuy nhiên, tất cả các biến thể và mở rộng này đều không dựa trên các yếu tố đến từ phía học sinh. Điều này phần nào làm cho việc phân tuyến trở nên ép buộc và sẽ khiến cho sẽ mất cơ hội phát triển ở những môi trường phù hợp với các em học sinh. Ngoài ra với các điều kiện thêm vào như các lớp ngoại ngữ hay năng khiếu sẽ làm mô hình trở nên khó kiểm soát. Ở mô hình 2, chúng ta tập trung giải quyết những bất cập mà mô hình 1 có thể mang lại. Việc không được học trong môi trường phù hợp có thể dẫn đến việc các em học sinh và cha mẹ các em không hài lòng với việc phân tuyến và cảm thấy bất công. Điều này sẽ dẫn đến các vấn đề tiêu cực như sử dụng các quan hệ để đưa con em mình vào những ngôi trường phù hợp. Vì vậy, việc đưa ra một mô hình dựa trên sự yêu thích của học sinh là một giải pháp của chúng tôi với vấn đề này. Mô hình tối ưu các lựa chọn của các em học sinh sẽ phần nào đặt sự yêu thích của học sinh lên trên cùng giúp cho các em có cơ hội nhiều hơn để vô được những trường phù hợp với mục tiêu của từng bạn. Ngoài ra sự ưu tiên việc xét tuyển theo năng lực sẽ phần nào giúp các học sinh có động lực để trau dồi và hoàn thiện bản thân để có thể vô được môi trường mình thích. Ngoài ra các trường được đặt các chỉ tiêu khác ngoài năng lực học 27

28 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 vấn cũng giúp trường dễ dàng nhận những học sinh phù hợp với những hướng phát triển riêng. Tuy nhiên, việc phân theo các năng lực và nguyện vọng như vậy sẽ gây ra sự phân bố không đồng đều giữa các trường về học sinh. Trong trường hợp tệ nhất, một trường có thể nhận các học sinh hoàn toàn khác với tiêu chí đề ra của trường. Khi áp dụng vào thực tế khó có một mô hình cụ thể nào có thể luôn đưa ra được cách sắp xếp tối ưu cho bài toán. Tuy nhiên, với tình hình hội nhập hiện nay, các học sinh được tiếp cận với những thứ mình yếu thích dễ dàng hơn bao giờ hết. Điều này khiến cho việc đưa ra một mô hình có thể tối ưu về niềm đam mê và sự yêu thích của các em là quan trọng hơn cả. Tuy nhiên để có thể áp dụng được mô hình này một cách tối ưu trong thực tế thì những cải tiến và biến thể là cần thiết. Các điều kiện như giới hạn lại các nguyên vọng, hay kết hợp với mô hình 1 như chúng tôi đã nói ở trên là một hướng hoàn toàn khả thi cho một phương pháp phân tuyến phù hợp với tình hình hiện nay. 5. Phụ lục Mô hình tuyến tính Các biến của hàm: 28

29 Applied Mathematics and Technology Journal No 01, 05/ Tài liệu tham khảo Tài liệu [1] VN-FINAL.pdf [2] design/gale shapley college admissions.pdf [3] 30/khtsphantuyenqtanbinhUOBK.pdf 29

30 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 CÁC PHƯƠNG PHÁP SAI PHÂN HỮU HẠN CHO PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG Henry Tran Wayne State University, Michigan, USA LỜI GIỚI THIỆU TỪ BAN BIÊN TẬP Bài viết của tác giả Henry Tran có nguyên bản là tiếng Anh, có ba phần chính gồm: Lý thuyết và ứng dụng lập trình MATLAB trong phương trình Parabolic. Lý thuyết và ứng dụng lập trình MATLAB trong phương trình Hyperbolic. Lý thuyết và ứng dụng lập trình MATLAB trong phương trình Elliptic. Chúng tôi trích đăng nguyên bản các bài báo từ tạp chí Epsilon theo đề nghị của tác giả, mở đầu là Parabolic. 1. Giới thiệu Chúng ta sử dụng phương trình đạo hàm riêng (Partial Differential Equations, ký hiệu là PDEs) để biểu diễn cho nhiều hiện tượng vật lý trong thực tế, trong toán học và trong vật lý lý thuyết. Trong bài viết này, chúng ta sẽ tập trung vào phương trình đạo hàm riêng trên phương trình truyền nhiệt, phương trình Laplace, phương trình sóng, phương trình Poisson, phương trình Helmholtz, v.v. Thông thường, với mỗi dạng phương trình đạo hàm riêng, chúng ta sẽ áp dụng các phương pháp số để tìm nghiệm gần đúng với các điều kiện biên cho trước, và các sai số, độ hội tụ của nghiệm gần đúng tìm được và nghiệm chính xác. Ở đây, chúng ta sẽ áp dụng hai phương pháp sai phân hữu hạn (Finite Difference Method) là: phương pháp tường minh (Explicit method) và một phương pháp khác cao cấp hơn là phương 30

31 Applied Mathematics and Technology Journal No 01, 05/2017 pháp Crank-Nicolson (viết tắt là CNM). Chúng ta sẽ dùng một dạng đơn giản nhất của bài toán PDFs dạng Parabol, đó là phương trình truyền nhiệt. Chúng ta sẽ dùng phương pháp sai phân hữu hạn cho phương trình sóng trong bài toán PDEs dạng Hyperbolic. Cuối cùng là phương trình Helmholtz trong bài toán PDEs dạng Elliptic để xem xét tính ổn định và hội tụ của nghiệm. Thông qua việc biểu diễn đồ họa của các phương trình đã nêu và tính toán bằng phần mềm lập trình cho toán ứng dụng MATLAB trong không gian hai chiều và ba chiều, chúng ta sẽ so sánh được các phương pháp ở các khía cạnh nhất định. Hơn nữa, dựa vào các giá trị khác nhau của các bước không gian h và các bước thời gian k, cũng như các điều kiện biên, chúng ta có thể xác định được tính ổn định, tính hội tụ của các nghiệm qua các dạng của bài toán PDEs. Chúng ta sẽ lập trình với phần mềm MATLAB để hỗ trợ trong việc tính toán và biểu diễn các nghiệm trong bài toán PDEs bằng các đồ thị. MATLAB phiên bản 14 là một công cụ mạnh cho toán ứng dụng, nó còn chứa các công thức, bảng công cụ dành cho phương trình đạo hàm riêng. Trong tính toán chúng ta sẽ lập trình cho các bài toán PDEs bằng các câu lệnh trong MATLAB qua việc sử dụng các hàm tính toán. Cuối cùng, thông qua các sự so sánh, chúng ta cũng biểu diễn được tính ứng dụng của các phương pháp sai phân hữu hạn trong mỗi vấn đề, nêu được các kết quả tuỳ thuộc vào tính ổn định và tính hội tụ. 2. Các bài toán dạng Parabolic 2.1. Phương trình đạo hàm riêng dạng Parabolic Một phương trình đạo hàm riêng bậc hai có dạng a 2 u x 2 + 2b 2 u xy + c 2 u y 2 + d u x + e u y + f = 0 được gọi là bài toán Parabolic nếu như ma trận [ ] a b M = b c thỏa mãn điều kiện det (M) = ac b 2 = 0. Từ phương trình trên, ta có thể viết ra dạng đơn giản nhất của PDEs trong bài toán Parabolic của không gian 1 chiều, còn gọi là phương trình truyền nhiệt: u t = u a 2 x 2 31

32 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 trong đó 0 x L, 0 t T, x = i x, t = j t, i = 1, n, j = 1, m. Với L: Độ dài cho trước. T: Thời gian cho trước. x: Bước độ dài. t: Bước thời gian. Chúng ta có hai điều kiện biên là u (0, t) = b và u (L, t) = c Phương pháp tường minh (Explicit method) Phương pháp tường minh sử dụng công thức Xét phương trình u t = u a 2 x 2 32

33 Applied Mathematics and Technology Journal No 01, 05/2017 Chúng ta sẽ bắt đầu với định lý Taylor theo biến h trong công thức tổng quát f (x + h, y) = n k=0 f (k) (x, y) k! h k + f (n+1) (ξ, y) h n+1 (n + 1)! với ξ (x, x + h). Do đó, hàm số f có dạng f (x + h, y) = f (x, y) + hf x (x, y) h2 f (ξ, y) có thể đưa về dạng f x (x, y) = 1 h [f (x + h, y) f (x, y)] 1 2 hf (ξ, y) hoặc xấp xỉ thành f x (x, y) 1 [f (x + h, y) f (x, y)]. h Tương tự, ta cũng có các kết quả sau f (x h, y) = f (x, y) hf x (x, y) h2 f xx (x, y) 1 3! h3 f (ξ) và f (x + h, y) = f (x, y) + hf x (x, y) h2 f xx (x, y) + 1 3! h3 f (ξ). Cộng từng vế các đẳng thức, ta có biểu thức của f xx (x, y) là f xx (x, y) = 1 [f (x + h y) 2f (x, y) + f (x h, y)]. h2 Tiếp theo, ta có phương trình đạo hàm riêng với số bước độ dài h trong không gian và giá trị k theo thời gian là u xx (x, t) = 2 u (x, t) x 2 = 1 [u (x + h, t) 2u (x, t) + u (x h, t)] h2 và Suy ra với các điều kiện u t = u (x, t) t = 1 [u (x, t + k) u (x, t)]. k 1 h [u (x + h, t) 2u (x, t) + u (x h, t)] = 1 [u (x, t + k) u (x, t)] (1) 2 k a = 1. h là độ dài của mỗi bước không gian (space steps). k là giá trị của mỗi bước thời gian (time steps). 33

34 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Hình minh họa bên dưới biểu diễn bốn điểm của phương trình (1) ở trên Phương trình (1) còn có thể viết thành dạng trong đó σ = k h 2. u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t) (2) Chúng ta có điều kiện ổn định cho bài toán dạng parabolic là: σ = k h Công thức tường minh theo dạng ma trận Chúng ta sử dụng phương trình (1) với bốn điểm như sau: u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t). Bằng cách viết u j = [u 0j, u 1j, u 2j,..., u nj ] T thì phương trình (2) có thể đưa về dạng với các giá trị i, j cho hàm u như sau: u i,j+1 = σ u i+1,j + (1 2σ) u i,j + σ u i 1,j. trong đó u (x i, t j ) = u ij = u (idx, jdt) và i = 1,..., n; j = 1,..., m. Bây giờ chúng ta sẽ viết phương trình (2) thành dạng ma trận là: 34

35 Applied Mathematics and Technology Journal No 01, 05/2017 u j+1 = Au j trong đó A = 1 2σ σ 0 0 σ 1 2σ σ 0 σ 1 2σ σ σ σ σ 0. σ 1 2σ σ 0 0 σ 1 2σ Phương trình truyền nhiệt: bài toán mẫu và lập trình tính toán Xét hệ sau u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sin πx 2 trong đó 0 x 1, 0 t 1. Chúng ta được phương trình vi phân với các tham số h, k là 1 h [u (x + h, t) 2u (x, t) + u (x + h, t)] = 1 [u (x, t + k) u (x, t)] 2 k u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t) Điều kiện ổn định ở đây là σ = k h

36 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Ví dụ và lập trình tính toán Xét ví dụ sau u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sin πx Chọn L = 1, T = 0.25, h = dx = L n x = ; k = dt = T n t = trong đó 2 n t là số bước thời gian. n x là số bước độ dài. dt là giá trị của bước mỗi thời gian. dx là độ dài của mỗi bước không gian. Chúng ta sẽ áp dụng công thức tường minh để giải phương trình truyền nhiệt bởi Nghiệm gần đúng được tính bởi công thức σ = k h 2 = dt dx 2. u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t). Trong khi đó, nghiệm chính xác là u exact (x, t) = e π2t sin πx. Tiếp theo là lập trình tính toán (xem thêm phần Phụ lục bên dưới). Chúng ta có kết quả của nghiệm gần đúng bởi phương pháp tường minh và nghiệm chính xác tại T = 0.25 trong đồ thị sau. Theo cách hình học, chúng ta sẽ vẽ đồ thị của các nghiệm với các giá trị cố định của k = 1 n t = và các giá trị khác nhau của h = 1 n x với n x = 4, 8, 16, 32 rồi sau đó biểu diễn chúng trên cùng một mặt phẳng hai chiều, ta có 36

37 Applied Mathematics and Technology Journal No 01, 05/

38 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Đồ thị của nghiệm gần đúng bởi phương pháp tường minh và nghiệm chính xác với h = 1 n x n x = 4, 8, 16, 32 và T = 0.25 với 38

39 Applied Mathematics and Technology Journal No 01, 05/2017 Minh họa của nghiệm gần đúng bởi phương pháp tường minh trong không gian 3 chiều Minh họa của nghiệm chính xác trong không gian 3 chiều 39

40 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Phương pháp Crank-Nicolson Dựa vào phương trình 1, ta biến đổi lại như sau 1 h [u (x + h, t) 2u (x, t) + u (x h, t)] = 1 [u (x, t) u (x, t k)], 2 k trong đó r = 2 + s, s = h2. Tiếp theo, ta viết nó dưới dạng k u (x h, t) + ru (x, t) u (x + h, t) = su (x, t k). Do đó, ta ký hiệu thành su i,j 1 = u i 1,j + ru i,j u i+1,j. Bốn điểm biểu diễn của công thức như hình bên dưới Đặt b i = su (x, t k), từ phương trình (2), chúng ta viết lại dạng ma trận thành r u 1 b 1 1 r u 2 b r.. 0. u 3 b = r 1 u n 2 b n r u n 1 b n 1 Phương trình có thể viết thành dạng đơn giản như dưới đây b j = Mu j trong đó r 1 M = r r r 1 1 r 40

41 Applied Mathematics and Technology Journal No 01, 05/ Ví dụ Xét ví dụ sau đây Chọn các tham số u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sin πx 2 trong đó L = 1, T = 0.25; h = dx = L nx = ; k = dt = T nt = ; n x = 2 4 n t = 2 10 n t là số bước thời gian. n x là số bước không gian. dt là giá trị của mỗi bước thời gian. dx là độ dài của mỗi bước không gian. Ta áp dụng phương pháp sai phân hữu hạn để giải phương trình truyền nhiệt r = 2 + s, s = h2 k, b i = su (x, t k), u (x h, t) + ru (x, t) u (x + h, t) = su (x, t k) Lập trình tính toán. Chúng ta có kết quả của nghiệm gần đúng bởi phương pháp Crank-Nicolson và nghiệm chính xác với T = 0.25 trong đồ thị minh họa. Nghiệm chính xác là u exact (x, t) = e π2t sin πx. Theo cách hình học, chúng ta sẽ vẽ đồ thị của nghiệm với các giá trị cố định k = 1 n t = 1 và 2 10 các giá trị khác nhau của h = 1 n x với n x = 4, 8, 16, 32 và mô tả trong các hình minh họa sau 41

42 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 42

43 Applied Mathematics and Technology Journal No 01, 05/2017 Minh họa cho nghiệm gần đúng bởi phương pháp Crank-Nicolson từ các giá trị khác nhau của h và nghiệm chính xác. 43

44 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Minh họa của nghiệm gần đúng bởi phương pháp Crank-Nicolson trong không gian 3 chiều. Minh họa của nghiệm chính xác trong không gian 3 chiều. 44

45 Applied Mathematics and Technology Journal No 01, 05/ Quá trình hội tụ của các nghiệm Ta sẽ so sánh giữa nghiệm chính xác, nghiệm cho bởi phương pháp tường minh và phương pháp. Crank-Nicolson 3.1. Ví dụ Xét ví dụ sau Nghiệm chính xác là u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sin πx 2 Các điều kiện biên ban đầu là: u exact (x, t) = e π2t sin πx, tại T = u (x, 0) = sin πx u (0, t) = 0 u (1, t) = 0 Chúng ta sẽ dùng chuẩn vô hạn (infinity norm) để tìm các sai số của nghiệm: u exact u h C h α u exact u h = max 0 j n (u u h) (x j ) trong đó u exact : là nghiệm chính xác. u h : là các nghiệm gần đúng. α : là độ hội tụ của nghiệm. Sai số giữa nghiệm gần đúng và nghiệm chính xác của phương pháp sai phân hữu hạn e = u exact u h = max 0 j n (u u h) (x j ). 45

46 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Độ hội tụ Từ việc tìm ra các sai sốt của nghiệm, ta có thể tìm ra độ hội tụ của nghiệm (α 2 i) bởi công thức. Tổng quát, ta có e 2 i e 2 (i+1) = ( h2 i h 2 (i+1) α 2 i = log 2 ( e2 i e 2 (i+1) ) α2 i ). = ( 1 ) α2 i 2 i 1 2 i+1 = 2 α 2 i Với i = 2, ta có công thức như sau: trong đó e 4 e 8 = ( h4 h 8 ) α4 = ( 1/4 1/8 ) α4 = 2 α 4 α 4 = log 2 ( e4 e 8 ), e 2 i, i = 1, n: là sai số giữa các nghiệm gần đúng và nghiệm chính xác. α 2 i : là độ hội tụ của các nghiệm Lập trình tính toán (xem thêm phần Phụ lục bên dưới) Chúng ta có bảng các giá trị hội tụ của các nghiệm gần đúng và nghiệm chính xác từ hai phương pháp trên là: trong đó: The errors of the explicit method and the exact solution: các sai số của các nghiệm theo phương pháp tường minh và nghiệm chính xác. 46

47 Applied Mathematics and Technology Journal No 01, 05/2017 The order of the explicit and exact solution: Độ hội tụ của các nghiệm theo phương pháp tường minh và nghiệm chính xác. The errors of the CN method and the exact solution: các sai số của của các nghiệm theo phương pháp Crank-Nicolson và nghiệm chính xác. The order of the CN method and the exact solution: Độ hội tụ của các nghiệm theo phương pháp Crank-Nicolson và nghiệm chính xác. 4. Kết luận Trong phần này, chúng ta đã trình bày phương pháp sai phân hữu hạn cho PDEs trong Parabolic với dạng đơn giản nhất, đó là phương trình truyền nhiệt. Bằng cách tính toán và biểu diễn bằng đồ thị theo các giá trị của h và k, chúng ta đã thấy được các giá trị khác nhau cũng như các đồ thị khác nhau của hàm u. Điều này chứng tỏ độ ổn định và độ hội tụ của nghiệm. Hơn nữa, chúng ta cũng có thể áp dụng một dạng khác của phương pháp sai phân hữu hạn, đó là phương pháp Crank- Nicolson để biểu diễn tính ổn định và tính hội tụ của nghiệm (do tính ổn định của phương pháp), và do đó chúng ta có thể sử dụng các giá trị lớn của k. Phần này còn biểu diễn các sai số của nghiệm gần đúng và nghiệm chính xác trong hai phương pháp (tường minh và Crank-Nicolson) bằng các giá trị khác nhau của h và với giá trị cố định của k. Điều này cũng thể hiện được tính xấp xỉ của nghiệm gần đúng. Xét về mặt giải tích, chúng ta không thể biết được nghiệm chính xác của hai phương pháp sai phân hữu hạn ở trên, quá trình hội tụ trong bảng trên cho biết sai số và độ hội tụ của các nghiệm trong hai phương pháp, mặc dù hai phương pháp này cho các kết quả khác nhau nhưng chúng luôn hội tụ về nghiệm chính xác. Xét về mặt hình học, chúng ta biểu diễn kết quả của ba nghiệm bao gồm nghiệm gần đúng của phương pháp tường minh, phương pháp Crank-Nicolson và nghiệm chính xác trên cùng một đồ thị với các giá trị khác của h. trong không gian 2 chiều. Trong không gian ba chiều, chúng ta đã biểu diễn được hai đồ thị trong mỗi phương pháp và chúng cho ta thấy rõ dáng điệu của hình ảnh các đồ thị của các nghiệm. Phương trình truyền nhiệt được sử dụng trong việc mô phỏng các hiện tượng vật lý và nó cũng thường dùng trong toán tài chính để mô hình hóa các sự lựa chọn. Một ứng dụng nổi tiếng của nó là phương trình vi phân của mô hình định giá Black Scholes. Hơn thế nữa, phương trình PDE parabolic có nhiều ứng dụng trong phương trình Diffusion, chuyển động Brownian, phương trình Schrödinger, v.v. 47

48 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Phụ lục 5.1. Chương trình MATLAB 1: Phương pháp tường minh và nghiệm chính xác function fdm_para(l,t,nt,nx) % Matlab Program 1 : The explicit method and the exact solution %L = 1.; % Length of space %T = 0.25; % Length of time %Parameters needed to solve the equation within the explicit method %Choose nt= 2^10. Number of time steps dt = T/nT; %dt = 2^(-10); %nx = 2^4; %Choose nx= 2^4. Number of space steps dx = L/nx; %Change with dx = h = 1/4,1/8,... s = (dx^2)/dt; r = 2 + s; sigma = dt/(dx^2) %Stability parameter (sigma = <1/2) %Initial temperature of the wire: %initilalize u u = zeros(nx+1,nt+1); u2 = zeros(nx+1,nt+1); x = zeros(nx+1,1); b = zeros(nx+1,1); time = zeros(nt+1,1); for i = 1:nx+1 x(i) = (i-1)*dx; u(i,1) = u0(x(i)); end % Temperature at the boundary (t=0) for k = 1:nT+1 u(1,k) = 0; u(nx+1,k) = 0.; time(k) = (k-1)*dt; end % Implementation of Finite Difference method by matrix form A = zeros(nx-1,nx-1); A(1,1) = 1-2*sigma; A(1,2) = sigma; A(nx-1,nx-2) = sigma; A(nx-1,nx-1) = 1-2*sigma; for i = 2:nx-2 % Matrix form A(i,i) = 1-2*sigma; A(i,i+1) = sigma; A(i,i-1) = sigma; end 48

49 Applied Mathematics and Technology Journal No 01, 05/2017 for k = 1:nT %Time Loop u(2:nx,k+1) = A*u(2:nx,k); end %Implementation of the exact equation for i = 1:nx+1 for k=1:nt+1 u2(i,k) = exact_u(x(i),time(k)); end end %Graphical representation of the temperature at different selected times % Plot explicit method in 2D plot(x,u(:,nt), -k, MarkerFaceColor, k ); hold on %Plot the exact solution in 2D plot(x,u2(:,nt), -b, MarkerFaceColor, b ); hold on xlabel( x ) ylabel( temperature ) legend({ Explicit method Exact solution }, location, NE ); title( The explicitmethod & the exact solution for h=1/32, at T=0.25 ) hold off % Plot explicit method in 3D figure mesh(x,time,u ) title( Temperature within the explicit method for h=1/32,at T=0.25 ) xlabel( x ) ylabel( time ) zlabel( Temperature ) %Plot the exact solution in 3D figure mesh(x,time,u2 ) title( Temperature within the exact solutions for h=1/32,at T=0.25 ) xlabel( x ) ylabel( time ) zlabel( Temperature ) Nghiệm chính xác function u2 = exact_u(x,t) u2 = exp(-(pi^2)*t)*sin(pi*x); end 49

50 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Trong đó, chúng ta sử dụng chương trình con để tính : function u = u0(x) % Initial condition u = sin(pi*x); 5.2. Chương trình MATLAB 2: Phương pháp Crank-Nicolson và nghiệm chính xác function cn_para(l,t,nt,nx) %Matlab Program 2 : The Crank-Nicolson method and the exact solutions %L = 1.; % Length of the wire %T = 0.25; % Final time % Parameters needed to solve the equation %Choose nt= 2^10. Number of time steps dt = T/nT; %dt = 2^(-10); nt is fixed 2^10 %nx = 2^4; %Choose nx= 2^4. Number of space steps dx = L/nx; %Change with dx =h = 1/4,1/8,... s = (dx^2)/dt; r = 2 + s; % Initial temperature of the wire % Initilalize u u = zeros(nx+1,nt+1); u2 = zeros(nx+1,nt+1); x = zeros(nx+1,1); b = zeros(nx+1,1); time = zeros(nt+1,1); for i = 1:nx+1 x(i) = (i-1)*dx; u(i,1) = u0(x(i)); end %Temperature at the boundary (t=0) for k = 1:nT+1 u(1,k) = 0; u(nx+1,k) = 0.; time(k) = (k-1)*dt; end %Implementation of the exact equation for i = 1:nx+1 for k = 1:nT+1 u2(i,k) = exact_u(x(i),time(k)); end 50

51 Applied Mathematics and Technology Journal No 01, 05/2017 end %Implementation of the Crank - Nicolson method by matrix M = zeros(nx-1,nx-1); M(1,1) = r; M(1,2) = -1; M(nx-1,nx-2) = -1; M(nx-1,nx-1) = r; for i = 2:nx-2 M(i,i) = r; M(i,i+1) = -1; M(i,i-1) = -1; end for k = 2:nT+1 %Time Loop u(2:nx,k) = M\(s*u(2:nx,k-1)); error2 = max(abs(u2(2:nx,k) - u(2:nx,k))); end disp(error2); %Graphical representation of the temperature at different selected times figure %Plot the exact solution in 2D plot(x,u2(:,nt), -k, MarkerFaceColor, k ); hold on %Plot Crank -Nicolson method in 2D plot(x,u(:,nt), -r, MarkerFaceColor, r ); hold off %Plot Crank -Nicolson method in 3D figure mesh(x,time,u ) title( Temperature within the Crank-Nicolson method for h=1/32,at T=0.25 ) xlabel( x ) ylabel( time ) zlabel( Temperature ) %Plot the exact solution in 3D figure mesh(x,time,u2 ) title( Temperature within the exact solutions for h=1/32,at T=0.25 ) xlabel( x ) ylabel( time ) zlabel( Temperature ) Nghiệm chính xác function u2 = exact_u(x,t) 51

52 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 u2 = exp(-(pi^2)*t)*sin(pi*x); end Trong đó, chúng ta sử dụng chương trình con để tính function u = u0(x) % Initial condition u = sin(pi*x); Tài liệu [1] W. Cheney., D. Kincaid Numerical Mathematics and Computing, Sixth edition. Belmont. CA: Thomson, [2] E.K.P. Chong, S.H. Zak., An Introduction to Optimization, Second edition. New York: John Wiley & Sons, Inc. [3] R. J. Lopez Advanced Engineering Mathematics. Addison Wesley. [4] G.E. Forsythe., W.R.Wasow Finite Difference Methods for Partial Differential Equations. New York: John Wiley & Sons, Inc. [5] G.F.D. Duff., D. Naylor Differential Equations of Applied Mathematics. New York: John Wiley & Sons, Inc. [6] G.F.D. Duff., D. Naylor Differential Equations of Applied Mathematics. New York: John Wiley & Sons, Inc. [7] R. J. LeVeque Finite Difference Methods for Ordinary and Partial Differential Equations. Philadelphia: SIAM. [8] E.D. Rainville., P.E. Bedient., R.E. Bedient Elementary Differential Equations, Eight edition. New Jersey: Prentice Hall. Inc. [9] S.C. Chapra., Applied Numerical Methods with Matlab for Engineers and Scientists, Third edition. New York: McGraw-Hill. [10] P.D.Lax., Hyperbolic Systems of Conservation Laws and the Mathematical Theoryof Shock Waves. Society for Industrial and Applied Mathematics, Philadelphia, 1973.,October 8. [11] B.L.Keyfitz., Self-similar solutions of two-dimensional conservation laws. Journal of Hyperbolic Differential Equations,

53 Applied Mathematics and Technology Journal No 01, 05/2017 [12] W. Boyce and R.D. Prima., Elementary Differential Equations and Boundary Value Problems. John Wiley & Sons Ltd., Hoboken, N.J., Eight edition, [13] L.C. Evans., Partial Differential Equations, volume 19 of Graduate Studies in Mathematics. American Mathematical Society, Providence, RI, Second edition, [14] R. Haberman., Applied Partial Differential Equations. Prentice Hall Inc., Upper Saddle River, N.J., Fourth edition, [15] T. Myint-U, L. Debnath., Linear Partial Differential Equations for Scientists and Engineers. Birkhauser Boston Inc., Boston, MA, Fourth edition, [16] F. John., Partial Differential Equations, volume 1 of Applied Mathematica Sciences. Springer-Verlag, New York, Fourth edition, [17] M. A. Pinsky. Partial Differential Equations and Boundary Value Problems with Applications. Waveland Press Inc., Prospect Heights, Illinois, Third edition, [18] I. P. Stavroulakis, S. A. Tersian. Partial Differential Equations. World Scientific Publishing Co. Inc., River Edge, NJ, second edition, An introduction with Mathematica and MAPLE. [19] W. A. Strauss. Partial Differential Equations. John Wiley & Sons Ltd., Chichester, Second edition, [20] S.Attaway., MATLAB: A Practical Introduction to Programming and Problem Solving, Elsevier Science, Burlington, MA, [21] D. Hanselma, B. Littlefield., Mastering MATLAB 7, Prentice Hall, Upper Saddle River, NJ, [22] C. B. Moler., Numerical Computing with MATLAB, SIAM, Philadelphia, [23] W. J. Palm, A Concise Introduction to MATLAB, McGraw-Hill, New York,

54 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 GIỚI THIỆU VỀ TỐI ƯU HÓA INTRODUCTION TO OPTIMIZATION PROBLEMS Hong Do (tổng hợp) Wayne State University, Michigan, USA TÓM TẮT 1. Giới thiệu Tối ưu hóa, còn được biết đến như Quy hoạch Toán học, là một tập hợp các quy luật và phương pháp dùng để giải quyết các bài toán định lượng trong rất nhiều lĩnh vực như vật lý, sinh học, kỹ thuật, kinh tế và quản trị kinh doanh. Môn học này bắt nguồn từ nhận thức rằng các vấn đề định lượng trong nhiều lĩnh vực hoàn toàn khác nhau lại có chung những yếu tố toán học quan trọng. Nhờ có những điểm chung này, các vấn đề được phát biểu và giải quyết bằng cách dùng một tập hợp thống nhất bao gồm các ý tưởng và phương pháp tạo nên ngành tối ưu hóa. Thuật ngữ Quy hoạch Toán học, thường được sử dụng tương đương với Tối ưu hóa, được đặt ra vào những năm Quy hoạch Toán học nghiên cứu cấu trúc toán học của các bài toán cực trị, phát minh ra các phương pháp để giải quyết các bài toán này, nghiên cứu tính chất toán học của các phương pháp và áp dụng chúng cho máy tính. Các máy tính nhanh hơn đã giúp giải những bài toán cực trị với kích thước và độ phức tạp cao hơn rất nhiều. Sự phát triển của các kỹ thuật tối ưu song song với sự tiến bộ của không chỉ riêng ngành khoa học máy tính, mà còn các ngành vận trù học, giải tích số, lý thuyết trò chơi, toán kinh tế, lý thuyết điều khiển và toán tổ hợp. Các bài toán cực trị nói chung có ba yếu tố cơ bản. Yếu tố thứ nhất là một đại lượng số, gọi là hàm mục tiêu, cần được cực tiểu hóa (tìm giá trị nhỏ nhất) hoặc cực đại hóa (tìm giá trị lớn 54

55 Applied Mathematics and Technology Journal No 01, 05/2017 nhất). Hàm mục tiêu có thể là mức sinh lời trong đầu tư chứng khoán, chi phí sản xuất hay lợi nhuận của một công ty, thời gian đến đích của một chiếc xe hay tỷ lệ phiếu bầu cho một ứng viên chính trị. Yếu tố thứ hai, đó là một tập hợp các ẩn. Đây là các đại lượng có giá trị thay đổi được nhằm tối ưu hóa hàm mục tiêu, chẳng hạn như các cổ phiếu mua vào hoặc bán ra, các lượng tài nguyên cần phân phối cho các hoạt động sản xuất khác nhau, tuyến đường đi cho một chiếc xe trong một mạng giao thông hay các chủ trương chính sách của một ứng cử viên. Yếu tố cơ bản thứ ba trong một bài toán cực trị là một tập hợp các ràng buộc. Đây là các điều kiện giới hạn những giá trị mà các ẩn có thể nhận, chẳng hạn như một quá trình sản xuất chỉ có thể dùng một lượng giới hạn các lượng nguyên vật liệu, và đương nhiên không thể không sử dụng tới các nguyên vật liệu đó. Với ba yếu tố căn bản này, các bài toán cực trị có nhiều tính chất toán học khác nhau. Các bài toán trong đó các ẩn là các đại lượng liên tục (như trong ví dụ về phân phối tài nguyên) đòi hỏi một cách tiếp cận khác với các bài toán trong đó các ẩn rời rạc hay là các đại lượng tổ hợp (như trong ví dụ về lựa chọn một tuyến đường trong số các tuyến đường đã được xác định từ trước). Một lớp các bài toán cực trị quan trọng chính là quy hoạch tuyến tính. Tuyến tính có nghĩa rằng không một ẩn nào được nâng lũy thừa, chẳng hạn như bình phương. Trong lớp này, các bài toán yêu cầu cực tiểu hóa (hoặc cực đại hóa) một hàm mục tiêu tuyến tính với ẩn là các số thực bị ràng buộc phải thỏa mãn một hệ các phương trình hoặc bất phương trình. Một lớp quan trọng khác của tối ưu hóa là quy hoạch phi tuyến. Trong quy hoạch phi tuyến, các ẩn là các số thực, và hàm mục tiêu hay một số điều kiện ràng buộc là các hàm phi tuyến (tức là có thể chứa bình phương, căn bậc hai, các hàm lượng giác hoặc tích của các ẩn). Trong bài viết này, chúng ta sẽ chỉ thảo luận chủ yếu đến quy hoạch tuyến tính. Các lớp quan trọng khác của tối ưu hóa không được thảo luận trong bài viết này bao gồm Quy hoạch Ngẫu nhiên, trong đó hàm mục tiêu hoặc các ràng buộc phụ thuộc vào các biến ngẫu nhiên và khiến cho các kết quả cực trị mang tính chất kỳ vọng, hay tính chất xác suất; Quy hoạch Mạng, trong đó tối ưu một tính chất nào đó của một dòng chạy trên mạng, ví dụ như tối đa hóa lượng nguyên liệu chuyên chở giữa hai vị trí xác định nào đó trên mạng lưới; và cuối cùng là Tối ưu Tổ hợp trong đó đáp án phải được tìm trong số một tập hữu hạn nhưng chứa rất nhiều các giá trị, chẳng hạn như các cách bố trí 20 nhà máy ở 20 vị trí khác nhau. 2. Quy hoạch tuyến tính Nguồn gốc và sự ảnh hưởng Mặc dù được sử dụng rộng rãi ngày nay để giải quyết các bài toán thường ngày, quy hoạch tuyến tính hầu như chưa được biết đến trước năm Không có công trình nghiên cứu có ý nghĩa nào xuất hiện trước thời điểm này, mặc dù nhà toán học người Pháp Joseph Fourier dường như đã biết đến tiềm năng của môn học này ngay từ năm Năm 1939, một nhà toán học người Nga, Leonid Vitalyevich Kantorovich, đã xuất bản cuốn chuyên khảo Các phương pháp toán học để tổ chức và kế hoạch sản xuất, tài liệu mà ngày nay được coi như là chuyên luận đầu tiên nhận thức rằng các lớp rộng lớn và quan trọng của các bài toán kế hoạch có các cấu trúc toán học hoàn toàn xác định. Không may là các phát biểu này của Kantorovich vẫn hầu như chưa được biết đến cả ở Xô Viết và khắp nơi trên thế giới trong gần hai thập kỷ. Trong khi đó, quy 55

56 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 hoạch tuyến tính đã khá phát triển ở Mỹ và Tây Âu. Trong khoảng thời gian Thế chiến II, các nhân viên chính phủ Mỹ đã tin rằng sự định hướng hiệu quả các nguồn năng lượng và tài nguyên của toàn quốc gia trong sự kiện chiến tranh hạt nhân sẽ đòi hỏi phải sử dụng các kỹ thuật quy hoạch một cách khoa học. Sự xuất hiện của máy tính giúp cho cách tiếp cận đó trở nên khả thi. Một nghiên cứu tập trung đã được bắt đầu vào năm 1947 tại lực lượng Không quân Mỹ. Mô hình quy hoạch tuyến tính được đề xuất bởi nó khá đơn giản xét về mặt toán học, trong khi vẫn cung cấp một mô hình đủ thực tiễn và bao quát nhằm biểu diễn các hoạt động phụ thuộc lẫn nhau và cùng chung các nguồn tài nguyên khan hiếm. Trong mô hình quy hoạch tuyến tính, người mô hình hóa xem các hệ cần tối ưu hóa như là được tạo thành từ các hoạt động khác nhau, và giả sử rằng chúng đòi hỏi một dòng các nguyên liệu vào (ví dụ như nguồn lao động và các vật liệu thô) và kết quả ra (ví dụ như hàng hóa và dịch vụ) ở nhiều dạng khác nhau tỉ lệ với mức độ hoạt động. Mức độ hoạt động được giả sử là biểu diễn được bằng các số không âm. Điểm cách mạng hóa của cách tiếp cận này nằm ở việc biểu diễn mục đích của quá trình đưa ra quyết định thông qua việc tối thiểu hóa hoặc tối đa hóa một hàm mục tiêu tuyến tính, chẳng hạn như tối đa hóa số lần bay xuất kích trong Không quân, hay tối đa hóa lợi nhuận trong công nghiệp. Trước năm 1947, tất cả các kế hoạch thực tiễn đều là một chuỗi các quy định về cách thức tiến hành và ưu tiên được áp dụng một cách cửa quyền. Các mục tiêu chung chưa bao giờ nêu rõ, có lẽ lý do chính là vì không thể thực hiện được các tính toán cần thiết nhằm tối thiểu hóa hàm mục tiêu dưới các điều kiện ràng buộc. Năm 1947, một phương pháp (sẽ được thảo luận trong mục Phương pháp Đơn hình) đã được giới thiệu với khả năng giải quyết các bài toán thực tiễn một cách hiệu quả. Sự quan tâm tới quy hoạch tuyến tính tăng lên nhanh chóng và cho tới năm 1951, ứng dụng của nó đã trải tới ngành công nghiệp. Ngày nay, ta hầu như không thể tìm ra một ngành công nghiệp nào mà không dùng tới quy hoạch tuyến tính theo một cách nào đó, mặc dù các cách ứng dụng và mức độ ứng dụng khác nhau rất nhiều, ngay cả ở trong cùng một ngành công nghiệp. Sự quan tâm tới quy hoạch tuyến tính cũng lan đến ngành kinh tế. Năm 1937, nhà khoa học sinh tại Hungary tên là John von Neumann đã phân tích một nền kinh tế mở rộng vững chắc dựa trên các phương pháp sản xuất lựa chọn được và các hệ số công nghệ cố định. Trong toán học, cho tới trước năm 1936, các hệ bất phương trình tuyến tính hoàn toàn không được quan tâm nghiên cứu. Năm 1911, cách di chuyển từ đỉnh này tới đỉnh kia dọc theo các cạnh của một đa diện (như trong phương pháp đơn hình) được đưa ra như là một cách giải quyết bài toán cực trị, và vào năm 1941 cách giải đi dọc theo các cạnh được đề xuất để giải một bài toán trong vận chuyển. Người có công lao to lớn trong việc đặt nền tảng toán học cho quy hoạch tuyến tính chính là von Neumann. Năm 1928, ông xuất bản bài báo nổi tiếng về lý thuyết trò chơi, và nghiên cứu của ông đạt tới đỉnh cao vào năm 1944 với việc xuất bản Lý thuyết trò chơi và hành vi kinh tế, một cuốn sách cộng tác cùng nhà kinh tế người Áo Oskar Morgenstern. Năm 1947, von Neumann phỏng đoán sự tương đương của quy hoạch tuyến tính và các trò chơi ma trận với sự giới thiệu một khái niệm quan trọng là tính đối ngẫu và đưa ra một số phát biểu về lời giải số của các bài toán quy hoạch tuyến tính và trò chơi. Sự quan tâm đặc biệt của các nhà toán học khác tới quy hoạch tuyến tính bắt đầu vào năm 1948 với sự phát triển toán học một cách chặt chẽ của tính đối ngẫu và các vấn đề liên quan. Phương pháp đơn hình tổng quát lần đầu được lập trình năm 1951 cho máy tính SEAC của cục tiêu chuẩn quốc gia Mỹ. Từ năm 1952, phương pháp đơn hình đã được lập trình để sử dụng trong nhiều máy tính IBM khác nhau và sau đó là máy tính của các công ty khác. Kết quả là các 56

57 Applied Mathematics and Technology Journal No 01, 05/2017 ứng dụng thương mại của quy hoạch tuyến tính trong công nghiệp và chính phủ tăng lên nhanh chóng. Các kỹ thuật tính toán mới và biến thể của các kỹ thuật cũ tiếp tục được phát triển. Gần đây hơn, có rất nhiều sự quan tâm tới việc giải các bài toán tuyến tính cồng kềnh với các cấu trúc đặc biệt, chẳng hạn như các mô hình tập đoàn và các mô hình quy hoạch quốc gia với nhiều tầng lớp là động và chúng cho thấy một cấu trúc phân cấp. Người ta ước tính rằng các nước đang phát triển sẽ có tiềm năng tăng tổng sản lượng quốc gia (GNP) từ 10% đến 15% mỗi năm nếu các mô hình phát triển kinh tế chi tiết được xây dựng, tối ưu hóa và tiến hành. 3. Lý thuyết và Phương pháp 3.1. Ý tưởng cơ bản Một bài toán đơn giản trong quy hoạch tuyến tính là bài toán trong đó cần tìm giá trị lớn nhất (hoặc nhỏ nhất) của một hàm đơn giản dưới một số điều kiện ràng buộc. Ví dụ như một nhà máy sản xuất hai loại mặt hàng. Mỗi lượt sản xuất, nhà máy tạo ra x 1 sản phẩm thuộc mặt hàng thứ nhất và x 2 sản phẩm thuộc mặt hàng thứ hai. Nếu lợi nhuận của loại mặt hàng thứ hai lớn gấp đôi loại thứ nhất, thì x 1 + 2x 2 là tổng lợi nhuận. Hàm x 1 + 2x 2 gọi là hàm mục tiêu. Rõ ràng là lợi nhuận sẽ cao nhất nếu nhà máy sản xuất toàn loại mặt hàng thứ hai. Tuy nhiên trong thực tế việc này có thể không thể làm được; một tập các ràng buộc được đưa ra dựa trên các nhân tố như thời gian làm việc của máy móc, nhân lực và các nguyên vật liệu. Ví dụ như nếu loại mặt hàng thứ hai đòi hỏi một nguyên liệu có hạn dẫn tới không thể sản xuất ra nhiều hơn 5 sản phẩm mỗi lượt, thì x 2 phải nhỏ hơn hoặc bằng 5, tức là x 2 5. Nếu loại mặt hàng thứ nhất đòi hỏi một nguyên liệu có hạn khác khiến cho mỗi lần chỉ sản xuất ra tối đa 8 sản phẩm, thì x 1 8. Nếu cùng tốn một khoảng thời gian để sản xuất ra x 1 và x 2 và máy móc chỉ cho phép sản xuất ra tối đa 10 sản phẩm mỗi lượt, thì x 1 + x 2 phải nhỏ hơn hoặc bằng 10, tức là x 1 + x Hai ràng buộc khác là x 1 và x 2 phải lớn hơn hoặc bằng 0, bởi vì không thể tạo ra âm sản phẩm, tức là x 1 0 và x 2 0. Bài toán trở thành tìm giá trị củax 1 và x 2 để lợi nhuận thu được là tối đa. Bất kỳ đáp án nào cũng có thể biểu diễn được bằng một cặp số (x 1, x 2 ), ví dụ nếu x 1 = 3 và x 2 = 6 thì đáp án là (3, 6). Những số này có thể biểu diễn được bằng các điểm trên mặt phẳng. Do có các điều kiện ràng buộc, các nghiệm khả thi (các giá trị có khả năng là đáp án) phải nằm trong một vùng xác định trên mặt phẳng. Ví dụ, ràng buộc x 1 0 có nghĩa là các điểm biểu diễn nghiệm khả thi nằm trên hoặc bên phải của trục tung x 2. Tương tự, ràng buộc x 2 0 nghĩa là chúng cũng phải nằm trên hoặc bên trên trục hoành x 1. Tất cả các ràng buộc sẽ cho ra miền nghiệm khả thi, là một đa giác tạo thành từ các đường thẳng x 1 = 0, x 2 = 0, x 1 = 8, x 2 = 5 vàx 1 + x 2 = 10. Ví dụ, sản xuất ra 3 sản phẩm thuộc mặt hàng thứ nhất và 4 sản phẩm thuộc mặt hàng thứ hai là một nghiệm khả thi vì điểm (3, 4) nằm trong miền nghiệm khả thi này. Tuy nhiên, để tìm lời giải tốt nhất thì hàm mục tiêu x 1 + 2x 2 = k sẽ được vẽ trên đồ thị với một giá trị nào đó của ki, chẳng hạn k = 4. Khi k tăng dần lên, một họ các đường song song được tạo ra và đường thẳng cho k = 15 vừa hay chạm vào miền nghiệm khả thi tại điểm (5, 5). Nếuk tiếp 57

58 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 tục tăng lên thì các giá trị của x 1 và x 2 sẽ nằm ngoài miền nghiệm khả thi. Vì thế, đáp án tốt nhất chính là (5, 5) bởi k chính là lợi nhuận. Không phải ngẫu nhiên mà lời giải tốt nhất, gọi là nghiệm tối ưu, lại xảy ra tại đỉnh đa giác. Điều này luôn luôn đúng đối với các bài toán tuyến tính, mặc dù nghiệm tối ưu có thể không phải là duy nhất. Như vậy, lời giải cho các bài toán như vậy sẽ là tìm xem đỉnh nào cho ra giá trị lớn nhất của hàm mục tiêu Phương pháp Đơn hình Phương pháp đồ thị được minh họa trong ví dụ bên trên chỉ đúng cho các hệ bất phương trình có hai ẩn. Trong thực tiễn, các bài toán thường có hàng trăm phương trình với hàng nghìn ẩn, dẫn đến một con số vô cùng lớn các đỉnh đa diện. Năm 1947, George Dantzig, một cố vấn toán học cho Không quan Mỹ, đã phát minh ra phương pháp đơn hình nhằm giảm số lượng các đỉnh cần kiểm tra. Phương pháp đơn hình là một trong những thuật toán hữu dụng và hiệu quả nhất từng được phát minh, và nó vẫn là phương pháp tiêu chuẩn dùng để giải các bài toán tối ưu trên máy tính. Đầu tiên, phương pháp này giả sử rằng đã biết một đỉnh. (Nếu không biết đỉnh nào thì một biến thể của phương pháp đơn hình, được gọi là Phase I, được dùng để tìm một đỉnh nào đó hoặc để xác định không có nghiệm khả thi nào.) Tiếp theo, dựa theo đặc tính số học của bài toán, một kiểm tra được tiến hành để xác định xem đỉnh đó có phải là nghiệm tối ưu hay không. Nếu không phải thì sẽ xác định một đỉnh kế bên theo hướng làm cho giá trị của hàm mục tiêu tăng với tốc độ nhanh nhất. Đôi khi cũng có thể di chuyển dọc theo cạnh làm cho giá trị hàm mục tiêu tăng không giới hạn. Nếu điều này xảy ra thì dừng lại và kết luận với lời giải là cạnh làm cho hàm mục tiêu tăng tới vô cùng. Nếu ngược lại thì ta sẽ đi tới một đỉnh mới làm cho giá trị hàm mục tiêu ít nhất cũng lớn như tại đỉnh trước đó. Chuỗi di chuyển cứ thế lặp đi lặp lại cho tới khi một đỉnh cực trị (nghiệm tối ưu) được tìm ra hoặc xảy ra trường hợp tăng tới vô cùng. Dù theo nguyên tắc số lượng các bước cần làm có thể tăng theo cấp số mũ của số lượng các đỉnh, nhưng trên thực tế phương pháp thường hội tụ về nghiệm tối ưu sau một số lượng các bước chỉ bằng một bội số nhỏ của số lượng các đỉnh. Phát biểu dạng chuẩn Trong thực tiễn, các bài toán tối ưu được viết ở dạng ma trận, một dạng ngắn gọn để biến đổi các ràng buộc và kiểm tra hàm mục tiêu một cách số học. Bài toán tối ưu nguyên thủy được von Neumann viết ở dạng chuẩn vào năm Trong bài toán này, hàm mục tiêu được thay thế bằng tích vô hướng của véc tơ x = (x 1, x 2,..., x n ) T có thành phần là các ẩn mục tiêu, ký tự trên T ký hiệu đây là véc tơ dạng cột, với một véc tơ khác p = (p 1, p 2,..., p n ) có thành phần là các hệ số tương ứng của các ẩn mục tiêu. Hơn nữa, hệ các ràng buộc bất phương trình được thay thế bằng Ax b, trong đó ma trận A kích thước mxn thay thế cho m ràng buộc đối với n ẩn mục tiêu, còn b = (b1, b2,..., bm) T là véc tơ với thành phần là các giá trị biên trong các bất phương trình Cơ sở toán học Dạng tổng quát của bài toán quy hoạch tuyến tính 58

59 Applied Mathematics and Technology Journal No 01, 05/2017 Dạng chính tắc của bài toán quy hoạch tuyến tính Dạng chuẩn của bài toán quy hoạch tuyến tính 59

60 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 60

61 Applied Mathematics and Technology Journal No 01, 05/2017 Phương pháp đơn hình giải bài toán quy hoạch tuyến tính dạng chuẩn 1. Thuật toán giải bài toán max 61

62 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 62

63 Applied Mathematics and Technology Journal No 01, 05/ Thuật toán giải bài toán min Ví dụ 1: Giải bài toán quy hoạch tuyến tính sau. 63

64 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Ví dụ 2: Giải bài toán quy hoạch tuyến tính sau. 64

65 Applied Mathematics and Technology Journal No 01, 05/

66 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Kết luận Các ví dụ trên đã phần nào minh họa tính nhanh chóng và hiệu quả của phương pháp đơn hình trong giải quyết các bài toán quy hoạch tuyến tính. Như đã đề cập, bản chất của phương pháp đơn hình là di chuyển từ đỉnh này tới đỉnh khác của một đa diện theo hướng tốt nhất có thể. Trên thực tế, phương pháp đơn hình rất hiệu quả khi số lượng đường di chuyển khoảng từ đến Năm 1984, nhà toán học Narendra Karmarkar tìm ra một cách giải mới, làm giảm đáng kể thời gian giải những bài toán quy hoạch tuyến tính cồng kềnh, ví dụ như bài toán tìm tuyến đường tốt nhất cho các cuộc điện thoại đường dài. Thuật toán Narendra Karmarkar đi theo một lối tắt bằng cách xuyên qua giữa khối hình. Sau khi lựa chọn một điểm bất kỳ bên trong, thuật toán sẽ co kéo toàn bộ cấu trúc khối hình để đưa về bài toán mà điểm đã chọn nằm ở chính tâm của khối mới. Bước tiếp theo là tìm ra một điểm mới hứa hẹn cho chúng ta đáp án tốt nhất, rồi tiếp tục kéo cấu trúc một lần nữa để đưa điểm mới này thành tâm. Nếu không có quá trình co kéo khối hình này, thì việc tìm ra hướng đi được cải thiện sau mỗi bước sẽ chỉ là không tưởng. Các phép biến đổi lặp như trên, dựa theo cơ sở lý thuyết của hình học xạ ảnh, sẽ dần đưa chúng ta tới đáp án cho bài toán ban đầu. 5. Tài liệu tham khảo: 1) 2) Các giáo trình quy hoạch tuyến tính. 66

67 Applied Mathematics and Technology Journal No 01, 05/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG TÌM NGHIỆM GẦN ĐÚNG CÁC PHƯƠNG TRÌNH TOÁN HỌC THÔNG QUA LẬP TRÌNH MATLAB VÀ LẬP TRÌNH TRÊN MÁY TÍNH KHOA HỌC-ĐỒ HỌA TEXAS INSTRUMENT TI- 83/84 PLUS Nguyễn Trường Chấng [1] - Thế Trần [2] Chuyên viên nghiên cứu Toán máy tính khoa học [1] Nguyên Ủy viên Hội Toán học Tp.HCM, Vietnam [1] Chuyên viên Toán ứng dụng - Công ty máy tính CASIO [2] TÓM TẮT [2] Việc sử dụng máy tính khoa học cầm tay song song với các phần mềm toán học trong nhà trường từ bậc THCS đến Đại hoc là một hoạt động rất cần thiết trong việc học tập và giảng dạy các môn khoa học tự nhiên như Toán, Lý, Hóa, Sinh,... Do nhu cầu cần thiết của việc áp dụng công nghệ trong các hoạt đông dạy và học của hầu hết các nước trên thế giới, trong đó có Việt Nam, vì vậy qua bài báo này, chúng ta sẽ có cơ hội để tìm hiểu về máy tính đồ họa Texas Instrument TI 83, 84 Plus được cho phép sử dụng trong các trường học ở Mĩ bao gồm bậc THPT và Đại hoc. Ngoài tính năng là một máy tính khoa học bậc cao, Texas Instrument TI 83, 84 Plus còn có các chức năng rất mạnh về đồ họa và lập trình. Bài báo này sẽ trình bày về kĩ thuật bậc cao về lập trình trên các loại máy tính Texas Instrument có chức năng lập trình để tìm nghiệm gần đúng của hầu hết các loai phương trình và hệ phương trình toán học từ đơn giản đến phức tạp, từ tuyến tính cho đến phi tuyến dựa trên phương pháp Jacobi về tìm nghiệm gần đúng của hệ phương trình. 1. Giới thiệu [2] Phương pháp Jacobi được áp dụng rộng rãi để tìm nghiệm của các hệ phương trình nhiều biến. Bài báo này dùng phương pháp Jacobi cho phương trình đạo hàm riêng để giải quyết các phương trình và hệ phương trình tuyến tính và phi tuyến. Lập trình trên máy tính đồ họa khoa học cầm 67

68 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 tay là một cách làm mới mẻ bên cạnh việc lập trình MATLAB trên máy vi tính, lập trình trên máy tính cầm tay còn đòi hỏi các kĩ thuật lập trình bậc cao cũng như sự tinh thông về các hàm chức năng lập trình được trang bị ở các dòng máy trên. Các loại máy tính khoa học đồ họa Texas Instrument Bắt đầu bằng việc xác lập cơ sở lí thuyết Jacobi, từ đó chúng ta xây dựng mô hình toán học để có hướng áp dụng công thức Jacobi và nền tảng định hướng cụ thể cho cả quá trình lập trình trên máy tính khoa học cầm tay. Rõ ràng cơ sở lí thuyết là vấn đề hết sức quan trọng cho việc lập trình để giải quyết các bài toán về hệ phương trình. Tác giả đã áp dụng lí thuyết một các sâu sắc, lập trình một cách rất sáng tạo và đã đạt được thành công rất lớn trong việc giải quyết được hấu hết các dạng phương trình bao gồm phương trình tuyến tính và phi tuyến. 2. Cơ sở Toán học - Phương pháp Jacobi cho hệ phương trình [2] 2.1. Phương pháp Jacobi Phương pháp Jacobi là một phương pháp lặp dùng để giải hệ n phương trình và n ẩn x. Dạng tổng quát theo công thức: Ax= b Trong đó: Ma trận A được phân chia thành ma trận đường chéo D và ma trận phần bù R: 68

69 Applied Mathematics and Technology Journal No 01, 05/2017 với R = L+ U trong đó L và U lần lượt là ma trận tam giác dưới và ma trận tam giác trên của A. R = L + U where L = a a n1 a n2... 0, U = 0 a a 1n a 2n Nghiệm của hệ phương trình có được thông qua phép lặp cho bởi công thức sau: Công thức lặp tìm nghiệm cụ thể là: x (k+1) i = 1 a ii x (k+1) = D 1 ( b Rx k). ( b i j i a ij x k j ), i = 1, 2,..., n Chứng minh sự hội tụ của phương pháp Jacobi If the n x n matrix A is strictly diagonally dominant then the Jacobi method converges to the solution Since A is strictly diagonally dominant then a ij < a ii a ij a ii < 1, i, j = 1... n i j Matrix T is defined as: where : i j T = D 1 (L + U) 69

70 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Hence: Now we choose the norm for matrix T and prove that We have: Thus, Jacobi method converges to x T = D 1 (L + U) < 1 T = D 1 (L + U) = max ( i j ) a ij < 1 a ii 2.3. Bài toán áp dụng phương pháp Jacobi A linear system shown as is given by: A = Ax = b and b = We should use the equation x (k+1) = D 1 ( b Rx k). 70

71 Applied Mathematics and Technology Journal No 01, 05/2017 And we get the equation in the form D ( 1 b Rx k) = ( T x k + C ) where T = D 1 R and C = D 1 b Trong đó R = L+ U với L và U lần lượt là ma trận tam giác dưới và ma trận tam giác trên của A. We compute T = D 1 (L + U) as D = We have two the matrix T: T = D 1 (L + U) = = D 1 = C = D 1 b = = First of all, we have to choose x 0 for initial approximation guess. We choose that x 2 = x 1 = x 0 = = == The Jacobi method converges to the exact solution of the system is x = (1, 2, 3, 0)

72 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 disp( Please input the matrices A and b to solve the system of equations AX=b ) a=input( Input the matrix A : \n ); b=input( Input the matrix b : \n ); n=length(a); c=0; e=1; d=0; for u=1:n x(u)=b(u,1)/a(u,u); z(1,u)=0; end l=2 for r = 1:n for s = 1:n if r~=s p(r)=abs(a(r,s)/a(r,r))+d; d=p(r); end end d=0; end if min(p)>=1 fprintf( Roots will not converge ) else while(e>=1e-4) j1=1; for i1=2:n q(j1)=(a(j1,i1)/a(j1,j1))*z(l-1,i1)+c; c=q(j1); end c=0; z(l,j1)=x(j1)-q(j1); x(j1)=z(l,j1); for u=1:n x(u)=b(u,1)/a(u,u); z(1,u)=0; end for j1=2:n-1 for i1=1:j1-1 q(j1)=(a(j1,i1)/a(j1,j1))*z(l,i1)+c; c=q(j1); end for i1=j1+1:n q(j1)=(a(j1,i1)/a(j1,j1))*z(l-1,i1)+c; c=q(j1); end c=0; z(l,j1)=x(j1)-q(j1); 72

73 Applied Mathematics and Technology Journal No 01, 05/2017 x(j1)=z(l,j1); for u=1:n x(u)=b(u,1)/a(u,u); z(1,u)=0; end end j1=n; for i1=1:n-1 q(j1)=(a(j1,i1)/a(j1,j1))*z(l,i1)+c; c=q(j1); end c=0; z(l,j1)=x(j1)-q(j1); for v=1:n t=abs(z(l,v)-z(l-1,v)); end e=max(t); l=l+1; for i=1:n X(1,i)=z(l-1,i); end end for i=1:l-1 for j=1:n w(i,j+1)=z(i,j); end w(i,1)=i; end disp( No. x1 x2 x3 x4 ) disp(w) disp( The final solution is: ) disp(x) fprintf( The total number of iterations is:%d,l-1) end NOTE THAT: WHEN WE RUN THE PROGRAM AND PRESS ENTER Please input the matrices A and B to solve the system of equations AX=b Input the matrix A : [ ; ; ; ] Input the matrix b : [3;15;27;-9] No. x1 x2 x3 x

74 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ The final solution is: The total number of iterations is: 8 3. Lập trình trên máy tính Texas Instrument TI- 83/84 Plus [1] Ví dụ giải hệ phương trình 4 ẩn sau: F (x, y, z, t) = 0 G (x, y, z, t) = 0 H (x, y, z, t) = 0 K (x, y, z, t) = 0 Ta dùng công thức Newton suy rộng với Jacobi như sau: x n+1 y n+1 z n+1 t n+1 = x n y n z n t n F x F y F z F t G x G y G z G t H x H y H z H t K x K y K z K t 1 F G H K Trong đó các biểu thức ở vế phải đều tính theo x n, y n, z n, t n. Khi ấy hệ tuyến tính chỉ là trường hợp đặc biệt. Nếu có các loại máy mạnh hơn, ta có thể mở rộng đến hệ n phương trình với n ẩn Chương trình chính : ClrHome : Lbl 2 : Input "F(X, Y, Z, T) = 0 =", Str1 : Input "G(X, Y, Z, T) = 0 =", Str2 : Input "H(X, Y, Z, T) = 0 =", Str3 : Input "K(X, Y, Z, T) = 0 =", Str4 : Lbl 1 : Input << Xo = >>, A : Input << Yo = >>, B : Input << Zo = >>, C : Input << To = >>, D : 1->N : String \blacktriangleright Equ(Str1, Y1) 74

75 Applied Mathematics and Technology Journal No 01, 05/2017 : String \blacktriangleright Equ(Str2, Y2) : String \blacktriangleright Equ(Str3, Y3) : String \blacktriangleright Equ(Str4, Y4) : Radian : N+1-> N : if (N<50) : Then : Disp "51. LOOP" : Disp "CONTINUE" : Goto 1 : Else : A -> X : B -> Y : C -> Z : D -> T : nderiv(y1, X, X) -> E : nderiv(y1, Y, Y) -> F : nderiv(y1, Z, Z) -> G : nderiv(y1, T, T) -> H : nderiv(y2, X, X) -> I : nderiv(y2, Y, Y) -> K : nderiv(y2, Z, Z) -> L : nderiv(y2, T, T) -> M : nderiv(y3, X, X) -> O : nderiv(y3, Y, Y) -> P : nderiv(y3, Z, Z) -> Q : nderiv(y3, T, T) -> R : nderiv(y4, X, X) -> S : nderiv(y4, Y, Y) -> U : nderiv(y4, Z, Z) -> V : nderiv(y4, T, T) -> W : det([[e, F, G, H][I, K, L, M][O, P, Q, R][S, U, V, W]]) -> J : if(j=0) : Then : Disp "NO ROOT, MULTIPLICITY ROOT. OR.XO, YO" : Goto 1 : Else : X - det ([[Y1, F, G, H][Y2, K, L, M][Y3, P, Q, R][Y4, U, V, W]])/J -> A : Y - det ([[E, Y1, G, H][I, Y2, L, M][O, Y3, Q, R][S, Y4, V, W]])/J -> B : Z - det ([[E, F, Y1, H][I, K, Y2, M][O, P, Y3, R][S, U, Y4, W]])/J -> C : T - det ([[E, F, G, Y1][I, K, L, Y2][O, P, Q, Y3][S, U, V, Y4]])/J -> A : End : End : End : Disp ": X=",X : Disp "Y =", Y 75

76 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 : Disp "Z =",Z : Disp " PRESS QUIT TO EXIT " (1) : Goto Bài toán mẫu: Giải hệ phương trình phi tuyến bằng chương trình đã trình bày ở trên Example : Solve the following unlinear equations : Ví dụ: Giải hệ phương trình phi tuyến sau: Solution : The TI calculator will have results in 2 minutes x= ; y= ; z= ; t= x= ; y= ; z= ; t= x= ; y= ; z= ; t= x= ; y= ; z= ; t= x= ; y= ; z= ; t= Tài liệu tham khảo [2] Tài liệu [1] Robert, J. L. (2001). Advanced Engineering Mathematics. Addision Wesley, [2] Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations (3rd ed.), Baltimore: Johns Hopkins. [3] Kaufmann, E. J. (2002). College Algebra (5th ed.).pacific Grove, CA: Thomson Learning, Inc. [4] R L Burden & J D Faires.(2001). Numerical Analysis (9th Edition). Brooks/Cole, Cengage Learning. 76

77 Applied Mathematics and Technology Journal No 01, 05/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Using CAS calculators to teach and explore numerical methods Copyright by The Electronic Journal of Mathematics and Technology Alasdair McAndrew School of Engineering and Science Victoria University Melbourne, Australia Abstract We describe the use of CAS calculators in a numerical methods mathematics subject offered to third year pre-service teachers. We show that such calculators, although very low-powered compared with standard computer based numerical systems, are quite capable of handling text-book problems, and as such provide a very accessible learning environment. We show how CAS calculators can be used to implement some standard numerical procedures, and we also briefly discuss the pedagogical values of our approach. 1 Introduction Numerical methods: the area of mathematics concerned with finding approximate solutions to intractable problems, has long been the preserve of high-powered computers and computer systems. And the increasing speed and power of computers, and the development of accessible software, has meant an increase in the availability of new methods. However, teaching of such material has either meant accessibility to computers and software, or restriction to simplified problems which can be done on a scientific calculator. The advent of CAS calculators, such as the TI-nspire and the Casio ClassPad, has meant that for the first time students have easy access to a powerful computing environment, and one also which they are likely to have seen at school. Note that since this article was first written a third CAS calculator: the HP Prime, has entered the market. It is not yet clear what impact this will have on the use of such calculators in education. At Victoria University, (Melbourne, Australia), a Computational Methods subject is offered as an elective for third year pre-service teachers who have chosen mathematics as their principal teaching method. The students have had a solid grounding in calculus, statistics, and some algebra, and have satisfied the requirement by the local government body to be able to teach mathematics up to and including upper secondary levels. The students have also had 77

78 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 some exposure to the use of technology, in particular CAS calculators earlier in the course. The computational methods subject is designed to provide the students with a greater expertise in the use of CAS calculators including programming and also to introduce them to a mathematical discipline (numerical methods) which they are most likely to encounter as teachers or practitioners. Note that the current curricula mandates the use of CAS calculators at year 12 (the final year of secondary school), and so an expertise in their use is now necessary on the part of mathematics teachers 2 Numerical methods and CAS calculators In the course only a small selection of topics is covered: time constraints prevent a complete introduction to numerical methods, and some important topics are excluded. We do not for example spend much time on rounding errors, eigensystems, or functional approximation. We aim to introduce basic methods to solve non-linear equations and of linear systems, interpolation and numerical differentiation, numerical integration, and the solution of initial value problems. In this section w e briefly discuss each of the above topics, and show how they can be developed and implemented on a CAS calculator. We note that earlier work, for example by Gander and Gruntz [gand99] discusses numerical computing from the perspective of a symbolic, rather than a purely numerical, system, no other research has investigated numerical methods on CAS calculators. 2.1 Non-linear equations Aside from the quadratic formula, students tend to have little exposure to non-linear equations. And aside from the quadratic formula and its cousins, the cubic and quartic formulas (which are in any case too complicated to use in practice), there are few generic formulas for the solution of such equations. So a numerical approach is often the simplest. It is also not immediately obvious whether an equation has a solution expressible in closed form. For example, the equation: x 5 + x 1 = 0 has one real and four complex roots, and all can be obtained using algebraic tools. The real root has the closed form (t 1/3 + t 1/3 1)/3 where t = ( )/2. However, the apparently similar equation: x 5 + x 2 1 = 0 cannot be solved by standard algebraic means, and there is no straightforward method of expressing its solutions in closed form. We consider two classes of root-finding algorithms: 1. Bracketing methods. W e start with t w o values a and b for which f(a)f(b) < 0, so that b y the mean value theorem (assuming f is continuous on the closed interval [a, b]) there is a root ξ with a ξ b. A bracketing method successively shortens the interval around the root. 78

79 Applied Mathematics and Technology Journal No 01, 05/ Derivative methods. These methods invoke the derivative f of the function. In each case w e have a pair of previous values x n 1, x n or a single previous value x n, and w e produce a new value x n+1 which will becloser to the root than before. The simplest bracketing method is the method of bisection: given a and b, set t = (a+b)/2. Then consider the sign of f(t). W e set which ever of a and b has the opposite sign to the value of t, and repeat as often as w e need. Thus at each stage the length of the interval is halved. In terms of a sequence of values, if the current root is bracketed b y [x n 1, x n ], then w e define t = (x n+1 + x n )/2 and { [t, x n+1 ] if f(t)f(x n 1 ) < 0, [x n, x n+1 ] = [x n, t] otherwise. Here s how it could beimplemented on each calculator, for solving x 5 + x 2 1 = 0, given that there is a root between 0 and 1: Using the TI-nspire CAS calculator Enter the function f(x) := x 5 + x 2 1 and a little function called bisect1 which will perform a single bisection step: Define bisect1(a) = Func Local t t := a[1] + a[2] 2 If f(t) f(a[1]) < 0 Then Return {a[1], t} Else Return {t, a[2]} EndFunc Using the Casio ClassPad calculator As with the TI-nspire we enter the function f(x), and also create a small bisect1 program with a single parameter a (which will bea list of two values): Local t (a[1]+a[2]) t If f(a[1]) f(t)<0 Then Return {a[1],t} Else Return {t,a[2]} l With each calculator the function can now becalled as many times as liked (watching the t w o endpoints getting closer together), or used within another program which either runs bisect1 a given number of times or (better) until the difference between the endpoints is less than a give value, such as The standard derivative method is of course Newton s method (or the Newton-Raphson method), for which x n+1 = x n f(x n) f (x n ). Since each CAS calculator can perform symbolic derivatives, implementation is straightforward. 79

80 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Using the TI-nspire CAS calculator Define f(x) = x 5 + x 2 1 Define nr(x) = x f(x) d dx f(x) x:=0.8 For i,1,8,x:=nr(x):disp x:endfor Using the Casio ClassPad calculator Define f(x)=x 5+x 2-1 f(x) Define nr(x)=x- diff(f(x), x).8 nr(ans) The ClassPad doesn t allow programming constructs (such as for-loops) outside of a program, so w e can just start of a Newton-Raphson computation, and press the EXE k e y to repeat the previous command, and watch the values on the screen. Alternatively, we can use the Sequence module, and define the recursive sequence a n+1 = nr(a n ), a 0 = 0.8 and tabulate a few values. Other methods, such as the secant method, regula falsi, can be easily implemented using very similar schemes to those shown. We note that the calculators do of course have inbuilt routines for solving equations: for example the TI-nspire has nsolve. However, the point is not simply to use the calculators as black boxes to find a solution, but teach the students the means b y which such solutions are obtained. The students are encouraged to use the inbuilt routines to check their own solutions. 2.2 Systems of linear equations W e investigate t w o recursive methods for solving a linear system: the Gauss-Seidel method, and Jacobi s method. They are most easily described by an example, where equations are rewritten in recursive form: 4x y + 2z = 5 x n+1 = (5 + y n 2z n )/4 x n+1 = (5 + y n 2z n )/4 x + 5y z = 7 y n+1 = (7 x n+1 + z n )/5 y n+1 = (7 x n + z n )/5 2x y + 6z = 8 z n+1 = ( 8 2x n+1 + y n+1 )/6 z n+1 = ( 8 2x n + y n )/6 The original equations Gauss-Seidel iteration Jacobi iteration The main difference is that Gauss-Seidel always uses the most recently computed value of the variables, whereas Jacobi iteration uses the previous values for a complete iteration. Both methods are guaranteed to converge if the coefficient matrix is diagonally dominant ; that is, the absolute value of the diagonal element is strictly greater than the sum of the absolute values of all other elements in its row. This condition will besatisfied by the given example. Suppose w e write the equations in matrix form Ax = b and split A into three parts: the diagonal elements D, the upper triangular section U and lower triangular section L, so that A = U + D + L. From the examples above, it is not hard to show that the Gauss-Seidel and Jacobi iterations can bewritten as respectively. x n+1 = (D + L) 1 (b Ux n ), x n+1 = D 1 (b (L + U)x n ) 80

81 Applied Mathematics and Technology Journal No 01, 05/2017 Using the TI-nspire CAS calculator For the Gauss-Seidel method we start by entering three initial guesses for x, y and z, and then apply the iteration: x := 1 : y := 1 : z := 1 F o r i, 1, 10 : x := 5 + y 2 z : 4 y := 7 x + z : z := 8 2 x + y 5 6 Disp x, y, z : EndFor : Using the Casio ClassPad calculator T o use a loop for the Gauss-Seidel method, w e need to write a program, called, say gs: {1,1,1} {x,y,z} For 1 i To 10 approx((5+y-2 z)/4) x approx((7-x+z)/5) y approx((-8-2 x+y)/3) z Print {x,y,z} Next and this program can berun from within the Program module. Using the TI-nspire CAS calculator For Jacobi s method, use the matrix version. First enter the matrix a of coefficients, then extract the diagonal d. The rest of the matrix (L + U), will beobtained with m d: d := diag(diag(m) m := a d x := [[1,1,1]] For i, 1, 10 : x := d 1 (b m x) : Disp x : EndFor Using the Casio ClassPad calculator Jacobi s method can be implemented using the Sequence module; and entering the recursive definitions: a n+1 = (4 b n + c n )/4 a 0 = 1.0 b n+1 = (2 2 a n c n )/5 b 0 = 1.0 c n+1 = (11 a n )/3 c 0 = Interpolation The sequence values can then be tabulated from within the Sequence module. Interpolation is the problem of fitting a (piecewise) polynomial to a sequence of data points. Although we investigate cubic splines in the course, we just show here how to use Lagrangian and Newton interpolation. Given a set of n+1 data points {(x i, y i ), i = 0, 1, 2,..., n} w e can fit an n-degree polynomial to it. One standard method is the Lagrangian polynomial, defined as: L(x) = n k=0 (x x 0 )(x x 1 ) (x x k 1 )(x x k+1 ) (x x n ) (x k x 0 )(x k x 1 ) (x k x k 1 )(x k x k+1 ) (x k x n ) y k. Note that in the fraction, the top line consists of the product of all terms (x x i ) except for (x x k ), and the bottom line of the product of all non-zero terms (x k x i ). This polynomial is more easily generated by first defining q(x) = (x x 0 )(x x 1 )(x x 2 ) (x x n ) 81

82 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 and then L(x) = n k=0 q(x) (x x k )q (x k ) y k. That these two definitions of L(x) are equivalent is an elementary calculus exercise. Alternatively, w e can set the polynomial to be p(x) = a 0 + a 1 x + a 2 x a n x n and generate n linear equations for a i b y substituting in turn x = x k and p(x) = y k. Then a i can be found by standard linear methods. Suppose for example we wish to fit a cubic polynomial to the four points (x i, y i ) = ( 3, 61), (1, 5), (2, 1), (5, 83). Using the TI-nspire CAS calculator First define the x and y values: xs := { 3, 1, 2, 5} ys := { 61, 5, 1, 83} Now using the second method: q(x) := product(x xs) sum (x xs) q(x) ( d (q(x)) (x = xs) dx ) ys The TI-nspire has very elegant list handling, where an operation on a list will automatically bedone on every element of the list. So in the final sum, all operations on the lists xs and ys are done on each corresponding element individually and finally added. To find the polynomial by linear methods: Using the Casio ClassPad calculator The commands for the ClassPad are very similar to those on the TI-nspire. With xs and ys defined: DelVar x Define q(x)=prod(x-xs) q(x) sum( (x xs) ( d ys) dx (q(x)) (x = xs)) And the use of matrices is similar, except that the ClassPad doesn t have the equivalent of a simult command for solving matrix equations. So we pre-multiply by the inverse instead: listtomat(xs 3,xs 2,xs,xs 0) xv vx -1 listtomat(ys) c [[x 3,x 2,x,1]] c [[xx3,xx2,x,1]] c m := {xs 3, xs 2, xs, xs 0 } c := simult(vx, {ys} ) {{x 3, x 2, x, 1}} c If the x values are equally spaced, then a method called the Newton-Gregory difference formula can beused. Suppose the x values are given b y x k = x 0 + kh(so h is the common difference), and the y values are as before y 0, y 1,..., y n. Create a table of all successive differences of the y values; each row of which is denoted, 2, down to n 1 which will bea single value. If the first values of the differences are denoted 0, 1, 2,..., n 1, then the interpolating 82

83 Applied Mathematics and Technology Journal No 01, 05/2017 polynomial can be written as where z = (x x 0 )/h. F o r example: n 1 ( ) z k k k=0 x : y : The circled numbers are the values 0, 1, 2, 3, 4, from top to bottom. Then: ( ) ( ) ( ) ( ) ( ) z z z z z p(x) = z(z 1) z(z 1)(z 2) z(z 1)(z 2)(z 3) = z Substituting (x + 3)/2 for z in the above expression, and simplifying, produces x 4 11x 3 17x 2 + 7x 19 as the required polynomial. To implement this, we could use lists of differences, but instead we shall demonstrate the use of the spreadsheet on the calculators. Both calculators provide a spreadsheet; in contrast to a standard numerical spreadsheet, these spreadsheets also allow symbolic calculations. We note in passing that although there is a considerable literature on the use of spreadsheets in mathematics teaching and learning: for example [bill07, van06], there has been no discussion of the use of symbolic spreadsheets. Start b y entering the values 0 5 in the first row and the y values below the 0 in the first column: A B C D E

84 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 In cell B2, enter the expression = A3 A2 and copy it into the block of cells B2 E6: A B C D E Notice that the row A2 E2 now consists of all the differences k. Now in cell A7 enter the formula ( ) x + 3 = ncr, A1 2 and copy that into cells B7 E7. These cells should now contain the polynomials 185, 108(x+3), 26(x+1)(x+3), 11(x 1)(x+1)(x+3), (x+3)(x+1)(x 1)(x 3). Finally, add them all b y entering = sum(a7 : E7) in an empty cell somewhere. This will produce the interpolating polynomial. Similar methods can beused to implement Neville s method, or the method of divided differences (see Cheney and Kincaid [chen12] for discussions of these.) Note also that our description above was in fact for the Newton-Gregory forward difference method; there are also backwards and central difference methods. 2.4 Quadrature Quadrature, or numerical integration, is a vital topic in any numerical methods course, and deals with finding approximate values of definite integrals b a f(x) dx where f(x) has an anti-derivative not (easily) expressible in closed form. Examples are the elliptic integrals φ 1 k 2 sin 2 x dx 0 for k 2 < 1, which arose initially in conjunction with determining the arc length of an ellipse, but have been shown since to have very deep properties connecting with many other branches of mathematics. There are a huge number of different quadrature methods, and many of the most useful approximate an integral with a finite sum of the form w 0 f(x 0 ) + w 1 f(x 1 ) + + w n f(x n ) 84

85 Applied Mathematics and Technology Journal No 01, 05/2017 where each x i [a, b]. The values w i are called weights and the x i values abscissae or ordinates. In general the weights and ordinates are chosen so that the expression will be exact for a particular class of functions. One set of quadrature formulas are the Newton-Cotes rules, where the x i are chosen to beequidistant, and for a given n the weights are chosen so that the approximation is correct for all f(x) = x k for k n. F o r example, for n = 4, w e have b a f(x) dx w 0 f(a) + w 1 f(a + h) + w 2 f(a + 2h) + w 3 f(a + 3h) + w 4 f(b) where h = (b a)/4, and w e choose w k so that the expression is exact for f(x) = 1, x, x 2, x 3, x 4. Since the weights will beindependent of the limits of integration, w e can choose a and b so that h = 1: 4 f(x) dx w 0 f(0) + w 1 f(1) + w 2 f(2) + w 3 f(3) + w 4 f(4). 0 The weights can then befound b y substituting each of x k for f(x) in this expression, and so obtaining linear equations for the w i values, which can then beeasily solved. Given that the linear equations will be 4 0 x k dx = 1 k + 1 4k+1 These can be solved to obtain w 0 + w 1 + w 2 + w 3 + w 4 = 4 w 1 + 2w 2 + 3w 3 + 4w 4 = 8 w 1 + 4w 2 + 9w w 4 = 64 3 w 1 + 8w w w 4 = 64 w w w w 4 = w 0, w 1, w 2, w 3, w 4 = 14 45, 64 45, 8 15, 64 45, and so a general form for this approximation is b a f(x) dx 2h ( ) 7f(a) + 32f(a + h) + 12f(a + 2h) + 32f(a + 3h) + 7f(b) 45 where as above h = (b a)/4. This particular quadrature rule is known as the Newton-Cotes rule of order four, or Boole s rule. We show how this rule, and clearly other Newton-Cotes rules, can be easily developed on a CAS calculator. 85

86 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Using the TI-nspire CAS calculator Using the Casio ClassPad calculator n := 4 ys := seq(( n 0 xk dx), k, 0, n) m := constructmat((j 1) i 1, i, j, n + 1, n + 1) m[1, 1] := 1 w := simult(m, list mat(ys) ) w This has to bewritten as a program. seq( ((x k ), x, 0, n), k, 0, n) y fill(0, n + 1, n + 1) m For 1 i To n + 1 For 1 j To n + 1 (j 1) ^ (i 1) m[i, j] Next Next 1 m[1, 1] m 1 listtomat(y) w Return trn(w) The matrix M of coefficients can bedefined b y m ij = (j 1) i 1, assuming that 0 0 returns 1. Both the ClassPad and the TI-nspire return undefined, so that the value m 11 has to be entered separately. Having created weights, we can use such a rule to evaluate a definite integral. For example, suppose we approximate 1 0 e x2 dx which has a value , using a value of h = 0.05, so that there are 5 uses of Boole s rule. Given the weights in an array w, and h, we can implement the approximation using ( ) ) 4k + i 1 e x2 dx h w i f k=0 i=1 Note that both calculators adopt indexing whereby the first element of a list is indexed with 1. This expression can be entered into the calculators almost unchanged, and the result is which is in error b y only about And in fact, for a Newton-Cotes rule of order m, applied to the integral b a f(x) dx a total of n times, so that h = (b a)/(mn), can beimplemented with b a mn n 1 k=0 m+1 i=1 w i f ( a + mk + i 1 ) ). mn This is slightly inefficient in that some function values will be computed twice, however in practice this inefficiency is not noticeable. As with solving equations, both calculators can solve integrals numerically using inbuilt routines, and as we noted previously students are encouraged to use these routines to check their own solutions, and to approximate the errors in their calculations. 86

87 Applied Mathematics and Technology Journal No 01, 05/ Differential Equations A t the beginning of this subject, the students will have had some exposure to the concept of differential equations, and to some simply solvable types, as well as a little modelling. We only consider first order initial value problems of the general sort dy dx = f(x, y), y(x 0) = y 0. The most basic form of solution is Euler s method, where the solution is given in the form of ordered pairs. Starting with (x 0, y 0 ) and a step-size h, then x n+1 = x n + h y n+1 = y n + hf(x n, y n ). A problem with Euler s method is that in general it is very inaccurate, and errors tend to accumulate with each step. For example, suppose we take the IVP which can be easily solved to produce dy dx = 1 2 xy + x 3, y(0) = 1 3 y = e x2 / With a step size h = 0.5, w e can compute y(x n ) b y the exact solution, and the approximate values y n as computed b y Euler s method: x n y(x n ) y n Error The errors clearly increase. This can beshown again in the diagram in figure 1. Students can play with Euler s method very easily. First, an exact solution can be computed: Using the TI-nspire CAS calculator f(x, y) := x y 2 + x 3 dsolve ( y = f(x, y) and y(0) = 1 3, x, y Using the Casio ClassPad calculator Define f(x, y) = x y/2 + x/3 dsolve(y = f(x, y), x, y, x = 0, y = 1/3) 87

88 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 True solution Solutions by Euler s method Figure 1: Euler s method With each calculator, the solution can beturned into a function, say s(x), which can be plotted. Euler s method can be implemented in a spreadsheet. Defining h as 0.5, a spreadsheet is created where column A contains the x values 0, 0.5, 1, 1.5,..., 3.5, 4.0, and cell B1 contains the value y 0 ; in this case 1/3. In cell B2 enter = B1 + h f(a1, B1) and this formula can be copied down column B. It is not hard to show how Euler s method can beimproved; in fact Euler s method may be considered as first order Taylor series approximation; if y(x + h) = y(x) + hy (x) + h2 2 y (x) + h3 6 y (x) + then a truncation after the second term produces y(x + h) y(x) + hy (x) = y(x) + hf(x, y) which is Euler s method. Other methods provide accuracy equal to higher order Taylor series, and one very popular family of methods are the Runge-Kutta methods, where a high-order Taylor series is obtained by a judicious use of nested functions. These are extraordinarily difficult to develop there is a great deal of complicated algebra involved but the results can have a pleasing elegance. One fourth order method is defined as: k 1 = f(x n, y n ), ( k 2 = f x n + h 2, y n + h ) 2 k 1, ( k 3 = f x n + h 2, y n + h ) 2 k 2, k 4 = f(x n + h, y n + hk 3 ) y n+1 = y k + h 6 (k 1 + 2k 2 + 2k 3 + k 4 ) 88

89 Applied Mathematics and Technology Journal No 01, 05/2017 where as for Euler s method x n+1 = x n + h. (One of the very few texts which provides a full algebraic construction of this method is the venerable text of Ralston & Rabinowitz [rals65].) Applying this to the above equations produces these values: x n y(x n ) y n Error The errors are very much smaller than in Euler s method, even though they increase with each step. This is to beexpected, and these errors can bemade smaller either b y using a smaller step size (with a step size of 0.1 and 40 steps, the approximate value at x = 4.0 is about in error), or by using two Runge-Kutta methods simultaneously, and adjusting the step size each step according to the errors between the t w o methods. Figure 2 shows the remarkable precision of a single Runge-Kutta method, even with a fairly large step size, as compared to Euler s method. True solution Runge-Kutta values Figure 2: Runge-Kutta 4th order method As for Euler s method, this can be implemented as a spreadsheet. Start by entering the x values (in our example from 0 to 4 in steps of h = 0.5) in column A and the value y(0) = 1/3 in cell B1. In cells C1 to F1 enter the values of the k i : in C1 enter =f(a1,b1), in D1 enter =f(a1+h/2,b1+h/2*c1), in E1 enter =f(a1+h/2,b1+h/2*d1 and in F1 enter =f(a1+h,b1+h*e1). Then in cell B2 enter =c1+h/6*(c1+2*d1+2*e1+f1). Then copy cells C1 F1 to cells C2 F2, and finally copy cells B2 F2 down as far as needed. In both the TI-nspire and the Casio ClassPad there are methods for producing graphs similar to those shown in figures 1 and 2. 89

90 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Newer versions of the calculators, or of their operating systems, include methods for computing Runge-Kutta or Euler steps. However, as for previous topics, we are keen to provide the students with some deeper knowledge about these methods use and practice, hence we encourage creating the algorithms from scratch. It is also quite possible to write programs to implement these methods: Using the TI-nspire CAS calculator Enter the function f(x, y) := x y x and a program called euler which will perform as many iterations of Euler s method as required. Define euler(a,b,h,n) = Prgm Local xn,yn,xp,yp xp := a yp := b Disp xp, yp For i,1,n xn := xp + h yn := yp + h f(xp, yp) xp := xn yp := yn Disp xp, yp EndFor EndPrgm Using the Casio ClassPad calculator As with the TI-nspire we enter the function f(x,y), and also create a function euler which will have a, b, h and n as parameters: Local xp,yp,xn,yn a xp b yp Print {xp,yp} For 1 i to n xp+h xn yp+h f(xp,yp) yn approx(xn) xp approx(yn) yp b yp Print {xp,yp} Next Note that in both programs, the values xp and yp represent the current values of x and y, and the values xn, yn the new values computed b y Euler s method. It is a trivial matter to edit these programs to implement the Runge-Kutta method described above. In the classes we show both approaches to students: spreadsheets and programs, and invite the students to choose their preferred method. 3 Conclusions W e have shown that many standard numerical tools can bedeveloped and explored on a CAS calculator, and that in this respect the t w o current (as of the time of writing) competitors are equivalent in their functionality and their accessibility. And it is quite possible to go a great deal further: to investigate other methods than the few discussed above, for example topics such as error propagation, computation of eigensystems, or a deeper investigation into differential 90

91 Applied Mathematics and Technology Journal No 01, 05/2017 equations. However a derivation of high-order Runge-Kutta methods, such as described by Gruntz [grun95] is beyond the power of a handheld device. Other topics (errors, eigensystems, approximation) can also bereadily explored. By their nature, numerical computations require a great deal of iterative computations with high precision real numbers. For this reason, most texts are based around a programming environment such as Matlab [chap12], or a programming language [xu08]. However, such environments are sometimes not easily accessible, or are very costly, or require a great deal of learning (especially in the case of a programming language) before students can feel comfortable with them. Using a CAS calculator, however, provides students with an environment which is portable, accessible, and one which the students may well have had prior exposure in their previous schooling. W e note also that the use of CAS (either on computers or calculators) as a pedagogical tool to introduce a topic, has a long history, see for example Heid [heid98, heid13]. Rather than use the CAS to explore difficult problems after the basic material has been mastered (this been a popular approach in tertiary teaching following Buchberger [buch90]), the CAS may beintroduced at the very beginning. It has been shown that this use does not lead to any conceptual loss, or loss of understanding of a mathematical topic. It is this ab initio approach we espouse in this course. This approach also ties neatly in with constructive approaches to learning, in that use of a CAS not just as a black boxbut as a pedagogical learning tool allows the students understanding and mastery to grow along with their mastery of the CAS. Although this course has so far only run with small numbers of students, the reception has been extremely positive, and we expect that future cohorts will beas engaged with the material, and with its implementation, as students have been so far. 4 Acknowledgements The author gratefully acknowledges the insightful comments of the reviewers, who suggested many ways that the original article could be improved. 91

92 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Metric Spaces and Their Geometries via Excel Copyright by The Electronic Journal of Mathematics and Technology Deane E. Arganbright Department of Mathematics and Computing Divine Word University, Madang, Papua New Guinea Abstract: This paper provides a fresh approach for an introductory exploration of metric spaces, illustrating methods for using Excel creatively to discover interesting insights into mathematics. We use diverse examples of metrics to provide insights into the concept of distance, and see how it arises in the areas of geometry, calculus, and other wellknown areas of mathematics. Along the way, we encounter inequalities and other aspects of classical mathematics, provide new problem solving and teaching techniques, and present a means of discovering patterns by employing spreadsheets to enhance the visual interpretation of a vital field of mathematics. 1. Introduction For many years numerous people have contributed to the development of a wide range of creative ways to employ spreadsheets effectively in the teaching of pure and applied mathematics. A new opportunity for extending the scope of these endeavors arose in 2013 in developing and teaching an undergraduate on-line class in metric spaces for Divine Word University in Madang, Papua New Guinea. This paper describes some of those developments. Because many of our models also involve concepts from areas such as calculus, analysis, inequalities, geometry, and linear algebra, they not only provide tools for the study and teaching of metric spaces, but they also furnish new insights into other subjects in the mathematics and computing science curricula. We supply the underlying Excel 2010 files with annotations for those interested [11]-[23]. The use of a spreadsheet such as Microsoft Excel in our endeavors enables us to design mathematical models that closely follow standard ways of presenting and learning mathematics using software that is readily available and familiar to students. Moreover, it provides students with new and creative skills in applying a fundamental and highly-valued tool of the workplace. For this specific class, it was helpful to be able to create interesting, animated spreadsheet models of topics that could be used in live Internet presentations, and to largely avoid a heavy reliance on the traditional definition-theorem-proof teaching format. The use of Excel helped students in developing problem solving skills, especially in discovering patterns for the geometry of different metrics. It provided students with an accessible tool for examining various metrics, constructing geometric objects, and initiating new approaches and insights for their studying. During the term, students could access Excel models and extensive class notes through Moodle. The examples provide here can be used for at least three important purposes: The examples provide teachers with interactive illustrations for classroom presentations. The techniques form an effective means for students to discover patterns. The approach presents a sound basis for individual and group student projects that integrate mathematical concepts and spreadsheet implementation skills. 92

93 Applied Mathematics and Technology Journal No 01, 05/ Foundation Information Definition: A metric space consists of a set X together with a distance function, d : X X, where R is the space of real numbers, having the following three properties: i) ( ) for all, with equality if and only if ii) ( ) ( ) for all iii) ( ) ( ) ( ) for all (triangle inequality) We see these properties for distance when we look at familiar road maps. For example, Figure 2.1 provides a stylized map and distance table for roads and towns near Martin, Tennessee, USA. Properties (i) and (ii) are readily apparent from the table. We can examine property (iii) either manually or through an interactive Excel model such as the one at the right. Here we observe that a smaller example for classroom illustration is easier to implement if all cities can be connected by straight lines. To do this, we include a virtual route from Martin to Paris, although actual travel goes through Dresden. We also incorporate a slightly more involved version among our Excel files. Martin Dresden 22 Paris Dresden Martin McKen. Milan Paris Dresden Martin McKen Milan Paris Milan McKen. Figure 2.1. Road Map Metric The most familiar examples of metric spaces are the real numbers R with distance function ( ), the real Euclidean plane R² with distance function (( ) ( )) ( ) ( ), and n-dimensional Euclidean space R n with a similar distance function. However, there many more interesting metric spaces for students to explore in which they will encounter new mathematical concepts and techniques, and for educators to design useful teaching visualizations. In this paper we present a few of these that we implement using Microsoft Excel We will not prove that the metrics listed satisfy the conditions for a metric, but refer readers to other sources [7], [8] for these results. 3. Examples of Metrics Spaces 3.1. Euclidean R² Metric: There are many ways to use Excel to create Euclidean metric objects in R². For example, in Figure 3.1a we create an xy-graph of a circle by using the parametric equations 93

94 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017,,, thus locating the set of points whose distance from the point ( ) is r. Although Excel does not provide a direct way to fill in the interior of a closed curve, we do this by drawing a series of line segments, as indicated in Figure 3.1b. To fill in the area, we increase the number of segments and the width of the lines. By adjusting the line style for the boundary, in Figure 3.1c we produce the open unit disk (or ball) centered at ( ) ( ). We show an outline of our Excel worksheet and its equations in Figure 3.2. A full description of the methods used appears in [6] and in our annotated Excel files (a,b) (a,b) Figure 3.1 Unit Circle and Open Unit Disk in R² A B C D E F G H I radius: 1 1 center: circle interior fill center deg t rad x y n x y x y A B C D radius: 1 =C3 center: circle deg t rad x y 0 =RADIANS(A7) =C$3*COS($B7)+C$4 =D$3*SIN($B7)+D$4 =1+A7 =RADIANS(A8) =C$3*COS($B8)+C$4 =D$3*SIN($B8)+D$4 =1+A8 =RADIANS(A9) =C$3*COS($B9)+C$4 =D$3*SIN($B9)+D$4 =1+A9 =RADIANS(A10) =C$3*COS($B10)+C$4 =D$3*SIN($B10)+D$4 =1+A10=RADIANS(A11) =C$3*COS($B11)+C$4 =D$3*SIN($B11)+D$4 =1+A11=RADIANS(A12) =C$3*COS($B12)+C$4 =D$3*SIN($B12)+D$4 Figure 3.2 Excel Output and Formulas for Unit Circle and Disk As an illustrative example, suppose that we wish to find all points in R² that are equidistant from two given points. For this example we first use algebra to find the points of intersection of the circles of radius r whose centers are the two given points. We then use those points together with our techniques for generating circles to form the diagram of Figure 3.3. If we then link the cell containing the radius to a scroll bar, we animate the creation process for drawing the perpendicular bisector of the segment between the two points as we increase r. Later we use this idea for a similar construction with another metric. Additional related examples can be found in [2], [6]. 94

95 Applied Mathematics and Technology Journal No 01, 05/ Figure 3.3 Locus of Points Equidistant from Two Given Points (Euclidean) 3.2. Taxicab Metric: Let X be the real plane, R², but now use the taxicab distance defined by (( ) ( )). The name taxicab comes from the fact that this measure of distance is analogous to that used for taxicabs as they traverse the streets of a city having a rectangular street grid, where one can travel only in horizontal or vertical directions. Thus, in Figure 3.4a the distance between the locations ( ) and ( ) is ( ) ( ). In Figure 3.4a we also see that a trip of that length can be made in a variety of ways, with the intermediate corners interpreted as points lying between a and b. However, in this metric space we are not limited to traveling on lines with integer coordinates. Thus, in Figure 3.4b we see that the distance between ( ) and ( ) is ( ) (-2.5,3.3) Figure 3.4. Taxicab Distance (4.3,-2.6) In working with this metric by hand, it is convenient to use graph paper. A spreadsheet provides us with a similar medium through which we can gain insights before creating more advanced illustrations. In Figure 3.5a we show an xy-scatter chart produced from the Excel layout in Figure 3.5b to find the points that are distance from point ( ) ( ). Columns C:D are used to generate a grid with gaps of size 0.5. We start by first entering C4 = D4 = 5, and then the formulas a b d(a,b) =

96 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 C5: =IF(D4=5,0.5+C4,C4), D5: =IF(D4=5, 5,0.5+D4), and afterwards filling down the two columns. In Column E we compute the distance from each point to the center, and then use an =IF function in Columns F:G to reproduce only those ( ) values from Columns C:D whose distance from ( ) is r, otherwise returning NA(). We insert the values in Columns F:G into the chart, showing the points as green markers. We can use a similar technique to generate other structures such as bisectors and analogs of various conic sections. With our model we vary the values of the center and radius to see the resulting output and to discover patterns. In using =IF statements involving equality with real numbers, we need to be aware of round-off considerations A B C D E F G distance 4 grid points ball outline x y x y dist x y #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A Figure 3.5. Taxicab Circle Special Layout From the observations above, it is straight-forward to discover one way to create taxicab circles or balls of radius r. A closed ball contains the boundary, while the open one contains no boundary points. We simply plot the four points that are located r units horizontally and vertically from the center and connect them with line segments (Figure 3.6). We can also verify our findings algebraically if desired. We fill in the interior to produce a closed ball of radius 2 using a variation of the technique addressed previously (0,1) 1 (0,1) 1 (0,1) Figures 3.6 Taxicab Circle with Corresponding Closed and Open Balls Finding all points that are equidistant from two given points is more difficult to do in the taxicab metric. A good approach is first to examine the output a grid model. We see what may be surprising output in Figure 3.7a. By studying patterns and realizing that the location of the two points influences the resulting outcome, we can produce an animated version as seen in Figures 3.7b, although alternate constructions are possible. 96

97 Applied Mathematics and Technology Journal No 01, 05/ Figure 3.7 Locus of Points Equidistant from Two Given Points (Taxicab) From our grid model we will find a bigger surprise. Sometimes, there is a whole region of points that are equidistant from the two points, as in Figure 3.8a. After further investigations, we can discover that this happens when the horizontal and vertical distances between the points are equal. We can then use our discoveries to create a more sophisticated animated graph such as in Figure 3.8b. This example is enhanced by using a scroll bar to vary r. Consult [5] to find a wealth of other interesting taxicab aspects to pursue Figure 3.8 Special Case Equidistant Points The taxicab metric provides students with a superb metric for creating a new class of geometric figures by adapting classical Euclidean definitions. For example, consider an ellipse as the set of all points for which the sum of the distances from two fixed points is a constant. We can explore Excel grid displays to discover the pattern for generating these as illustrated in Figure 3.9. We create grid points down Columns A:B and show the two fixed points in Columns C:D. We compute the distances from each grid point to fixed points in Columns E:F, and their sum in Column G. Then in Columns H:I we use =IF formulas to reproduce only those coordinates (x,y) the sum of whose 97

98 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 distances to the fixed points are a given value. By experimenting, we can see how to generate the taxicab ellipse from the corners of the rectangle determine by the fixed points A B C D E F G H I grid p points ellipse x y x y d(p,a) d(p,b) sum x y #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A (4,4) (0,-1) Figure 3.9 Discovering the Creation of Taxicab Ellipses As a result of our discoveries we next use our observations to create an xy-graph as in Figure 3.10, where we also have used some creativity to show the taxicab distances from points on the ellipse. We then can animate our model to see how the distances vary at points around the ellipse by incorporating a scroll bar. We also can examine how the shape changes by varying the given distance Figure 3.10 xy-chart of a Taxicab Ellipse 3.3. Maximal Metric: In the metric space for the maximal metric we again use R, but the distance now is given by the expression (( ) ( )) ( ). We can define a similar metric on R as follows. Let ( ), ( ), then ( ). We will notice (Figure 3.11) that balls in R² are squares with sides parallel to the axes, while in R they are cubes, and in R they are hyper-cubes. 98

99 Applied Mathematics and Technology Journal No 01, 05/ (0,0) Figure 3.11 Open Ball in Maximal Metric 3.4. l p Metrics: With R, for any real number, we define the metric by (( ) ( )) ( ). If, then we get the Euclidean metric, while with we have the taxicab metric. We can define a similar metric in R by (( ) ( )) ( ). As we see in Figure 3.12, with Excel we can create the boundary of a ball in R² centered at ( ) with radius r much as we did for the Euclidean metric, via the parametric equations ( ), ( ), If we link the cell for the parameter p to a scroll bar in our model, then as we increase p we see what are sometimes called super ellipses. One can prove that for our definition satisfies the requirements for a metric. However, for this is not the case, since the triangle inequality fails (Figure 3.12b). Nonetheless, the curves produced for have geometric significance. For example, the curve for is an astroid [2]. Figure 3.12c shows unit circles for. As, the resulting metric approaches the metric, which is the same as the maximal metric. Members of the l p family of metrics are used in the fields of real analysis and statistics p = p = Figure 3.12 Unit Circles in 99

100 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ British Rail Metric: For this metric on R, the distance between two points ( ) and ( ) is defined by using the Euclidean distance that is needed to go first from a to the origin and then from the origin to b. Thus, d(a,a) = 0, while for a b, ( ) ( ) ( ) This metric s name is based on the British rail system, where rail line routes usually require traveling via London. In fact, most internal travel in Papua New Guinea on Air Niugini similarly requires travel via Port Moresby. Thus, the Air Niugini distance from Madang to Goroka is d(mag,gka) = d(mag,pom) + d(pom,gka) = 498 km km. = 924 km., while the actual direct distance is only 107 km. In Figure 3.13, both the airline s route map and its bird of paradise logo in were created in Excel, the latter using Euclidean circles almost exclusively. y Lihir Taububil Wapenamanda Tari Mendi Madang Goroka Port Moresby Popendetta Alotau x Air Niugini Figure 3.13 Air Niugini Flight Routes 3.6. Two Additional Interesting Metrics: Here we list two more metrics that can be studied by students. In the first, we let the X be the set of all finite closed intervals of the real line R. We define the distance between intervals A = [i,j] and B = [m,n] by d(a,b) = max( i m, j n ). Figure 3.14 illustrates the graphical output of an animated Excel model for this metric [ [ ] ] d = 5.0 Figure 3.14 Distance between Closed Intervals If d is any metric on a metric space X, then we can define a new metric,, by ( ) ( ) ( )) 100

101 Applied Mathematics and Technology Journal No 01, 05/2017 Starting with d as the usual Euclidean distance on R, the new distance of any point from the origin is ( ). In Figure 3.15 we use Excel to illustrate the distances from the origin to points on the real line as well as the triangle inequality. 10/11 9/10 8/9 7/8 6/7 5/6 4/5 3/4 2/3 1/2 0 1/2 2/3 3/4 4/5 5/6 6/7 7/8 8/9 9/10 10/ /6 3/4 2/ Figure 3.15 New Metric on R 3.7. Great Circle Metric: Here we let X be the points in R³ on a sphere of radius. The distance between points ( ) and ( ) is given by the shorter arc length of the great circle that passes through those points and the origin ( ). Using the dot product and related results from calculus or linear algebra, the angle (in radians) between the radii on the great circle to those points is given by ( ) ( ), where denotes the length of a vector and is the dot product. Thus, ( ). Excel s =SUMPRODUCT function gives the dot product. We have designed our illustrations in Figure 3.16 as rough static displays. The first one shows distances for coordinates with rectangular coordinates, while the second one uses longitude and latitude. From calculus, the relationship between spherical and rectangular coordinate systems is given by,,,. Readers are challenged to create a fully-animated graphical display for this model, perhaps incorporating drawings of geographical maps on the sphere s surface. a (x 1,y 1,z 1 ) (0,0,0) b (x 2,y 2,z 2 ) Mumbai 8743 km Madang, PNG 101

102 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Figure 3.16 Spherical Distances 3.8. Continuous Real Functions Distance Metric: Let [ ] be the set of real-valued continuous functions on the interval with metric ( ) [ ] ( ) ( ). With this definition of distance, it can be shown that X is a metric space. The definition says that the distance between two functions is determined at the point,, where the two functions are the farthest apart. This is illustrated by the graph in Figure 3.17b. We use the model of Figure 3.17a for functions in [ ] to find the distance between ( ) and ( ), where n is a parameter (Cell C3) of the model. There are at least three ways in which we can either determine or closely estimate this distance between two functions: (a) We can use calculus to compute the derivative of to determine the maximum value of ( ) ( ). We enter the calculated value of in Cell E3, computing the distance between the functions in Cell E4. (b) We can input an estimate for the point at which the maximum distance occurs (Cell E3), enter the distance formula in Cell E4, and then use Excel s solver tool to find the maximum of E4 by varying E3. (c) We can use Column D to compute ( ) ( ) for each x, and use Excel s =MAX function to find the greatest in Column D. Column E lets us find the corresponding point,. Of course, (c) only gives an approximation, since the actual, as the maximum will seldom be exactly one of the values in Column D A B C D E f 1 (x) = x f 2 (x) = x n n > 1 n = 3 x max 0.58 d(f 1,f 2 ) functions x f 1 (x) f 2 (x) f 1 f 2 x max f 1 (x)=x 1.0 f 2 (x)=x 0.9 n n = d(f 1,f 2 ) = f1 f d(f 1,f 2 ) = Series f1 f2 Figure 3.17 Metrics using the Maximum Distance and the Area between Functions 3.9. Continuous Real Functions Area Metric: Let [ ] be the space of continuous functions over the interval, and ( ) ( ) ( ). Thus, the distance between functions and is the net area between their graphs. We find this using calculus, although we could enter formulas for the areas of certain functions in advance. In the illustration of Figure 3.17c we have ( ) and ( ) as functions in [ ]. Because the curves intersect, we need to compute the integral in segments. We factor ( ) ( ) ( )( ), and evaluate the following integrals to find the area. ( ) ( ( ) ( )) ( ( ) ( )) ( ( ) ( )) 102

103 Applied Mathematics and Technology Journal No 01, 05/ Selected Topics from the Study of Metric Spaces Besides using Excel to illustrate and find distances for metric spaces, we can use its models to discover patterns, illustrate topology and geometry properties, and understand the ideas behind proofs of such topics as the continuity of functions, the convergence of sequences, and others through creative spreadsheet techniques Open and Closed Sets: A subset S of a metric space X is open if for each there is a real > 0 for which the open ball ( ) centered at is contained in S. In Euclidean R space, using scroll bars to vary and, in Figure 4.1 we illustrate the definition, by showing that the open interval ( ) is an open set, while ( ] is not. Thus, we see that for ( ), with = 0.1 the interval ( ) S, with a similar result holding for any. On the other hand, we notice that if ( ] then no matter how small we choose, the interval ( ) contains points that are not in S. ( ( ) ) x ( ] x 0 ( ) Figure 4.1 Open and Non-open Sets in R The diagrams in Figure 4.2 come from a similar model for R² in which we can vary the metric used in the illustration by clicking a spin button, and vary the radius of an open ball with a scroll bar. We see that the physical size of these balls of the same radius vary with the metric that is used r = r = Figure 4.2 Inserting an Open Ball in an Open Set for Different Metrics 103

104 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Visualizing Proofs and Definitions: In a class that involves proving results, many students initially have difficulties in learning how to carry out, or even to understand, proofs. In a standard classroom, instructors typically help students to visualize these aspects by drawing images on a board. Although it takes more time to create similar images on Excel, doing so can allow us to create animated drawings that can provide additional insights into these aspects. In Figure 4.3a we see a drawing illustrating a step in the proof that the intersection of three open sets is open. Figure 4.3b illustrates how to produce an open ball centered at a given point so that it fits inside another open ball. Thus if the larger open ball centered at (x 0,y 0 ) has radius r 0 and a point (x 1,y 1 ) is d units away from the center, then an open ball centered at (x 1,y 1 ) with radius r 0 d is contained within the larger ball. Both students and their instructors can create similar 2-dimensional models for a variety of theorems and illustrated by various metrics B A C r (x 0,y 0 ) d 1 (x 1,y 1 ) r 0 d Figure 4.3 Illustrating Proofs Concerning Open Sets In Figure 4.4 we illustrate the definition of the diameter of an arbitrary set (here using the Euclidean metric in R²), by choosing two arbitrary points on the boundary of a set created by the polar equation, and then using Excel s solver to maximize the distance between two points, while including constraints that insure points lie on the boundary d= d=

105 Applied Mathematics and Technology Journal No 01, 05/2017 Figure 4.4 Visualizing the Diameter of a Set (before and after Solver) 4.3. Limits, Continuity, and Convergence: In this section we look at a brief selection of basic topics from metric spaces, calculus, and similar topics. We say that a sequence of points p 1, p 2, p 3, of a metric space X converges to a point a if for any ε > 0 there is a positive integer N so that if n N, then p n is in the open ball of radius ε centered at a. In Figure 4.5 we see a sequences of points (x n,y n ) in R² that converges to (1.0,2.0). If ε = 0.83, then all of the points p n for n 8 are contained in the open ball of radius ε centered at a (although some earlier elements are also in the ball), while if ε = 0.45, then all of the points p n lie in the required open ball if n 20, but p 19 does not. Our model can be animated by attaching the cell containing the value of ε to a scroll bar. 3.0 ε = 0.83 n = ε = 0.45 n = (1.0,2.0) (1.0,2.0) Figure 4.5 Convergence of a Sequence One of the basic goals in an analysis course is to prove results involving limits and continuity of functions. In Figure 4.6 we see the output of an interactive model for illustrating that the function R R given by ( ) ( ) is continuous at the point ( ). In Figure 4.6a, we generate grid points throughout the square region,, and produce their images in Figure 4.6b. Next, we plot the points a and ( ) in the respective graphs, and for an produce a green ball of radius around ( ) in the right graph. Next we choose a, form a red/yellow ball of radius around point a in the left graph, and then generate the red/yellow image of that set in the right graph. Finally, we attach a scroll bar to the cell that contains, and use it to adjust the value of until the image set is contained within the green set. We can also do the mathematical analysis to evaluate the required δ and modify the model so it updates automatically when δ is changed. 105

106 =1.51 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ r = a f(a) r = Figure 4.6 Interactive Illustration the Concepts of a - Proof in R² We next display two versions of traditional ways to visualize a - proof of the continuity of a function R R at the point, where ( ). In Figure 4.7, using the concept of limit, given an, we see a blue open interval of radius about ( ). We then select a to produce a red open interval about a, using a scroll bar to vary so that the image of the red interval lies within the blue -interval. We can also modify our model by calculating δ as a function of so that the graph is updated automatically as is varied b a -1.0 =0.30 Figure 4.7 Interactive Illustration the Concepts of a Traditional - Proof in R In Figure 4.8 a second version of the previous example consists of two intervals, one for the domain and the other for the range. It is a one-dimensional version of the approach that we used in our earlier two-dimensional model. Again we vary the - and -intervals with scroll bars. 106

107 Applied Mathematics and Technology Journal No 01, 05/ Range 4 ( ( ) ) Domain 1.82 ( ) Figure 4.8 Alternate Illustration of a - Proof in R 5. Classical Inequalities By its nature, the study of metric spaces involves using a variety of classical inequalities, especially in verifying the triangle inequality for distances. There are a number of resources available to both the proofs and visualization of inequalities [1], [7], [8]. Here we present two. First, in Figure 5.1 we show an animated geometric Excel model animated using scroll-bars for a two point version in R² for the classical Cauchy-Schwarz inequality. Also see [10]. Since the white areas are equal, and the area of a trapezoid is less than or equal to a rectangle with the same sides, we see that for,, or ( ) x 1 y 2 x 2 x 2 (x 12 +x 22 ) 1/2 y 1 y 1 y 1 (y 12 +y 22 ) 1/2 x 2 y 2 x 1 y 2 x 1 Figure 5.1 Cauchy-Schwarz Inequality in R² Next we look at Hölder s Inequality. As a preliminary step, we illustrate Young s Inequality [9]: Let f and g be strictly increasing functions on [ ), with, and ( ) ( ). Then for, 107

108 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 ( ) ( ) In the Figure 5.2, the curve represents ( ) relative to the x-axis, and ( ) relative to the y-axis. The yellow area gives the first integral, and the purple area is the second integral. In both cases shown, the area of the rectangle, ab, does not exceed the sum of the areas under the curves. We use the functions ( ) and ( ) in the illustration. b b a a Figure 5.2 Young s Inequality Then, if, let ( ) and ( ) ( ), we have ( ) ( ) and ( ). Next, using Young s inequality with ( ) with equality when. Now let ( ) ( ) With, and ( ) ( ), ( ) ( ) so that summing these terms Multiplying by AB then gives Hölder s inequality 108

109 Applied Mathematics and Technology Journal No 01, 05/2017 ( ) ( ) 6. Some Related Projects There is a large range of other metrics to examine [4]. For projects, readers can consult the references for both metric spaces and other topics. Also, books on operations research, calculus, and geometry can provide other distance-related topics. We indicate some of these examples below. Figure 6.1 illustrates an algorithm to find the minimum distance from an initial node, S, to additional nodes in a network. One can design an interactive diagram, either with user-entered selections at each stage of an algorithm, or completely computed by the spreadsheet. The field of operations research provides us with a large selection of such applications. Figure 6.2 shows animated Excel classical physical Euclidean constructions. 0 S 7 6 A C D 13 F T 3 B E 3 5 G 11 7 Figure 6.1 Minimal Distance Network Algorithm 5 4 b 3 2 (3.0,2.5) ( c,0) (c,0) a Figure 6.2 Two Geometric Constructions 109

110 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 References [1] Alsina, A. and Belsen, R. (2009). When Less is More Visualizing Basic Inequalities. Dolciani Mathematical Expositions No. 36, Washington, DC: Math. Assn. of Am. [2] Arganbright, D. (1993). Practical Handbook of Spreadsheet Curves and Geometric Constructions. Boca Raton, FL: CRC Press. [3] Arganbright, D., Arganbright, S., Sai, A., and Kopi, S. (2010). Rainbow Alphabet Books. Madang, Papua New Guinea: Divine Word University Press. [4] Deza, M. and Deza, E. (2013). Encyclopedia of Distances, 2 nd ed. Berlin: Springer. [5] Krause, E. (1986). Taxicab Geometry. New York: Dover. [6] Neuwirth, E. and Arganbright, D. (2004). The Active Modeler: Mathematical Modeling with Microsoft Excel. Belmont, CA: Cengage. [7] Searcoid, M. (2007). Metric Spaces. London: Springer. [8] Shirali, S. and Vasudeva, H. (2006). Metric Spaces. London: Springer. [9] Tolsted, E. (1964). An Elementary Derivation of the Cauchy, Hölder, and Minkowski Inequalities from Young s Equation. Mathematics Magazine, vol. 37. Washington, DC: Math. Assn. of Am. Supplementary Electronic Materials [10] Boucher, Chris. A Visual Proof of the Cauchy-Schwartz Inequality in 2D, You Tube video. [11] Arganbright, D. 1 Road Distance, Excel 2010 file. [12] Arganbright, D. 2 Drawing Circles, Excel 2010 file. [13] Arganbright, D. 3 Taxicab Metric, Excel 2010 file. [14] Arganbright, D. 4 Euclidean Bisecting, Excel 2010 file. [15] Arganbright, D. 5 Taxicab Bisecting, Excel 2010 file. [16] Arganbright, D. 6 Taxicab Ellipses, Excel 2010 file. [17] Arganbright, D. 7 Metric Space Balls, Excel 2010 file. [18] Arganbright, D. 8 The l p Metric Spaces, Excel 2010 file. [19] Arganbright, D. 9 Other Metrics, Excel 2010 file. [20] Arganbright, D. 10 Function Metrics, Excel 2010 file. [21] Arganbright, D. 11 Introductory Theory Illustrations, Excel 2010 file. [22] Arganbright, D. 12 Limits, Excel 2010 file. [23] Arganbright, D. 13 Geometrical Examples, Excel 2010 file. 110

111 Applied Mathematics and Technology Journal No 01, 05/2017 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG A NEW COMBINATORIAL FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS D. E. BAYLERAN, DARREN J. FINNIGAN, ALAA HAJ ALI, KYUNGYONG LEE, CHRIS M. LOCRICCHIO, MATTHEW R. MILLS, DANIEL PUIG-PEY STIEFEL, THE MINH TRAN, RAFAL URBANIUK Abstract. Cluster algebras were first introduced by S. Fomin and A. Zelevinsky in Since then, an important question has been how to explicitly construct good bases in them, that is, bases having positive structure constants, containing the cluster monomials, etc. There currently exists a formula for the cluster variables of cluster algebras associated to polygons in terms of T -paths, which has been modified and generalized to cluster algebras coming from surfaces. However, this formula does not seem to directly generalize to arbitrary cluster algebras. In this paper, we give a new (and more compact) combinatorial formula for all cluster monomials of the cluster algebra associated to any equioriented type A quiver, in terms of compatible subpaths on maximal Dyck paths. This formula has the potential to generalize to cluster algebras beyond the ones coming strictly from surfaces. 1. introduction A (skew-symmetric) cluster algebra A is a subalgebra of a rational function field with a distinguished set of variables (cluster variables), grouped into overlapping subsets (clusters), and defined by a recursive procedure (mutation) on quivers. A cluster monomial is a monomial in the elements of any cluster. It is expected that each cluster algebra admits a good basis, that is, a basis having positive structure constants, containing the cluster monomials, etc. Caldero and Keller [1] showed that the cluster monomials form a basis of the cluster algebra if and only if there is only a finite number of cluster variables. Recently Cerulli Irelli, Keller, Labardini-Fragoso and Plamondon [2] proved that the cluster monomials are linearly independent for all cluster algebras associated to quivers. Given any quiver Q without loops and 2-cycles, a unique (coefficient-free) cluster algebra A(Q) (up to isomorphism) can be defined. In this paper we deal with the quiver Q = n. It is well known that every quiver whose underlying graph is the Dynkin diagram of type A n can be obtained from this quiver by a finite sequence of mutations. In order to make some arguments simpler, we actually consider an extended quiver Q = n n + 1, Date: September 28, Mathematics Subject Classification. 13F60. Key words and phrases. cluster algebra. The address of the corresponding author : klee@math.wayne.edu

112 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 2 BAYLERAN ET AL where 0 and n + 1 are frozen vertices. In [8], Schiffler (independently Carroll-Price and Fomin-Zelevinsky) obtained a formula for the cluster variables of A(Q) in terms of T -paths. This formula has been generalized to cluster algebras coming from surfaces [6, 7, 9, 10]. However it does not seem to directly generalize to arbitrary cluster algebras. In this paper we give a new (and more compact) combinatorial formula for all cluster monomials of A(Q) in terms of compatible subpaths on maximal Dyck paths. In [5] the cluster monomials of rank 2 quivers, which do not necessarily come from surfaces, are described in terms of Dyck paths. We hope that Dyck path formulae may generalize to cluster algebras beyond the ones coming strictly from surfaces. This article is organized as follows. In Section 2, we introduce our main result. Section 3 gives a proof of the formula for cluster variables using results from [8]. In Section 4 we prove the main result. Finally, in Section 5, we prove the equivalence our definition to a special case of the more general definition in [5, Definition 1.10]. Acknowledgments. We are grateful to Li Li and Dylan Rupel for their valuable comments. 2. Main result Let (a 1, a 2 ) be a pair of nonnegative integers. Let m = min(a 1, a 2 ). A maximal Dyck path of type a 1 a 2, denoted by D = D a 1 a 2, is a lattice path from (0, 0) to (a 1, a 2 ) that is as close as possible to the diagonal joining (0, 0) and (a 1, a 2 ), but never goes above it. A corner is a subpath consisting of a horizontal edge followed by a vertical edge. Let D 1 = {u 1,..., u a1 }, where u i is the horizontal edge of the i-th corner for i [1, m] and u m+i is the i-th of the remaining horizontal ones for i [1, a 1 m]. Let D 2 = {v 1,..., v a2 }, where v i is the vertical edge of the i-th corner for i [1, m] and v m+i is the i-th of the remaining vertical ones for i [1, a 2 m]. u 4 v 4 u 6 u 3 v 3 u 2 v 2 u 5 u 1 v 1 Figure 1. A maximal Dyck path. Definition 2.1. Let S 1 D 1 and S 2 D 2. We say that S 1 and S 2 are locally compatible with respect to D if and only if no horizontal edge in S 1 is the immediate predecessor of any vertical edge in S 2 on D. Remark 2.2. Notice that we have: P(D 1 ) P(D 2 ) possible pairs for (S 1, S 2 ), where P(D 1 ) denotes the power set of D 1 and P(D 2 ) denotes the power set of D 2. Further, when either S 1 or S 2 =, any arbitrary choice of the other will yield local compatibility by our above definition. 112

113 Applied Mathematics and Technology Journal No 01, 05/2017 A NEW FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS 3 For an integer x, denote max(0, x) by [x] +. Definition 2.3. Let (a 1, a 2,..., a n ) be a n-tuple of integers. Let a 0 = a n+1 = 0. Denote D [a i] + [a i+1 ] + by D (i). Let S i,j D (i) j for i [0, n], j [1, 2]. We say that the collection of S i,j is globally compatible if and only if (1) S i,1 and S i,2 are locally compatible with respect to D (i) for all i [1, n 1]; (2) v (i) k S i,2 if and only if u (i+1) k S i+1,1 for all i [0, n 1] and all k. Definition 2.4. For each a = (a 1, a 2,..., a n ) Z n, we define a Laurent polynomial ( n ) n x[a] := x a i i x S i,2 i x S i,1 i+1, i=1 where the sum runs over all globally compatible collections (abbreviated GCCs) on D (0)... D (n). Let Q = n and Q = n n + 1. The following is our main result. Theorem 2.5. x[a] are cluster monomials of A(Q, Q ). Conversely, every cluster monomial is of the form x[a]. In particular, if x 0 = x n+1 = 1, then x[a] form the (dual-)canonical basis for A(Q). i=0 3. Cluster Variables In this section we show that every cluster variable is of the form x[a] using results from [8]. We explicitly describe all such x[a]. Let n be a positive integer, and let P be a regular polygon with n + 3 vertices. Let {v 0,..., v n+2 } be the set of vertices of P where v 0 is a vertex of P and v i is the i-th vertex counterclockwise from v 0. A diagonal of P is a line segment connecting two non adjacent vertices. Two diagonals are said to be crossing if they intersect in the interior of P. A triangulation of P is a maximal set of non-crossing diagonals together with the boundary edges of P. Our initial triangulation of P will consist of the set T = {T 0,..., T n+1, T n+2,..., T 2n+2 }, where T i is the edge/diagonal that connects v i and v n+2, for 0 i n + 1 and T j are the remaining edges of P for n + 2 j 2n + 2. See Figure 2. It is known that triangulations of the polygon P are in bijection with clusters of rank n. Therefore {T 1,..., T n } are in bijection with the cluster variables {x 1,..., x n }. It is known in [3] that the cluster monomials associated to the initial triangulation are equal to those associated to the quiver Q. We recall the definition of a T -path from [8]. Let w and v be two non-adjacent vertices on the boundary and let M w,v be the diagonal that connects w and v. 113

114 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 4 BAYLERAN ET AL v n+2 T 0 T1 T n+1 v 0 T n+2 v 1 T 2 T n T n+3 v 2 v n v n+1 T 2n+2 Figure 2. The initial triangulation of P Definition 3.1. [8] A T -path α from w to v is a sequence such that α = w 0 T i1 w1 T i2 w2 T i3 T il(α) w l(α) (1) w = w 0, w 1,..., w l(α) = v are vertices of P. (2) i k {0, 1,..., 2n + 2} such that T ik connects the vertices w k 1 and w k for each k = 1, 2,..., l(α). (3) i j i k if j k. (4) l(α) is odd. (5) T ik crosses M w,v if k is even. (6) If j < k and both T ij and T ik cross M w,v then the intersection point of T ij and M w,v is closer to the vertex w. For any T -path α, let where x n+2 =... = x 2n+2 = 1. x(α) = k:odd x ik k:even x 1 i k, Theorem 3.2. [8] Let M = M w,v and let x M be the corresponding cluster variable. Then x M = x(α). α : T -path from w to v We want to describe denominators of cluster variables. Definition 3.3. Let CV Z n be the set of all a = (a 1,..., a n ) such that (1) a i { 1, 0, 1} i [1, n]; (2) If a i = 1 and a i+k = 1 then a i+j = 1 for all j [1, k 1]; (3) If a i = 1 then a j = 0 for all j i. If a CV and a i = 1 for some i then x[a] is equal to x i. 114

115 Applied Mathematics and Technology Journal No 01, 05/2017 A NEW FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS 5 Throughout the remainder of this section, fix k [0, n 1], m [1, n k], and suppose that a is the element of CV such that { 1, if i [k + 1, k + m]; a i = 0, otherwise. Definition 3.4. Let M = M vk,v k+m+1 be the diagonal that connects the vertices v k and v k+m+1. Then {x k+1, x k+2,..., x k+m } represents the set of variables corresponding to the diagonals which M crosses. Let P denote the set of all T -paths from v k to v k+m+1, and W denote the set of all GCCs on D (k) D (k+m). Definition 3.5. For each β W, let β = (S (k),..., S (k+m) ) where S (i) is the subpath of D (i) consisting of the elements of the sets S i,1 and S i,2. Denote S (i) by (1) ( S i,1, S i,2 ) for i [k + 1, k + m 1]; (2) (, S i,2 ) for i = k; (3) ( S i,1, ) for i = k + m. Lemma 3.6. The following are the only possible T-paths: T n+k+2 T k+1 T k+m+1 α k = v k vk+1 vn+2 vk+m+1 ; α i = v k α k+m = v k T k vn+2 T i T n+i+2 T i+1 T k+m+1 vi vi+1 vn+2 vk+m+1, for i [k + 1, k + m 1]; T k T k+m T n+k+m+2 vn+2 vk+m vk+m+1. Proof. Using [8, Lemma 2.2], the first segment in the T -path should be either T k or the edge towards v k+1. If the T -path travels from v k along T k, then by the way triangulations were defined, the T -path necessarily travels toward v n+2. Since we require that T ik crosses M for k even, the T -path must next travel along a diagonal towards some v i where i [k + 1, k + m]. Then the only possible forward direction is to take the edge to v i+1. If i = k + m, the T - path is completed; otherwise the T -path should travel along the diagonal T i+1, which again returns the T -path to v n+2. Now, the edge needs to choose its i-th segment where i is odd. If the T -path travels along a diagonal which M crosses, it is impossible for it to travel along another diagonal which M crosses at the next even step. Thus the only edge available is T k+m+1, completing the T -path. Instead, if the T -path begins with the edge towards v k+1, it must next take the diagonal T k+1 toward the vertex v n+2. Again, the T -path cannot travel along an edge which M crosses at this odd step and it should end with the edge v k+m+1. Corollary 3.7. x(α k ) = x k+m+1 x k+1 ; x(α i ) = x kx k+m+1, for i [k + 1, k + m 1]; x i x i+1 x(α k+m ) = x k. x k+m 115

116 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 6 BAYLERAN ET AL x i x i+1 x i+2 φ( v i v i+1 ) = x i 1 x i x i+1 Figure 3. The map φ Lemma 3.8. Let φ : P W be defined by φ(α i ) = (β i ) = (S (k)... S (k+m) ) where For i = k (, 0) for j=k S (j) = (1, 0) for k + 1 j k + m 1 (1, ) for j = k + m For k + 1 i k + m 1 (, 1) for j=k (0, 1) for k + 1 j i 1 S (j) = (0, 0) for j = i (1, 0) for i + 1 j k + m 1 (1, ) for j = k + m For i = k + m (, 1) for j=k S (j) = (0, 1) for k + 1 j k + m 1 (0, ) for j = k + m Thus β i is a globally compatible collection for every i [k, k + m]. Proof. Fix i. It is clear from the construction that for every j [k+1, k+m 1], S (j) (1, 1). Thus S j,1 and S j,2 are locally compatible with respect to D (j). Also, for j [k +1, k +m 2], S j,2 = 1 if and only if S j+1,1 1. Thus to show global compatibility we only need to show: (1) S (k) = (, 1) if and only if S (k+1) (1, 0) (2) S (k+m 1) = (0, 1) if and only if S (k+m) (1, ) For (1), S (k+1) = (1, 0) if and only if i + 1 k + 1 k + m 1 and i k + m. This is equivalent to i = k, since i k. So, S (k+1) = (1, 0) iff i = k. But by the construction of φ, S (k) = (, 1) if and only if i k Thus S (k) = (, 1) if and only if S (k+1) (1, 0) For (2), S (k+m 1) = (0, 1) iff k + 1 k + m 1 i 1 and i k. Which is equivalent to i = k + m as i k + m. So, S (k+m 1) = (1, 0) iff i = k + m. But by the construction of φ, S (k+m) = (1, ) if and only if i k + m. Thus S (k+m 1) = (0, 1) if and only if S (k+m) (1, ) Lemma 3.9. For every β W there exists a unique α i P such that β = φ(α i ). 116

117 Applied Mathematics and Technology Journal No 01, 05/2017 A NEW FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS 7 Proof. Let β = (S (k),..., S (k+m) ) W. Case 1: Suppose S (k) = (, 0). The global compatibility of β implies that S (j) = (1, 0) for every j [k + 1, k + m 1] and S (k+m) = (1, ). It follows from the construction in Lemma 3.8 that β = φ(α k ). Case 2: Suppose S (k) = (, 1). Case 2.1: Assume that there exists i [k + 1, k + m 1] such that S (i) = (0, 0). Then the global compatibility of β implies that S (j) = (0, 1) for k + 1 j i 1, S (j) = (1, 0) for i + 1 j k + m 1, and S (k+m) = (1, ). It follows that β = φ(α i ). Case 2.2: Assume that S (i) (0, 0) for any i [k + 1, k + m 1]. Then the global compatibility implies that S (j) = (0, 1) for k + 1 j k + m 1 and S (k+m) = (0, ). It follows that β = φ(α k+m ). Lemma For every β i = φ(α i ) W, denote by Y (β i ) the Laurent monomial ( k+m u=k+1 x au u ) k+m u=k where {S u,j } is the globally compatible collection β i. Then x M = β i W Y (β i). x S u,2 u x S u,1 u+1 Proof. Using the construction in Lemma 3.8, for i = k, Y (β k ) = For i [k + 1, k + m 1], Y (β i ) = ( k+m u=k+1 ( k+m x au u u=k+1 ) x au u ) x k+2 x k+m+1 = x k+m+1 x k+1. x k x i 1 1 x i+2 x k+m+1 = x kx k+m+1 x i x i+1. For i = k + m, Y (β k+m ) = ( k+m u=k+1 x au u ) x k x k+m 1 = x k x k+m. This computation along with Corollary 4.7 yields the desired result. Example Let n = 2, and let k = 0 and m = 2. M = M v0,v 3 are illustrated as below. The T -Paths with respect to 117

118 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 8 BAYLERAN ET AL v 4 v 4 v 4 v 0 v 3 v 0 x 1 x 2 x 1 x 2 x 1 x 2 v 3 v 0 v 3 v 1 v 2 v 1 v 2 v 1 v 2 α 0 : v 0 v 1 v 4 v 3 α 1 : v 0 v 4 v 1 v 2 v 4 v 3 α 2 : v 0 v 1 v 4 v 3 x M = x(α 0 ) + x(α 1 ) + x(α 2 ) = x 3 x 1 + x 0x 3 x 1 x 2 + x 0 x 2 = x 3x 2 +x 0 x 3 +x 0 x 1 x 1 x 2 For each T -Path we give the corresponding GCC on Dyck Paths. x 2 x 2 x 2 x 1 β 0 = φ(α 0 ) x 1 β 1 = φ(α 1 ) x 1 β 2 = φ(α 2 ) Theorem If a CV then x M = x[a]. Conversely every cluster variable is equal to x[a] for some a CV. Proof. It follows from Lemmas 3.8, 3.9 and Definition Two distinct elements a, b CV are said to be disjoint if one of the following holds (1) a i = 1 for some i [1, n] and b i = 0; (2) b i = 1 for some i [1, n] and a i = 0; (3) { 1, if i [k + 1, k + m]; a i = { 0, otherwise 1, if i [j + 1, j + l]; b i = 0, otherwise and (a) k j and j + l k + m or (b) j + l + 1 k or (c) k + m + 1 j Corollary Two distinct elements a, b CV are disjoint if and only if x[a] and x[b] are in the same cluster. 118

119 Applied Mathematics and Technology Journal No 01, 05/2017 A NEW FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS 9 Proof. Let M and N the two diagonals in P that correspond to x[a] and x[b] respectively. In definition 4.13, in (1) x[a] = x i, in (2) x[b] = x i and in both cases a and b are disjoint if and only if N does not cross M which is identical to saying that x[a] and x[b] are in the same cluster. In (3) none of x[a] and x[b] is equal to any of the x i s, and (a), (b) and (c) represent all the cases where v j and v j+l+1 are both on the same side of M, i.e. they represent the cases where M and N do not cross which is equivalent to saying that x[a] and x[b] are in the same cluster. 4. Cluster Monomials Lemma 4.1. For any a Z n, a can be written uniquely as m a = k j b j j=1 where m n, k j Z >0, and the b j CV are disjoint. Proof. For a = (a 1,..., a n ), let L(a) = {(s, t) Z 2 1 s n, min(0, a s ) t max(0, a s )}. Each lattice point (s, t) with t < 0 naturally gives a vector (a 1,..., a n ) CV with a s = 1 and a i = 0 for i [1, n] \ {s}. For each t > 0, let L(a) t = {s [1, n] (s, t) L(a)}. Then each maximal connected interval of L(a) t, say [i, i + p], naturally gives a vector (a 1,..., a n ) CV with a 1 =... = a i 1 = 0, a i =... = a i+p = 1, a i+p+1 =... = a n = 0. It is clear by construction that these vectors in CV, which we call b j, are disjoint. Lemma 4.2. For any sequence (b 1,..., b m ) with disjoint b j (k 1,..., k m ) of positive integers, we have m m x[ k j b j ] = ( x[b j ]) k j. j=1 Proof. First we decompose (D (i) ) i [0,n] as follows. j=1 CV and for any sequence For (s, t), (s + 1, t) Z 2, let l (s,t) denote the line segment joining (s, t) and (s + 1, t). If (s, t) L(a) with t < 0 then assign to l (s,t) the empty path. Suppose t < 0. If (s, t), (s + 1, t) L(a) then assign to l (s,t) the subpath consisting of u (s) t and v (s) t. If (s, t) L(a) but (s+1, t) L(a) then assign to l (s,t) the edge u (s) t. If (s+1, t) L(a) but (s, t) L(a) then assign to l (s,t) the edge v (s) t. For each maximal connected interval, say [i, i + p], of L(a) t with t > 0, let D([i, i + p]) be the collection of Dyck paths assigned to i+p s=i 1 l (s,t). Then each GCC on (D (i) ) i [0,n] can be decomposed into GCCs on the empty paths and (copies of) D([i, i + p]). Conversely GCCs on the empty paths and (copies of) D([i, i + p]) 119

120 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ BAYLERAN ET AL constitute a GCC on (D (i) ) i [0,n], because local compatibility is determined by subsets of corners. So the desired statement is obtained. The main result follows from Theorem 3.12, Corollary 3.14, Lemma 4.1, and Lemma 4.2. Example 4.3. Let n = 7 and a = (1, 4, 4, 3, 2, 3, 3). Then the corresponding collection of Dyck paths is given as below We decompose these Dyck paths into subpaths v (1) 4 u (2) 4 v (2) 4 u (3) 4 v (1) 3 u (2) 3 v (2) 3 u (3) 3 v (3) 3 v (5) 3 v (6) 3 u (4) 3 u (6) u (7) 3 3 v (1) 2 u (2) 2 v (2) 2 u (3) 2 v (3) 2 u (4) 2 v (5) 2 u (6) 2 v (6) 2 u (7) 2 v (0) 1 u (1) 1 v (1) 1 v (2) 1 u (2) 1 u (3) 1 v (3) 1 u (4) 1 v (5) 1 u (6) 1 v (6) 1 u (7) 1 O The collection of Dyck paths in each red box corresponds to a cluster variable. The above decomposition explains the following identity x[(1, 4, 4, 3, 2, 3, 3)] = x[(1, 1, 1, 1, 0, 0, 0)]( x[(0, 1, 1, 1, 0, 0, 0)]) 2 x[(0, 1, 1, 0, 0, 0, 0)] ( x[(0, 0, 0, 0, 0, 1, 1)]) 3 ( x[(0, 0, 0, 0, 1, 0, 0)])

121 Applied Mathematics and Technology Journal No 01, 05/2017 A NEW FORMULA FOR CLUSTER MONOMIALS OF EQUIORIENTED TYPE A QUIVERS Extending Definition 2.1 to a more general case In an attempt to generalize our method as much as possible, in this section we show the equivalence of our definition of locally compatible pairs (definition 2.1), to a special case of the more general definition given in [5]. First, we define some necessary terminology as stated in [5]: Let D = D a 1 a 2. Let D 1 = {u 1,..., u a1 } be the set of horizontal edges of D indexed from left to right, and D 2 = {v 1,..., v a2 } be the set of vertical edges of D indexed from bottom to top. *Note that this indexing is different from the indexing given in Section 3. Given any points A and B on D, let AB be the subpath starting from A, and going in the Northeast direction until it reaches B (if we reach (a 1, a 2 ) first, we continue from (0, 0)). By convention, if A = B, then AA is the subpath that starts from A, then passes (a 1, a 2 ) and ends at A. If we represent a subpath of D by its set of edges, then for A = (i, j) and B = (i, j ), we have { {uk, v AB = l : i < k i, j < l j }, if B is to the Northeast of A; D {u k, v l : i < k i, j < l j}, otherwise. We denote by (AB) 1 the set of horizontal edges in AB, and by (AB) 2 the set of vertical edges in (AB). Also, let (AB) o denote the set of lattice points on the subpath AB excluding the endpoints A and B (here (0, 0) and (a 1, a 2 ) are regarded as the same point). Further, let r be the number of edges between two vertices of a rank 2 equioriented quiver. Definition 5.1. [5, Definition 1.10] For S 1 D 1, S 2 D 2, we say that the pair (S 1, S 2 ) is locally compatible if for every u S 1 and v S 2, denoting by E the left endpoint of u and F the upper endpoint of v, there exists a lattice point A EF o such that (AF ) 1 = r (AF ) 2 S 2 or (EA) 2 = r (EA) 1 S 1. To motivate the proposition that these definitions are in fact equivalent for r = 1, consider D 2 2, the maximal Dyck path from (0, 0) to (2, 2). Computing the locally compatible pairs of D 2 2 using both definitions 5.1 and 2.1, we have ({u 1 }, {v 2 }) and ({u 2 }, {v 1 }) as the only non-trivial locally compatible pairs. Proposition 5.2. The definitions 5.1 and 2.1 for local compatibility are logically equivalent for r = 1. Proof. For the pair (S 1, S 2 ) D 1 D 2, assume that for all u i S 1 and all v j S 2, there exists a lattice point A such that either (AF ) 1 = (AF ) 2 S 2 or (EA) 2 = (EA) 1 S 1 holds, that is, the pair (S 1, S 2 ) is locally compatible by definition 5.1. This directly implies that no horizontal edge u i S 1 is the immediate predecessor of any vertical edge v j S 2. Otherwise, if we have such a u i S 1 and v j S 2, then there will be only one lattice point A EF o arising from u i and v j, which in turn will yield: (AF ) 1 = 0 and (AF ) 2 S 2 = 1, 121

122 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ BAYLERAN ET AL and also: (EA) 2 = 0 and (EA) 1 S 1 = 1, which shows that such a pair does not satisfy our initial assumption. Thus, the pair (S 1, S 2 ) is locally compatible by Definition 2.1. Now we assume that for the pair (S 1, S 2 ) D 1 D 2, no horizontal edge u i S 1 is the immediate predecessor of any vertical edge v j S 2, that is, the pair (S 1, S 2 ) is locally compatible by Definition 2.1. Let m be the slope of the main diagonal of the maximal Dyck path D. We proceed by cases: Case 1: m 1. Fix a v j S 2, and let F be the upper end point of v j. The immediate predecessor of this v j will be a horizontal edge, by the definition of a maximal Dyck path. Let A be the left end point of this horizontal edge (notice by our assumption this horozontal edge is / S 1 ). Since any u i S 1 (and its left endpoint E) is before this horizontal edge (by our above definition of EF ), we have (AF ) 1 = 1 = (AF ) 2 S 2. Case 2: m > 1. Fix a u i S 1. In this case, the immediate successor of u i will be a vertical edge. Let A be the top end point of the vertical edge. Since any v j S 2 is after this vertical edge, we have (EA) 2 = 1 = (EA) 1 S 1. Thus, the pair (S 1, S 2 ) is locally compatible by Definition 5.1. References [1] Philippe Caldero and Bernhard Keller, From triangulated categories to cluster algebras, Invent. Math. 172 (2008), [2] Giovanni Cerulli Irelli, Bernhard Keller, Daniel Labardini-Fragoso and Pierre-Guy Plamondon, Linear independence of cluster monomials for skew-symmetric cluster algebras, Compositio Math. 149 (2013) [3] S. Fomin, M. Shapiro and D. Thurston, Cluster algebras and triangulated surfaces. Part I: Cluster complexes, Acta Mathematica 201 (2008) [4] S. Fomin and A. Zelevinsky, Cluster algebras I: Foundations, J. Amer. Math. Soc. 15 (2002) [5] K. Lee, L. Li and A. Zelevinsky, Greedy elements in rank 2 cluster algebras, Selecta Math. (N.S.) 20 (2014) [6] G. Musiker and R. Schiffler, Cluster expansion formulas and perfect matchings, J. Alg. Comb. 32 (2010) [7] G. Musiker, R. Schiffler and L. Williams, Positivity for cluster algebras from surfaces, Advances in Math. 227 (2011) [8] R. Schiffler, A cluster expansion formula (A n case), Elec. J. Comb. 15 (2008) #R64 1. [9] R. Schiffler and H. Thomas, On cluster algebras arising from unpunctured surfaces, Int. Math. Res. Not. 17 (2009) [10] R. Schiffler, On cluster algebras arising from unpunctured surfaces II, Advances in Math. 223 (2010) Department of Mathematics, Wayne State University, Detroit, MI

123 Applied Mathematics and Technology Journal No 01, 05/2017 Zombie Population Modelling Victoria Lang Sungkyunkwan University Suwon, , Korea 1 Sang-Gu Lee Sungkyunkwan University Suwon, , Korea Jae Hwa Lee Sungkyunkwan University Suwon, , Korea APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Copyright by The Electronic Journal of Mathematics and Technology Abstract While the usage of powerful mathematics software packages plays a key role in mathematics courses such as calculus, linear algebra, etc., shortcomings in these software packages exist namely, issues of price, portability, and integration into a dynamic classroom technological environment. With these limitations in mind, this research expounds upon the mentally stimulating Zombie Population Models first developed by Munz, Hudea, Imad, and Smith[8]. Specifically, we modify these models to be visualized online via Sage, an open-source mathematics software based in the Python programming language, that allows for direct user interaction. Sage is very portable and does not require the user to download large software packages or learn extremely confined programming languages. We then focus on viewing mathematically realistic population trajectories for the different classes of zombies from Left 4 Dead, Valve Corporation s immensely popular zombie video game series. All outcomes are numerically (and visually!) realized with online Sage tools, constructed using command in Sage, and are available for viewing, manipulation, and use in a mobile environment at 1. Introduction The outbreak and spread of virulent diseases, such as malaria, measles, smallpox, etc., is a subject that has remained a subject of interest in the academic community. By creating mathematical models of an epidemic, scientists can identify trends and patterns inherent in the spread of the disease and, accordingly, implement isolation or vaccination plans to stop its transmission. As well, mathematical models of infections (part of the larger study of the distribution and effects of epidemics called epidemiology) can also provide clues to the cause of the disease and lead to eradication from the source. Various epidemic models including SIR, SIS, SIRS, SEIS, SEIR, etc. have been studied for many years. For more detailed information, see [2]. The reanimated dead (i.e. zombies ) have a strong story-telling basis throughout history and have fascinated cultures across the world for centuries. In this paper, we will briefly examine basic models for zombie infection introduced by Munz, Hudea, Imad, and Smith [8], expanding upon the well- 1 Corresponding author 123

124 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 known SIR epidemiological model 2. Specifically, we modify these models to be visualized in order to allow for direct user interaction and easy viewing of realistic population trajectories for the different classes of zombies from Left 4 Dead 3, Valve Corporation s video game series that revolves around players surviving a pandemic of aggressive zombie-ism. Figure 1: Left 4 Dead, a cooperative zombie video game, and similar video game titles Sage, System for Algebra and Geometry Experimentation, was developed by William Stein with a development group at the University of Washington and mathematicians from around the world [5,12]. It was developed for the express purpose of doing mathematical computations without having to purchase, download, install, and learn the complex code confined to other gargantuan computer algebra system (CAS). Sage has been released on its website: Furthermore, Sage has a client-server model which is well-adapted to the internet and allows for easy embedding and programming of Sage commands (called Sage cells) into any website [6]. In light of this, we have developed Sage interactive visualization modules for Zombie population models. In particular, these Zombie models introduce different classes, subtypes, and dynamics into the standard population model. The construction of interactive models via Sage, which have been uploaded both to our Sage server and hosted privately, is a significant tool in understanding both the mathematics of population modeling and how small changes in initial parameters initial population, infection rate, encounter rate, etc. - can result in vastly dissimilar dynamics later. We seek to provide a comprehensive look at using Sage and interactive commands to create web tools that suit the user's mathematical needs. 2. The Basic Zombie Population Modelling The model we will be analyzing and modifying is the basic zombie model ( SZR model) of Munz, Hudea, Imad, and Smith [8]. This model was first developed by David Joyner and is detailed in his lecture notes titled Love, War, and Zombies Systems of Differential Equations using Sage [9]. (For consistency purposes, we will use the same variable names as Joyner in order to avoid confusion and for overall ease of comprehension.) This model is extremely well-known in the epidemiology community, so we will provide only a cursory explanation of the variables and equations used. For the complete analysis, refer to [8]. This simple model considers the following three classes, Susceptible (S), Zombie (Z), and Removed (R). They are governed by their corresponding system of differential equations: 2 Kermack, W.O. and McKendrick, A.G. A Contribution to the Mathematical Theory of Epidemics, Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character, 115 (772), pp ,

125 Applied Mathematics and Technology Journal No 01, 05/2017 (1) S = Π βsz δs (2) Z = βsz + ζr αsz (3) R =δs+αsz ζr Solutions to the above model are numerically approximated within Sage using the desolve_system_rk4 function 4, which numerically solves the initial value problem for a system of first order equations and returns a list of points (that are then plotted in a easy-to-view graph) using the 4th order Runge-Kutta method. And we have adapted the model to an interactive framework where students can access the mode and manipulate variables without any prior programming knowledge or the need to install supplementary software. The base for the code, developed within Sage, is provided def zombies(s1= slider(1,50,1,20,label='initial amount of humans'), z1 = slider(1,50,1,5,label='initial amount of zombies'), r1 = slider(1,50,1,5, label='initial amount of removed (infected) humans'), a = slider(0,1,0.001,0.005,label='humans kill zombies rate'), b = slider(0,1,0.001,0.004,label='zombies kill human rate'), zeta = slider(0,1,0.001,0.009,label='resurrection rate'), d = slider(0,1,0.001,0.002,label='death rate of humans (from natural causes)'), timelim = slider(1,80,1,30,label='maximum time')): x,y,t,s,z,r=var('x,y,t,s,z,r') B=0.0 P=desolve_system_rk4([B-b*s*z-d*s,b*s*z-zeta*r-a*s*z,d*s+a*s*z-zeta*r],[s,z,r], ics=[0,s1,z1,r1],ivar=t,end_points=timelim) Ps = list_plot([[t,s] for t,s,z,r in P],plotjoined=True) Pz = list_plot([[t,z] for t,s,z,r in P],plotjoined=True,rgbcolor='red') Pr = list_plot([[t,r] for t,s,z,r in P],plotjoined=True,rgbcolor='black') show(ps+pz+pr) Table 1: Sage code (web address 5) We shall provide an overview for the construction of this interactive Sage cell: first, the entire display tool is defined as a function (here called zombies) that takes in eight distinct parameters. Unlike more primitive data types as arguments for a function, since this is an interactive model, the arguments are labeled sliders that can take on a range of values as defined by the user. The very first line wraps the function zombie is what truly transforms it into an interactive cell, allowing for those with only a cursory understanding of Python or other programming languages to edit, comprehend the code, and plot solutions. For example, instead of a static value for a, the humans killing zombie rate, the users (not the programmer) can define the value with an easy-to-use sliding tool that ranges from 0 to 1. This makes the model not only easier to alter as a student, but also makes the resulting changes more intuitive and does not rely on the user needing an extensive knowledge of programming. Then, using the desolve_system_rk4 function, the 4 Solve numerically a system of first-order ordinary differential equations using the 4th order Runge-Kutta method. See For the mathematical background of R unge- Kutta methods, see Griffiths, D. F. and Higham, D. J. Numerical Methods for Ordinary Differential Equations: In itial Value Problems, Springer,

126 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 system of differential equations is solved numerically. Finally, all trajectories are plotted for each population in question, labels are provided for ease of reading, and one graph containing all trajectories is shown to the user. And a sample of the developed Sage code, all parameters that can be altered directly by the user, and the resulting trajectories are provided below 5. Figure 2: Basic Zombie model While the 4th order Runge-Kutta method is not the only method for solving this system, it is the method that has the most literature associated with it; especially for the specific topic of zombie population modeling with Sage, desolve_system_rk4 is used almost solely. However, for those seeking a more mathematically rigorous method, readers can refer to the dopri5 set integrator method in scipy.integrate.ode [11], implemented in SciPy (also callable within Sage), which uses the adaptive Dormand-Prince model [4] allowing for step-size control. As might be evident by the topic contents (zombies), for the purposes of this paper, we choose to focus less on mathematical robustness as much as simplicity for students, establishment of desolve_system_rk4 in previous literature, and ease of viewing in a mobile/web platform. The subject matter (Zombie infection) is itself improbable, so exact accuracy and the Dormand-Prince adaptive step size method, while undoubtedly providing more "realistic" trajectories, was not deemed necessary for our purposes (which are mostly educational). For more information on this specific implementation of desolve_system_rk4, readers are encouraged to consult [9]. 3. Extensions of Zombie Population Modelling 3.1 Quarantine Zombie model As an easy extension of the base zombie infection model, Munz et. al [8] provide equations for a Quarantine Zombie model. This model resembles the situation above but with a new added class of infected humans that are removed from the general populace; specifically, infected humans (represented by a Q in the model) are removed and sent to private, quarantine areas, thereby ensuring they cannot infect new individuals and spread the disease. The equations governing this scenario are: (4) S = Π βsz δs 5 (Use Chrome and Firefox browsers.) 126

127 Applied Mathematics and Technology Journal No 01, 05/2017 (5) I =βsz ρi δi κi (6) Z =ρi+ζr αsz σz (7) R =δs+δi αsz ζr+γq (8) Q = κi + αz γq We, naturally, adapted the equations to Sage in a similar vein as above. The Sage code and an example of possible trajectory, as well as a more in-depth discussion of the model, are given below and on our mobile site def zombies(human_initial= slider(1,50,1,20,label='initial amount of humans'), zombies_initial = slider(1,50,1,5,label='initial amount of zombies'), a = slider(0,1,0.001,0.005,label='human reproduction rate'), beta1 = slider(0,1,0.001,0.004,label='infection rate'), rho1 = slider(0,1,0.001,0.009,label='infect to zombie rate'), delta1 = slider(0,1,0.001,0.002,label='death rate (from natural causes)'), kappa1 = slider(0,1,0.001,0.002,label='infected human --> quarantine rate'), zeta1= slider(0,1,0.001,0.002,label='dead people --> reanimate as zombie rate'), alpha1=slider(0,1,0.001,0.002,label='zombies attack humans --> zombies die rate'), sigma1=slider(0,1,0.001,0.002, label='zombie quarantine rate'), gamma1 =slider(0,1,0.001, 0.002, label='escape rate of quarantined individuals (all killed)'), timelim = slider(1,80,1,30,label='maximum time')): x,y,t=var('x y t') B=0 t,s,z,r,j,q = var("t,s,z,r,j,q") B=0.0 P = desolve_system_rk4([(a*s)-(beta1*s*z)-(delta1*s), (beta1*s*z)-(rho1*j)-(delta1*j)-(kappa1*j), (rho1*j)+(zeta1*r)-(alpha1*s*z)-(sigma1*z), (delta1*s)+(delta1*j)+(alpha1*s*z)-(zeta1*r)+(gamma1*q), (kappa1*j)+(sigma1*z)-(gamma1*q)],[s,j,z,r,q], ics=[0,human_initial,0,zombies_initial,0,0], ivar=t,end_points=timelim) #Pquar=desolve_system_rk4([B-b*s*z-rho*j-d*j-kappa*j, kappa*j+a*z-gammadie*q], #[s,z,j,q], ics=[0,10,10,5,5], ivar=t, end_points=timelim) Ps = list_plot([[t,s] for t,s,j,z,r,q in P], plotjoined=true, legend_label='people (yay!)') Pz = list_plot([[t,z] for t,s,j,z,r,q in P], plotjoined=true, rgbcolor='red', legend_label='zombies (grrr!)') Pr = list_plot([[t,r] for t,s,j,z,r,q in P], plotjoined=true, rgbcolor='black', legend_label='removed') Pj = list_plot([[t,j] for t,s,j,z,r,q in P], plotjoined=true, rgbcolor='green', legend_label=' Latent Infected') Pq = list_plot([[t,q] for t,s,j,z,r,q in P], plotjoined=true, rgbcolor='purple', legend_label='quarantined') show(ps+pz+pr+pj+pq) Table 2: Sage code (web address 6)

128 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Figure 3: Zombie model with Quarantine 3.2 Adding the Left 4 Dead zombies to the model Unlike previous portrayals of the undead as roughly the same in physical appearance, aggressiveness, and attack capability across individuals, Left 4 Dead, a popular video game created by gaming powerhouse Valve Corporation, is unique in creating two distinct subfamilies of zombies: the Common Infected 7 and Special Infected. The most common zombie group the player encounters is, as anticipated, the Common Infected. However, by some mysterious biological process, a small percentage of humans experience a more physiologically impressive transformation into Special Infected, with heightened strength, intelligence, and particular anatomical nuances. Approximate percentages of each infection strain are given below in a pie chart found on a poster during game-play: Figure 4: The ratios of the stands of Green Flu infections, in-game and reformatted for easy viewing 8 The Common Infected zombies are Left 4 Dead s version the archetypal zombie that has remained a fixture in nearly all forms of popular media. While not as slow-moving and shambling as other depictions (such as George Romero s Night of the Living Dead 9 zombies), they are still comparatively weak, lack most higher-order motor control functions, and are "as easy to kill as any normal human is ("Common Infected"). The power of the Common Infected lies in their ability to

129 Applied Mathematics and Technology Journal No 01, 05/2017 attack in large, synchronized groups, known as The Horde. Ajraldi, Pittavino, and Venturino [1] provide a method for modeling herd behavior in two interacting species via a square root term- that is, since our population is spread over a two-dimensional domain, the density square root will account for the individuals lying along the edge of their respective region. Thus, replacing the general Z equation (1) with the more specialized Horde zombies, the equations governing our model become: (9) S = Π β H S H ωs (10) R = ωs + α H S H ζ H R (11) H = β H S H + ζ H R α H S H 3.3 General Dynamics: The Hunter and The Charger 10 These two zombies, distinct in respective traits and powers, will be modeled from roughly the same differential equation; for ease of organization, they are grouped together by their mathematical, not anatomical, relatedness. The Hunter is a Special Infected notable for its increased speed, agility, and relative absence of conspicuous physical mutations. Their equation, hence, is merely a special case of the general Zombie class from the model in [1], and accounting for all respective rates: (12) N = β N SN + ζ N R α N SN The Charger is a large Special Infected that also has increased speed abilities but uses them to instead charge at a group of Survivors, sending them flying through the air. Following the equation setup above, we have: (13) C = β C SN + ζ C R α C SN 3.4 In Tandem Dynamics: The Jockey and The Boomer 11 The Jockey and the Boomer, denoted by J and B, respectively, display "in tandem" population dynamics - that is, the effectiveness of other zombies increases given their presence in the system. Specifically, the Boomer attacks the human players by vomiting on them. This vomit attracts the Common Infected (Horde, H) zombies, and hence the likelihood of successful Horde attacks is increased with the presence of Boomers. The related equations are: (14) B = β B SB + ζ B R α B SB (15) J = β J SJ + ζ J R α J SJ (16) H = β H S H( B S+1 ) + ζ HR α H S H

130 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Survivor Presence Proportional Dynamics: The Smoker, The Tank, and The Witch 12 The Smoker, the Tank, and the Witch, (M, K, and W, respectively) are characterized by varying success rates based on the number of human survivors present in the system and their interactions with these survivors. Markedly stronger and more resistant than the aforementioned zombie classes, their corresponding equations are: (17) K β K SK + ζ K R α K SK( S K+1 ) (18) M β M SM + ζ M R α M SM( S M+1 ) 1 (19) W = β W SW( ) + ζ 1+ηW WR α W SW By visiting website you can view the open-source Sage code and these mobile-tailored population trajectories in a convenient and interactive format. The following Sage code, while extensive, should be fairly easy to follow by the reader at this point. All zombies are added continuously, and attack/defense rates were calculated by in-game values are mentioned def zombies(human_initial= slider(1,300,1,50,label='initial amount of humans'), zombies_initial_h = slider(1,50,1,5,label='initial amount of common infected zombies'), zombies_initial_b = slider(1,50,1,2,label="initial amount of The Boomer"), zombies_initial_m = slider(1,50,1,2,label='initial amount of The Smoker'), zombies_initial_n=slider(1,50,1,2,label='initial amount of the Hunter'), zombies_initial_k = slider(1,50,1,1,label='initial amount of the Tank'), zombies_initial_w = slider(1,50,1,1,label='initial amount of the Witch'), mm=slider(0,1,0.001,0.2, label='the Witch elusiveness rate'), zombies_initial_c = slider(1,50,1,1,label='initial amount of the Charger'), zombies_initial_j = slider(1,50,1,1,label='initial amount of the Jockey'), a2 = slider(0,1,0.01,0.69,label='human birth rate'), deathtimes= slider(0,1,0.001,0.005, label='human natural death rate'), timelim = slider(0,400,10,60,label='maximum time')): alpha_common = 0.09 alpha_boomer=0.09 alpha_smoker= alpha_hunter= alpha_tank=0.005 alpha_witch= alpha_charger= alpha_jockey= #infection rates from Removed population zeta_common = zeta_boomer = zeta_smoker = zeta_hunter = zeta_tank = zeta_witch = zeta_charger =

131 Applied Mathematics and Technology Journal No 01, 05/2017 zeta_jockey = #attack rates from damage done by primary attack beta_common = beta_witch=0.09 beta_boomer= beta_smoker= beta_hunter= beta_tank= beta_charger= beta_jockey= t,s,h,b,m,r,n,k,w,j = var("t,s,h,b,m,r,n,k,w,j") P = desolve_system_rk4([(a2)-(beta_common*s*sqrt(h)*(b/(s+1)))-(beta_boomer*s*b) -(beta_smoker*s*m*(1/((s^2)+1)))-(beta_hunter*s*n)-(beta_tank*s*k) -(beta_witch*s*w*(1/(1+mm*w)))-(beta_jockey*s*j)-(deathtimes*s), (beta_common*s*sqrt(h))+(zeta_common*r)-(alpha_common*s*sqrt(h)), (beta_boomer*s*b)+(zeta_boomer*r)-(alpha_boomer*b*s), (deathtimes*s)+(alpha_common*s*sqrt(h))+(alpha_boomer*s*b) +(alpha_smoker*s*m)+(alpha_hunter*s*n)+(alpha_tank*k*s*(s/(k+1))) +(alpha_witch*w*s)-(zeta_common*r)-(zeta_boomer*r)-(zeta_smoker*r) -(zeta_hunter*r)-(zeta_tank*r)-(zeta_witch*r)-(zeta_jockey*r), (beta_smoker*s*m)+(zeta_smoker*r)-(alpha_smoker*m*s), (beta_hunter*s*n)+(zeta_hunter*r)-(alpha_hunter*n*s), (beta_tank*s*k)+(zeta_tank*r)-(alpha_tank*k*s*(s/(k+1))), (beta_witch*s*w*(1/(1+mm*w)))+(zeta_witch*r)-(alpha_witch*w*s), (beta_jockey*s*j)+(zeta_jockey*r)-(alpha_jockey*j*s)],[s,h,b,r,m,n,k,w,j], ics=[0,human_initial,zombies_initial_h, zombies_initial_b,0, zombies_initial_m, zombies_initial_n, zombies_initial_k, zombies_initial_w, zombies_initial_j],ivar=t,end_points=timelim) #survivors Ps = list_plot([[t,s] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True, legend_label='people (yay!)') #common infected Ph = list_plot([[t,h] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='red', legend_label='common Infected') #the Boomer Pb = list_plot([[t,b] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='green', legend_label='the Boomer') #the Smoker Pm = list_plot([[t,m] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='purple', legend_label='the Smoker') #the Hunter Pn = list_plot([[t,n] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='orange', legend_label='the Hunter') #the Tank Pk = list_plot([[t,k] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='black', legend_label='the Tank') #the Witch Pw = list_plot([[t,w] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='pink', legend_label='the Witch') #the Jockey Pj = list_plot([[t,j] for t,s,h,b,r,m,n,k,w,j in P],plotjoined=True,rgbcolor='yellow', legend_label='the Jockey') show(ps+ph+pb+pm+pw+pj+pn+pk) Table 3: Sage code 131

132 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Figure 5: The Zombie SZR model and its various links and applications These population trajectories, as well as in-depth zombie profiles, mathematical analyses, and other interesting apocalyptic math resources and fun tidbits, are available through our mobileadapted website above. 4. Conclusions Through this research, we have introduced our easy-to-view Zombie Population Model as a pedagogical Sage Tool. Readers need resources that appeal to their extracurricular interests and bolster academic curiosity by showing mathematics in a way previously unexplored; namely, how mathematics relates to pop culture in the form of zombies and video games [3]. In general, educators are finding academically stimulating ways to incorporate mathematics learning into video games and vice versa. Being able to connect a reader's extracurricular interests to an academic area he or she previously struggled in can not only increase interest in the subject as a whole, but encourage the student to preserve through difficult moments and, hence, find satisfaction in their work. Technological tools that can combine a reader s independent interests with relevant mathematically-driven content have been shown to improve student learning in various areas [7]. Bolstering interest in population models and differential equations can, in turn, bolster interest in all areas of mathematics [10]. Being able to present these tools in an easy-to-view, open-source, free format online furthers this goal and gives the power of mathematical manipulation directly to students of various math levels and disciplines. 132

133 Applied Mathematics and Technology Journal No 01, 05/ References [1] Ajraldi, V., Pittavino, M. and Venturino, E., Modeling herd behavior in population systems, Nonlinear Analysis-Real World Applications, 12(4), pp , [2] Daley, D.J. and Gani, J., Epidemic Modelling: An Introduction, Cambridge University Press, [3] Devlin, K., Mathematics Education for a New Era: Video Games as a Medium for Learning, A K Peters, [4] Dormand, J. R. and Prince, P. J., A family of embedded Runge-Kutta formulae, Journal of Computational and Applied Mathematics, 6(1), pp , [5] Joyner, D. and Stein, W., Sage Tutorial: Create Space Independent Publishing Platform, [6] Lee, S., Kim, K. and Sun, S., Modeling of Mobile Sage and Graphing Calculator, Journal of Modern Education Review, 3(12), pp , [7] McCab, D. B. and Meuter, M. L., A student view of technology in the classroom: Does it enhance the seven principles of good practice in undergraduate education? Journal of Marketing Education, 33(2), pp , [8] Munz, P., Hudea, I., Imad, J. and Smith, R., When Zombies Attack! Mathematical Modelling of an Outbreak of Zombie Infection, Infectious Disease Modelling Research Progress, pp , Retrieved from [9] Joyner, D., Love, War, and Zombies Systems of Differential Equations using Sage [Powerpoint slides]. Retrieved Oct 1, 2015, from: [10] Maron, M., Modelling Populations: From Malthus to the Threshold of Artificial Life. Retrieved April 17, 2015, from (2003, December 9). [11] Peterson, P., Travers, J. and Virtanen, P., Scipy.integrate.ode. (2015, Oct 24). Retrieved Oct 25, 2015, from /reference/generated/scipy.integrate.ode.html. [12] SageMath, Mathematical Software System - Sage. (2007, June 7). Retrieved May 27, 2015, from 133

134 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Teaching numerical methods using CAS Copyright by The Electronic Journal of Mathematics and Technology Ildikó Perjési-Hámori University of Pécs Pollack Mihály Faculty of Engineering and Information Technology Pécs, Hungary University of Pécs launched different MSc and BSc programs in engineering in The curriculum involves teaching Numerical methods. Our paper summarizes our experience obtained while teaching this subject. The focus of the subject was solving model problems using Maple, a Computer Algebra System (CAS), which sometimes substitutes the exact mathematical proofing. While solving model problems we tried to take advantage of the opportunities offered by the Maple computer algebra system. While composing the topics of the course, rapid development of computer algebra systems was taken into consideration. On the other hand, in this way students with limited mathematical skills are also able to understand more complex tasks, such as solutions of multivariate interpolations and regressions, or those of partial differential equations. In our paper we present some real-life examples from the course material and present some sample test questions using Maple T. A. test and assessment system. 1. Introduction The University of Pécs, Pollack Mihály Faculty of Engineering and Information Technology offers special numerical mathematics courses for students of the MSc programs of information technology engineering, urban systems engineering and structural engineering in Hungarian and for the BSc and Erasmus students in English. In our courses we try to take into consideration the recommendations of SEFI s (European Society for Engineering Education) Mathematics Working Group [3]. Mathematical competence is the ability to understand, judge, do, and use mathematics in a variety of intra- and extra-mathematical contexts and situations in which mathematics plays or could play a role [5]. The recommendation for engineering students is to reach the following competences: thinking and reasoning mathematically, posing and solving mathematical problems, modelling mathematically, representing mathematical entities, handling mathematical symbols and formalism, communicating in, with, and about mathematics, making use of aids and tools. The required mathematical knowledge is divided into different levels. The numerical methods play important role in the engineering practice. So these methods are not included separately in one level only, but they are built into each level. The chapters where the numerical methods are introduced are as follows: Level 0: Error in measurement Level 1: Least square curve fitting, Taylor series, numerical integration. Level 2: Numerical methods for first order ODE, Fourier series. Level 3: Numerical methods for ODE, Fourier analysis, finite element method In our courses we summarize those topics which were mentioned during the basic mathematics courses and introduce some new methods. During these courses all problems and the subject materials are written and solved by using computer algebra. For homework, Maple T. A. test and assessment system was used. In this paper firstly some mathematical-didactical aspects of CAS in higher mathematics are summarized, its different roles (as a computer program, as a didactical tool, as a mathematical assistant) are presented. In the next part the didactical questions of teaching numerical methods are discussed, why numerical methods can be used as a synthesis of the previously thought mathematical topics, and how these themes can be taught to students with different preliminary knowledge. Finally we summarize our experience and our plans for the future. 134

135 Applied Mathematics and Technology Journal No 01, 05/ Planning a course using CAS At the Department of Mathematics, University of Pécs we have used MAPLE (a CAS system) for teaching mathematics for 15 years. The MAPLE software and our worksheets are available for students via Intranet. The worksheets of the course are organized into one system by means of the Table of Contents MAPLE worksheet. In this page there are hyperlinks to the exercises and the exercises end with a hyperlink to the main sheet. So there is a close connection between the different parts of the course. The mathematical-didactical aspects, which were taken into account while planning this system, were as follows: The above system has to cover the syllabus of the course in the subject matter. The user must have the opportunity to become familiar with the special language of MAPLE. We allowed only the most necessary commands to be used. The new commands have to be distributed smoothly on the worksheets. Every worksheet has to contain textual explanations, but we have to avoid the extreme comments. According to the principle of spirality [12], first we introduced every new command through an easy mathematical problem. We wrote the programs taking into account the principle of gradation. We detail each steps of problem solving in the exercises that we could solve without the computer algebra system. Procedures were written from frequently used commands after the detailed explanations only. (White box black box effect [1]). In the commands that are used only for visualization or rather where the algorithm of the solution passes the frame of the course, we used the black box white box effect. It means there is an opportunity to understand each step of the solution for those students who want to do so. But everybody knows what the scheme of the problem solving is and what the result of the procedures is (principle of the operationalization). We have to avoid using CAS only for its own sake; it is only inferior to the mathematical subject matter. We have to take notice that the new technique demands students to become acquainted with new concepts. We have to profit from the graphical opportunity; to help the concepts meaning not only at the symbolical level but at the visualization level as well. Flexible visualization is the most important advantage of the CAS system. Exercises which were very difficult to solve without CAS become routine problems. We have to show symbolical calculations, first of all to adopt them to prove the identities. Due to the principle of consciousness we have to pay attention to the fact that mathematical meaning has priority over technical details. Our goal is that the user can adopt the concepts and procedures in new situations. 3. CAS in reproduction, connection, reflection relationship In our research group at the University of Pécs a lot of didactical projects are dealing with the role of computer algebra in teaching mathematics. We reflected on how the systemic use of technology may impact recruitment, entrance and retention [4], how we can connect the distance learning methods and CAS [6], [7], how can we use internet in mathematics education [8] and how it is used for different topics of mathematics [9], [10]. Furthermore, we organized international conferences on this topic [13], [14]. In the engineering society there are two different opinions about mathematics. One of them (mostly coming from architects) is that mathematics is only for mathematicians, engineers use computers and software to solve their problems. The other opinion is that engineers can calculate anything with the help of a simple calculator. Reflecting to these 135

136 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 opinions we think that computer algebra systems connect mathematicians and engineers in problem solving. In Figure 1 some aspects of the importance of CAS are demonstrated. Figure 1: The didactical aspects of CAS CAS as a mathematical assistant: Applications of CAS increase the capability of algebraic, graphical and numerical representations of mathematical objects. Accordingly, by a variety of demonstrations of mathematical concepts the pragmatic and epistemological values [11] may also increase. To be able to precisely understand mathematical concepts we must use various representations or series of representations. CAS offers an opportunity for users to prepare this variety of representations, providing a flexible instrument for generating a multifaceted understanding of the concepts. For instance, experimental and discovery thinking can be assisted by well-designed and quickly generated procedures, models, and algorithms. CAS as a didactical tool: Both the field of mathematics and the mathematics curricula are structured into modules, complex and interconnected elements of knowledge that can be recalled from memory without consciously being aware of their internal structure. The fundamental problem of using CAS in teaching and learning is how to effectively develop cognitive schemes and a knowledge-representation net in particular modules. CAS-modularization presents an essentially new mode for knowledge development and heuristics. CAS environments enable reduction of complexity and the ease of computations; thus, enhance the connection of concepts and effective transfer of knowledge. From the block of representation net depending on the actual problem students can recall, repeat or reinforce the mathematics schemes. CAS as a computer program: A computer program has its own computer language. It sometimes causes difficulties to students, because they have to translate the problem to be solved not only from the everyday language into the language of mathematics, but from the everyday language into the program language and the results of the program into the language of mathematics as well. 136

137 Applied Mathematics and Technology Journal No 01, 05/2017 If we have time at the beginning of a course which uses CAS, elementary introduction into the program language will help the user to organize their problem solving process, to make experiments, to automate some parts of the problem solving with the help of procedures and use CAS as an easy-to-use tool. 4. Didactical questions numerical methods as a synthesis In this paragraph applications from the topic of numerical mathematics are presented, which connect different themes of mathematics or connect real engineering problem and mathematics. Figure 2: Numerical methods in engineering problem solving. Figure 2 shows the algorithm of the way of engineering problem solving in a course curriculum. The roots depend on the type of engineering problem (it is solvable analytically or not), the preliminary knowledge of the students (step-by step solution or well-prepared worksheets). Finally the more complex application is required, taking advantage of the possibilities of CAS. In Figure 3 the outline and the didactical tools of a chapter of the Numerical methods lecture notes are shown. This chapter presents the interaction between the deeper mathematical understanding and the possibilities of CAS. In this figure it is shown how the didactical aspect was used in teaching the least-square approximation. The role of the didactical tool is the most important part of this chapter (in the figure the colour is green). It is not because of using CAS, but of the property of numerical mathematics. The Mathematical assistant role (red) is a very significant part; the visualization, the symbolical and numerical computation possibilities transpose the main emphasis from the boring calculations into the meaning of the theory. As a computer program (marked with blue colour) it means that it is necessary to explain the new Maple commands, and as a tool the user can automate some parts of the procedure or Maple can automatize this process, using built-in tools. After applying the mathematical concepts of extreme values of two variable functions and the solution of linear equation system it is possible to visualize the best line and the differences and calculate the sum of the difference squares, which leads to a deeper understanding of the concept of the least square method (Figure 4). In paragraph 8.3 we show the limit of the computer algebra systems. Figure 5 shows that the best fitting hyperbola leads to big errors in the approximation. If 137

138 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 the approximate function is an y = ax b type, the Maple LeastSquare command cannot handle this approximation. The step-by-step solution gives a non-solvable non- linear system, so we have to use mathematical consideration, and we have to linearize the data structure. After the introduction of the least square method in one variable using the well-known matrix algebra concepts, students have the possibility to generalize the concept into two variable problems. Without CAS, the generalized problem and the matrix operations were difficult and confusing. Using CAS we are able to concentrate on the mathematical theory. In the next part of this chapter a few real-life problems are mentioned, which bring students closer to understand the importance of this theory. Figure 3: Didactical considerations in one chapter of the course. Figure 4: Visualization of the least square method. 138

139 Applied Mathematics and Technology Journal No 01, 05/2017 Figure 5: The best fitting by hyperbola and power function 5. Didactical questions the set-up of a contact lesson using different levels and different students The Numerical methods lecture notes are used in three different courses. In the next example we present the way of the teaching-learning process. Our students were MSc students, Erasmus students, and interested BSc students, who had strong motivation not only to pass this course but use it in their engineering practice. We used the results of the didactic of the distance learning, from where it is known, that self-regulated learning is an active, constructive process in which the student sets a goal of self-monitor, regulates and controls the learning process. Learning is an active, cognitive, constructive process. The three phases are the willing phase (motivation), the implementation phase and the feedback phase [2]. The examples are from the chapter of numerical methods of ordinary differential equations. Example 1. For an elective course to graduate and Erasmus students (of different culture and mathematical background language problems): first we explained the mathematical concept, then solved easy exercise on the blackboard, after which a carefully prepared worksheet was introduced, and finally students solved easy exercises using Maple (only a few Maple command). For the numerical computation, first the step by step solution was used, organizing repetition statement only at the end of the contact lesson: Problem: Give the analytical solution of the first order differential equation using Picard method. We get a function sequence, and the limit of it (if it exists) is the particular solution of the differential equation. For a particular ODE: 139

140 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 In Figure 6 some steps of the solutions are shown; on a real Maple worksheet the animation is very impressive. Example 2. For an applied mathematics course to students of an MSc in urban systems programme (after the completion of various BSc programmes, only little mathematical knowledge): Presentation: Schematic mathematical concept, easy exercise on the blackboard, built-in tutorial, Maple DETools package, engineering applications. Problem: Plan the shape of a channel, if we know the average speed of the water downfall of the surface, and the material constants of the channel. The differential equation of the problem from the civil engineering literature is Figure 6: Exact solution and 4 approximate solutions using Picard methods Maple has the possibilities to solve this ODE exactly, but the function is more complicated to handle it easily: With the Maple Tools menu ODE analyser command students are able to solve the equations numerically or symbolically. Didactically it is a black box, but sometimes it can be very useful in the engineering practice (Figure 7.). 140

141 Applied Mathematics and Technology Journal No 01, 05/2017 Figure 7: Maple ODE analyser Example 3. For MSc students of information technology engineering (with a well-defined mathematical and programming background): Presentation: Mathematical modelling, easy exercise on the blackboard, step-by-step solution, organize procedures, experiments with the error level, well-prepared worksheet only for homework. Problem: the movement of a pendulum, when the initial deflection is 90 o. The differential equation of the movement is where is the deflection angle, t is the time. After introducing step-by-step numerical solutions, the built-in procedure is used for solving the problem: Students are able to write a short procedure to visualize the movement of the pendulum (Figure 8). Figure 8: Movement of a pendulum 141

142 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/ Next step Maple T. A. question bank In the higher education system in the past courses were divided into lectures and seminars, students had several contact lessons, seminars were held for small groups, the exercises were solved using chalk and pencil on the blackboard and in exercise books, students made hand written notes, there were oral exams and a lot of face to face contact between students and instructors. At present, students have less contact lessons, there are bigger groups, we use handwritten, printed and on-line notes, computer algebra systems, there are written exams, and very little personal contact. In the future, self-regulated learning, web-based learning, (semi) personal contact, and web-based learning and exams will have a greater importance. One possibility: Maple T. A. web-based test and assessment system, powered by Maple, where students can assess their own knowledge of a particular topic, and teachers can get feedback from the students level of knowledge. Figure 9: A question from the question bank Levels of application: simple questions, little Maple and programming knowledge complex questions, middleware Maple and little programming knowledge difficult Maple packages, complicated response programming At the University of Pécs we developed a question bank for practicing numerical methods. In Figure 9 there is a sample test question in the theme of the Fourier series. 7. Conclusions Our experience is that we have to find the place of Numerical course in the engineering curriculum and we have to use the methods of blended learning and the didactics of CAS. Using well-prepared lecture notes, we have to take into consideration the students different background knowledge in mathematics, in programing and in English: each course has its own way. We have to synthesize and apply the basic mathematical concepts in a different way, to rebuild the knowledge representation net, to make students to generalize mathematical concepts, to connect various topics of mathematics. Students have to become closer to know how to apply the knowledge in everyday life and in engineering. From the students point of view, it is important that the mathematical concepts and procedures which are needed for the engineering tasks but are not taught due to lack of the time could be introduced into the syllabus. CAS increases the significance of heuristic problem-solving 142

143 Applied Mathematics and Technology Journal No 01, 05/2017 strategies. Its use in solving exercises makes them become routine tasks for students who found them very difficult to solve earlier. It inspires students to get to know new mathematical concepts. Its effective use requires new approaches in mathematics didactics. Considering the possibilities of the new strategies, test results will be better and students bad preconceptions about mathematics will decrease. Prerequisite of the strategy is the students basic computational knowledge. These new type of teaching-learning process helps the integration of mathematics and special engineering subjects. 8. References [1] B. Buchberger, Should Students Learn Integration Rules?. ACM SIGSAM Bulletin 24(1), pp January [2] DL Butler, PH Winne, Feedback and self-regulated learning: A theoretical synthesis- Review of educational research, 65 (3), [3] [4] E. Muller, C. Buteau, M. Klincsik, I. Perjési-Hámori, Cs. Sárvári, Systemic integration of evolving technologies in undergraduate mathematics education and its impact on student retention, International Journal of Mathematical Education in Science and Technology ijmest Vol. 40, No. 1, 15 January 2009, [5] M. Niss, Quantitative literacy and mathematical competencies. In B.L. Madison, L.A. Steen (Eds.), Quantitative literacy : why numeracy matters for schools and colleges. Princeton : National Council on Education and the Disciplines, , [6] I. Perjési-Hámori, M. Klincsik, An Interactive Method of Teaching Vectorcalculus via Internet ODL Networking for Quality Learning, Lisbon, Conference Proceedings [7] I. Perjési-Hámori, Application of CAS for teaching integral-transforming theorems Zentralblatt für Didaktik der Mathematik 35 (2) [8] I Perjési-Hámori, Cs. Sárvári, M. Klincsik, Using CAS and Internet In Teaching Mathematics At University of Pécs (Hungary) EIESTA 03, International Conference on education and Information systems: Technologies and Applications, Orlando, Conference Proceedings [9] I. Perjési-Hámori, Experiences using CAS and multimedia in teaching Vectorcalculus Teaching Mathematics and Computer Science 1/2, [10] I. Perjési-Hámori, Cs. Sárvári, Teaching Fourier series, partial differential equations and their applications with help of computer algebra system Teaching Mathematics and Computer Science 7/1, 51-68, [11] C. Sárvári, Pragmatic, epistemological, and heuristic values in CAS enhanced mathematics education In M. Kourkoulos, G. Troulis, C. Tzanakis, Proceedings of the 4th Colloquium on the Didactics of Mathematics, University of Crete, pp , [12] J. Bruner, The Process of Education. Cambridge, MA: Harvard University Press, 1960 [13] [14] 143

144 APPLIED MATHEMATICS AND TECHNOLOGY JOURNAL A M T J TẠP CHÍ TOÁN VÀ CÔNG NGHỆ ỨNG DỤNG Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 FINITE DIFFERENCE METHODS FOR PARTIAL DIFFERENTIAL EQUATIONS: ANALYSIS AND IMPLEMENTATION Henry Tran Wayne State University, Michigan, USA 1 INTRODUCTION We use partial differential equations (PDEs) to present many physical phenomena in fact, mathematics and theoretical physics. In this paper, we focus on such partial differential equations as the heat equation, Laplace equation, wave equation, Poisson equation, Helmholtz equation, etc. Typically, for each partial differential equation, we apply numerical methods to find approximate solutions in the combination of the initial boundary conditions of each equation. We shall compute the errors of the approximate solutions and the exact solutions. In this paper, we will apply two methods including the explicit method and a more advanced method called the Crank-Nicolson method (CNM). We use a simplest form of the parabolic PDEs problems, which is the heat equation to solve parabolic PDEs problems. We also use the finite difference method for the wave equation in hyperbolic PDEs problems, the Helmholtz equation in elliptic PDEs problems to consider the stability and the convergence of solutions in the problems. Through the results by plotting the graphics of their equations, and computing of their programs by the MATLAB programming language in two and three-dimensional spaces, we have had the comparison of methods. In addition, based on the different values of h and k and the given boundary conditions, we shall determine the stability and the convergence of solutions in PDEs problems. We will compute mathematical problems by MATLAB software for computing and plotting PDEs problems. MATLAB version 14 is a very strong mathematical software in the programming of applied mathematics, and this software includes functions, toolboxes for the partial differential equations. We shall write the mathematical programs by the commands in MATLAB for 1 144

145 Applied Mathematics and Technology Journal No 01, 05/2017 the above numerical problems by using of functions. Finally, we conclude the use of the finite difference method in each problem and denote the results, which depend on stability and convergence. We also introduce the applications of PDEs in each problem. 145

146 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 2 PARABOLIC PROBLEMS Parabolic Partial Differential Equations (PDEs) A partial differential equation of second order in the form: a 2 u x 2 + 2b 2 u x y + c 2 u x 2 + d u x + e u y + f = 0 is called parabolic problem if the Hessian matrix M = a b b c satisfies that: det(m) = ac b 2 = 0. From the above equation, we shall write the simplest PDEs in parabolic problem in one spatial dimension, which is called the heat equation: a 2 u x = u 2 t where 0 x L; 0 t T ; x = i x; t = j t; i = 1,..., n; j = 1,..., m.. W e have the two boundary conditions: u(0, t) = b and u(l, t) = c 2.1 Explicit method The explicit method using the formula Consider the equation a 2 u x = u 2 t 146

147 Applied Mathematics and Technology Journal No 01, 05/2017. We begin from Taylor theorem in terms of h in the following general formula: f(x + h, y) = n k=0 We have for the function f: and then we deduce that so we take it in the form: Similarly, we compute the results as: f (k) (x,y) k! h k + f (n+1) (ξ,y) (n+1)! h n+1 for some ξ in (x, x + h) f(x + h, y) = f(x, y) + hf x (x, y) h2 f (ξ, y) f x (x, y) = 1 h [f(x + h, y) f(x, y)] 1 2 h2 f (ξ, y) f x (x, y) 1 [f(x + h, y) f(x, y)] h and f (x h, y) = f (x, y) hf x (x, y) h2 f xx (x, y) 1 3! h3 f (ξ) f (x + h, y) = f (x, y) + hf x (x, y) h2 f xx (x, y) + 1 3! h3 f (ξ) By adding, we obtain the expression of f xx (x, y) : f xx (x, y) = 1 [f(x + h, y) 2f(x, y) + f(x h, y)] h2 We have the differential equation with the different step lengths h in space and k in time: and u xx (x, t) = 2 u (x, t) x 2 = 1 [u (x + h, t) 2u (x, t) + u (x h, t)] h2 u t = u (x, t) t = 1 [u (x, t + k) u (x, t)] k 4 147

148 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Hence, 1 h [u(x + h, t) 2u(x, t) + u(x h, t)] = 1 [u(x, t + k) u(x, t)] (1) 2 k where a = 1 h is the length of each step in space k is the value of each step in time The below figure shows the four points from equation (1) Equation (1) is written in the form: u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t) (2) where σ = k h 2 We use the stability condition: σ = k h < The explicit method using the matrix form W e use equation (1) with the four points: 148

149 Applied Mathematics and Technology Journal No 01, 05/2017 u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t) (2) By writing u j = [u 0j, u 1j, u 2j,..., u nj ] T,we have equation (2) which is written in the form with the i and j terms b y the function u as: u i,j+1 = σ u i+1,j + (1 2σ) u i,j + σ u i 1,j where u(x i, t j ) = u ij = u(idx, jdt); i = 1,..., n; j = 1,..., m. Equation (2) is shown in the matrix form as follows: where u j+1 = Au j A = 1 2σ σ 0 0 σ 1 2σ σ 0 σ 1 2σ σ σ σ σ 0. σ 1 2σ σ 0 0 σ 1 2σ Heat equation model problem and implementation Using the equation of the heat model problem in the following system: 2 u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sinπx where 0 x 1 and 0 t 1. W e obtain the differential equation with the different step lengths of h and k: 1 h [u (x + h, t) 2u (x, t) + u (x + h, t)] = 1 [u (x, t + k) u (x, t)] 2 k so u(x, t + k) = u(x + h, t) + (1 2)u(x, t) + u(x h, t 149

150 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 We have the stability condition: σ = k h Example and implementation a) Example 2 u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sinπx Choose L = 1; T = 0.25; h = dx = L n x = ; k = dt = T n t = where: n t : number of time steps n x : number of space steps d t : value of each time step d x : length of each space step. W e apply the explicit method to solve the heat equation as: σ = k h 2 = dt dx 2 The approximate solution is shown by : u (x, t + k) = σ u (x + h, t) + (1 2σ) u (x, t) + σ u (x h, t) The exact solution is shown as: u exact (x, t) = e π2t sinπx b)implementation(see Appendix) W e have the results of the approximate solution b y the explicit method and the exact solution at T = 0.25 in the graphics. Geometrically, w e shall plot the graphics with the fixed values of k = 1 n t = 1 and the 2 10 different values of h = 1 n x with n x = 4, 8, 16, 32 and then show them in the figures: In 2D 150

151 Applied Mathematics and Technology Journal No 01, 05/

152 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 The graphic of the approximate solution by the explicit method and the exact solution at h = 1 n x with n x = 4, 8, 16, 32 and T = 0.25 In 3D 152

153 Applied Mathematics and Technology Journal No 01, 05/2017 The graphic of the approximate solution b y the explicit method in 3D at h = 1 32 and T = Crank-Nicolson method Based on equation (1), w e recall it as follows: The graphic of the exact solution in 3D. where 1 h [u (x + h, t) 2u (x, t) + u (x h, t)] = 1 [u (x, t) u (x, t k)] 2 k r = 2 + s, s = h2 k. 153

154 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 Write equation (1) as: u (x h, t) + ru (x, t) u (x + h, t) = su (x, t k) Hence, we denote in the form: su i,j 1 = u i 1,j + ru i,j u i+1,j The four points are illustrated in the following figure: Let b i = su (x, t k) From equation (2), we rewrite it in the matrix form: r r r r r u 1 u 2.. u n 1 u n 1 = b 1 b 2.. b n 2 b n 1 This equation is shown in the simple form by the matrix as: b j = Mu j where M = r r r r r Example and implementation a) Example 154

155 Applied Mathematics and Technology Journal No 01, 05/ u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u (x, 0) = sinπx Choose L = 1; T = 0.25; h = dx = L n x = ; k = dt = T n t = where: n t : number of time steps n x : number of space steps d t : value of each time step d x : length of each space step. We apply finite difference method to solve the heat equation r = 2 + s, s = h2 k ; b i = su (x, t k) u (x h, t) + ru(x, t) u (x + h, t) = su (x, t k) b)implementation (see Appendix) We have the results of the approximate solutions by the Crank-Nicolson method and the exact solutions for T = 0.25 in the graphics. The exact solution is: u exact (x, t) = e ( π2t) sinπx. Geometrically, w e shall plot the graphics with the fixed values of k = 1 n t = 1 and the 2 10 different values of h = 1 n x with n x = 4, 8, 16, 32 and then show them in the figures: In 2D 155

156 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/

157 Applied Mathematics and Technology Journal No 01, 05/2017 The graphic of the approximate solution by the Crank-Nicolson method and the exact solution h = 1 n x with n x = 4, 8, 16, 32 and T = 0.25 In 3D The graphic of the approximate solution b y the Crank-Nicolson method in 3D at h = 1 32 and T =

158 Tạp chí Toán và Công nghệ ứng dụng Số 01, 05/017 The graphic of the exact solution in 3D. 2.3 The history of the convergence The comparison between the exact solution, the solution of the explicit method and the Crank-Nicolson method Example and implementation a) Example 2 u (x, t) = u (x, t) x 2 t u (0, t) = u (1, t) = 0 u(x, 0) = sinπx The exact solution is:u exact (x, t) = e π2t sinπx at T = 0.25 The initial boundary conditions: u(x, 0) = sinπx u(0, t) = u(1, t) = 0 W e shall use the infinity norm to find the errors of the solutions: u u h C.h u u h = max 0 j N (u u h) (x j ) where u: exact solutions u h : approximate solutions. The error of the exact solutions and the approximate solutions of the finite difference method e = u u h = max 0 j N (u u h) (x j ) 158

159 Applied Mathematics and Technology Journal No 01, 05/2017 Order of the convergence Since w e found the error of the solutions, so w e shall find the order of convergence of the solutions (α 2 i) b y the formula as follows: In general, w e have A t i = 2 w e have: e 4 e 8 = e 2 i e 2 (i+1) ( h4 h 8 = ( h2 i h 2 (i+1) ) α2 i = ( 1 ) α2 i 2 i 1 2 i+1 α 2 i = log 2 ( e2 i e 2 (i+1) ) = 2 α 2 i ) α4 ( ) α4 ( ) 1/4 = = 2 α e4 4, α 4 = log 2 1/8 e 8 where e 2 i: errors, i = 1,..., n α 2 i: the order convergence of the solutions. b) Implementation (see Appendix) The convergence table We have the table of the convergence values: 3 CONCLUSION In this problem, we have presented the finite difference methods for the parabolic PDEs in the simplest form, which is the heat equation. By computing and plotting the values of h and k, we have shown the different values and the different graphics of function u. These have denoted the stability and the convergence of the solutions. In addition, we have also applied a different form of the finite difference method, that is the Crank- Nicolson method to show the stability and the convergence of the solutions since this method was stable, so w e can use a much large values of k. 159

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 Nội dung chính trong phần này: 1. Khai báo các thông số của biến 2. Tạo biến giả 3. Hồi quy OLS kết hợp với phương pháp Stepwise * SPSS 12.0 là sản phẩm

More information

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY Nội dung 1. Giới thiệu 2. Ý tưởng cơ bản 3. Mã minh họa 4. Ví dụ 5. Đánh giá thuật toán 6. Bài tập TRƯƠNG XUÂN NAM 2 Phần 1 Giới thiệu TRƯƠNG XUÂN

More information

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B.

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B. Tính log 2 3, thì sẽ bấm như sau (log 3)/(log 2) hoặc (ln 3)/(ln2) Độ suy giảm tính hiệu: Attenuation = 10.log 10 ( ) (db) với - P signal là công suất tín hiệu nhận - công suất đầu vào (input signal power)

More information

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB 404001 - Tín hiệu và hệ thống CBGD: Trần Quang Việt Liên hệ : Bộ môn CSKTĐ P.104 nhà B3 Email : tqviethcmut@gmail.com ; tqviet@hcmut.edu.vn Tài liệu tham khảo [1] B. P. Lathi, Signal Processing and Linear

More information

Bài 3: Mô phỏng Monte Carlo. Under construction.

Bài 3: Mô phỏng Monte Carlo. Under construction. Bài 3: Mô phỏng Monte Carlo Under contruction. Giới thiệu Monte Carlo (MC) là phương pháp dùng ố ngẫu nhiên để lấy mẫu (ampling) trong một tập hợp Thuật ngữ Monte Carlo được ử dụng lần đầu bởi Metropoli

More information

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG THÀNH VIÊN : 1. Nguyễn Ngọc Linh Kha 08066K. Nguyễn Thị Hải Yến 080710K. Hồ Nữ Cẩm Thy 08069K 4. Phan Thị Ngọc Linh 080647K 5. Trần Mỹ Linh 080648K L p 08TT1D_KHOÁ 1 Page

More information

Các Phương Pháp Phân Tích Định Lượng

Các Phương Pháp Phân Tích Định Lượng Năm học 013-014 Chương Trình Giảng Dạy Kinh tế Fulbright Học kỳ Thu năm 013 Các Phương Pháp Phân Tích Định Lượng Gợi ý giải Bài tập 7 HỒI QUY ĐƠN BIẾN (TIẾP THEO Ngày Phát: Thứ ba 6/11/013 Ngày Nộp: Thứ

More information

Why does the motion of the Pioneer Satellite differ from theory?

Why does the motion of the Pioneer Satellite differ from theory? Why does the motion of the Pioneer Satellite differ from theory? Le Van Cuong cuong_le_van@yahoo.com Information from Science journal shows that the motion of the Pioneer satellite, which was launched

More information

15 tháng 06 năm 2014.

15 tháng 06 năm 2014. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ HOÀI THANH MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TOÁN BẤT ĐẲNG THỨC BIẾN PHÂN Chuyên ngành : Phương pháp Toán sơ cấp Mã số : 60 46 0113 TÓM TẮT LUẬN VĂN THẠC SĨ

More information

5 Dùng R cho các phép tính đơn giản và ma trận

5 Dùng R cho các phép tính đơn giản và ma trận 5 Dùng R cho các phép tính đơn giản và ma trận Một trong những lợi thế của R là có thể sử dụng như một máy tính cầm tay. Thật ra, hơn thế nữa, R có thể sử dụng cho các phép tính ma trận và lập chương.

More information

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON NGUYỄN THỊ CẨM BÍCH MODULE mn 20 PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON 69 A. GIỚI THIỆU TỔNG QUAN Ph ng pháp d y h c là m t trong nh ng y u t quan tr ng c a quá trình d y h c. quá trình d

More information

Google Apps Premier Edition

Google Apps Premier Edition Google Apps Premier Edition THÔNG TIN LIÊN H www.google.com/a/enterprise Email: apps-enterprise@google.com Nh ng gi i pháp m nh. i m i c a Google. Chi phí th p. i Google Apps Premier Edition, b n có th

More information

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý Ô TUYẾN ĐỆN ĐẠ CƯƠNG TS. Ngô ăn Thanh iện ật Lý Hà Nội 2016 2 Tài liệu tham khảo [1] David B. Rutledge, The Electronics of Radio (Cambridge University Press 1999). [2] Dennis L. Eggleston, Basic Electronics

More information

Chapter#2 Tính chất của vật chất (Properties of Substances)

Chapter#2 Tính chất của vật chất (Properties of Substances) Chapter#2 Tính chất của vật chất (Properties o Substances) Mục đích của chương Làm quen với một số khái niệm về tính chất của vật chất, chất tinh khiết. Làm quen với các dạng năng lượng và sự biến đổi

More information

KHI X L T SÔNG H NG VÀO SÔNG ÁY

KHI X L T SÔNG H NG VÀO SÔNG ÁY XÂY D NG B N NG P L T KHU V C H DU TÓM T T T KHI X L T SÔNG H NG VÀO SÔNG ÁY Lê Vi t S n 1 Bài báo này trình bày k t qu nghiên c u, ánh giá r i ro ng p l vùng h du sông áy khi x l t sông H ng vào sông

More information

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA A V I R A A N T O À N H Ơ N Trang 1 Mục lục 1. Mở chương trình... 3 2. Giao Diện Chính Của Chương Trình... 4 3. Quét Virus... 7 4. Theo dõi bảo mật cho kết nối

More information

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời ĐỊNH THỜI CPU Mục tiêu Hiểu được Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời Ghi chú: những slide có dấu * ở tiêu đề là những slide dùng để diễn giải thêm Định thời CPU

More information

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là LƯỢC ĐỒ CHỮ KÝ SỐ MÙ XÂY DỰNG TRÊN BÀI TOÁN KHAI CĂN Nguyễn Tiền Giang 1, Nguyễn Vĩnh Thái 2, Lưu Hồng Dũng 3 Tóm tắt Bài báo đề xuất một lược đồ chữ ký số mù phát triển từ một dạng lược đồ chữ ký số được

More information

TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ

TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ THOÂNG BAÙO KHOA HOÏC TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ MULTI-OBJECTIVE OPTIMIZATION APPLIED TO DETERMINE REGIME TECHNOLOGICAL FREEZE DRYING OF PENAEUS

More information

Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng

Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng Mã hiệu sản phẩm Đường kính lõi cách điện cáp (mm) Cỡ cáp (mm2)

More information

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40 XÂY DỰNG PHƯƠNG THỨC TRUYỀN THÔNG TRỰC TIẾP GIỮA PC VÀ PLC ỨNG DỤNG TRONG HỆ ĐIỀU KHIỂN GIÁM SÁT TRẠM TRỘN BÊ TÔNG Ngô Như Khoa 1*, Nguyễn Văn Huy 2 1 Đại học Thái Nguyên, 2 Trường Đại học KTCN - Đại học

More information

TÓM TẮT ĐỀ TÀI NGHIÊN CỨU

TÓM TẮT ĐỀ TÀI NGHIÊN CỨU ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TÓM TẮT ĐỀ TÀI NGHIÊN CỨU Họ và tên nghiên cứu sinh: Họ và tên cán bộ hướng dẫn chính: Họ và tên cán bộ hướng dẫn phụ: Huỳnh Trần Mỹ Hòa PGS-TS Trần

More information

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 Mục lục 1 Giới thiệu 2 1.1 Một số khái niệm................................. 2 1.2 Phân loại

More information

Năm 2015 O A O OB O MA MB = NA

Năm 2015 O A O OB O MA MB = NA hép vị tự quay Nguyễn Văn Linh Năm 2015 1 Giới thiệu hép vị tự và phép quay là những phép biến hình quen thuộc. Tuy nhiên phép vị tự quay còn ít được đề cập tới. Vì vậy trong bài viết này xin giới thiệu

More information

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP.

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. HCM M ột trong những chức năng quan trọng hiện nay của thư viện đại học là

More information

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI ƯỚI: XÉT CHO TRƯỜNG HỢP ƯỚI ĐIỆN HẠ THẾ 1 PHA Xuan Truong Nguyen, Dinh Quang Nguyen, Tung Tran To cite this version:

More information

DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM

DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM Tóm tắt ThS. Đỗ Thế Hoàng, TS. Nguyễn Hải An, ThS. Trần Huy Dư Tổng công ty Thăm dò Khai thác Dầu khí

More information

sao cho a n 0 và lr(a n ) = Ra n X a n với X a n R R. Trong bài báo này, chúng Z r (R) (t.ư., Z l (R)).

sao cho a n 0 và lr(a n ) = Ra n X a n với X a n R R. Trong bài báo này, chúng Z r (R) (t.ư., Z l (R)). TẠP CHÍ KHOA HỌC, Đại học Huế, Tập 74B, Số 5, (2012), 33-42 VỀ VÀNH HẦU NIL-NỘI XẠ YẾU Trương Công Quỳnh 1, Hoàng Thị Hà 2 1 Trường Đại học Sư phạm, Đại học Đà Nẵng 2 Trường THPT chuyên Lê Quý Đôn, Quảng

More information

NGUYỄN THỊ VIỆT HƢƠNG

NGUYỄN THỊ VIỆT HƢƠNG BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC THÁI NGUYÊN -----------------***----------------- NGUYỄN THỊ VIỆT HƢƠNG NGHIÊN CỨU XÂY DỰNG PHƢƠNG PHÁP ĐIỀU KHIỂN THÍCH NGHI, BỀN VỮNG HỆ EULER - LAGRANGE THIẾU CƠ CẤU CHẤP

More information

Hà Nội, ngày 22 tháng 1 năm 2012 (ngày Tất niên năm Nhâm Thìn) Đại diện nhóm biên soạn Chủ biên Hoàng Minh Quân Phan Đức Minh

Hà Nội, ngày 22 tháng 1 năm 2012 (ngày Tất niên năm Nhâm Thìn) Đại diện nhóm biên soạn Chủ biên Hoàng Minh Quân Phan Đức Minh LỜI NÓI ĐẦU Ngay từ năm 1736, nhà toán học Euler đã giải quyết thành công bài toán tổ hợp về bảy cây cầu ở thành phố Königsberg, Đức (nay là Kaliningrad, Nga) nằm trên sông Pregel, bao gồm hai hòn đảo

More information

CƠ SỞ VẬT LÝ HẠT NHÂN

CƠ SỞ VẬT LÝ HẠT NHÂN NGUYỄN AN SƠN CƠ SỞ VẬT LÝ HẠT NHÂN NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Lời mở đầu Kỹ thuật hạt nhân là ngành học sử dụng chùm bức xạ trong đời sống theo hai hình thức: phi năng lượng và năng

More information

NG S VIÊN TRONG CH M SÓC

NG S VIÊN TRONG CH M SÓC Information Sheet INSERT HEADING / SPECIALTY If you have any English language difficulties, please ask staff to book an interpreter. From home contact the Telephone Interpreter Service on 9605 3056. Services

More information

Mã khối không thời gian trực giao và điều chế lưới

Mã khối không thời gian trực giao và điều chế lưới Mã khối không thời gian trực giao và điều chế lưới Nguyễn Thị Hương Trường Đại học Công nghệ Chuyên ngành: Kỹ thuật Điện tử; Mã số: 60 5 70 Cán bộ hướng dẫn khoa học: PGS.TS. Trịnh Anh Vũ Năm bảo vệ: 01

More information

PHÂN TÍCH T & CÂN BẰNG B

PHÂN TÍCH T & CÂN BẰNG B Chương VI PHÂN TÍCH T TRỌNG LƯỢNG & CÂN BẰNG B TẠO T O TỦAT (Gravimetric analysis & Precipitation Equilibria) Ts. Phạm Trần Nguyên Nguyên ptnnguyen@hcmus.edu.vn A. Đặc điểm chung của phân tích trọng lượng.

More information

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN Ngày: Xin vui lo ng viết in tâ t ca thông tin. Thông tin về người nộp đơn than phiền: ( ) ( ) Tên Sô điê n thoa i nơi la m viê c Sô điê n thoa i nha riêng Đi a

More information

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán hoctoncpb.com xin giới thiệu Tuyển chọn các bài ÌN Ọ KÔNG GIN trong 1 Đ Ề TI T Ử TÂY NIN 15 y vọng tài liệu này s ẽ giúp các em học sinh ôn tập tốt hơn chuyên đề ÌN Ọ KÔNG GIN trong k ỳ thi TPT QG sắp

More information

Nhiễu và tương thích trường điện từ

Nhiễu và tương thích trường điện từ Nhiễu và tương thích trường điện từ TS. NGUYỄN Việt Sơn BM Kỹ thuật đo và Tin học công nghiệp Viện Điện Departement 3I Instrumentation and Idustrial Informatics C1-108 Hanoi University of Science and Technology

More information

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc 1. Họ và tên: Vũ Đặng Hoàng LÝ LỊCH KHOA HỌC 2. Ngày tháng năm sinh: 07/01/1976 Nam Dân tộc: Kinh 3. Quê

More information

Th vi n Trung Tâm HQG-HCM s u t m

Th vi n Trung Tâm HQG-HCM s u t m U N XIN VI C B NG TI NG VI T NG HÒA XÃ H I CH NGH A VI T NAM c l p T do H nh phúc N XIN VI C Kính g i:...... Tôi tên là:... Sinh ngày... tháng...n m...t i... Gi y ch ng minh nhân dân s :... p ngày... tháng...n

More information

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP THERMAL STRESS ANALYSIS OF EARLY- AGE CONCRETE STRUCTURES FOR CRACKING CONTROL

More information

GIÁO H I PH T GIÁO VI T NAM TH NG NH T

GIÁO H I PH T GIÁO VI T NAM TH NG NH T BUREAU INTERNATIONAL D'INFORMATION BOUDDHISTE INTERNATIONAL BUDDHIST INFORMATION BUREAU PHÒNG THÔNG TIN PH T GIÁO QU C T C quan Thông tin và Phát ngôn c a Vi n Hóa Ð o, Giáo h i Ph t giáo Vi t Nam Th ng

More information

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Nê u quy vi cu ng như nhiê u ngươ i kha c co Medicare, quy vi co thê thă c mă c luâ t chăm so c sư c kho e mơ i co y nghi a gi vơ i quy vi. Mô t sô ca c thay

More information

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1. chapter G4 HƯƠ NG DÂ N BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1 MU C LU C 1. GIƠ I THIÊ U 4 2. CA CH SƯ DU NG SA CH HƯƠ NG DÂ N THƯ C HIÊ N 6 3. NGUYÊN TĂ C BA O CA O 8 3.1 Nguyên tă c Xa c đi nh Nô i dung

More information

Nguyễn Thị Huyền Trang*, Lê Thị Thủy Tiên Trường Đại học bách khoa, ĐHQG tp Hồ Chí Minh,

Nguyễn Thị Huyền Trang*, Lê Thị Thủy Tiên Trường Đại học bách khoa, ĐHQG tp Hồ Chí Minh, TẠP CHÍ SINH HỌC, 2012, 34(3SE): 219-226 TĂNG HỆ SỐ NHÂN NHANH CHỒI CÂY HOA SALEM TÍM (Limonium sinuatum L. Mill) BẰNG CÁCH SỬ DỤNG KẾT HỢP CÁC CHẤT ĐIỀU HÒA SINH TRƯỞNG THỰC VẬT VÀ ADENINE TRONG NUÔI

More information

TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm

TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm Huỳnh Hoàng Trung Trường Đại học Sư phạm Kỹ thuật Tp.HCM, Việt Nam ABSTRACT: High-efficiency Ultraviolet Light Emitting Diodes (UVLEDs)

More information

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Hanoi Center for Financial and Industrial Mathematics Trung Tâm Toán Tài Chính và Công Nghiệp Hà Nội NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Đỗ Đức Thái và Nguyễn Tiến Dũng Hà Nội Toulouse, 2010 ii Bản thảo

More information

SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM Đề bài y x m 2 x 4. C. m 2. có bảng biến thiên như hình dưới đây:

SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM Đề bài y x m 2 x 4. C. m 2. có bảng biến thiên như hình dưới đây: SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM 08 Môn: Toán Đề bài 4 y m 4 Câu : Tìm tất cả các giá trị của tham số m để hàm số cực trị. m m Câu : Gọi M là giao điểm của đồ thị hàm số tuyến với

More information

Nguồn điện một chiều E mắc trong mạch làm cho diode phân cực thuận. Gọi I D là dòng điện thuận chạy qua diode và V D là hiệu thế 2 đầu diode, ta có:

Nguồn điện một chiều E mắc trong mạch làm cho diode phân cực thuận. Gọi I D là dòng điện thuận chạy qua diode và V D là hiệu thế 2 đầu diode, ta có: Chương 1: Mạch Diode CHƯƠNG I MẠCH DIODE Trong chương này, chúng ta khảo sát một số mạch ứng dụng căn bản của diode bán dẫn (giới hạn ở diode chỉnh lưu và diode zener - Các diode đặc biệt khác sẽ được

More information

MÔN KINH TẾ LƯỢNG (Econometric)

MÔN KINH TẾ LƯỢNG (Econometric) TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING BỘ MÔN TOÁN THỐNG KÊ Slide bài giảng và bài tập MÔN KINH TẾ LƯỢNG (Econometric) Giảng viên : ThS. Nguyễn Trung Đông Tp. Hồ Chí Minh, 0-0 - 014 TRƯỜNG ĐẠI HỌC TÀI CHÍNH

More information

Tạp chí Tin học và Điều khiển học, T.29, S.3 (2013), 221 231 ĐỒNG BỘ THÍCH NGHI MẠNG CNN HỖN LOẠN VÀ ỨNG DỤNG TRONG BẢO MẬT TRUYỀN THÔNG ĐÀM THANH PHƯƠNG 1, PHẠM THƯỢNG CÁT 2 1 Trường Đại học Công nghệ

More information

Phâ n thông tin ba o ha nh cu a ASUS

Phâ n thông tin ba o ha nh cu a ASUS Phâ n thông tin ba o ha nh cu a ASUS VN13459 v7 Ông/ Bà: Sô điê n thoa i: Đi a chi : Address: E-mail: Nga y mua: / / (nga y/tha ng/năm) Tên đa i ly : Sô điê n thoa i đa i ly : Đi a chi đa i ly : Sô seri

More information

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây BẢNG GIÁ THIẾT BỊ SELEC ĐỒNG HỒ TỦ ĐIỆN DẠNG SỐ HIỂN THỊ DẠNG LED ÁP DỤNG TỪ NGÀY 01/10/2015 MA12 MA202 MA302 MA335 MV15 MV205 MV305 MV334 MF16 MF216 MF316 - Đồng hồ đo Dòng điện AC gián tiếp qua CT -

More information

SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH

SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH PETROVIETNAM Tóm tắt SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH ThS. Hoàng Anh Tuấn, TS. Trịnh Xuân Cường,

More information

BẢNG GIÁ THIẾT BỊ SELEC

BẢNG GIÁ THIẾT BỊ SELEC Hình ảnh BẢNG GIÁ THIẾT BỊ SELEC ÁP DỤNG TỪ NGÀY 01/10/2015 Mã hàng Mô tả Giá (VNĐ) (Có VAT) ĐỒNG HỒ TỦ ĐIỆN DẠNG SỐ HIỂN THỊ DẠNG LED MA12 MA202 (72x72) MA302 - Đồng hồ đo Dòng điện AC gián tiếp qua CT

More information

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ TÓM T T KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ Nguy n Th Minh Thu n*, Tr n Thanh Nhãn*, Nguy n ng Ti n ** t v n : Thu c b o v th c v t làm ô nhi m môi tr ng và c bi t là

More information

Phạm Phú Anh Huy Khoa Xây dựng, Đặng Hồng Long- Khoa Xây dựng,

Phạm Phú Anh Huy Khoa Xây dựng, Đặng Hồng Long- Khoa Xây dựng, NGHIÊN CỨU CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN KHẢ NĂNG CHỊU CẮT CỦA DẦM BÊ TÔNG CỐT THÉP THEO LÝ THUYẾT MIỀN NÉN CẢI TIẾN (STUDY OF THE PARAMETERS EFFECTED THE SHEAR CAPACITY OF REINFORCED CONCRETE BEAM ACCORDING

More information

cách kết hợp thuật toán Fuzzy C-Means (FCM) với giải thuật di truyền (GA). Sau đó, HaT2-FLS

cách kết hợp thuật toán Fuzzy C-Means (FCM) với giải thuật di truyền (GA). Sau đó, HaT2-FLS Tạp chí Tin học và Điều khiển học, T.27, S.2 (2011), 119 130 XÂY DỰNG HỆ LÔGIC MỜ LOẠI HAI ĐẠI SỐ GIA TỬ PHAN ANH PHONG 1, ĐINH KHẮC ĐÔNG 2, TRẦN ĐÌNH KHANG 2 1 Khoa Công nghệ thông tin, trường Đại học

More information

BỒI DƯỠNG HỌC SINH GIỎI

BỒI DƯỠNG HỌC SINH GIỎI SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI VÀ HỘI TOÁN HỌC HÀ NỘI ========================== NGUYỄN VĂN MẬU, NGUYỄN HỮU ĐỘ (Chủ biên) CÁC CHUYÊN ĐỀ TOÁN HỌC BỒI DƯỠNG HỌC SINH GIỎI (Tóm tắt báo cáo Hội nghị khoa học)

More information

Phiên bản thử nghiệm Lưu hành nội bộ - Microsoft Vietnam

Phiên bản thử nghiệm Lưu hành nội bộ - Microsoft Vietnam 0 Mục lục Word 2010 I. Những điểm mới trong Microsoft Word 2010... 4 1. Tối ưu Ribbons... 4 2. H thống menu mới l... 5 3. Chức năng Backstage View... 6 4. Chức năng Paster Preview... 7 5. Chức năng Text

More information

Trao đổi trực tuyến tại: l

Trao đổi trực tuyến tại:   l Trao đổi trực tuyến tại: www.mientayvn.com/chat_box_li.htm l Lời nói đầu Giáo trình Linh Kiện Điện Tử ********* Linh kiện điện tử là kiến thức bước đầu và căn bản của ngành điện tử. Giáo trình được biên

More information

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng Ch ng 3 PHÁT TRI N D LI U Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng t là gì,... ) và m i d li u

More information

VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí Tóm tắt Ngữ pháp tiếng Anh lớp 6 (Cả năm)

VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí Tóm tắt Ngữ pháp tiếng Anh lớp 6 (Cả năm) Tóm tắt Ngữ pháp tiếng Anh lớp 6 (Cả năm) 1. Để đưa ra lời gợi ý ai đó làm việc gì với mình chúng ta sử dụng các mẫu câu sau đây: 1.1 Let s + bare infinitive - Let s go to the cinema tonight. - Let s help

More information

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN HÀ MY

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN HÀ MY ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN --------------------- NGUYỄN HÀ MY KHẢO SÁT MỘT SỐ DẪN XUẤT HALOGEN, ANCOL, PHENOL VÀ AXIT CACBOXYLIC BẰNG PHƯƠNG PHÁP HÓA HỌC LƯỢNG TỬ LUẬN VĂN

More information

THÔNG TIN LUẬN ÁN TIẾN SĨ

THÔNG TIN LUẬN ÁN TIẾN SĨ THÔNG TIN LUẬN ÁN TIẾN SĨ 1. Họ và tên nghiên cứu sinh: Trần Thanh Hà 2.Giới tính: Nữ 3. Ngày sinh: 20/02/1987 4. Nơi sinh: Thái Bình 5. Quyết định công nhận nghiên cứu sinh: 4050/QĐ-KHTN-CTSV ngày 19/09/2013

More information

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR'9) ; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00087 TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY

More information

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE If you are searching for the book Saigon oi Vinh Biet (Vietnamese Edition) by Duong Hieu Nghia chuyen dich in pdf format,

More information

BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot

BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot TRƯỜNG ĐH BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot ĐỀ TÀI : Tính toán thiết kế Robot hàn hồ quang Giảng viên hướng dẫn : PGS.TS. PHAN BÙI KHÔI Nhóm sinh viên thực hiện

More information

THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ

THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ 1. Họ và tên nghiên cứu sinh: Nguyễn Thị Kim Giang 2.Giới tính: Nữ 3. Ngày sinh: 20/7/1983 4. Nơi sinh: Hà Nội 5. Quyết định công nhận nghiên cứu sinh: số 3201/QĐ-SĐH ngày

More information

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI I. M C ÍCH - Rà soát và phát tri n chính sách h tr cho nh ng s d ng t ai t t nh t và qu n lý b n v ng ngu n tài

More information

TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN

TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN Tháng 06 năm 2014 1 MỤC LỤC Trang LƠ I MỞ ĐẦU... 3 I. GIỚI THIỆU SAIGONTECH...4 1. Sư ma ng cu a SaigonTech 2. Tầm nhìn cu a SaigonTech II. TUYỂN DỤNG

More information

HÀM BĂM HASH FUNCTIONS. Giáo viên: Phạm Nguyên Khang

HÀM BĂM HASH FUNCTIONS. Giáo viên: Phạm Nguyên Khang HÀM BĂM HASH FUNCTIONS Giáo viên: Phạm Nguyên Khang pnkhang@cit.ctu.edu.vn Tổng quan Mục tiêu: các hàm băm (H) tạo ra bản nhận dạng (fingerprint) cho một tập tin, thông điệp hay một khối dữ liệu truyền

More information

Trí Tuệ Nhân Tạo. Nguyễn Nhật Quang. Viện Công nghệ Thông tin và Truyền thông Trường Đại học Bách Khoa Hà Nội

Trí Tuệ Nhân Tạo. Nguyễn Nhật Quang. Viện Công nghệ Thông tin và Truyền thông Trường Đại học Bách Khoa Hà Nội Nguyễn Nhật Quang quangnn-fit@mail.hut.edu.vn Viện Công nghệ Thông tin và Truyền thông Trường Đại học Bách Khoa Hà Nội Năm học 2009-2010 Nội dung môn học: Giới thiệu về Trí tuệ nhân tạo Tác tử Giải quyết

More information

VÀI NÉT VỀ ĐỊA CHẤT - ĐỊA MẠO BÁN ĐẢO BARTON VÀ WEIVER, ĐẢO KING GEORGE, NAM CỰC

VÀI NÉT VỀ ĐỊA CHẤT - ĐỊA MẠO BÁN ĐẢO BARTON VÀ WEIVER, ĐẢO KING GEORGE, NAM CỰC 33(3ĐB), 436-442 Tạp chí CÁC KHOA HỌC VỀ TRÁI ĐẤT 11-2011 VÀI NÉT VỀ ĐỊA CHẤT - ĐỊA MẠO BÁN ĐẢO BARTON VÀ WEIVER, ĐẢO KING GEORGE, NAM CỰC DOÃN ĐÌNH LÂM Email: ddinhlam@yahoo.com Viện Địa chất - Viện Khoa

More information

NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC

NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC Nguyễn Thị Quỳnh Chi 1, Nguyễn Vũ Cẩm Bình 1, Nguyễn Đức Minh 2, Vũ Ngọc Hùng

More information

Mã số: Khóa:

Mã số: Khóa: TIỂU LUẬN TỔNG QUAN Tên đề tài: Dáng điệu tiệm cận của một số hệ vi phân đa trị trong không gian vô hạn chiều Chuyên ngành: Phương trình vi phân và tích phân Mã số: 62.46.01.05 NCS: Đỗ Lân Khóa: 2012-2016

More information

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH Lê Trung Ch n 1, Kh u Minh C nh 1 TÓM T T T Vi c nâng ng/ ào kênh s nh h ng n tích l y dòng ch y.

More information

CHUYÊN ĐỀ: SỬ DỤNG MÁY TÍNH CASIO GIẢI MỘT SỐ BÀI TOÁN TRONG ĐỀ THI MINH HỌA MÔN TOÁN THPT QUỐC GIA

CHUYÊN ĐỀ: SỬ DỤNG MÁY TÍNH CASIO GIẢI MỘT SỐ BÀI TOÁN TRONG ĐỀ THI MINH HỌA MÔN TOÁN THPT QUỐC GIA TRƯỜNG THPT DTNT HUỲNH CƯƠNG TỔ: TOÁN TIN CHUYÊN ĐỀ: SỬ DỤNG MÁY TÍNH CASIO GIẢI MỘT SỐ BÀI TOÁN TRONG ĐỀ THI MINH HỌA MÔN TOÁN THPT QUỐC GIA A. ĐẶT VẤN ĐỀ: Việc dạy và học toán có sự hỗ trợ của máy tính

More information

BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG

BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG 1 TRƯỜNG ĐẠI HOC SƯ PHẠM HÀ NỘI 2. KHOA TOÁN HỌC PHẠM THỊ HIỀN BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG KHOÁ LUẬN TỐT NGHIỆP CHUYÊN NGÀNH : HÌNH HỌC Người hướng dẫn khoa học T.S PHAN HỒNG TRƯỜNG Hà

More information

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM Tr n B ng, (X2000-Supaéro 2004), Eurocopter. Th tr ng v n t i hàng không Vi t Nam N n kinh t Vi t Nam ã t c nh ng thành t u áng k sau khi chuy n sang n n kinh t

More information

ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG (Dùng cho tiết giảng) Học phần: CHƯƠNG TRÌNH DỊCH Nhóm môn học:... Bộ môn: Khoa học máy tính Khoa (Viện): CNTT

ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG (Dùng cho tiết giảng) Học phần: CHƯƠNG TRÌNH DỊCH Nhóm môn học:... Bộ môn: Khoa học máy tính Khoa (Viện): CNTT BỘ MÔN DUYỆT Chủ nhiệm Bộ môn Ngô Hữu Phúc ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG (Dùng cho tiết giảng) Học phần: CHƯƠNG TRÌNH DỊCH Nhóm môn học:... Bộ môn: Khoa học máy tính Khoa (Viện): CNTT Thay mặt nhóm môn học

More information

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M Xu t b n l n th 3 T ch c Y t Th gi i Geneva 2004 Hi u ính Th c s Ph m V n H u, Vi n V sinh D ch t Tây Nguyên Th c s Nguy n Th Thu H ng, i h c Qu c gia Hà N i

More information

(Analytical Chemistry)

(Analytical Chemistry) HÓA A PHÂN TÍCHT (Analytical Chemistry) Ts. Phạm Trần Nguyên Nguyên ptnnguyen@hcmus.edu.vn (Dành cho sinh viên Khoa Hóa, Đại Học Lạc Hồng) Nămhọc 2008-2009 HọcKỳ 2 THÔNG TIN TỔNG T QUÁT Thời lượng: 48

More information

On Approximating Solution of Boundary Value Problems

On Approximating Solution of Boundary Value Problems On Approximting Solution of Boundry Vlue Problems Nguyễn Quản Bá Hồng Đoàn Trần Nguyên Tùng Students t Fculty of Mth nd Computer Science, Ho Chi Minh University of Science, Vietnm emil. dtrngtung@live.com

More information

LỜI NGỎ CHO EPSILON SỐ 6

LỜI NGỎ CHO EPSILON SỐ 6 THÁNG 2 Chủ biên: TRẦN NAM DŨNG Biên tập viên: VÕ QUỐC BÁ CẨN TRẦN QUANG HÙNG NGUYỄN VĂN HUYỆN NGUYỄN TIẾN LÂM LÊ PHÚC LỮ NGUYỄN TẤT THU ĐẶNG NGUYỄN ĐỨC TIẾN LỜI NGỎ CHO EPSILON SỐ 6 Ban Biên tập Epsilon

More information

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ COLORADO M I KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ h danh bi u t ng bán t i M, Chevrolet Colorado m i v i đ ng c VGT Turbo diesel Duramax m nh m b t phá lên

More information

NHẬT BÁO THẲNG TIẾN 11

NHẬT BÁO THẲNG TIẾN 11 NHẬT BÁO THẲNG TIẾN 11 Thứ Hai, ngày 02, Tháng Bẩy, Năm 2018 H i ng Trung ng / H ng o Vi t Nam và Soát Viên tài chánh, 2018 T Các c : T : Nhánh T T : -2018 H Sau p T / T 2018-2022 Soát Viên Tài chánh:

More information

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T VI À N C K NGHIÊN C ÊN NGÀNH Mã s á trong giáo d TÓM T HÀ N - 2016 Công trình àn thành t Ph Ph Vi HQGHN c: 1. PGS.TS. Ngô Doãn ãi 2. TS. Nguy... Ph... Lu...... ti... vào h Có th ìm - - Trung tâm Thông

More information

Integrated Algebra. Glossary. High School Level. English / Vietnamese

Integrated Algebra. Glossary. High School Level. English / Vietnamese High School Level Glossary Integrated Algebra Glossary English / Vietnamese Translation of Integrated Algebra terms based on the Coursework for Integrated Algebra Grades 9 to 12. Word-for-word glossaries

More information

TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID:

TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID: TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID: 64614 LINK XEM VIDEO http://moon.vn/fileid/64614 I. PHRASES AND COLLOCATIONS 1. control Take/ have/ lose control (of something) Điều khiển/ mất kiểm soát cái gì 2.

More information

Bộ môn Điều Khiển Tự Động Khoa Điện Điện Tử. Homepage:

Bộ môn Điều Khiển Tự Động Khoa Điện Điện Tử.   Homepage: Môn học LÝ THUYẾT ĐIỀU KHIỂN NÂN CAO iảng viên: PS. TS. Huỳnh Thái Hoàng Bộ môn Điều Khiển Tự Động Khoa Điện Điện Tử Đại học Bách Khoa TP.HCM Email: hthoang@hcmut.edu.vn Homepage: http://www4.hcmut.edu.vn/~hthoang/

More information

ÍCH GÌ, TOÁN HỌC? HÀM MOEBIUS VÀ ĐỊNH LÝ PHẦN DƯ TRUNG HOA VÀ CÁC CHUYÊN MỤC KHÁC DẪN NHẬP VỀ HÀM ZETA RIEMANN VÀ PHÉP BIẾN ĐỔI MELLIN

ÍCH GÌ, TOÁN HỌC? HÀM MOEBIUS VÀ ĐỊNH LÝ PHẦN DƯ TRUNG HOA VÀ CÁC CHUYÊN MỤC KHÁC DẪN NHẬP VỀ HÀM ZETA RIEMANN VÀ PHÉP BIẾN ĐỔI MELLIN ÍCH GÌ, TOÁN HỌC? Hà Huy Khoái HÀM MOEBIUS VÀ ĐỊNH LÝ PHẦN DƯ TRUNG HOA Phùng Hồ Hải DẪN NHẬP VỀ HÀM ZETA RIEMANN VÀ PHÉP BIẾN ĐỔI MELLIN VÀ CÁC CHUYÊN MỤC KHÁC Ngô Bảo Châu GIẢI NOBEL CỦA EINSTEIN HAY

More information

XU HƯỚNG HỢP ĐỒNG HOÁN ĐỔI LÃI SUẤT TẠI VIỆT NAM

XU HƯỚNG HỢP ĐỒNG HOÁN ĐỔI LÃI SUẤT TẠI VIỆT NAM XU HƯỚNG HỢP ĐỒNG HOÁN ĐỔI LÃI SUẤT TẠI VIỆT NAM Đỗ Thu Hằng, Nguyễn Thị Thu Trang Khoa Ngân hàng- Học viện Ngân hàng Thực hiện các cam kết hội nhập quốc tế, Việt Nam đang dần mở cửa thị trường, áp dụng

More information

System AR.12_13VI 01/ with people in mind

System AR.12_13VI 01/ with people in mind System 2000 H ng d n S d ng 04.AR.12_13VI 01/2018...with people in mind C NH BÁO tránh th ng tích, hãy luôn c H ng d n S d ng này và các tài li u kèm theo tr c khi s d ng s n ph m. B t bu c ph i c H ng

More information

HỌC PHẦN: CHƯƠNG TRÌNH DỊCH Bộ môn: Khoa học máy tính

HỌC PHẦN: CHƯƠNG TRÌNH DỊCH Bộ môn: Khoa học máy tính HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG CHI TIẾT HỌC PHẦN: CHƯƠNG TRÌNH DỊCH Bộ môn: Khoa học máy tính Giáo viên: Hà Chí Trung Học hàm: Giảng viên Học vị: Tiến sĩ Liên hệ: 01685-582-102

More information

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES HIGH SCHOOL A Quick Overview of the American International School 850 students, Pre-Kindergarten

More information

ĐH BÁCH KHOA TP.HCM. Bài giảng: NĂNG LƯỢNG TÁI TẠO. Giảng viên: ThS. Trần Công Binh

ĐH BÁCH KHOA TP.HCM. Bài giảng: NĂNG LƯỢNG TÁI TẠO. Giảng viên: ThS. Trần Công Binh ĐH BÁCH KHOA TP.HCM Bài giảng: NĂNG LƯỢNG TÁI TẠO Giảng viên: ThS. Trần Công Binh 4/2012 0 C2: NĂNG LƯỢNG ĐIỆN MẶT TRỜI 1. Nguồn năng lượng mặt trời 2. Tế bào quang điện 3. Đặc tuyến I-V của pin quang

More information

Lu t t tụng qu c tế và thủ tục t tụng qu c tế

Lu t t tụng qu c tế và thủ tục t tụng qu c tế Tạp chí Kho h c HQGHN: Lu t h c T p 33 S 2 (2017) 21-32 Lu t t tụng qu c tế và thủ tục t tụng qu c tế L n ính * Khoa Luật, ĐHQGHN, 144 Xuân Thủy, Cầu Giấy, Hà Nội, Việt Nam Nh n ngày 22 tháng 4 n m 2017

More information

On Approximating Solution Of One Dimensional Boundary Value Problems With Dirichlet Conditions By Using Finite Element Methods

On Approximating Solution Of One Dimensional Boundary Value Problems With Dirichlet Conditions By Using Finite Element Methods On Approximting Solution Of One Dimensionl Boundry Vlue Problems With Dirichlet Conditions By Using Finite Element Methods Nguyen Qun B Hong Don Trn Nguyen Tung Students t Fculty of Mth nd Computer Science,

More information

ĐIỆN TỬ SỐ HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN

ĐIỆN TỬ SỐ HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN Giảng viên: ThS. Trần Thúy Hà Điện thoại/e-mail: 0912166577 / thuyhadt@gmail.com Bộ môn: Kỹ thuật điện tử- Khoa KTDT1 Học kỳ/năm biên soạn: Học kỳ

More information