จำนวนการดำเนินการทางคณิตศาสตร์ขั้นต่ำที่จะคำนวณดีเทอร์มิแนนต์


14

มีงานใดบ้างในการค้นหาจำนวนการดำเนินการทางคณิตศาสตร์ขั้นต่ำที่จำเป็นในการคำนวณดีเทอร์มีแนนต์ของโดยnเมทริกซ์สำหรับขนาดเล็กและคงที่n ? ยกตัวอย่างเช่นn = 5nnnn=5


4
ฉันถามผู้เชี่ยวชาญเกี่ยวกับเรื่องนี้และเห็นได้ชัดว่าในปัจจุบันยังไม่ทราบว่าจำเป็นต้องมีการคูณ 9 ครั้งหรือไม่ในการคำนวณดีเทอร์มีแนนต์ของเมทริกซ์ 3x3
Jeffrey Shallit

@JeffreyShallit หากเป็นไปได้ข้อที่น่าสนใจอยู่แล้ว (เนื่องจากน้อยกว่าn 3ตัวอย่าง) วิธีการเกี่ยวกับn = 4 ? 9n3n=4
Lembik

3
ไม่ไม่น่าสนใจเลย 9 การคูณสำหรับ n = 3 ตามด้วยการขยายตัวของผู้เยาว์ สำหรับ n = 4 อีกครั้งการขยายตัวของผู้เยาว์ให้ 40 ฉันไม่รู้ว่าจะทำอย่างไรในการคูณน้อยกว่า 40
Jeffrey Shallit

@ JeffreyShallit โอ้ฉันเห็นจุดดี มันน่าพิศวง (อย่างน้อยให้ฉัน) ถ้าไม่มีอะไรดีกว่าไร้เดียงสาเป็นที่รู้จักสำหรับการแก้ไขใด ๆnn
Lembik

ถ้ามีคนรู้บางทีพวกเขาอาจบอกเราได้
Jeffrey Shallit

คำตอบ:


9

เป็นที่ทราบกันว่าจำนวนของผู้ดำเนินการทางคณิตศาสตร์ที่จำเป็นในการคำนวณปัจจัยของนั้นเมทริกซ์n ω + o ( 1 )ที่ωคือค่าคงที่คูณเมทริกซ์ ดูตัวอย่างตารางนี้ใน Wikipedia รวมถึงเชิงอรรถและเอกสารอ้างอิง โปรดสังเกตว่าความซับซ้อนเชิงเส้นกำกับของเมทริกซ์ผกผันก็เหมือนกับการคูณเมทริกซ์ในแง่เดียวกันนี้n×nnω+o(1)ω

ความเท่าเทียมกันค่อนข้างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งคุณซ้ำสามารถคำนวณปัจจัยของที่เมทริกซ์ด้วยการทำงานบน( n / 2 ) × ( n / 2 )บล็อกโดยใช้ส่วนประกอบ Schur:n×n(n/2)×(n/2)

D invertibledet(ABCD)=det(D)det(ABD1C).

ดังนั้นคุณสามารถคำนวณปัจจัยโดยการคำนวณสอง( n / 2 ) × ( n / 2 )ปัจจัย, inverting หนึ่ง( n / 2 ) × ( n / 2 )เมทริกซ์คูณสองคู่( n / 2 )เมทริกซ์× ( n / 2 )และการทำงานบางอย่างง่ายขึ้น การขยายการเรียกดีเทอร์มีแนนต์ซ้ำความซับซ้อนนั้นจบลงด้วยการคูณเมทริกซ์และการผกผันn×n(n/2)×(n/2)(n/2)×(n/2)(n/2)×(n/2)

วิธีนี้ใช้ได้ดีแม้กับขนาดเล็กและไม่ต้องใช้อัลกอริธึมการคูณเมทริกซ์ sub-cubic (แน่นอนว่ามันจะเทียบเท่ากับการกำจัดแบบเกาส์มากกว่าหรือน้อยกว่า) ตัวอย่างเช่นสำหรับn = 4เราสามารถคำนวณdet ( D )ด้วยการคูณสองครั้งD - 1กับสี่ฝ่ายB D - 1 Cด้วย2 × 8 = 16 การคูณ, det ( A - B D - 1 C )nn=4det(D)D1BD1C2×8=16det(ABD1C)มีสองการคูณและคำตอบสุดท้ายด้วยการคูณหนึ่ง จำนวนรวมคือคูณบวกส่วนที่น้อยกว่า40จากการขยายตัวของปัจจัย การใช้อัลกอริธึมของ Strassen จะบันทึกสองการคูณที่นี่ แต่จะไม่แสดงอาการ2+4+16+2+1=2540

คุณอาจสังเกตเห็นว่าการขยายตัวนี้ใช้การหารอย่างใหญ่หลวง หากคุณต้องการที่จะหลีกเลี่ยงการแบ่งแล้วหนึ่งสามารถทำได้ในการดำเนินงานโดยทำงานร่วมกับลำดับโคลว์และการเขียนโปรแกรมแบบไดนามิก มันเป็นที่รู้จักกันว่าจะบรรลุn 2 + ω / 2 + o ( 1 ) การคูณและไม่มีการหารO(n4)n2+ω/2+o(1)


คุณรู้ขอบเขตที่ต่ำกว่าเพียงจำนวนของการคูณหรือไม่? แม้แต่สำหรับ n = 3
Jeffrey Shallit

ถ้อยคำของคุณ "จำนวนของการดำเนินการทางคณิตศาสตร์ที่จำเป็นในการคำนวณปัจจัยของนั้นเมทริกซ์n ω + o ( 1 ) " แสดงให้เห็นว่าขอบเขตล่างเป็นที่รู้จักกัน แต่ฉันไม่เห็นสิ่งนี้ในผลงานที่อ้างถึง ฉันพลาดอะไรไปรึเปล่า? n×nnω+o(1)
Jeffrey Shallit

2
ขอบเขตที่ต่ำอยู่ในกระดาษโดย W.Baur และ V.Strassen "ความซับซ้อนของสัญญาซื้อขายล่วงหน้าบางส่วน" (การdx.doi.org/10.1016/0304-3975(83)90110-X )
วลาดิเมีย Lysikov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.