ระบบเส้นตรงแบบสมมาตรและคงที่สามารถแก้ไขได้ในเวลาสมการกำลังสองหลังจากการคำนวณล่วงหน้าหรือไม่


21

คือมีO(n3+n2k)วิธีการที่จะแก้ปัญหาkเชิงเส้นระบบของฟอร์ม(Di+A)xi=biที่เป็นเมทริกซ์เมจิคงที่และD ฉันเป็นเมทริกซ์ทแยงมุมบวก?ADi

ตัวอย่างเช่นถ้าแต่ละDiเป็นสเกลาร์ก็พอเพียงที่จะคำนวณ SVD ของ อย่างไรก็ตามการแบ่งนี้สำหรับDทั่วไปเนื่องจากการขาดการสับเปลี่ยนAD

อัปเดต : คำตอบคือ "ไม่" ไม่มีใครมีสัญชาตญาณที่น่าสนใจว่าทำไม? ไม่มีคำตอบหมายความว่าไม่มีวิธีที่ไม่จำเป็นในการบีบอัดข้อมูลระหว่างผู้ให้บริการที่ไม่เปิดใช้งานสองคน มันไม่ได้เป็นเรื่องที่น่าประหลาดใจนัก แต่มันเป็นการดีที่จะเข้าใจมันมากขึ้น


SPD = แน่นอนกึ่งบวก?
rcollyer

ใช่แม้ว่าปัญหาจะเหมือนกันโดยไม่มี SPD ฉันเพิ่มข้อ จำกัด นั้นเพียงเพื่อให้แน่ใจว่าระบบจะไม่มีเอกพจน์
เจฟฟรีย์เออร์วิง

คำตอบ:


19

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

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

ให้เมทริกซ์จตุรัสใด ๆมีการสลายตัวของ Schur A = U T U Hโดยที่UมีการรวมกันและTคือรูปสามเหลี่ยมด้านบนและA + σ I = U ( T + σ I ) U Hให้ Schur สลายตัวของA + σฉัน ดังนั้นแนวคิดการคำนวณล่วงหน้าของคุณจึงขยายไปถึงเมทริกซ์จตุรัสทั้งหมดผ่านอัลกอริทึม:AA=UTUHUTA+σI=U(T+σI)UHA+σI

  • Compute ในที่มากที่สุดO ( n 3 )การทำงาน[U,T]=schur(A)O(n3)
  • แก้ปัญหาแต่ละข้อผ่านx : = U ( T + σ I ) - 1 U H bในO ( n 2 )งาน(A+σI)x=bx:=U(T+σI)1UHbO(n2)

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

การตอบสนองต่อการอัปเดต: จนกว่าฉันจะมีหลักฐานซึ่งฉันไม่ได้เป็นฉันก็ปฏิเสธที่จะอ้างว่าคำตอบคือ "ไม่" อย่างไรก็ตามฉันสามารถให้ข้อมูลเชิงลึกเกี่ยวกับสาเหตุที่มันยากเช่นเดียวกับเอกสารย่อยอื่นที่คำตอบคือใช่

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

กับที่กล่าวว่าถ้าแต่ละเบาบางคือพวกเขาแต่ละคนมีO ( 1 ) nonzeros แล้วสูตรเชอร์แมนมอร์ริสันฟอร์ด-อัตราผลตอบแทนถัวO ( n 2 )แก้ปัญหาด้วยกันทั้งคู่{ D , B } ตัวอย่างเช่นด้วยค่าศูนย์เดียวที่รายการแนวทแยงที่jดังนั้นD = δ e j e H j :DO(1)O(n2){D,b}jD=δejejH

[A1+δejejH]1=A1δA1ejejHA11+δ(ejHA1ej),

ที่คือเจ TH เวกเตอร์พื้นฐานมาตรฐานejj

การอัปเดตอื่น:ฉันควรพูดถึงว่าฉันได้ลอง preconditioner ที่ @GeoffOxberry แนะนำเกี่ยวกับการสุ่ม SPD 1000 × 1,000เมทริกซ์โดยใช้ PCG และอาจไม่แปลกใจเลยที่มันลดจำนวนการทำซ้ำเมื่อ| | D | | 2 / | | A | | 2มีขนาดเล็ก แต่ไม่ใช่เมื่อเป็นO ( 1 )หรือมากกว่าA11000×1000||D||2/||A||2O(1)


