|
Grid 0.7.0
|
#include <ImplicitlyRestartedBlockLanczos.h>
Public Member Functions | |
| ImplicitlyRestartedBlockLanczos (LinearOperatorBase< Field > &Linop, LinearOperatorBase< Field > &SLinop, GridRedBlackCartesian *FrbGrid, GridRedBlackCartesian *SFrbGrid, int _mrhs, OperatorFunction< Field > &poly, int _Nstop, int _Nconv_test_interval, int _Nu, int _Nk, int _Nm, RealD _eresid, int _MaxIter, IRBLdiagonalisation _diagonalisation=IRBLdiagonaliseWithEigen) | |
| void | orthogonalize (Field &w, std::vector< Field > &evec, int k, int if_print=0) |
| void | reorthogonalize (Field &w, std::vector< Field > &evec, int k) |
| void | orthogonalize (std::vector< Field > &w, int _Nu, std::vector< Field > &evec, int k, int if_print=0) |
| void | orthogonalize_blas (std::vector< Field > &w, std::vector< Field > &evec, int R, int do_print=0) |
| void | orthogonalize_blockhead (Field &w, std::vector< Field > &evec, int k, int Nu) |
| void | calc (std::vector< RealD > &eval, std::vector< Field > &evec, const std::vector< Field > &src, int &Nconv, LanczosType Impl) |
| void | calc_irbl (std::vector< RealD > &eval, std::vector< Field > &evec, const std::vector< Field > &src, int &Nconv) |
| void | calc_rbl (std::vector< RealD > &eval, std::vector< Field > &evec, const std::vector< Field > &src, int &Nconv) |
Static Public Member Functions | |
| static RealD | normalize (Field &v, int if_print=0) |
Data Fields | |
| int | split_test |
Private Member Functions | |
| void | blockwiseStep (std::vector< std::vector< ComplexD > > &lmd, std::vector< std::vector< ComplexD > > &lme, std::vector< Field > &evec, std::vector< Field > &w, std::vector< Field > &w_copy, int b) |
| void | diagonalize_Eigen (std::vector< RealD > &eval, std::vector< std::vector< ComplexD > > &lmd, std::vector< std::vector< ComplexD > > &lme, int Nu, int Nk, int Nm, Eigen::MatrixXcd &Qt, GridBase *grid) |
| void | diagonalize (std::vector< RealD > &eval, std::vector< std::vector< ComplexD > > &lmd, std::vector< std::vector< ComplexD > > &lme, int Nu, int Nk, int Nm, Eigen::MatrixXcd &Qt, GridBase *grid) |
| void | unpackHermitBlockTriDiagMatToEigen (std::vector< std::vector< ComplexD > > &lmd, std::vector< std::vector< ComplexD > > &lme, int Nu, int Nb, int Nk, int Nm, Eigen::MatrixXcd &M) |
| void | packHermitBlockTriDiagMatfromEigen (std::vector< std::vector< ComplexD > > &lmd, std::vector< std::vector< ComplexD > > &lme, int Nu, int Nb, int Nk, int Nm, Eigen::MatrixXcd &M) |
| void | shiftedQRDecompEigen (Eigen::MatrixXcd &M, int Nu, int Nm, RealD Dsh, Eigen::MatrixXcd &Qprod) |
| void | exampleQRDecompEigen (void) |
Private Attributes | |
| std::string | cname |
| int | MaxIter |
| int | Nstop |
| int | Nu |
| int | Nk |
| int | Nm |
| int | Nblock_k |
| int | Nblock_m |
| int | Nconv_test_interval |
| RealD | eresid |
| IRBLdiagonalisation | diagonalisation |
| SortEigen< Field > | _sort |
| LinearOperatorBase< Field > & | _Linop |
| LinearOperatorBase< Field > & | _SLinop |
| OperatorFunction< Field > & | _poly |
| GridRedBlackCartesian * | f_grid |
| GridRedBlackCartesian * | sf_grid |
| int | mrhs |
| int | Nevec_acc |
Definition at line 117 of file ImplicitlyRestartedBlockLanczos.h.
|
inline |
Definition at line 156 of file ImplicitlyRestartedBlockLanczos.h.
References _Linop, _poly, _SLinop, diagonalisation, eresid, f_grid, Grid::IRBLdiagonaliseWithEigen, MaxIter, mrhs, Nblock_k, Nblock_m, Nconv_test_interval, Nevec_acc, Nk, Nm, Nstop, Nu, sf_grid, and split_test.
|
inlinestatic |
Definition at line 183 of file ImplicitlyRestartedBlockLanczos.h.
References norm2(), and sqrt().
Referenced by orthogonalize(), orthogonalize(), orthogonalize_blas(), and orthogonalize_blockhead().
|
inline |
Definition at line 191 of file ImplicitlyRestartedBlockLanczos.h.
References Glog, innerProduct(), norm2(), and normalize().
Referenced by blockwiseStep(), calc_irbl(), calc_rbl(), and reorthogonalize().
|
inline |
Definition at line 211 of file ImplicitlyRestartedBlockLanczos.h.
References orthogonalize().
|
inline |
Definition at line 216 of file ImplicitlyRestartedBlockLanczos.h.
References innerProduct(), and normalize().
|
inline |
Definition at line 232 of file ImplicitlyRestartedBlockLanczos.h.
References AcceleratorWrite, autoView, CUDA_COMPLEX, CUDA_FLOAT, CUDA_GEMM, CartesianCommunicator::GlobalSumVector(), Glog, GridBase::lSites(), MAKE_CUDA_COMPLEX, Nevec_acc, normalize(), and Nu.
Referenced by blockwiseStep().
|
inline |
Definition at line 321 of file ImplicitlyRestartedBlockLanczos.h.
References innerProduct(), normalize(), and Nu.
|
inline |
Definition at line 333 of file ImplicitlyRestartedBlockLanczos.h.
References calc_irbl(), calc_rbl(), CUDA_COMPLEX, eval(), Grid::irbl, GridBase::lSites(), Nevec_acc, Nu, Grid::rbl, and GridBase::show_decomposition().
|
inline |
Definition at line 371 of file ImplicitlyRestartedBlockLanczos.h.
References _Linop, _sort, B, blockwiseStep(), cname, diagonalisation, diagonalize(), eresid, eval(), Glog, innerProduct(), Grid::IRBLdiagonaliseWithEigen, MaxIter, Nblock_k, Nblock_m, Nk, Nm, norm2(), Nstop, Nu, orthogonalize(), packHermitBlockTriDiagMatfromEigen(), real(), shiftedQRDecompEigen(), and unpackHermitBlockTriDiagMatToEigen().
Referenced by calc().
|
inline |
Definition at line 576 of file ImplicitlyRestartedBlockLanczos.h.
References _Linop, _sort, AdviseInfrequentUse, B, blockwiseStep(), cname, diagonalisation, diagonalize(), eresid, eval(), Glog, innerProduct(), Grid::IRBLdiagonaliseWithEigen, MaxIter, Nblock_k, Nconv_test_interval, Nk, Nm, norm2(), Nstop, Nu, orthogonalize(), and real().
Referenced by calc().
|
inlineprivate |
Definition at line 777 of file ImplicitlyRestartedBlockLanczos.h.
References _Linop, _poly, _SLinop, conjugate(), f_grid, Glog, Grid_split(), Grid_unsplit(), innerProduct(), mrhs, Nm, norm2(), Nu, orthogonalize(), orthogonalize_blas(), real(), sf_grid, and split_test.
Referenced by calc_irbl(), and calc_rbl().
|
inlineprivate |
Definition at line 925 of file ImplicitlyRestartedBlockLanczos.h.
References conjugate(), eval(), Nk, Nm, and Nu.
Referenced by diagonalize().
|
inlineprivate |
Definition at line 1107 of file ImplicitlyRestartedBlockLanczos.h.
References diagonalisation, diagonalize_Eigen(), eval(), Grid::IRBLdiagonaliseWithEigen, Nk, Nm, and Nu.
Referenced by calc_irbl(), and calc_rbl().
|
inlineprivate |
Definition at line 1127 of file ImplicitlyRestartedBlockLanczos.h.
References conjugate(), Nk, Nm, and Nu.
Referenced by calc_irbl().
|
inlineprivate |
Definition at line 1155 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl().
|
inlineprivate |
Definition at line 1182 of file ImplicitlyRestartedBlockLanczos.h.
References conj, Nm, Nu, and real().
Referenced by calc_irbl().
|
inlineprivate |
Definition at line 1280 of file ImplicitlyRestartedBlockLanczos.h.
References Glog.
|
private |
Definition at line 121 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), and calc_rbl().
|
private |
Definition at line 122 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 123 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 124 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), calc(), calc_irbl(), calc_rbl(), diagonalize(), diagonalize_Eigen(), ImplicitlyRestartedBlockLanczos(), orthogonalize_blas(), orthogonalize_blockhead(), packHermitBlockTriDiagMatfromEigen(), shiftedQRDecompEigen(), and unpackHermitBlockTriDiagMatToEigen().
|
private |
Definition at line 125 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), diagonalize(), diagonalize_Eigen(), ImplicitlyRestartedBlockLanczos(), packHermitBlockTriDiagMatfromEigen(), and unpackHermitBlockTriDiagMatToEigen().
|
private |
Definition at line 126 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), calc_irbl(), calc_rbl(), diagonalize(), diagonalize_Eigen(), ImplicitlyRestartedBlockLanczos(), packHermitBlockTriDiagMatfromEigen(), shiftedQRDecompEigen(), and unpackHermitBlockTriDiagMatToEigen().
|
private |
Definition at line 127 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 128 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 129 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 130 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 131 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), calc_rbl(), diagonalize(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 135 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc_irbl(), and calc_rbl().
|
private |
Definition at line 136 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), calc_irbl(), calc_rbl(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 137 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 138 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 139 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 140 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 141 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().
|
private |
Definition at line 149 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by calc(), ImplicitlyRestartedBlockLanczos(), and orthogonalize_blas().
| int Grid::ImplicitlyRestartedBlockLanczos< Field >::split_test |
Definition at line 155 of file ImplicitlyRestartedBlockLanczos.h.
Referenced by blockwiseStep(), and ImplicitlyRestartedBlockLanczos().