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.8.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.8-cp313-cp313-win_amd64.whl (9.2 MB view details)

Uploaded CPython 3.13Windows x86-64

slicot-1.0.8-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.8-cp313-cp313-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

slicot-1.0.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (11.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

slicot-1.0.8-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.8-cp312-cp312-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

slicot-1.0.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (11.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

slicot-1.0.8-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.8-cp311-cp311-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

slicot-1.0.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: slicot-1.0.8.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.8.tar.gz
Algorithm Hash digest
SHA256 1f785392ef76bcf9515af84b77f1f08505d007746a8619dd61a4902169ebf74d
MD5 cba07f5fecb907ecd3fd4f1f6ec0db54
BLAKE2b-256 a7b1683c135d1cea477894c9a9094858aafce91cad8068018ba4f8e411efa7fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8.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.8-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.8-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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fa4dc0adcb02550f1a18264bcef6370336c1eff3c390a7710b63f4d7e57519be
MD5 e5e06af7fca0ee351d7137c6c275e794
BLAKE2b-256 f9cad886dbf9b86e9cfd2baa47557670ca99a2dca5f3dd4d96e04e1df8901f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2472630c1c960a33bdb90731b7206fb8d9c7a4d2979db554ffd06346e815a03
MD5 4e090162e99ca02d14f6af1b7b05545e
BLAKE2b-256 b711d5c7220aa7f934a42d4a8f425fa243a853041361c2101f6aba0c8e88d11d

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 608d52ef9525791ac6c6bfe61a8567943df19fb19124e947ec4e5c36b80f4c28
MD5 58dd4704bb206f9dd66d220fde8684c7
BLAKE2b-256 5adab6fe62c1ac6fb45b4b5ad26640a91ab6d334c52a97e4836195b2d437177f

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bc7ffb21311c1cd79eeedb9bb0d428b440d1c8c8712ad84f3dd1f50311630f3e
MD5 05f4ad9d620a1e328a69bcfc60702698
BLAKE2b-256 7125904d756a1c901c2b03edfec7ef9628d4dada2cedf02f836ed08883c86213

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 239e45aa2b70caa60d61f3e7c8c66e407678ca38d36d745e66114aa4bd937249
MD5 a8e4f1358788fbbac367c136461b0263
BLAKE2b-256 ae7d18d22210c76ae12ba214c932094cceeccbe4d6de59b26e6893674c871f68

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38b21f540c95b1a5568e5252393b4325fecfe7206fdffd3c95a5c25db9bdcea8
MD5 76854666c1a7f0ff8e4ef8f06dec5e94
BLAKE2b-256 a6112fe06b7f7ff5100ab29b16b9c71ed7ed14f244b1dddbad3bc481ac83cfd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 94153a3bdd6884f8b20209d88e5aeebcc6540491ba1b4b2800f1829e1c98dc47
MD5 435a2abad0b1a7958a12bc2561db3d2f
BLAKE2b-256 86c0b4ae2f8af0fc9f0ce61901f189e6204e117090b539cc0f2168cffc3852de

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7809c09e5ee862a89158e8fd315e1d36eaf726a393a0d81f87941a0b52b49e9e
MD5 7937b45b6ccb15b5ae12ca25ef2bd027
BLAKE2b-256 9658e200db40b1fddb18efc1fb52f0dcddfe2959d9a2876c23f4c6d6619fa645

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 101e63105f8bd29e1625cde8eaf73d0f563c750ab6a8475e96b3a959c9dd91c8
MD5 31238063d9e32423cf929347d396e8bd
BLAKE2b-256 b588705b92411317e05e654ccdfe594a5d7a101fb0dfa4c933c32cebfe9f3bbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8173599af0ec906be1f9e138348961faf65afeff8c3c2d46ff73a8be09d67c9e
MD5 d9b9bcb11303f7615f004141ab3efd93
BLAKE2b-256 ec8226c87dfa63b739c86d5b3d12f46949619382b26812f2fe52469709d77fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c6687a4507eb5c7d67ac5d82e5e3159d29f42b5aa9f44d8acab79919b4ae36a
MD5 2b2574b43a74c752bb5a37ebcc30f3c3
BLAKE2b-256 1278dd430f1f9dc6494f923f3fd375d9aee6fba8f60732219f163cbdb1163c84

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6a34aefdb599576d90b0536afed5d7406a6ed387ed826a2ce35d0eb1c1b9f40
MD5 a7b4c615e5e4f304cac0a0d75a8da182
BLAKE2b-256 314e37b5e083d58beeea2b61549d3af635eb4934879b573d2da3620a2291bc17

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: slicot-1.0.8-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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ba0e6250072646a094975c10b52d702f3ae1753719fda27a03aad253cc4b9e6b
MD5 6fce907f16b89f9a57b3abf408df9dd8
BLAKE2b-256 c3e319629c6803511264028ff66bc7d30ab068a6f0cf0aa0fe0f3bf96b09f9be

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 32716b1cac873773af5e135ff70a477f6fe243019881b815cb0f1a31fe2f78d4
MD5 7ddb74da9a97ddecdd39dfef227f65e8
BLAKE2b-256 46d43ed5efab2cd60d2347b22674a8788bb35d594f6cabd8bc67064c18f5269b

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e052575816d00ee4731d594ea494d903534bc5dd45d2f47ed5489187ee6ebe99
MD5 388019e0c97084843723d6f8c2166569
BLAKE2b-256 c06ff9eab5e821f6d07ff4be457abf74bd488b141c7ffa2eba4a12b50e11f8f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4d24786a21c78c0e563ec582c14f0c8e8e99b0a9a91b16a9072be15e4f35675d
MD5 75272ae81156e82ff0917f3fa7a03abb
BLAKE2b-256 c6b89cb7f575cf906f84e663524a4af31fad333edf50173c62eb1a57d61f0589

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24eccf58caa84d2b3ed588bafc9c068c77223ca7d1b2e123f2635e2eb0124572
MD5 4c4d95ba5f80c57125689662d063c246
BLAKE2b-256 d2ad719e76550c1a9357882ff9fe90b30c9542552b523c5899cc305515efc3c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for slicot-1.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 601f543cc603ce88e09a9efd0f02ddd1c6a24daaf2256e010553ff5323927e87
MD5 9ca6f09a5e3f43f8097bc23b02534795
BLAKE2b-256 23ffebb9ef8767fd1ca8bb7555afa64b946f32189fc59572e8b487c92b10a419

See more details on using hashes here.

Provenance

The following attestation bundles were made for slicot-1.0.8-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