ed-lgt

Code for Exact Diagonalization of Quantum Many-Body Hamiltonians and Lattice (Abelian and Non-Abelian) Gauge Theories in D=1,2,3 spatial dimensions

https://github.com/gcataldi96/ed-lgt

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Code for Exact Diagonalization of Quantum Many-Body Hamiltonians and Lattice (Abelian and Non-Abelian) Gauge Theories in D=1,2,3 spatial dimensions

Basic Info
  • Host: GitHub
  • Owner: gcataldi96
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 1.47 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

Exact_Diagonalization

Code for Exact Diagonalization of Quantum Many-Body Hamiltonians and Lattice Gauge Theories.

Read the whole Documentation on https://ed-su2.readthedocs.io/en/latest/

Setup

1) Download from git the repository

    git clone --recursive git@github.com:gcataldi96/ed-lgt.git

2) Create the Environment with all the needed python packages

    conda env create -f ed-lgt/environment.yml
    conda activate ed

3) Install the library

    cd ed-lgt/
    pip install -e .

Enjoy 👏

Configure Simsio Simulations

Just in case you want to use Simsio to run simulations, do the following steps:

1) (ignore it unless you create the repo for the first time) Add the simsio library as a submodule (it should be already there)

    git submodule add https://github.com/rgbmrc/simsio.git
    git add .
    git commit -m "Add simsio submodule to the TTN code"

2) Update and get all the submodules

    git submodule update
    git submodule recursive

This is an example of a config file that should be created inside the folder configs (if this latter does not exist, create the directory):

===:
template: |
    n$enum:
    <<<: common
    g: $g
common:
    dim: 2
    lvals: [2,2]
    pure: false
    has_obc: false
    DeltaN: 2
    m: 1.0
n0:
    <<<: common
    g: j0
n1:
    <<<: common
    g: j1

where j0 and j1 are two values of g that one would like to simulate.

If you want to create a larger set of simulations automatically, run a script like the following:

from simsio import gen_configs
import numpy as np

params = {"g": np.logspace(-1, 1, 10)}
gen_configs("template", params, "config_NAME_FILE")

Then, in "configNAMEFILE.yaml" it will add simulations like

    ni:
    <<<: common
    g: j

where

$i$ is the $i^{th}$ simulation corresponding to the model with the g-parameter (which is not common to all the other simulations) equal to $j$.

Run Simulations

To run simulations, just type on the command shell the following command. On linux:

nohup bash -c "printf 'n%s\n' {0..N} | shuf | xargs -PA -i python script.py config_NAME_FILE {} B" &>/dev/null &

On MAC:

nohup bash -c "printf 'n%s\n' {0..N} | xargs -PA -I% python script.py config_NAME_FILE % B" &>/dev/null &

where

1) N is the total number of simulations in the configfilename,

2) A is the number of processes in parallel

3) B is the number of single-node threads per simulation

Owner

  • Name: Giovanni Cataldi
  • Login: gcataldi96
  • Kind: user
  • Company: University of Padua

I am a PhD student in Physics at the University of Padua. I am interested in Quantum Many-Body Systems and Tensor Network simulations

Citation (CITATION.cff)

cff-version: 1.2.0
title: ed-lgt
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Giovanni
    family-names: Cataldi
    email: giovacataldi96@gmail.com
    affiliation: University of Padua
    orcid: 'https://orcid.org/0000-0002-9073-8978'
repository-code: 'https://github.com/gcataldi96/ed-lgt'
abstract: >-
  The Exact Diagonalization Library for Lattice Gauge
  Theories provides a powerful set of tools for performing
  exact diagonalization calculations on d-dimensional
  lattices, specifically targeting both Abelian and
  non-Abelian Lattice Gauge Theories. This library empowers
  researchers and practitioners in the field of quantum
  many-body systems to analyze and explore the behavior of
  complex lattice gauge theories through the precise
  computation of Hamiltonian eigenvalues and eigenvectors.
keywords:
  - Lattice Gauge Theories
  - Exact Diagonalization
  - Quantum Many Body Systems
license: Apache-2.0

GitHub Events

Total
  • Watch event: 4
  • Member event: 1
  • Public event: 1
  • Push event: 12
  • Fork event: 1
  • Create event: 1
Last Year
  • Watch event: 4
  • Member event: 1
  • Public event: 1
  • Push event: 12
  • Fork event: 1
  • Create event: 1

Dependencies

environment.yml pypi