---

tocdepth: 1

---

# {{osyn}}



Analysis and Synthesis of First-Order Algorithms (MATLAB)

---

{{osyn}}: <span style="color:#5D93BF">optimization</span> (algorithm) synthesis.

## Overview





{{osyn}}  analyzes and synthesizes first-order algorithms by using methods from robust control theory. 



Analysis bounds performance measures such as  worst-case convergence rates and gains for error amplification. Synthesis tries to design an optimization algorithm satisfying these desired performance constraints. 
Analysis and Synthesis may be performed for algorithms arising in dynamic environments,  including cases  with constant or time-varying delays, channel memory, and cross-talk.


Both the Analysis and Synthesis tasks are posed as convex problems with  Linear Matrix Inequality constraints. These problems are posed and solved using [LMILab](https://www.mathworks.com/help/robust/ug/introduction.html).  



## Get Started

For installation and  examples of algorithm  Analysis and Synthesis workflows, see  {doc}`Get Started <pages/get_started/index_get_started>`.

## Contributors

- [Jared Miller](https://jarmill.github.io/): Creator and maintainer
- [Fabian Jakob](https://www.ist.uni-stuttgart.de/institute/team/Jakob-00004/): Creator
- Manuel Zobel: Creator
- [Carsten Scherer](https://www.imng.uni-stuttgart.de/institute/team/Scherer-00006/): Creator
- [Andrea Iannelli](https://www.ist.uni-stuttgart.de/institute/team/Iannelli/): Creator


Contact [Jared Miller](https://jarmill.github.io/) for questions, issues, feedback, and suggestions.

## Funding
Development of {{osyn}} was in part supported by  Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy - EXC 2075 – 390740016 and by the Stuttgart Center for Simulation Science (SimTech)

```{toctree}
:maxdepth: 2
:hidden:

Home <self>
Get Started <pages/get_started/index_get_started>
How it Works <pages/how_it_works/index_how_it_works>
Usage <pages/usage/index_usage>
Examples <pages/examples>
Documentation <pages/documentation/index_documentation>
Changelog <pages/changelog/changelog>
Resources <pages/resources/resources>
```


