Skip to main content

A Unified and Reproducible Framework for Physics-Informed Extreme Learning Machines

Project description

PyPIELM

A Unified and Reproducible Framework for Physics-Informed Extreme Learning Machines

CI Coverage Python PyTorch License: CC BY-NC-ND 4.0


Overview

PyPIELM is an open-source PyTorch-native library that provides a unified implementation of 26+ Physics-Informed Extreme Learning Machine (PIELM) variants alongside PINN baselines for solving partial differential equations (PDEs). It exposes a scikit-learn-style fit / predict / score API so that any PIELM or PINN variant can be used in three lines of code.

Key Features

Feature Detail
26+ PIELM variants VanillaPIELM, BayesianPIELM, GFF-PIELM, DPIELM, LocELM, CurriculumPIELM, NullSpacePIELM, …
PINN baselines VanillaPINN, AdaptivePINN, FourierPINN, MuonPINN
Data adapters CSV, NPZ, PINNacle .dat, PDEBench HDF5, torch.utils.data.Dataset
PDE operators Autograd Laplacian/gradient, analytic fast paths for tanh/sin, BCs/ICs
Reproducibility YAML experiment configs, CLI, deterministic seeding
Export ONNX, TorchScript
Visualisation 1D/2D solution plots, error maps, Pareto fronts, leaderboard heatmaps

Installation

pip install pypielm                  # core only
pip install "pypielm[viz]"           # + matplotlib
pip install "pypielm[viz,bench]"     # + memory profiling
pip install "pypielm[dev]"           # full dev environment

From source:

git clone https://github.com/KStruniawski/pypielm.git
cd pypielm
pip install -e ".[dev]"

Quickstart

import pypielm
from pypielm.data import auto_load
from pypielm.models import CorePIELM
from pypielm.pde.operators import AnalyticLaplacian

# Load data (CSV, NPZ, PINNacle .dat, …)
ds = auto_load("data/poisson_classic.dat", source="pinnacle")

# Train model
model = CorePIELM(hidden_dim=300, ridge_lambda=1e-8)
model.fit(ds, pde_operator=AnalyticLaplacian())

# Evaluate
print(model.score(ds.X_test, ds.y_test))  # relative L² error

Documentation

Full API reference and tutorials: pypielm.readthedocs.io


Citation

If you use PyPIELM in your research, please cite:

@software{struniawski2026pypielm,
  author  = {Struniawski, Karol},
  title   = {{PyPIELM}: A Unified and Reproducible Framework for
             Physics-Informed Extreme Learning Machines},
  year    = {2026},
  url     = {https://github.com/KStruniawski/pypielm},
}

Related


License

CC BY-NC-ND 4.0 © Karol Struniawski

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

pypielm-0.1.0.tar.gz (231.4 kB view details)

Uploaded Source

Built Distribution

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

pypielm-0.1.0-py3-none-any.whl (87.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypielm-0.1.0.tar.gz
  • Upload date:
  • Size: 231.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for pypielm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01235f0f3cc30769488475f30b7bd28073619af8f252cc4c2bc4d3ab5d1b0432
MD5 2fa9f11de62bd1ab2a1c52ff61b3b59c
BLAKE2b-256 d6c132ec4b67091b9556252e6b246304692dd0bc79070e7e5e95de4142846621

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypielm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 87.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for pypielm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2efae8ff29fad2907bbf03ef7b608b2f129483eb9b29758fe3f94f3392eb65e5
MD5 b1f59a2b2a0f27514418b99d84c64de6
BLAKE2b-256 3b322d3657d449a01cd136836b05928caba57d1dc0ac6d7a5eb411186073b181

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