axsk / Isokann.jl

Invariant subspaces of Koopman operators with artificial neural networks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Isokann

Dev

Implementation of the Isokann algorithm. For a reference see our paper https://doi.org/10.1063/5.0140764 . Currently things are still fluctuating, so we have different implementations

  • forced/isokann.jl - Isokann with adaptive sampling and optimal control for overdamped Langevin systems
  • isomolly.jl - Isokann with adaptive sampling for Molly.jl systems (e.g. proteins)
  • isosimple.jl - attempt at a cleaner version of isomolly.jl
  • iso2.jl - Isokann 2 with multivariate memberships

After installing the package with Pkg.add("https://github.com/axsk/Isokann.jl") run a basic alanine dipeptide run with

using Isokann

iso = IsoRun()  # create the Isokann system/configuration
run!(iso)       # run it for iso.nd steps

plot_training(iso) # plot the training overview

# scatter plot of all initial points colored in  corresponding chi value
scatter_ramachandran(iso.data[1], iso.model)

# estimate the eigenvalue, i.e. the metastability
eigenvalue(iso.model, iso.data[1])

The big todos:

  1. Merge optimal control into isomolly (requires a new Molly.jl sampler, almost done)
  2. Use PCCA+ for higher dimensional chi functions (almost done)
  3. Gather experience on larger molecules.
  4. refactor

The most recent (but not actually recent) plot:

About

Invariant subspaces of Koopman operators with artificial neural networks

License:MIT License


Languages

Language:Jupyter Notebook 99.2%Language:Julia 0.7%Language:Python 0.0%