1 Introduction

The practical and theoretical foundations of modern control theory rest on the concept of system stability, established in the pioneering work of Lyapunov [18]. The seminal work of Kalman and Bertram [13, 14] first clarified the implications of Lyapunov stability theory in the realm of automatic control systems. The authoritative books by LaSalle and Lefschetz [16], Lefschetz [17], Hahn [9], as well as the remarkably well written textbooks by Khalil [15] and Merkin [21], contain all the required background on the vast, and rather well known, subject of stability of systems described by nonlinear differential equations. We refer the reader to these works.

Geometric Algebra (GA) is a framework for studying the geometric aspects of both mathematical and physical problems. Its impact in technological areas include: robotics, computer animation, molecular dynamics, learning, quantum computing, data analysis, power line transmission systems and many other fields. The literature on GA and its many applications has vastly grown in recent years. The reader is referred to the seminal books by: Hestenes and Sobczyk [11], Hestenes [10] and Macdonald [19, 20]. Fascinating application areas are advocated in Bayro-Corrochano [2,3,4], Abłamowicz and Sobczyk [1], Dorst et al. [8], Lasenby and Doran [7] and Joot [12]. We refer the reader to those sources for the required background on GA and on Geometric Calculus.

In this article, we revisit Lyapunov’s stability theory from the perspective of GA. Initial steps are taken to identify the geometric meaning and the corresponding GA procedures needed to assess the nature of the stability of system equilibria, traditionally examined by use of Lyapunov’s stability concepts and theorems. GA is shown to be an effective conceptual, yet intuitive, mathematical tool to establish local and global asymptotic stability of nonlinear system’s equilibria. The existence, or not, of invariant sets determine stability, or alternatively, asymptotic stability. This issue enjoys a simple geometric meaning that is easily assessed using GA.

In Sect. 2, we introduce a GA approach for the assessment of the nature of stability of the system equilibrium points. Section 3 presents some illustrative examples, along with graphical computer simulations. Section 4 is devoted to the conclusions and suggestions for further research.

2 A Geometric Algebra Approach to Stability

2.1 Definitions, Basic Assumptions and Main Results

Our developments rest on the following assumptions:

1. We are given a smooth system described by the set of non-linear differential equations defined in \(\mathbb {R}^n\). To such a linear vector space, we associate the GA \(\mathcal {G}^n\), with unit pseudoscalar \(\mathbf {I}\), and the choice of the state \(\mathbf {x}\) as: \(\mathbf {x}= \sum _{i=1}^nx_i\mathbf {e_i}\), where \(\mathbf {e_i}\) represents the unit directed length along the i-th coordinate axis. Such a system is represented by:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f(x)}, \ \ \mathbf {x}\in \mathcal {G}^n . \end{aligned}$$
(2.1)

For systems with a unique equilibrium point, without loss of generality, we can assume that the system exhibits such a unique equilibrium point at the origin \(\mathbf {0}\), i.e., \(\mathbf {f(0)=0}\).

2. We are given a scalar, smooth, Lyapunov function candidate, \(V(\mathbf {x}), \ \mathbf {x} \in \mathbb {R}^n\), assumed to be positive definite, i.e., \(V(\mathbf {x})>0 \ \forall \ \mathbf {x}\in \mathbb {R}^n\), with \(V(\mathbf {0})=0\).

3. The function \(V(\mathbf {x})\) has a nowhere vanishing gradient field, denoted by \(\partial _{\mathbf {x}}V\), except at the origin, \(\mathbf {x}=\mathbf {0}\), where it is zero. This assumption means that every smooth vector manifold in the collection:

$$\begin{aligned} \{\mathcal { V}_c\}=\{\mathbf {x}\in \mathbb {R}^n \ | \ V(\mathbf {x})=c, \ c >0 \ \}, \ \ \mathcal { V}_0=\mathbf {0}. \end{aligned}$$
(2.2)

is orientable, i.e., it has a well defined \((n-1)\)-dimensional tangent space at \(\mathbf {x}\), denoted by \(T_{\mathbf {x}}\mathcal { V}_c\). We assume that each smooth manifold \(\mathcal { V}_c\) is closed and bounded for every real number, \(c>0\). The infinite collection \(\{\mathcal { V}_c\}\) constitutes a foliation of \(\mathbb {R}^n\) (see Candel and Conlon [6]). Each member of the set \(\{\mathcal { V}_c\}\) is addressed as a leaf of the foliation (see Fig. 1).

Fig. 1
figure 1

Regular foliation induced by \(\mathcal { V}_c\), \(c>0\) on \(\mathbb {R}^n\)

4. As a linear vector space, the tangent space \(T_{\mathbf {x}}\mathcal {V}_c\), shown in Fig. 2, may be endowed with an \((n-1)\) dimensional GA: \(\mathcal { A}(T_{\mathbf {x}}\mathcal { V}_c)\subset \mathcal {G}^{n-1}\), addressed as the tangent sub-algebra, which is completely characterized by its well defined pseudoscalar field: \(\mathbf {I}(\mathbf {x})=\big < \mathcal { A}(T_{\mathbf {x}}\mathcal { V}_c)\big >_{n-1}\). Notice that:

