[Math] MIMO pole placement problem

control theoryeigenvalues-eigenvectorslinear-controlMATLAB

For a MIMO system with $n$ states, $m$ inputs and $p$ outputs:

Can anyone kindly help me to understand why the association between eigen value, eigenvector and feedback gain $K$ is non-unique (not one to one) in the case of state-feedback based closed loop control of MIMO systems? I read that for a fixed $n$ eigen values and $n$ eigen vectors there is a unique $K$ however, there is a freedom to choose $n$ eigen vectors from different possible set of eigen vectors for each set of $n$ eigen values.

how many different set of $n$ eigen vectors are possible for a specified $n$ eigen values?

So when we use Matlab command place() for pole placement for the MIMO system, to get $K$ for a set of $n$ desired poles, which among the possible the eigen vectors is used by MAtlab? any criteria?

I just checked to see that Matlab is choosing the same set of eigen vectors, when we try to place using the same set of eigen values repeatedly such as

K=place(A,B,P)  
[V1,D1]=eig(A-B*K)
  K=place(A,B,P) 
 [V2,D2]=eig(A-B*K)
 V1-V2

Ans= 0 ($n \times n$);

Best Answer

You are interested in finding a $K$ such that

$$ A - B\,K = V\,\Lambda\,V^{-1}, \tag{1} $$

with $A,\Lambda,V \in \mathbb{R}^{n \times n}$, $B \in \mathbb{R}^{n \times m}$, $K \in \mathbb{R}^{m \times n}$ and $\Lambda$ a diagonal matrix (the right hand side is the eigendecomposition of the desired closedloop matrix). I will assume that the pair $(A,B)$ is controllable so $\Lambda$ can be chosen freely, furthermore the rank of $B$ is assumed to be equal to $m$. If this last assumption is not the case then it won't change the possible $V$ that could be chosen when using a new $B$ matrix instead, which has the same span as the original $B$ but does satisfy this condition.

When looking at the constrains and degrees of freedom it is possible to get an idea of how many columns of $V$ (the eigenvectors) can be chosen freely. Namely the number of degrees of freedom are equal to $n$ times $m$. Choosing the eigenvalues ($\Lambda$) adds $n$ constraints. Choosing a column of $V$ adds $n-1$ constraints, namely the length of the eigenvector does not matter (as long as it is none zero). So from this it can be concluded that the largest number of eigenvectors $p$ that can be chosen freely should equal

$$ p \leq \frac{n (m - 1)}{n - 1}. \tag{2} $$

When $m = n$ it is trivial to show that all nonsingular $V$ are allowed. The matrix $K$ can then be found using

$$ K = B^{-1} (A - V\,\Lambda\,V^{-1}). \tag{3} $$

For $m > n$ then $B$ can be reduced to a $m=n$, however it is also possible to use the right inverse, which will minimize the 2-norm of $u$.

Now comes the more difficult and interesting case, namely when $m < n$ and thus not all columns of $V$ can be chosen freely. However it can be noted that if $m = 1$ then all degrees of freedom of $K$ need to be used to satisfy the constraints for $\Lambda$, so then for a given $\Lambda$ the matrix $V$ will be fixed. By multiplying equation $(1)$ on the right hand side by $V$ and define a new temporary matrix $\Omega = K\,V$ then the following linear matrix equation can be obtained

$$ A\,V - B\,\Omega = V\,\Lambda. \tag{4} $$

Equation $(4)$ can be reduced to a linear system of equations. In order to do this equation $(4)$ has to be reshaped from a matrix of $n \times n$ into a vector of $n^2 \times 1$. One way of achieving this would be

$$ \begin{bmatrix} A\,V_{\bullet,1} - B\,\Omega_{\bullet,1} - \Lambda_{1,1} V_{\bullet,1} \\ A\,V_{\bullet,2} - B\,\Omega_{\bullet,2} - \Lambda_{2,2} V_{\bullet,2} \\ \vdots \\ A\,V_{\bullet,n} - B\,\Omega_{\bullet,n} - \Lambda_{n,n} V_{\bullet,n} \end{bmatrix} = 0, \tag{5} $$

where $X_{\bullet,i}$ denotes the $i$th column of matrix $X$. Next all constraints have to be defined. In order to constrain the length of the of the columns of $V$ which are not chosen freely one can set for example the first element of each of these columns to one. However it can be possible that later this will yield a singular systems of equations, if so you might have to try to set a different element of a column to one. For now I do not have a better solution than trial and error, however I suspect that this should not happen that often. The $p$ chosen columns of $V$ and the elements equal to one of the remaining columns can be substituted into equation $(5)$. This can then be rewritten as linear system of equations, since all unknown parameters only occur linearly. It can be noted that since $V_{\bullet,i}$ and $\Omega_{\bullet,i}$ only occur in the $i$th set of $n$ rows from equation $(5)$, therefore it can also be rewritten as $n$ linear systems of equations.

This formulated system of linear equations however will always be singular when an entire column of $V$ is specified by the user. This is because the only remaining unknown parameters related to that column of $V$ will be pre-multiplied by the $B$ matrix. So in order to be able to solve for the unknown parameters $\Omega_{\bullet,i}$ then $(A-\Lambda_{i,i} I)V_{\bullet,i}$ would have to lie within the span of $B$. Or if $\Lambda_{i,i}$ is not an eigenvalue of $A$, then $V_{\bullet,i}$ would have to lie within the span of $(A-\Lambda_{i,i} I)^{-1} B$. Therefore $\Lambda_{i,i}$ and $V_{\bullet,i}$ can never be chosen entirely freely.

As stated in the previous paragraph the allowed choices for columns of $V$ are limited to a $m$ dimensional span. Choosing a vector from this span will only add $m-1$ constraints per chosen column of $V$ instead of $n-1$, so equation $(2)$ will become $p=n$. This would imply that all columns of $V$ can then be chosen, as long as they lie within a certain span. According to equation $(1)$ $V$ has to be none singular, so all columns of $V$ have to be linearly independent of each other. This implies that the eigenvalues of $\Lambda$ can have at most an multiplicity of $m$, since it is impossible to choose more then $m$ independent columns from a span of dimension $m$. If a higher multiplicity is desired then the structure of $\Lambda$ would have to be changed to the Jordan form, but the number of associated Jordan blocks to the same eigenvalue should still be at most be $m$. The constraint on the multiplicity of the eigenvalues of $\Lambda$ also holds for the place() command in MATLAB, so I suspect that it uses a similar method of solving this problem (at least based on eigenvalue decomposition instead of the more general Jordan decomposition).

Once all desired constraints are applied then each $n$ dimensional linear system of equations can be solved. If $V_{\bullet,i}$ is only constrained in its length, then there will be more unknowns then equations and again the right inverse could be used to solve for $\Omega_{\bullet,i}$ and the rest of $V_{\bullet,i}$. Once all linear systems of equations are solved, then all solution can be rewritten to form $V$ and $\Omega$. The controller gain can be obtained through $K = \Omega\,V^{-1}$.

Related Question