Francois Coppens
61844da5d3
Corrected array initialisations.
2021-06-10 11:25:31 +02:00
Francois Coppens
efe96cbeea
First implementation of Woodbury 2x2 and 3x3 kernels.
2021-06-10 08:46:40 +02:00
François Coppens
288bc83e19
Created Woodbery kernel infrastructure and started wrinting Woodbery 2x2 kernel.
2021-06-04 16:50:49 +02:00
François Coppens
c8df88b4ef
Made lapack/MKL inclusion in code dependent on preprocessor macro 'MKL'. Automatic build should now succeed.
2021-05-21 11:54:57 +02:00
François Coppens
6c9c68c93d
Added LAPACK option to test_h5.cpp to compare residuals and number of operations.
2021-05-20 19:21:59 +02:00
François Coppens
0e5bbbbffb
Replaced inappropriate std::abs() occurences with std::fabs() in C++ code.
2021-05-12 16:11:47 +02:00
François Coppens
5693e177ba
Re-applied code formatting on C++ code with clang-format --style=llvm.
2021-05-10 14:50:45 +02:00
Francois Coppens
adf893ed6f
- Various fixes
...
- Merged MaponiA3 and MaponiA3S into one file.
2021-05-07 17:11:04 +02:00
Pablo Oliveira
f4becac4c0
First implementation of SM4
...
SM4: Sherman Morrison, mix between SM3 + SM2
Leave zero denominators for later (SM3), and when none are left then split (SM2)
2021-05-06 10:51:42 +02:00
François Coppens
3ee4d3b56d
- Added a small 3x3 example that will always become singular regardles the order of the applied updates. This example is added to test Maponi A3 augmented with Slagel-splitting.
...
- Slagel-splitting in Maponi A3 is now working. A thourough analysis on the QMC=Chem datasets still has te be done.
- Acceptance tollerance in 'test_h5' on the residuals can be set at runtime now.
2021-05-05 11:59:00 +02:00
Francois Coppens
e3815267fb
* Added SM{1,2,3} algorithms to Fortran module
...
* Deleted final ylk array in MaponiA3(S)
* Output of Valgrind seem to suggest there are no major memory problems.
2021-05-05 11:59:00 +02:00
François Coppens
fb3ed9ce0c
In Maponi A3, converted divisions into multiplications.
2021-05-05 11:59:00 +02:00
François Coppens
af64b91ca6
Started debugging Slagel-splitting in MaponiA3.
2021-05-05 11:59:00 +02:00
François Coppens
7cef89e2b5
Slagel-splitting implemented but not tested yet.
2021-05-05 11:59:00 +02:00
Francois Coppens
b863d40c05
- Setting break-down threshold trough smvars.sh
...
- Fixed SM3 to escape infinite update-loop
2021-04-15 18:13:26 +02:00
Francois Coppens
e5648f7485
Ran: clang-format --style=LLVM on *.cpp and *.hpp files.
2021-04-15 14:38:42 +02:00
Francois Coppens
fad8eb2e89
- Fixed small dataset cycle 8169 to transform to replacement updates and regenerated the hdf5 file.
...
- Simplified makefiles.
2021-04-15 12:17:12 +02:00
Francois Coppens
1201718f28
Preped files, headers, functions, test_h5 and Makefiles for MaponiA3S.
2021-04-14 17:18:31 +02:00
Francois Coppens
991f40a605
Moved common MaponiA3 functions to SM_Helpers.{cpp,hpp} to prepare for MaponiA3+Slagel splitting.
2021-04-14 16:19:49 +02:00
Francois Coppens
ab9d13180a
Small restructuring and cleaning up spurious includes and and namespaces.
2021-04-14 15:32:54 +02:00
Francois Coppens
c2f643ad8f
- Updated cleaning target in Makefile
...
- Updated gitignore
- Added python script to compute basic statistical observables from testruns
- Added test bash script to automate test_h5: the cycles in the dataset are not continues and test_h5 crashes if a cycle number is not present in the dataset.
- Added common threshold for all 3 standard SM algos.
2021-04-09 17:23:14 +02:00
Francois Coppens
7caf12c296
Cleaned up: datasets, test-program name, Makefiles. Use column numbers in SM_Standard.cpp.
2021-04-06 16:17:42 +02:00
Francois Coppens
6cd9fb1072
- Moved transposing of Slater_inv to HDF5 conversion tool and removed it from the test program.
...
- Let Maponi A3 continue, even after the algorithm breaks down.
2021-03-18 14:06:06 +01:00
Pablo Oliveira
c10ded9cdd
Add version name to tests
2021-03-15 16:00:16 +01:00
Pablo Oliveira
f096db6411
New implementations for Sherman Morisson
...
- SM2: Slagel splitting implementation
(http://hdl.handle.net/10919/52966 )
- SM3: Keep close to zero denominators for later
- Update tests to show the squared residual
2021-03-15 14:01:38 +01:00
François Coppens
6012b9decf
4x4 with 2 updates example is working again after adding update cycle 8169 dataset but with replacement updates instead of additive updates.
2021-03-12 15:49:02 +01:00
François Coppens
ef97b40196
Changed code to treat the dataset as replacement updates, instead of additive updates. Before the updates are used to compute the inverse they are transformed accordingly.
...
However, this breaks the 4x4 example in update cycle 8169.
2021-03-12 12:38:50 +01:00
François Coppens
081fbfc1d8
Loop merge successful.
...
Next step: reduce the number of indices of ylk by not keeping
all the previous solutions.
2021-03-10 16:56:22 +01:00
François Coppens
e18e80ff5c
Removed matMul() from Helpers.hpp and renamed matMul2() to matMul().
2021-03-10 15:27:53 +01:00
François Coppens
ffbde8f88c
More changes to debug output.
2021-03-10 12:18:08 +01:00
François Coppens
de8e89df75
Change in debug output.
2021-03-10 11:54:43 +01:00
François Coppens
3b3567040b
Added more debug output.
2021-03-10 11:41:34 +01:00
François Coppens
a9604b3838
Cleaned-up main loop.
2021-03-09 10:43:00 +01:00
François Coppens
066e50914c
Regularised main loop.
2021-03-09 10:43:00 +01:00
Francois Coppens
9c82092cff
Removed dependence on a breakdown array.
2021-03-09 10:40:47 +01:00
Francois Coppens
b2c6847ed8
Add debug comments
2021-03-09 10:39:58 +01:00
Francois Coppens
3f60779700
Cleanup
2021-03-09 10:39:58 +01:00
François Coppens
983f87d504
Rewrote matMul function so it doesn't declare memory inside.
2021-03-09 10:39:58 +01:00
Pablo Oliveira
4bd61dd76c
Add a standard Sherman-Morisson implementation
...
- It can serve as a baseline reference
- It can serve as a starting point for including the pivot
and splitting techniques from Maponi and Slaggel without the full
complexity of the MaponiA3 algorithm
2021-03-05 17:00:48 +01:00
François Coppens
5d4a7af01a
File tree restructured. Written build script build.sh. TODO: convert buld script into Makefile.
2021-02-26 17:28:52 +01:00