Linearisation Proof

What is Taylor Series?

The Taylor series is a way to approximate a function around a point.

For a function f(x)f(x), the Taylor series around the point aa is:

f(x)=f(a)+f′(a)(x−a)+f′′(a)2!(x−a)2+f(3)(a)3!(x−a)3+…f(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \frac{f^{(3)}(a)}{3!}(x-a)^3 + \dots

The approximation is valid around values x=ax=a.

HLT Form

An equivalent form in HLT, where x=a+hx = a + h, the point we linearise around plus a pertubation:

f(a+h)=f(a)+hf′(a)+h22!f′′(a)+h33!f(3)(a)+⋯f(a + h) = f(a) + h f'(a) + \frac{h^2}{2!} f''(a) + \frac{h^3}{3!} f^{(3)}(a) + \cdots

This is a simple substitution and arguably makes the formula more intuitive. hh is the perturbation around the point aa.

Extension to Multivariable Functions

If f(x,u)f(x, u) is a function of multiple variables, then:

f(x,u)≈f(a,b)+∂f∂x(a,b)(x−a)+∂f∂u(a,b)(u−b)+…f(x, u) \approx f(a, b) + \frac{\partial f}{\partial x}(a, b)(x - a) + \frac{\partial f}{\partial u}(a, b)(u - b) + \dots

So you're still using values and derivatives at the point (a,b)(a, b), but now considering partial derivatives.

In HLT form, where x=a+hxx = a + h_{x} and u=a+huu = a + h_{u}:

f(a+hx,b+hu)≈f(a,b)+∂f∂x(a,b)hx+∂f∂u(a,b)hu+…f(a+h_{x},b+h_{u})\approx f(a,b)+\frac{\partial f}{\partial x}(a,b)h_{x}+\frac{\partial f}{\partial u}(a,b)h_{u}+\dots


Proof

Starting Point: Nonlinear System

x˙(t)=f(x(t),u(t)),y(t)=h(x(t),u(t))\dot{x}(t)=f(x(t),u(t)),\quad y(t)=h(x(t),u(t))

Step 1: Nominal Trajectory and Perturbations

We want to linearise the system around the nominal trajectory or point (x⋆(t),u⋆(t))(x^\star(t), u^\star(t)).

Perturbations around the nominal:

x(t)=x⋆(t)+xp(t),u(t)=u⋆(t)+up(t)x(t) = x^\star(t) + x_p(t), \quad u(t) = u^\star(t) + u_p(t)

where xp(t),up(t)x_p(t), u_p(t) are small perturbations.

Step 2: Taylor Expansion of ff

Taylor expansion allows us to model the system around our nominal point(x⋆(t),u⋆(t))(x^\star(t), u^\star(t))

x˙(t)=f(x(t),u(t))=f(x⋆(t),u⋆(t))+∂f∂x(x⋆(t),u⋆(t))xp(t)+∂f∂u(x⋆(t),u⋆(t))up(t)+higher order terms\begin{aligned}\dot{x}(t) & =f(x(t),u(t))\\ & =f(x^{\star}(t),u^{\star}(t))\\ & \quad+\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}\end{aligned}

Think of xp(t)x_{p}\left(t\right) as hh in the HLT form, but for multivaritate.

Step 3: Use Nominal Dynamics

By definition of nominal trajectory:

x˙⋆(t)=f(x⋆(t),u⋆(t))\dot{x}^{\star}(t)=f(x^{\star}(t),u^{\star}(t))

Substitute this back (replaces first term):

x˙(t)=x˙⋆(t)+∂f∂x(x⋆(t),u⋆(t))xp(t)+∂f∂u(x⋆(t),u⋆(t))up(t)+higher order terms\dot{x}(t)=\dot{x}^{\star}(t)+\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}

Step 4: Express Perturbation Dynamics

Subtract x˙⋆(t)\dot{x}^\star(t) from both sides:

x˙(t)−x˙⋆(t)=∂f∂x(x⋆(t),u⋆(t))xp(t)+∂f∂u(x⋆(t),u⋆(t))up(t)+higher order terms\dot{x}(t) - \dot{x}^\star(t) = \frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}

Recall:

x˙p(t)=x˙(t)−x˙⋆(t)\dot{x}_p(t) = \dot{x}(t) - \dot{x}^\star(t)

Hence (variables hidden and neglect higher order terms):

x˙p(t)=∂f∂xxp(t)+∂f∂uup(t)\dot{x}_{p}(t)=\frac{\partial f}{\partial x}x_{p}(t)+\frac{\partial f}{\partial u}u_{p}(t)

This is a linear time-varying system describing the perturbation dynamics.

Summary:

x˙p(t)=A(t)xp(t)+B(t)up(t)whereA(t)=∂f∂x(x⋆(t),u⋆(t)),B(t)=∂f∂u(x⋆(t),u⋆(t))\boxed{\begin{aligned}\dot{x}_{p}(t) & =A(t)x_{p}(t)+B(t)u_{p}(t)\\ \text{where}\quad A(t) & =\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t)),\quad B(t)=\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))\end{aligned}}

Matrix Form

Both ff and xx are vectors (multiple functions and states), so we write the different state differentials horizontally and the function changes vertically.

A(t)=[∂f1∂x1(x⋆(t),u⋆(t))⋯∂f1∂xn(x⋆(t),u⋆(t))⋮⋱⋮∂fn∂x1(x⋆(t),u⋆(t))⋯∂fn∂xn(x⋆(t),u⋆(t))]A(t) = \begin{bmatrix} \frac{\partial f_1}{\partial x_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_1}{\partial x_n}(x^\star(t), u^\star(t)) \\ \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial x_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_n}{\partial x_n}(x^\star(t), u^\star(t)) \end{bmatrix}

and

B(t)=[∂f1∂u1(x⋆(t),u⋆(t))⋯∂f1∂um(x⋆(t),u⋆(t))⋮⋱⋮∂fn∂u1(x⋆(t),u⋆(t))⋯∂fn∂um(x⋆(t),u⋆(t))]B(t) = \begin{bmatrix} \frac{\partial f_1}{\partial u_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_1}{\partial u_m}(x^\star(t), u^\star(t)) \\ \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial u_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_n}{\partial u_m}(x^\star(t), u^\star(t)) \end{bmatrix}





























Certainly! The matrices you provided are the Jacobian matrices of the function ff evaluated at the nominal trajectory (x⋆(t),u⋆(t))(x^\star(t), u^\star(t)).

We commonly define:

A(t):=∂f∂x(x⋆(t),u⋆(t))∈Rn×nA(t) := \frac{\partial f}{\partial x}(x^\star(t), u^\star(t)) \in \mathbb{R}^{n \times n}

and

B(t):=∂f∂u(x⋆(t),u⋆(t))∈Rn×mB(t) := \frac{\partial f}{\partial u}(x^\star(t), u^\star(t)) \in \mathbb{R}^{n \times m}


Explicitly,Summary:

  • A(t)A(t) captures how the system dynamics change with respect to the state xx near the nominal trajectory.

  • B(t)B(t) captures how the system dynamics change with respect to the input uu near the nominal trajectory.

These matrices are crucial in the linearized system:

x˙p(t)=A(t)xp(t)+B(t)up(t)\dot{x}_p(t) = A(t) x_p(t) + B(t) u_p(t)

Let me know if you want me to write the corresponding matrices for the output function hh as well!