Skip to main content

(Inverse) optimal control for linear-quadratic Gaussian systems

Project description

Inverse optimal control for continuous psychophysics

Experimenter-actor-loop

This repository contains the official JAX implementation of the inverse optimal control method presented in the paper:

Straub, D., & Rothkopf, C. A. (2022). Putting perception into action with inverse optimal control for continuous psychophysics. eLife, 11, e76635.

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.20:

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

  • main.py shows how to simulate data and infer parameters using the LQG model of the tracking task.
  • notebooks/Tutorial.ipynb explains the model and its parameters in more detail, including the extension to subjective internal models (based on my tutorial at CCN 2022)

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 are currently working on extending this approach to non-linear dynamics and non-quadratic costs. Please check out our preprint. Code will be released soon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lqg-0.2.6.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

lqg-0.2.6-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file lqg-0.2.6.tar.gz.

File metadata

  • Download URL: lqg-0.2.6.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.5.0-1-MANJARO

File hashes

Hashes for lqg-0.2.6.tar.gz
Algorithm Hash digest
SHA256 1a67dcb65a8202e67b568afb8ecc2d2b8a6948850d1ca9e0b783269ccb5a131a
MD5 3ccef26c9d0f75a67f1ca668a357719d
BLAKE2b-256 e302d46aefbeba804b5e32475dd0a315776dc32f0211199e425333b1e37119f5

See more details on using hashes here.

File details

Details for the file lqg-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: lqg-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.5.0-1-MANJARO

File hashes

Hashes for lqg-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c7170310834a9d811faf1c17c601e6e12869c51ccee827428e7ff21c0de1e1ae
MD5 edfa78598ef3c0135dbc5ea79e11d599
BLAKE2b-256 b4f47e0cb25a5a64b9ef269e3b2080a0e8213f00aba014615f65319f763a7d5b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page