$$\begin{aligned} (\partial _{\mathbf {x}}V(\mathbf {x}))^*=\partial _{\mathbf {x}}V(\mathbf {x}) \mathbf {I}=\mathbf {I(x)}, \end{aligned}$$
(2.3)

i.e., the dual to the gradient vector field coincides with the pseudoscalar of the tangent subalgebra \(\mathcal { A}(T_{\mathbf {x}}\mathcal { V}_c)\). Recall that \(\mathbf {I}\) is the unit pseudoscalar in \(\mathcal {G}^n\).

Fig. 2
figure 2

Tangent space \(T_{\mathbf {x}}(\mathcal { V}_c)\) of the foliation

Definition 2.1

The projection and the rejection at \(\mathbf {x}\) of the vector field \(\mathbf {f}(\mathbf {x})\), with respect to the pseudoscalar \(\mathbf {I(x)}\) of the tangent subalgebra associated with the tangent space of the smooth manifold, \(\mathcal { V}_c\), are respectively denoted by: \(\mathbf {f_{||}(x)}\) and \(\mathbf {f_\perp (x)}\). As shown in Fig. 3, these are given by:

$$\begin{aligned} \mathbf {f}_{||} (\mathbf {x})&=[\mathbf {f}(\mathbf {x})\cdot \mathbf {I} (\mathbf {x})]\mathbf {I}^{-1}(\mathbf {x}), \end{aligned}$$
(2.4)
$$\begin{aligned} \mathbf {f}_\perp (\mathbf {x})&=[\mathbf {f}(\mathbf {x})\wedge \mathbf {I} (\mathbf {x})]\mathbf {I}^{-1}(\mathbf {x}) \end{aligned}$$
(2.5)
Fig. 3
figure 3

Rejection and parallel components of \(\mathbf {f(x)}\) on \(T_{\mathbf {x}}(\mathcal { V}_c)\)

From the expressions (2.4)–(2.5), it is clear that if \(\mathbf {0}\) is an equilibrium point of \(\mathbf {f(x)}\), it is also an equilibrium point of \(\mathbf {f_\perp (x)}\), and of \(\mathbf {f_{||}(x)}\). The converse is not necessarily true.

Definition 2.2

The rejection dynamics of the system, with respect to the pseudoscalar field \(\mathbf {I(x)}\), is defined as:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f_\perp (x)} \end{aligned}$$
(2.6)

The following is a well known result (see Hestenes and Sobczyk [11]).

A vector field \(\phi (\mathbf {x}) \in \mathcal { G}^n\) belongs to the tangent space \(T_{\mathbf {x}}\mathcal { V}_c\), characterized by the pseudoscalar \(\mathbf {I(x)}\) of its tangent subalgebra, if and only if,

$$\begin{aligned}{}[{\phi }(\mathbf {x})\wedge \mathbf {I}(\mathbf {x})]=0. \end{aligned}$$
(2.7)

Proposition 2.3

The vector field: \(\mathbf {f_\perp (x)}\), is co-linear to the gradient field \(\partial _{\mathbf {x}}V\) (see Fig. 3) i.e., there exist a smooth scalar function \(\alpha (\mathbf {x})\) such that,

$$\begin{aligned} \mathbf {f_\perp (x)}=\alpha (\mathbf {x})\partial _{\mathbf {x}}V \end{aligned}$$
(2.8)

Proof

One uses the identities: \(\mathbf {I(x)}=\partial _{\mathbf {x}}V\mathbf {I}\) and \(\mathbf {I^{-1}(x)}=\mathbf {I}^{-1}(\partial _{\mathbf {x}}V)^{-1}\), on the expression defining \(\mathbf {f_\perp (x)}\).

$$\begin{aligned} \mathbf {f_\perp (x)}&=\left[ \mathbf {f(x)}\wedge \mathbf {I(x)}\right] \mathbf {I}^{-1} \frac{\partial _{\mathbf {x}}V}{|\partial _{\mathbf {x}}V|^2}=\left( \frac{\mathbf {f(x)\wedge I(x)I^{-1}}}{(\partial _{\mathbf {x}}V)^2}\right) \partial _{\mathbf {x}}V=: \alpha (\mathbf {x})\partial _{\mathbf {x}}V\nonumber \\&\end{aligned}$$
(2.9)

A more adequate expression for the scalar function \(\alpha (\mathbf {x})\) is obtained as follows:

$$\begin{aligned} \alpha (\mathbf {x})= & {} \left( \frac{\mathbf {f(x)\wedge I(x)I^{-1}}}{(\partial _{\mathbf {x}}V)^2}\right) =\left( \frac{\mathbf {f(x)\wedge I(x)I^{-1}I}}{(\partial _{\mathbf {x}}V)^2\mathbf {I}}\right) \nonumber \\= & {} \left( \frac{\mathbf {f(x)\wedge I(x)}}{(\partial _{\mathbf {x}}V) (\partial _{\mathbf {x}}V)\mathbf {I}}\right) = \left( \frac{\mathbf {f(x)\wedge I(x)}}{(\partial _{\mathbf {x}}V) \mathbf {I(x)}}\right) \nonumber \\= & {} \left( \frac{\mathbf {f(x)\wedge I(x)}}{\partial _{\mathbf {x}}V\cdot \mathbf {I(x)}+\partial _\mathbf {x}V\wedge \mathbf {I(x)}}\right) = \left( \frac{\mathbf {f(x)\wedge I(x)}}{\partial _\mathbf {x}V\wedge \mathbf {I(x)}} \right) \end{aligned}$$
(2.10)

