2013-09-07 4 views
0

나는 힐베르트 공간의 차원이 상당히 큰 (~ 50k) Fermion과 Boson Hubbard Model을 연구 중이다. 현재 Lapack 루틴 DSYEV을 사용하여 큰 (50k x 50k) 해밀 토니안 행렬의 고유 값 & 고유 함수를 결정하지만 Xeon 워크 스테이션에서 약 8 시간이 걸립니다.크고 희소 한 행렬의 고유 값 찾기

이 특정 컴퓨터에서이 런타임을 줄이고 싶습니다. Lanczos method을보고 있는데 이것이 최선의 선택인지 또는 다른 선택이 있는지 궁금합니다.

+1

이 질문은 너무 일반적이고 개방적이며 StackOverflow의 형식이 모호합니다. SO는 질문 및 답변 리소스이며 토론 포럼이 아닙니다. 질문은 구체적이어야하며 확실한 답을 찾아야합니다. 이 형식에 대한 효과적인 질문을하는 방법에 대한 조언은 다음 페이지를 읽어보십시오. - SO의 도움말에서 : http://stackoverflow.com/help/how-to-ask SO의 모든 시간 최고 응답자 : http : // msmvps. co.kr/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx –

+0

나는 다음 번에 이것을 명심 할 것입니다 ... – mpk

답변

0

극한 (작은/큰) 고유 값을 계산하기 위해 Lanczos (또는 다른 반복적 인) 방법이 사용됩니다. 시스템 크기 (50k)보다 훨씬 작은 eigenvalues와 eigenfunctions가 필요한 경우 직접 DSYEV보다 좋습니다. 특히 가지고있는 매트릭스가 희소하면 가속도가 훨씬 좋아집니다.

모든 고유 값을 찾고 매트릭스가 밀도가 높은 경우 더 좋은 방법은 직접 DSYEV입니다.