คำถามติดแท็ก matrix-equations

3
ห้องสมุดสำหรับแก้สมการของ Lyapunov
สมการเมทริกซ์ต่อไปนี้ ในสำหรับเมทริกซ์และปรากฏในงานของฉันเป็นลักษณะของเมทริกซ์ความแปรปรวนร่วม ฉันได้เรียนรู้ว่าสมการนี้เป็นที่รู้จักโดยเฉพาะอย่างยิ่งในทฤษฎีการควบคุมเวลาต่อเนื่องในฐานะสมการของ Lyapunovและมีอัลกอริทึมที่รู้จักกันดีมากมายสำหรับการแก้ปัญหาที่ใช้ประโยชน์จากลักษณะพิเศษของสมการเชิงเส้นนี้ B Σ + Σ BT+ C= 0BΣ+ΣBT+C=0B\Sigma + \Sigma B^T + C = 0ΣΣ\Sigma -−-BBBคCC-−- จาก googling ฉันได้เรียนรู้ว่ามีการใช้งาน Matlab และ Fortran อยู่ ฉันพบ SLICOT และ RECSY เนื่องจากปัญหาสิทธิ์การใช้งานการเข้าถึงแหล่ง SLICOT ถูกหยุดลง งานส่วนใหญ่ของฉันถูกนำไปใช้ใน R และเมื่อฉันไม่สามารถหาส่วนต่อประสาน R เพื่อแก้ปัญหาได้ คำถามของฉันคือถ้า SLICOT เป็นห้องสมุด Fortran (หรือ C) ที่ดีที่สุดที่มีอยู่พร้อมกับการแก้สมการของ Lyapunov? ฉันยังสนใจในการใช้งานที่สามารถจัดการเมทริกซ์กระจัดกระจายได้ BBB

1
เร็วและเสถียร (ซ้าย)
ฉันต้องคำนวณจำนวนมาก 3×33×33\times3 เมทริกซ์ผกผัน (สำหรับการสลายตัวแบบวนซ้ำของนิวตันโดยมีจำนวนผู้ป่วยที่เสื่อมสภาพน้อยมาก (&lt;0.1%&lt;0.1%<0.1\%) การผกผันอย่างชัดเจน (ผ่านผู้เยาว์เมทริกซ์หารด้วยดีเทอร์แนนต์) ดูเหมือนว่าจะทำงานได้และประมาณ ~ 32 ~ 40 หลอมรวม flops (ขึ้นอยู่กับว่าฉันคำนวณคำนวณส่วนกลับกันอย่างไร) การไม่คำนึงถึงปัจจัยระดับสเกลเป็นเพียง 18 ฟิวชั่นฟิกซ์ (แต่ละองค์ประกอบ 9 รายการมีรูปแบบ ab-cd, 2 หลอมรวมฟลอป) คำถาม: มีวิธีคำนวณค่าผกผันของ 3×33×33\times 3 ใช้น้อยกว่า 18 (กับขนาดโดยพลการ) หรือ 32 (ด้วยขนาดที่เหมาะสมพิจารณา 1 ซึ่งกันและกัน) flops ผสม? มีวิธีการประหยัดหรือไม่ (ใช้ ~ 50 f-flops) เพื่อคำนวณค่าอินเวอร์สซ้ายหลังที่เสถียรของ a 3×33×33\times 3 เมทริกซ์? ฉันกำลังใช้โฟลทแม่นยำ (เกม …

1
อัลกอริทึมสมดุลเมทริกซ์
ฉันได้รับการเขียนกล่องเครื่องมือระบบการควบคุมจากรอยขีดข่วนและหมดจดใน Python3 (เสียบด้านหน้า: harold) จากการวิจัยที่ผ่านมาของฉันฉันมักจะบ่นเกี่ยวกับนักแก้ปัญหา Riccati care.mด้วยเหตุผลที่เป็นเทคนิค / ไม่เกี่ยวข้อง ดังนั้นฉันได้เขียนชุดคำสั่งของตัวเอง balance.mสิ่งหนึ่งที่ผมไม่สามารถหาวิธีรอบคือการได้รับขั้นตอนวิธีการสมดุลและมีประสิทธิภาพสูงอย่างน้อยดีเท่า ก่อนที่คุณจะพูดถึงมันxGEBALในครอบครัวเป็นที่เปิดเผยใน SciPy และคุณโดยทั่วไปสามารถโทรจาก SciPy ดังต่อไปนี้สมมติว่าคุณมีชนิดลอย 2D อาร์เรย์A: import scipy as sp gebal = sp.linalg.get_lapack_funcs(('gebal'),(A,)) # this picks up DGEBAL Ab, lo, hi, scaling , info = gebal(A, scale=1 , permute=1 , overwrite_a=0 ) ตอนนี้ถ้าฉันใช้เมทริกซ์ทดสอบต่อไปนี้ array([[ 6. , 0. , …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.