임의의 정밀도 대각화 속도의 비망록

의 목적


임의의 정밀도 연산을 사용하여 대각화된 mpmath(pythn)와 Mathematica는 대각화에 필요한 시간을 측정하여 비망록으로 보존한다.

평가 방법


평가의 행렬은 1차원 하미턴량이다
$$ H = p^2/2 + q^4/2 $$
고조파 발진기 기Hermite 행렬.
행렬 원소는 100비트 정밀도로 구성되어 있다
  • mpmath의 eigh
  • Mathematica 및 Eigensystem
  • 자원을 이용하다.

    결실


    Mathematica는 10배 정도 빠르다.
    diag time.png

    과제.


    다차원적으로는 약 10^4\times10^4$m의 행렬을 평가해야 하기 때문에 마테마틱스는 40일이 걸린다.
    나는 lapack을 여러 배로 확장하는 mpack을 사용하고 싶다.

    추기


    mpack install 을 몇 시간 동안 만졌다.
    속도를 평가해 보충 기록으로 삼았다.
    대각 행렬은 대칭 집행열이다
    $a_{i,i}=i$, $a_{i+1,j}=i$, $a_{i, j+1} = i$이외에 0 요소가 있는 실제 대칭 행렬을 사용합니다.
    mathematica와 mpack의 Rsyev 루틴을 비교합니다.
    그 결과 mpack은 마테마틱보다 10배 정도 빨랐다.

    엘미의 경우 아직 평가를 하지 않았는데, 마테마틱스보다 10배가량 빠르면 달러10^4\times10^4달러의 대각화가 4일 안에 끝난다.
    이것은 사람을 매우 기대하게 하지 않을 수 없다.
    하지만 우선 mpack을 사용하는 것을 배워야 한다.

    좋은 웹페이지 즐겨찾기