LMIs in Control/pages/systemzeros through feedthrough

Let's say we have a transfer function defined as a ratio of two polynomials: $$ \begin{align} H(s) = \frac{N(s)}{D(s)} \\ \end{align}$$ Zeros are the roots of N(s) (the numerator of the transfer function) obtained by setting $$ N(s) = 0 $$ and solving for s.The values of the poles and the zeros of a system determine whether the system is stable, and how well the system performs. Similarly, the system zeros are either real or appear in complex conjugate pairs. In the case of system zeros without feedthrough, we take the assumption that $$ D=0 $$.

The System
Consider a continuous-time LTI system, $$ G $$, with minimal statespace representation $$ (A,B,C,0) $$



\begin{align} \dot x(t) = Ax(t) + Bu(t)\\ y(t) = Cx(t) \end{align} $$

The Data
The matrices:



\begin{align} A \in \mathbb{R}^{n \times n} \\ M \in \mathbb{R}^{n \times q} \\ N \in \mathbb{R}^{q \times n} \\ \end{align}$$

The LMI: System Zeros without feedthrough
The transmission zeros of $$ G(s) = C(sI-A)^-1 B $$ are the eigenvalues of $$ NAM $$, where $$ N \in \mathbb{R}^{q \times n}, M \in \mathbb{R}^{n \times q}, CM = 0, NB = 0, NM = 1. $$. Therefore, $$ G(s) $$ is a minimum phase if and only if there exists $$ P \in \mathbb{S}^{q} $$, where $$ P>0 $$ such that



\begin{align} PNAM + M^T A^T N^T P <0 \end{align}$$

Conclusion:
If P exists, it ensures non-minimum phase. Eigenvalues of NAM then gives the zeros of the system.

Implementation
https://github.com/Ricky-10/coding107/blob/master/Systemzeroswithoutfeedthrough