ผลต่างระหว่างรุ่นของ "01204472/การทดลองเกี่ยวกับเมตริกซ์"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(minor updates)
แถว 79: แถว 79:
 
</center>
 
</center>
  
ทำไปสักระยะ เวกเตอร์ <math>u</math> จะเริ่มไม่เปลี่ยนแปลง (จะลู่เข้าสู่ค่า eigenvector ที่สอดคล้องกับ eigenvalue ที่มีค่ามากที่สุด)
+
ทำไปสักระยะ เวกเตอร์ <math>u</math> จะเริ่มไม่เปลี่ยนแปลง (จะลู่เข้าสู่ค่า eigenvector ที่สอดคล� ... \n
  
เราจะหาค่า eigenvalue ที่สอดคล้องกับ <math>u</math> ได้โดยการคำนวณค่า <math>\|Bu\|/\|u\|</math>  ดังนั้นค่า norm ที่คำนวณได้จะเท่ากับ <math>\sqrt{\|Bu\|/\|u\|}</math>
+
== Reuse of Wastewater May Improve Drinking Water Supply ==
  
ให้สุ่มเมตริกซ์ <math>A</math> ดังนี้
+
With recent advances in technology and design, treating municipal wastewater and reusing it for drinking water, irrigation, industry, and other applications could significantly increase the nations total available water resources, particularly in coastal areas facing water shortages, says a new report from the National Research Council.
  
  >>> A = matrix(rand(3,3))
+
  [[http://goodvillenews.com/Reuse-of-Wastewater-May-Improve-Drinking-Water-Supply-SD47qe.html Reuse of Wastewater May Improve Drinking Water Supply]]
>>> A
 
matrix([[ 0.08684718,  0.51124141,  0.59892317],
 
        [ 0.70633162,  0.01742227,  0.64947786],
 
        [ 0.85831143,  0.67425728,  0.38012037]])
 
  
จากนั้นให้ <math>B=A^TA</math> และคำนวณหาค่า eigenvalue ที่มากที่สุดของ <math>B</math> โดยวิธีที่กล่าวมาแล้ว
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
เปรียบเทียบค่าที่ได้กับค่า norm ของเมตริกซ์ A (คำนวณโดย <tt>norm(A,2)</tt>)
+
== Nintendo Unveils Wii U Console ==
  
== Range และ Nullspace ของเมตริกซ์ ==
+
Nintendo Co. on Tuesday unveiled details of its Wii U videogame console to be launched late this year, featuring a tablet computer-like controller with touch-sensitive panel.
  
พิจารณาเมตริกซ์ <math>A</math> ต่อไปนี้
+
[[http://goodvillenews.com/Nintendo-Unveils-Wii-U-Console-mGg2T2.html Nintendo Unveils Wii U Console]]
  
<math>
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
A = \left[
 
\begin{array}{ccc}
 
1 & 0 & 1\\
 
1 & 2 & 3\\
 
-1 & 2 & 1
 
\end{array}
 
\right]
 
</math>
 
  
'''Range ของ <math>A</math>.''' ให้สุ่มเวกเตอร์ <math>x\in {\mathbf R}^3</math> มาจำนวนมาก ๆ (เช่นสุ่มโดยใช้ <tt>matrix(rand(3)).T</tt>) จากนั้น plot ค่าของ <math>Ax</math> ที่ได้เป็นแบบ scatter ในสามมิติ เพื่อแสดง range ของ <math>A</math>
+
== 13 Things You Should Do To Live Life Without Regrets ==
  
'''Nullspace ของ <math>A</math>.''' เราจะประมาณ nullspace ของ <math>A</math> โดยขั้นตอนดังนี้
+
A study that was performed on elderly individuals a few years back, has shown that during old age, there are many people who regret the things they didnt have the courage to do as opposed to only a few who had regrets about the things theyve done.
  
* สุ่มเวกเตอร์ <math>x\in {\mathbf R}^3</math> มาจำนวนมาก ๆ (เช่นสุ่มโดยใช้ <tt>matrix(rand(3)-[0.5,0.5,0.5]).T</tt>)  เช่น ประมาณ 10000 เวกเตอร์
+
[[http://goodvillenews.com/13-Things-You-Should-Do-To-Live-Life-Without-Regrets-DyXsux.html 13 Things You Should Do To Live Life Without Regrets]]
* นำเวกเตอร์ <math>x</math> ที่ <math>\|Ax\| < \epsilon</math> (โดยที่ค่า <math>\epsilon</math> เป็นค่าน้อย ๆ เช่น 0.1) มา plot แบบ scatter ในสามมิติ เพื่อแสดง บริเวณเวกเตอร์ที่ใกล้กับ nullspace ของ <math>A</math>
 
  
== การแก้ Linear equations ==
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
=== ทดลองการแก้สมการ ===
+
== The Importance of Learned Optimism ==
  
ในปัญหา polynomial interpolation เราทราบจุด <math>(x_0,f(x_0)), (x_1,f(x_1)),\ldots, (x_d,f(x_d))</math> ของ polynomial <math>f</math> ที่มี degree <math>d</math>  เราต้องการหา <math>f</math>
+
What 25 years of research reveal about the cognitive skills of happiness and finding lifes greater purpose.The illiterate of the 21st century, Alvin Toffler famously said, will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. Our outlook on the world and our daily choices of disposition and behavior are in many ways learned patterns to which Tofflers insight applies with all the greater urgency
  
สมมติให้ <math>f(x) = a_d x^d + a_{d-1}x^{d-1}+\ldots+a_1 x + a_0</math> เราสามารถเขียนระบบสมการเชิงเส้นได้ดังด้านล่าง
+
[[http://goodvillenews.com/The-Importance-of-Learned-Optimism-jmZjsG.html The Importance of Learned Optimism]]
  
: ''TBA''
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
เขียนฟังก์ชัน <tt>geneq(d,plist)</tt> ที่รับรายการของคู่ลำดับ d+1 คู่ จากนั้นคืนค่าเป็น tuple <tt>(M,b)</tt> ที่ <math>Ma=b</math> เป็น linear equations ของสัมประสิทธิ์ของ <math>f</math>
+
== Use Your Talents Give More Receive More ==
  
ตัวอย่างการทำงาน
+
When I stand before God at the end of my life, I would hope that I would not have a single bit of talent left, and could say, I used everything you gave me.Erma Bombeck
  
  >>> geneq(2,[(1,5),(2,2),(4,7)])
+
  [[http://goodvillenews.com/Use-Your-Talents-Give-More-Receive-More-n807aT.html Use Your Talents Give More Receive More]]
(matrix([[1, 1, 1],
 
        [4, 2, 1],
 
        [16, 4, 1]]),
 
  matrix([[5],
 
        [2],
 
        [7]))
 
  
ให้ทดลองใช้ฟังก์ชัน [http://docs.scipy.org/doc/scipy/reference/tutorial/linalg.html#solving-linear-system solve] เพื่อแก้สมการที่เราสร้างขึ้น ในหาทดลองหา polynomial ที่ผ่านจุดต่อไปนี้
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 
 
* '''ข้อ a.''' ดีกรี 2, ผ่านจุด (1,5),(2,2),(4,7)
 
* '''ข้อ b.''' ดีกรี 4, ผ่านจุด (1,0), (3,5), (6,2), (9,7), (10,8)
 
 
 
=== ทดลองเขียน gaussian elimination ===
 
 
 
เขียนฟังก์ชันที่ทำงานลักษณะเดียวกับ ฟังก์ชัน <tt>solve</tt> โดยใช้ gaussian elimination
 
 
 
: อย่าลืมนำฟังก์ชันดังกล่าวทดลองกับ [[01204472/การทดลองการคำนวณจำนวนจริง#Gaussian_Elimination|การทดลองในแลบ 1]] ก่อน
 
 
 
ทดลองใช้ฟังก์ชันที่เขียนขึ้นในการหา polynomial ในส่วนก่อนหน้า
 

รุ่นแก้ไขเมื่อ 02:24, 5 สิงหาคม 2555

หน้านี้เป็นส่วนหนึ่งของวิชา 01204472

เราจะทดลองเกี่ยวกับเมตริกซ์ และการใช้งานโครงสร้างข้อมูล matrix ของ numpy

ตัวอย่างการใช้งาน

>>> a = matrix([[1,2,3],[4,5,6]])
>>> a
matrix([[1, 2, 3],
        [4, 5, 6]])
>>> a.T
matrix([[1, 4],
        [2, 5],
        [3, 6]])
>>> norm(a,2)                              # หา matrix norm
9.5080320006957209
>>> b = matrix([[7,8],[9,10],[11,12]])
>>> b
matrix([[ 7,  8],
        [ 9, 10],
        [11, 12]])

>>> a*b
matrix([[ 58,  64],
        [139, 154]])

Orthogonal matrices

เราจะทดลองสร้าง orthogonal matrices โดยการหาเวกเตอร์ที่ตั้งฉากกัน กระบวนการดังกล่าวเรียกว่า Gram-Schmidt process

สุ่มเวกเตอร์

ใน 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 เท่านั้น ใช้ฟังก์ชัน runit() สุ่มเวกเตอร์ v1 จากนั้นสุ่มเวกเตอร์ u2 ให้ทดสอบว่าเวกเตอร์ u2 นั้นขนานกับ v1 หรือไม่ (มีโอกาสน้อยมากที่จะเกิดขึ้น) จากนั้นให้คำนวณหา

  • เวกเตอร์ u2a และ u2b ที่ u2 = u2a + u2b และ u2a นั้นตั้งฉากกับ v1
  • ให้เวกเตอร์ v2 เท่ากับเวกเตอร์ที่มีทิศทางเดียวกับ u2a แต่มีขนาด 1 หน่วย
    • ทดลองได้ว่า v2.T * v1 เท่ากับ 0 หรือไม่

จากขั้นตอนดังกล่าว เราจะสามารถสุ่มเวกเตอร์ v3 ที่ตั้งฉากกับทั้ง v1 และ v2 ได้

ให้เขียนฟังก์ชัน randorth(vlist,n) ที่รับรายการของเวกเตอร์ vlist ที่ประกอบไปด้วยเวกเตอร์ขนาด n ที่ตั้งฉากกันทั้งหมด และคืน unit vector ที่ตั้งฉากกับเวกเตอร์ทุกเวกเตอร์ในรายการ

ให้ใช้ฟังก์ชันดังกล่าว หาเวกเตอร์ v3, v4, และ v5 ที่เป็น unit vector ที่ตั้งฉากกันทั้งหมด

หมายเหตุ: ทดลองหา vector v6 ที่ตั้งฉากกับทุก ๆ เวกเตอร์

เมื่อเราได้เวกเตอร์ที่มีคุณสมบัติดังกล่าวแล้ว เราสามารถสร้างเมตริกซ์ Q ที่เป็น orthogonal matrix ได้ไม่ยาก ทดลองสร้างและตรวจสอบว่า Q เป็น orthogonal matrix จริงหรือไม่

Matrix norm

ใน pylab มีฟังก์ชัน norm (จาก numpy) สำหรับหา norm ของเมตริกซ์ อ่าน reference โดยในการหา operator norm ของเมตริกซ์ M เราจะสั่ง norm(M,2) นอกจากนี้ยังมี norm ประเภทอื่น เช่น ถ้าเราสั่ง norm(M) จะเป็นการหา Frobenius norm

เราจะหา norm ของเมตริกซ์ โดยใช้อัลกอริทึมสำหรับคำนวณหา eigenvalue ที่เรียกว่า Power method ทั้งนี้เนื่องจาก Operator norm นั้น มีค่าเท่ากับรากที่สองของ eigenvalue ที่มากที่สุดของ (ทำไม?)

เราจะหาค่าดังกล่าว ให้เมตริกซ์ เราจะสุ่มเวกเตอร์ จากนั้นเราจะนำเมตริกซ์ ไปคูณกับเวกเตอร์ ซ้ำไปเรื่อย ๆ (พร้อมกับสเกลเวกเตอร์ให้มีขนาด 1) นั่นคือ ในแต่ละรอบเราจะปรับค่า

ทำไปสักระยะ เวกเตอร์ จะเริ่มไม่เปลี่ยนแปลง (จะลู่เข้าสู่ค่า eigenvector ที่สอดคล� ... \n

Reuse of Wastewater May Improve Drinking Water Supply

With recent advances in technology and design, treating municipal wastewater and reusing it for drinking water, irrigation, industry, and other applications could significantly increase the nations total available water resources, particularly in coastal areas facing water shortages, says a new report from the National Research Council.

[Reuse of Wastewater May Improve Drinking Water Supply]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Nintendo Unveils Wii U Console

Nintendo Co. on Tuesday unveiled details of its Wii U videogame console to be launched late this year, featuring a tablet computer-like controller with touch-sensitive panel.

[Nintendo Unveils Wii U Console]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

13 Things You Should Do To Live Life Without Regrets

A study that was performed on elderly individuals a few years back, has shown that during old age, there are many people who regret the things they didnt have the courage to do as opposed to only a few who had regrets about the things theyve done.

[13 Things You Should Do To Live Life Without Regrets]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

The Importance of Learned Optimism

What 25 years of research reveal about the cognitive skills of happiness and finding lifes greater purpose.The illiterate of the 21st century, Alvin Toffler famously said, will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. Our outlook on the world and our daily choices of disposition and behavior are in many ways learned patterns to which Tofflers insight applies with all the greater urgency

[The Importance of Learned Optimism]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Use Your Talents Give More Receive More

When I stand before God at the end of my life, I would hope that I would not have a single bit of talent left, and could say, I used everything you gave me.Erma Bombeck

[Use Your Talents Give More Receive More]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]