ตัวกำหนดโมดูโล m


18

สิ่งที่เป็นที่รู้จักกันเป็นกลไกที่มีประสิทธิภาพสำหรับการคำนวณปัจจัยของเมทริกซ์จำนวนเต็มมีค่าสัมประสิทธิ์ในแหวนของสารตกค้างแบบโมดูโลเมตร ตัวเลขmอาจไม่ได้เป็นจำนวนเฉพาะ แต่คอมโพสิต (ดังนั้นการคำนวณจะดำเนินการในวงแหวนไม่ใช่ฟิลด์)Zmmm

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

หากเกิดขึ้นว่ามีวิธีการที่แตกต่างกันฉันก็อยากรู้เกี่ยวกับมัน

ขอบคุณล่วงหน้า.

ปรับปรุง:

ฉันขออธิบายที่มาของคำถามนี้ สมมติว่าเป็นจำนวนเฉพาะ ดังนั้นZ mจึงเป็นสนาม และในกรณีนี้เราสามารถทำการคำนวณทั้งหมดโดยใช้ตัวเลขน้อยกว่าmดังนั้นเราจึงมีขอบเขตบนที่ดีในการดำเนินการทั้งหมดเกี่ยวกับตัวเลข: การเพิ่มการคูณและการผกผัน --- การดำเนินการที่จำเป็นทั้งหมดเพื่อเรียกใช้การกำจัดแบบเกาส์mZmm

บนมืออื่น ๆ ที่เราไม่สามารถดำเนินการผกผันสำหรับตัวเลขบางอย่างในกรณีที่ไม่ได้เป็นนายก ดังนั้นเราจึงต้องการเทคนิคบางอย่างในการคำนวณดีเทอร์มิแนนต์m

และตอนนี้ฉันก็อยากรู้ว่ากลเม็ดที่รู้จักกันดีในการทำงานคืออะไร


3
`` มีประสิทธิภาพ '' คุณหมายถึงอะไร? ปัญหาคืออย่างชัดเจนในPP
david

2
เป็นคงที่คงที่? เป็นอย่างไรบ้าง? m
Michael Blondin

2
คุณหมายถึงอะไรเล็ก ๆ ? พวกเขาสามารถเขียนเป็นเอกภาพหรือไม่?
Michael Blondin

5
ฉันยังไม่เข้าใจคำถาม ดีเทอร์มีแนนต์ของเมทริกซ์จำนวนเต็มสามารถคำนวณได้ในเวลาพหุนามดังนั้นคุณสามารถหาค่าโมดูโลนี้ได้ ไม่จำเป็นต้องดำเนินการในแผนกZ เมตรหรือหาตัวประกอบของม. mZmm
david

2
@ ValeriySokolov: นั่นคือพีชคณิตเชิงเส้นพื้นฐาน ตัวอย่างเช่นโปรดตรวจสอบปัญหา 11.5.3 ของความซับซ้อนในการคำนวณโดย Christos H. Papadimitriou
Tsuyoshi Ito

คำตอบ:


15

ถ้าคุณรู้ว่าตัวประกอบของคุณสามารถคำนวณแบบโมดูโลแต่ละพีอีฉันฉันแยกแล้วรวมผลการใช้ remaindering จีน ถ้าอีฉัน = 1แล้วคำนวณแบบโมดูโลพีอีฉันฉันเป็นเรื่องง่ายตั้งแต่นี้เป็นสนาม สำหรับe i ที่ใหญ่กว่าคุณสามารถใช้การยก Hensel m=p1e1pnenpieiei=1pieiei


ขอขอบคุณ! มันเหมือนสิ่งที่ฉันกำลังมองหา นี่เป็นวิธีปฏิบัติทั่วไปสำหรับดีเทอร์มิแนนต์หรือไม่? (ยินดีต้อนรับการอ้างอิง)
Valeriy Sokolov

6
เหล่านี้เป็นเทคนิคมาตรฐานจากพีชคณิต comnputer ลองดู Modern Computer Algebra โดย von zur Gathen และ Gerhard หรือหนังสือเล่มอื่น ๆ ในพีชคณิตคอมพิวเตอร์ สำหรับปัญหาเฉพาะของคุณดูบทความต่อไปนี้โดย Pan, Yu & Stewart comet.lehman.cuny.edu/vpan/pdf/pan146.pdf
Markus Bläser

17

มีอัลกอริทึม combinatorial โดย Mahajan และ Vinay ที่ทำงานกับวงแหวน commutative: http://cjtcs.cs.uchicago.edu/articles/1997/5/contents.html


ขอบคุณสำหรับการตอบกลับพร้อมลิงก์ไปยังกระดาษที่น่าสนใจมาก
Valeriy Sokolov

นอกจากนี้ฉันเชื่อว่ามีอัลกอริทึมที่มีประสิทธิภาพมากขึ้นเนื่องจากผู้เขียนบทความนี้แก้ไขปัญหาทั่วไปได้มากขึ้น (สำหรับวงสลับใด ๆ )
Valeriy Sokolov