where we have used the fact that \(\partial _{\mathbf {x}}V\cdot \mathbf {I(x)}=0\).

Definition 2.4

The set of states \(\mathbf {x}\), other than the origin, where \(\mathbf {f(x)}\) coincides with \(\mathbf {f_{||}(x)}\) is addressed as the collection of invariance sets,

$$\begin{aligned} \{ \ \mathbf {x}\in \mathcal { G}^n \ | \ \mathbf {f_\perp (x)=0}, \ \}=\{ \ \mathbf {x} \in \mathcal { G}^n \ | \ \mathbf {\alpha (x)}=0 \ \} \end{aligned}$$
(2.11)

The invariance sets may constitute of a finite union of disjoint smooth vector sub-manifolds of \(\mathbf {R}^n\). Invariant sets may also constitute of isolated points in \(\mathbf {R}^n\). Notice that the two sets in (2.6) are equal thanks to equation (2.8) and the assumption that \(\partial _{\mathbf {x}}V\) is nowhere zero except at the origin.

Remark: The rejection dynamics: \(\mathbf {\dot{x}}=\mathbf {f_\perp (x)}\), and the system dynamics \(\mathbf {\dot{x}=f(x)}\), share the origin as a common equilibrium state. If the rejection dynamics vector field, \(\mathbf {f_\perp (x)}\) does not vanish identically anywhere, i.e., if \(\alpha (\mathbf {x})\) does not vanish identically along the trajectories of the system dynamics, then the stability of the origin for the rejection dynamics has the same nature as the stability of the origin for the system dynamics.

The following theorem is the counterpart in GA terms of Lyapunov’s first theorem (see Hahn[9]).

Theorem 2.5

Under the assumptions 1)–4) (Sect. 2.1), let the scalar quantity:

$$\begin{aligned} \alpha (\mathbf {x})=\frac{\mathbf {f(x)\wedge I(x)}}{\mathbf {\partial _{\mathbf {x}}}V\mathbf {\wedge \;I(x)}} \end{aligned}$$
(2.12)

be strictly negative everywhere except at the origin where it is zero, then the origin is an asymptotically stable equilibrium point. Moreover, if \(V(\mathbf {x}) \rightarrow \infty \), as \(\mathbf {x} \rightarrow \infty \), then the origin is a globally asymptotically stable equilibrium point.

Proof

Consider the rejection dynamics:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f_\perp (\mathbf {x})}= {[\mathbf {f(x)}\wedge \mathbf {I}(\mathbf {x})]}\mathbf {I^{-1}(x)}=\alpha (\mathbf {x}) \partial _{\mathbf {x}}V(\mathbf {x}) \end{aligned}$$
(2.13)

Let \(V(\mathbf {x})>0\) be a Lyapunov function candidate as defined in the assumptions. We may use standard Lyapunov stability theory on the candidate \(V(\mathbf {x})\) to test the stability of the origin for the rejection dynamics (whose nature coincides with that of the system dynamics). The time derivative of \(V(\mathbf {x})\), along the trajectories of the rejection dynamics, yields:

$$\begin{aligned} {\frac{d}{dt}V(\mathbf {x})}=\alpha (\mathbf {x})\partial _{\mathbf {x}}V(\mathbf {x})\cdot \partial _{\mathbf {x}}V(\mathbf {x})=\alpha (\mathbf {x}){ |\partial _{\mathbf {x}}V(\mathbf {x})|^2}. \end{aligned}$$
(2.14)

Hence, \(\mathrm{sign} \;(\frac{d}{dt}V(\mathbf {x}))=\mathrm{sign}\; (\alpha (\mathbf {x}))\). It follows that if \(\alpha (\mathbf {x})<0\), then the origin is asymptotically stable. If \(V(\mathbf {x})\) is radially unbounded then, according to Lyapunov stability theory, the origin is globally asymptotically stable.

In the context of GA, Lyapunov’s instability theorem reads,

Theorem 2.6

If \(\alpha (\mathbf {x})\) is strictly positive in the region where \(V(\mathbf {x})\) is also strictly positive, then the origin is an unstable equilibrium point.

Remark From the expression (2.12) for \(\alpha (\mathbf {x})\), it follows that if the hyper-volume represented by \({[\mathbf {f(x)}\wedge \mathbf {I}(\mathbf {x})]}\) has different orientation than that represented by \({[(\partial _{\mathbf {x}}V(\mathbf {x}))\wedge \mathbf {I(x)}]}\), then \(\alpha (\mathbf {x})\) is negative. Otherwise, \(\alpha (\mathbf {x})\) is positive. For stability, the vector field \(\mathbf {f(x)}\) and, hence, \(\mathbf {f_\perp (x)}\) must both point in the direction of decreasing values of the parameter c defining the compact leaves of the foliation. Therefore, there must exist a component of \(\mathbf {f(x)}\) in the opposite direction of the gradient field \(\partial _{\mathbf {x}}V(\mathbf {x})\) i.e.,

