Polynomial eigenvalue problems as linear eigenvalue problems and function 'polyeig'
6 ビュー (過去 30 日間)
古いコメントを表示
Dear all,
I have a rather simple fundamental question regarding the function 'polyeig' for the solution of polynomial eigenvalue problems. This function requires the use of full matrices. Since polynomial eigenvalue problems can be formulated as linear eigenvalue problems, it would be great to exploit the sparsity of the matrices at hand - in my case matrices are big (20000x20000) and sparse.
Is there a built-in way to solve polynomial eigenvalue problems by using just sparse matrices?
Best wishes,
Domenico Tallarico
0 件のコメント
採用された回答
Chidvi Modala
2020 年 1 月 23 日
You can use eigs function to calculate the eigenvectors of a sparse matrix, or to calculate the eigenvalues of a sparse matrix that is not real and symmetric.
But there is no built-in way of solving polynomial eigenvalue problem using sparse matrices in MATLAB.
Since polyeig is written in MATLAB code, you can use "edit polyeig" command and copy and modify that code to allow for sparse inputs (e.g., replace eye(np) with speye(np) and zeros(nB) with sparse(nB, nB)). The call to eig on the two "big matrices" A and B for the dense case would become a call to eigs with the sparse matrices A and B, this would only compute a range of the eigenvalues, and the rest of the code would need to be modified to loop over that range of eigenvalues, instead of looping over all eigenvalues as it currently does.
3 件のコメント
Steven Lord
2020 年 1 月 23 日
DON'T edit the built-in polyeig function. If you want to use it as the basis for your own sparse polynomial eigenvalue problem solver, make a copy of polyeig.m under a new name in a directory that is on the MATLAB path but not under matlabroot and edit that copy.
Sansit Patnaik
2022 年 4 月 26 日
I am curious if you were able to solve the problem. I am trying to find the first few eigenvalues of a large (8000X8000) polynomial system and I was unable to edit the polyeig code successfully to allow for sparse matrices.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Operating on Diagonal Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!