(Page Last updated Dec. 31, 2024)

Latest Release: PIETOOLS 2024 (Dec. 31, 2024):
Download from Github
PIETOOLS can also be downloaded and installed using the following Matlab script: pietools_update.m
- Downloads and Installs: PIETOOLS 2024; sedumi; SOSTOOLS v4.00
Previous Versions:
PIETOOLS 2020a (July 2, 2020):
PIETOOLS_2020a.zip
PIETOOLS 2021a (June 1, 2021):
PIETOOLS_2021a.zip 2021a Release Notes
PIETOOLS 2021b (December 30, 2021):
PIETOOLS_2021b.zip Release Notes
User Manual
PIETOOLS 2022 (December 31, 2022):
PIETOOLS_2022.zip 2022 Release Notes
2022 User Manual
Introduction
PIETOOLS is a free MATLAB toolbox for formulating
and solving Linear PI Inequalities (LPIs) programs. PIETOOLS can
be used to define 3-PI or 4-PI operators, declare 3-PI or 4-PI operators variables (postive semidefinite or indefinite), add operator inequality constraints, and solve LPI optimization problems. The interface is inspired by YALMIP and the program structure is based on that used by SOSTOOLS. By default the LPIs are solved using SeDuMi.
What is a PIE?
PIE stands for Partial Integral Equation and is an alternative representation for many commonly encountered classes of systems, including Ordinary Differential Equations (ODEs), Partial-Differential Equations (PDEs), Delay Differential Equations (DDEs), and Differential-Difference Equations (DDFs).
The cool thing about PIEs is that, unlike PDEs and DDEs (which have lame boundary conditions, unbounded operators, and continuity constraints), PIEs are defined by the very slick linear algebra of 3/4 PI operators. This feature makes PIEs the representation of choice if you want to do anything computational with your beam equation, network model, reaction-diffusion equations, et c.
Now, you may be wondering if you are going to lose anything by switching your PDE/DDE/DDF to a PIE. No! That would be awful. You may have been hurt in the past by people wrecking your lovely PDE/DDE/DDF using such barbaric tools as approximation via discretization, projection, mollification, regularization or Pade. However, let us assure you that using PIEs is completely safe. The PIE representation of a PDE/DDE/DDF is exact. The solutions are one-to-one, only the tools used for representation have improved.
What if I don't like PIE?
Everyone likes PIE! But really, that's cool. If you are into the retro vibe, there are still lots of fun things you can do with PIETOOLS, like: declaring and simulating PDEs, DDEs, and DDFs; converting between representations; finding minimal representations; and playing with integral inequalities. PIETOOLS is open-source, so feel free to use it as an interface to your own software. Just send us a link if you do, so we can recognize you on the website. Here's a list of PIETOOLS functionality which doesn't involve PIE at all:
- Use the GUI (Requires Matlab 2021) to construct and export a PDE data structure.
- Simulate a 1D or 2D PDE.
- Convert a DDE or a Neutral Type System (NDS) to a DDF.
- Find a minimal/low-dimensional realization of a DDF.
- Find optimal bounds for integral inequalities.
What can I do with PIETOOLS?
The use of PIETOOLS is organized into 4 categories. These are:
- Manipulation of 3-PI and 4-PI operators.
- Constructing and Solving Linear PI Inequalities (LPIs).
- Converting PDEs/DDEs/DDFs to PIEs.
- Solving LPIs for Analysis and Control of PIEs.
- Numerically simulate a PIE or PDE.
1. Manipulation of 3/4-PI operators (Chapters 3 and 10 in User Manual)
The opvar class allows you to define and examine 3-PI and 4-PI operators. Most Matlab operations which are valid for matrices are also valid for 3/4-PI operators.
- Composition/Multiplication (T1*T2).
- Addition/Substraction (T1+T2 or T1-T2).
- Concatentation/Matrices of operators ([T1 T2] or [T1;T2]).
- Scalar Multiplication (a*T).
- Inversion of 3/4-PI operators.
2. Construct and Solve LPIs (Chapter 7 in User Manual)
Inspired by the YALMIP syntax for constructing and solving LMIs, PIETOOLS allows the user to declare and then manipulate 3/4-PI decision variables as they would any other 3/4-PI object. The user may also add equality and inequality constraints on these 3/4-PI objects, where positivity is defined with respect to the L2 inner product. Construction of almost any LPI can be accomplished using a combination of the following four commands:
- Declare a 3/4-PI variable (T1=lpivar).
- Declare a positive semidefinite 3/4-PI variable (T2=poslpivar).
- Declare and equality constraints (T1=T2 -> lpieq(T1-T2)).
- Declare an inequality constraints (T1>T2 -> lpiineq(T1-T2)).
3. Constructing and Converting PDEs/DDEs/DDFs to PIEs (Chapters 4 and 5 in User Manual)
PIETOOLS currently includes a convenient command-line interface for constructing almost any linear PDE/DDE/DDF and adding boundary conditions. There are also GUI and batch interfaces if that is your thing. Once you have constructed a PDE object, conversion to a PIE is simply `pie=convert(pde)'. You can also construct PIEs directly using `piess(T,A,B,C,D)' or close the loop on 2 PIE objects using `pielft(pie1,pie2)'. Some other fun features include
- You can construct PIEs directly using `piess(T,A,B,C,D)'.
- You can close the loop on 2 PIE objects using `pielft(pie1,pie2)'.
4. Analysis, Control and Simulation of PIEs (Chapters 6, 7.7 and 13 in User Manual)
The list of LPIs for analysis and control of PIEs is constantly expanding. However, PIETOOLS comes with several pre-defined functions for analysis and control of PIEs using LPIs. These can be executed using `lpiscript'. Examples of these functions include:
- Analyze stability of a PIE (lpiscript(PIE,`stability')).
- Compute the H_inf system norm of a PIE (lpiscript(PIE,`l2gain').
- Design an optimal observer/state-estimator for a PIE (lpiscript(PIE,`hinf-observer').
- Design an optimal state-feedback controller for a PIE (lpiscript(PIE,`hinf-controller').
- Simulate a PIE (PIESIM(PIE)).
5. Numerical Simulation of PIEs, PDEs, and DDEs
The PIE representation allows for numerical simulation of PDEs and DDEs without the bother of enforcing boundary conditions and continuity constraints. Tools for numerical simulation are still being improved and expanded, but current basic functionality includes:
- Simulation of a PIE with specified initial conditions and forcing functions/disturbances (PIESIM).
- Reconstruction of a PDE solution from solution of the PIE (PIEsol2PDEsol).
For a Complete List of Files Included with PIETOOLS, see the user manual
System requirements
To install and run PIETOOLS, you need:
- MATLAB version 6.0 or later.
- The current version of the MATLAB Symbolic Math Toolbox. This is installed in most default versions of Matlab.
- An SDP solver. Sedumi is included in the installation script and can be obtained from: SeDuMi
Authors
The software has been written and is maintained by:
References
A guide to PIETOOLS 2020a can be found at:
S. Shivakumar and A. Das and M. Peet
PIETOOLS: A Matlab Toolbox for Manipulation and Optimization of Partial Integral Operators
American Control Conference, 2020.
[arXiv:1910.01338]
[.pdf]
[slides]
[CodeOcean]
Introduction to the fundamentals of PIEs, equivalence to PDEs, and an LPI for stability analysis can be found at:
M. M. Peet
A Partial Integral Equation Representation of Coupled
Linear PDEs and Scalable Stability Analysis using LMIs
Automatica. Vol. 125. March, 2021. Regular Paper.
[arXiv:1812.06794] [.pdf] [.ps] [related talk]
[CodeOcean]
Equivalence of PIEs, DDEs and DDFs can be found at:
M. Peet
Representation of Networks and Systems with Delay: DDEs, DDFs, ODE-PDEs and PIEs
Automatica. Vol. 127. May, 2021.
[arXiv:1910.03881]
[.pdf]
[slides]
[CodeOcean]
M. Peet
Minimal Differential Difference Realizations of Delay Differential, Differential Difference, and Neutral Delay Systems
IEEE Control Systems Letters. Vol. 5. No. 4.
[arXiv]
[.pdf]
[slides]
[CodeOcean]
A duality theory for PIEs and an LPI for optimal state-feedback controller synthesis for a certain class of PIEs can be found at:
S. Shivakumar and A. Das and S. Weiland and M. Peet
Duality and H_\infty-Optimal Control Of Coupled ODE-PDE Systems
IEEE Conference on Decision and Control, 2020.
[arXiv] [.pdf] [slides] [CodeOcean]
An LPI for optimal observer/state-estimator synthesis for certain classes of PIEs (derived from DDEs and PDEs) can be found at:
A. Das and S. Shivakumar and S. Weiland and M. Peet
H-\infty Optimal Estimation for Linear Coupled PDE Systems
IEEE Conference on Decision and Control, 2019.
[arXiv:1809.10308]
[.pdf]
[slides]
[CodeOcean]
Technical Support
For those of you having trouble installing PIETOOLS, converting PDEs to PIEs, or solving LPIs, we have prepared a very incomplete Troublehooting Guide. This Guide addresses most of the problems which have been ecountered by our very helpful group of beta testers.
Our goal is to make use of PIETOOLS as simple as humanly possible. However, our background is not in coding and sometimes we come up short. If you are having a serious technical issue and neither the help commands nor the manual are helping, and believe there is a bug in the program, please report it to: mpeet@asu.edu. If there is a bug, we will add it to the known bug list and do our best to fix it.
Alternatively, if you would like to volunteer for the PIETOOLS development team, we would be happy to include you (no compensation - Sorry). Send an email to mpeet@asu.edu