Accelerating the pace of engineering and science

# ctrbf

Compute controllability staircase form

## Syntax

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
ctrbf(A,B,C,tol)

## Description

If the controllability matrix of (A, B) has rank rn, where n is the size of A, then there exists a similarity transformation such that

$\begin{array}{ccc}\overline{A}=TA{T}^{T},& \overline{B}=TB,& \overline{C}=C{T}^{T}\end{array}$

where T is unitary, and the transformed system has a staircase form, in which the uncontrollable modes, if there are any, are in the upper left corner.

$\begin{array}{ccc}\overline{A}=\left[\begin{array}{cc}{A}_{uc}& 0\\ {A}_{21}& {A}_{c}\end{array}\right],& \overline{B}=\left[\begin{array}{l}0\\ {B}_{c}\end{array}\right],& \overline{C}=\left[{C}_{nc}{C}_{c}\right]\end{array}$

where (Ac, Bc) is controllable, all eigenvalues of Auc are uncontrollable, and ${C}_{c}{\left(sI-{A}_{c}\right)}^{-1}{B}_{c}=C{\left(sI-A\right)}^{-1}B$.

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C) decomposes the state-space system represented by A, B, and C into the controllability staircase form, Abar, Bbar, and Cbar, described above. T is the similarity transformation matrix and k is a vector of length n, where n is the order of the system represented by A. Each entry of k represents the number of controllable states factored out during each step of the transformation matrix calculation. The number of nonzero elements in k indicates how many iterations were necessary to calculate T, and sum(k) is the number of states in Ac, the controllable portion of Abar.

ctrbf(A,B,C,tol) uses the tolerance tol when calculating the controllable/uncontrollable subspaces. When the tolerance is not specified, it defaults to 10*n*norm(A,1)*eps.

## Examples

Compute the controllability staircase form for

```A =
1     1
4    -2

B =
1    -1
1    -1

C =
1     0
0     1
```

and locate the uncontrollable mode.

```[Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)

Abar =
-3.0000         0
-3.0000    2.0000

Bbar =
0.0000    0.0000
1.4142   -1.4142

Cbar =
-0.7071    0.7071
0.7071    0.7071

T =
-0.7071    0.7071
0.7071    0.7071
k =
1     0
```

The decomposed system Abar shows an uncontrollable mode located at -3 and a controllable mode located at 2.

expand all

### Algorithms

ctrbf implements the Staircase Algorithm of [1].

## References

[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.