Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ralphas/slicotmath.jl
Julia wrappers for mathematical routines in the SLICOT library
https://github.com/ralphas/slicotmath.jl
Last synced: about 2 months ago
JSON representation
Julia wrappers for mathematical routines in the SLICOT library
- Host: GitHub
- URL: https://github.com/ralphas/slicotmath.jl
- Owner: RalphAS
- License: other
- Created: 2022-02-08T04:11:38.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-04T23:42:00.000Z (over 1 year ago)
- Last Synced: 2024-11-11T00:42:45.193Z (about 2 months ago)
- Language: Julia
- Homepage:
- Size: 124 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SLICOTMath
[![GitHub CI Build Status](https://github.com/RalphAS/SLICOTMath.jl/workflows/CI/badge.svg)](https://github.com/RalphAS/SLICOTMath.jl/actions)
[![Coverage Status](http://codecov.io/github/RalphAS/SLICOTMath.jl/coverage.svg?branch=main)](http://codecov.io/github/RalphAS/SLICOTMath.jl?branch=main)# Introduction
This package provides Julia wrappers for some routines in the SLICOT library,
which contains Fortran implementations of control theory algorithms.SLICOT is hosted at https://github.com//SLICOT/SLICOT-Reference.git
The group of mathematical routines (those starting with "M") are covered here,
except for a few which are awkward to call from Julia (there are preferable implementations
of those algorithms elsewhere in the Julia ecosystem).For the most part the Julia API resembles that of LAPACK routines in the LinearAlgebra
standard library. Thus array dimension arguments are (almost always) suppressed and
workspace is usually allocated as needed within the wrappers. One difference is that
result arrays are only passed as arguments to be mutated, and are not among the explicitly
returned objects.# Status: Caveat Emptor
This is work in progress. So far all of the wrappers and tests were mechanically generated
and edited to repair oversights.For substantive documentation the user is referred to the HTML documents
in [the SLICOT repository](https://github.com//SLICOT/SLICOT-Reference.git)Users will also need to refer to the method signatures. Argument names are lower case
versions of those in the wrapped routines.## Tests
The test routines generally verify that the API is consistent. They were mechanically
translated from the SLICOT-Reference examples, so they include extra computations (beyond
merely invoking the wrappers). The output of most has been visually compared to the
analogous Fortran results, almost always agreeing (or differing in ways consistent with
floating-point and BLAS/LAPACK version variations). That comparison is *not* currently
part of the package test framework. The CI tests as such rarely check the accuracy of
algorithms, although residuals are occasionally reported.Interfaces to routines which are not called by the reference example codes have been
quickly reviewed, but very few have been tested by the author.# Related work
Many of the higher-level control-theoretic methods in SLICOT have been translated to
Julia in [packages written by Andreas Varga](https://github.com//AndreasVarga).No endorsement or promotion of SLICOTMath.jl by the authors of SLICOT
is implied.