https://github.com/axsk/sqra.jl
WIP scrapbook, containing way too much.. partially exported to SqraCore.jl, ISOKANN.jl
https://github.com/axsk/sqra.jl
julia sparse-boxes sqra
Last synced: about 2 months ago
JSON representation
WIP scrapbook, containing way too much.. partially exported to SqraCore.jl, ISOKANN.jl
- Host: GitHub
- URL: https://github.com/axsk/sqra.jl
- Owner: axsk
- Created: 2021-07-06T10:42:58.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T15:23:25.000Z (over 3 years ago)
- Last Synced: 2025-09-09T13:28:42.096Z (10 months ago)
- Topics: julia, sparse-boxes, sqra
- Language: Jupyter Notebook
- Homepage:
- Size: 9.44 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sqra.jl
This "package" grew from the work on and with the 'Square Root Approximation' (SQRA).
During that time it 'evolved' into a collection of different applications.
The main use case was the comparison of the *committors* of a *Lennard-Jones cluster* system computed via the *SQRA* on either *SparseBoxes* or
*Voronoi tesselations*.
It furthermore contains the code for the convergence analysis of the SQRA in the Paper
## Summary of contents:
- Lennard-Jones Clusters
- SQRA
- SparseBoxes
- Committors, classically via Q and via neural networks
- ISOKANN, clasically via power iterations and via residual loss
- error computation on voronoi/sparsebox discretizations
## Contents:
- permadict.jl - HD memoization implemented by a Dict forwarding read/writes to the hard disk
- eulermaruyama.jl - An (adaptive!) Euler Maruyama SDE solver with a maximal dy threshold
- picking.jl - Implementation of the Picking algorithm (by Vedat Durmaz)
- voronoi_lp.jl - Linear Program to determine the adjacency of Voronoi cells (by Han Cheng Lie)
- sparseboxes.jl - this was sbmatrix.jl once, now switched to the Dict representation
- spdict.jl - Representation of SparseBoxes via Dict
- spdistancs.jl - Calculate $\int f-g dx$ where $f,g$ are defined on different SparseBox discretizations
- errors.jl - Calculate $\int f-g dx$ for $f,g$ Voronoi-Voronoi / Voronoi-SparseBox discretizations
- sqra_core.jl - The SQRA core algorithm
- committor.jl - Solver for the committor problems given a generator matrix Q
- models.jl - TripleWell and Lennard-Jones cluster models (with LJ Normal Form plot)
- experiment.jl / convergence.jl - comparison of SparseBoxes and Voronoi-Picking SQRA committor results
- experiment2.jl - simpler rewrite of experiment.jl Experiments
- mcerror.jl - Adaptive Voronoi MC Volume computation (to a specified confidence) (not yet in VoronoiGraph.jl)
- mcfinvol.jl - Alternative to SQRA by using the Voronoi MC method to compute the boundary fluxes
- martin/*.jl - Code for the co
Further contents:
- archive/batch.jl - batch computation and comparison of the different discretization resolutions
- archive/boxtrie.jl - attempt of writing a *Trie* datastructure for the *SparseBoxes*
- archive/isokann.jl - *ISOKANN*, either classically via the *Fixed Point Iteration* or via *Residual Minimization*
- archive/lennardjones.jl - first attempt at implementing the Lennard Jones Clusters
- archive/metasgd.jl - SGD on the SGD learning rate by linear regression on past improvements
- archive/molly.jl - attempt to run Molecular Dynamics via Molly.jl
- archive/nestedgrad*.jl - Tests to single out AD problems with nested gradients
- archive/neurcomm.jl - A custom approach to compute committors via neural networks, inspired by (Khoo et al and Li et al) (actually this was quite interesting, worth looking into again)
- archive/sbmatrix.jl - the first implementation of sparseboxes
- archive/trie.jl - and another trie implementation
Notable efforts went into the code for the SparseBoxes (i.e. a structured "matrix" approach, then tries, finally the Dict) and their utility functions (cartesiancoords, merge, dists).
This was also the birthplace of the VoronoiGraph.jl package, which got outsourced, and a testbed for neural committors (neurcomm.jl) and ISOKANN.