Jacobian linearization of trigonometric functions

control theory

If I have to linearize a nonlinear trigonometric system around the origin $(0,0)$:
$$\dot{x_1} = x_2$$
$$\dot{x_2} = \cos(x_1)$$

I can apply the small angle approximation to find the matrix A:
$$ A = \pmatrix{0&1\\1&0} $$

However, if I apply Jacobian linearization and take the partial derivatives of $\dot{x}$, I get:
$$ A = \pmatrix{0&1\\-\sin(x_1)&0}$$

Evaluated at the origin, I get:
$$ A = \pmatrix{0&1\\0&0} $$

Seeing as how the two different linearization techniques yield different results, is one more valid than the other?

Best Answer

Your small angle approximation is wrong and your Jacobian linearization is incomplete.

If $x_1 \approx 0$ then $\cos(x_1) \approx 1$ and so the system

$$ \begin{align} \dot{x_1} &= x_2 \\ \dot{x_2} &= \cos(x_1) \\ \end{align} $$

behaves close to $(0,0)$ approximately like

$$ \begin{align} \dot{x_1} &= x_2 \\ \dot{x_2} &= 1 \\ \end{align} $$

If you put this in matrix form:

$$ \begin{pmatrix} \dot{x}_1 \\ \dot{x}_2 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \end{pmatrix} $$

This is the "small angle approximation" and as you can see this is essentially the same as the Jacobian linearization. Remember that the Jacobian linearization of a nonlinear system $\dot{x} = f(x)$ at $x_0$ is

$$ \dot{x} = f(x_0) + A(x - x_0) $$

where $A$ is the Jacobian matrix of $f$ at $x_0$. If you insert your system and your point you get:

$$ \begin{pmatrix} \dot{x}_1 \\ \dot{x}_2 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ -\sin(0) & 0 \end{pmatrix} \begin{pmatrix} x_1 - 0 \\ x_2 - 0 \end{pmatrix} + \begin{pmatrix} 0 \\ \cos(0) \end{pmatrix} $$

which is just:

$$ \begin{pmatrix} \dot{x}_1 \\ \dot{x}_2 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \end{pmatrix} $$

so the same as the small angle approximation.

Your mistake was that you neglected the fact that you linearized at a non-equilibrium point. Usually we linearize at an equilibrium and then $f(x_0) = 0$, so the constant term can be neglected.

But you linearize at $(0, 0)$ which is not an equilibrium point of your system because $\dot{x_2} \neq 0$ at $x_1 = 0$, so the system is not at rest at the origin.