$$\begin{aligned}{}[\mathbf {f(x)}\wedge \mathbf {I}(\mathbf {x})]^*=\mathbf {f(x)}\cdot \partial _{\mathbf {x}}V(\mathbf {x})=|\mathbf {f(x)}||\partial _{\mathbf {x}}V(\mathbf {x})| \cos \theta <0 \end{aligned}$$
(2.15)

i.e., for stability \(\theta \) must be an obtuse angle (see Hahn [9]). This states that if \(\alpha (\mathbf {x})\) is positive, \(\mathbf {f(x)}\) generically points in the direction of increasing values of \(V(\mathbf {x})\), otherwise, if \(\alpha (\mathbf {x})<0\) the trajectories of \(\mathbf {f(x)}\), starting at \(\mathbf {x}\), evolve towards leaves of \(\mathcal {V}_c(\mathbf {x})\) defined with smaller values of c. In the context of GA, Lyapunov’s Second Theorem is established as:

Theorem 2.7

Under the previously stated assumptions, let \(\alpha (\mathbf {x})\le 0\). Then, if \(\alpha (\mathbf {x})\) does not vanish identically along the trajectories of the system, the equilibrium at the origin is globally asymptotically stable.

The proof invokes the fact that if \(\{ \mathbf {x} \in \mathbb {R}^n \ | \ \alpha (\mathbf {x})=0 \ \}\) is ruled out as an invariance set, then the origin is the equilibrium point where the trajectories of the rejection field will be converging to. This as a result of the fact that, along the system trajectories, the elements of \(\mathcal { V}_c(\mathbf {x})\) will be shrinking to \(\mathcal { V}_{0}=\mathbf {0}\) as time goes on.

If the rejection field \(\mathbf {f_{\perp }(x)}\) vanishes identically at some compact set of points in \(\mathbf {R}^n\), then \(\{ \mathbf {x}\in \mathbb {R}^n \ | \ \mathbf {f_\perp (x)}=\alpha (\mathbf {x})\partial _{\mathbf {x}}V=\mathbf {0}\ \}\) represents an invariance set of the rejection field dynamics. Under such circumstances, the origin is only a stable equilibrium point.

Let the tangent space to a set of the form

$$\begin{aligned} \mathcal { V}_{\alpha _0}=\{ \mathbf {x}\in \mathbb {R}^n \ | \ \alpha (\mathbf {x})=0 \ \} \end{aligned}$$
(2.16)

be denoted by \(T_{\mathbf {x}}\mathcal { V}_{\alpha _0}\). The GA associated with this \((n-1)\) dimensional linear vector space is characterized by, say, the pseudoscalar \(I_{\alpha _0}(\mathbf {x})\). The test: \([\mathbf {f(x)}\wedge I_{\alpha _0}(\mathbf {x})]\not =0 \) suffices to discard invariance of the system trajectories on \(\mathcal { V}_{\alpha _0}\).

3 Some Illustrative Examples

3.1 Example 1

In this example, first appearing in the seminal work of Kalman [13, 14], we illustrate global asymptotic stability for the unique equilibrium point of a linear system:

$$\begin{aligned} \dot{x}_1=x_2, \ \ \dot{x}_2=-x_1-3x_2. \end{aligned}$$
(3.1)

which in GA terms is expressed as:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f}(\mathbf {x})=-\mathbf {xI}-3x_2\mathbf {e_2} \end{aligned}$$
(3.2)

where \(\mathbf {x}=x_1\mathbf {e_1}+x_2\mathbf {e_2}\). The equilibrium point is located at the origin \(\overline{x}_1=\overline{x}_2=0\) i.e., at \(\mathbf {x}=\mathbf {0}\).

The Lyapunov function candidate, \(V(\mathbf {x})\), is proposed to be:

$$\begin{aligned} V(\mathbf {x})=\frac{1}{2}(x_1^2+x_2^2)= \frac{1}{2}(\mathbf {x}\cdot \mathbf {x})= \frac{1}{2}\mathbf {x}^2 \ > 0 \end{aligned}$$
(3.3)

The gradient of \(V(\mathbf {x})\) is: \(\partial _{\mathbf {x}}V=x_1\mathbf {e_1}+x_2\mathbf {e_2}=\mathbf {x}\). The dual to this vector in \({\mathcal {G}^2}\) is a vector representing the tangent space to \(\mathcal { V}_c(\mathbf {x})\):

$$\begin{aligned} T_\mathbf {x}\mathcal { V}_c=\mathrm{span}(-x_2\mathbf {e_1}+x_1\mathbf {e_2})=\mathrm{span}(\mathbf {xI}). \end{aligned}$$
(3.4)

The one-dimensional (1-D) vector algebra \(\mathcal {A}(T_{\mathbf {x}}\mathcal { V}_c)\) is characterized by its pseudoscalar element \(\mathbf {I(x)}\), given by:

