Control

Latest version: v0.10.0

Safety actively analyzes 625951 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.5.3

Highlights and important notes

This patch release updates the build system to be compatible with NumPy 1.24.0

Pull requests and issues associated with the release

* Bump setuptools_scm to 7 by bnavigator in https://github.com/python-control/Slycot/pull/185
* pin numpy to <1.24 during build due to gh-187 by bnavigator in https://github.com/python-control/Slycot/pull/188
* remove -m argument from f2py .pyf generation by bnavigator in https://github.com/python-control/Slycot/pull/189
- this reverts 188 and ensures compatibility with numpy >= 1.24

PRs merged: 185 188 189
Issues fixed: 187

**Full Changelog**: https://github.com/python-control/Slycot/compare/v0.5.2...v0.5.3

0.5.2

Highlights and important notes
This patch release removes the classifier metadata for Python 3.7. With the Slycot v0.5.1 release earlier today, conda-forge did not create packages for py37. We do not want to mislead users into thinking that you can install it with conda.

Slycot currently officially supports installation on Python 3.8 through 3.11.

Pull requests and issues associated with the release
PRs merged: 184
Issues fixed: None
Issues closed ("wont-fix"): None

**Full Changelog**: https://github.com/python-control/Slycot/compare/v0.5.1...v0.5.2

0.5.1

Highlights and important notes

This release is a minor change in the build system. There are no new wrappers or code changes of existing SLICOT wrappers.

Build
* Use FindPython instead of deprecated FindPythonLibs by bnavigator in https://github.com/python-control/Slycot/pull/181
* Use setuptools_scm instead of custom version determination code by bnavigator in https://github.com/python-control/Slycot/pull/180

Other changes
* Support Python 3.11 by bnavigator in https://github.com/python-control/Slycot/pull/182

Pull requests and issues associated with the release
- PRs merged: 180, 181, 182
- Issues fixed: 183
- Issues closed ("wont-fix"): none


**Full Changelog**: https://github.com/python-control/Slycot/compare/v0.5.0...v0.5.1

0.5.0

Highlights and important notes

We've switched our Fortran SLICOT base from the older, [GPL-licensed version 5.0](http://slicot.org/the-control-and-systems-library-slicot/source-archives) to the now [BSD-licensed version of SLICOT](https://github.com/SLICOT/SLICOT-Reference/) hosted on Github. This specific version of Slycot is based on SLICOT v5.8.

Slycot itself remains GPL-licensed for the time being.

The minimum supported Python version is 3.7; support for Python 2, 3.5, and 3.6 has been dropped. We have tested this release against Python versions 3.7 to 3.10.

Slycot does *not* build against Numpy v1.23.0 due to numpy/numpy21889; however, this is a build-time only bug which was fixed in NumPy v1.23.1, and Slycot v0.5.0 can be installed and used with any NumPy which supports the supported Python versions.

New features and updates

We've added a wrapper for SLICOT AB13MD (171), which computes the upper bound for the structured singular value of a system and given uncertainty structure.

SB03OD used to raise an error if the Schur factor supplied in array A was unstable; now, a warning is raised, and the eigenvalues are still returned (via 176, which updates to SLICOT v5.8).

Fixes

MB03RD correctly handles X=None, the default (139).

In SB03MD, the LDWORK value computed for discrete-time case was corrected (166).

Build

There have been improvements and fixes to the setup.py, CMakeLists.txt, and MANIFEST.in.

Testing

AG08BD testing was made more numerically robust.

A test for XERBLA behaviour was fixed.

In continuous integration:

- we've moved from Travis CI to Github Action for continuous
integration (Github Actions added in 140, Travis CI removed in 150)

- we use pip for building, instead of invoking setup.py directly

Pull requests and issues associated with the release

PRs merged: 135, 136, 139, 140, 141, 142, 145, 147, 149, 150, 151, 152, 158, 159, 160, 161, 166, 167, 171, 173, 174, 175, 176, 178

Issues fixed: 134, 138, 95, 108, 137, 144, 146, 154, 123, 156, 157, 162, 155, 165, 46, 163, 172

Issues closed ("wont-fix"): none

Contributors

