2013-08-28 4 views
0

최대 N = 10^7 x N = 10^7 행렬을 처리 중입니다. 0이 아닌 요소의 수는 약 6 x N입니다. (이러한 요소는 대각선으로 그룹화됩니다.) 내 RAM에는 16 Gbt 크기가 있습니다. 그래서 명확하게 희박한 행렬 솔버가 필요합니다. 나는 Ubuntu LINUX를 실행하고 fortran90 (gfortran)을 사용한다. 정확히 말하면 ratfor90을 사용한다.f90에 대한 희소 행렬 솔버

나는 LAPACK을 가지고 있지만, 희소 행렬 해결을 지원하지 않는 것 같습니다. (내가 잘못 했나요?) MATLAB은 훌륭해야하지만 익숙해지기까지 많은 시간을 보내고 싶지는 않습니다. 시간이 촉박 해. 나는 오래된/황금 slatec 설치하고 사양에 사용합니다. 기능; 그것이 희소 매트릭스 기수를 가지고 있습니까?

나는 ARPACK에 대해 듣고 있지만 일반 솔버로 사용할 수 있습니까? gfortran에서 호출 할 수 있습니까?

다른 제안 사항이 있습니까?

감사합니다. - 알렉스

답변

0

당신이 옳습니다. Lapack은이 문제에 적용 할 수 없습니다.

직접 스파 스 솔버는 MUMPS, UMFPACK, SuperLU 라이브러리에서 제공됩니다. 또한 PETSc는 많은 정보를 찾을 수있는 라이브러리 모음입니다.

이러한 모든 라이브러리에서 사용할 수있는 우분투 패키지를 찾을 수 있습니다.

+0

감사합니다. 적어도 그들 중 몇 명을 시도 할 것입니다. - Alex –

0

ARPACK은 고유 값 문제를 해결하는 패키지이지만 자체적으로는 해결자가 아닙니다. 16Gb에서 문제를 해결할 수 있는지 확신하지 못합니다. freefem을 살펴 보는 것이 좋습니다 ++

+0

comment.freefem을 주셔서 감사합니다. PDF 해결을위한 훌륭한 패키지 인 것처럼 보입니다. 그러나 그것은 단지 희소 매트릭스를 해결하기 위해 과잉으로 보입니다 ... –