Metrics for Quantifying Controllability

While controllability offers a binary quantification of control (are all state tranformations possible?), there are more fine-grained metrics that can be used. The amount of energy used to make a state transformation is contained in the Gramian matrix, and gives an assessment of how practical a control configuration might be, even if it is technically controllable.

netcontrolz.finite_horizon_gramian(A, B, T)[source]

Returns the finite horizon (finite time) Gramian matrix when the system is driven to the origin:

H = e^{-A*T} W e^{-A'*T},

where ' stands for transpose

W = \int_0^T e^{A*t} B B' e^{A'*t} dt

Driving a system from x_0 to x_T uses energy:

\mathcal{E} = v' W^{-1} v,  \qquad v = x_T - e^{A*T}x_0

If x_T = 0 (origin) then this simplifies to

\mathcal{E} = x_0' H^{-1} x_0

Bounds on the energy \mathcal{E} can be established by the max and min eigenvalues of H (\lambda_1 > \lambda_2 > \cdots > \lambda_n):

1/\lambda_1 \leq \mathcal{E} \leq 1/\lambda_n.

Note that matrices A and B should be realizations, not sparsity patterns.

netcontrolz.finite_horizon_discrete_time_gramian(A, B, T)[source]

Returns the finite horizon (finite time, T) Gramian matrix when the system is driven from the origin:

W = \sum_{k=0}^{T-1} A^k B B' A^k

Driving a system from the origin to x_T uses energy:

\mathcal{E} = x_T' W^{-1} x_T,

Bounds on the energy E can be established by the max and min eigenvalues of W (\lambda_1 > \lambda_2 > \cdots > \lambda_n):

1/\lambda_1 \leq \mathcal{E} \leq 1/\lambda_n.

Note that matrices A and B should be realizations, not sparsity patterns.

netcontrolz.infinite_horizon_gramian(A, B)[source]

Returns the infinite horizon (final time goes to infinity) Gramian matrix corresponiding to a symmetric stable matrix A.