Skip to main content

Python bindings for SLICOT - Subroutine Library in Control Theory

Project description

SLICOT

PyPI version Build Status License: BSD-3-Clause

Python bindings for SLICOT (Subroutine Library In COntrol Theory) - numerical routines for control systems analysis and design. This is a low-level API primarily targeting AI agents and higher-level libraries.

Installation

pip install slicot

Features

  • 600+ routines for control systems
  • State-space methods: Riccati, Lyapunov, pole placement
  • Model reduction: Balance & Truncate, Hankel-norm
  • System identification: MOESP, N4SID
  • NumPy integration: Column-major arrays

Usage

While you can use this library directly, it's recommended to access it through AI coding agents that understand control theory conventions and SLICOT's API patterns.

Compatible agents: Claude Code, Codex, GitHub Copilot, Cursor, and other Agent Skills-compatible tools.

This package includes agent skills for common control theory tasks like PID loop tuning and system analysis.

Quick Start

import numpy as np
import slicot

# Controllability analysis
A = np.array([[1, 2], [3, 4]], order='F')
B = np.array([[1], [0]], order='F')

a_out, b_out, ncont, z, tau, info = slicot.ab01md('I', A, B.flatten(), 0.0)
print(f"Controllable dimension: {ncont}")

Column-Major Arrays

SLICOT uses Fortran conventions:

A = np.array([[1, 2], [3, 4]], order='F')  # Required!

Contributions

I don't accept direct contributions. Issues and PRs are welcome for illustration, but won't be merged directly. An AI agent reviews submissions and independently decides whether/how to address them. Bug reports appreciated.

License

BSD-3-Clause. See LICENSE.

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

slicot-1.0.7.tar.gz (5.0 MB view details)

Uploaded Source

Built Distributions

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

slicot-1.0.7-cp313-cp313-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.13Windows x86-64

slicot-1.0.7-cp313-cp313-musllinux_1_2_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

slicot-1.0.7-cp313-cp313-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

