NOTE: PIETOOLS 2024 is available on MATLAB toolbox repository and GitHub. Major Updates: 1. PIETOOLS and PIESIM now include native support for 2D PDEs defined on a hyper-rectangle. -- 2D PDEs can be declared using the command line interface -- 2D PDEs can be simulated in PIESIM (See Chap 6) -- 2D opvars and decision variables can be created using lpivar, poslpivar, etc -- function-valued inputs and boundary conditions can be declared (See Chap 4) -- the gain analysis and estimator design scripts now support 2D PDEs and PIEs -- Demo 9 now illustrates L2-gain analysis for a 2D PDE 2. Support for H2 analysis, estimation, and control are now supported (See Chap 13) -- New scripts include `lpiscript(pie,h2norm)' and `lpiscript(pie,h2-observer)' -- Demo 8 now illustrated H2 gain analysis 3. Scripts now allow for non-coercive Lyapunov function candidates, improving the accuracy of gain analysis and performance of optimal controller/observer synthesis. 4. All Demos have been streamlined and shortened to better illustrate functionality and workflow. -- Two new demos have been added illustrating analysis of 2D PDEs and H2 norm bounding. Minor Updates 1. Improved operator inversion routines have been incorporated in getobserver/getcontroller to allow for more numerically reliable controller/observer gains. 2. Several routines in declaring and solving LPIs have been updated and renamed. -- sosprogram is now lpiprogram and updated to require that the spatial domain must be specified at instantiation -- sosdecvar is now lpidecvar and sossetobj is now lpisetobj -- soseq is now lpi_eq and sosineq is now lpi_ineq. Furthermore, these routines have been updated to allow for scalar equality/inequality constraints -- sossolve is now lpisolve -- sosgetsol is now lpigetsol and allows one to access operator-valued variables directly. 3. the function `piess' now allows one to construct a PIE object directly, using similar state-space syntax to the Matlab command `ss' -- e.g. piess(T,A,B,C,D) where T,A,B,C,D are opvar objects. 4. The function `pielft' allows for the closed-loop interconnection (LFT) of two PIE objects. e.g. pielft(pie1,pie2)