0

Matlab에서 polyeig 명령을 사용하여 Matlab에서 2 차 주문의 다항식 고유 값 문제를 해결했습니다. 나는 시스템이 단일 0 고유치를 갖는다는 것을 알고있다. (이것은 0 계수 행렬의 형태에 기인한다. 각 대각선 요소는 벡터의 동일한 행에있는 요소의 합을 -1 배로하여 1 1 1 ... 1)는 0 고유치를 가짐). I는 I 얻을 최소 고유치 주문 1E-4 (0 고유치 될 예정 임)의 인 polyeig 명령을 사용하여 두 번째로 낮은가의 경우 시스템Matlab에서 polyeig의 정밀도 향상하기

크기 150 150 이고 주문 1E-1. 시스템 크기가 감소함에 따라 가장 낮은 고유치가 1E-14의 순서로 감소하지만 이는 합리적이지만 1E-4가 너무 많습니다.

더 나은 정확도 또는 제안 할 다른 라이브러리를 얻을 수 있습니까? 다항식 고유 값 문제를 고차원 (주어진 차원의 2 배)에서 일반화 된 고유치 문제로 바꿀 수도 있지만 속도와 정확성에 어떤 영향을 미치는지 확실하지 않습니다. 문제를 재구성하기 전에 간단한 해결책이 있는지 알고 싶습니다. 그래서 나는이 문제들에 대한 어떤 제안도 환영 할 것이다.

EDIT : 문제는 실제로 최대 4 자리 숫자로만 인쇄 된 INPUT 파일의 정밀도와 관련되어 해결되었습니다. 더 좋은 것들을 발견하면 정밀도가 높아졌습니다. 어쨌든 고마워요.

+0

잘 했어! 자주 StackOverflow에 대한 자세한 질문을 작성하면 문제를 찾을 수 있습니다. 솔루션을 답변으로 게시하고 동의 할 수 있습니까? –

답변

0

사용중인 입력 파일에 문제가있는 것으로 밝혀졌으며 최대 4 개의 소수점까지만 인쇄되었습니다. 이제 행렬이 800x800 인 경우에도 e-11까지만 정확도 문제가 발생합니다.