ภาพรวม
คำถามที่ดี. มีบทความเรื่อง "การปรับปรุงความถูกต้องของวิธีการสร้างความแตกต่างของเมทริกซ์สำหรับคะแนนการจัดตำแหน่งตามอำเภอใจ" โดย R. Baltensperger มันไม่ใช่เรื่องใหญ่ในความคิดของฉัน แต่มันมีจุด (ซึ่งเป็นที่รู้จักกันก่อนหน้านี้ในปี 2000): มันเน้นถึงความสำคัญของการเป็นตัวแทนที่ถูกต้องของความจริงที่ว่าอนุพันธ์ของฟังก์ชันคงที่ฉ( x ) = 1ควร เป็นศูนย์ (สิ่งนี้ถือได้ว่ามีความหมายทางคณิตศาสตร์ แต่ไม่จำเป็นต้องเป็นตัวแทนตัวเลข)
มันง่ายที่จะเห็นว่าสิ่งนี้ต้องการผลบวกของแถวของเมทริกซ์ n-th อนุพันธ์D( n )เป็นศูนย์ มันเป็นเรื่องธรรมดาที่จะบังคับใช้ข้อ จำกัด นี้โดยการปรับรายการเส้นทแยงมุมคือการตั้งค่าD( n )เจเจ: = - ∑i = 1ฉัน≠ jยังไม่มีข้อความDฉันเจ.(1)
เป็นที่ชัดเจนว่าคุณลักษณะนี้ไม่ได้ทำงานอย่างแน่นอนเมื่อทำงานกับคอมพิวเตอร์เนื่องจากข้อผิดพลาดในการปัดเศษในการคำนวณจุดลอยตัว สิ่งที่น่าแปลกใจยิ่งกว่าคือข้อผิดพลาดเหล่านี้จะรุนแรงยิ่งขึ้นเมื่อใช้สูตรการวิเคราะห์สำหรับเมทริกซ์อนุพันธ์ (ซึ่งมีให้สำหรับจุดการจัดวางแบบคลาสสิกจำนวนมากเช่น Gauss-Lobatto)
ตอนนี้กระดาษ (และการอ้างอิงในนั้น) ระบุว่าข้อผิดพลาดของอนุพันธ์อยู่ในลำดับการเบี่ยงเบนของผลรวมของแถวจากศูนย์ เป้าหมายคือการทำให้ตัวเลขเหล่านี้มีขนาดเล็กที่สุดเท่าที่จะทำได้
การทดสอบเชิงตัวเลข
ข้อดีคือกระบวนการของ Fornberg นั้นค่อนข้างดีในเรื่องนี้ ในภาพด้านล่างฉันได้เปรียบเทียบพฤติกรรมของสิ่งที่ถูกต้องนั่นคือการวิเคราะห์เมทริกซ์อนุพันธ์อันดับหนึ่งและอันที่ได้มาจากอัลกอริทึม Fornberg สำหรับจำนวนจุดการจัดตำแหน่ง Chebyshev-Lobatto ที่แตกต่างกัน
อีกครั้งที่เชื่อคำแถลงในเอกสารที่อ้างถึงนี่ก็หมายความว่าอัลกอริทึม Fornberg จะให้ผลลัพธ์ที่แม่นยำยิ่งขึ้นสำหรับอนุพันธ์
เพื่อพิสูจน์ว่าฉันจะใช้ฟังก์ชั่นเดียวกับในกระดาษ
ฉ( x ) = 11 + x2.(2)
En= สูงสุดฉัน∈ { 0 , … , n }|||ฉ'( xผม) - ∑j = 1nDฉันเจฉ( xJ) ∣||.(3)
D~เจเจ= Dเจเจ- ( ∑i = 1nDJ ฉัน) ,สำหรับทุกJ .(4)
ข้อสรุป
โดยสรุปแล้ววิธีการของ Fornberg นั้นค่อนข้างแม่นยำในกรณีที่แม้จะมีขนาดความแม่นยำประมาณ 3 คำสั่งมากกว่าผลลัพธ์จากสูตรการวิเคราะห์ นี่ควรจะแม่นยำเพียงพอสำหรับการใช้งานส่วนใหญ่ ยิ่งไปกว่านั้นสิ่งนี้น่าทึ่งเพราะ Fornberg ดูเหมือนจะไม่ได้รวมข้อเท็จจริงนี้ไว้ในวิธีการของเขาอย่างชัดเจน (อย่างน้อยก็ไม่มีการพูดถึงในเอกสารของ Fornberg สองฉบับ)ยังไม่มีข้อความ= 512
ลำดับความสำคัญอื่นสามารถรับได้จากตัวอย่างนี้ผ่านการรวม Eq. (4) เนื่องจากนี่เป็นวิธีการที่ง่ายมากและใช้เพียงครั้งเดียวสำหรับอนุพันธ์แต่ละอันฉันไม่เห็นเหตุผลที่จะไม่ใช้มัน
วิธีการจากกระดาษ Baltensperger - ซึ่งใช้วิธีการที่ซับซ้อนมากขึ้นสำหรับการประเมินผลรวมใน Eq (1) เพื่อลดข้อผิดพลาดในการปัดเศษ - ให้ผลประมาณขนาดเดียวกันสำหรับข้อผิดพลาด อย่างน้อยที่สุดสำหรับตัวอย่างนี้มันประมาณคร่าวๆกับวิธี "Adjusted Fornberg" ด้านบน