อ่าน 10 นาที
การวิเคราะห์เชิงตัวเลข
การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง )...
การวิเคราะห์เชิงตัวเลข

การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง [ 2 ] อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง ) และโดยทั่วไปจะใช้การประมาณ เชิง ตัวเลข นอกเหนือจากการจัดการเชิงสัญลักษณ์
การวิเคราะห์เชิงตัวเลขมีการประยุกต์ใช้ในทุกสาขาของวิศวกรรมและวิทยาศาสตร์กายภาพ และในศตวรรษที่ 21 ยังรวมถึงวิทยาศาสตร์ชีวภาพและสังคม เช่น เศรษฐศาสตร์ การแพทย์ ธุรกิจ และแม้กระทั่งศิลปะ การเติบโตของกำลังการคำนวณในปัจจุบันทำให้สามารถใช้การวิเคราะห์เชิงตัวเลขที่ซับซ้อนมากขึ้น ซึ่งให้แบบจำลองทางคณิตศาสตร์ที่ละเอียดและสมจริงในวิทยาศาสตร์และวิศวกรรม ตัวอย่างของการวิเคราะห์เชิงตัวเลข ได้แก่ สมการเชิง อนุพันธ์สามัญดังที่พบในกลศาสตร์ดาราศาสตร์ (การทำนายการเคลื่อนที่ของดาวเคราะห์ ดาวฤกษ์ และกาแล็กซี) พีชคณิตเชิงเส้นเชิงตัวเลขในการวิเคราะห์ข้อมูล[ 3 ] [ 4 ] [ 5 ]และ สมการเชิง อนุพันธ์เชิงสุ่มและห่วงโซ่มาร์คอฟสำหรับการจำลองเซลล์ที่มีชีวิตในทางการแพทย์และชีววิทยา
ก่อนยุคคอมพิวเตอร์สมัยใหม่วิธีการเชิงตัวเลขมักอาศัย สูตร การแทรกสอด ด้วยมือ โดยใช้ข้อมูลจากตารางพิมพ์ขนาดใหญ่ ตั้งแต่กลางศตวรรษที่ 20 คอมพิวเตอร์ได้คำนวณฟังก์ชันที่ต้องการแทน แต่สูตรเดียวกันหลายสูตรยังคงถูกนำมาใช้ในอัลกอริธึมซอฟต์แวร์[ 6 ]
มุมมองเชิงตัวเลขมีมาตั้งแต่บันทึกทางคณิตศาสตร์ยุคแรกๆ แผ่นจารึกจากคอลเลกชันบาบิโลนของมหาวิทยาลัยเยล ( YBC 7289 ) ให้ค่าประมาณเชิงตัวเลข ในระบบเลขฐานหกสิบของ รากที่สองของ 2ซึ่งเป็นความยาวของเส้นทแยงมุมในสี่เหลี่ยมจัตุรัส หน่วย
การวิเคราะห์เชิงตัวเลขสืบทอดธรรมเนียมปฏิบัติอันยาวนานนี้ กล่าวคือ แทนที่จะให้คำตอบเชิงสัญลักษณ์ที่แน่นอนซึ่งแปลงเป็นตัวเลขและใช้ได้เฉพาะกับการวัดในโลกแห่งความเป็นจริงเท่านั้น จะใช้คำตอบโดยประมาณภายในขอบเขตความคลาดเคลื่อนที่กำหนดไว้แทน
แอปพลิเคชัน
เป้าหมายโดยรวมของสาขาการวิเคราะห์เชิงตัวเลขคือการออกแบบและวิเคราะห์เทคนิคเพื่อให้ได้คำตอบโดยประมาณแต่แม่นยำสำหรับปัญหาที่ยากหลากหลายประเภท ซึ่งหลายปัญหานั้นไม่สามารถแก้ได้ด้วยวิธีการเชิงสัญลักษณ์:
- วิธีการคำนวณเชิงตัวเลขขั้นสูงมีความสำคัญอย่างยิ่งในการทำให้การพยากรณ์อากาศเชิงตัวเลขเป็นไปได้จริง
- การคำนวณวิถีโคจรของยานอวกาศจำเป็นต้องใช้การแก้ระบบสมการเชิงอนุพันธ์สามัญด้วยวิธีเชิงตัวเลขที่แม่นยำ
- บริษัทผู้ผลิตรถยนต์สามารถปรับปรุงความปลอดภัยในการชนของรถยนต์ได้โดยใช้การจำลองการชนด้วยคอมพิวเตอร์ การจำลองดังกล่าวโดยพื้นฐานแล้วประกอบด้วยการแก้สมการเชิงอนุพันธ์ย่อยด้วยวิธีเชิงตัวเลข
- ในด้านการเงิน (กองทุนลงทุนส่วนตัว) และสถาบันการเงินอื่นๆ ใช้ เครื่องมือ ทางการเงินเชิงปริมาณจากการวิเคราะห์เชิงตัวเลขเพื่อพยายามคำนวณมูลค่าของหุ้นและอนุพันธ์ให้แม่นยำยิ่งขึ้นกว่าผู้เข้าร่วมตลาดรายอื่นๆ[ 7 ]
- สายการบินใช้ขั้นตอนวิธีเพิ่มประสิทธิภาพที่ซับซ้อนในการตัดสินใจเรื่องราคาตั๋ว การจัดสรรเครื่องบินและลูกเรือ และความต้องการเชื้อเพลิง ในอดีต ขั้นตอนวิธีดังกล่าวได้รับการพัฒนาขึ้นภายในสาขาการวิจัยเชิงปฏิบัติการซึ่ง มีความทับซ้อนกัน
- บริษัทประกันภัยใช้โปรแกรมเชิงตัวเลขในการวิเคราะห์ทางคณิตศาสตร์ ประกันภัย
ประวัติศาสตร์
สาขาการวิเคราะห์เชิงตัวเลขมีมาก่อนการประดิษฐ์คอมพิวเตอร์สมัยใหม่หลายศตวรรษการแทรกสอดเชิงเส้นถูกนำมาใช้แล้วเมื่อกว่า 2,000 ปีที่แล้ว นักคณิตศาสตร์ผู้ยิ่งใหญ่หลายคนในอดีตต่างหมกมุ่นอยู่กับการวิเคราะห์เชิงตัวเลข[ 6 ]ดังที่เห็นได้ชัดจากชื่อของอัลกอริทึมที่สำคัญ เช่นวิธีของนิวตันพหุ นามการแทรกสอดของ ลากรางจ์ การกำจัดแบบเกาส์เซียนหรือวิธีของออยเลอร์ต้นกำเนิดของการวิเคราะห์เชิงตัวเลขสมัยใหม่มักเชื่อมโยงกับบทความในปี 1947 โดยจอห์น ฟอน นอยมันน์และเฮอร์แมน โกลด์สไตน์ [ 8 ] [ 9 ] แต่บาง คน ก็ถือว่าการวิเคราะห์เชิงตัวเลขสมัยใหม่ย้อนกลับไปถึงงานของอีที วิทเทเกอร์ในปี 1912 [ 8 ]