slicot-1.0.7-cp313-cp313-manylinux_2_28_aarch64.whl (11.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

slicot-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

slicot-1.0.7-cp313-cp313-macosx_11_0_arm64.whl (11.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

slicot-1.0.7-cp312-cp312-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.12Windows x86-64

slicot-1.0.7-cp312-cp312-musllinux_1_2_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

slicot-1.0.7-cp312-cp312-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

slicot-1.0.7-cp312-cp312-manylinux_2_28_aarch64.whl (11.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

slicot-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

slicot-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (11.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

slicot-1.0.7-cp311-cp311-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.11Windows x86-64

slicot-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

slicot-1.0.7-cp311-cp311-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

slicot-1.0.7-cp311-cp311-manylinux_2_28_aarch64.whl (11.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

slicot-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

slicot-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (11.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file slicot-1.0.7.tar.gz.

File metadata

  • Download URL: slicot-1.0.7.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slicot-1.0.7.tar.gz
Algorithm Hash digest
SHA256 9c8bb5c66c79645b144853e15c564473eda48b734e858dfb83b70f828de26c35
MD5 2fca9461a0552daf645bdd16250a4173
BLAKE2b-256 9f6d9513e36ee5539a6df205d7c3671f6207f6c1cf16e85af94b2c1766af577e

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7.tar.gz:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slicot-1.0.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 02ffe7bfa1e1640f1f3419451c394ef027da23c2299af3adeca1175ffa56d23c
MD5 6b35a6b62fa2682286818389f168e423
BLAKE2b-256 dede22b02ac26dc43c03c835bca01718276eb5f3bbfa2f59680a0f9af387b640

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ae12bd27190f0dd3b5737143b1b0af99c2eaa14a8c6904378fcd7236f6955bd
MD5 0af556c32a144fc4056a15b3d0dda15c
BLAKE2b-256 c5278a0480f5912f90639a9a1ab18f92c4d9c9452b842df0782206f618a4d000

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7f9102aefc4ece0083729aca75345cec986a6fe635564992dd168fe4ddf8b8fc
MD5 9e73bd56f719a4b04e5760a054230152
BLAKE2b-256 423de4ecbcc6bfef87e1512df2cf3cf04efa28ff59dcd61fb1afc705b5db8218

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ca1dbd2cbe76ab9c2b14f36a68bad54e166087633e2a89355952781f7b92f426
MD5 1154d550018516a04541caaf3fcca4da
BLAKE2b-256 c8e215cde069a4f561a259069a92c45e2388ad70ed0b19080a3f96492b9ccd4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db2180555edb35326322e663ee8d182fb2459fea40b321e8780cdfc6394aabaf
MD5 475d8d3827f8fcf05150318823caf091
BLAKE2b-256 c5c8b33c7a69bd095bda307f90bd32d15468077c60ea8c9e1b4387cc4d447396

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42b8c90a18e28d6274fb59dd2a3e9124b4b1a85d7701e00a9db9775524e41e26
MD5 b6a569a9b92a92a882464b5f535ace28
BLAKE2b-256 45890cf7dec2ece72153f070cd98c3bb22c864d12de9c208b269cac2dca0d44d

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slicot-1.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b233cb51d00a9efcd3cd838848bd213af368cbc137ca31cacb0f1f4a57e99c8e
MD5 807d1893e7e978e3a55f2ef0664964d6
BLAKE2b-256 e7797ce5c35fb5dae6dc43455fa47ec0fd5dc29cffd5d54006091f6e6e93df4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 82493ec65d70c3420d3b4ba4080d823daaa6f5799ea431736936896df5358c76
MD5 cbf1e73d4056d293b253f30f08024ac9
BLAKE2b-256 180ff42d340fb54ab7bb349f7ab23e9fe0ac2b2d1434850aaa4d1a285c919a44

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 310f3555ef2374c16137ca0ff55fba1098cb53fd33578c048291742c6e90baec
MD5 e929f5569894d218c58f0236e797caf9
BLAKE2b-256 bb22a35659dbc1c4bcb91329933a489ed9027305d309b6938d6a9b5bdb261aa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d83c262d64a46599db137302c2fcc84217a7067203ca9ba68b6e38d693934149
MD5 44ccbb5832d5f61c5ad72e02d2cee7c7
BLAKE2b-256 ab5efe00de0c078c8c7037ce2e5b255c59e6ddd6c17d6f7ae0d637dc46e160fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4290b107932c830d26b39c249a02f24b59d5a50c2a5f26e54730c98ee8deb73d
MD5 512547ab27d266a75bfc518a9dc2b12f
BLAKE2b-256 0dfcd648a6bbbd71063abc65e22e6e43e186300b7b9207670e0573c23fb6f818

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a57c8470bcb3278f8ad9219e163f511f53e4b6c7fee5515a0de774645a8d284
MD5 fd9fdee64b4f6ed09a43a9a42e597f46
BLAKE2b-256 953002807e534122b84ca4650e10476b5ae4e12c30c9a1476b61e0e255fb3fd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slicot-1.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ad1da7ed958cb5bfacd8f3d682e28746bb809228336ef5e871045c18b55404cd
MD5 28acf77ba8cd6bfa608ff0575fb5fdcc
BLAKE2b-256 562a3e5d60d8016aced21cd1038ccdba923cf5b7314e3dd97056a317c7ae3c99

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab47c8f2250c6ff2471ae167716e22fb9cec4fded4aa89b8d2e4e5f7ad866b14
MD5 87a6bc584e05bb78333d0b68c0311040
BLAKE2b-256 4e70ac3509419c15c246d25ef6febbc5da660f3bf1b378bf2f023756d1063b02

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4aae865a74ce1163bcae72a55df255c6a974b6fc65f52156984204aa8a45b950
MD5 3b21aac1c72b01a2b9c97d2c5e581cdc
BLAKE2b-256 f193181a035f97e0d35760d34b66ff6ab673e5a87b2c85cc2d58ea781a069459

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2266f703d601ff067c800f861d794a31057c54f8f226b2d3fb07a2a593747106
MD5 9291d76f6f722e41201aeae136f90432
BLAKE2b-256 a04f630e53f64bb1936c950ab94ffe58e9212e80b75dd0422fa94526efa73b5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e446bd5fa8e455bdd0ff601e6b38bdc9fa9b02124f2dca9a04a72476f00058a
MD5 5406283deefc126f6df710f016e7cf5d
BLAKE2b-256 f78d41955fc075d3cbce90b569f948765c1ed92d404f3b631a493a8c86088763

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slicot-1.0.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab59a10d2fb6fdc8c2bedcdaeb84fd05ec5e921d94b2bd79ab25c9416be918e3
MD5 3c0ef67d8842fed0e506f4db981dbe1c
BLAKE2b-256 795dbdb576912177388edff6ac20aa28cbc3b72664c9603d156c7c8925a46f86

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jamestjsp/slicot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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