มีอัลกอริทึมที่มีประสิทธิภาพสำหรับเศษส่วนต่อเนื่องที่มีค่าเมทริกซ์หรือไม่


18

สมมติว่าฉันมีสมการเมทริกซ์ที่กำหนดซ้ำเป็น

A[n] = inverse([1 - b[n]A[n+1]]) * a[n]

จากนั้นสมการสำหรับ A [1] จะดูคล้ายกับเศษส่วนต่อเนื่องซึ่งมีวิธีการที่มีประสิทธิภาพสูงบางอย่างที่หลีกเลี่ยงการคำนวณซ้ำที่น่าเบื่อ (ดู "สูตรอาหารเชิงตัวเลข" สำหรับตัวอย่างบางส่วน)

อย่างไรก็ตามฉันสงสัยว่ามีวิธีการเปรียบเทียบที่อนุญาตให้สัมประสิทธิ์ b [n] และ [n] เป็นเมทริกซ์โดยมีข้อ จำกัด เพียงอย่างเดียวที่ b [n] A [n + 1] เป็นเมทริกซ์จตุรัสดังนั้นเมทริกซ์

1 - b[n]A[n+1]

กลับด้านได้จริง


นี่คือคำถามที่คุณถามในวิชาคณิตศาสตร์ไม่กี่เดือนก่อนใช่ไหม? คือตารางหรือรูปสี่เหลี่ยม? A
JM

ฉันจำได้ว่ามีใครบางคนในความคิดเห็นที่ math.SE แนะนำฉันถามนี้ที่นี่เมื่อเบต้าออนไลน์ :) ในกรณีพิเศษของฉัน A เป็นรูปสี่เหลี่ยมผืนผ้า สม recursive สอดคล้องกับชุดลำดับชั้นของสมการและจำนวนของปริมาณที่เติบโตขึ้นกับnในกรณีของฉันมิติของ A [n] คือ nx (n-1)n
Lagerbaer

แค่อยากรู้อยากเห็นแอปพลิเคชันที่คุณต้องการใช้สำหรับทำอะไร
Hjulle

1
สั้น ๆ มากโดยใช้ตัวตนของไดสันสำหรับแฮมิลตันโดยเฉพาะอย่างยิ่งการสร้างฟังก์ชั่นสีเขียวที่ฉันสามารถฉลากที่มีดัชนีบางNการรวบรวมฟังก์ชั่นทั้งหมดที่มีดัชนีเดียวกันเป็นเวกเตอร์V Nอนุญาตให้ฉันเขียนV N = α N V N - 1 + β N V N + 1NVNVN=αNVN1+βNVN+1โดยใช้เอกลักษณ์ของไดสันและการประมาณที่เหมาะสม การใช้การตัดเพื่อให้สำหรับทุกn Nช่วยให้ฉันค้นหาเมทริกซ์A nเพื่อให้V nVN=0nNAnและเมทริกซ์เหล่านี้ได้จากสมการเศษส่วนต่อเนื่องของฉัน ยกตัวอย่างเช่นเทคนิคนี้สามารถคำนวณฟังก์ชั่นของ Lattice Green สำหรับรุ่นที่มีผลผูกพันได้ Vn=AnVn1
Lagerbaer

1
มันไม่ใช่สาขาของฉัน แต่ฉันกลับไปที่การสัมมนาซึ่งมีบางสิ่งที่เกี่ยวข้องกับปัญหานี้ถูกนำเสนอ [ที่นี่] [1] เป็นเพียงร่องรอยเดียวที่ฉันสามารถหาได้ออนไลน์ ฉันไม่รู้จริงๆว่ามันช่วยได้หรือเปล่า [1]: mh2009.ulb.ac.be/ResActiv.pdf
user189035

คำตอบ:


9

สองวิธีต่อไปนี้มีให้ในฟังก์ชั่นการฝึกอบรม: ทฤษฎีและการคำนวณโดย Nicholas Higham หน้า 81 สูตรเหล่านี้ประเมิน

โดยที่Xคือเมทริกซ์จตุรัส

r(X)=b0+a1Xb1+a2Xb2++a2m1Xb2m1+a2mXb2m
X

วิธีการจากบนลงล่าง:

P1=I,Q1=0,P0=b0I,Q0=I

สำหรับ j = 1: 2m

Pj=bjPj1+ajXPj2

Qj=bjQj1+ajXQj2

ปลาย

rm=P2mQ2m1


วิธีการจากล่างขึ้นบน:

Y2m=(a2m/b2m)X

สำหรับ j = 2m − 1: −1: 1

แก้สำหรับY J(bjI+Yj+1)Yj=ajXYj

ปลาย

rm=b0I+Y1


คำถามที่ถามสำหรับการประเมินรูปแบบทั่วไปมากขึ้น

b0+a1X1b1+a2X2b2++a2m1X2m1b2m1+a2mX2mb2m

สิ่งนี้สามารถประเมินได้โดยการวางนัยทั่วไปอย่างง่ายของสูตรข้างต้น เช่นวิธีการจากล่างขึ้นบนจะกลายเป็น

Y2m=(a2m/b2m)X2m

สำหรับ j = 2m − 1: −1: 1

แก้สำหรับY J(bjI+Yj+1)Yj=ajXjYj

ปลาย

1rm=b0I+Y1


มันดูน่าสนใจมาก ฉันจะดูว่าฉันสามารถนำไปใช้กับปัญหาเฉพาะของฉันได้หรือไม่ แต่ตอบคำถามได้ตั้งแต่ b [n] * A [n + 1] เป็นเมทริกซ์
จตุรัส

อ่า แต่ฉันเพิ่งสังเกตุว่าเมทริกซ์นั้นเหมือนกันทุกที่ในโซลูชันของคุณ แต่ของฉันไม่จำเป็น X
Lagerbaer

โอเคฉันได้สรุปแล้ว
David Ketcheson

6

ฉันรู้ว่าคำตอบนี้สร้างข้อสันนิษฐานได้มากมาย แต่อย่างน้อยก็เป็นการสรุปอัลกอริทึมของคุณ:

{An}{Bn}VN{An}{Bn}UVNU=ΛNUAnU=ΩnUBnU=ΔnUΛN{Ωn}{Δn}

เมื่อเราได้กล่าวว่าการสลายตัวโดยการเหนี่ยวนำ

Vn=(IBnVn+1)1An=(IUΔnUUΛn+1U)1UΩnU,

which can be rearranged into the form

Vn=U(IΔnΛn+1)1ΩnUUΛnU,

where Λn is of course still diagonal, so the entire family {Vn} will necessarily commute with the other operators, and we have shown that the diagonal values of each Λn are decoupled, so your fast scalar recursion formula can be applied independently on the eigenvalues of VN and the coefficient matrices.

Note that a special case is when AnαnI and BnβnI, so that the only requirement is that VN be a normal matrix.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.