François Coppens
6b699143b5
Added some test output in the Fortran prgram to load into Octave for quick checking.
2021-02-12 17:48:49 +01:00
François Coppens
1b3a1d9d22
Added QMCChem test dataset with 3 updates. Renamed files, added the Fortran program QMCChem_dataset_test.f90 to start testing the QMCChem dataset. Wrote and tested Fortran code to import the test dataset.
2021-02-12 12:04:21 +01:00
François Coppens
1983b7883f
Merge pull request #5 from pablooliveira/flatten
...
C++ redesign of data-structures
2021-02-09 17:03:56 +01:00
Pablo Oliveira
da41c57ee2
No need to zero out breakdown vector
2021-02-09 15:09:37 +01:00
Pablo Oliveira
2d2085f739
Simplify initialization with 0
2021-02-09 15:07:55 +01:00
Pablo Oliveira
b9efd7ef0b
Optimize out the U
2021-02-09 15:05:11 +01:00
Pablo Oliveira
aa78f94177
Apply clang-format
2021-02-09 14:46:28 +01:00
Pablo Oliveira
b575cda8d6
Optimize out Identity matrix
2021-02-09 14:44:54 +01:00
Pablo Oliveira
6f34f485d3
C++ redesign of data-structures
...
- Use flat arrays
- Use real type for all matrices
- Merge _f MaponiA3 files
2021-02-09 14:34:39 +01:00
François Coppens
de00fbadff
Merge pull request #4 from fmgjcoppens/feature/c-from-fort
...
Calling C++ function MaponiA3 from Fortran
2021-02-08 11:24:19 +01:00
François Coppens
b0140cbc07
Changed some comments.
2021-02-06 19:11:02 +01:00
François Coppens
3f6bca2b04
The Fortran interface to C++ fuction MaponiA3() works but the mechanism of passing the 2D arrays from Fortran to C++ must be improved. Now the passed 'linear' 2D arrays are copied and reshaped into usable 2D arrays. This needs to be replaced with some suitable casting mechanism.
2021-02-06 18:59:07 +01:00
François Coppens
7f7b23f7c4
Put more comments in Makefile.
2021-02-04 18:52:26 +01:00
François Coppens
f1641dd4e4
Solved linking problem by including C++ standard library '-lstdc++'. Also added a minimal working example of Fortran-C++ interfacing in dir 'mwe'.
2021-02-04 17:05:55 +01:00
François Coppens
84fffdb7fa
Prepared the example matrix of Example 8 of the paper and its
...
decomposition in the Fortran code and made a basic call to the
subroutine MYSUBROUTINE, which is bound to the C++ void function
'Sherman-Morrison();. For now compilation fails with lots of undefined
references.'
2021-02-04 13:12:47 +01:00
François Coppens
090847247d
Prepared the main Fortran infrastructure for the C++ calls. Updated the makefile.
2021-02-04 11:39:00 +01:00
François Coppens
5531d9eb12
Merge pull request #2 from fmgjcoppens/fix/upd-inverse
...
Fix/upd inverse
2021-02-03 15:05:01 +01:00
François Coppens
d03c9c665b
Update of A0_inv fixed. matMul(...) breaks link between A0_inv and Slater_inv. Fixed by creating a new pointer that points to where Slater_inv points to before it gets reassigned by matMul(...) and then copy the updated elements back to the passed array pointed to by the new pointer.
2021-02-03 14:49:42 +01:00
François Coppens
aa6895a4aa
Put helper functions in separate header file from the Sherman-Morrison algo.
2021-02-03 12:13:09 +01:00
François Coppens
1d9bb30abc
Merge pull request #1 from fmgjcoppens/fix/compile
...
Problem fixed.
2021-02-03 11:09:51 +01:00
François Coppens
68d27b6df6
Problem fixed: template function definitions (implementations) need to be fully known in the header file (.hpp) and not in the implementation file (.cpp).
2021-02-03 11:02:15 +01:00
François Coppens
7d55d7db77
Split the program in a header file and an implementation file and included them in main. Does not compile. Get the following error: ld: /tmp/icpcnmVxvw.o: in function void showMatrix<int>(int**, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
2021-02-02 17:06:32 +01:00
François Coppens
9d47bf9bb3
Extracted the SM algorithm and wrote it as a void function that updates the passed old inverse. Does not work yet. For some reason the changes in the inverse do not persist when the function is finished. Also the inverse is not correct.
2021-02-02 15:08:41 +01:00
François Coppens
7d3ffe1d2a
Added random matrix initialisation of arbitrary size. Added function to calculate determinant to test matrix invertability of A and A0.
2021-01-29 12:53:20 +01:00
François Coppens
8f54ca1124
Removed .vscode preferences dir from git index and added to .gitignore.
2021-01-29 10:23:22 +01:00
François Coppens
4c1b7f3098
Converted overloaded functions into templates. Removed second size argument from the showMatrix function since we are only interested in square matrices.
2021-01-29 10:03:07 +01:00
François Coppens
d45df44e5e
C++ implementation of algo 3 is working. Not optimised yet.
2021-01-27 17:19:41 +01:00
François Coppens
e509f28ba6
That's it for today!
2021-01-26 16:27:57 +01:00
François Coppens
daadf44eee
Maponi algorithm 4 works for the modified Example 18 in the paper but not for general non-singlual NxN matrices yet.
2021-01-26 11:32:17 +01:00
François Coppens
d286e0d45e
Added some initial data likle Makefiles and .gitignore.
2021-01-26 07:26:54 +01:00
François Coppens
3704856b10
Initial commit.
2021-01-25 15:25:23 +01:00