เพื่ออำนวยความสะดวกในการคำนวณด้วยมือ จึงมีการจัดทำหนังสือขนาดใหญ่ที่มีสูตรและตารางข้อมูล เช่น จุดการประมาณค่าและสัมประสิทธิ์ของฟังก์ชัน โดยใช้ตารางเหล่านี้ ซึ่งมักคำนวณได้ถึงทศนิยม 16 ตำแหน่งหรือมากกว่านั้นสำหรับบางฟังก์ชัน เราสามารถค้นหาค่าเพื่อนำไปใส่ในสูตรที่กำหนดและได้ค่าประมาณเชิงตัวเลขที่ดีมากสำหรับบางฟังก์ชัน งานเขียนที่เป็นที่ยอมรับในสาขานี้คือ หนังสือ ของ NISTที่แก้ไขโดยAbramowitz และ Stegunซึ่งเป็นหนังสือมากกว่า 1,000 หน้าที่รวบรวมสูตรและฟังก์ชันที่ใช้กันทั่วไปจำนวนมากพร้อมค่าของฟังก์ชันเหล่านั้น ณ จุดต่างๆ ค่าของฟังก์ชันเหล่านั้นอาจไม่ค่อยมีประโยชน์แล้วเมื่อมีคอมพิวเตอร์ แต่รายการสูตรจำนวนมากยังคงมีประโยชน์มาก
เครื่องคิดเลขเชิงกลได้รับการพัฒนาขึ้นเพื่อใช้เป็นเครื่องมือสำหรับการคำนวณด้วยมือ เครื่องคิดเลขเหล่านี้พัฒนาไปเป็นคอมพิวเตอร์อิเล็กทรอนิกส์ในช่วงทศวรรษ 1940 และพบว่าคอมพิวเตอร์เหล่านี้มีประโยชน์สำหรับวัตถุประสงค์ด้านการบริหารด้วย แต่การประดิษฐ์คอมพิวเตอร์ยังส่งผลต่อสาขาการวิเคราะห์เชิงตัวเลขด้วย[ 6 ]เนื่องจากขณะนี้สามารถทำการคำนวณที่ยาวและซับซ้อนมากขึ้นได้
รางวัล เลสลี ฟ็อกซ์ สำหรับการวิเคราะห์เชิงตัวเลขเริ่มต้นขึ้นในปี 1985 โดยสถาบันคณิตศาสตร์และการประยุกต์
แนวคิดหลัก
วิธีการโดยตรงและวิธีการวนซ้ำ
วิธีการโดยตรงคำนวณหาคำตอบของปัญหาโดยใช้ขั้นตอนจำนวนจำกัด วิธีการเหล่านี้จะให้คำตอบที่แม่นยำหากคำนวณด้วยเลขคณิตที่มีความแม่นยำอนันต์ตัวอย่างเช่น วิธี การกำจัดแบบเกาส์เซียนวิธีการแยกตัวประกอบ QRสำหรับแก้ระบบสมการเชิงเส้นและวิธีการซิมเพล็กซ์ของการเขียนโปรแกรมเชิงเส้นในทางปฏิบัติ จะใช้ ความแม่นยำที่จำกัดและผลลัพธ์ที่ได้จะเป็นค่าประมาณของคำตอบที่แท้จริง (โดยสมมติว่ามีเสถียรภาพ )
ตรงกันข้ามกับวิธีการโดยตรงวิธีการวนซ้ำไม่คาดว่าจะสิ้นสุดในจำนวนขั้นตอนที่จำกัด แม้ว่าจะมีความแม่นยำอนันต์ก็ตาม เริ่มต้นจากการคาดเดาเบื้องต้น วิธีการวนซ้ำจะสร้างการประมาณค่าต่อเนื่องที่ลู่เข้าสู่คำตอบที่ถูกต้องเฉพาะในขีดจำกัดเท่านั้น การทดสอบการลู่เข้า ซึ่งมักเกี่ยวข้องกับค่าตกค้างจะถูกระบุไว้เพื่อตัดสินว่าเมื่อใดที่ได้พบคำตอบที่แม่นยำเพียงพอ (หวังว่าจะเป็นเช่นนั้น) แม้จะใช้เลขคณิตที่มีความแม่นยำอนันต์ วิธีการเหล่านี้ก็จะไม่ถึงคำตอบภายในจำนวนขั้นตอนที่จำกัด (โดยทั่วไป) ตัวอย่างเช่น วิธีของนิวตันวิธีการแบ่งครึ่งและการวนซ้ำของจาโคบีในพีชคณิตเมทริกซ์เชิงคำนวณ โดยทั่วไปแล้วจำเป็นต้องใช้วิธีการวนซ้ำสำหรับปัญหาขนาดใหญ่[ 10 ] [ 11 ] [ 12 ] [ 13 ]
วิธีการวนซ้ำเป็นที่นิยมมากกว่าวิธีการโดยตรงในการวิเคราะห์เชิงตัวเลข บางวิธีนั้นในทางทฤษฎีแล้วเป็นวิธีการโดยตรง แต่โดยทั่วไปแล้วมักใช้ราวกับว่าไม่ใช่ เช่นGMRESและวิธีการไล่ระดับแบบสังยุคสำหรับวิธีการเหล่านี้ จำนวนขั้นตอนที่จำเป็นในการหาคำตอบที่ถูกต้องนั้นมีมากจนยอมรับการประมาณค่าในลักษณะเดียวกับวิธีการวนซ้ำ
ยกตัวอย่างเช่น ลองพิจารณาปัญหาการแก้ปัญหา
- 3 x 3 + 4 = 28
สำหรับปริมาณที่ไม่ทราบค่า x
| 3 x 3 + 4 = 28 | |
| ลบ 4 | 3 x 3 = 24 |
| หารด้วย 3 | x 3 = 8. |
| หาค่ารากที่สาม | x = 2. |
สำหรับวิธีการวนซ้ำ ให้ใช้วิธีการแบ่งครึ่งช่วงกับf ( x ) = 3x³ − 24ค่าเริ่มต้นคือa = 0, b = 3, f ( a ) = −24, f ( b ) = 57
| เอ | ข | กลาง | ฟ (กลาง) |
|---|---|---|---|
| 0 | 3 | 1.5 | −13.875 |
| 1.5 | 3 | 2.25 | 10.17... |
| 1.5 | 2.25 | 1.875 | −4.22... |
| 1.875 | 2.25 | 2.0625 | 2.32... |
จากตารางนี้สามารถสรุปได้ว่าคำตอบอยู่ระหว่าง 1.875 และ 2.0625 อัลกอริทึมอาจส่งคืนตัวเลขใดๆ ในช่วงนั้นโดยมีข้อผิดพลาดน้อยกว่า 0.2
การปรับสภาพร่างกาย
ปัญหาเงื่อนไขไม่ดี: พิจารณาฟังก์ชันf ( x ) = 1/( x − 1)สังเกตว่าf (1.1) = 10 และf (1.001) = 1000: การเปลี่ยนแปลงของxน้อยกว่า 0.1 จะกลายเป็นการเปลี่ยนแปลงของf ( x ) เกือบ 1000 การประเมินค่าf ( x ) ใกล้x = 1 เป็นปัญหาเงื่อนไขไม่ดี
ปัญหาที่มีเงื่อนไขดี: ในทางตรงกันข้าม การประเมินค่าฟังก์ชันเดียวกันf ( x ) = 1/( x − 1)ใกล้x = 10 ถือเป็นปัญหาที่มีเงื่อนไขดี ตัวอย่างเช่นf (10) = 1/9 ≈ 0.111 และf (11) = 0.1: การเปลี่ยนแปลงเล็กน้อยในxนำไปสู่การเปลี่ยนแปลงเล็กน้อยในf ( x )
การแบ่งส่วนย่อย
นอกจากนี้ บางครั้งปัญหาต่อเนื่องจะต้องถูกแทนที่ด้วยปัญหาไม่ต่อเนื่องซึ่งทราบกันดีว่าคำตอบของปัญหาไม่ต่อเนื่องนั้นใกล้เคียงกับคำตอบของปัญหาต่อเนื่อง กระบวนการนี้เรียกว่า ' การทำให้เป็นไม่ต่อเนื่อง ' ตัวอย่างเช่น คำตอบของสมการเชิงอนุพันธ์คือฟังก์ชันฟังก์ชันนี้จะต้องถูกแทนด้วยข้อมูลจำนวนจำกัด เช่น ค่าของฟังก์ชันที่จุดจำนวนจำกัดในโดเมนของฟังก์ชัน แม้ว่าโดเมนนั้นจะเป็นแบบต่อเนื่องก็ตาม
การสร้างและการแพร่กระจายของข้อผิดพลาด
การศึกษาเรื่องข้อผิดพลาดเป็นส่วนสำคัญของการวิเคราะห์เชิงตัวเลข มีหลายวิธีที่อาจทำให้เกิดข้อผิดพลาดในการแก้ปัญหาได้
ปัดเศษ
ข้อผิดพลาดจากการปัดเศษเกิดขึ้นเนื่องจากเป็นไปไม่ได้ที่จะแสดงจำนวนจริง ทั้งหมด ได้อย่างแม่นยำบนเครื่องที่มีหน่วยความจำจำกัด (ซึ่งก็คือคอมพิวเตอร์ดิจิทัล ที่ใช้งานได้จริงทั้งหมด )
ข้อผิดพลาดจากการตัดทอนและการแบ่งส่วนย่อย
ข้อผิดพลาดจากการตัดทอนเกิดขึ้นเมื่อวิธีการวนซ้ำถูกยุติลง หรือเมื่อกระบวนการทางคณิตศาสตร์ถูกประมาณค่า และคำตอบโดยประมาณแตกต่างจากคำตอบที่แท้จริง ในทำนองเดียวกัน การแบ่งส่วนย่อยทำให้เกิดข้อผิดพลาดจากการแบ่งส่วนย่อยเนื่องจากคำตอบของปัญหาแบบแบ่งส่วนย่อยไม่ตรงกับคำตอบของปัญหาแบบต่อเนื่อง ในตัวอย่างข้างต้นในการคำนวณคำตอบของหลังจากวนซ้ำสิบครั้ง รากที่คำนวณได้คือประมาณ 1.99 ดังนั้น ข้อผิดพลาดจากการตัดทอนจึงประมาณ 0.01
เมื่อเกิดข้อผิดพลาดขึ้น ข้อผิดพลาดนั้นจะแพร่กระจายไปทั่วกระบวนการคำนวณ ตัวอย่างเช่น การดำเนินการ + บนคอมพิวเตอร์นั้นไม่แม่นยำ การคำนวณประเภท นั้นยิ่งไม่แม่นยำกว่ามาก
ข้อผิดพลาดจากการตัดทอนเกิดขึ้นเมื่อกระบวนการทางคณิตศาสตร์ถูกประมาณค่า ในการหาปริพันธ์ของฟังก์ชันอย่างแม่นยำ ต้องหาผลรวมของบริเวณจำนวนอนันต์ แต่ในทางตัวเลขนั้นสามารถหาได้เพียงผลรวมของบริเวณจำนวนจำกัดเท่านั้น ดังนั้นจึงเป็นการประมาณค่าของคำตอบที่แม่นยำ ในทำนองเดียวกัน ในการหาอนุพันธ์ของฟังก์ชัน ค่าของตัวประกอบอนุพันธ์จะเข้าใกล้ศูนย์ แต่ในทางตัวเลขนั้นสามารถเลือกค่าของตัวประกอบอนุพันธ์ที่ไม่เป็นศูนย์ได้เท่านั้น
เสถียรภาพเชิงตัวเลขและปัญหาที่กำหนดไว้อย่างดี
อัลกอริทึมจะเรียกว่ามีเสถียรภาพเชิงตัวเลขหากข้อผิดพลาด ไม่ว่าจะเกิดจากสาเหตุใดก็ตาม ไม่ขยายตัวใหญ่ขึ้นมากนักในระหว่างการคำนวณ[ 14 ]สิ่งนี้เกิดขึ้นหากปัญหามีเงื่อนไขที่ดีหมายความว่าคำตอบจะเปลี่ยนแปลงเพียงเล็กน้อยหากข้อมูลของปัญหาเปลี่ยนแปลงไปเพียงเล็กน้อย[ 14 ]ในทางตรงกันข้าม หากปัญหามีเงื่อนไขที่ไม่ดี ข้อผิดพลาดเล็กน้อยใดๆ ในข้อมูลก็จะขยายตัวกลายเป็นข้อผิดพลาดขนาดใหญ่[ 14 ] ทั้งปัญหาดั้งเดิมและอัลกอริทึมที่ใช้แก้ปัญหานั้นอาจมีเงื่อนไขที่ดีหรือมีเงื่อนไขที่ไม่ดี และสามารถผสมผสานกันได้ ดังนั้นอัลกอริทึมที่แก้ปัญหาที่มีเงื่อนไขที่ดีอาจมีเสถียรภาพเชิงตัวเลขหรือไม่มีเสถียรภาพเชิงตัวเลขก็ได้ ศิลปะของการวิเคราะห์เชิงตัวเลขคือการค้นหาอัลกอริทึมที่มีเสถียรภาพสำหรับการแก้ปัญหาทางคณิตศาสตร์ที่กำหนดไว้อย่างดี
สาขาวิชา
สาขาการวิเคราะห์เชิงตัวเลขประกอบด้วยสาขาย่อยมากมาย สาขาหลักๆ ได้แก่:
การคำนวณค่าของฟังก์ชัน
การประมาณค่าในช่วง: จากการสังเกตว่าอุณหภูมิเปลี่ยนแปลงจาก 20 องศาเซลเซียส เวลา 13:00 น. เหลือ 14 องศาเซลเซียส เวลา 15:00 น. การประมาณค่าในช่วงเชิงเส้นของข้อมูลนี้จะสรุปได้ว่าอุณหภูมิอยู่ที่ 17 องศาเซลเซียส เวลา 14:00 น. และ 18.5 องศาเซลเซียส เวลา 13:30 น. การคาดการณ์ล่วงหน้า: หากผลิตภัณฑ์มวลรวมภายในประเทศ (GDP)ของประเทศหนึ่งเติบโตเฉลี่ยปีละ 5% และมีมูลค่า 100,000 พันล้านในปีที่แล้ว ก็สามารถคาดการณ์ล่วงหน้าได้ว่าปีนี้จะมีมูลค่า 105,000 พันล้าน การถดถอย: ในการถดถอยเชิงเส้น เมื่อกำหนด จุด nจุดแล้ว จะคำนวณหาเส้นตรงที่ผ่านจุดnจุด เหล่านั้นให้ใกล้ที่สุดเท่าที่จะเป็นไปได้ การหาค่าที่เหมาะสมที่สุด: สมมติว่าร้านขายน้ำ มะนาวขายน้ำมะนาวในราคาแก้วละ 1.00 ดอลลาร์ สามารถขายได้ 197 แก้วต่อวัน และทุกๆ การขึ้นราคา 0.01 ดอลลาร์ จะขายได้น้อยลง 1 แก้วต่อวัน หากคิดราคา 1.485 ดอลลาร์ กำไรจะสูงสุด แต่เนื่องจากข้อจำกัดที่ต้องคิดราคาเป็นจำนวนเต็มเซ็นต์ การคิดราคา 1.48 หรือ 1.49 ดอลลาร์ต่อแก้ว จะให้รายได้สูงสุดที่ 220.52 ดอลลาร์ต่อวันเช่นกัน ![]() สมการเชิงอนุพันธ์: ถ้าตั้งพัดลม 100 ตัวให้เป่าลมจากปลายห้องด้านหนึ่งไปยังอีกด้านหนึ่ง แล้วปล่อยขนนกหนึ่งอันลงไปในกระแสลม จะเกิดอะไรขึ้น? ขนนกจะเคลื่อนที่ไปตามกระแสลม ซึ่งอาจซับซ้อนมาก วิธีประมาณค่าอย่างหนึ่งคือ การวัดความเร็วลมที่พัดผ่านขนนกทุก ๆ วินาที แล้วจำลองการเคลื่อนที่ของขนนกเสมือนว่ามันเคลื่อนที่เป็นเส้นตรงด้วยความเร็วเท่าเดิมเป็นเวลาหนึ่งวินาที ก่อนที่จะวัดความเร็วลมอีกครั้ง วิธีนี้เรียกว่าวิธีของออยเลอร์ (Euler method)สำหรับการแก้สมการเชิงอนุพันธ์สามัญ |
หนึ่งในปัญหาที่ง่ายที่สุดคือการประเมินค่าฟังก์ชัน ณ จุดที่กำหนด วิธีที่ตรงไปตรงมาที่สุดคือการแทนค่าตัวเลขลงในสูตร ซึ่งบางครั้งอาจไม่มีประสิทธิภาพมากนัก สำหรับพหุนาม วิธีที่ดีกว่าคือการใช้แผนการของ Horner เนื่องจากช่วยลดจำนวนการคูณและการบวกที่จำเป็นลง โดยทั่วไปแล้ว การประเมินและควบคุม ข้อผิดพลาดจากการปัดเศษที่เกิดจากการใช้เลขคณิต จุดลอยตัวนั้นมีความสำคัญ
การประมาณค่าในช่วง การประมาณค่าภายนอกช่วง และการถดถอย
การประมาณค่าในช่วง (Interpolation)ช่วยแก้ปัญหาต่อไปนี้: เมื่อทราบค่าของฟังก์ชันที่ไม่ทราบค่า ณ จุดจำนวนหนึ่ง ฟังก์ชันนั้นจะมีค่าเท่าใด ณ จุดอื่น ๆ ที่อยู่ระหว่างจุดที่กำหนดให้เหล่านั้น
การประมาณค่าภายนอกคล้ายกับการประมาณค่าภายในมาก ยกเว้นว่าตอนนี้ต้องหาค่าของฟังก์ชันที่ไม่ทราบค่า ณ จุดที่อยู่นอกจุดที่กำหนด[ 15 ]
การถดถอยก็คล้ายกัน แต่จะคำนึงถึงว่าข้อมูลนั้นไม่แม่นยำ โดยกำหนดจุดข้อมูลบางจุด และค่าของฟังก์ชันบางอย่างที่วัดได้ ณ จุดเหล่านั้น (พร้อมค่าความคลาดเคลื่อน) ก็สามารถหาฟังก์ชันที่ไม่ทราบค่าได้ วิธีการ กำลังสองน้อยที่สุดเป็นวิธีหนึ่งที่จะบรรลุเป้าหมายนี้
การแก้สมการและระบบสมการ
ปัญหาพื้นฐานอีกประการหนึ่งคือการหาคำตอบของสมการที่กำหนดให้ โดยทั่วไปจะแบ่งออกเป็นสองกรณี ขึ้นอยู่กับว่าสมการนั้นเป็นเชิงเส้นหรือไม่ ตัวอย่างเช่น สมการหนึ่งเป็นเชิงเส้น ในขณะที่ อีกสมการหนึ่ง ไม่ใช่เชิงเส้น
ความพยายามอย่างมากได้ถูกทุ่มเทไปกับการพัฒนาวิธีการแก้ระบบสมการเชิงเส้นวิธีการโดยตรงมาตรฐาน เช่น วิธีการที่ใช้การแยกส่วนเมทริกซ์ได้แก่การกำจัดแบบเกาส์เซียนการแยกส่วน LU การแยกส่วน Choleskyสำหรับเมท ริกซ์ สมมาตร (หรือเฮอร์มิเชียน ) และเมทริกซ์บวกแน่นอนและการแยกส่วน QRสำหรับเมทริกซ์ที่ไม่ใช่เมทริกซ์จัตุรัส วิธีการวนซ้ำ เช่นวิธีการ Jacobi วิธีการ Gauss –Seidel การผ่อนคลายเกินแบบต่อเนื่องและวิธีการไล่ระดับแบบสังยุค[ 16 ]มักเป็นที่นิยมสำหรับระบบขนาดใหญ่ วิธีการวนซ้ำทั่วไปสามารถพัฒนาได้โดยใช้การแยกเมทริกซ์
อัลกอริทึมการหาค่ารากใช้ในการแก้สมการไม่เชิงเส้น (เรียกเช่นนั้นเพราะรากของฟังก์ชันคืออาร์กิวเมนต์ที่ฟังก์ชันให้ผลลัพธ์เป็นศูนย์) หากฟังก์ชันสามารถหาอนุพันธ์ได้และทราบอนุพันธ์ วิธีของนิวตันก็เป็นตัวเลือกที่นิยม[ 17 ] [ 18 ]การทำให้เป็นเชิงเส้นเป็นอีกเทคนิคหนึ่งสำหรับการแก้สมการไม่เชิงเส้น
การแก้ปัญหาค่าลักษณะเฉพาะหรือค่าเอกลักษณ์
ปัญหาสำคัญหลายประการสามารถกำหนดได้โดยใช้การแยกส่วนค่าลักษณะเฉพาะหรือการแยกส่วนค่าเอกลักษณ์ตัวอย่างเช่นอัลกอริทึมการบีบอัดภาพสเปกตรัม[ 19 ]อิงตามการแยกส่วนค่าเอกลักษณ์ เครื่องมือที่เกี่ยวข้องในทางสถิติเรียกว่าการ วิเคราะห์ส่วนประกอบหลัก
การเพิ่มประสิทธิภาพ
โจทย์การหาค่าที่เหมาะสมที่สุดนั้นต้องการหาจุดที่ฟังก์ชันที่กำหนดให้มีค่าสูงสุด (หรือต่ำสุด) บ่อยครั้งที่จุดนั้นต้องเป็นไปตามข้อจำกัด บางประการ ด้วย
สาขาการหาค่าเหมาะสมที่สุดยังแบ่งออกเป็นสาขาย่อยอีกหลายสาขา ขึ้นอยู่กับรูปแบบของฟังก์ชันเป้าหมายและข้อจำกัด ตัวอย่างเช่นการเขียนโปรแกรมเชิงเส้นจะจัดการกับกรณีที่ทั้งฟังก์ชันเป้าหมายและข้อจำกัดเป็นเชิงเส้น วิธีการที่มีชื่อเสียงในการเขียนโปรแกรมเชิงเส้นคือวิธีซิมเพล็กซ์
วิธีการตัวคูณลากรางจ์สามารถนำมาใช้ลดปัญหาการหาค่าเหมาะสมที่สุดที่มีข้อจำกัดให้กลายเป็นปัญหาการหาค่าเหมาะสมที่สุดที่ไม่มีข้อจำกัดได้
การประเมินค่าอินทิกรัล
การอินทิเกรตเชิงตัวเลข ในบางกรณีเรียกว่าการหาปริพันธ์เชิงตัวเลขจะถามถึงค่าของปริพันธ์จำกัด[ 20 ]วิธีการที่นิยมใช้จะใช้สูตรของนิวตัน-โคตส์ (เช่น กฎจุดกึ่งกลางหรือกฎของซิมป์สัน ) หรือการหาปริพันธ์แบบเกาส์เซียน [ 21 ] วิธีการเหล่านี้อาศัยกลยุทธ์ "แบ่งและพิชิต" โดยที่ปริพันธ์บนเซตขนาดใหญ่จะถูกแบ่งออกเป็นปริพันธ์บนเซตขนาดเล็กกว่า ในมิติที่สูงขึ้น ซึ่งวิธีการเหล่านี้มีค่าใช้จ่ายสูงเกินไปในแง่ของความพยายามในการคำนวณ อาจใช้ วิธี มอนเตคาร์โลหรือวิธีควาซี-มอนเตคาร์โล (ดูการอินทิเกรตแบบมอนเตคาร์โล[ 22 ] ) หรือในมิติขนาดใหญ่พอสมควร อาจใช้วิธีกริดแบบเบาบาง
สมการเชิงอนุพันธ์
การวิเคราะห์เชิงตัวเลขยังเกี่ยวข้องกับการคำนวณ (โดยประมาณ) คำตอบของสมการเชิงอนุพันธ์ทั้งสมการเชิงอนุพันธ์สามัญและสมการเชิงอนุพันธ์ย่อย[ 23 ]
สมการเชิงอนุพันธ์ย่อยจะได้รับการแก้ไขโดยการแบ่งสมการออกเป็นส่วนย่อยก่อน โดยนำไปไว้ในปริภูมิย่อยที่มีมิติจำกัด[ 24 ]ซึ่งสามารถทำได้โดยวิธีองค์ประกอบจำกัด [ 25 ] [ 26 ] [ 27 ]วิธีผลต่างจำกัด [ 28 ] หรือ (โดยเฉพาะในด้านวิศวกรรม) วิธีปริมาตรจำกัด[ 29 ]การให้เหตุผลทางทฤษฎีของวิธีการเหล่านี้มักเกี่ยวข้องกับทฤษฎีบทจากการวิเคราะห์เชิงฟังก์ชันซึ่งจะลดปัญหาลงเหลือเพียงการแก้สมการพีชคณิต
ซอฟต์แวร์
นับตั้งแต่ปลายศตวรรษที่ 20 เป็นต้นมา อัลกอริทึมส่วนใหญ่ถูกนำไปใช้ในภาษาโปรแกรมที่หลากหลาย คลัง ข้อมูล Netlibประกอบด้วยชุดซอฟต์แวร์ต่างๆ สำหรับปัญหาเชิงตัวเลข ส่วนใหญ่เขียนด้วยภาษา FortranและCผลิตภัณฑ์เชิงพาณิชย์ที่ใช้ในการพัฒนาอัลกอริทึมเชิงตัวเลขต่างๆ มากมาย ได้แก่ไลบรารีIMSLและNAG ส่วนทางเลือกที่เป็น ซอฟต์แวร์ฟรีคือGNU Scientific Library
ตลอดหลายปีที่ ผ่านมา สมาคมสถิติแห่งราชวงศ์ อังกฤษ ได้ตีพิมพ์อัลกอริทึมจำนวนมากในวารสารApplied Statistics (รหัสสำหรับฟังก์ชัน "AS" เหล่านี้อยู่ที่นี่ ) เช่นเดียวกับ ACMในวารสารTransactions on Mathematical Software (รหัส "TOMS" อยู่ที่นี่ ) และศูนย์ปฏิบัติการสงครามผิวน้ำแห่งกองทัพเรือ ได้ตีพิมพ์ คลังโปรแกรมย่อยทางคณิตศาสตร์หลายครั้ง(รหัสอยู่ที่นี่ )
มีแอปพลิเคชันการคำนวณเชิงตัวเลขที่เป็นที่นิยมหลาย ตัวเช่นMATLAB [ 30 ] [ 31 ] [ 32 ] TK Solver , S-PLUSและIDL [ 33 ]รวมถึงทางเลือกแบบโอเพนซอร์สและฟรี เช่นFreeMat , Scilab [ 34 ] [ 35 ] GNU Octave (คล้ายกับ Matlab) และIT++ (ไลบรารี C++) นอกจาก นี้ ยังมี ภาษาโปรแกรม เช่นR [ 36 ] (คล้ายกับ S-PLUS), Julia [ 37 ]และPythonพร้อมไลบรารี เช่นNumPy , SciPy [ 38 ] [ 39 ] [ 40 ]และSymPyประสิทธิภาพแตกต่างกันอย่างมาก: ในขณะที่การดำเนินการเวกเตอร์และเมทริกซ์มักจะเร็ว ลูปสเกลาร์อาจมีความเร็วแตกต่างกันมากกว่าหนึ่งลำดับ[ 41 ] [ 42 ]
ระบบพีชคณิตคอมพิวเตอร์หลาย ระบบ เช่นMathematicaยังได้รับประโยชน์จากการใช้เลขคณิตที่มีความแม่นยำสูงซึ่งสามารถให้ผลลัพธ์ที่แม่นยำยิ่งขึ้น[ 43 ] [ 44 ] [ 45 ] [ 46 ]
นอกจากนี้โปรแกรมสเปรดชีต ใดๆ ก็สามารถใช้แก้ปัญหาอย่างง่ายที่เกี่ยวข้องกับการวิเคราะห์เชิงตัวเลขได้ ตัวอย่างเช่นExcel มี ฟังก์ชันให้เลือกใช้ หลายร้อยฟังก์ชัน รวมถึงฟังก์ชันสำหรับเมทริกซ์ ซึ่งสามารถใช้ร่วมกับ "ตัวแก้ปัญหา" ใน ตัวของโปรแกรมได้
ดูเพิ่มเติม
- หมวดหมู่: นักวิเคราะห์เชิงตัวเลข
- การวิเคราะห์อัลกอริธึม
- ทฤษฎีการประมาณค่า
- วิทยาศาสตร์การคำนวณ
- ฟิสิกส์เชิงคำนวณ
- รางวัลกอร์ดอน เบลล์
- เลขคณิตช่วง
- รายชื่อหัวข้อการวิเคราะห์เชิงตัวเลข
- วิธีการทำให้เป็นเส้นตรงในระดับท้องถิ่น
- การหาอนุพันธ์เชิงตัวเลข
- สูตรเชิงตัวเลข
- ตัวเลขเชิงความน่าจะเป็น
- การคำนวณเชิงสัญลักษณ์และตัวเลข
- ตัวเลขที่ผ่านการตรวจสอบแล้ว
หมายเหตุ
ลิงก์ภายนอก
วารสาร
- คณิตศาสตร์เชิงตัวเลขเล่ม 1–...,สปริงเกอร์ , 1959–
- เล่มที่ 1–66, ปี 1959–1994 (สามารถค้นหาได้; หน้าเว็บเป็นรูปภาพ) (ภาษาอังกฤษและภาษาเยอรมัน)
- วารสารการวิเคราะห์เชิงตัวเลข (SINUM)เล่มที่ 1–... SIAM, 1964–
ข้อความออนไลน์
- "การวิเคราะห์เชิงตัวเลข" , สารานุกรมคณิตศาสตร์ , EMS Press , 2001 [1994]
- สูตรคำนวณเชิงตัวเลข , สำนักพิมพ์ William H. Press (สามารถดาวน์โหลดฉบับก่อนหน้าได้ฟรี)
- ขั้นตอนแรกในการวิเคราะห์เชิงตัวเลข (เก็บถาวร ) โดย RJHosking, S.Joe, DCJoyce และ JCTurner
- CSEP (โครงการการศึกษาด้านวิทยาศาสตร์การคำนวณ)กระทรวงพลังงานสหรัฐอเมริกา (เก็บถาวรเมื่อ 1 สิงหาคม 2560 )
- วิธีการเชิงตัวเลขบทที่ 3 ในห้องสมุดดิจิทัลของฟังก์ชันทางคณิตศาสตร์
- การประมาณค่าเชิงตัวเลข การหาอนุพันธ์ และการหาปริพันธ์บทที่ 25 ในคู่มือฟังก์ชันทางคณิตศาสตร์ ( Abramowitz และ Stegun )
- Tobin A. Driscoll และ Richard J. Braun: พื้นฐานของการคำนวณเชิงตัวเลข (ฉบับออนไลน์ฟรี)
สื่อการเรียนการสอนออนไลน์
- วิธีการเชิงตัวเลข ( เก็บถาวรเมื่อวันที่ 28 กรกฎาคม 2552 ที่Wayback Machine ) โดย Stuart Dalziel มหาวิทยาลัยเคมบริดจ์
- การบรรยายเรื่องการวิเคราะห์เชิงตัวเลขโดย เดนนิส เดอเทิร์ค และ เฮอร์เบิร์ต เอส. วิลฟ์มหาวิทยาลัยเพนซิลเวเนีย
- วิธีการเชิงตัวเลข , จอห์น ดี. เฟนตันมหาวิทยาลัยคาร์ลสรูห์
- วิธีการเชิงตัวเลขสำหรับนักฟิสิกส์โดย แอนโทนี โอแฮร์มหาวิทยาลัยออกซ์ฟอร์ด
- เอกสารบรรยายวิชาการวิเคราะห์เชิงตัวเลข ( เก็บถาวรแล้ว ) มหาวิทยาลัยมหิดล ร.ราด็อก
- ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์เชิงตัวเลขสำหรับงานวิศวกรรมโดย เฮนริก ชมิดต์สถาบันเทคโนโลยีแมสซาชูเซตส์
- การวิเคราะห์เชิงตัวเลขสำหรับงานวิศวกรรม , DW Harderมหาวิทยาลัยวอเตอร์ลู
- บทนำสู่การวิเคราะห์เชิงตัวเลขโดย โดรอน เลวีมหาวิทยาลัยแมริแลนด์
- การวิเคราะห์เชิงตัวเลข - วิธีการเชิงตัวเลข (เก็บถาวร) โดย จอห์น เอช. แมทธิวส์มหาวิทยาลัยรัฐแคลิฟอร์เนีย ฟุลเลอร์ตัน
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การวิเคราะห์เชิงตัวเลข
การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง )...
แอปพลิเคชัน
เป้าหมายโดยรวมของสาขาการวิเคราะห์เชิงตัวเลขคือการออกแบบและวิเคราะห์เทคนิคเพื่อให้ได้คำตอบโดยประมาณแต่แม่นยำสำหรับปัญหาที่ยากหลากหลายประเภท ซึ่งหลายปัญหานั้นไม่สามารถแก้ได้ด้วยวิธีการเชิงสัญลักษณ์:
ประวัติศาสตร์
สาขาการวิเคราะห์เชิงตัวเลขมีมาก่อนการประดิษฐ์คอมพิวเตอร์สมัยใหม่หลายศตวรรษ การแทรกสอดเชิงเส้น ถูกนำมาใช้แล้วเมื่อกว่า 2,000 ปีที่แล้ว นักคณิตศาสตร์ผู้ยิ่งใหญ่หลายคนในอดีตต่างหมกมุ่นอยู่กับการวิเคราะห์เชิงตัวเลข [ 6 ]...
วิธีการโดยตรงและวิธีการวนซ้ำ
วิธีการโดยตรงคำนวณหาคำตอบของปัญหาโดยใช้ขั้นตอนจำนวนจำกัด วิธีการเหล่านี้จะให้คำตอบที่แม่นยำหากคำนวณด้วย เลขคณิตที่มีความแม่นยำอนันต์ ตัวอย่างเช่น วิธี การกำจัดแบบเกาส์เซียน วิธี การแยกตัวประกอบ QR สำหรับแก้ ระบบสมการเชิงเส้น และ วิธีการซิมเพล็กซ์ ของ...

