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