Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
souryadey committed Feb 28, 2023
1 parent 0890129 commit fd7746d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@

**DLKoopman: A general-purpose Python package for Koopman theory using deep learning**.

Koopman theory is a technique to use sampled data, or states, of a nonlinear dynamical system to learn a linear model for it. A linear model is very powerful as it:
- Gives insight into the dynamics via eigenvalues and eigenvectors.
- Can leverage linear algebra to easily analyze the system and predict its behavior under unknown conditions.
Koopman theory is a technique to encode sampled data (aka states) of a nonlinear dynamical system into a linear domain. This is very powerful as a linear model can:
- Give insight into the dynamics via eigenvalues and eigenvectors.
- Leverage linear algebra techniques to easily analyze the system and predict its behavior under unknown conditions.


## Why DLKoopman?
*DLKoopman uses deep learning to learn an encoding of a nonlinear dynamical system into a linear domain, while simultaneously learning the linear dynamics*. We bridge the gap between:
*DLKoopman uses deep learning to learn an encoding of a nonlinear dynamical system into a linear domain, while simultaneously learning the dynamics of the linear model*. DLKoopman bridges the gap between:
- Software packages that restrict the learning of a good encoding (e.g. [`pykoopman`](https://github.com/dynamicslab/pykoopman)), and
- Efforts that learn encodings for specific applications instead of being a general-purpose tool (e.g. [`DeepKoopman`](https://github.com/BethanyL/DeepKoopman)).

Expand All @@ -37,9 +37,9 @@ Koopman theory is a technique to use sampled data, or states, of a nonlinear dyn
- E.g: What is the pressure vector on this aircraft for $23.5^{\circ}$ angle of attack?
- Trajectory prediction (`TrajPred`) - Train on generated trajectories of a system, then predict unknown trajectories for new initial states.
- E.g: What is the behavior of this pendulum if I start from the point $[1,-1]$?
- General and reusable - supports data from any dynamical system.
- General-purpose and reusable - supports data from any dynamical system.
- Novel error function Average Normalized Absolute Error (ANAE) for visualizing performance.
- Extensive options and a ready-to-use *hyperparameter search module* to improve performance.
- Extensive options and a ready-to-use hyperparameter search module to improve performance.
- Built using [Pytorch](https://pytorch.org/), supports both CPU and GPU platforms.

Read more about DLKoopman in this [blog article](https://galois.com/blog/2023/01/dl-koopman/).
Expand All @@ -58,7 +58,7 @@ pip install .
```

### Running as a Docker container
DLKoopman can also be run as a docker container by pulling the image from `galoisinc/dlkoopman:<version>`, e.g. `docker pull galoisinc/dlkoopman:v1.1.0`.
DLKoopman can also be run as a docker container by pulling the image from `galoisinc/dlkoopman:<version>`, e.g. `docker pull galoisinc/dlkoopman:v1.1.1`.


## Tutorials and examples
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]
name = "dlkoopman"
version = "1.1.0"
description = "A Python package for Koopman theory using deep learning."
version = "1.1.1"
description = "A general-purpose Python package for Koopman theory using deep learning."
authors = ["Sourya Dey <sourya@galois.com>"]
maintainers = ["Galois dlkoopman team <dlkoopman@galois.com>"]
license = "MIT"
Expand Down

0 comments on commit fd7746d

Please sign in to comment.