Skip to content

Krebbekx/SrgTools.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SrgTools.jl

Julia toolbox for computing and plotting the Scaled Relative Graph for dynamical systems.

In the paper/ directory you will find scripts that reproduce all results in the journal paper:

J.P.J. Krebbekx, R. Tóth, A. Das. "Analysis of Non-Square Nonlinear MIMO Systems using Scaled Relative Graphs," arXiv:2507:16513, 2025 (v2 released in 2026).

Please cite us when you generate results using our toolbox:

@article{krebbekxGraphicalAnalysisNonlinear2025,
  title={Analysis of Non-Square Nonlinear MIMO Systems using Scaled Relative Graphs},
  author={Krebbekx, Julius P. J. and T{\'o}th, Roland and Das, Amritam},
  year={2025},
  journal={arXiv:2507:16513}
}

The code is released under the BSD 3-Clause license.

Please feel free to ask questions, propose changes or new features by emailing to j.p.j.krebbekx@tue.nl.

Installation

To use this package, cd to the folder of this project, and run

  1. julia to open the Julia REPL (read-eval-print-loop),
  2. ]activate . to activate the environment,
  3. ]instantiate to resolve the package dependencies of your environment

Now, you can include using SrgTools in any script as desired.

In VSCode, select Julia env: SrgTools.jl in the bottom left corner. A VSCode workspace will remember this choice of Julia environment for the folder.

To install the latest version of Julia in a safe and easy way (Unix), run

curl -fsSL https://install.julialang.org | sh

For Windows, one achieves the same by running

winget install --name Julia --id 9NJNWW8PVKMN -e -s msstore

For more information on installing Julia, see the Julia website.

Getting Started

To get started with this toolbox, we suggest looking at the examples in examples/ first.

Some Remarks on Performance

In practically all SRG calculations there is a "resolution" degree of freedom.

In the case of compute_lti_srg_boundary_upperhalfplane, which underpins all LTI SRG computations, the computational burden depends on how "fine" the arrays alphas, phis, and frequencies are taken.

The same goes for computing interconnections of SRGs.

Notes

This package is still under continuous development. Therefore, things like tests and stuff are not implemented (yet).

About

Julia code for computing the Scaled Relative Graph (SRG) of Multiple-Input Multiple-Output (MIMO) systems, computing interconnections of SRGs and plotting functionalities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages