ALF merge requestshttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests2021-12-07T20:16:17Zhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/127Draft: Resolve "rework hop_mod and wrapgrup and wrapgrdo"2021-12-07T20:16:17ZFlorian GothDraft: Resolve "rework hop_mod and wrapgrup and wrapgrdo"Closes #208Closes #208Florian GothFlorian Gothhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/116Resolve "Automatic computation of Hopping_Matrix_Type%Multiplicity"2021-11-22T13:45:01ZFrancesco Parisen ToldinResolve "Automatic computation of Hopping_Matrix_Type%Multiplicity"Closes #195
The branch has been tested against the master branch for a Hubbard model, L1 = L2 = 4 and all combinations of:
- Checkerboard = True / False
- Symm = True / False
- Lattice = Bilayer_honeycomb, Bilayer_square, Honeycomb, N_l...Closes #195
The branch has been tested against the master branch for a Hubbard model, L1 = L2 = 4 and all combinations of:
- Checkerboard = True / False
- Symm = True / False
- Lattice = Bilayer_honeycomb, Bilayer_square, Honeycomb, N_leg_ladder, Square
Also, the documentation has been updated, removing any mention and discussion of ```Hopping_Matrix_Type%Multiplicity``` which is now a private field, and automatically computed in ```Predefined_Hoppings_set_OPT```Francesco Parisen ToldinFrancesco Parisen Toldinhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/106Resolve "Include MSCBDECOMP + higher order checkerboard"2022-06-28T11:13:45ZFlorian GothResolve "Include MSCBDECOMP + higher order checkerboard"Closes #175 .
This now has the basic functionality that I wanted to implement:
- Automatic Decomposition
- A selection of approximations to the exact exponential.
To that end a new section in the parameter file has been added.(See Scri...Closes #175 .
This now has the basic functionality that I wanted to implement:
- Automatic Decomposition
- A selection of approximations to the exact exponential.
To that end a new section in the parameter file has been added.(See Scripts_and_parameters)
possible values for method:
- 0: Disable it
- 1: S_1 1 Euler Approximation
- 2: S_1 2 Strang splitting
- 3: SE_2 2 splitting by Blanes et al. (2014)
- 4: S_3 4 splitting by Neri(1987), Forest(1990), Yoshida(1990)
- 5: S_6 4 splitting by Blanes et al. (2002)
The Euler Approximation tends to be unstable(Hubbard, N=4 -> N=6 -> N=8), the others always worked.
unimplemented things:
- projector matrix P assumes P(i) == i -> ignored
General assumptions:
- Op_T constitutes a hermitian matrix. By this Op_T%g has to be real.Florian GothFlorian Gothhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/102Resolve "Reduce memory consumption on a node by sharing data between MPI task"2021-05-31T11:05:36ZJohannes HofmannResolve "Reduce memory consumption on a node by sharing data between MPI task"Closes #181Closes #181https://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/62WIP: Resolve "Cholesky vs maxent"2021-04-19T14:19:29ZFlorian GothWIP: Resolve "Cholesky vs maxent"Closes #113. Replaces the previously used eigenvalue decomposition with a cholesky decomposition in case of a dense covariance matrix. Things to note:
- made some intents on function arguments clearer.
- Testing occured on artificial i...Closes #113. Replaces the previously used eigenvalue decomposition with a cholesky decomposition in case of a dense covariance matrix. Things to note:
- made some intents on function arguments clearer.
- Testing occured on artificial input. All data that i touched in Fakher's testsuite had covariance matrices which are not positive definite.
In the attachment you'll find a small test program and compare that the resulting norms are equal, although the generated vectors are different.[test.f03](/uploads/4f59d1c5dde4c3efce8dcfb81cf10878/test.f03)https://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/26Resolve "Filter Branch 59"2017-10-18T20:27:18ZFlorian GothResolve "Filter Branch 59"Closes #65 . Among the notable changes are the fact that I force the unitary matrices occuring in the eigenvalue decomposition of the operators to be special unitary with det(U) == 1 instead of just a unitary matrix.Closes #65 . Among the notable changes are the fact that I force the unitary matrices occuring in the eigenvalue decomposition of the operators to be special unitary with det(U) == 1 instead of just a unitary matrix.Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/merge_requests/12WIP: Resolve "Remove explicit constructions of the Q Matrix from the QR decom...2017-04-10T10:52:07ZFlorian GothWIP: Resolve "Remove explicit constructions of the Q Matrix from the QR decomposition"## This branch has now been manually merged into the master branch ( https://git.physik.uni-wuerzburg.de/fassaad/General_QMCT_code/commit/db7ac1b0144b3e6b55b30cf3e8022d57aab5dd51 ). We are now able to revert to the old stabilization s...## This branch has now been manually merged into the master branch ( https://git.physik.uni-wuerzburg.de/fassaad/General_QMCT_code/commit/db7ac1b0144b3e6b55b30cf3e8022d57aab5dd51 ). We are now able to revert to the old stabilization scheme. ##
I propose to merge the current state of this branch with master, Development will continue on this branch.
I worked on the wrapul and wrapur functions.
Summary of the changes so far:
- separated out the linear algebra part out into separate functions and separate files.
- tests for those new functions
- take variables off of the stack
- save some mem.
I think it is benficial for the master branch to have those tests and the lessened consumption of stack space.
Here are some numbers for the memory usage on the SPT model compared to the current master. Parameters are(L1=L2=5, beta=4, dtau=0.1, Nwrap=15, Nsweep=2, Nbin=3)
The peak usage for the master is 87,052,288 Byte
The peak usage for my branch is 64,897,024 Byte
Therefore at those parameters a decrease of 25%.
For the Hubbard_SU2 model with parameters(L1=L2=16, beta=20, dtau=0.1, Nwrap=30, Nsweep=2,NBin=2)
we have 119,418,880 Bytes for the master
and 104,771,584 Bytes for my branch.
Therefore a decrease of 13% of memory usage.
Since the stabilization is for a lot of systems not very performance relevant no much changes. For parameters tweaked to favor the new stabilization(Hubbard_SU2, L1=L2=10, U=8, beta=160, dtau=0.1, NWrap=1, NSweep=2, NBin=2) I observe the following numbers:
The runtime for the master is 932s
The runtime for my branch is 885s
Therefore at those parameters this amounts to a small speedup of 5%.
With regards to the actual stabilization numbers I observe the following:
The Hubbard_Mz model@ L1=L2=U=4, beta=20, Nwrap=10, Nsweep=4:
current master:
Precision Green Mean, Max : 4.0359010899053122E-011 3.7015064791035002E-008
Precision Phase, Max : 0.0000000000000000
Precision tau Mean, Max : 1.0122010829088495E-011 2.3731516446412471E-008
Acceptance : 0.42419921875000000
My branch:
Precision Green Mean, Max : 3.8937351354325768E-011 3.5325195144042532E-008
Precision Phase, Max : 0.0000000000000000
Precision tau Mean, Max : 8.5844925915529122E-012 3.3794579273882519E-008
Acceptance : 0.42419921875000000
For the Hubbard_SU2 model at the same parameters, except NWrap=40, I observe:
For the Master branch:
Precision Green Mean, Max : 8.5678144528853439E-008 2.6138725435686599E-006
Precision Phase, Max : 4.4637963531033305E-006
Precision tau Mean, Max : 1.0129105784082156E-008 3.6504336864824795E-007
Acceptance : 0.34361328125000001
For my branch:
Precision Green Mean, Max : 5.5506963121842017E-008 2.9052145263167015E-006
Precision Phase, Max : 4.1309528503365997E-006
Precision tau Mean, Max : 9.7715100590049246E-009 4.3632596569682565E-007
Acceptance : 0.34361328125000001
For the SPT model@L1=L2=5, Beta=4, Nwrap=20 ham_Lam=0.5 I observe
For the master branch:
Precision Green Mean, Max : 5.2669927928779506E-010 1.6592551890874520E-008
Precision Phase, Max : 2.4819181661713438E-008
Acceptance : 0.43534374999999997
For my branch:
Precision Green Mean, Max : 1.9217713711735632E-010 6.4288760416547413E-009
Precision Phase, Max : 4.5964145551188418E-009
Acceptance : 0.43534374999999997
For the Ising model @ L1=L2=8, Beta=10, dtau=0.1, xi=h=J=1, NWrap=20, NSSweep=20 I observe:
For the master:
Precision Green Mean, Max : 9.6357872846921299E-005 1.8682228134587565E-002
Precision Phase, Max : 0.0000000000000000
Acceptance : 2.6895312500000001E-002
For my branch:
Precision Green Mean, Max : 5.2196663295962717E-005 4.1426907216497418E-004
Precision Phase, Max : 0.0000000000000000
Acceptance : 2.6895312500000001E-002
For the Kondo Honey @ (L1=L2 =3, T=1, J=2.5,Jz=2, U=0, Beta=10, dtau=0.1, Checkerboard=1, NWrap=4, NSweep=10, NBin=2)model I observe this:
For the master branch:
Precision Green Mean, Max : 4.8649997187280620E-005 2.8332747591374630
Precision Phase, Max : 0.0000000000000000
Acceptance : 0.42357291666666669
For my branch:
Precision Green Mean, Max : 4.7651694492231726E-010 4.2789744579752780E-005
Precision Phase, Max : 0.0000000000000000
Acceptance : 0.42356250000000001
For the canonical Hubbard model@(L1=L2=U=4, Model =Hubbard_Mz, beta=20,dtau=0.1, Lambda=2, n_Lambda=10, NWrap=10, NSweep=50) I observe:
For the master branch:
Precision Green Mean, Max : 5.2787338684407404E-011 2.6508232210042973E-007
Precision Phase, Max : 3.1749906202997851E-008
Acceptance : 0.43659423076923076
For my branch:
Precision Green Mean, Max : 4.8712156884014289E-011 1.7553793272730316E-007
Precision Phase, Max : 1.9469902584738813E-008
Acceptance : 0.43659423076923076 Fakher F. AssaadFakher F. Assaad