Skip to main content

GPU Powered CMB Parametric Component Seperation using Furax and JAX

Project description

FURAX Component Separation

PyPI version License: MIT pre-commit

FURAX-CS (FURAX Component Separation) is a Python package designed to benchmark and implement advanced component separation techniques for Cosmic Microwave Background (CMB) analysis. It leverages JAX for high-performance computing on GPUs and implements novel adaptive clustering methods.

This project specifically focuses on comparing:

  • FGBuster: parametric component separation (standard).
  • FURAX: Adaptive, gradient-based separation with spatially varying spectral parameters.

Furax ADABK

Furax CS is a comprehensive software package designed for Component Separation for the Cosmic Microwave Background (CMB) data analysis. The main tool is the minimizer provided under the name of Furax ADABK which is an adaptive gradient based optimizer specifically designed to handle extremely noise dominated data such as CMB observations and physical bound constraints. The minimizer is orders of magnitude faster than traditional minimizers such as Scipy-TNC and is able to reach lower minima in fewer iterations.

Runtime Comparison

This provides a much easier and faster way to explore the spatial variability of foregrounds and their impact on the CMB recovery.

This has an impact on the estimated r tensor-to-scalar ratio as shown in the figure below where we compare the likelihood profiles obtained with using the KMeans spatial clustering gridding runs and compared with LiteBIRD PTEP-like run obtained using FGBuster using multiresolution spatial clustering.

r Likelihood Comparison


Installation

1. Prerequisites (JAX)

This package depends on JAX. To enable GPU acceleration (highly recommended), you must install the CUDA version of JAX before installing this package.

For NVIDIA GPUs:

pip install -U "jax[cuda]"

For CPU only:

pip install jax

2. Install Package

First, install the package from PyPi

pip install furax-cs

Some packages are not up to date on PyPi, to install the latest development version, install the requirement files after installing furax-cs:

pip install -r https://raw.githubusercontent.com/CMBSciPol/furax-cs/main/requirements.txt

Documentation


Development

Running Tests

pytest

Pre-commit Hooks

Ensure code quality before committing:

pre-commit install
pre-commit run --all-files

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

furax_cs-0.1.0.tar.gz (100.1 kB view details)

Uploaded Source

Built Distribution

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

furax_cs-0.1.0-py3-none-any.whl (116.1 kB view details)

Uploaded Python 3

File details

Details for the file furax_cs-0.1.0.tar.gz.

File metadata

  • Download URL: furax_cs-0.1.0.tar.gz
  • Upload date:
  • Size: 100.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for furax_cs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 162667acd4d8113a443fc342caa600154d34ec4ac282de9283b79354d8026132
MD5 e84114c79d12abcdd143450e53809355
BLAKE2b-256 6b3b5443791a32b371770554e6eb7043eac03d1da949e2b592ea61e6ffe37601

See more details on using hashes here.

Provenance

The following attestation bundles were made for furax_cs-0.1.0.tar.gz:

Publisher: python-publish.yml on CMBSciPol/furax-cs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file furax_cs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: furax_cs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 116.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for furax_cs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59cad84364b16d31ffef8f2cd70816069dc287fc9158aa92f1f0a69522302bcf
MD5 322207db6c521f78947b57d35185c2a5
BLAKE2b-256 27d25217f94cb76378a0b934a1deaf732ccb2bb7c8feccb8d6e20299b966cf48

See more details on using hashes here.

Provenance

The following attestation bundles were made for furax_cs-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on CMBSciPol/furax-cs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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