16 ก.ย. 2020 เวลา 08:34 • การศึกษา
The Similarity of Sturm Sequence and Eigen Value Problem
Sturm Sequence คืออะไร? หลายคนอาจจะไม่เคยได้ยินเลย หลายคนอาจจะเคยเห็นคำนี้ในบางโปรแกรม ในการวิเคราะห์ Eigen value เพื่อหาคาบธรรมชาติและโหมดเชพการสั่นของโครงสร้าง
จริงๆ แล้ว Sturm Sequence นั้นฝังอยู่ในแทบทุกโปรแกรมคอมพิวเตอร์ที่ใช้ในการแก้ปัญหาสมการพหุนาม อยู่ที่ว่าเค้าจะตั้งไว้เป็นค่าบังคับภายในไม่ให้คนใช้เข้าไปยุ่ง (โปรแกรมตระกูล CSI อย่าง ETAB หรือ SAP2000 ฝัง Sturm Sequence ไว้ภายใน คนใช้เลือกที่จะเปิดหรือปิดไม่ได้) หรือ เค้าจะใส่เป็นออฟชั่นในคนใช้เลือกที่จะใช้หรือไม่ก็ได้ (โปรแกรมตระกูล MIDAS มีออฟชั่นให้คนใช้เลือกที่จะเปิดหรือปิด Sturm Sequence ได้)
ถึงตอนนี้คงมีหลายคนสงสัยว่า Sturm Sequence เกี่ยวอะไรกับปัญหา Eigen Value Analysis งั้นเรามาทำความเข้าใจกับ Sturm Sequence กันก่อน
Sturm Sequence นั้นตั้งชื่อเพื่อเป็นเกียรติให้กับนักคณิตศาสตร์ชาวฝรั่งเศลชื่อ Charles Sturm (1803-1855) ซึ่งคิดค้นลำดับ Sturm ได้ในปี คศ 1829
Sturm Sequence เป็นเทคนิคในการแก้ปัญหาสมการพหุนาม (Polynomial) โดยเฉพาะการนับจำนวนของรากของสมการพนุนาม โดยอาศัยการเปลี่ยนเครื่องหมายของคำตอบในการนับจำนวนคำตอบ เนื่องจากสมการพหุนามผลลัพท์ต้องเท่ากับศูนย์
ดังนั้นเมื่อเอามาพลอตกราฟจะเห็นว่าสมการพหุนามจะวิ่งไปมารอบค่าศูนย์ จุดที่เป็นศูนย์ก็คือรากของสมการ และค่าก่อนและหลังรากของสมการจะกลับเครื่องหมายจากบวกเป็นลบหรือลบเป็นบวก
ในรูปทางซ้ายมือ จะเห็นว่าเราสามารถสร้างสมการพหุนามดีกรีสามได้ด้วยการเพิ่มตัวแปรและจับคูณกันไปเรื่อยๆ ค่ารากของสมการ f3(x) ก็คือ X1, X2 และ X3 ซึ่งเมื่อนำค่าเหล่านี้ลงไปแทนในสมการจะทำให้ค่าเป็นศูนย์ หรืออยู่ในจุดที่กราฟตัดแกน X พอดี
สมการพหุนามตั้งแต่ f0(x), f1(x), f2(x) และ f3(x) เรียกว่า Sturm Sequence
ดังนั้นถ้าเราไม่รู้ค่ารากสมการ X1, X2 และ X3 มาก่อน เราสามารถจะสมมติค่ามั่วๆ แล้วสังเกตกลับเครื่องหมายของผลลัพท์เพื่อที่จะดูว่ารากทั้งหมดมันมีอยู่เท่าไร หรือ ถ้าเราเอาค่าจำนวนรากของช่วงค่าที่เราสมมติเข้าไปที่อยู่ติดกันลบกัน เราก็จะสามารถที่จะรู้ได้ว่าช่วงที่เราสมมติเข้าไปนั้นมีจำนวนรากอยู่เท่าไร
เช่น เราสมมติว่า X=a เราพบว่าค่ารากมีทั้งหมด 3 ค่า จากนั้นเราสมมติค่า X=b เราพบว่าค่ารากทั้งหมดมี 2 ค่า ดังนั้นในช่วง a ถึง b จึงมีจำนวนรากทั้งหมด 3-2 = 1 ราก
เมื่อเรารู้ว่ารากมันอยู่ในช่วงนี้ เราก็บีบช่วง a และ b ให้เข้าใกล้กันขึ้นจนกระทั่งใกล้เคียงค่ารากที่แท้จริงมากที่สุด หรือ ถ้าโชคดี เราก็อาจจะเจอ Exact Solution หรือ รากที่แท้จริงของสมการ
แล้วมันเกี่ยวอะไรกับ Eigen Value Problem?
ปัญหา Eigen Value ก็คือปัญหาสมการพหุนาม (Polynomial Equation) เนื่องจากเราต้องแก้ปัญหาค่า Matrix Determinant ให้เป็นศูนย์ ซึ่งมันจะสร้างสมการพหุนามขึ้นมา ดังจะเห็นในรูปทางขวาว่า Matrix ขนาด 4 x 4 สร้างสมการพหุนามขนาดดีกรี 4 ขึ้นมา
ดังนั้นถ้าเรามี Dynamic Degree of Freedom จำนวน n เราก็จะมี Matrix ขนาด n x n มันจึงสร้างสมการพหุนามดีกรี n ขึ้นมา
ถ้าเราจำได้จะรู้ว่าเราไม่สามารถที่จะแก้สมการพหุนามดีกรีสูงๆ ได้ ดีกรี 3 ยังพอแก้มือได้ ดีกรี 4 อาจจะพบหาสมการสำเร็จรูปได้ ดีกรีเกิน 4 ต้องแก้ด้วย Numerical Method อย่างเดียว ด้วยการทำ Iteration ไปเรื่อยๆ จนกว่าจะใกล้คำตอบที่สุด
ซึ่งหลักการของ Sturm Sequence จะช่วยให้เราประมาณช่วงค่าของ Eigen Value ได้ และยิ่งไปกว่านั้นคือ ทำให้เราไม่หลุคช่วงคาบหรือค่า Eigen Value ในบางค่าไป เนื่องจาก Sturm Sequence จะบอกว่าเราว่าแต่ละช่วงมันมี Eigen Value อยู่กี่ค่า
พึงระลึกไว้ว่า Iteration Technique แต่ละวิธีนั้นไม่จำเป็นต้องได้ค่ารากครบทุกค่า มันอาจจะลู่เข้าหาบางราก และ “หลุด” บางคาบไป โดยเฉพาะกรณีที่ค่าราก หรือ คาบธรรมชาติ มันอยู่ใกล้กันมากๆ
โฆษณา