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.1.tar.gz (101.7 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.1-py3-none-any.whl (117.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: furax_cs-0.1.1.tar.gz
  • Upload date:
  • Size: 101.7 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.1.tar.gz
Algorithm Hash digest
SHA256 d1d7a03e06707dd485ae5069afcc47fea889a1d8b3e227e7f2df7746cb7bb22b
MD5 8c59ce94d3dbcf76aa12be51c771fdfa
BLAKE2b-256 7fd76fd2a13389cdee27b173bcecda0a7e328d5f3f02aa6a6879af622da77b22

See more details on using hashes here.

Provenance

The following attestation bundles were made for furax_cs-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: furax_cs-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 117.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3283293681eebc8d62fc688ae480311a071d376fb6d03429d580f33d9cdf6bcf
MD5 0e0814bce27080c708da824b5623b59a
BLAKE2b-256 c2cb3d618d9e053fcd499abc718ab6276eaadb1d47b0c0760d135bdd66435288

See more details on using hashes here.

Provenance

The following attestation bundles were made for furax_cs-0.1.1-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