Skip to main content

Weak Identification of Analytic Systems

Project description

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}
}

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

wias-0.1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

wias-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wias-0.1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for wias-0.1.0.tar.gz
Algorithm Hash digest
SHA256 23784972cd6b3225a6dc4a63a10a949b22c78103fc06ad540fada85e376ea6a9
MD5 181eaa579d2cf34dbbce02b4650ba9fa
BLAKE2b-256 e8ccaba928d9f162cab7b54446a6496c8738b3d45839a5e05c15cfe21f8990eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for wias-0.1.0.tar.gz:

Publisher: publish.yml on NBoulle/wias

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: wias-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for wias-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 352fb9dd700dfbe34e6b6221f303a8fbe86b3efb582690a8972ec68aa7f9f160
MD5 15fddd7245843e37d824c90c85216b9d
BLAKE2b-256 5feabe74ed65304d82ff7f50164018278dbbd41a318f873f3dbcdc57c339c18b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wias-0.1.0-py3-none-any.whl:

Publisher: publish.yml on NBoulle/wias

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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