Skip to content

jamestjsp/ctrlsys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctrlsys

PyPI version Build Status Documentation 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.

Note: This package was previously published as slicot on PyPI. Install with pip install ctrlsys.

Installation

pip install ctrlsys

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.

For agent skills (Claude Code, Cursor, etc.), see control-skills.

Quick Start

import numpy as np
import ctrlsys

# 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 = ctrlsys.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

This project (C11 translation and Python bindings) is BSD-3-Clause. See LICENSE.

The original SLICOT library is copyright © 1996-2025 The SLICOT Team, maintained by NICONET e.V., and licensed under BSD-3-Clause. See LICENSE-SLICOT.

About

Python bindings for SLICOT - Subroutine Library in Control Theory

Resources

License

Unknown, BSD-3-Clause licenses found

Licenses found

Unknown
LICENSE
BSD-3-Clause
LICENSE-SLICOT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages