(Inverse) optimal control for linear-quadratic Gaussian systems
Project description
LQG: Inverse Optimal Control for Continuous Psychophysics
This repository contains the official JAX implementation of the inverse optimal control method presented in the paper:
Installation
The package can be installed via pip
python -m pip install lqg
Since publication of our eLife paper, I have substantially updated the package. If you want to use the package as described in the paper, please install an older version <0.2.0:
python -m pip install lqg==0.1.9
If you want the latest development version, I recommend cloning the repository and installing locally in a virtual environment:
git clone git@github.com:dominikstrb/lqg.git
cd lqg
python -m venv env
source env/bin/activate
python -m pip install -e .
Usage examples
The notebooks in the documentation illustrate how to use the lqg package to define optimal control models, simulate trajectories, and infer parameters from observed data.
Overviewexplains the model and its parameters in more detail, including the extension to subjective internal models (based on my tutorial at CCN 2022)Dataapplies the method to data from a tracking experiment
Citation
If you use our method or code in your research, please cite our paper:
@article{straub2022putting,
title={Putting perception into action with inverse optimal control for continuous psychophysics},
author={Straub, Dominik and Rothkopf, Constantin A},
journal={eLife},
volume={11},
pages={e76635},
year={2022},
publisher={eLife Sciences Publications Limited}
}
Extensions
Signal-dependent noise
This implementation supports the basic LQG framework. For the extension to signal-dependent noise (Todorov, 2005), please see our NeurIPS 2021 paper and its implementation.
Non-linear dynamics
We have recently extended this approach to non-linear dynamics and non-quadratic costs. Please check out our NeurIPS 2023 paper and its implementation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lqg-0.2.11.tar.gz.
File metadata
- Download URL: lqg-0.2.11.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Linux/6.14.6-2-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dda7231717305de384cd779e23e2bc195e501047a2c48e1a59cb562a055a6248
|
|
| MD5 |
6a768cad6dbe6b55e6eb7edaa01f14ad
|
|
| BLAKE2b-256 |
d7c5a05e4155e96d7693b9d1b48d05a4d47e04130895552a1297fce3a3efe112
|
File details
Details for the file lqg-0.2.11-py3-none-any.whl.
File metadata
- Download URL: lqg-0.2.11-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Linux/6.14.6-2-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a244d9fd238fe28ba24e479d1199b50479f3eae8710e841176f59a25cb944cf0
|
|
| MD5 |
4d407485f5ee1a3c7f5c4785cec08bd9
|
|
| BLAKE2b-256 |
d839e3157baa21a22a5f01b0a896c7c6825b97f381e4367e634336e5c49f0b9b
|