คำถามติดแท็ก eigensystem

เวกเตอร์ลักษณะเฉพาะของตัวดำเนินการคือเวกเตอร์ที่การกระทำของตัวดำเนินการเหมือนกับการคูณด้วยค่าคงที่เรียกว่าค่าลักษณะเฉพาะ ระบบ eigensystem ของตัวดำเนินการคือชุดของ eigenvectors ทั้งหมดดังกล่าวและค่าลักษณะเฉพาะที่เกี่ยวข้อง

7
วิธีที่เร็วที่สุดในการคำนวณค่าลักษณะเฉพาะที่ใหญ่ที่สุดของเมทริกซ์ทั่วไปคืออะไร
แก้ไข:ฉันกำลังทดสอบว่าค่าลักษณะเฉพาะใดมีขนาดหนึ่งหรือมากกว่า ฉันต้องการหาค่าลักษณะเฉพาะสัมบูรณ์ที่ใหญ่ที่สุดของเมทริกซ์เบาบางขนาดใหญ่ที่ไม่สมมาตร ฉันใช้eigen()ฟังก์ชันของ R ซึ่งใช้ QR algo จาก EISPACK หรือ LAPACK เพื่อค้นหาค่าลักษณะเฉพาะทั้งหมดจากนั้นฉันใช้abs()เพื่อรับค่าสัมบูรณ์ อย่างไรก็ตามฉันต้องทำให้เร็วขึ้น ฉันได้ลองใช้อินเตอร์เฟส ARPACK ในigraphแพ็คเกจ R แล้ว อย่างไรก็ตามมันให้ข้อผิดพลาดสำหรับเมทริกซ์ตัวหนึ่งของฉัน การดำเนินการขั้นสุดท้ายจะต้องสามารถเข้าถึงได้จากอาร์ อาจมีค่าลักษณะเฉพาะหลายค่าที่มีขนาดเท่ากัน คุณมีข้อเสนอแนะใด? แก้ไข: ความแม่นยำจะต้องเป็น1e-11เท่านั้น เป็น "ปกติ" เมทริกซ์ได้รับเพื่อให้ห่างไกล 386 ฉันสามารถทำ QR factorisation กับมันได้ อย่างไรก็ตามมันเป็นไปได้ที่จะมีขนาดใหญ่กว่ามาก ฉันกำลังเริ่มอ่านเกี่ยวกับอัลกอริทึมของ Arnoldi ฉันเข้าใจว่ามันเกี่ยวข้องกับ Lanczsos386 × 386386×386386\times 386 EDIT2:ถ้าฉันมีเมทริกซ์หลายตัวที่ฉัน "ทดสอบ" และฉันรู้ว่ามันมีซับเมทริกซ์ขนาดใหญ่ที่ไม่เปลี่ยนแปลง เป็นไปได้ไหมที่จะเพิกเฉย / ทิ้ง?

6
สเปกตรัมโดยประมาณของเมทริกซ์ขนาดใหญ่
ฉันต้องการคำนวณสเปกตรัม ( ค่าลักษณะเฉพาะทั้งหมด ) ของเมทริกซ์กระจัดกระจายขนาดใหญ่ (หลายแสนแถว) นี่มันยาก. ฉันยินดีที่จะชำระสำหรับการประมาณ มีวิธีการประมาณการทำเช่นนี้? ในขณะที่ฉันหวังว่าจะได้คำตอบทั่วไปสำหรับคำถามนี้ฉันก็จะพึงพอใจกับคำตอบในกรณีเฉพาะดังต่อไปนี้ เมทริกซ์ของฉันคือLaplacian ปกติของกราฟขนาดใหญ่ ค่าลักษณะเฉพาะจะอยู่ระหว่าง 0 ถึง 2 โดยมีกลุ่มใหญ่เป็นกลุ่มประมาณ 1