Contributors to this release are:

- Art J. R. Pelling (artpelling)
- Ben Greiner (bnavigator)
- Rory Yorke (roryyorke)

0.4.0

New features

Added periodic Schur decomposition functions `mb03vd`, `mb03vy`, and `mb03wd`

Contributed by bnavigator via pull request 88.

Added `ab08nz`, allowing one to find zeros of complex-valued state-space models

Contributed by lytex and bnavigator via pull request 96.

Added `mb03rd`, Schur to block-diagonal transform

Contributed by bnavigator and repagh via pull request 116.

Added `sb01fd` H-infinity solver

Contributed by repagh via 118. Already present `sb10ad` searches for a minimum gamma value for a given H-infinity problem; sb10fd, by contrast, only attempts to solve for a given gamma value. This can be used to test for admissible gamma values, which could be useful for problems like python-control/python-control367.

New Slycot exception hierarchy

bnavigator, with support from repagh, greatly improved Slycot error handling.
Slycot routines now raise `SlycotValueError` where they would previously have raised `ValueError`, and `SlycotArithmeticError` where they would have raised `ArithmeticError`.
These changes are backwardly compatible: `SlycotValueError` is a subclasss of `ValueError`, and `SlycotArithmeticError` is a subclass of `ArithmeticError`.
As part of this, many of the Slycot function docstrings were changed to conform to numpydoc conventions.

This supersedes an earlier fix for python-control347 made during 0.4.0 development.

Override XERBLA

In 128, with extra testing in 130, bnavigator overrode the BLAS error function `XERBLA` that SLICOT routines use to report errors; the BLAS-provided `XERBLA` can terminate the whole Python process.

Fixes

Correct application of DGEBAL in TB01TD and TB05AD

repagh fixed long-standing 11 with PR 122.

Fixed ab01nd for jobz='N' case

bnavigator contributed this fix in 129.

Build

Contributed by bnavigator, repagh, and rabraker:

- conda build recipes no longer use pip
- added conda recipes for MKL and Apple
- removed conda recipes for Windows; no developer is using them, and they weren't working
- general simplifications and improvements of build
- the signature files (`.pyf` files) are now a dependency of wrapper generation

Testing

Contributed by bnavigator and lytex:

- Tests added for `mb05nd`, `mc01td`, `ab08nd`, `ab08nz`, `mb03vd`, `mb03vy`, `mb03wd`.
- Tests fixed or expanded for `mb05md`, `sg03ad`, `td04ad`.
- Switched to pytest; Slycot CI now uses pytest for both the Slycot and python-control test suites.
- CI now builds and tests for Linux and macOS. The Linux builds include OpenBLAS and MKL variants.
- Examples are run as part of tests. Outputs are not checked, but errors and warnings are.
- CI coveralls.io integration fixed.
- General test clean-up.
- Test files are no longer executable.

Other changes

bnavigator contributed many other code improvements:

- Fix for `mb05nd`.
- Lots of clean-up: removal of unused mathematical.pyf, many docstring fixes, and some PEP 8 conformance changes to Python code.
- Fix for Fortran-compiler dependence on machine value used to represent logical values `.TRUE.` and `.FALSE.`

repagh fired up his time machine and ensured punch-card compatibility of the SLICOT Fortran code by limiting line lengths to 72 characters.

Pull requests and issues associated with the release

PRs merged: 71, 72, 75, 78, 91, 93, 79, 82, 83, 84, 87, 88, 96, 97, 101 , 103, 104, 105, 110, 114, 115, 116, 117, 118, 120, 121, 122, 124, 125, 128, 129, 130, 132, 133
Issues fixed: 11, 76, 86, 44, 102, 106, 119, 126
Issues closed ("wont-fix"): 46, 94, 99, 111

0.3.5

This is a build bug-fix release: v0.3.4 was not installable from pip, but v0.3.5 should be.

Build

Jason K. Moore, Joris Geysens, and Jake Vanderplas all made various fixes to the build, from setup.py the CMake config files.

Pull requests and issues associated with the release

PRs merged: 58, 60, 62, 64, 66, 67
Issues fixed: 59, 61, 63, 65, 68

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.