Thursday, October 27, 2005

Transformation Matrix: Eigenvalues & Eigenvectors "ตอนแรก"

ถ้าใครช่างสังเกตหน่อย จะเห็นว่า ผมเปลี่ยนชื่อหัวข้อไปนิดนึง จากที่วางแผนไว้ใน Tunoblog Summarized จาก ...

เดิม Transformation: Eigenvalues & Eigenvectors
เป็น Transformation Matrix: Eigenvalues & Eigenvectors (คงมีหลายตอน)

จริง ๆ มันเป็นตั้งแต่ตอนที่แล้วแล้วแหละ (Transformation Matrix: Orthonormal Transformations) แต่ก็ยังไม่ลบชื่อหัวข้อเดิมออก ... มันเป็นความจงใจหนะนะ คือ จะเขียนต่ออีก ... ตอนนี้ขอเข้าเรื่องก่อน

นิยามของ Eigenvalue และ Eigenvector

ขอบอกนิยามสำหรับกรณีเมตริกซ์จัตุรัสมิติจำกัดก่อนนะ กรณีที่ทั่วไปมากขึ้น จะพูดถึงในตอนถัด ๆ ไป

Eigenvalues & Right Eigenvectors

ให้ A เป็นเมตริกซ์จัตุรัส มิติ n × n
และให้ u เป็นเวกเตอร์ n มิติ (คือ เมตริกซ์แนวตั้ง มิติ n × 1 หนะ)
ถ้าสามารถหาจำนวนจริง λ ที่ไม่ใช่ 0 ที่ทำให้
Au = λu ได้
จะเรียก u ว่าเป็น Eigenvector ทางขวา ของ A
และจะเรียก λ ว่าเป็น Eigenvalue ของ u

ที่เอานิยามแบบนี้มาให้ดู เพราะมันเป็นความนิยมหนะ จริง ๆ แล้ว ถ้าเราให้ u เป็นเมตริกซ์แนวนอน มิติ 1 × n และเปลี่ยนเงื่อนไขของสมการเป็น

uA = λu

เราก็จะเรียก u ว่าเป็น Eigenvector ทางซ้าย ของ A

เรื่องมหัศจรรย์มีอยู่ว่า ... λ มันจะเท่ากันทั้งสองกรณีน่ะสิ

เมตริกซ์ของ Eigenvalue และ เมตริกซ์ของ Eigenvector

ตอนนี้ ขอเรียก eigenvector ทางซ้ายว่า eigenvector เฉย ๆ นะ จะได้สั้น ๆ และตรงตามความนิยม

"โดยทั่วไป" แล้ว เมตริกซ์ n × n จะมี eigenvector อยู่ n ตัว ดังนั้น eigenvalue ก็จะมีอยู่ n ตัวด้วย

สมมติว่า n = 3 ก่อนละกันนะ แล้วก็ให้ λ1 λ2 λ3 เป็น eigenvalue ทั้งสามของ เมตริกซ์ A ที่มีมิติ 3 × 3

เราจะเขียนเมตริกซ์ของ eigenvalue เป็นเมตริกซ์ทแยงมุมดังนี้

D1 = (λ1, 0, 0)
D2 = (0, λ2, 0)
D3 = (0, 0, λ3)
D = [ D1 : D2 : D3 ]

เพื่อให้เขียนง่าย ๆ หน่อย ขอย่อเมตริกซ์ทแยงมุมเป็นแบบนี้นะ

D = [ λ1 \ λ2 \ λ3 ]

ส่วนเมตริกซ์ของ eigenvector ก็แค่เอา eigenvector มาต่อกัน มันก็จะได้เมตริกซ์จัตุรัสเอง ... หน้าตาแบบนี้

P = [ u1 : u2 : u3 ]

Eigen Decomposition

แล้วไอ้เมตริกซ์เมื่อกี๊ มันเอาไว้ทำอะไรอะ?

เดี๋ยวจะเอาให้ดู ว่าประโยชน์มันคืออะไร

สมมติก่อนว่า A เป็นเมตริกซ์ที่มีมิติเป็น 3 × 3 ซึ่งมี eigenvector 3 เส้น คือ u1 u2 u3 และ eigenvector ทั้งสาม จับคู่กับ eigenvalue 3 ค่า คือ λ1 λ2 λ3 ตามลำดับ ... จากนั้น กำหนดให้

D = [ λ1 \ λ2 \ λ3 ]
P = [ u1 : u2 : u3 ]

เราจะรู้ว่า

AP = A[ u1 : u2 : u3 ]
AP = [ Au1 : Au2 : Au3 ]
AP = [ λ1u1 : λ2u2 : λ3u3 ]

และ

PD = [ u1 : u2 : u3 ][ λ1 \ λ2 \ λ3 ]
PD = [ λ1u1 : λ2u2 : λ3u3 ]

ดังนั้น

AP = PD
A = PDP-1

การยกกำลังเมตริกซ์ด้วย Eigen Decomposition

อันนี้เป็น หนึ่งในการใช้งานที่สุดแสนจะคลาสสิก และง่ายด้วย ... ความรู้ที่ต้องใช้ก็คือ

[ λ1 \ λ2 \ λ3 ]n = [ λ1n \ λ2n \ λ3n ] เมื่อ n เป็นจำนวนเต็มใด ๆ

คราวนี้ สมมติว่าเราอยากหา An เราก็แตกด้วย Eigen Decomposition ก่อน แล้วทำแบบนี้

A = PDP-1
A2 = PDP-1 PDP-1 = PD2P-1
A3 = PD2P-1 PDP-1 = PD3P-1
...
An = PDnP-1

เนื่องจาก Dn มันหาได้ง่าย ๆ จากสมการข้างบน ดังนั้น วิธีนี้จึงมีประสิทธิภาพสูงกว่าการคูณมันไปเรื่อย ๆ ตรง ๆ เห็น ๆ

นอกจากนี้ อินเวอร์สของ A ก็หาได้ด้วยวิธีเดียวกัน ... แบบนี้

An = PDnP-1
I = PDnP-1A-n
P-1 = DnP-1A-n
D-nP-1 = P-1A-n
PD-nP-1 = A-n

ดังนั้น สมการ An = PDnP-1 ก็เลยใช้ได้กับจำนวนเต็ม n ใด ๆ ไม่จำกัดเฉพาะจำนวนเต็มบวก (เป็น 0 ก็ได้นะ)

คราวนี้ พอเราหาเมตริกซ์ยกกำลังได้สะดวก ๆ แล้ว พหุนามของเมตริกซ์ก็เขียนได้ง่าย ๆ เหมือนกัน

สมมติว่า f(A) เป็นพหุนามของ A
ถ้าเราสามารถแยก A = PDP-1 ได้ เราจะรู้ว่า
f(A) = P f(D) P-1
ซึ่งทำให้ f(A) = P [ f(λ1) \ f(λ2) \ f(λ3) \ ... \ f(λn) ] P-1

พอรู้หยั่งงี้ ฟังก์ชันสุดฮิต ex ของเรา ก็ใช้กับเมตริกซ์ได้แล้ว เพราะว่า เราสามารถเขียนให้อยู่ในรูปของพหุนามได้ ดังนี้

eA = 1 + A + A2/2! + A3/3! + ...

ดังนั้น ถ้าเราแทนค่า eA = f(A) ในความสัมพันธ์ f(A) = P [ f(λ1) \ f(λ2) \ f(λ3) \ ... \ f(λn) ] P-1 จะได้ว่า

eA = P [ eλ1 \ eλ2 \ eλ3 \ ... \ eλn ] P-1

และที่ยิ่งไปกว่านี้ ... หน้าตาแบบนี้ ทำไมมันจะใช้ได้แค่ e หละ? ... ขยายต่อสิ ให้ฐานมันเป็นจำนวนจริงอะไรก็ได้

aA = P [ aλ1 \ aλ2 \ aλ3 \ ... \ aλn ] P-1

เห็นมั้ย ว่าใช้เมตริกซ์เป็นเลขชี้กำลังได้ละ :D ผลลัพธ์เป็นเมตริกซ์ด้วย

จริง ๆ เราจะนิยามสัญลักษณ์ BA เมื่อ A กับ B เป็นเมตริกซ์ อีกก็ได้นะ ก็แค่เอา B ไปแทนที่ a ในสมการข้างบนนี่ ... แต่ ... มันจะดูแปลก ๆ อ๊ะป่าว ??? ... เมตริกซ์ที่มีข้อมูลในช่องเป็นเมตริกซ์ ...



และแล้วก็จบตอนแรกของเรื่อง eigenvalue กับ eigenvector ... ยังมีอีกเยอะเลยหละ แต่ค่อย ๆ เอามาให้ดูละกัน จะได้อ่านกันไหว

