01204472 ภาคต้น 2555
การคำนวณเชิงตัวเลข เป็นหนึ่งในการประยุกต์ใช้งานหลักของคอมพิวเตอร์ การคำนวณเชิงตัวเลขมีขอบเขตในการประยุกต์ใช้ที่กว้างขวาง (ดูรายการด้านล่าง) ในวิชานี้ เราจะศึกษาทฤษฎีและอัลกอริทึมเกี่ยวกับเวกเตอร์และเมตริกซ์ ซึ่งนอกจากจะเป็นพื้นฐานในการทำความเข้าใจเทคนิคต่าง ๆ เกี่ยวกับการคำนวณเชิงตัวเลขแล้ว เนื้อหาในส่วนนี้ยังเกี่ยวข้องโดยตรงกับการประยุกต์ใช้งานในด้านต่าง ๆ รวมทั้งอัลกอริทึมสำหรับการหาค่าที่ดีที่สุดซึ่งเราจะได้ศึกษาทฤษฎีและอัลกอริทึมในวิชานี้
นอกจากนี้เรายังจะสัมผัสเนื้อหามาตรฐานของรายวิชาการคำนวณเชิงตัวเลข เช่น การหาค่าประมาณการ การหาอนุพันธ์ การอินทิเกรตเชิงตัวเลข การเข้าสมการอนุพันธ์ และการปรับหาเส้นโค้งที่เหมาะสม
ในหัวข้อต่าง ๆ เราจะศึกษาทั้งทฤษฎีและการนำไปประยุกต์ใช้
ติดต่อสื่อสาร: Group 01204472/55 Numerical Computation บน facebook
เนื้อหา
การวัดผล
- การบ้าน 20%
- สอบกลางภาค 20% สอบปลายภาค 20%
- โครงงานเล็ก 2 โครงงาน โครงงานละ 20%
หัวข้อ
เนื้อหาแต่ละสัปดาห์จะโพสที่นี่ อย่างไรก็ตาม ถ้าต้องการดูภาพรวมของเนื้อหาในรายวิชากรุณาดูได้ที่หัวข้อเนื้อหาเชิงทฤษฎีโดยรวม
หัวข้อละเอียด
- 12 มิ.ย. แนะนำเนื้อหาและแนวคิดพื้นฐานผ่านทางปัญหาการวาดกราฟ (graph drawing) ด้วยสปริงโมเดล
- 14 มิ.ย. ทดลองเกี่ยวกับขีดจำกัดของการคำนวณด้วยจำนวนจริงบนคอมพิวเตอร์ รายละเอียดการทดลอง
- 19 มิ.ย. Vectors (ใช้ Lecture 1 จากเว็บวิชา EE103)
- Vector space model (จาก วิกิพีเดีย)
- 21 มิ.ย. ทดลองเกี่ยวกับเวกเตอร์ รายละเอียดการทดลอง
- 26 มิ.ย. Matrices (ใช้ Lecture 2 จากเว็บวิชา EE103)
- 28 มิ.ย. ทดลองเกี่ยวกับเมตริกซ์
- 3 ก.ค. Linear equations, เกริ่น Theory of linear equations (ใช้ Lecture 3 และ 4 จากเว็บวิชา EE103)
- 5 ก.ค.:
- Theory of linear equations (ต่อ)
- ทดลองเกี่ยวกับเมตริกซ์ (ต่อ)
- 19 ก.ค.:
- Guest speaker
- Theory of linear equations.
- 24 ก.ค.: Cholesky factorization
- 26 ก.ค.: LU factorization
- 31 ก.ค.: Linear least-square
- 2 ส.ค.: QR factorization
- 14 ส.ค.: Least-norm problems
- 16 ส.ค.: Nonlinear equations
- 21 ส.ค.: Unconstrained optimization
- 23 ส.ค.: การทดลองเกี่ยวกับการหารากของสมการ
- 4 ก.ย.: Singular Value Decomposition
- 6 ก.ย.: การทดลองเกี่ยวกับ SVD
- 11 ก.ย.: SVD ต่อ
- 13 ก.ย.: SVD ต่อ
- 18 ก.ย.: Linear optimization (บทที่ 18 ที่เว็บ EE103)
- 20 ก.ย.: Problem condition and numerical stability (บทที่ 15 ที่เว็บ EE103)
เนื้อหาเชิงทฤษฎีโดยรวม
ถึงแม้วิชานี้จะเน้นการปฏิบัติ แต่เนื้อหาทางทฤษฎีหลายอย่างก็ยังจำเป็นมาก
- Introductory concepts (approximation errors, Taylor's theorem, computer arithemetic)
- Matrix theory (vectors, matrics, linear equations) (เนื้อหาจาก UCLA EE103)
- Matrix algorithms (Choleskey factorization, LU factorization, Least square problems, QR fatorization) (เนื้อหาจาก UCLA EE103)
- Nonlinear equations and optimization (เนื้อหาจาก UCLA EE103)
การบ้าน
ถ้าการบ้านข้อใดมีเขียน (Vx.y) แสดงว่านำมาจากปัญหาท้ายบทข้อที่ y จากบทที่ x จาก reader ของวิชา EE103 ซึ่งสามารถดาวน์โหลดต้นฉบับภาษาอังกฤษได้จากลิงก์
การบ้าน 1 (กำหนดส่ง 31 ก.ค. 2555)
1. (V1.4) ให้ -vector โดยที่ และ เราจะเรียก ว่าเป็น middle element ของ เรากำหนดให้
แทนความแตกต่างระหว่าง middle element กับค่าเฉลี่ยของ element ใน จงเขียนฟังก์ชัน ในรูป เมื่อ เป็น -vector
2. (V1.15) จงใช้ Cauchy-Schwarz inequality เพื่อพิสูจน์ว่า
สำหรับทุก ๆ -vector นั่นคือค่าเฉลี่ยของทุก ๆ element ของเวกเตอร์ มีค่าอยู่ระหว่าง เท่าของ norm ของมัน
ให้อธิบายด้วยว่าเมื่อใดที่ upperbound ดังกล่าวมีค่าเท่ากับค่าเฉลี่ย และเมื่อใดที่ lowerbound มีค่าเท่ากับค่าเฉลี่ย
3. (V2.6) Projection ของเวกเตอร์ บนเวกเตอร์ ให้ เป็น -vector เราจะนิยามฟังก์ชัน ดังนี้
เราทราบว่าฟังก์ชันดังกล่าวคือ projection ของ บนเวกเตอร์ ฟังก์ชัน เป็น linear function หรือไม่?
(ถ้าตอบว่าใช่ ให้ระบุ เมตริกซ์ ที่ ถ้าตอบว่าไม่ใช่ ให้แสดงตัวอย่างที่แสดงว่า ไม่มีคุณสมบัติ linearity )
4. (V3.9) เมตริกซ์จัสตุรัส จะถูกเรียกว่า diagonal matrix ถ้า element ทั้งหมดที่อยู่นอกเส้นแทยงมุมมีค่าเป็น 0, นั่นคือ สำหรับทุก ๆ
(a) จงหา range และ nullspace ของเมตริกซ์ด้านล่าง
(b) เมื่อใดที่ diagonal matrix จะ invertible?
5. (V3.12) ให้ เป็น nonsingular matrix ที่ order พิจารณาเมตริกซ์ ขนาด ที่นิยามเป็น
(a) แสดงว่า เป็น nonsingular โดยแสดงว่าถ้า แล้ว
(b) จงหา inverse ของ ในการทำข้อนี้ ให้เขียน ในรูปของ block matrix:
โดยที่แต่ละ block มีมิติ จากนั้นหาค่าของเมตริกซ์ จากเงื่อนไขว่า
การบ้าน 2 (กำหนดส่ง 16 ส.ค. 2555)
1. (V6.1) คำนวณหา Cholesky factorization ของเมตริกซ์ สามารถใช้คอมพิวเตอร์ในการคำนวณได้
2. (V6.2) พิจารณาเมตริกซ์ ต่อไปนี้ทีละข้อ จากนั้นให้หาเงื่อนไขของค่า ที่ทำให้เมตริกซ์ดังกล่าวเป็น positive definite. ในการหาเงื่อนไขดังกล่าว ให้ factor จากนั้นให้หาเงื่อนไขของ ที่ทำให้การแยก factor สามารถกระทำได้
(a)
(b)
(c) , เมื่อ เป็น identity matrix ขนาด
3. (V7.5) คำนวณหา LU factorization โดยใช้ฟังก์ชัน scipy.linalg.lu สังเกตผลลัพธ์ที่ได้
4. (V7.7) สมมติว่าคุณต้องแก้ linear equations ทั้งหมด ชุด ดังนี้
, จนถึง
โดยคุณได้รับเมตริกซ์ และ ขนาด ที่เป็น nonsingular เมตริกซ์ เป็น diagonal matrix ที่สมาชิกบนเส้นทะแยงมุมมีค่าไม่เป็นศูนย์ นอกจากนี้ คุณก็จะได้รับพจน์ด้านขวา
ตัวแปรที่คุณต้องหาคำตอบคือ -vectors , สำหรับ
อธิบายวิธีการที่ใช้หาค่าของ สำหรับทุก ๆ ให้เปรียบเทียบเวลาที่ใช้ กับการคำนวณหาคำตอบโดยตรงด้วยวิธีการธรรมดา
- สำหรับข้อต่อไปนี้ จะทยอยใส่คำแปลให้ตามเหมาะสม
5. ทำข้อ V7.12
6. ทำข้อ V8.1
7. ทำข้อ V8.3
ซอฟต์แวร์
รายการการประยุกต์ใช้
- ทฤษฎีเมตริกซ์
- Machine learning / AI: ใช้เพื่อโมเดลเอกสารและแสดงความสัมพันธ์ระหว่างเอกสาร (Vector space model), เทคนิคที่เกี่ยวข้องกับ eigenvalue เช่น SVD และ PCA, Collaborative filtering
- การหาค่าที่ดีที่สุด
- Machine learning / AI: ใช้ในการเทรนเครื่องจักรการเรียนรู้ เช่น neural networks หรือ Support vector machine
- Computer graphics: การประยุกต์ใช้การหาค่าที่ดีที่สุดในปัญหาต่าง ๆ ดูตัวอย่างจากรายวิชาต่อไปนี้: Generating Natural Human Motion Physically Based Character Animation หรือเรื่องของ optimization based synthesis
- หุ่นยนต์
- เครือข่ายคอมพิวเตอร์