ALF issueshttps://git.physik.uni-wuerzburg.de/groups/ALF/-/issues2023-07-31T13:20:56Zhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/262Z2_Matter: Access of not allocated variable if Ham_T=02023-07-31T13:20:56ZJonas SchwabZ2_Matter: Access of not allocated variable if Ham_T=0See Job [#277951](https://git.physik.uni-wuerzburg.de/ALF/ALF/-/jobs/277951)
`Hamiltonian_Z2_Matter_smod.F90` line 1070 in subroutine `Obser`See Job [#277951](https://git.physik.uni-wuerzburg.de/ALF/ALF/-/jobs/277951)
`Hamiltonian_Z2_Matter_smod.F90` line 1070 in subroutine `Obser`Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/258autocorrelation time2023-07-05T13:24:55ZAnika Goetzautocorrelation timeThe definition of the correlation function for autocorrelation times in doc.pdf differs from the actual way how it is calculated in the errors_mod.F90 file. In the code the mean value is bin dependent.
There is also a sum missing in the...The definition of the correlation function for autocorrelation times in doc.pdf differs from the actual way how it is calculated in the errors_mod.F90 file. In the code the mean value is bin dependent.
There is also a sum missing in the documentation (Eq. (116) in Sec. 4.2).https://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/255Multiple_HS_fields_per_operator2023-06-19T08:02:51ZFakher F. AssaadMultiple_HS_fields_per_operator There are cases, such as spin-Peierls type Hamiltonians where we need to link two fields per operator. To achieve this, we will have to update the fields class (I think). Here is an explicit example where such ... There are cases, such as spin-Peierls type Hamiltonians where we need to link two fields per operator. To achieve this, we will have to update the fields class (I think). Here is an explicit example where such a feature would be needed. ![Alf](/uploads/0f20451e945268db7903862226b63b08/Alf.png)Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/254Extended_zone_scheme2023-06-19T07:36:23ZFakher F. AssaadExtended_zone_schemeIn the parameter file in the error name-space I suggest to add a variable for extended-zone scheme:
```
Number_of_BZ = 2
```
If Number_of_BZ = 0 then we compute the trance for time displaced observables and S_(no...In the parameter file in the error name-space I suggest to add a variable for extended-zone scheme:
```
Number_of_BZ = 2
```
If Number_of_BZ = 0 then we compute the trance for time displaced observables and S_(no,no_1) (q) for the equal time correlations. This is the very same as before.
If Number_of_BZ > 0 then the program will do the following for both the equal time and time displaced correlations:
```
S(q, tau) = \sum_{R} e^{-i q (R + r_no1 + r_no2)} S_{no1,no2}(R)
```
for q in
```
BZ + n b_1 + m b_2
```
with n,m : 1... Number_of_BZ and
```
b_i a_j = 2 \pi \delta_{i,j}Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/253Covariance matrix2023-06-19T07:57:54ZFakher F. AssaadCovariance matrixTo run the MaxEnt correctly, we need the covariance matrix. No problem you would say, let's cumulate enough bins such and then determine it during the post-processing. This is in principle OK, but since you need ...To run the MaxEnt correctly, we need the covariance matrix. No problem you would say, let's cumulate enough bins such and then determine it during the post-processing. This is in principle OK, but since you need at least 2*Ltrot bins this will become very expensive disc wise. Also all our analysis is cache limited since we read in all the bins. Hence the suggestion to define a new flag
```
Running_average == true/false
```
in the observable type, that would monitor if we keep a running average and covariance or if we cumulate bins. Cumulating bins would be the default and would be backward compatible. If the running average is true, then for a scalar observable we would store
```
# of bins, <sign * O >, <sign>, <(sign * O)**2>, < sign **2 >
```
each time we get a new bin, the we update the file. In this way, the size of the file never grows. This is of course not the ideal since we a-priori do not know what the autocorrelation time is. I would also have to think about how this method would combine with a jackknife approach.Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/pyALF/-/issues/29Get info for MaxEnt from HDF5 data file2023-05-09T16:05:57ZJonas SchwabGet info for MaxEnt from HDF5 data filehttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/239TREX CoE2023-03-29T15:32:52ZJonas SchwabTREX CoEThis project has defined some standras that might be worth looking into @ALF
https://trex-coe.eu/trex-quantum-chemistry-codes/qmckl
https://arxiv.org/abs/2302.14793This project has defined some standras that might be worth looking into @ALF
https://trex-coe.eu/trex-quantum-chemistry-codes/qmckl
https://arxiv.org/abs/2302.14793https://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/238Represent restarts from checkpoints in HDF5 data file2023-03-17T15:47:41ZJonas SchwabRepresent restarts from checkpoints in HDF5 data fileCurrently, the `data.h5` file has the following structure:
```
data.h5
├── lattice ................... Attached attributes describe Bravais lattice and unit cell
├── X_scal........................................ Attached attribute: ana...Currently, the `data.h5` file has the following structure:
```
data.h5
├── lattice ................... Attached attributes describe Bravais lattice and unit cell
├── X_scal........................................ Attached attribute: analysis_mode
│ ├── obser.......................................Dataset of shape (NBins, Nobs, 2)
│ └── sign................................................Dataset of shape (NBins)
├── Y_eq Y_tau................................... Attached attributes: Channel, dtau
│ ├── lattice ................ Attached attributes describe Bravais lattice and unit cell
│ ├── obser.................... Dataset of shape (NBins, Norbs, Norbs, Ntau, Nlatt, 2)
│ ├── back....................................... Dataset of shape (NBins, Norbs, 2)
│ └── sign................................................Dataset of shape (NBins)
└── parameters
├── namelist_1................Attached attributes are the parameters in namelist_1
├── .
└── namelist_n................Attached attributes are the parameters in namelist_n
```
Which does not resolve restarts from confout/confin. This has, for example, the following disadvantages:
* Parameter changes between restarts, for example for annealing, are not recorded in the HDF5 file
* It's harder to recover from a failed rerun
* Adding an observable between reruns is very intransparent.
Therefore it might make sense to add an additional hierarchy to the file, like this:
```
data.h5
├── step1
│ ├── lattice ................... Attached attributes describe Bravais lattice and unit cell
│ ├── X_scal........................................ Attached attribute: analysis_mode
│ │ ├── obser.......................................Dataset of shape (NBins, Nobs, 2)
│ │ └── sign................................................Dataset of shape (NBins)
│ ├── Y_eq Y_tau................................... Attached attributes: Channel, dtau
│ │ ├── lattice ................ Attached attributes describe Bravais lattice and unit cell
│ │ ├── obser.................... Dataset of shape (NBins, Norbs, Norbs, Ntau, Nlatt, 2)
│ │ ├── back....................................... Dataset of shape (NBins, Norbs, 2)
│ │ └── sign................................................Dataset of shape (NBins)
│ └── parameters
│ ├── namelist_1................Attached attributes are the parameters in namelist_1
│ ├── .
│ └── namelist_n................Attached attributes are the parameters in namelist_n
├── step2
│ ├── lattice ................... Attached attributes describe Bravais lattice and unit cell
│ ├── X_scal........................................ Attached attribute: analysis_mode
│ │ ├── obser.......................................Dataset of shape (NBins, Nobs, 2)
│ │ └── sign................................................Dataset of shape (NBins)
│ ├── Y_eq Y_tau................................... Attached attributes: Channel, dtau
│ │ ├── lattice ................ Attached attributes describe Bravais lattice and unit cell
│ │ ├── obser.................... Dataset of shape (NBins, Norbs, Norbs, Ntau, Nlatt, 2)
│ │ ├── back....................................... Dataset of shape (NBins, Norbs, 2)
│ │ └── sign................................................Dataset of shape (NBins)
│ └── parameters
│ ├── namelist_1................Attached attributes are the parameters in namelist_1
│ ├── .
│ └── namelist_n................Attached attributes are the parameters in namelist_n
...
```Jonas SchwabJonas Schwabhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/231momentum grid for non-trivial boundary conditions2023-03-13T13:57:18ZJohannes Hofmannmomentum grid for non-trivial boundary conditionsWe noticed an issue with the Green's function in momentum space when finite values for Phi_x and/or Phi_y are selected, giving rise to non-trivial boundary conditions different from periodic ones.
Let me quote the initial email exchange...We noticed an issue with the Green's function in momentum space when finite values for Phi_x and/or Phi_y are selected, giving rise to non-trivial boundary conditions different from periodic ones.
Let me quote the initial email exchange with Fakher.
I asked:
... we noticed a subtlety, when finite phi_x and phi_y modify the boundary conditions (bulk=false); in particular, should the BC shift the momenta?
I guess k --> k + phi_x a_1 + phi_y a_2 should be the proper momenta for the fermionic greens function while q, the momentum of bosonic correlation functions, remains unchanged. As far as I can tell, this is not included in the current ALF code, and the lattice does not quite have the capacity to include this yet. One could store phi_x/y as part of the observables and shift the momenta when performing the FT from real space to momentum space (and back). These changes should also find their way to pyALF, I assume (@Jonas_schwab cc'ed).
Am I missing something or should I open an issue on the website to track and implement this?
Fakher's answer:
You are absolutely correct. With bulk=false the momenta for particle quantities such as the Green function should shift but not for particle-hole quantities such as spin-spin correlations. As you correctly point out, the lattice module that handles the Fourier transform only works for periodic boundary conditions. Since bulk=true and bulk=false are related by a canonical transformation, why not just used bulk=true in the code and then carry out the canonical transformation to bulk=false (so as to shift your momenta) in the post-processing stage. This would mean that we would have to depreciate bulk=false. I would actually be very happy to do this. I actually can not really remember why we included this…..
The other solution would be to include the boundary information in the lattice module and change the quantization of the momenta. As
for the time-dependent observables, we should add to the equal time observables the predicate P, PH, etc. For particle-hole observables,
the momenta are k - k’ and are hence independent of the boundary shift. For particle observables, the momenta are then just k with the shift. I think
that this would be an elegant way of doing things. But then we are only talking about a canonical transformation.
BTW, since you are talking about the Fourier transformation. There are of course obvious issues when you use the orbital magnetic field.
Strictly speaking, we should define the gauge-dependent magnetic unit cell and work in an extended zone scheme.Johannes HofmannJohannes Hofmannhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/224Read in Hamiltonian from external file(s)2023-12-12T15:19:53ZJonas SchwabRead in Hamiltonian from external file(s)We want to enable users to define a Hamiltonians by writing a file that contains the objects defining a general Hamiltonian. This file would be read in at runtime.
On the technical side, this feature would be implemented as a submodule ...We want to enable users to define a Hamiltonians by writing a file that contains the objects defining a general Hamiltonian. This file would be read in at runtime.
On the technical side, this feature would be implemented as a submodule Hamiltonian. As input file format to use, we have identified the following options:
- **Plain text.** This has the downside of being very unstructured, which hampers portability to other languages and programs.
- **HDF5**, which is already part of the ALF dependencies and can contain arbitrary hierarchical structures. On the downside, it can not be viewed and edited with plain text tool, on the other hand popular interpreted languages can work with is easily.
- **JSON** combines plain text accessibility with good capabilities to structure contents, but Fortran does not support JSON natively so adding support through e.g. [this library](http://jacobwilliams.github.io/json-fortran/) would be additional work and introduce additional dependencies.
For now, we decided to go with HDF5.Fakher F. AssaadFakher F. Assaadhttps://git.physik.uni-wuerzburg.de/ALF/hamiltonians/-/issues/1Create Hamiltonian repository2022-04-05T06:13:02ZJonas SchwabCreate Hamiltonian repository@ALF
I drafted here something that may function as the Hamiltonian repository we discussed today. It automatically generates [this website](http://gitpages.physik.uni-wuerzburg.de/alf/hamiltonians).@ALF
I drafted here something that may function as the Hamiltonian repository we discussed today. It automatically generates [this website](http://gitpages.physik.uni-wuerzburg.de/alf/hamiltonians).https://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/218Clean up / organize ALF directory2022-05-30T13:13:55ZJefferson Stafusa E. PortelaClean up / organize ALF directoryWe could try to slim down a bit ALF's installation directory.
Currently we have, typically:
```bash
Analysis
CHANGELOG.md
CITATION
CITATION.cff
COMMUNITY.md
configure.sh
Documentation
doxygen
get_compiler_version.F90
gitintro.pdf
HDF5
I...We could try to slim down a bit ALF's installation directory.
Currently we have, typically:
```bash
Analysis
CHANGELOG.md
CITATION
CITATION.cff
COMMUNITY.md
configure.sh
Documentation
doxygen
get_compiler_version.F90
gitintro.pdf
HDF5
Images
Libraries
license.additional
license.gpl
license.lapack
Makefile
Mathematica
Prog
README.md
roadmap.md
Scripts_and_Parameters_files
testsuite
```
One possibility is to group a few of those, e.g.:
- `Code` (new): containing Analysis, HDF5, Libraries, Prog, testsuite and Hamiltonians (if we follow issue #204 and move Hamiltonians out of Prog)
- `Tools` (new): containing gitintro.pdf, Mathematica, get_compiler_version.F90, and Scripts (`Scripts_and_Parameters_files` minus `Start`, to be moved to base directory)
- `Documentation`: include doxygen and Images in it
This way we'd end up with:
```bash
CHANGELOG.md
CITATION
CITATION.cff
Code
COMMUNITY.md
configure.sh
Documentation
license.additional
license.gpl
license.lapack
Makefile
README.md
roadmap.md
Start
Tools
```https://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/216extend Hubbard model implementation2022-03-14T12:54:18ZJohannes Hofmannextend Hubbard model implementationhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/213Reduce repository size2023-04-03T13:10:37ZJonas SchwabReduce repository sizeThe ALF repository is pretty big (~800MB), I believe that's mainly because there used to be some Monte Carlo data in the repository. It might make sense to run [git filter-repo](https://github.com/newren/git-filter-repo/blob/main/README....The ALF repository is pretty big (~800MB), I believe that's mainly because there used to be some Monte Carlo data in the repository. It might make sense to run [git filter-repo](https://github.com/newren/git-filter-repo/blob/main/README.md) as also described [here](https://docs.gitlab.com/ee/user/project/repository/reducing_the_repo_size_using_git.html).
This is not of high priority, but I just wanted to document it.Jonas SchwabJonas Schwabhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/212Add tools for converting plain text bins to HDF5 format2022-03-14T12:43:44ZJonas SchwabAdd tools for converting plain text bins to HDF5 formatJonas SchwabJonas Schwabhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/211Add Nematic Dirac Hamiltonian2022-05-23T17:23:50ZJonas SchwabAdd Nematic Dirac HamiltonianAdd Hamiltonian used in [arXiv:2110.02668](https://arxiv.org/abs/2110.02668)Add Hamiltonian used in [arXiv:2110.02668](https://arxiv.org/abs/2110.02668)Jonas SchwabJonas Schwabhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/208rework hop_mod and wrapgrup and wrapgrdo2021-12-08T13:33:11ZFlorian Gothrework hop_mod and wrapgrup and wrapgrdoFlorian GothFlorian Gothhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/203Restructuring confin and confout files to confin_* and conf_backup_*2021-10-25T13:16:08ZFakher F. AssaadRestructuring confin and confout files to confin_* and conf_backup_*https://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/201Store compilation flags. Output them with ALF.out --help2022-06-03T10:10:42ZFakher F. AssaadStore compilation flags. Output them with ALF.out --helpJonas SchwabJonas Schwabhttps://git.physik.uni-wuerzburg.de/ALF/ALF/-/issues/200Update the seeds file for different simulations automatic in the new version ...2021-08-23T08:15:16ZYuhai LiuUpdate the seeds file for different simulations automatic in the new version of ALFIf simulations of different parameters shared same initial seeds file. Since they took identical sequence of random numbers,there would be inter-correlation between different data points. Of course, the inter-correlation should decay wit...If simulations of different parameters shared same initial seeds file. Since they took identical sequence of random numbers,there would be inter-correlation between different data points. Of course, the inter-correlation should decay with the distance and simulation time. But this is model dependent, sometimes it is much longer than the warming up time. So it will be convenient for us to update the seeds file for different simulations automatic in the new version of ALF.