필터 지우기
필터 지우기

Polynomial eigenvalue problems as linear eigenvalue problems and function 'polyeig'

조회 수: 10 (최근 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

채택된 답변

Chidvi Modala
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
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
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 CenterFile Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by