ตัวกำหนดของเมทริกซ์ Vandermonde ทั่วไป


10

มัวร์เมทริกซ์คล้ายกับเมทริกซ์ Vandermonde แต่มีนิยามที่ปรับเปลี่ยนเล็กน้อย http://en.wikipedia.org/wiki/Moore_matrix

ความซับซ้อนของการคำนวณดีเทอร์มีแนนต์ของn×nแบบเต็มอันดับคืออะไรเมทริกซ์โมดูโลจำนวนเต็มบางตัว?

Moore Moore สามารถลดลงได้จากO(n3)โดยใช้เทคนิค FFT เป็นO(nlogan)สำหรับaR+{0}บ้างไหม?

ความซับซ้อนของ Moore det modulo เป็นจำนวนเต็มและ Vandermonde det เหมือนกันหรือไม่? ความซับซ้อนของตัวกำหนด Vandermonde คือO(nlog2n) (หน้า 644 ในคู่มือวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี: อัลกอริทึมและความซับซ้อนโดย Jan Leeuwen)

โพสต์ที่คล้ายกับปัจจุบัน: กำหนดโมดูโล m


ตัวกำหนด Moore สามารถคำนวณได้ในเวลา O (n ^ 3) (บน RAM จำนวนเต็ม) หรือไม่
Jeffε

1
@ Jɛ ff E นั่นคือเหตุผลที่ผมกล่าวถึงการสุ่มแบบโมดูโล N NN
T ....

ยังไงก็ตามและฉันแค่อยากรู้อยากเห็นมีแอปพลิเคชันที่รู้จักที่จะได้ประโยชน์จากอัลกอริทึม "เร็วมาก" หรือไม่
Juan Bermejo Vega

@J FFE ทำคุณเกิดขึ้นที่จะทราบว่าการคำนวณการยกกำลัง modular คู่มากกว่าNอยู่ใน BPP สำหรับจิ๊บจ๊อยN ? เพราะนั่นเป็นปัญหาในการคำนวณค่าสัมประสิทธิ์ของเมทริกซ์ εNN
Juan Bermejo Vega

คำตอบ:


4

โดยทั่วไปมีอัลกอริธึมทางทฤษฎีเวลาสำหรับการค้นหาการสลายตัว LUของเมทริกซ์โดยพลการโดยใช้อัลกอริทึม Coppersmith – Winogradซึ่งเห็นได้ชัดว่าเป็นตัวกำหนดเวลา (เพิ่มO ( n )เวลา) มีปัญหาอย่างไรก็ตามอัลกอริทึม Coppersmith – Winograd นั้นไม่ได้ถูกนำมาใช้ในทางปฏิบัติ ตอนนี้, คนส่วนใหญ่ใช้อัลกอริทึม Strassen เวลาO ( n 2.807 ) ไม่เพิ่ม lu_factorize ของUBLAS ให้ใช้สิ่งนี้หรือไม่O(n2.376)O(n)O(n2.807)

ในกรณีของคุณเมทริกซ์ของมัวร์ควรได้รับการปรับให้เหมาะสมที่สุดเพราะโดยทั่วไปการกำจัดแบบเกาส์เซียนเช่นขั้นตอนการย่อยสลาย LU สามารถทำได้อย่างเป็นนามธรรม แน่นอนคุณจะพบว่าดีสูตรสำหรับการคำนวณมัวปัจจัยอ้างอิงจากวิกิพีเดียซึ่งสันนิษฐานหนึ่งพิสูจน์โดยเพียงแค่การทำงานออกจากการสลายตัว LU ทั่วไปO(n)


สวัสดี Jeff: การอ้างอิงใดที่คุณอ้างถึงสำหรับสูตร O (n ^ 2) ฉันคิดว่า Vandermonde det สามารถคำนวณได้ใน O (nlogn) แต่ฉันไม่สามารถหาข้อมูลอ้างอิงได้ ดังนั้น Moore det ควรอยู่ใน O (nlogn) ด้วยหรือไม่
T ....

ใช่ฉันควรจะพูดว่า O (n) ชัด ๆ จริงๆ O (n log n) สำหรับ n ขนาดใหญ่
Jeff Burdges

สวัสดี Jeff: คุณมีข้อมูลอ้างอิงหรือไม่?
T ....

7
@JeffBurdges: ถ้าเวลาทำงานคือ O (n log n) "for large n" จากนั้นตามคำนิยามเวลาทำงานคือ O (n log n) ไม่ใช่ O (n)
Jeffε

ฉันไม่เห็นสูตรอ้างอิงโดย Wikipedia ที่ดีที่สุดที่จะมีลักษณะΘ ( n 2 ) O(n)Θ(n2)
Peter Taylor

3

มันเป็นสิ่งสำคัญที่ในนิยามที่คุณให้เมทริกซ์อาศัยอยู่ในสนาม จำกัด บอกว่าโดยที่mนั้นสำคัญที่สุด นี้จะช่วยให้คุณใช้ทฤษฎีบทออยเลอร์ในการคำนวณ double-exponentialsZmmที่ปรากฏใน matrix ในเวลา O ( log ( m n ))aqemodm ) Q ฉันO(log(mn)M(logm)) ไม่อย่างนั้นมันก็ยากที่จะคำนวณเมทริกซ์สัมประสิทธิ์โดยไม่แยกตัวประกอบ m

aqiaqi(modφ(m))(modm)
mเมตร

