01204472/การทดลองเกี่ยวกับเมตริกซ์
- หน้านี้เป็นส่วนหนึ่งของวิชา 01204472
เนื้อหา
Orthogonal matrices
เราจะทดลองสร้าง orthogonal matrices โดยการหาเวกเตอร์ที่ตั้งฉากกัน
สุ่มเวกเตอร์
ใน pylab เราสามารถสุ่มเวกเตอร์ได้โดยใช้คำสั่ง rand [1] ซึ่งจะสามารถสร้าง array ตามมิติที่เราระบุได้ เช่น
>>> rand(5) array([ 0.46074869, 0.45697852, 0.72675971, 0.87655621, 0.59247653])
เราสามารถสร้างเมตริกซ์จาก array ดังกล่าวได้โดยสั่ง matrix แต่เมตริกซ์ที่ได้จะเป็นเมตริกซ์ที่มี 1 แถว ไม่ใช่คอลัมน์เวกเตอร์ที่เราต้องการ แต่เราสามารถ transpose ได้โดยเรียก attribute T ของผลลัพธ์ดังกล่าว เช่น
>>> matrix(rand(5)).T matrix([[ 0.50004005], [ 0.41567827], [ 0.56018141], [ 0.37370744], [ 0.29102686]])
จงเขียนฟังก์ชัน runit(n) ที่สุ่มเวกเตอร์ที่มีขนาด 1 หน่วยที่มีขนาด n
เวกเตอร์ที่ตั้งฉากกัน
ในส่วนนี้ เราจะสนใจกรณีของเวกเตอร์ขนาด 5 เท่านั้น