LOBPCG

LOBPCG

국소 최적 블록 전제 조건 결합 그라데이션(LOBPCG)은 가장 큰(또는 가장 작은) 고유값과 대칭 일반화된 고유값 문제의 해당 고유 벡터를 찾기 위한 매트릭스 없는 방법이다.

복잡한 은둔자나 실제 대칭 행렬의 주어진 쌍, ) (에 대해, 여기서 행렬 도 양-확정성이 있다고 가정한다.null

배경

Kantorovich in 1948 proposed calculating the smallest eigenvalue of a symmetric matrix by steepest descent using a direction of a scaled gradient of a Rayleigh quotient in a scalar product , with the step size computed by minimizing the Rayleigh quotient in the linear span of the vectors and , i.e. in a locally optimal manner.사모키쉬는[1] T {\ t을(를) 잔류 r 에 적용하여 x 이(가) 고유 벡터인 수렴률 한계치에 접근함에 따라 사전조건이 없는 방향을 할것을 했다.디야코노프는 스펙터클하게 동등한 전제조건과 파생된 비아세틱 융합률 한계를 제안했다[2].고유치 문제에 대한 국지적으로 최적의 다단계 급강하 블록에 대해 설명하였다.[3]현재 근사치, 현재 잔차 및 이전 근사치 및 블록 버전에 의해 확장된 아공간에서 Rayleigh 지수의 국소적 최소화가 에 나타났다.[4]전제된 버전은 및 에서 분석되었다.[6]null

주요 특징[7]

  • 매트릭스 프리(Matrix free), 즉 계수 매트릭스를 명시적으로 저장할 필요는 없지만 매트릭스 벡터 제품을 평가하여 매트릭스에 액세스할 수 있다.
  • 인자화-무요인 즉, 일반화된 고유값 문제에도 행렬 분해는 필요하지 않다.
  • 반복당 비용과 메모리 사용은 대칭 매트릭스의 단일 극한 고유값을 계산하는 Lanczos 방법의 그것들과 경쟁적이다.
  • 선형 수렴은 이론적으로 보장되고 실제로 관찰된다.
  • Lanczos 방법과는 대조적으로, 직접 전제조건으로 인한 가속화된 수렴(변수 및 비대칭성, 고정 및 양의 확정 전제조건 포함.
  • 전제조건을 통한 효율적인 도메인 분해 및 다중 계층 기법의 사소한 결합을 허용한다.
  • 웜은 모든 반복에서 고유 벡터에 대한 근사를 시작하고 계산한다.
  • 란초스 방식에 비해 수치적으로 안정성이 높으며, 정밀도가 낮은 컴퓨터 산술로 동작할 수 있다.
  • 구현하기 쉬우며, 이미 여러 버전이 나타났다.
  • 차단은 예를 들어 BLAS 3과 같은 고효율 매트릭스 작업을 활용할 수 있다.
  • 블록 크기는 직교 컴퓨터 비용과 모든 반복에서 Rayleigh-Ritz 방법의 균형을 맞추도록 조정될 수 있다.

알고리즘.

단일 벡터 버전

예심: 고유값 문제에 대한 구배 강하

이 방법은 일반화된 Rayleigh 지수의 반복 최대화(또는 최소화)를 수행한다.

x = B .의 가장 큰(또는 가장 작은) 고유점을 찾을 수 있다

일반화된 레일리 지수의 경사인 가장 가파른 상승 방향은 벡터에 양적으로 비례한다.

고유 벡터 잔차라고 한다.전제조건 을(를) 사용할 수 있는 경우 잔차에 적용하고 벡터를 부여한다.

전제 조건의 잔류라고 한다.전제조건 없이 I 등 . 반복법

아니면 간단히 말해서

사전 지정된 가장 가파른 상승(또는 하강)으로 알려져 있으며, 스칼라 i \ \ \ ^ 을 단계 크기라고 한다.최적의 스텝 크기는 Rayleigh 지수(즉, Rayleigh 지수)를 최대화하여 결정할 수 있다.

(또는 최소화할 {\min }) 이 경우 이 방법을 로컬 최적이라고 한다.null

3기재발

국지적으로 최적의 전제 조건인 가장 가파른 상승(또는 하강)의 수렴을 극적으로 가속화하기 위해, 2개월의 반복 관계에 하나의 벡터를 추가하여 3개월로 만들 수 있다.

(최소화할 경우 을(를) 사용하십시오.)3차원 아공간에서 Rayleigh 지수의 최대화/최소화는 Rayleigh-Ritz 방법에 의해 수치적으로 수행될 수 있다.예를 들어 리처드슨 외삽과 같은 벡터를 더 추가하면 상당한 가속이[8] 발생하지 않지만 계산 비용이 증가하므로 일반적으로 권장되지는 않는다.null

수치 안정성 향상

반복이 수렴됨에 따라 벡터 와 - 1 x는 거의 선형 종속적이 되어 정밀 손실이 발생하고 반올림 오류가 있는 경우 Rayleigh-Ritz 방법이 수치적으로 불안정해진다.3차원 아공간 p { , w , , x i, , x- 1 }에 근거하여 i 와 더 멀리 떨어져 있을 수 있는 벡터 - 1{\displaystystyle spi1}로 대체함으로써 정밀도의 손실을 피할 수 있다.을(를)[8] 변경하지 않고 직교 또는 기타 추가 작업을 피하면서또한, 3차원 아공간 기초의 직교화는 안정성과 달성 가능한 정확도를 향상시키기 위해 잘못된 조건의 고유값 문제에 필요할 수 있다.null

크릴로프 아공간 아날로그

이것은 LOBPCG 방법의 단일 벡터 버전이며, 대칭 고유값 문제의 경우 사전 정의된 결합 구배 선형 솔버를 일반화할 수 있는 방법 중 하나이다.[8]사소한 경우 = I 및 = 의 결과 근사치는 모두 동일한 Krylov 하위 공간에 속하지만 Lanczos 알고리즘에서 얻은 근사치와는 다를 것이다.null

실제 사용 시나리오

단일 벡터 버전의 LOBPCG는 극도로 단순하고 높은 효율성으로, 임베디드 ASIC 또는 FPGA의 그래프 파티셔닝을 통한 스펙트럼 클러스터링 기반 실시간 이상 검출부터 e의 기록 컴퓨팅 복잡성의 물리적 현상 모델링 등 심각한 하드웨어 제한 하에서 고유값 관련 애플리케이션에 매력적이다.xascale TOP500 슈퍼컴퓨터.null

블록 버전

요약

후속 고유점은 직교 감압으로 보완되거나 동시에 블록으로 보완되는 단일 벡터 LOBPCG를 통해 일대일 계산이 가능하다.이전 접근법에서는 이미 계산된 근사치 고유 벡터의 부정확성은 후속 계산된 고유 벡터의 정확도에 추가적으로 영향을 미치며, 따라서 모든 새로운 계산에서 오류를 증가시킨다.블록 버전의 LOBPCG에서 국소적으로 최적의 방식으로 블록에 몇 개의 대략적인 고유 벡터를 함께 반복하면 단일 벡터 LOBPCG가 느린 수렴으로 인해 발생하는 거의 다중의 고유값에 해당하는 고유 벡터를 포함하여 고유 벡터의 빠르고 정확하고 강력한 연산이 가능하다.[8]블록 크기는 모든 반복에서 수치 안정성 대 수렴 속도 대 직교화의 컴퓨터 비용 대 Rayleigh-Ritz 방법의 균형을 맞추도록 조정할 수 있다.null

코어 설계

The block approach in LOBPCG replaces single-vectors and with block-vectors, i.e. matrices and , where, e.g., every column of 는 고유 벡터 중 하나에 근사하다.All columns are iterated simultaneously, and the next matrix of approximate eigenvectors is determined by the Rayleigh–Ritz method on the subspace spanned by all columns of matrices and . Each column of 은(는) i {\i}의 모든 열에 대한 사전 정의된 잔차로서 단순하게 계산된다. The matrix is determined such that the subspaces spanned by the columns of and of are the same.null

수치 안정성 대 효율성

방법의 결과는 이론적으로 임의적일 수 있는 행렬 i i, ^{ 및 {\의 모든 열에 의해 확장되는 하위 공간에 의해 결정된다그러나, 부정확한 컴퓨터 산술에서 Rayleigh-Ritz 방법은 기본 벡터 중 일부가 근사적으로 선형 의존적인 경우 수적으로 불안정해진다.예를 들어, 반복 블록의 고유 벡터 중 일부가 주어진 컴퓨터 정밀도에 대해 이미 달성할 수 있는 정밀도에 도달했으며 특히 낮은 정밀도(예: 단일 정밀도)에서 두드러진 경우 수학적 불안정성이 발생한다.null

LOBPCG의 다중 상이한 구현 기술은 하위 공간의 좋은 기초를 선택함으로써 최소한의 컴퓨팅 비용으로 Rayleigh-Ritz 방식의 수치 안정성을 보장하는 것이다.예를 들어 Gram-Schmidt 공정에 의해 기초 벡터를 직교시키는 가장 안정적인 접근법 또한 가장 비싼 계산법이다.예를 들어, LOBPCG 구현은 전체 하위공간이 아닌 개별 매트릭스 i {\ W와 {\ P에서만 수행되는 정상 매트릭스의 불안정하지만 효율적인 Cholesky 분해를 활용한다.[9][10]컴퓨터 메모리의 양이 지속적으로 증가함에 따라 직교 및 Rayleigh-Ritz 방법에 대한 컴퓨팅 시간 소비의 비율이 지배하기 시작하는 10 - 4 범위에서 오늘날 일반적인 블록 크기가 허용된다.null

이전에 융합된 고유 벡터 잠금

하위 공간을 반복하는 고유값 문제에 대한 블록 방법은 불필요한 계산을 제거하고 수치 안정성을 개선하기 위해 이미 융합된 고유 벡터를 잠그는 동기, 즉 이미 융합된 고유 벡터를 반복 루프에서 제거하는 동기보다 일부 반복 고유 벡터를 더 빨리 수렴한다.고유 벡터를 단순하게 제거하면 여전히 반복 벡터에 중복이 형성될 수 있다.대칭 고유값 문제의 고유 벡터가 쌍방향 직교라는 사실은 모든 반복 벡터가 잠긴 벡터와 직교하도록 유지함을 시사한다.null

잠금 장치는 계산 비용을 최소화하면서 수치 정확도와 안정성을 유지하도록 다르게 구현될 수 있다.예를 들어, LOBPCG, i.e.이 그 잠겨진 값 암호를 입력으로 개발하고 잠겨진 벡터, 하지만, 완전히 participa은 나머지 컴퓨팅의 일반적으로 가장 비싼 반복 단계에 참여하지 않는다 부드러운 잠금에서 변하지 않아 서브 제한에 의한 디플레이션 follow,[8][11]를 분리하기 힘든 잠금 implementations,[9][10].기의 레이leigh—Ritz 방법. 따라서 Rayleigh—Ritz 방법에 의해 변경될 수 있다.null

융합 이론과 실천

건설에 의한 LOBPCG는 종합 수렴 이론을 가지고 있는 블록의 가장 가파른 경사로 강하보다 느리지 않는 레일리 지수를 최소화할[8] 수 있다.모든 고유 벡터는 경사가 사라지는 레일리 지수의 정지점이다.따라서 어떤 고유 벡터 근처에서 경사도 강하 속도가 느려질 수 있지만, 선형 수렴 속도를 가진 고유 벡터로 수렴하거나, 이 고유 벡터가 안장 지점인 경우 반복적 Rayleigh 지수(반복적 레일리 지수)가 해당 고유값 아래로 떨어져 다음 고유값으로 선형 수렴을 시작할 가능성이 더 높다.아래의 고유값선형 수렴율의 최악의 값은 결정되었으며[8], 고유값과 나머지 행렬 스펙트럼 사이의 상대적 격차와 전제조건(있는 경우)의 품질에 따라 결정된다.null

일반 행렬의 경우 고유 벡터를 예측할 수 있는 방법이 없으므로 항상 잘 작동하는 초기 근사를 생성한다.LOBPCG에 의한 반복적 용액은 초기 고유 벡터 근사치에 민감할 수 있다. 예를 들어 중간 고유점을 통과할 때 속도가 느려지는 수렴에 시간이 더 걸릴 수 있다.더구나 이론상으로는 미스 확률이 0이지만, 반드시 가장 작은 고유파에 대한 수렴을 보장할 수는 없다.평균이 0인 좋은 품질의 임의 가우스 함수는 일반적으로 초기 근사를 생성하는 LOBPCG의 기본값이다.초기 근사치를 고정하려면 난수 생성기의 고정 시드를 선택할 수 있다.null

LOBPCG는 Lanczos 방법과는 대조적으로 실제로 점근성 초선형 수렴을 거의 보이지 않는다.null

부분 주성분 분석(PCA) 및 특이값 분해(SVD)

LOBPCG는 공분산 행렬 DDT, 즉 매트릭스 없는 방식으로 명시적으로 계산하지 않고 PCA의 반복 연산, 예를 들어 평균이 0인 데이터 매트릭스 D에 대해 몇 개의 가장 큰 단수 값과 그에 상응하는 단수 벡터(부분 SVD)를 계산하기 위해 사소한 방법으로 조정할 수 있다.주된 계산은 공분산 행렬 DD의 제품T DT(D X)와 원하는 단수 벡터에 근접한 블록 벡터 X의 함수의 평가다.PCA에는 공분산 행렬의 가장 큰 고유값이 필요한 반면, LOBPCG는 일반적으로 가장 작은 고유값을 계산하기 위해 구현된다.LOBPCG는 고유값 문제의 행렬이 양의 확정인지 여부에 상관하지 않기 때문에 간단한 해결책은 기능을 부정하고 DT(D X)를 D(DT X)로 대체하여 고유값의 순서를 거꾸로 하는 것이다.[9]null

PCA와 SVD를 위한 LOBPCG는 개정판 1.4.0 이후[12] SciPy에서 구현된다.

일반 소프트웨어 구현

LOBPCG의 발명가인 앤드류 Knyazev고 병렬 계층적 적응 MultiLevel 법(PHAML)[15] 다른 구현에서, 예를 들면 있다. 최적 Preconditioned 고유치 Xolvers PETSc, hypre에 인터페이스와(BLOPEX)[13][14] 참조 구현 블록 Locally 불리는 보고서를 출판해, GNUOctave,[16]MATLAB(포함으로 나눠 주거나. )배열 타일 ,[9]Java,[17] Anasazi (Trilinos),[18] SLEPc,[19][20] SciPy ,[10] Julia,[21] MAGMA,[22] Pytorch,[23] Rust,[24] OpenMP and OpenACC,[25] CuPy (A NumPy-compatible array library accelerated by CUDA),[26] and NVIDIA AMGX.[27] LOBPCG is implemented,[28] but not included, in TensorFlow.null

적용들

데이타미닝

소프트웨어 패키지는 스크킷러닝과 메가맨은[29] LOBPCG를 사용하여 라플라시안 고유맵을 통해 스펙트럼 클러스터링과[30] 다지관 학습을[31] 대형 데이터 세트로 확장한다.NVIDIA의 nvGRAPH 도서관 CUDA 8에 소개된. Sphynx,[33] 하이브리드 distributed-과 shared-memory-enabled 평행 그래프 partitioner-GPUs에 distributed-memory 설정에서 효과가 첫번째 그래프 분할 도구-그래프 분할을 위해,Laplacian 매트릭스에 값을 계산할 분광 클러스터링을 사용하여 LOBPCG implemented[32]다.의아나사지 패키지의 LOBPCG를 사용한 그래프.null

물질과학

LOBPCG는 ABINIT[34](CUDA 버전 포함)와 옥토퍼스에서 구현된다.[35]그것은 고든 벨상 최종 후보자들이 일본의 지구 시뮬레이터 슈퍼컴퓨터에서 수십억 개의 크기의 매트릭스에 사용하였다.[36][37]초전도성의 이면에 있는 메커니즘을 이해하기 위해 강하게 상관된 전자 시스템을 위한 허바드 모델은 LOBPCG를 사용하여 K 컴퓨터에서 해밀턴의 지상 상태를 계산한다.[38]Kohn-Sham 방정식용 LOBPCG의 MATLAB와[39] 줄리아[40][41] 버전이 있고, 평파 기준을 이용한 밀도 함수 이론(DFT)이 있다.최근의 구현에는 TTPY,[43] Platypus–QM,[44] MFDn,[45] ACE-Molecular,[46] LACONIC이 포함된다.[47]null

역학과 유체

BLOPEX의 LOBPCG는 개방형 유한요소 템플릿 라이브러리(Open FTL)와 다공성 매체 내 지하수 흐름, 용해 및 열 수송의 Flow123d 시뮬레이터에 통합된 제약조건(BDDC) 해결사 라이브러리 BDDCML에서 사전조건 설정에 사용된다.LS-DYNA에서 LOBPCG가 구현되었다[48].

맥스웰 방정식

LOBPCG는 PYFEMax 및 고성능 다중물리 유한요소 소프트웨어 Netgen/NGSolve의 핵심 고유값 해결사 중 하나이다.LOBPCG from hypre is incorporated into open source lightweight scalable C++ library for finite element methods MFEM, which is used in many projects, including BLAST, XBraid, VisIt, xSDK, the FASTMath institute in SciDAC, and the co-design Center for Efficient Exascale Discretizations (CEED) in the Exascale computing Project.null

데노이즈

반복 LOBPCG 기반 근사 저역 통과 필터를 사용해 변성할 수 있다. 예를 들어,[49] 전체 변이 변성 변성을 가속화할 수 있다.null

영상 분할

스펙트럼 클러스터링을 통한 영상 분할은 픽셀 사이의 선호도 매트릭스를 사용하여 저차원 임베딩을 수행한 다음, 양자 필터에 대해 그래프 라플라시안(Laplacian)을 사용하는 등 저차원 공간에서 고유 벡터의 구성요소를 클러스터링한다.멀티그리드 전제 조건을 가진 LOBPCG에 의한 스펙트럼 그래프 분할을 통한 영상 분할은 에서 처음 제안되었고 실제로 및 에서 테스트되었다.[52]후자의 접근방식은 나중에 그래프 라플라시안 고유값 문제 해결을 위해 대수적 다중선호 전제조건으로 SciPy의 LOBPCG를 사용하는 Python Scikit-learn에서[53] 구현되었다.null

참조

  1. ^ Samokish, B.A. (1958). "The steepest descent method for an eigenvalue problem with semi-bounded operators". Izvestiya Vuzov, Math. (5): 105–114.
  2. ^ D'yakonov, E. G. (1996). Optimization in solving elliptic problems. CRC-Press. p. 592. ISBN 978-0-8493-2872-5.
  3. ^ Cullum, Jane K.; Willoughby, Ralph A. (2002). Lanczos algorithms for large symmetric eigenvalue computations. Vol. 1 (Reprint of the 1985 original). Society for Industrial and Applied Mathematics.
  4. ^ Knyazev, Andrew V. (1987). "Convergence rate estimates for iterative methods for mesh symmetric eigenvalue problem". Soviet Journal of Numerical Analysis and Mathematical Modelling. 2 (5): 371–396. doi:10.1515/rnam.1987.2.5.371. S2CID 121473545.
  5. ^ Knyazev, A. V. (1991). "A Preconditioned Conjugate Gradient Method for Eigenvalue Problems and its Implementation in a Subspace". In Albrecht, J.; Collatz, L.; Hagedorn, P.; Velte, W. (eds.). Numerical Treatment of Eigenvalue Problems Vol. 5. International Series of Numerical Mathematics. Vol. 96. pp. 143–154. doi:10.1007/978-3-0348-6332-2_11. ISBN 978-3-0348-6334-6.
  6. ^ Knyazev, Andrew V. (1998). "Preconditioned eigensolvers - an oxymoron?". Electronic Transactions on Numerical Analysis. 7: 104–123.
  7. ^ Knyazev, Andrew (2017). "Recent implementations, applications, and extensions of the Locally Optimal Block Preconditioned Conjugate Gradient method (LOBPCG)". arXiv:1708.08354 [cs.NA].
  8. ^ a b c d e f g Knyazev, Andrew V. (2001). "Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method". SIAM Journal on Scientific Computing. 23 (2): 517–541. doi:10.1137/S1064827500366124. S2CID 7077751.
  9. ^ a b c d 매트랩 파일 교환 기능 LOBPCG
  10. ^ a b c 사이피 희박한 선형 대수 함수 로브펙트
  11. ^ Knyazev, A. (2004). Hard and soft locking in iterative methods for symmetric eigenvalue problems. Eighth Copper Mountain Conference on Iterative Methods March 28 - April 2, 2004. doi:10.13140/RG.2.2.11794.48327.
  12. ^ SciPy에서 SVDS를 위한 LOBPCG
  13. ^ 깃헙 블로펙스
  14. ^ Knyazev, A. V.; Argentati, M. E.; Lashuk, I.; Ovtchinnikov, E. E. (2007). "Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) in Hypre and PETSc". SIAM Journal on Scientific Computing. 29 (5): 2224. arXiv:0705.2626. Bibcode:2007arXiv0705.2626K. doi:10.1137/060661624. S2CID 266.
  15. ^ LOBPCG에 대한 PHAML BLOPEX 인터페이스
  16. ^ 옥타브 선형-알제브라 함수 로브크
  17. ^ Google 코드에서 Java LOBPCG 사용
  18. ^ 기트허브에서 아나사지 트릴리노스 LOBPCG
  19. ^ 네이티브 SLPc LOBPCG
  20. ^ SLEPc 블로펙스 인터페이스와 LOBPCG 연결
  21. ^ 줄리아 LOBPCG(GitHub)
  22. ^ Anzt, Hartwig; Tomov, Stanimir; Dongarra, Jack (2015). "Accelerating the LOBPCG method on GPUs using a blocked sparse matrix vector product". Proceedings of the Symposium on High Performance Computing (HPC '15). Society for Computer Simulation International, San Diego, CA, USA. HPC '15: 75–82. ISBN 9781510801011.
  23. ^ 깃허브에서 피토치 LOBPCG
  24. ^ GitHub의 러스트 LOBPCG
  25. ^ Rabbi, Fazlay; Daley, Christopher S.; Aktulga, Hasan M.; Wright, Nicholas J. (2019). Evaluation of Directive-based GPU Programming Models on a Block Eigensolver with Consideration of Large Sparse Matrices (PDF). Seventh Workshop on Accelerator Programming Using Directives, SC19: The International Conference for High Performance Computing, Networking, Storage and Analysis.
  26. ^ CuPy: GitHub에서 CUDA LOBPCG에 의해 가속된 NumPy 호환 배열 라이브러리
  27. ^ NVIDIA AMGX GitHub의 LOBPCG
  28. ^ Rakhuba, Maxim; Novikov, Alexander; Osedelets, Ivan (2019). "Low-rank Riemannian eigensolver for high-dimensional Hamiltonians". Journal of Computational Physics. 396: 718–737. arXiv:1811.11049. Bibcode:2019JCoPh.396..718R. doi:10.1016/j.jcp.2019.07.003. S2CID 119679555.
  29. ^ McQueen, James; et al. (2016). "Megaman: Scalable Manifold Learning in Python". Journal of Machine Learning Research. 17 (148): 1–5. Bibcode:2016JMLR...17..148M.
  30. ^ "Sklearn.cluster.SpectralClustering — scikit-learn 0.22.1 documentation".
  31. ^ "Sklearn.manifold.spectral_embedding — scikit-learn 0.22.1 documentation".
  32. ^ Naumov, Maxim (2016). "Fast Spectral Graph Partitioning on GPUs". NVIDIA Developer Blog.
  33. ^ "SGraph partitioning with Sphynx".
  34. ^ ABINIT 문서: WaveFunction OPTimization ALGorithm
  35. ^ 문어 개발자 설명서:LOBPCG
  36. ^ Yamada, S.; Imamura, T.; Machida, M. (2005). 16.447 TFlops and 159-Billion-dimensional Exact-diagonalization for Trapped Fermion-Hubbard Model on the Earth Simulator. Proc. ACM/IEEE Conference on Supercomputing (SC'05). p. 44. doi:10.1109/SC.2005.1. ISBN 1-59593-061-2.
  37. ^ Yamada, S.; Imamura, T.; Kano, T.; Machida, M. (2006). Gordon Bell finalists I—High-performance computing for exact numerical approaches to quantum many-body problems on the earth simulator. Proc. ACM/IEEE conference on Supercomputing (SC '06). p. 47. doi:10.1145/1188455.1188504. ISBN 0769527000.
  38. ^ Yamada, S.; Imamura, T.; Machida, M. (2018). High Performance LOBPCG Method for Solving Multiple Eigenvalues of Hubbard Model: Efficiency of Communication Avoiding Neumann Expansion Preconditioner. Asian Conference on Supercomputing Frontiers. Yokota R., Wu W. (eds) Supercomputing Frontiers. SCFA 2018. Lecture Notes in Computer Science, vol 10776. Springer, Cham. pp. 243–256. doi:10.1007/978-3-319-69953-0_14.
  39. ^ Yang, C.; Meza, J. C.; Lee, B.; Wang, L.-W. (2009). "KSSOLV - a MATLAB toolbox for solving the Kohn-Sham equations". ACM Trans. Math. Softw. 36 (2): 1–35. doi:10.1145/1499096.1499099. S2CID 624897.
  40. ^ Fathurrahman, Fadjar; Agusta, Mohammad Kemal; Saputro, Adhitya Gandaryus; Dipojono, Hermawan Kresno (2020). "PWDFT.jl: A Julia package for electronic structure calculation using density functional theory and plane wave basis". Computer Physics Communications. 256: 107372. Bibcode:2020CoPhC.25607372F. doi:10.1016/j.cpc.2020.107372. S2CID 219517717.
  41. ^ 평면파 밀도 함수 이론(PWDFT):줄리아.
  42. ^ DFTK(밀도 기능 도구 키트) 줄리아의 평면파 밀도 함수 이론
  43. ^ Rakhuba, Maxim; Oseledets, Ivan (2016). "Calculating vibrational spectra of molecules using tensor train decomposition". J. Chem. Phys. 145 (12): 124101. arXiv:1605.08422. Bibcode:2016JChPh.145l4101R. doi:10.1063/1.4962420. PMID 27782616. S2CID 44797395.
  44. ^ Takano, Yu; Nakata, Kazuto; Yonezawa, Yasushige; Nakamura, Haruki (2016). "Development of massive multilevel molecular dynamics simulation program, platypus (PLATform for dYnamic protein unified simulation), for the elucidation of protein functions". J. Comput. Chem. 37 (12): 1125–1132. doi:10.1002/jcc.24318. PMC 4825406. PMID 26940542.
  45. ^ Shao, Meiyue; et al. (2018). "Accelerating Nuclear Configuration Interaction Calculations through a Preconditioned Block Iterative Eigensolver". Computer Physics Communications. 222 (1): 1–13. arXiv:1609.01689. Bibcode:2018CoPhC.222....1S. doi:10.1016/j.cpc.2017.09.004. S2CID 13996642.
  46. ^ Kang, Sungwoo; et al. (2020). "ACE-Molecule: An open-source real-space quantum chemistry package". The Journal of Chemical Physics. 152 (12): 124110. Bibcode:2020JChPh.152l4110K. doi:10.1063/5.0002959. PMID 32241122. S2CID 214768088.
  47. ^ Baczewski, Andrew David; Brickson, Mitchell Ian; Campbell, Quinn; Jacobson, Noah Tobias; Maurer, Leon (2020-09-01). A Quantum Analog Coprocessor for Correlated Electron Systems Simulation (Report). United States: Sandia National Lab. (SNL-NM). doi:10.2172/1671166. OSTI 1671166.
  48. ^ A Survey of Eigen Solution Methods in LS-DYNA®. 15th International LS-DYNA Conference, Detroit. 2018.
  49. ^ Knyazev, A.; Malyshev, A. (2015). Accelerated graph-based spectral polynomial filters. 2015 IEEE 25th International Workshop on Machine Learning for Signal Processing (MLSP), Boston, MA. pp. 1–6. arXiv:1509.02468. doi:10.1109/MLSP.2015.7324315.
  50. ^ Knyazev, Andrew V. (2003). Boley; Dhillon; Ghosh; Kogan (eds.). Modern preconditioned eigensolvers for spectral image segmentation and graph bisection. Clustering Large Data Sets; Third IEEE International Conference on Data Mining (ICDM 2003) Melbourne, Florida: IEEE Computer Society. pp. 59–62.
  51. ^ Knyazev, Andrew V. (2006). Multiscale Spectral Image Segmentation Multiscale preconditioning for computing eigenvalues of graph Laplacians in image segmentation. Fast Manifold Learning Workshop, WM Williamburg, VA. doi:10.13140/RG.2.2.35280.02565.
  52. ^ Knyazev, Andrew V. (2006). Multiscale Spectral Graph Partitioning and Image Segmentation. Workshop on Algorithms for Modern Massive Datasets Stanford University and Yahoo! Research.
  53. ^ "Spectral Clustering — scikit-learn documentation".

외부 링크