Skip to main content

Laplace approximations in JAX.

Project description

Laplax Logo


Python 3.11+ Test Docs Coverage Status

What is laplax?

The laplax package aims to provide a performant, minimal, and practical implementation of Laplace approximation techniques in jax. This package is designed to support a wide range of scientific libraries, initially focusing on compatibility with popular neural network libraries such as equinox, flax.linen, and flax.nnx. Our goal is to create a flexible tool for both practical applications and research, enabling rapid iteration and comparison of new approaches.

Installation

Use pip install laplax.

Documentation

Available at https://laplax-org.github.io/laplax/.

Design Philosophy

The development of laplax is guided by the following principles:

  • Minimal Dependencies: The package only depends on jax, ensuring compatibility and ease of integration.

  • Matrix-Vector Product Focus: The core of our implementation revolves around efficient matrix-vector products. By passing around callables, we maintain a loose coupling between components, allowing for easy interaction with various other packages, including linear operator libraries in jax.

  • Performance and Practicality: We prioritize a performant and minimal implementation that serves practical needs. The package offers a simple API for basic use cases while primarily serving as a reference implementation for researchers to compare new methods or iterate quickly over experiments.

  • PyTree-Centric Structure: Internally, the package is structured around PyTrees. This design choice allows us to defer materialization until necessary, optimizing performance and memory usage.

Roadmap and Contributions

We're developing this package in public, and discussions about the roadmap and feature priorities are structured in the Issues section. If you're interested in contributing or want to see what's planned for the future, please check them out.

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

laplax-0.0.2.tar.gz (55.4 kB view details)

Uploaded Source

Built Distribution

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

laplax-0.0.2-py3-none-any.whl (67.7 kB view details)

Uploaded Python 3

File details

Details for the file laplax-0.0.2.tar.gz.

File metadata

  • Download URL: laplax-0.0.2.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for laplax-0.0.2.tar.gz
Algorithm Hash digest
SHA256 7dbeff1c435ac3beb3a052105266682ca96a018e2338e0dfdd1454bdc003d3c4
MD5 9b7d403a6774684cef36cc4dc0cf0ea2
BLAKE2b-256 c8d2d4203f3406f1c51daba70714bffdbf6ccaa034e623673fd9ae34d76ef403

See more details on using hashes here.

File details

Details for the file laplax-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: laplax-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 67.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for laplax-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9ad3f20a95c5c80e3d4d248cd2baa88d38fc058d9d8376a6021d4e11c981ad8f
MD5 5e06f5a5e743704acc390fd69f80f660
BLAKE2b-256 1606c85bc605c095f5264f0f3564cc255fa4eac96f2609bdbbf925726f2693f6

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