Mathcenter Forum

Mathcenter Forum (https://www.mathcenter.net/forum/index.php)
-   คณิตศาสตร์อุดมศึกษา (https://www.mathcenter.net/forum/forumdisplay.php?f=2)
-   -   ขอถามเกี่ยวกับ Complexity of Gaussian elimination (https://www.mathcenter.net/forum/showthread.php?t=4512)

คนบ้า 20 พฤษภาคม 2008 20:58

ขอถามเกี่ยวกับ Complexity of Gaussian elimination
 
อ่านจาก wikipedia ได้ว่า การทำ Gaussian elimination matrix ขนาด $n \times n$ จะใช้ operation ประมาณ $\frac{2n^3}{3}$ operations.
ดังนั้นจึงมี complexity $O(n^3)$

ช่วยขยายความให้ทีว่ามันมายังไงครับ

แล้วถ้า matrix ที่ไม่ใช่ square matrix หละครับ คิด complexity ในการทำ Gaussian elimination อย่างไร

TOP 22 พฤษภาคม 2008 00:48

ผมก็ไม่แม่นเรื่องนี้ เพราะไม่ได้ใช้จริงจัง และเคยแต่อ่านผ่านๆ

สมมติว่าเราจะทำ Gaussian elimination ของ matrix ขนาด $n \times n$ แถวที่ $m$ แบบง่ายๆ

ขั้นแรก เราต้องการให้ $a_{m,m} = 1$ จึงต้องคูณสมาชิกทุกตัวของแถวที่ $m$ ด้วยค่า $\frac{1}{a_{m,m}}$ นับจำนวนครั้งที่คูณได้ $n - m + 1$ ครั้ง

ขั้นที่สอง เราต้องการให้ $a_{x,m} = 0$ สำหรับทุก $x > m$ ตรงจุดนี้ต้องคูณสมาชิกทุกตัวของแถวที่ $m$ ด้วยค่า $-a_{x,m}$ แล้วนำไปรวมกับสมาชิกแต่ละตัวของแถว $x$ นับจำนวนครั้งที่คูณและนำมาบวกได้ $2(n - m + 1)(n - m)$ ครั้ง

เราต้องทำสองขั้นตอนดังกล่าว ตั้งแต่ค่า $m = 1$ จนถึงค่า $m = n$ ดังนั้นจำนวน operation ที่ใช้คือ
\[\sum_{m = 1}^{n} (n - m + 1) + 2(n - m + 1)(n - m) = \frac{2n^3}{3} + \frac{n^2}{2} - \frac{n}{6}\]
จึงได้ complexity เป็น $O(n^3)$

ถ้าเข้าใจหลักการแล้ว น่าจะคำนวณกรณีที่ไม่ใช่ square matrix ได้นะครับ :rolleyes:

คนบ้า 22 พฤษภาคม 2008 10:42

ในขั้นตอนที่สอง นี่พจน์ $(n-m+1)(n-m )$ คือ จำนวน operations ในการคูณเพื่อทำให้แถวใต้ $a_{n,n}$ เป็นศูนย์ ใช่ไหมครับ

เลข2 นี่มายังไงครับ



ขอบคุณล่วงหน้าครับ

TOP 23 พฤษภาคม 2008 18:20

อ้างอิง:

ข้อความเดิมเขียนโดยคุณ คนบ้า (ข้อความที่ 32391)
ในขั้นตอนที่สอง นี่พจน์ $(n-m+1)(n-m )$ คือ จำนวน operations ในการคูณเพื่อทำให้แถวใต้ $a_{n,n}$ เป็นศูนย์ ใช่ไหมครับ

$(n - m + 1)(n - m)$ เป็นจำนวนครั้งในการคูณ ซึ่งก็เท่ากับจำนวนครั้งในการบวกด้วย เมื่อนำมารวมกันค่าที่ได้จึงเป็น 2 เท่าของค่านี้ครับ

คนบ้า 30 พฤษภาคม 2008 10:30

Thank you หลายเด้อครับ


เวลาที่แสดงทั้งหมด เป็นเวลาที่ประเทศไทย (GMT +7) ขณะนี้เป็นเวลา 14:49

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Modified by Jetsada Karnpracha