12 Comments:

At 11/02/2005 4:31 AM, Anonymous Anonymous said...

อ่าแอบลงซะยาวเชียว

 
At 11/02/2005 6:09 AM, Anonymous Anonymous said...

เราอยากอ่านเรื่อง transformation แต่ว่าเป็น linear transformation อะ ไม่เข้าใจว่า Kernel กับ Range ของ Linear Transformation จะสามารถบอกได้ว่าฟังก์ชั่นของ Linear Transformation จะเป็น one to one หรือ on-to ได้ยังไง...

ช่วยยกตัวอย่างให้เข้าใจได้มั้ยคะว่าฟังก์ชั่น on to เนี่ยเป็นยังไง

 
At 11/02/2005 9:54 PM, Anonymous Anonymous said...

ได้กลิ่นของดองอ่ะ

 
At 11/03/2005 2:08 AM, Blogger Tunococ said...

เอาเรื่อง onto ก่อนนะ

ถ้า f:A → B เป็นฟังก์ชันทั่วถึง (onto) แสดงว่า ถ้าเราหยิบ y ∈ B มาตัวนึง เราจะสามารถหา x ∈ A ที่ทำให้ f(x) = y ได้

ส่วนเรื่องความสัมพันธ์ของ Kernel กับ Range กับความเป็น one-to-one กับ onto เนี่ย มันต้องพิจารณาเป็นกรณีไปหนะ

 
At 10/22/2009 3:12 PM, Anonymous Anonymous said...

ชอบเรื่องนี่มาก Transformation Matrix: Eigenvalues & Eigenvectors ทำให้เราเข้าใจวิชา "stochastics & probability " ที่กำลังเรียนอยู่ ขอบคุณมากมาย .....เขียนได้เข้าใจมาก จะติดตามเรื่องอื่น ๆ ด้วย... เขียนเรื่องดี ๆ อย่างนี้ออกมาบ่อย ๆ นะ....

ดล,

 
At 10/22/2009 3:16 PM, Anonymous Anonymous said...

เราอยากรู้เรื่อง covariance matrix มัน สัมพันธ์กับเรื่อง Transformation Matrix: Eigenvalues & Eigenvectors อย่างไร?? เรามองไม่เห็นภาพแล้วนำไปใช่อย่างไร

ดล,

 
At 10/22/2009 7:51 PM, Blogger Tunococ said...

แอบดีใจที่มีคนมาอ่าน หลังจากไม่เขียนมาเป็น ... กี่ปีแล้วเนี่ย?

ถ้ามีคำถามอะไร ส่งมาทาง e-mail เลย อาจจะตอบเร็วกว่านะ :P

 
At 10/23/2009 7:51 PM, Anonymous Anonymous said...

เราไม่มีเมลล์คุณนี่ แล้วเราขอเมลล์เธอจะน่าเกียจมั้ย เมลล์รัยหรอ ?? ....

ดล,

 
At 10/23/2009 8:01 PM, Anonymous Anonymous said...

หรือว่าคุณ ไม่อยากเปิดเผยอีเมลล์ จะเอาเมลล์เราใหม?? แล้วคุณค่อยส่งเมลล์คุณมาหาเรา ที่คุณตอบcomment เราก็ดีใจหละ นี่ยังอนุญาติให้เราถามคุณได้อีกต่างหาก ขอบคุณนะ .....

ดล,

 
At 10/23/2009 8:04 PM, Blogger Tunococ said...

อ่อ ไม่รู้เหมือนกันว่าไม่มีเมลแสดงให้ดู

ใช้ tunococ at gmail dot com นี่แหละ

 
At 11/05/2009 3:14 PM, Anonymous Anonymous said...

อยากให้เขียนเรื่อง Information Theory อย่างคร่าว ๆ ให้พอมองเห็นภาพ,เล่าถึงความสำคัญที่ต้องเรียน และก็การนำไปประยุกต์ใช้นะค่ะ จะคอยติดตามค่ะ พอดีว่าลงทะเบียนเรียนวิชานี้อยู่ค่ะ

ขอบคุณค่ะ

ดล,

 
At 11/05/2009 5:24 PM, Blogger Tunococ said...

อ่า คือ เลิกเขียนไปนานแล้ว แล้วตอนนี้ก็ขี้เกียจมากเลย ใช้ googletalk คุยกันแทนได้มั้ยเอ่ย

 

Post a Comment

<< Home