2
การตรวจสอบปัญหาค่าไอเกน
ให้เราเริ่มด้วยปัญหาของแบบฟอร์ม (L+k2)u=0(L+k2)u=0(\mathcal{L} + k^2) u=0 ด้วยชุดของเงื่อนไขขอบเขตที่กำหนด ( Dirichlet , Neumann , Robin , Periodic , Bloch-Periodic ) สิ่งนี้สอดคล้องกับการหาค่าลักษณะเฉพาะและ eigenvector สำหรับตัวดำเนินการLL\mathcal{L}ภายใต้รูปทรงเรขาคณิตและเงื่อนไขขอบเขต เราสามารถรับปัญหาเช่นนี้ได้ในวิชาอะคูสติกแม่เหล็กไฟฟ้าอิลาสโตไดนามิคกลศาสตร์ควอนตัมเป็นต้น ฉันรู้ว่าใครสามารถแยกผู้ปฏิบัติงานโดยใช้วิธีการที่แตกต่างกันเช่นวิธีการผลต่าง จำกัด [A]{U}=k2{U}[A]{U}=k2{U}[A]\{U\} = k^2 \{U\} หรือการใช้วิธีไฟไนต์เอลิเมนต์ [K]{U}=k2[M]{U}.[K]{U}=k2[M]{U}.[K]\{U\} = k^2 [M]\{U\} \enspace . ในกรณีที่ได้รับปัญหา eigenvalueและปัญหา eigenvalue ทั่วไปในอื่น ๆ หลังจากได้รับปัญหาที่ไม่ต่อเนื่องแล้วเราจะใช้ตัวแก้ปัญหาค่าลักษณะเฉพาะ ความคิดบางอย่าง วิธีการของโซลูชันการผลิตไม่เป็นประโยชน์ในกรณีนี้เนื่องจากไม่มีคำที่มาเพื่อสมดุลสมการ [K][K][K][M][M][M] [∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][\nabla^2 + \omega^2/c^2] u(\omega) = f(\omega) \enspace …

1
วิธีเฉพาะสำหรับปัญหาค่าลักษณะเฉพาะทั่วไปที่ซับซ้อนแบบสมมาตร
ฉันต้องแก้ปัญหาค่าลักษณะเฉพาะทั่วไปโดยที่AและBมีทั้งสามด้าน, Bเป็นสมมาตรบวกแน่นอนและจริง แต่Aเป็นสมมาตรเชิงซ้อนเท่านั้น (ไม่ใช่ชัดเจนหรือ Hermitian) นอกจากนี้ฉันต้องการ eigendecomposition เต็ม ขณะนี้ฉันเพิ่งเรียกอีเจนซอลเวอร์ทั่วไปของLapack แต่ฉันสงสัยว่ามีวิธีที่ดีกว่าสำหรับปัญหาที่มีโครงสร้างสูงนี้โดยเฉพาะหรือไม่ โดยเฉพาะอย่างยิ่งการมีโค้ดที่ใช้ได้อย่างอิสระ (C ++) จะดีที่สุดAx=λBxAx=λBxAx = \lambda BxAAABBBBBBAAAZGGEV

3
SVD สำหรับการหาค่าลักษณะเฉพาะที่ใหญ่ที่สุดของเมทริกซ์ 50x50 - ฉันต้องเสียเวลาอย่างมากหรือไม่?
ฉันมีโปรแกรมที่คำนวณค่าลักษณะเฉพาะที่ใหญ่ที่สุดของเมทริกซ์ 50x50 ที่สมมาตรจริงหลายตัวด้วยการสลายตัวแบบเอกฐานกับพวกมันทั้งหมด SVD เป็นคอขวดในโปรแกรม มีอัลกอริทึมที่เร็วกว่ามากในการค้นหาค่าลักษณะเฉพาะที่ใหญ่ที่สุดหรือการเพิ่มประสิทธิภาพส่วนนี้จะไม่ให้ผลตอบแทนจากการลงทุนมากหรือไม่?

2
เป็นวิธีที่เร็วที่สุดในการคำนวณค่าลักษณะเฉพาะทั้งหมดของเมทริกซ์ adjacency ใหญ่และเบาบางในงูใหญ่คืออะไร?
ฉันพยายามที่จะคิดออกว่ามีวิธีที่เร็วกว่าในการคำนวณค่าลักษณะเฉพาะและ eigenvector ทั้งหมดของเมทริกซ์ adjacency ขนาดใหญ่มากและกระจัดกระจายกว่าการใช้ scipy.sparse.linalg.eigsh เท่าที่ฉันรู้วิธีการนี้ใช้เพียงการกระจายและ คุณลักษณะสมมาตรของเมทริกซ์ เมทริกซ์คำวิเศษณ์เป็นเลขฐานสองสิ่งที่ทำให้ฉันคิดว่ามีวิธีที่เร็วกว่าที่จะทำ ฉันสร้างเมทริกซ์ adjacency แบบสุ่มขนาด 1000x1000 และเปรียบเทียบระหว่างหลายวิธีในแล็ปท็อป x230 ubuntu 13.04 ของฉัน: scipy.sparse.linalg.eigs: 0.65 วินาที scipy.sparse.linalg.eigsh: 0.44 วินาที scipy.linalg.eig: 6.09 วินาที scipy.linalg.eigh: 1.60 วินาที ด้วยการกระจัดกระจาย eigs และ eigsh ฉันตั้ง k จำนวนค่าลักษณะเฉพาะและ eigenvectors ที่ต้องการให้เป็นอันดับของเมทริกซ์ ปัญหาเริ่มต้นด้วยเมทริกซ์ที่ใหญ่กว่า - บนเมทริกซ์ 9000x9000 ใช้เวลา scipy.sparse.linalg.eigsh 45 นาที!

