01204472 ภาคต้น 2555

จาก Theory Wiki
(เปลี่ยนทางจาก 01204472)
ไปยังการนำทาง ไปยังการค้นหา

การคำนวณเชิงตัวเลข เป็นหนึ่งในการประยุกต์ใช้งานหลักของคอมพิวเตอร์ การคำนวณเชิงตัวเลขมีขอบเขตในการประยุกต์ใช้ที่กว้างขวาง (ดูรายการด้านล่าง) ในวิชานี้ เราจะศึกษาทฤษฎีและอัลกอริทึมเกี่ยวกับเวกเตอร์และเมตริกซ์ ซึ่งนอกจากจะเป็นพื้นฐานในการทำความเข้าใจเทคนิคต่าง ๆ เกี่ยวกับการคำนวณเชิงตัวเลขแล้ว เนื้อหาในส่วนนี้ยังเกี่ยวข้องโดยตรงกับการประยุกต์ใช้งานในด้านต่าง ๆ รวมทั้งอัลกอริทึมสำหรับการหาค่าที่ดีที่สุดซึ่งเราจะได้ศึกษาทฤษฎีและอัลกอริทึมในวิชานี้

นอกจากนี้เรายังจะสัมผัสเนื้อหามาตรฐานของรายวิชาการคำนวณเชิงตัวเลข เช่น การหาค่าประมาณการ การหาอนุพันธ์ การอินทิเกรตเชิงตัวเลข การเข้าสมการอนุพันธ์ และการปรับหาเส้นโค้งที่เหมาะสม

ในหัวข้อต่าง ๆ เราจะศึกษาทั้งทฤษฎีและการนำไปประยุกต์ใช้

ติดต่อสื่อสาร: Group 01204472/55 Numerical Computation บน facebook

การวัดผล

  • การบ้าน 20%
  • สอบกลางภาค 20% สอบปลายภาค 20%
  • โครงงานเล็ก 2 โครงงาน โครงงานละ 20%

หัวข้อ

เนื้อหาแต่ละสัปดาห์จะโพสที่นี่ อย่างไรก็ตาม ถ้าต้องการดูภาพรวมของเนื้อหาในรายวิชากรุณาดูได้ที่หัวข้อเนื้อหาเชิงทฤษฎีโดยรวม

หัวข้อละเอียด

  • 19 มิ.ย. Vectors (ใช้ Lecture 1 จากเว็บวิชา EE103)
  • 26 มิ.ย. Matrices (ใช้ Lecture 2 จากเว็บวิชา EE103)
  • 3 ก.ค. Linear equations, เกริ่น Theory of linear equations (ใช้ Lecture 3 และ 4 จากเว็บวิชา EE103)
  • 19 ก.ค.:
    • Guest speaker
    • Theory of linear equations.

เนื้อหาเชิงทฤษฎีโดยรวม

ถึงแม้วิชานี้จะเน้นการปฏิบัติ แต่เนื้อหาทางทฤษฎีหลายอย่างก็ยังจำเป็นมาก

  • 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
  • การหาค่าที่ดีที่สุด

ลิงก์ภายนอก