Skip to main content

Tool for measuring 3/4 PCFs on discrete periodic data.

Project description

codecov PyPI

A useful python package to measure the 3/4 PCFs of discrete periodic data in NlogN time. This is done using Fast Fourier Transforms. The package is available on PyPi via the command pip install sarabande.

Basic Usage:

import sarabande

NPCF_obj = sarabande.measure(**kwargs)
sarabande.calc_zeta(NPCF_obj)
zeta = NPCF_obj.zeta

Where **kwargs can be any of the arguments to the measure constructor function. The possible arguments are:

Args:

  • nPCF ([int]): Must be either 3 or 4. Determines how many points we use in our nPCF.

  • projected ([bool]): Flag to determine whether the user wants a projected 3/4 PCF or the Full. Defaults to False.

    • if projected:
      • m_max ([int]): If user chooses projected, we set an m_max (similar to the ell_max in 3D)
    • if not projected:
      • ell_max ([int]): If user choosees not projected (full nPCF) then ell_max is the highest order for calculation.
  • density_field_data ([ndarray]): A square ndarray of data that is periodic. Must be 2D for projected and 3D for full.

  • save_dir ([string]): A string to tell the algorithm where to save and store files. All temporary files will be stored here.

  • save_name ([string]): A string to tell the algorithm what to name the files.

  • nbins ([int]): Number of bins to be used in nPCF calculation.

  • bin_spacing ([string]): A string to determine the spacing of bins. Options are 'LIN', 'INV', or 'LOG'

  • bin_min ([int]): The lower bound of the inner most bin. Default is 1. Optional.

  • physical_boxsize ([float]): An optional parameter if using a physical scale. The length of one side of the data.

  • rmin ([float]): minimum calculation distance (determins bin_min)

  • rmax ([float]): maximum calculation distance (determins bin_max)

  • normalize ([bool]): A boolean flag to normalize the 3/4 PCFs. Defaults to True. Can't use normalize without giving a physical_boxsize, rmin, and rmax first.

  • particles_on_grid ([bool]): An optional boolean flag to modify the normalization scheme slightly. This is recommended if you are working with particles on the grid mesh where a given cell corresponds to a particle.

We note that the calc_zeta method has an optional boolean argument verbose_flag which can be turned on and off depending on if the user wants to see the steps of the code printed. We also add an optional boolean argument parallelized which can be turned on and off if the user wishes to compute the Full 4PCF serially. This is added due to the instability of concurrent.futures and parallel processing in python across different machines.

For an example, please visit the demo notebook in the analysis notebooks folder: notebooks/Application_Example.ipynb

Workflow:

The map of SARABANDE is as follows:

For more information about each algorithm, please read Sunseri et al. 2022

Coverage codecov

We provide a sunburst plot of the code coverage for sarabande below provided by codecov.io. The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.

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

sarabande-0.3.2.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

sarabande-0.3.2-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file sarabande-0.3.2.tar.gz.

File metadata

  • Download URL: sarabande-0.3.2.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for sarabande-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f4c5bcb8ae7aa28ce21ee2020cdb792b7aa31b8e45e48cf2e510c75aabb77f88
MD5 994209c180c07fe358df1c881cb8f879
BLAKE2b-256 8632abfa3c99928f7ffb016da4ddfc40cd01094d646f21388bf2005055e1b634

See more details on using hashes here.

Provenance

File details

Details for the file sarabande-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: sarabande-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for sarabande-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7bf597f0d303c2e905e756f3dabec08def5946238dac99bdd1037eeb9011845
MD5 31d68088f88b7e847492ec1f0fb2db82
BLAKE2b-256 5c3628f0bde655d84c29df9d3cea7e7f300cd1d8d3ffc7110a5942e7b6363b63

See more details on using hashes here.

Provenance

Supported by

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