1
ค่าลักษณะเฉพาะที่เล็กที่สุดโดยไม่ผกผัน
สมมติว่าA∈Rn×nA∈Rn×nA\in\mathbb{R}^{n\times n}เป็นเมทริกซ์สมมาตรเชิงบวกแน่นอน AAAใหญ่พอที่จะแก้ปัญหาAx=bAx=bAx=bได้โดยตรง มีอัลกอริทึมซ้ำสำหรับการหาค่าลักษณะเฉพาะที่เล็กที่สุดของAAAที่ไม่เกี่ยวข้องกับการกลับAAAในแต่ละการวนซ้ำหรือไม่? นั่นคือฉันจะต้องใช้อัลกอริทึมซ้ำเช่นการไล่ระดับสีแบบคอนจูเกตเพื่อแก้Ax=bAx=bAx=bดังนั้นการใช้ซ้ำหลายครั้งA−1A−1A^{-1}ดูเหมือนว่า "วงใน" ที่มีราคาแพง ฉันต้องการไอเกนิคตัวเดียว ขอบคุณ!

3
อัลกอริทึมแบบขนานสำหรับระบบ eigensystem ของเมทริกซ์สามเหลี่ยม
ฉันกำลังทำเส้นทแยงมุม Lanczos ของเมทริกซ์กระจัดกระจายขนาดใหญ่ (ประมาณ 2 ล้านองค์ประกอบ) เกือบทุกขั้นตอนในอัลกอริธึม Lanzcos ทำขนานกับ GPU ยกเว้น diagonalizing Lanczos matrix เพื่อตรวจสอบลู่เข้า เพื่อที่ฉันได้ใช้อัลกอริทึม TQLI จากสูตรตัวเลข มีวิธีในการค้นหาระบบ eigensystem ของเมทริกซ์ tridiagonal ที่ขนานหรือขนานได้ง่ายหรือไม่? TQLI รุ่นขนานมีอยู่จริงหรือไม่?

