Skip to main content

No project description provided

Project description

numerax

tests docs DOI

Statistical and numerical computation functions for JAX, focusing on tools not available in the main JAX API.

📖 Documentation

Installation

pip install numerax

Features

Special Functions

Inverse functions for statistical distributions with differentiability support:

import jax.numpy as jnp
import numerax

# Inverse functions for statistical distributions
x = numerax.special.gammap_inverse(p, a)  # Gamma quantiles
y = numerax.special.erfcinv(x)  # Inverse complementary error function

# Chi-squared distribution (includes JAX functions + custom ppf)
x = numerax.stats.chi2.ppf(q, df, loc=0, scale=1)

Key features:

  • Inverse functions for statistical distributions missing from JAX
  • Full differentiability and JAX transformation support

Profile Likelihood

Efficient profile likelihood computation for statistical inference with nuisance parameters:

import jax.numpy as jnp
import numerax

# Example: Normal distribution with mean inference, variance profiling
def normal_llh(params, data):
    mu, log_sigma = params
    sigma = jnp.exp(log_sigma)
    return jnp.sum(-0.5 * jnp.log(2 * jnp.pi) - log_sigma 
                   - 0.5 * ((data - mu) / sigma) ** 2)

# Profile over log_sigma, infer mu
is_nuisance = [False, True]  # mu=inference, log_sigma=nuisance

def get_initial_log_sigma(data):
    return jnp.array([jnp.log(jnp.std(data))])

profile_llh = numerax.stats.make_profile_llh(
    normal_llh, is_nuisance, get_initial_log_sigma
)

# Evaluate profile likelihood
data = jnp.array([1.2, 0.8, 1.5, 0.9, 1.1])
llh_val, opt_nuisance, diff, n_iter = profile_llh(jnp.array([1.0]), data)

Key features:

  • Convergence diagnostics and configurable optimization parameters
  • Automatic parameter masking for inference vs. nuisance parameters

Utilities

Development utilities for creating JAX functions with custom derivatives while ensuring proper documentation support. Includes decorators for preserving function metadata when using JAX's advanced features.

Acknowledgements

This work is supported by the Department of Energy AI4HEP program.

Citation

If you use numerax in your research, please cite it using the citation information from Zenodo (click the DOI badge above) to ensure you get the correct DOI for the version you used.

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

numerax-1.0.2.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

numerax-1.0.2-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file numerax-1.0.2.tar.gz.

File metadata

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

File hashes

Hashes for numerax-1.0.2.tar.gz
Algorithm Hash digest
SHA256 246104d99d260278edd2b2911b7843d62e68cb7c3bae3f4db64989f2a4c1d26f
MD5 cfe8f8d6dbfb62998c0d1a1c2091d59e
BLAKE2b-256 710f1fea2655bed654048024418a3bfe570da40c3c3e351b88d41469e5048b8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for numerax-1.0.2.tar.gz:

Publisher: publish.yml on juehang/numerax

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

File details

Details for the file numerax-1.0.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for numerax-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 58e64fcd7492fa485a1097d0a8fc760ae3833547e1a602cec38e1361cba2ba29
MD5 6d1078e9fda796f08b0be9ab3082b322
BLAKE2b-256 78ff5886254bbb13ad502c21be6745823404156afd9d817e7be2efc663488edb

See more details on using hashes here.

Provenance

The following attestation bundles were made for numerax-1.0.2-py3-none-any.whl:

Publisher: publish.yml on juehang/numerax

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