$$\begin{aligned} \mathbf {I(x)}=\mathbf {x}^*=\mathbf {xI}=-x_2\mathbf {e_1}+x_1\mathbf {e_2}. \end{aligned}$$
(3.5)

The rejection field of, \(\mathbf {f(x)}\), w.r.t. this 1-D blade is:

$$\begin{aligned} \mathbf {f}_\perp (\mathbf {x})= & {} [\mathbf {f(x)}\wedge \mathbf {I(x)}]\mathbf {I}^{-1}(\mathbf {x})\nonumber \\= & {} [(-\mathbf {xI}-3x_2\mathbf {e_2})\wedge \left( \mathbf {xI}\right) ](\mathbf {xI})^{-1}\nonumber \\= & {} [(x_2\mathbf {e_1}-(x_1+3x_2)\mathbf {e_2})\wedge (-x_2\mathbf {e_1}+x_1\mathbf {e_2})](-x_2\mathbf {e_1}+x_1\mathbf {e_2})^{-1}\nonumber \\= & {} -3x_2^2\mathbf {I}(-x_2\mathbf {e_1}+x_1\mathbf {e_2})^{-1} = -\left( \frac{3x_2^2}{x_1^2+x_2^2}\right) \mathbf {x} = -\left( \frac{3x_2^2}{x_1^2+x_2^2}\right) \partial _{\mathbf {x}}V(\mathbf {x})\nonumber \\ \end{aligned}$$
(3.6)

In other words,

$$\begin{aligned} \alpha (x)=\frac{\mathbf {f(x)}\wedge \mathbf {I(x)}}{{\partial _{\mathbf {x}}V(\mathbf {x})}\wedge \mathbf {I(x)}}=\frac{3x_2^2\mathbf {I}}{\mathbf {x}\wedge (-\mathbf {xI})}= \frac{3x_2^2\mathbf {I}}{-\mathbf {x^2I}} =-\frac{3x_2^2}{|\mathbf {x}|^2}. \end{aligned}$$
(3.7)

Notice that the invariance of the manifold

$$\begin{aligned} \mathcal { V}_{\alpha _0} =\{ \ \mathbf {x}\in \mathbb {R}^2 \ | \ x_2= 0 \ \} \end{aligned}$$
(3.8)

spanned in \(\mathcal { G}^2\) by \(\mathbf {e_1}\), w.r.t. the field \(\mathbf {f(x)}\) is tested via the tangency condition: \([\mathbf {f(x)}\wedge {\mathbf {e_1}}]=0\). This results in,

$$\begin{aligned}{}[\mathbf {f(x)}\wedge {\mathbf {e_1}}]= (x_1+3x_2)\mathbf {e_1e_2}, \end{aligned}$$
(3.9)

which is zero, along \(x_2=0\), only on \(x_1=0\), i.e., it is zero only at the origin. The origin is globally asymptotically stable. The system trajectories and the rejection field trajectories are depicted in Fig. 4.

Fig. 4
figure 4

System trajectories and rejection field trajectories for Example 1

3.2 Example 2

In this example, we assess the global asymptotic stability of the origin for a nonlinear system defined in \(\mathbb {R}^2\),

$$\begin{aligned} \dot{x}_1 = -x_2-x_1(x_1^2+x_2^2), \ \ \ \dot{x}_2 = x_1-x_2(x_1^2+x_2^2)\ . \end{aligned}$$
(3.10)

Defining the system state vector as: \(\mathbf {x}=x_1\mathbf {e_1}+x_2\mathbf {e_2}\), we obtain the following simpler description of (3.10) in \(\mathcal {G}^2\):

$$\begin{aligned} \mathbf {\dot{x}}=f(\mathbf {x})=\mathbf {xI}-\mathbf {x}|\mathbf {x}|^2 =\mathbf {x}(\mathbf {I}-\mathbf {x}^2) \end{aligned}$$
(3.11)

with equilibrium point: \(\overline{\mathbf {x}}=0\). Notice that \(\mathbf {I}-\mathbf {x^2}\) cannot be zero since \(\mathbf {I}\) is a pseudoscalar and \(\mathbf {x}^2\) is a scalar in \(\mathcal { G}^2\).

Consider the scalar Lyapunov function candidate and its gradient vector field

$$\begin{aligned} V(\mathbf {x})=\frac{1}{2}\mathbf {x}^2, \ \ \ \partial _{\mathbf {x}}V(\mathbf {x})=\mathbf {x}. \end{aligned}$$
(3.12)

The pseudoscalar of the tangent sub-algebra \(\mathcal { A}(T_{\mathbf {x}}\mathcal { V}_c)\) of \(\mathcal {G}^2\), defined in the tangent space of the level sets: \(V(\mathbf {x})=c, \ c>0\), is described by:

$$\begin{aligned} \mathbf {I(x)}= \mathbf {xI} \end{aligned}$$
(3.13)

We evaluate the tangency expression:

