Skip to main content

wias — Weak Identification of Analytic Systems

wias is a Python library for data-driven identification of analytic systems in weak form based on the paper: A zero-one law for one-shot system identification by Nicolas Boullé, Diana Halikias, Samuel E. Otto, and Alex Townsend.

Features

  • Weak-form assembly for first- and second-order ODE systems
  • Sinusoidal test-function basis construction
  • Column-pivoted QR solver (CPQR_solver) for coefficient recovery
  • PDE support via optional Firedrake integration for finite-element weak-form assembly
  • Recovery of linearly-parametrized matrix families

Examples

Lorenz attractor

The identified model accurately reconstructs the chaotic Lorenz trajectory from noisy data.

Lorenz attractor: true vs recovered

Duffing oscillator

The phase portrait and time series of the identified Duffing oscillator match the ground truth closely over long integration times.

Duffing oscillator: true vs recovered

More examples are available in the examples/ folder, including Allen–Cahn, Navier–Stokes, and Hankel/circulant matrix problems.

Level-set for algebraic equations

Compute zero level set of a parameter-to-recovery map to identify inputs that lie in the degenerate set and do not allow recovery of the underlying system.

Level-set 3D visualization

Installation

git clone https://github.com/NBoulle/wias
cd wias
pip install .

Optional: Firedrake (PDE support)

PDE identification via wias.weak_assembly requires Firedrake. Follow the official installation instructions at https://www.firedrakeproject.org/install.html. Once installed, assemble_weak_library_rows becomes available automatically.

Citing WIAS

If you use wias in your research, please cite the following paper:

@article{boulle2026zero,
  title={A zero-one law for one-shot system identification},
  author={Boull\'e, Nicolas and Halikias, Diana and Otto, Samuel E. and Townsend, Alex},
  journal={arXiv preprint arXiv:2607.15832},
  year={2026}
}

Release files for wias 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 wias 0.1.0
File Size Uploaded
wias-0.1.0.tar.gz 14.6 kB Details

Built distribution (wheel)

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

Total release size: 23.0 kB

Release files / wias-0.1.0.tar.gz

Download URL wias-0.1.0.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
23784972cd6b3225a6dc4a63a10a949b22c78103fc06ad540fada85e376ea6a9
BLAKE2b-256 checksum
How to use checksums
e8ccaba928d9f162cab7b54446a6496c8738b3d45839a5e05c15cfe21f8990eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

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

Download URL wias-0.1.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
352fb9dd700dfbe34e6b6221f303a8fbe86b3efb582690a8972ec68aa7f9f160
BLAKE2b-256 checksum
How to use checksums
5feabe74ed65304d82ff7f50164018278dbbd41a318f873f3dbcdc57c339c18b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

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