Skip to main content

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

Metadata

Release files for pypielm 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypielm 0.1.0
File Size Uploaded
pypielm-0.1.0.tar.gz 231.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypielm 0.1.0
File Interpreter ABI Platform
pypielm-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 318.4 kB

Release files / pypielm-0.1.0.tar.gz

Download URL pypielm-0.1.0.tar.gz
Size 231.4 kB
Tags Source
SHA-256 checksum
How to use checksums
01235f0f3cc30769488475f30b7bd28073619af8f252cc4c2bc4d3ab5d1b0432
BLAKE2b-256 checksum
How to use checksums
d6c132ec4b67091b9556252e6b246304692dd0bc79070e7e5e95de4142846621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release files / pypielm-0.1.0-py3-none-any.whl

Download URL pypielm-0.1.0-py3-none-any.whl
Size 87.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2efae8ff29fad2907bbf03ef7b608b2f129483eb9b29758fe3f94f3392eb65e5
BLAKE2b-256 checksum
How to use checksums
3b322d3657d449a01cd136836b05928caba57d1dc0ac6d7a5eb411186073b181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page