(Page Last updated Dec. 31, 2024)

PIETOOLS

 

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

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.

Watch our short (14min): Introduction to PIETOOLS Youtube Video

Read the Guide: How to Get Started with PIETOOLS

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:
  1. Use the GUI (Requires Matlab 2021) to construct and export a PDE data structure.
  2. Simulate a 1D or 2D PDE.
  3. Convert a DDE or a Neutral Type System (NDS) to a DDF.
  4. Find a minimal/low-dimensional realization of a DDF.
  5. Find optimal bounds for integral inequalities.

What can I do with PIETOOLS?

The use of PIETOOLS is organized into 4 categories. These are:
  1. Manipulation of 3-PI and 4-PI operators.
  2. Constructing and Solving Linear PI Inequalities (LPIs).
  3. Converting PDEs/DDEs/DDFs to PIEs.
  4. Solving LPIs for Analysis and Control of PIEs.
  5. 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.

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:

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

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:

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:

For a Complete List of Files Included with PIETOOLS, see the user manual



System requirements

To install and run PIETOOLS, you need:


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