I want to calculate the eigenvalues form the very huge sparse mass and stiffness matrix.

조회 수: 4 (최근 30일)
I have mass and stiffness matrix in sparse format since the size of the matrix is too big.
I want to claculate the eigenvalues from them in the sparse format only. How to do so?
  댓글 수: 2
Steven Lord
Steven Lord 2024년 6월 20일
How big is "too big"?
How many of the eigenvalues do you want to compute?
HIMANSHU
HIMANSHU 2024년 6월 24일
It is a square matrix with 3 lakh rows.
I need eigenvalue which has positive real part.

댓글을 달려면 로그인하십시오.

채택된 답변

Aquatris
Aquatris 2024년 6월 20일
편집: Aquatris 2024년 6월 20일
If eig() function is taking too long, you can use eigs() function.
Example from mathworks eigs() site:
A = delsq(numgrid('C',15));
size(A)
ans = 1x2
139 139
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
eigs(A)' % by default 6 largest eigenvalues
ans = 1x6
7.8666 7.7324 7.6531 7.5213 7.4480 7.3517
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
eigs(A,20)' % optional argument to define how many eigenvalues you want
ans = 1x20
7.8666 7.7324 7.6531 7.5213 7.4480 7.3517 7.2848 7.1478 7.1093 7.0644 6.9295 6.8257 6.7737 6.7395 6.6472 6.5914 6.4252 6.4118 6.3598 6.3196
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
eigs(A,5,'smallestabs')' % optional argument to get the smallest eigenvalues instead
ans = 1x5
0.1334 0.2676 0.3469 0.4787 0.5520
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by