The finite controllability grammian at time
t<∞t
is defined as follows.

Pt=∫0teAτBB*eA*τdτ
P
t
τ
t
0
A
τ
B
B*
A*
τ

(1)This grammian has two important properties. First,
Pt=P*t≥0
P
t
P*
t
0
.
Secondly, the columns of
PtPt
span the controllable space, i.e.
imPt=imCAB
im
P
t
im
C
A
B
It can be shown that the state defined by AA and BB
is controllable if, and only if,
PtPt
is positive definite for some
t>0t0.

Using the controllability grammian, we can determine how to most efficiently take a system from the zero state to a certain state
x―x―.
Given that
x―x―
is in the controllable space, there exists ξξ such that

for some

T―>0T―0. In this case, the minimum energy input required to move the system from zero to

x―x―
is

u―=B*eA*(T―−t)ξ―
u―
B*
A*
T―
t
ξ―
If the controllability matrix is invertible, we can use

the relation equation between ξ and certain state to put

u―u―
in terms of

x―x―:

u―
=B*eA*(T―−t)P-1T―x―
u―
B*
A*
T―
t
P
T―
x―

(3)
In general, this minimal energy is exactly equal to
ξ―*PT―ξ―
ξ―
*
P
T―
ξ―
.
If the system is controllable, then this formula becomes

Energyu―=x―*P-1T―x―
Energy
u―
x―
*
P
T―
x―

(4)
If you don't want to start at the zero state, the formulas above can still be applied for taking a system at state

x1x1
to a state

x2x2.
This holds even if

x1x1
and

x2x2
are not controllable; in this case, all that is necessary is for

x2−x1
x2
x1
to be in the controllable space. (This makes sense if you think of

x1x1
as being the zero state and

x2x2
as being the general state we are trying to reach; it is the exact analog of the previous case. Using

x1x1
and

x2x2
is just like using

00 and

xx
with an appropriate offset.)