Sherman-Morrison/include/SM_Standard.hpp
Francois Coppens 74bb333de1 - Passing break-down threshold as a function argument
- Renaming kernels to correspond with the ones in QMCkl
- In the qmckl-version of the test program, chaning the way integer data is read from the HDF5 file.
2021-07-29 12:01:26 +02:00

23 lines
1.1 KiB
C++

// Naïve Sherman Morrison
void SM1(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
double *Updates, unsigned int *Updates_index, const double breakdown);
// Sherman Morrison, with J. Slagel splitting
// http://hdl.handle.net/10919/52966
void SM2(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
double *Updates, unsigned int *Updates_index, const double breakdown);
void SM2star(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
double *Updates, unsigned int *Updates_index,
double *later_updates, unsigned int *later_index,
unsigned int *later, const double breakdown);
// Sherman Morrison, leaving zero denominators for later
void SM3(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
double *Updates, unsigned int *Updates_index, const double breakdown);
// Sherman Morrison (SM3+SM2), leaving zero denominators for later (SM3), and
// when none are left falling back on Splitting (SM2)
void SM4(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
double *Updates, unsigned int *Updates_index, const double breakdown);