หากเป็นสำคัญหรือสามารถ factorised ได้อย่างมีประสิทธิภาพที่เลวร้ายที่สุดกรณีซับซ้อนถูกครอบงำโดยจำนวนของขั้นตอนที่คุณต้องการสำหรับคูณเมทริกซ์O ( n ω ) ตัวอย่างเช่นวิธีการแบบฟอร์มปกติของ Smith ที่ฉันกล่าวถึงในโพสต์พันธมิตรจะคำนวณปัจจัยในเวลาO ( n ωmO(nω)ถ้าคุณใช้ "ช้า" อัลกอริทึมการคูณ* ωสามารถเลือกที่จะเป็น 2.373O(nωlog2mlog(mn))ω

คุณได้รับช้าลงใน Moore vs Vandermonde เนื่องจากคุณต้องทวีคูณสัมประสิทธิ์ของเมทริกซ์ เมื่อคุณสามารถ factorise นี้ชะลอตัวลงเป็นเพียง polylogarithmic บนเมตร ถ้าไม่อัลกอริทึมที่นำเสนอจะช่วยให้คุณลดคุกเพื่อดับเบิล Modular-ยกกำลังในZเมตรmmZm

* หมายเหตุ: ขั้นตอนวิธีการได้เร็วขึ้นสำหรับจำนวนเต็มคูณช่วยให้คุณสามารถเปลี่ยน กับM ( บันทึกเมตรเข้าสู่ระบบเข้าสู่ระบบม. )log2mM(logmloglogm)


ปรับปรุง : เป็นไปได้ของการบรรลุ )O(nlogan)

ฉันไม่มีคำตอบที่ชัดเจนสำหรับเรื่องนี้ แต่ฉันพบข้อมูลบางอย่างที่อาจทำให้การค้นหาของคุณกระชับ

อัลกอริทึมสำหรับเมทริกซ์โครงสร้างที่คำนวณปริมาณเช่นดีเทอร์มิแนนต์ในเวลา เรียกว่า "superfast" ในวรรณคดี อัลกอริธึม "superfast" ที่รู้จักกันดีทั้งหมดสำหรับเมทริกซ์โครงสร้าง (Vandermonde, Toeplitz, Hankel) ดูเหมือนจะอาศัยคุณสมบัติทั่วไปของเมทริกซ์นี้ที่รู้จักกันในชื่อ หารือเกี่ยวกับบทแรกของหนังสือเล่มนี้(หน้าเปิดการเข้าถึง) หรือในบทความนี้[ACM] , [PDF]O(nlogan) [PDF]

จากสิ่งที่ฉันอ่านให้ Moore matrix Mถ้าคุณสามารถหาเมทริกซ์A , Bเช่นเมทริกซ์ใหม่L ( M ) = A M - M B (หรือL ( M ) = M -m×nMABL(M)=AMMB ) มีโครงสร้างดังต่อไปนี้L(M)=MAMB

L(M)=k=1rgkhkT

และยศมีขนาดเล็ก (คงที่หรือล้อมรอบด้วยo ( minr>0 ) จากนั้นคุณสามารถใช้ที่มีอยู่เทคนิค (ตรวจสอบบทที่ 5 ของหนังสือเล่มนี้หน้าเปิดการเข้าถึง) เพื่อ triangularise Mและดังนั้นการคำนวณเดชอุดมMใช้ O ( n log 2 n ) ด้านบน g k , h kแสดงถึงเวกเตอร์ หากคุณไม่สามารถหาหนังสือด้านบนเพื่ออ่านสิ่งทั้งหมดบทความนี้ยังมีข้อมูลจำนวนมากเกี่ยวกับวิธีการเหล่านี้o(min{m,n})MdetMO(nlog2n)gkhk

น่าเสียดายที่ฉันไม่สามารถหาโครงสร้างการกระจัดตำแหน่งต่ำสำหรับเมทริกซ์มัวร์ (Vandermonde มี) ภาวะแทรกซ้อนหลักที่นี่ดูเหมือนจะเกิดขึ้นจากธรรมชาติ "ไม่ใช่เชิงเส้น" ของเลขชี้กำลังสองเท่า ถ้ามันช่วยได้กรณีของ Vandermonde, Cauchy, Toeplitz, Hankel นั้นถูกนำมาใช้ในหนังสือเล่มนี้


ฉันสามารถทำให้เมทริกซ์ของฉันอาศัยอยู่ในเขตของถ่าน3อย่างไรก็ตามขนาดของตัวอักษรสำหรับแอปพลิเคชันที่ฉันต้องการจะมีขนาดใหญ่ ดังนั้นเมตรเป็นรูปแบบ3 kสำหรับบางขนาดใหญ่พอที่k 3m3kk
....

3k

ดีที่ไม่ลดความซับซ้อนของความซับซ้อนฉันจะบอกว่าตั้งแต่เขตข้อมูลมีขนาดใหญ่มาก
....

φ(3k)=3k3k1aqimodmb=qimodφ(3k), then abmod3k. You can do this in time O(log(n3k)M(klog3)). Using school-multiplication algorithm, M(n)=n2, and you would get a final "netto" cost of O(nωk2log23(logn+klog3)) which is efficient.
Juan Bermejo Vega

Can we replace ω by 1+ϵ? That is the cost saving I curious in (may be possible from the matrix structure). With ω2, I don't gain anything for my purpose.
T....
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.