Skip to main content

A user-friendly Python numerical integration library with GPU acceleration

Project description

FlashQuad

A user-friendly Python numerical integration library with GPU acceleration.

Installation

We recommend using uv:

uv add flashquad
uv sync

or directly install:

uv pip install flashquad

Quick start

import numpy as np
from flashquad import FlashQuad

fq = FlashQuad(backend="numpy")

result = fq.simpson(
    func=lambda x, y: np.sin(x) * np.cos(y),
    intervals=[[0, np.pi], [0, np.pi]],
    num_points=[101, 101],
)

Switch to GPU by changing the backend (we recommend using CuPy for minimal setup):

fq = FlashQuad(backend="cupy")

Batch thousands of parameter sets in a single GPU call:

import cupy as cp
from flashquad import FlashQuad

fq = FlashQuad(backend="cupy")
params = cp.linspace(0.1, 10.0, 5000).reshape(-1, 1)  # 5000 parameter sets

results = fq.simpson(
    func=lambda x, a: cp.exp(-a * x**2),
    intervals=[[0, 5]],
    num_points=[201],
    params=params,
)

Methods

Method Call
Trapezoidal fq.trapz(...)
Simpson's 1/3 fq.simpson(...)
Boole's fq.booles(...)
Gauss-Legendre fq.gauss(...)
Monte Carlo fq.mc(...)
Adaptive Monte Carlo fq.adpmc(...)

Backends

NumPy, PyTorch, CuPy, and JAX.

License

MIT

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

flashquad-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

flashquad-0.1.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flashquad-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for flashquad-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c03c40170869f90f3ec2f86adbdfa12555488fb02d3c11cd1e484931f95b7de0
MD5 21d2290163d559dfe9ecca34033e0a7d
BLAKE2b-256 5d3f440df66046b218161e7a855afebbf7fef5f9f526a23e3436b184882cfe1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flashquad-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for flashquad-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fdb78668d199be94c1c20293b493aa4db446cb89f5a25c7cf983529aadb34558
MD5 e2e5cd106cf8c1b52c610e505cda69d1
BLAKE2b-256 440e12793977b3633fb8a814c2a43db9d8d0b94eddfd8c4bdeb489cd17fef78d

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