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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

slicot-1.0.5-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.5-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.5.tar.gz.

File metadata

  • Download URL: slicot-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 839e2d4cda4fb27a35041e5402a9829e54b85aa78d2541fc35fae55870af974b
MD5 8a6587248983f6f158c0addce4dd3b9b
BLAKE2b-256 990eac89aa4f943b0954dffac83d2bfc9279d49bfbbbc06d1d8d8e0a33ca0672

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: slicot-1.0.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0c3e096fb27c384d6045d1324a0a514f2d1e2160f1da0a1537549921efd7abad
MD5 5fba9fc05f8c2b7e2e3fcf96fcd45eed
BLAKE2b-256 b51380f906bc4fb13a394aa0113750617420ba8c25d372724486cf5b4536ee46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df65bba51d0efc1fe19d78b2f8cc7b7abc7230e71352241d92ce5c7ca799908f
MD5 126169cdd914218061ea2ce66c99ed41
BLAKE2b-256 c6086156d82705d30bb9cdd329c70ba744a2f50a06875e65f322ff0f8a831fe9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3888b3f7f64c0034acec8e341de2e45ff52cfb846c7a2b8a4b5c8ecc50fd7e57
MD5 223f2ee46e52145e8fa8ccb4c40870d9
BLAKE2b-256 f710095ab07bbf6574b6928e38199e9d6bcf2beab0b60dd7711baae3be194e88

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2bd0818acb5805d2b7181ad13d10432bee3e8d223281e33aadae9ab0c7b475bc
MD5 c5cc70766ca2cbeea8bc5a51506dcc3a
BLAKE2b-256 d799ec2089e966dbbd6b65b67aa61ad368ed7317926001a24c3520743a63d974

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 531e05ead27b821ab9649bec009335ec86774a8eaf71463895492827968f4476
MD5 5c89bed3aa627dcdbfb1225ad834e377
BLAKE2b-256 10e3f2bc7c80c8e63184851c90f386a93bdfb3bc8ad6aa403fb5dc2e784c1c31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dae841f6377df2b882099a3ba8773c08ae60f6f739ff4dcbd5f51084a2f9fde8
MD5 8ac0f8395c29b731976e18b1ff52db54
BLAKE2b-256 d642d3dcbd37d8c356fdcd7435463318d9ae8b1fa2c744f8810ce42d0608cff3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: slicot-1.0.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8aa1e0c2931944a05287301713e314a7a21fd9ec0cc03273c434174b44020c72
MD5 87f0982e8a121414223b42feec011c3d
BLAKE2b-256 4501933dc241b7c7581c5d11511456b8ea3737877a787356c49982c5576e28d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d6b4870fec05fb26ede6d2ed7c99830d7a7542597a5f76086fcbc08a0e9cda8
MD5 9f0b78e49bfaca5ffbac3339d9c41e44
BLAKE2b-256 0aeb73c0029d07e1a8cb1a5ffb73a381e9de18355d014c7b5f15b66322ee547c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7463eebe2f408642e83ea49b5ed295f1f8e3957034d71a63803c7cae18a69ce2
MD5 3e3ad32df16ae01d74d3b09ae334eec5
BLAKE2b-256 5a0647436302f6f104b6902646575702dc605c68998cd4b67818ae53e69b1c48

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c85aa81b169d91cef41c033feef155a9a9eafd119c6a1104fa553226fe2bf794
MD5 a7007cc36a0e621dde4eb16e4718be6d
BLAKE2b-256 2a16d0355781a6c36763041acc0c7e7190db2fc9eb28a9df8a818a85d6bf4e6c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48bd0ab2b0e219707694325d9d9ea4003dd2429af1e144e31b6e39593beb1a74
MD5 97df0ebb4b2e88a20e380d88c104a340
BLAKE2b-256 5873c49f7773f79b99eb6c5789d544a31ba97450c6ef93a2a2c4d0301f0104c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62db5c30010b784ebbc1dff6c3102c7179062313834bf2b2fc78f556555d1c8a
MD5 fbee5404252dec00e0fe9da7f58496d4
BLAKE2b-256 6fd3e5ce0c45d6efcec9f6328e3b9cba30ba37d118b3599d52f840badeb31492

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: slicot-1.0.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 00f167911dab32b75f7d4c81a9cb10d80bfd7d5df276288311eb3b4b932b46c4
MD5 f0125595f979e369b8189aa11b91f9de
BLAKE2b-256 ec7362e6070a399ab37e2477b84ca87f468f393223885983036329016f135b86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cff0d12ef76cd52f194408500895b56b8319106d7cd94555d973c80d025bf453
MD5 9442bd9a81bfdec394bbfcfe88cb16de
BLAKE2b-256 7664baefed7fe1e0f7759af9adfecba99fe634cd9234fff13bfa4b60b1898bf7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6c9b64845c15361fbdaf7d16cbe59d79ed2ab86af76cb9c5b45c7d7934e4e4a5
MD5 b3bc84e530b16509bbb826ed191a6ff0
BLAKE2b-256 9be31f075594c4293493228c0aa6dd858daff501a953c19d759ed4bbe5ea27f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 29531b502a258c3e5640ae8c4fc851787fca072ddb9f9c3199940f82a7bf7277
MD5 8d31beec875194e6db26de39a2a3578a
BLAKE2b-256 9869ad933b3e0bc2beb3f46083d4a019139d4d8e776e75c10f6151480d9fc474

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3fc018234e6152f6a94ec23550bf69dcb14fc28089dbd59c31397a1c9695a52
MD5 2ce78dd41a96d299b6c3550c8b5bf540
BLAKE2b-256 9df9d124a9bc291d969055542e8f40cce7729434b641d33697abac326770739d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for slicot-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc03d27a52fceaf6c7d0955a0071acc6ced0557175c6cd4eecc94ec75d8116c6
MD5 3ee7e14465d42e627327632870053f4d
BLAKE2b-256 47e7e4293335006832aaef8bc4da8e8c8f5f052f4d02d2f8c56eb3c99ea00e72

See more details on using hashes here.

Provenance

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