mirror of
https://github.com/TREX-CoE/Sherman-Morrison.git
synced 2024-08-26 07:01:45 +02:00
![Pablo Oliveira](/assets/img/avatar_default.png)
SM4: Sherman Morrison, mix between SM3 + SM2 Leave zero denominators for later (SM3), and when none are left then split (SM2)
18 lines
810 B
C++
18 lines
810 B
C++
// Naïve Sherman Morrison
|
|
void SM1(double *Slater_inv, unsigned int Dim, unsigned int N_updates,
|
|
double *Updates, unsigned int *Updates_index);
|
|
|
|
// 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);
|
|
|
|
// 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);
|
|
|
|
// 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);
|