ถ้าฉันต้องการเพียงหนึ่งองค์ประกอบของเมทริกซ์ผกผันมีอัลกอริทึมที่รวดเร็วหรือไม่?


9

ฉันใช้ Mathematica เพื่อแก้ปัญหา ฉันมีคำถามเกี่ยวกับเมทริกซ์ผกผัน

ถ้าฉันต้องการเพียงหนึ่งองค์ประกอบของเมทริกซ์ผกผันมีอัลกอริทึมที่เร็วกว่าการใช้Inverseเพื่อคำนวณเมทริกซ์ผกผันทั้งหมดและแยกองค์ประกอบที่ฉันต้องการหรือไม่?


บทคัดย่อของบทความนี้บอกว่าพวกเขาสามารถคำนวณพวกมันได้ในแนวทแยงของเมทริกซ์ผกผันในแต่ฉันไม่รู้ว่ามีบางอย่างสำหรับรายการที่กำหนดเองหรือไม่ O(n32)
G. Bach

ปัญหาพื้นฐานที่นี่อาจจะเกี่ยวกับคณิตศาสตร์มากกว่าวิทยาการคอมพิวเตอร์
Bernhard Barker

1
นี่คืออะไรบางอย่างที่มากกว่าแค่เส้นทแยงมุมสำหรับเมทริกซ์เบาบางและนี่คือบางอย่างในอัลกอริทึมแบบขนานสำหรับเมทริกซ์กระจัดกระจายที่มีโครงสร้าง
G. Bach

@ G.Bach ขอบคุณสำหรับข้อมูลของคุณ
user15964

2
@ G.Bach คำตอบของฉันมากมายเช่นนั้น การใช้ google อย่างมีประสิทธิภาพนั้นไม่ใช่เรื่องเล็กน้อย หากข้อมูลมีประโยชน์ก็จะตอบคำถาม
Yuval Filmus

คำตอบ:


1

ฉันไม่ได้เห็นสิ่งนี้ใน Mathematica แต่ฉันคิดว่าสามารถแก้ไขชุดสมการสำหรับหนึ่งที่ไม่รู้จักอาจได้รับการสนับสนุน

แน่นอนว่าวิธีการตรงจะนำอัลกอริทึมเมทริกซ์ผกผันมาใช้และหยุดพวกเขาเมื่อองค์ประกอบนั้นถูกกำหนด อาจเป็นเรื่องที่น่าสนใจที่จะเห็นว่าการเพิ่มประสิทธิภาพที่คุณมีสำหรับแต่ละอัลกอริทึมถ้าเป้าหมายคือการได้รับองค์ประกอบเดียวเท่านั้น

แต่ตามวรรคหนึ่งความคิดหนึ่งอาจเป็นการแสดงเมทริกซ์ผกผันของคุณเป็นสิ่งที่ไม่ทราบในระบบสมการแล้วลองแก้ไขเฉพาะสิ่งที่ไม่ต้องการที่คุณต้องการ หากคุณได้รับหน่วยความจำที่ดีขึ้นและประสิทธิภาพของซีพียูมันอาจจะปลอดภัยที่จะบอกว่า Mathematica ไม่ได้แก้สมการทั้งหมด แต่เพียงแค่ทำการปรับให้เหมาะสมเพื่อพิจารณาเฉพาะสิ่งที่คุณไม่รู้จัก คุณอาจได้รับประสิทธิภาพที่แย่ลงแน่นอนเนื่องจากคุณไม่ได้ใช้อัลกอริทึมผกผันโดยตรง หากคุณตัดสินใจที่จะลองแจ้งให้เราทราบว่ามันทำงาน!

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