Commit Graph

26 Commits

Author SHA1 Message Date
Francois Coppens
2ec8fb278c Minor modifications to test programs. 2021-07-17 11:40:59 +02:00
François Coppens
2a39aabaf0 Cleanup 1 2021-07-15 17:56:33 +02:00
François Coppens
fa61b50bb0 - Optimize WB3 by inlining matmuls and simplifying copies
- Occasional code restyling with 'clang-formant --style=LLVM'.
2021-07-12 08:13:58 +02:00
Pablo Oliveira
c30967e63d Optimize WB2 by inlining matmuls and simplifying copies 2021-07-08 12:53:50 +02:00
François Coppens
67f5379bea - Moved check on determinants in Woodbury kernels before inversion of B that was there by mistake.
- Split SM2 into SM2 and SM2star so that keeps all updates for later when used in combination with the Woodbury kernels to improve the numerical accuracy to the same level as that of SM2.
2021-07-07 12:06:31 +02:00
François Coppens
f6f8746bef Optimised matrix multiplication with V. 2021-07-01 13:44:28 +02:00
François Coppens
7b9b176545 - Replaced the copy-arrays in the combined SMWB kernels with pointers
- Added loop in test_cycle() to repeat a single update cycle n-times for performance testing.
2021-06-23 17:28:29 +02:00
Francois Coppens
837e160f17 - Added various Sherman-Morrison-Woodbury kernels
- Separated debug information into 2 different debug levels.
2021-06-21 14:33:35 +02:00
Francois Coppens
22590b7684 * Woodburry 3x3 kernel fixed
* Written Unified Sherman-Morrison-Woodbury kernel that partitions
  the updates in blocks of 3 and tries them with Woodbury 3x3.
  The remainder of 2 or one are attempted with Woodbury 2x2 and SM2.

For now the unified kernel gives fails where pure SM2 does not.
I suspect there is something going wrong in how the updates are partitioned.
2021-06-15 11:53:04 +02:00
Francois Coppens
573947fe2d Woodbury debugging... 2021-06-11 08:46:39 +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
17c8a1c7a0 Code restyled. Added restyling script. Code for determinant is not working because it gets stuck in an infinite recursion loop. 2021-05-19 15:23:19 +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
Francois Coppens
1201718f28 Preped files, headers, functions, test_h5 and Makefiles for MaponiA3S. 2021-04-14 17:18:31 +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
152093dd7c - Added python program that computes general properties of a given Slater-matrix.
- Added a Verificarlo option to smvars.sh that sets the Verificarlo backend and uses LLVM for compilation.
- Fixed residual_max() to give the Max-norm.
2021-04-14 11:42:45 +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
François Coppens
f5a2e635cf Added environment variables source script. Added test script that loops over update cycles. Added test program that loops internally over test cycles. 2021-02-28 09:28:42 +01:00
François Coppens
8e0aef7717 Restructuring complete. Updated makefile. 2021-02-27 12:25:55 +01:00