Metadata-Version: 2.4
Name: scimba
Version: 1.1.0
Summary: This library implements some common tools for scientific machine learning
Author-email: Emmanuel Franck <emmanuel.franck@inria.fr>, Rémi Imbach <remi.imbach@inria.fr>, Victor Michel-Dansac <victor.michel-dansac@inria.fr>
Maintainer-email: Matthieu Boileau <matthieu.boileau@math.unistra.fr>, Rémi Imbach <remi.imbach@inria.fr>
License: MIT
Project-URL: Homepage, https://gitlab.com/scimba/scimba
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: torch>=2.9
Requires-Dist: scipy
Requires-Dist: tqdm
Dynamic: license-file

# ScimBa

[![pipeline status](https://gitlab.com/scimba/scimba/badges/main/pipeline.svg)](https://gitlab.com/scimba/scimba/-/commits/main)
[![coverage report](https://gitlab.com/scimba/scimba/badges/main/coverage.svg)](https://scimba.gitlab.io/scimba/coverage)
[![Latest Release](https://gitlab.com/scimba/scimba/-/badges/release.svg)](https://gitlab.com/scimba/scimba/-/releases)
[![Doc](https://img.shields.io/badge/doc-sphinx-blue)](https://scimba.gitlab.io/scimba/)

Scimba is a Python library that implements varying Scientific Machine Learning (SciML)
methods for PDE problems, as well as tools for hybrid numerical methods.

The current version of the code solves parametric PDEs using various nonlinear
approximation spaces such as neural networks, low-rank approximations, and nonlinear
kernel methods.
These methods:

- can handle complex geometries generated via level-set techniques and mappings, including sub-volumetric and surface domains;
- support function projections as well as elliptic, time-dependent, and kinetic parametric PDEs;
- are compatible with both space–time algorithms (PINN, Deep Ritz) and time-sequential ones (discrete PINNs, neural Galerkin and neural semi-Lagrangian schemes).

To achieve this, the code provides several optimization strategies, including:

- Adam and L-BFGS;
- natural gradient methods (for neural network-based models);
- hybrid least-squares approaches.

The current version of Scimba relies on a PyTorch backend.
A JAX version is under development.

**Documentation:** [https://www.scimba.org/](https://www.scimba.org/)

**Code repository:** [https://gitlab.com/scimba/scimba/](https://gitlab.com/scimba/scimba/)