โดย "มี" คุณหมายถึง "รู้จัก" หรือ "มีอยู่" (แต่ยังไม่พบ) มันเป็นการคาดเดาที่สมเหตุสมผล แต่ฉันก็สงสัยว่าโครงสร้างของแหวนของผู้รุกรานโมดูโล่จำนวนคอมโพสิตขนาดเล็กสามารถช่วยคุณได้ทั้งหมด ถ้าฉันผิดฉันจะพบว่าน่าสนใจ
Sasho Nikolov

1
@ValeriySokolov มีความยุติธรรมเนื่องจากคำตอบจะตอบคำถามของคุณคุณอาจลองตอบรับ (หรือหากคุณต้องการรอคำตอบที่ดีกว่าที่ไม่น่าจะเป็นไปไม่ได้)
Suresh Venkat

@SashoNikolov ฉันได้พบว่า Wolfram Mathematica ได้คำนวณสิ่งนี้แล้ว ใน "Implementation Notes" พวกเขาพูดว่า: Det ใช้วิธีการแยกส่วนและลดแถวสร้างผลลัพธ์โดยใช้ทฤษฎีส่วนที่เหลือของจีน ฉันต้องการทราบว่าพวกเขาทำอะไร แต่การค้นหาอย่างรวดเร็วไม่ได้ช่วยอะไรฉันเลย ในฐานะที่เป็น "คอมโพสิตขนาดเล็ก " มันหมายความว่าผมต้องการที่จะต้องพิจารณาความซับซ้อนของการเพิ่มและการคูณในแหวนวงนี้จะเป็นO ( 1 ) นั่นคือปัจจัยทั้งหมดเช่นO ( บันทึกเมตร)จะถือว่าเป็นO ( 1 ) mO(1)O(logm)O(1)
Valeriy Sokolov

11

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

เพิ่มเติมรูปธรรมกำหนดเพื่อให้สองn × nเมทริกซ์ที่มีสัมประสิทธิ์นำมาจาก Zเมตรสามารถคูณโดยใช้O ( n ω )พื้นฐานดำเนินการทางคณิตศาสตร์ในZเมตร (นอกจากจำนวนเต็มคูณยกกำลัง ฯลฯ ) จากนั้นωn×nZmO(nω)Zm

กำหนดเมทริกซ์Z n × nเมตรมีอยู่ขั้นตอนวิธีการที่กำหนดว่าคำนวณเดชอุดม( )โดยใช้O ( n ω )พื้นฐานการดำเนินงานเกี่ยวกับคณิตศาสตร์มากกว่าZ [1]AZmn×ndet(A)O(nω)Zm

เมื่อสิ่งนี้ถูกเขียนขึ้นในปี 1996 ไม่มีทางเลือกได้เร็วขึ้นแบบ asymptotically (กระดาษกล่าวถึงการดำรงอยู่ก่อนหน้าของอัลกอริทึมที่มีขอบเขตเหมือนกัน แต่ฉันไม่รู้ว่าอันไหนน่าจะเป็นไปได้หรือไม่)

Update (17 กรกฎาคม 2013):คุณลักษณะโบนัสที่ดีของขั้นตอนวิธีนี้ก็คือว่ามันทำงานในเวลาพหุนามสำหรับพลคอมโพสิต โดยไม่ทราบว่านายก-nuber ตัวประกอบของ ! นี่เป็นสิ่งที่ดีเนื่องจากไม่มีอัลกอริธึมที่มีประสิทธิภาพ (คลาสสิก) ที่รู้จักสำหรับการแยกตัวประกอบ (แน่นอนถ้าคุณมีคอมพิวเตอร์ควอนตัมคุณก็สามารถใช้อัลกอริทึมของชอร์ได้ ) ถ้าคุณทำมีตัวประกอบแล้วอัลกอริทึมมาร์คัสปัญหาดูเหมือนว่าวิธีที่ง่ายในการดำเนินการmm

หมายเหตุ:ในกระดาษซับซ้อนของ "การดำเนินงานเกี่ยวกับคณิตศาสตร์พื้นฐาน" คือถ้าคุณใช้คณิตศาสตร์จำนวนเต็มมาตรฐาน แต่คุณสามารถบรรลุO ( M ( บันทึกเมตร) เข้าสู่ระบบเข้าสู่ระบบม. )ด้วยเทคนิคการได้เร็วขึ้น M ( t )จำกัด ต้นทุนของการคูณจำนวนเต็มสองจำนวนt -bit ระเบียนปัจจุบันสำหรับωคือ2.3727O(log2m)O(M(logm)loglogm)M(t)tω


ไม่ได้มักแสดงว่าอะไรω θω
Sasho Nikolov

บางทีฉันไม่ทราบสัญลักษณ์ที่พบบ่อยที่สุดสำหรับสิ่งนี้
Juan Bermejo Vega

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