Skip to main content

Simple fixed-point solver implemented in JAX

Project description

PyPI version CI CD

Fixed-point solver

fxp-jax is a simple implementation of a fixed-point iteration algorithm for root finding in JAX. The implementation allow the user to solve the system of fixed point equations by standard fixed point iterations and the SQUAREM accelerator, see Du and Varadhan (2020).

Installation

pip install fxp-jax

Usage

import jax
import jax.numpy as jnp
from jax import random

from fxp_jax import fxp_root

jax.config.update("jax_enable_x64", True)

accelerator = "SQUAREM"

N = 100

a = random.uniform(random.PRNGKey(111), (N,1))
b = random.uniform(random.PRNGKey(112), (1,1))

def fun(x: jnp.ndarray) -> tuple[jnp.ndarray, jnp.ndarray]:
    y = a + x @ b
    return y, y - x

fxp = fxp_root(fun, accelerator=accelerator)

result = fxp.solve(jnp.zeros_like(a))

y, z = fxp.fun(result.x)

print('--------------------------------------------------------')
print(f'System of fixed-point equations is solved: {jnp.allclose(result.x, y)}.')
print(f'Roots are zero: {jnp.allclose(z, 0.0)}.')
print('--------------------------------------------------------')

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

fxp_jax-0.2.5.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

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

fxp_jax-0.2.5-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file fxp_jax-0.2.5.tar.gz.

File metadata

  • Download URL: fxp_jax-0.2.5.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.14

File hashes

Hashes for fxp_jax-0.2.5.tar.gz
Algorithm Hash digest
SHA256 a48323ed7f1d79f81aeb377c8bee1d29735b16dcc39c5d953b7fcfa0f206cfa1
MD5 1bc477ad74ec85bfa35037e67c6787de
BLAKE2b-256 fcb99ee38a3a030204e697eff928c7dfe46c65ebb25a4b60ea93b1a1f52e6a8f

See more details on using hashes here.

File details

Details for the file fxp_jax-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: fxp_jax-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.14

File hashes

Hashes for fxp_jax-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0248328e8a5fd4fa6dfc39645b559945097410bd7eb1bca729fc86c79d9ab103
MD5 aca367468c76e6419d45495b5be1bade
BLAKE2b-256 8c9e77c4bf31fbf544bf3d5730df32d3371e77648ac36f43cfa9efa800a38d7e

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