$$\begin{aligned} (\mathbf {xI}-\mathbf {x}|\mathbf {x}|^2) \wedge \left( \mathbf {xI}\right) =\mathbf {(xI)\wedge (xI)}-\mathbf {x\wedge (xI)}|\mathbf {x}|^2=-|\mathbf {x}|^4\mathbf {I} \end{aligned}$$
(3.14)

The orientation of the blade field is strictly negative in all of \(\mathcal {G}^2\), except at the origin, where the blade degenerates to zero. The origin is globally asymptotically stable equilibrium point.

The flows of the rejection field are governed by:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f}_\perp (\mathbf {x})= & {} [(\mathbf {xI}-\mathbf {x}|\mathbf {x}|^2) \wedge \left( \mathbf {xI}\right) ]\; \mathbf {(xI)^{-1}}\nonumber \\= & {} -|\mathbf {x}|^2(\mathbf {x\wedge xI}) \frac{\mathbf {xI}}{|\mathbf {xI}|^2}=-|\mathbf {x}|^4 \mathbf {I}\frac{\mathbf {xI}}{|\mathbf {x}|^2}=-\mathbf {x} |\mathbf {x}|^2 \nonumber \\= & {} -|\mathbf {x}^2|\partial _{\mathbf {x}}V(\mathbf {x}) \end{aligned}$$
(3.15)

Notice that the time derivative of \(V(\mathbf {x})\) along the trajectories of the system is given by

$$\begin{aligned} \frac{d}{dt}V(\mathbf {x})=\mathbf {x}\cdot {\mathbf {\dot{x}}}= \mathbf {x\cdot (xI)}-\mathbf {x}^2 |\mathbf {x}|^2=-|\mathbf {x}|^4 <0, \end{aligned}$$
(3.16)

ratifying, via standard Lyapunov stability theory, that the origin is a globally asymptotically stable equilibrium.

3.3 Example 3

In this example of physical character, we use the proposed GA approach to determine parameter values of a Lyapunov function candidate that demonstrate boundedness (i.e., stability) of the system solutions.

Consider Euler’s equations for describing the evolution of angular velocities, around the principal axes, of a rigid body which is not subject to external torques:

$$\begin{aligned} \mathbf {\dot{x}}= & {} \mathbf {f(x)}=\frac{(I_2-I_3)}{I_1}\omega _y\omega _z\mathbf {e_1} +\frac{(I_3-I_1)}{I_2}\omega _z\omega _x\mathbf {e_2} +\frac{(I_1-I_2)}{I_3} \omega _x\omega _y\mathbf {e_3} \end{aligned}$$
(3.17)

where \(\mathbf {x}=\omega _x\mathbf {e_1}+\omega _y\mathbf {e_2}+\omega _z\mathbf {e_3}\). A Lyapunov function candidate of the form:

$$\begin{aligned} V(\mathbf {x})=\frac{1}{2}\left( \alpha \omega _x^2+\beta \omega _y^2+\gamma \omega _z^2\right) , \ \ \alpha ,\beta ,\gamma >0, \end{aligned}$$
(3.18)

has, as a gradient vector:

$$\begin{aligned} \partial _{\mathbf {x}}V=\alpha \omega _x\mathbf {e_1}+\beta \omega _y\mathbf {e_2} +\gamma \omega _z\mathbf {e_3} . \end{aligned}$$
(3.19)

The ellipsoidal level sets have a tangent space whose subalgebra \(\mathcal { A}(T_{\mathbf {x}}\mathcal { V})\) in \(\mathcal {G}^3\) is characterized by the pseudovector (bivector):

$$\begin{aligned} \mathbf {I(x)}&= (\alpha \omega _x\mathbf {e_1}+\beta \omega _y\mathbf {e_2}+\gamma \omega _z\mathbf {e_3} )\mathbf {I} \nonumber \\&= \alpha \omega _x\mathbf {e_2e_3}+\beta \omega _y\mathbf {e_3e_1} +\gamma \omega _z\mathbf {e_1e_2} \end{aligned}$$
(3.20)

The tangency of \(\mathbf {f}(\mathbf {x})\), w.r.t. \(\mathbf {I(x)}\), is examined via, \([(\mathbf {f(x)})\wedge \mathbf {I(x)}]\), which is translated into:

$$\begin{aligned} \left[ f(\mathbf {x})\wedge \mathbf {I(x)}\right]= & {} \bigg [\bigg (\frac{(I_2-I_3)}{I_1}\omega _y\omega _z\mathbf {e_1} +\frac{(I_3-I_1)}{I_2}\omega _z\omega _x\mathbf {e_2}+\frac{(I_1-I_2)}{I_3} \omega _x\omega _y\mathbf {e_3}\bigg )\nonumber \\&\wedge&\bigg (\alpha \omega _x\mathbf {e_2e_3}+\beta \omega _y\mathbf {e_3e_1} +\gamma \omega _z\mathbf {e_1e_2} \bigg ) \bigg ]\nonumber \\= & {} \omega _x\omega _y\omega _z\left[ (\frac{ {\alpha }(I_2-I_3)}{{I_1}}) +(\frac{{\beta }(I_3-I_1)}{{I_2}})+ (\frac{{\gamma }(I_1-I_2)}{{I_3}})\right] \mathbf {e_1e_2e_3} \nonumber \\ \end{aligned}$$
(3.21)

