Skip to main content

Simulator for Linear Time-Invariant Kinetic Models using the NMODL file format.

Project description

matexp

This program solves systems of differential equations for the NEURON simulator using the matrix-exponential method of integration. This is a new method of integration. The solution is faster and more accurate than NEURONs built in "sparse" solver. This method is only applicable to systems which are linear and time-invariant, such as Markov kinetic models. This method is also limited to systems with one or two inputs.

This program uses the NMODL file format (".mod" files). The input kinetic model is an NMODL file, and the solution is written to a new NMODL file.

For more information about how this program works see DETAILS.md.

Installation

Prerequisites:

  • Compiler for the target system.
    • CPU requires g++
    • Cuda requires the cupy python package.
$ pip install matexp

Usage

$ matexp --help
usage: matexp [-h] [-v] [--plot] -t TIME_STEP [-c CELSIUS] [-e ERROR]
              [-i NAME MIN MAX] [--log [INPUT]] [--target {host,cuda}]
              [-f {32,64}]
              INPUT_PATH OUTPUT_PATH

positional arguments:
  INPUT_PATH            input filename for the unsolved NMODL file
  OUTPUT_PATH           output filename for the solution

options:
  -h, --help            show this help message and exit
  -v, --verbose         print diagnostic information, give twice for trace mode
  --plot                show the propagator matrix

simulation parameters:
  -t TIME_STEP, --time_step TIME_STEP
  -c CELSIUS, --celsius CELSIUS
                        default: 37°
  -e ERROR, --error ERROR
                        maximum error per time step. default: 10^-4

input specification:
  -i NAME MIN MAX, --input NAME MIN MAX
  --log [INPUT]         scale input logarithmically, for chemical concentrations

computer specification:
  --target {host,cuda}  default: host
  -f {32,64}, --float {32,64}
                        default: 64

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

matexp-1.0.0.tar.gz (747.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matexp-1.0.0-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file matexp-1.0.0.tar.gz.

File metadata

  • Download URL: matexp-1.0.0.tar.gz
  • Upload date:
  • Size: 747.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for matexp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6fa7a1693033f35cc72f48c1ac5cd3384d5e384563f6b467960c05d267a1695d
MD5 2d81f1156e27b7ee233e7238ff83e018
BLAKE2b-256 92843712efbe0a44b784d5a90854d958f2ad7f3d0c5d881cc1cbde03e0033f2d

See more details on using hashes here.

File details

Details for the file matexp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: matexp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for matexp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ac04afa9b846f492cd1cd6bb9333264cd9f3e198f8f0d0d9402ac96815af140
MD5 09a667d9188cf4b232915509e3346b47
BLAKE2b-256 3b7eeac9be59e99afa31e2ae653e4dddc7b156caba90fe5cb0f29881c1cba7c7

See more details on using hashes here.

Supported by

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