12

ถ้ามีความโดดเด่นในแนวทแยงมุมสำหรับiแต่ละตัวดังนั้นงานล่าสุดโดย Koutis, Miller และ Peng (ดูเว็บไซต์ของ Koutisสำหรับการทำงานกับเมทริกซ์ที่โดดเด่นในแนวทแยงมุมแบบสมมาตร) สามารถใช้แก้ปัญหาแต่ละระบบในO ( n 2 log) ( n ) )เวลา (ที่จริงO ( ล็อก( n ) )เวลาที่ม.เป็นจำนวนสูงสุดของรายการในภัณฑ์( D ฉัน + )มากกว่าทุก(Di+A)iO(n2log(n))O(mlog(n))m(Di+A)ดังนั้นคุณสามารถใช้ประโยชน์จาก sparsity เช่นกัน) จากนั้นเวลาทำงานทั้งหมดจะเป็น O ( n 2 log ( n ) k )ซึ่งดีกว่าวิธี O ( n 3 k )ในการแก้ปัญหาแต่ละระบบโดยใช้พีชคณิตเชิงเส้นหนาแน่น แต่จะแย่กว่าเวลารันกำลังสองของคุณเล็กน้อย ขอให้iO(n2log(n)k)O(n3k)

(Di+A)iO(n2k)

A1

การตอบสนองต่อการอัปเดต : @JackPaulson สร้างจุดยอดเยี่ยมจากจุดยืนของพีชคณิตเชิงเส้นเชิงตัวเลขและอัลกอริทึม ฉันจะมุ่งเน้นข้อโต้แย้งที่ซับซ้อนของการคำนวณแทน

n

O(nαk)α2.375


3
ฉันยังไม่เห็นคำแถลงที่เป็นรูปธรรมถึงจุดที่ครอสโอเวอร์อาจมี แต่แหล่งข้อมูลที่มีชื่อเสียงหลายแห่งระบุว่า (ปัญหาการดำเนินการกัน) Coppersmith-Winograd ไม่สามารถเอาชนะวิธีมาตรฐานสำหรับขนาดเมทริกซ์ที่จะสามารถพอดีกับหน่วยความจำในอนาคต (สองสามทศวรรษ) เนื่องจากมาตรฐาน Linpack ใช้เวลามากกว่าหนึ่งวันในการทำงานกับเครื่องจักรชั้นนำในปัจจุบันจึงไม่น่าจะเป็นไปได้ที่ Coppersmith-Winograd จะถูกนำมาใช้ในทางปฏิบัติ Strassen เป็นจริงสำหรับปัญหาที่มีขนาดใหญ่แม้ว่ามันจะค่อนข้างมีเสถียรภาพตัวเลขน้อย
Jed Brown

นั่นไม่ได้ทำให้ฉันประหลาดใจ +1 สำหรับรายละเอียดการใช้งาน
Geoff Oxberry

6

A+DA

A1=(A+DD)1(A+D)(A+D)1=[(A+D)1(A+DD)]1(A+D)1=[I(A+D)1D]1(A+D)1[I+(A+D)1D](A+D)1

A+D

D0Dminσ(A)

หากการเปลี่ยนสภาพใน preconditioner มีขนาดใหญ่กว่าในตัวดำเนินการวิธีนี้มีแนวโน้มที่จะสร้างหมายเลขเงื่อนไขประมาณครึ่งหนึ่งของการปรับสภาพล่วงหน้าโดยตัวดำเนินการที่ล้าหลัง (ในการทดสอบแบบสุ่มที่ฉันวิ่งมันอาจจะดีหรือแย่ลง การฝึกอบรม) ตัวคูณของเงื่อนไข 2 ตัวนั้นให้ปัจจัยในการนับซ้ำ หากต้นทุนการทำซ้ำถูกครอบงำโดยการแก้ปัญหาด้วยดังนั้นนี่ไม่ใช่ปัจจัยที่เพียงพอที่จะพิสูจน์การขยายตัวของเทย์เลอร์คำสั่งแรก หากแอปพลิเคชันเมทริกซ์มีราคาแพงตามสัดส่วน (เช่นคุณมีเพียงเงื่อนไขเบื้องต้นที่ไม่แพงสำหรับ ) ดังนั้นวิธีการสั่งซื้อครั้งแรกนี้อาจสมเหตุสมผล2A+DA+D

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