Notice that if one sets: \(\alpha =I_1, \ \beta =I_2, \ \gamma =I_3\), then \([\mathbf {f(x)}\wedge \mathbf {I(x)}]\equiv \mathbf {0}\). The leaves of the foliation \(\{\mathcal { V}_c\}\) become invariant with respect to \(\mathbf {f(x)}\) for each \(c>0\). The origin is stable since the system trajectories live in the level sets \(\mathcal { V}_c\) represented by bounded ellipsoids. The trajectories of \(\mathbf {x}\in \mathbb {R}^3\) are confined to the unique ellipsoid containing the initial condition vector \(\mathbf {x}(0)\).

3.4 Example 4

In this example, we use the GA form of Lyapunov’s stability theory to characterize a limit cycle in the plane. Consider the following nonlinear system with state, \(\mathbf {x}=x_1\mathbf {e_1}+x_2\mathbf {e_2}\).

$$\begin{aligned} \mathbf {\dot{x}}= & {} [-x_1(\mathbf {x}^2-a^2)+x_2(\mathbf {x}^2+a^2)]\mathbf {e_1}\nonumber \\&+[-x_1(\mathbf {x}^2+a^2)-x_2(\mathbf {x}^2-a^2)]\mathbf {e_2} \end{aligned}$$
(3.22)

The Lyapunov function candidate is set to be: \(V(\mathbf {x})=\frac{1}{2}\mathbf {x}^2\). The gradient of \(V(\mathbf {x})\) is just, \(\partial _{\mathbf {x}}V=\mathbf {x}\). The global foliation \(\mathcal { V}_c\) is constituted by an infinite collection of concentric circles, parameterized by the real scalar: \(c>0\), and all centered at the origin of \(\mathbb {R}^2\).

The one-dimensional GA \(\mathcal { A}(T_\mathbf {x}S_c)\) is common to all leaves and characterized by the pseudoscalar:

$$\begin{aligned} \mathbf {I}(\mathbf {x}) = \mathbf {xI} \in \mathcal { G}^2 . \end{aligned}$$
(3.23)

The flow of the rejection field, \(\mathbf {f_\perp (x)}\), is governed by:

$$\begin{aligned} \mathbf {\dot{x}}&=\mathbf {f}_\perp (\mathbf {x})=[f(\mathbf {x})\wedge \left( \mathbf {xI}\right) ](\mathbf {xI})^{-1}=-(\mathbf {x}^2-a^2)\mathbf {x} =\alpha (\mathbf {x})\partial _{\mathbf {x}}V( \mathbf {x}) \end{aligned}$$
(3.24)

i.e., \(\alpha (\mathbf {x})=-(\mathbf {x}^2-a^2)\). In the open region: \(\mathbf {x}^2>a^2\), \(\alpha (\mathbf {x})<0\) and both the trajectories of the system and those of the rejection dynamics cross the leaves of the foliation pointing into compact disks of decreasing radius \(c>a\). The trajectories approach the disk \(V(\mathbf {x})=a\). In the region \(\mathbf {x}^2<a^2\), the scalar function \(\alpha (\mathbf {x})>0\), and thus it coincides in sign with the Lyapunov function candidate \(V(\mathbf {x})\). This renders the origin as an unstable equilibrium point. The circumference: \(\mathbf {x}^2=a^2\) sets \(\alpha (\mathbf {x})=0\). On this set, the system is governed by: \(\mathbf {\dot{x}}=-2a^2(\mathbf {xI})\). The rejection field is therefore governed by

$$\begin{aligned} \mathbf {\dot{x}}= [-2a^2\left( \mathbf {xI}\right) \wedge \left( \mathbf {xI}\right) ](\mathbf {xI})^{-1}=\mathbf {0} \end{aligned}$$
(3.25)

The circumference \(\mathbf {x}^2=a^2\) is an invariance set representing a limit cycle, shown in Fig. 5.

Fig. 5
figure 5

System trajectories and rejection field trajectories for Example 4 with \(a=1\)

3.5 Example 5

The last example illustrates the characterization of several limit cycles in the plane. Consider the nonlinear system:

$$\begin{aligned} \dot{x}_1&=x_1(a^2-x_1^2-x_2^2)(b^2-x_1^2-x_2^2) -\frac{x_2(b^2-x_1^2-x_2^2)}{\sqrt{x_1^2+x_2^2}}\nonumber \\ \dot{x}_2&=x_2(a^2-x_1^2-x_2^2)(b^2-x_1^2-x_2^2)+ \frac{x_1(b^2-x_1^2-x_2^2)}{\sqrt{x_1^2+x_2^2}} \end{aligned}$$
(3.26)

where \(0<a<b\). Letting, \(\mathbf {x}=x_1\mathbf {e_1}+x_2\mathbf {e_2}\), one rewrites the system, in GA terms, as:

$$\begin{aligned} \mathbf {\dot{x}}=(b^2-\mathbf {x}^2)\left( (a^2-\mathbf {x}^2)\mathbf {x}+\frac{\mathbf {xI}}{|\mathbf {x}|}\right) \end{aligned}$$
(3.27)