4
การค้นหาสแควร์รูทของเมทริกซ์ Laplacian
สมมติว่าเมทริกซ์ต่อไปจะได้รับ [ 0.500 - 0.333 - ภายในเวลา 0.167 - 0.500 0.667 - ภายในเวลา 0.167 - 0.500 - 0.333 0.833 ] กับ transpose ของT ผลิตภัณฑ์A T A = Gให้ผลตอบแทน [ 0.750 - 0.334 - 0.417 - 0.334 0.667 - 0.333 - 0.417 - 0.333 0.750 ] ,AAA⎡⎣⎢0.500−0.500−0.500−0.3330.667−0.333−0.167−0.1670.833⎤⎦⎥[0.500−0.333−0.167−0.5000.667−0.167−0.500−0.3330.833] \left[\begin{array}{ccc} 0.500 & -0.333 …

1
ปัญหาเบนช์มาร์กสำหรับอัลกอริทึมการเรียงลำดับใหม่ของค่าเฉพาะ
ทุกคนจริงเมทริกซ์สามารถลดลงในฟอร์ม Schur จริงT = U T Uใช้มุมฉาก similiary เปลี่ยนU เมทริกซ์Tนี่คือรูปแบบกึ่งสามเหลี่ยมโดยมี 1 คูณ 1 หรือ 2 คูณ 2 บล็อกบนเส้นทแยงมุมหลัก แต่ละบล็อก 1 ต่อ 1 สอดคล้องกับค่าลักษณะเฉพาะที่แท้จริงของAและแต่ละบล็อก 2 ต่อ 2 สอดคล้องกับคู่ค่าลักษณะเชิงสังยุคที่ซับซ้อนของAAAAT= UTUT=UTAUT = U^T A UยูUUTTTAAAAAA ปัญหาการจัดเรียงใหม่ eigenvalue ประกอบด้วยการหาฉากการเปลี่ยนแปลงความคล้ายคลึงกันดังกล่าวว่าการเลือกค่าลักษณะเฉพาะของผู้ใช้ปรากฏตามเส้นทแยงมุมของมุมซ้ายบนของS = V T T VVVVAAAS=VTTVS=VTTVS = V^T T V ใน LAPACK รูทีนความแม่นยำสองเท่าที่เกี่ยวข้องที่เรียกว่า DTRSEN Daniel Kressner …

2
เส้นทแยงมุมของเมทริกซ์ปรับสภาพที่ป่วยหนัก
ฉันกำลังพยายามที่จะทำให้เมทริกซ์ที่มีความหนาแน่นและไม่มีเงื่อนไขอยู่ในแนวทแยง ในความแม่นยำของเครื่องผลลัพธ์จะไม่ถูกต้อง (คืนค่าลักษณะลบที่เป็นลบ eigenvector ไม่มีความสมมาตรที่คาดหวัง) ฉันเปลี่ยนไปใช้ฟังก์ชัน Eigensystem [] ของ Mathematica เพื่อใช้ประโยชน์จากความแม่นยำโดยพลการ แต่การคำนวณช้ามาก ฉันเปิดให้โซลูชั่นจำนวนมาก มีแพ็คเกจ / อัลกอริทึมที่เหมาะสมกับปัญหาที่ไม่ดีหรือไม่? ฉันไม่ใช่ผู้เชี่ยวชาญเรื่องการปรับสภาพล่วงหน้าดังนั้นฉันจึงไม่แน่ใจว่าจะสามารถช่วยได้มากแค่ไหน ไม่อย่างนั้นทั้งหมดที่ฉันสามารถนึกได้ก็คือตัวแก้ค่าแบบเฉพาะเจาะจงที่มีความแม่นยำแบบขนาน เพื่อให้พื้นหลังเกี่ยวกับปัญหาเมทริกซ์มีขนาดใหญ่ แต่ไม่ใหญ่มาก (4096x4096 ถึง 32768x32768 มากที่สุด) พวกเขาเป็นจริงสมมาตรและค่าลักษณะเฉพาะถูกล้อมรอบระหว่าง 0 และ 1 (พิเศษ) โดยที่ค่าลักษณะเฉพาะจำนวนมากอยู่ใกล้กับ 0 และไม่มีใครใกล้กับ 1 เมทริกซ์เป็นตัวดำเนินการสังวัตนา ฉันไม่ต้องการทำให้เมทริกซ์ของฉันเป็นเส้นทแยงมุม แต่ยิ่งฉันไปได้มากเท่าไหร่ ฉันสามารถเข้าถึงกลุ่มคอมพิวเตอร์ที่มีโปรเซสเซอร์จำนวนมากและความสามารถในการคำนวณแบบกระจาย ขอบคุณ

2
วิธีที่มีประสิทธิภาพมากที่สุดในการคำนวณค่า eigenvector ของเมทริกซ์หนาแน่นที่สอดคล้องกับค่าลักษณะเฉพาะที่มีขนาดใหญ่ที่สุดคืออะไร
ฉันมีเมทริกซ์จตุรัสสมมาตรจริงหนาแน่น ขนาดประมาณ 1,000x1000 ฉันต้องคำนวณส่วนประกอบหลักตัวแรกและสงสัยว่าอัลกอริธึมที่ดีที่สุดในการทำสิ่งนี้อาจเป็นอย่างไร ดูเหมือนว่า MATLAB จะใช้อัลกอริทึมArnoldi / Lanczos (สำหรับeigs) แต่จากการอ่านเกี่ยวกับพวกเขาฉันไม่แน่ใจว่าพวกเขามีข้อได้เปรียบมากกว่าการทำซ้ำพลังแบบเรียบง่ายหรือไม่เนื่องจากเมทริกซ์ของฉันไม่กระจัดกระจายและฉันสนใจเฉพาะไอเกนแรกเท่านั้น คำแนะนำใด ๆ ที่เป็นอัลกอริธึมที่เร็วที่สุดในกรณีนี้?

1
การใช้วิธี Jacobi-Davidson สำหรับปัญหาลูกบาศก์ค่าลักษณะเฉพาะ
ฉันมีปัญหาค่า eigenvalue ขนาดใหญ่: (A0+ λA1+λ2A2+λ3A3) x =0(A0+λA1+λ2A2+λ3A3)x=0.\left(\mathbf{A}_0 + \lambda\mathbf{A}_1 + \lambda^2\mathbf{A}_2 + \lambda^3\mathbf{A}_3\right)\mathbf{x} = 0. ฉันสามารถแก้ปัญหานี้ได้โดยการแปลงเป็นปัญหาค่าลักษณะเชิงเส้น แต่มันจะส่งผลให้ระบบ 32323^2 มีขนาดใหญ่: ⎡⎣⎢-A0000ผม000ผม⎤⎦⎥⎡⎣⎢xYZ⎤⎦⎥= λ⎡⎣⎢A1ผม0A20ผมA300⎤⎦⎥⎡⎣⎢xYZ⎤⎦⎥,[−A0000I000I][xyz]=λ[A1A2A3I000I0][xyz],\begin{bmatrix} -\mathbf{A}_0 & 0 & 0 \\ 0 & \mathbf{I} & 0 \\ 0 & 0 & \mathbf{I} \end{bmatrix} \begin{bmatrix} \mathbf{x} \\ \mathbf{y} \\ \mathbf{z} \end{bmatrix} = \lambda \begin{bmatrix} \mathbf{A}_1 …

2
วิธีที่เร็วที่สุดในการค้นหา eigenpairs ของเมทริกซ์แบบไม่สมมาตรขนาดเล็กบน GPU ในหน่วยความจำที่ใช้ร่วมกัน
ฉันมีปัญหาที่ฉันต้องการค้นหาค่าบวกทั้งหมด (ในค่า eigenvalue เป็นค่าบวก) eigenpairs ของเมทริกซ์แบบไม่สมมาตรขนาดเล็ก (มักจะเล็กกว่า 60x60) ฉันสามารถหยุดการคำนวณเมื่อค่าลักษณะเฉพาะมีขนาดเล็กกว่าเกณฑ์ที่กำหนด ฉันรู้ว่าค่าลักษณะเฉพาะเป็นของจริง คำแนะนำเกี่ยวกับอัลกอริทึมที่ฉันสามารถใช้เพื่อพยายามบีบประสิทธิภาพที่ดีที่สุดออกมา? ฉันต้องทำการย่อยสลายหลายพันครั้งดังนั้นความเร็วจึงสำคัญ ขอบคุณล่วงหน้า. แก้ไข: ฉันต้องทำสิ่งนี้กับ GPU ในหน่วยความจำที่ใช้ร่วมกัน เมทริกซ์นั้นไม่จำเป็นต้องมีขนาดเท่ากัน ฉันไม่ทราบว่ามีห้องสมุดใดที่ทำสิ่งนี้ในขณะนี้ ข้อเสนอแนะของอัลกอริทึมที่เหมาะสมกับปัญหาจะได้รับการชื่นชม

2
มีข้อสรุปทั่วไปของกฎหมายความเฉื่อยของซิลเวสเตอร์สำหรับปัญหาค่าลักษณะเฉพาะทั่วไปที่สมมาตรหรือไม่?
ฉันรู้ว่าเพื่อที่จะแก้ปัญหาค่าลักษณะเฉพาะแบบสมมาตร Ax=λxAx=λxAx = \lambda xเราสามารถใช้กฎหมายความเฉื่อยของซิลเวสเตอร์นั่นคือจำนวนค่าลักษณะเฉพาะของ AAA น้อยกว่า aaa เท่ากับจำนวนรายการเชิงลบของ DDD เมทริกซ์แนวทแยง DDD มาจากการแยกตัวประกอบของ LDL A−aI=LDLTA−aI=LDLTA-aI = LDL^{T}. จากนั้นโดยวิธีการแบ่งครึ่งเราสามารถหาค่าลักษณะทั้งหมดหรือบางค่าได้ตามต้องการ ฉันต้องการที่จะรู้ว่าถ้ามีข้อสรุปทั่วไปของกฎหมายความเฉื่อยของซิลเวสเตอร์สำหรับปัญหาค่าลักษณะเฉพาะทั่วไปที่สมมาตรนั่นคือการแก้ปัญหาAx=λBxAx=λBxAx= \lambda Bxที่ไหน AAA และ BBBเป็นเมทริกซ์สมมาตร ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.