Skip to main content

Supporting functions for handling the c++ library sigmond

Reason this release was yanked:

bad

Project description

Sigmond Scripts

This repository contains a set of scripts used for the analysis of 2-point temporal correlation functions. They depend on the sigmond analysis package (https://bitbucket.org/ahanlon/sigmond), and you should first have sigmond installed before using these scripts.

The analysis scripts use YAML configuration files to specify what you want to do.

Directory structure

  • analysis - contains the main scripts for running the analysis
    • run_sigmond.py - the driving script (pass -h to see options)
  • data_conversion - contains various scripts for converting data to various formats (e.g. hdf5, LapH-binary, sigmond-bins).
  • example_yamls - contains some example yaml files that can be passed to run_sigmond.py
  • doc - contains documenation for how to use the analysis scripts (not up to date at all)

What software requirements are there?

  • Python 3.8 is required
  • Many Python modules
    • wheel
    • cython
    • pybind11
    • pyyaml
    • progressbar
    • sortedcontainers
    • pylatex
    • numpy
    • uncertainties
    • aenum
    • tqdm
    • h5py
    • matplotlib

How do I get started?

  • You first need data in a format that sigmond can read (either LapH-binary or sigmond-bins). The data_conversion scripts can be used for this
  • Next you need some yaml configuration files to pass to run_sigmond.py using the -c option.

YAML files

For more information about YAML files, visit The Official YAML Web Site

Note that you can pass various yaml files using the -c option in run_sigmond.py. These will be combined to form one yaml file that actually gets run. Be careful about identical sections, because the last section encountered is the one that actually gets run. Using multiple yaml files allows for aliases and anchors between these files.

C103 Example

  • You first need the data in a format that sigmond can read. It can read the raw LapH data files produced from last_laph. However, the keys are identical in the files for each source time, so sigmond cannot distinguish these. We must first average all sources that have the same keys, then put the result in a separate file. Either these files will be provided for you, or you can generate them using the script data_conversion/C103/to_sigmond.py. Make sure to update the base_data_dir in data_conversion/C103/defs.py. base_data_dir should contain the following

    • r005/src0
    • r005/src1
    • r005/src2
    • r005/src3

    where the raw correlator files are located in each of the src* directories. Note that these scripts take 4.5 hours on my local computer to run.

  • cd example_yaml/C103_NN/

  • edit ensemble_info/C103_all.yml:

      Initialize:
        ensembles_file: <location of ensembles.xml file>  # can be left blank to use default
        project_directory: <location on local machine where you want all project files to be created>
        raw_data_directories:
          - <location of converted data from first step above>
        precompute: true   # doesn't really matter
    

    You can also change the resampling mode to Bootstrap.

        MCSamplingInfo:
          mode: bootstrap
          number_resampling: 1000
          seed: 3103
          boot_skip: 301
    
  • edit tasks/averaged_data.yml. Change sigmond_batch to the location of the sigmond binary produced when you installed sigmond.

  • Next run

      run_sigmond.py -d -c ensemble_info/C103_all.yml tasks/averaged_data.yml
    

    This run will average over all equivalent momentum frames and irrep rows, then produce a PDF showing the averaged data. Note that reading the large data files can take some time (not more than 5 minutes on my computer) One this task has been completed, subsequent tasks will be much easier.

  • edit ensemble_info/C103_none.yml to point to the correct file locations. edit tasks/rotations/isosinglet_nonstrange_nucleonnucleon.yml to change sigmond_batch location.

  • Then run

      run_sigmond.py -d -c ensemble_info/C103_none.yml other_info/pivot_info.yml tasks/rotations/isosinglet_nonstrange_nucleonnucleon.yml
    

    This will run the GEVP using the parameters in other_info/pivot_info.yml and the operators in tasks/rotations/isosinglet_nonstrange_nucleonnucleon.yml

  • edit tasks/spectrum/isosinglet_nonstrange_nucleonnucleon.yml to change sigmond_batch location.

  • Finally, run

      run_sigmond.py -d -c ensemble_info/C103_none.yml other_info/pivot_info.yml other_info/minimizer_info.yml non_interacting_levels/isosinglet_nonstrange_nucleonnucleon.yml tasks/spectrum/isosinglet_nonstrange_nucleonnucleon.yml
    

    This will produce the final spectrum. The non-interacting levels used to form the ratio are defined in non_interacting_levels/isosinglet_nonstrange_nucleonnucleon.yml, and the fit choices are defined in tasks/spectrum/isosinglet_nonstrange_nucleonnucleon.yml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigmond_scripts-0.0.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sigmond_scripts-0.0.1-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file sigmond_scripts-0.0.1.tar.gz.

File metadata

  • Download URL: sigmond_scripts-0.0.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for sigmond_scripts-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ca20f1149dd47a9596e3bf0ea38da6196640633d13252b8a16fe9b64b0a3b858
MD5 f9a2fe54d5a5d2e2f166897ad87d2a18
BLAKE2b-256 0637b91170618439cd2f54530f2b25c422737108559aee2f19b4b79850f21053

See more details on using hashes here.

File details

Details for the file sigmond_scripts-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sigmond_scripts-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f2d958050aedb0331654c6d1ea3bb18b687c741277629cccf4c109785472478d
MD5 e118f135769f8812e6fb1ee03e448683
BLAKE2b-256 cef65d403f27c83e4651417f961bdc2caba543ab8b8ba0c70bc8c8a0261797aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page