PETSc를 사용하여 큰 희소 행렬의 조건 수를 어떻게 추정 할 수 있습니까?


답변:


11

작은 행렬의 경우 특이 값 분해를 사용하여 조건 번호를 안정적으로 계산할 수 있습니다. 를 수행 KSPSolve()와 매트릭스와 실행으로 -pc_type svd -pc_svd_monitor.

더 큰 행렬의 경우 Krylov 방법을 사용하여 조건 수를 추정 할 수 있습니다. 예를 들어, GMRES에 의해 수행 된 Arnoldi 반복은 Hessenberg 분해를 증분 계산합니다. Hessenberg 행렬의 극한 특이 값과 고유 값은 원래 행렬의 근사값과 근사값입니다. PETSc가 이런 식으로 고유 값을 추정하도록하려면

-ksp_monitor_singular_value -ksp_type gmres -ksp_gmres_restart 1000 -pc_type none

-pc_type noneP1AAP1

KSPSolve()AA1

가장 작은 특이 값에 대한보다 정확한 추정치가 필요한 경우 (및 다른 모든 고유 값 및 특이 값 문제에 대해) SLEPc를 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.