An appropriate Lyapunov function candidate is: \(V(\mathbf {x})=\frac{1}{2}\mathbf {x}^2\). Again, the gradient of \(V(\mathbf {x})\) is just, \(\partial _{\mathbf {x}}V=\mathbf {x}\).

The corresponding GA \(\mathcal { A}(T_\mathbf {x}\mathcal { V}_c)\), which is common to all leaves, is characterized by the pseudoscalar:

$$\begin{aligned} \mathbf {I}(\mathbf {x}) = \mathbf {xI} \in \mathcal { G}^2 \end{aligned}$$
(3.28)

The rejection field \(\mathbf {f_\perp (x)}\) is governed by:

$$\begin{aligned} \mathbf {\dot{x}}=\mathbf {f}_\perp (\mathbf {x})&=[f(\mathbf {x})\wedge \mathbf {xI}](\mathbf {xI})^{-1}= (a^2-\mathbf {x}^2)(b^2-\mathbf {x}^2)\mathbf {x} =\alpha (\mathbf {x})\partial _{\mathbf {x}}V( \mathbf {x}) \end{aligned}$$
(3.29)

i.e., \(\alpha (\mathbf {x})=(a^2-\mathbf {x}^2)(b^2-\mathbf {x}^2)\). In the open annular region: \((\mathbf {x}^2>a^2)\cap (\mathbf {x}^2<b^2)\), the scalar function \(\alpha (\mathbf {x})\) is negative. The system trajectories, and those of the rejection dynamics, cross the leaves of the foliation pointing into compact disks of decreasing radius c while \( c\in [a,b]\). Clearly, the trajectories approach the circumference: \(\mathbf {x}^2=a^2\). In the disjoint open regions: \(\mathbf {x}^2 < a^2\) and \(\mathbf {x}^2>b^2\), the scalar function \(\alpha (\mathbf {x})\) is strictly positive and, as such, its sign coincides with that of the Lyapunov function candidate \(V(\mathbf {x})\). This renders the origin as a locally unstable equilibrium point in \(\mathbf {x}^2< a^2\) and leads to unstable trajectories in \(\mathbf {x}^2>b^2\). The system trajectories -as well as the rejection trajectories- cause the leaves of \(\mathcal { V}_c(x)\) to have the value of c increase, along such trajectories. On the circumferences: \(\mathbf {x}^2=a^2\) and \(\mathbf {x}^2=b^2\) the scalar function \(\alpha (\mathbf {x})\) is zero. On these 1-D sets, the system is governed, respectively, by: \(\mathbf {\dot{x}}=-2a^2(a^2+b^2)(\mathbf {xI})\) and \(\mathbf {\dot{x}}=-2b^2(a^2+b^2)(\mathbf {xI})\). The corresponding rejection fields are governed by,

$$\begin{aligned} \mathbf {\dot{x}}= & {} [-2a^2(a^2+b^2)\left( \mathbf {xI}\right) \wedge \left( \mathbf {xI}\right) ](\mathbf {xI})^{-1}=\mathbf {0} \end{aligned}$$
(3.30)
$$\begin{aligned} \mathbf {\dot{x}}= & {} [-2b^2(a^2+b^2)\left( \mathbf {xI}\right) \wedge \left( \mathbf {xI}\right) ](\mathbf {xI})^{-1}=\mathbf {0} \end{aligned}$$
(3.31)

The circumferences: \(\mathbf {x}^2=a^2\) and \(\mathbf {x}^2=b^2\) constitute invariance sets representing two limit cycles. The first one of radius a being attractive (i.e., stable) and the second one, of radius b, being “repulsive” or unstable, as shown in Fig. 6.

Fig. 6
figure 6

Phase plane trajectories for the system field and for the rejection field for Example 5, with \(a=1\) and \(b=2\)

4 Conclusions

In this article, we have presented Lyapunov stability theory for smooth nonlinear systems, defined in \(\mathbb {R}^n\), in terms of fundamental GA notions. The approach leads to an intuitive procedure which considers elementary GA operations, such as: rejections and tangency conditions of vector fields, with respect to specific geometric subalgebras defined on the nonlinear system’s state space. Rejection fields are easily determined from the system’s defining vector field and the GA associated with the tangent space of the Lyapunov function candidate level sets. Tangency conditions, related to tangent spaces of invariance sets, are also easily checked, establishing stability or asymptotic stability (local or global) of the system’s equilibrium. Several non-trivial examples have been presented in full detail, along with computer generated simulation graphs. The compactness and coordinate free style of the GA formulation, without losing computability, is clear from the presented examples. The results are easily extendable to the case of non-autonomous, nonlinear, systems.

Multivector-valued Lyapunov functions candidates may be shown to lead, in a natural manner, to a GA approach for vector Lyapunov stability theory introduced by Bellman [5] and further explored by Perruquetti et al. [22]). The results of this particular application of GA might motivate the development of appropriate computational software for stability assessment in high dimensional dynamic systems. The mentioned areas are suggested as topics for further contributions.