Next Article in Journal
Solving the Boundary Value Problems for Differential Equations with Fractional Derivatives by the Method of Separation of Variables
Next Article in Special Issue
On the Numerical Simulation of HPDEs Using θ-Weighted Scheme and the Galerkin Method
Previous Article in Journal
A Computational Model for Cardiomyocytes Mechano-Electric Stimulation to Enhance Cardiac Tissue Regeneration
Previous Article in Special Issue
Group Invariant Solutions and Conserved Quantities of a (3+1)-Dimensional Generalized Kadomtsev–Petviashvili Equation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Nonlinear Observability Algorithms with Known and Unknown Inputs: Analysis and Implementation

by
Nerea Martínez
1,2,3 and
Alejandro F. Villaverde
1,*
1
BioProcess Engineering Group, IIM-CSIC, 36208 Vigo, Galicia, Spain
2
Department of Applied Mathematics II, University of Vigo, 36310 Vigo, Galicia, Spain
3
Department of Applied Mathematics, University of Santiago de Compostela, 15782 Santiago de Compostela, Galicia, Spain
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(11), 1876; https://doi.org/10.3390/math8111876
Submission received: 30 September 2020 / Revised: 14 October 2020 / Accepted: 22 October 2020 / Published: 29 October 2020
(This article belongs to the Special Issue Recent Advances in Differential Equations and Applications)

Abstract

:
The observability of a dynamical system is affected by the presence of external inputs, either known (such as control actions) or unknown (disturbances). Inputs of unknown magnitude are especially detrimental for observability, and they also complicate its analysis. Hence, the availability of computational tools capable of analysing the observability of nonlinear systems with unknown inputs has been limited until lately. Two symbolic algorithms based on differential geometry, ORC-DF and FISPO, have been recently proposed for this task, but their critical analysis and comparison is still lacking. Here we perform an analytical comparison of both algorithms and evaluate their performance on a set of problems, while discussing their strengths and limitations. Additionally, we use these analyses to provide insights about certain aspects of the relationship between inputs and observability. We found that, while ORC-DF and FISPO follow a similar approach, they differ in key aspects that can have a substantial influence on their applicability and computational cost. The FISPO algorithm is more generally applicable, since it can analyse any nonlinear ODE model. The ORC-DF algorithm analyses models that are affine in the inputs, and if those models have known inputs it is sometimes more efficient. Thus, the optimal choice of a method depends on the characteristics of the problem under consideration. To facilitate the use of both algorithms, we implemented the ORC-DF condition in a new version of STRIKE-GOLDD, a MATLAB toolbox for structural identifiability and observability analysis. Since this software tool already had an implementation of the FISPO algorithm, the new release allows modellers and model users the convenience of choosing between different algorithms in a single tool, without changing the coding of their model.

1. Introduction

Mathematical models of ordinary differential equations (ODEs) are used in all areas of science and technology for describing nonlinear systems. The ODEs define the evolution of the system state variables x ( t ) with respect to time, while the measurable quantities y ( t ) are defined by the output function. The model equations (ODEs and output function) may contain unknown parameters θ , and external inputs that may be known ( u ( t ) ) or unknown ( w ( t ) ). The structure of the model equations determines whether it is possible to estimate the model unknowns from the outputs. The theoretical possibility of inferring the states (respectively parameters) from the outputs is called observability (respectively structural identifiability) [1,2]. Since a parameter can be considered as a state variable with time derivative equal to zero, structural identifiability can be considered as a particular case of observability. Additionally, the possibility of recovering the unknown inputs is called reconstructibility or input observability. For simplicity, in this manuscript we use the word observability for all model unknowns, that is, to refer to the possibility of determining states, parameters, and/or inputs from the output. We assume that the model structure—the ODEs and output function—is known and correct. The assessment of the possible existence of alternative structures capable of generating exactly the same output is a different albeit related problem [3] that is not addressed in the present article.
The concept of observability arose in systems and control theory. It was initially defined for linear models and extended to the nonlinear case afterwards [4]. The concept of structural identifiability, on the other hand, was motivated by the analysis of biological models [5], due to the specific challenges that parameter identification poses in mathematical biology and other biosciences. Hence, many observability analysis methods developed in that context aimed at analysing structural identifiability and were named accordingly, even though they could be applied or adapted to the more general task of analysing observability. Examples of software tools include DAISY [6], COMBOS [7], IdentifiabilityAnalysis [8], STRIKE-GOLDD [9], GenSSI [10], and SIAN [11].
The existence of external inputs affects the observability of a model and determines which methods can be applied for its analysis. A key distinction is between known and unknown inputs, where “known” is interpreted as “quantified”; thus, we are aware of the existence of an unknown input but not of its magnitude. A known input that can be manipulated is also called a control input, or simply a control. An unknown input can be considered as an unmeasured disturbance or as a time-varying parameter. Some techniques are applicable specifically to uncontrolled systems [12], while others allow for the existence of known inputs. To the best of our knowledge, the first works describing algorithms capable of handling unknown inputs were presented by [13,14]. These methods are not applicable to systems in which the outputs are direct functions of the inputs, and do not analyse the observability of the unknown input itself.
To address these issues, two differential geometry algorithms called ORC-DF—observability rank criterion with direct feedthrough [15]—and FISPO—full input, state, and parameter observability [16]—have been recently presented. Both methods are capable of determining the observability of states and parameters, and unknown inputs of nonlinear ODE models. ORC-DF is applicable to affine-in-the-inputs systems, while FISPO does not have this requirement. The latter algorithm is already implemented in the STRIKE-GOLDD toolbox [9].
In the present paper we perform a critical examination of the ORC-DF and FISPO algorithms. First we provide the necessary background on observability analysis and differential geometry in Section 2. Then we perform a theoretical analysis of the two methods in Section 3, showing that they are equivalent for systems without known inputs, and that they differ for other classes of models, as a result of building different observability matrices. Realising the convenience of having both algorithms available in the same software environment, we provide their implementations in a new version of the MATLAB toolbox STRIKE-GOLDD, which is described in Section 4. The new release includes an implementation of ORC-DF, and a seamless integration with the already existing FISPO. Furthermore, it enables the automatic analysis of multi-experiment observability throughout any of the two implemented algorithms. Since ORC-DF and FISPO are symbolic algorithms that can be computationally expensive, in Section 5 we evaluate their performances by applying them to a number of modelling problems of different domains, from mechanical engineering to biology, and report their applicability and computational costs. The analysis of the selected case studies is also helpful for obtaining detailed insights about the inner workings of the algorithms. Finally, we conclude with a discussion of the results in Section 6.

2. Materials and Methods

2.1. Notation and Model Classes

We are interested in studying the observability of nonlinear systems of the following (fairly general) form:
Σ = { (1) x ˙ = f x , θ , u , w , (2) y = h x , θ , u , w ,
where f and h are nonlinear and analytical (infinitely differentiable) functions of the model variables (which depend on time t I = 0 , T , T > 0 ), i.e., system states x ( t ) R n x , a set of inputs, both known u ( t ) R n u , and unknown w ( t ) R n w , and unmeasured parameters θ R n θ . On the other hand, the system output vector y ( t ) R m consists of measured functions of model variables. We assume that n x , m 1 , while n θ , n u , and n w are non-negative integers. Note that the dependence of model variables over time is omitted from the Equations (1)–(2) for simplicity of notation.
As a special case of Σ we also study affine-in-inputs systems, which are given by the expressions:
Σ A = { (3) x ˙ = f 0 x , θ + i = 1 n u f u i x , θ u i + i = 1 n w f w i x , θ w i , (4) y = h 0 x , θ + i = 1 n u h u i x , θ u i + i = 1 n w h w i x , θ w i ,
where f 0 , f u i , f w j and h 0 , h u i , h w j are—possibly nonlinear—analytical functions for 1 i n u , 1 j n w , and:
f = f x w + i = 1 n u f u i u i , h = h x w + i = 1 n u h u i u i ,
where, following [15]:
f x w = f 0 + i = 1 n w f w i w i , h x w = h 0 + i = 1 n w h w i w i .
Note that, as in Equations (3) and (4), the functions f 0 , f u i , f w i , h 0 , h u i , h w i can depend on x , θ , but we omit this dependency in the expressions above and elsewhere when convenient.
In what follows, a vector v R n is assumed to be a one column matrix and v T its transpose. The Jacobian matrix of a function ϕ = ϕ 1 , , ϕ s with respect to a vector field v = v 1 , , v n , will be denoted as:
ϕ v = ϕ i v j i j , 1 i s , 1 j n .

2.2. Background

2.2.1. Structural Identifiability, Observability, and Differential Geometry

Roughly speaking, a nonlinear system Σ is structurally observable if it is possible to distinguish between its state trajectories from the data provided by its output, and structurally reconstructible (or input observable) if its disturbances can be tracked from the aforementioned measurements. Similarly, Σ is said to be structurally identifiable if it is possible to infer the values of its unknown parameters from the output. In practice, it is often not necessary distinguish between every pair of unmeasured states in the phase mapping of Σ —a property called structural global observability—and it is sufficient to distinguish neighbouring states—a property called local “weak” observability in some texts [4]. In this work we will not further make this distinction, and local “weak” structural observability will be simply called observability. Likewise, we will refer to structural local “weak” identifiability simply as identifiability.
Structural identifiability can be addressed as a particular case of observability. This is because any unknown parameter θ i of Σ can be considered as a zero-dynamics state, that is, the equation θ i ˙ = 0 holds for 1 i n p . It is then possible to augment the system state as:
x ¯ = x θ T ,
which consists of n x ¯ = n x + n θ components and follows the augmented dynamics:
x ¯ ˙ = f x , θ , u , w T 0 1 × n p T = f ¯ x ¯ , u , w .
Thus, the identifiability and observability of Σ can be studied as the observability of the augmented system (totally equivalent to the original one) with state vector (7), dynamics (8), and output (2), the same as Σ .
The algorithms analysed in this work adopt a differential geometry approach, which relies on the use of the concept of Lie derivative to bring out algebraic (and in some sense, geometric) tests suitable to address the study of observability of analytic systems Σ . Let us consider first the simpler case in which Σ is not dependent on unknown inputs:
Σ x ˙ = f x , θ , u , y = h x , θ , u .
Definition 1
(Lie derivative [17]). Consider the system Σ with augmented state vector (7) and augmented dynamics (8). Fixing the control variables u , the Lie derivative of the output function h , u in x ¯ along the tangent vector field f ¯ = f ¯ · , u is:
L f ¯ h x ¯ , u = h x ¯ x ¯ , u f ¯ x ¯ , u .
Furthermore, setting L f ¯ 0 h = h , the i-order Lie derivative of h · , u (along the vector field f ¯ = f ¯ · , u ) can be recursively computed in x ¯ as:
L f ¯ i h x ¯ , u = L f ¯ L f ¯ i 1 h x ¯ , u , i 1 .
The above definition does not capture the effect of possible time variations in the control variables. To account for it, this notion can be extended as follows:
Definition 2
(Extended Lie derivative [8]). Consider the system Σ with augmented state vector (7), augmented dynamics (8), and assume that the controls u = u 1 , , u n u are analytical functions on I = [ 0 , T ) , T > 0 . The extended Lie derivative of the output function h in x ¯ by the tangent vector field f ¯ = f ¯ · , u is:
L f ¯ e h x ¯ , u = h x ¯ x ¯ , u f ¯ x ¯ , u + h u x ¯ , u u ˙ .
Moreover, setting L f ¯ e , 0 h = h , the i-order extended Lie derivative of h can be recursively computed in x ¯ as:
L f ¯ e , i h x ¯ , u = L f ¯ e , i 1 h x ¯ x ¯ , u f ¯ x ¯ , u + j = 0 i 1 L f ¯ e , i 1 h u j x ¯ , u u j + 1 , i 1 ,
where u j + 1 ( j 0 ) stands for the ( j + 1 ) -order time derivative of u .
Remark 1.
For any fixed controls u ( t ) , assuming Σ is complete and denoting x ¯ 0 u ( t ) the state trajectory such that:
x ¯ ˙ 0 u ( t ) = f ¯ x ¯ 0 u ( t ) , u ( t ) , t I , x ¯ 0 u ( 0 ) = x ¯ 0 ,
then, in the case of constant inputs u ( t ) = u 0 R n u , the Lie derivative introduced in Definition (1) verifies:
y ( 0 ) = h ( x ¯ 0 u ( t ) , u 0 ) ( 0 ) = L f ¯ 0 h ( x ¯ 0 , u 0 ) , y ( 0 ) = d d t h ( x ¯ 0 u ( t ) , u 0 ) ( 0 ) = h x ¯ ( x ¯ 0 u ( t ) , u 0 ) x ¯ ˙ 0 u ( t ) | t = 0 = h x ¯ ( x ¯ 0 , u 0 ) f ¯ ( x ¯ 0 , u 0 ) = L f ¯ h ( x ¯ 0 , u 0 ) , y ( 0 ) = d d t L f ¯ h ( x ¯ 0 u ( t ) , u 0 ) ( 0 ) = L f ¯ h x ¯ ( x ¯ 0 u ( t ) , u 0 ) x ¯ ˙ 0 u ( t ) | t = 0 = L f ¯ h x ¯ ( x ¯ 0 , u 0 ) f ¯ ( x ¯ 0 , u 0 ) = L f ¯ 2 h ( x ¯ 0 , u 0 ) , y i ( 0 ) = d d t L f ¯ i 1 h ( x ¯ 0 u ( t ) , u 0 ) ( 0 ) = L f ¯ ( L f ¯ i 1 h ( x ¯ 0 u ( t ) , u 0 ) ) | t = 0 = L f ¯ i h ( x ¯ 0 , u 0 ) , i 0 ,
which can be proven by using repeatedly the chain rule. Likewise, if u ( t ) are time-varying and u ( 0 ) = u 0 , the extended Lie derivative of Definition (2) verifies:
y i ( 0 ) = L f ¯ e , i h x ¯ 0 , u 0 , i 0 .
Given a nonlinear system Σ with augmented state (7) and analytical inputs, it is possible to use the extended Lie derivatives of the output to build (symbolically) the following m n x ¯ × n x ¯ matrix:
O I x ¯ , u = x ¯ L f ¯ 0 h x ¯ , u T L f ¯ h x ¯ , u T L f ¯ 2 h x ¯ , u T L f ¯ n x ¯ 1 h x ¯ , u T T ,
which is the observability-identifiability matrix of Σ . Note that the assumption of analytic controls is conservative, since it suffices that they are differentiable up to order n d = n x ¯ 1 . By calculating the rank of the above matrix, it is possible to establish the observability and identifiability of Σ using the following condition.
Theorem 1
(Observability-identifiability condition, OIC [8]). If the identifiability-observability matrix (10) of a model Σ satisfies rank O I x ¯ 0 , u = n x ¯ , with x ¯ 0 being a (possibly generic) point in the augmented state space (8) of Σ , then the system is structurally locally observable and structurally locally identifiable.
Remark 2.
The rank of (10) is constant except for a zero-measurement subset in the augmented state space (8) of Σ where the rank is smaller, as a consequence of the system being analytical [18]. Thus, to verify the condition of the Theorem 1 it is sufficient to calculate the rank of (10) at any non-singular point of the phase space.

2.2.2. FISPO

Unknown inputs w can be taken into account by further augmenting the phase mapping of Σ , including w as unmeasured states. Thus, for any non-negative integer l we have the l-augmented state vector:
x l = x , θ , w , , w l ,
which follows the l-augmented dynamics:
x ˙ l = f l ( x l , u ) = f ( x 0 , u ) T 0 1 × n p w T ( w l + 1 ) T T ,
leading to the l-augmented system:
Σ l x ˙ l = f l ( x l , u , w l + 1 ) ) , y = h ( x 0 , u ) .
An analogous extension for affine systems Σ A exists. Using the notation given in (5) and (6), the l-augmented system described above takes the form [13]:
Σ A l x ˙ l = f x w l ( x l , w l + 1 ) + i = 1 n u f u i l x , θ u i , y = h x w ( x 0 ) + i = 1 n u h u i x , θ u i ,
where the l-augmented dynamics is decomposed as follows:
f x w l x l , w l + 1 = f x w ( x 0 ) T 0 1 × n p w ˙ T ( w l + 1 ) T T ,
f u i l x , θ = f u i x , θ 0 1 × n p 0 1 × ( l + 1 ) n w T , 1 i n u .
We note that, in order to build l-augmented systems Σ l and Σ A l , it must be possible to calculate the l + 1 -time derivative of disturbances w ( t ) , and therefore, they will be considered as analytical functions from now on (again, this hypothesis is more restrictive than necessary). We also note that the l-augmented form of Σ and Σ A is totally equivalent to the original system, and consists of n l = n x + n θ + l + 1 n w states, n u controls, n w disturbances (the l + 1 -order time derivatives of w ) and m outputs, that have not changed due to state augmentation [13].
As an additional hypothesis we assume that a non-negative integer s exists (possibly s = + such that w s ( t ) 0 and w i ( t ) = 0 for all i > s . In principle, this assumption introduces a restriction on the type of allowed inputs, and it is equivalent to assuming that the disturbances are ( s order) polynomial functions of time. Nevertheless, in practice, the method may still provide relevant information about the analytical case, as is discussed in [16].
In what follows, if a vector function ϕ = ϕ 1 , , ϕ r , r 1 , depends on variables x l we denote:
d l ϕ ( x l ) = ϕ x l ( x l ) = ϕ i x j l ( x l ) i j , 1 i r , 1 j n l , L f l ϕ ( x l ) = d l ϕ ( x l ) f l ( x l , w l + 1 ) ) ,
and if ϕ = ϕ · , u (where controls u are considered to be analytical on the time interval I), then:
L f l e ϕ ( x l , u ) = d l ϕ ( x l , u ) f l ( x l , u , w l + 1 ) ) + ϕ u ( x l , u ) u ˙ .
Definition 3
(Full input-state-parameter observability, FISPO [16]). Consider the system Σ and the augmented state vector z ( t ) = x ( t ) , θ , w ( t ) . We say that Σ has the FISPO property if, for every t 0 I and 1 i n 0 , z i ( t 0 ) can be locally determined from the output y ( t ) and the known inputs u ( t ) = u 1 ( t ) , , u n u ( t ) in a finite time interval t 0 , t f I . Thus, a system Σ is FISPO if, for every z ( t 0 ) and for almost any vector z * ( t 0 ) , there is a neighbourhood N z * t 0 such that, for all z ^ ( t 0 ) N z * t 0 , the following condition holds:
y t , z ^ ( t 0 ) = y t , z * t 0 z ^ i t 0 = z i * t 0 , 1 i n 0 .
Remark 3.
The original definition of the term FISPO reproduced above refers to a model property. Here we also use it to refer to the algorithm presented for its evaluation by [16].
Using the system augmentation (12) and taking the unique l = s such that w s ( t ) 0 and w i ( t ) = 0 for all i > s , it is possible to build the following matrix,
O I g x s , u = d s L f s 0 h x s , u T L f s h x s , u T L f s 2 h x s , u T L f s n s 1 h x s , u T T ,
which is the generalised observability matrix of Σ . Note that (15) coincides with the observability matrix (10) of Σ s without disturbances. Thus, the rank of O I g provides a condition for assessing the observability of Σ as follows:
Theorem 2
(FISPO condition [16]). A nonlinear system Σ given by (1-2) with analytic inputs is FISPO if, for x 0 s being a (possibly generic) point in the state space of the s-augmented system Σ s , the generalised observability matrix (15) verifies rank ( O I g ( x 0 s , u ) ) = n s .
Remark 4.
For 1 i n s , the observability of the i-th state of x s can also be studied using the matrix (15) Thus, if O I g , i ( x 0 s , u ) denotes the matrix obtained from O I g ( x 0 s , u ) after removing its i-th column, state x i is observable if rank ( O I g , i ( x 0 s , u ) ) < rank ( O I g ( x 0 s , u ) ) for almost any x 0 s in the phase space of Σ s .

2.2.3. ORC-DF

The observability of affine systems Σ A with bounded measurable controls u ( t ) can also be analysed by building a different observability matrix, as explained below. For a full description of the procedure, see [15].
Definition 4
(Observability rank criterion for systems with direct feedthrough, ORC-DF). A system Σ A is classified as k-row observable if almost any initial state x k ( t 0 ) , t 0 I , in the state space of the k-augmented system Σ A k can be separated locally from its neighbours based on the output at k + 1 consecutive times t 0 , t 1 , , t k . If there exists k 1 such that Σ A is k-row observable, it is said that Σ A satisfies the ORC-DF.
Lemma 1.
Consider the system Σ A , and the vector field Ω k , which is recursively defined for k 0 by:
Ω 0 = h x w T h u 1 T h u n u T T , Δ Ω 0 = Ω 0 , Δ Ω k + 1 = L f x w k Δ Ω k T L f u 1 k Δ Ω k T L f u n u k Δ Ω k T T , Ω k + 1 = Ω k T Δ Ω k + 1 T T ,
then Σ A is k-row observable if rank ( d k Ω k ( x 0 k ) ) = n k for almost any x 0 k in the phase space of Σ A k .
Lemma 2.
If Σ A satisfies the ORC-DF, then Σ A is observable in the presence of unmeasured inputs.
Corollary 1.
Let d k Ω k i denote the matrix that is obtained after removing the i-th column from d k Ω k . The i-th state of x k is k-row observable if and only if rank ( d k Ω k i ( x 0 k ) ) < rank ( d k Ω k ( x 0 k ) ) for almost any x 0 k in the phase space of Σ k .

3. Theory: Analysis of the FISPO and ORC-DF Algorithms

In this section we discuss the similarities and differences between FISPO and ORC-DF, whose pseudo-code is provided in Algorithms 1 and 2.

3.1. Preliminary Remarks

We begin by recalling three facts that are relevant for the analysis: (i) The FISPO algorithm does not always require building the full matrix (15) (a full matrix can be obtained for undisturbed systems Σ or assuming w j ) = 0 for j > s , where s is a non-negative integer), (ii) Both ORC-DF and FISPO can be inconclusive for certain models, and (iii) ORC-DF and FISPO can handle different types of inputs, although both methods allow the study of observability in the presence of generic (measurable) controls.
Remark 5
(The FISPO algorithm does not always require building the full matrix). In each iteration k 1 the FISPO algorithm builds the matrix O I k ( x k , u ) , composed by extended Lie derivatives of output up to order k , and then calculates its rank and partial ranks, instead of directly building the full matrix (15). The algorithm is programmed in this way because the matrix O I k ( x k , u ) can reach full rank for some k n s 1 , and if the number of states increases indefinitely ( s = ) , (15) can never be built in practice. In addition, the above procedure may classify some states as observable before obtaining the full matrix (15), since any observable state in the k-augmented system Σ k remains observable in Σ l , for l k [13]. Moreover, if the system does not have unknown inputs it is possible to classify it as unobservable or unidentifiable using fewer than n x ˜ 1 Lie derivatives [19].
Remark 6
(Both ORC-DF and FISPO can be inconclusive for certain models). If the model under study has unknown inputs and their time derivatives w s ( t ) do not vanish for any non-negative integer s < + , both FISPO and ORC-DF algorithms can be inconclusive. This happens when the rank of the observability matrices grows at each iteration without reaching a value equal to the number of states (which also increases with each iteration). Therefore, a computational implementation of both algorithms should include shutdown conditions based on computation time or number of iterations. This impediment can also be avoided by assuming that s < , which implies:
x k = x s , f k = f s T 0 1 × ( k s ) n w T ,
for any k > s , so the observability matrix constructed by FISPO at k-th iteration is:
O k ( x k , u ) = d k L f k 0 h ( x k , u ) L f k k h ( x k , u ) = d s L f s 0 h ( x s , u ) L f s k h ( x s , u ) ,
while, in the case of affine-in-inputs systems, ORC-DF can be modified at each iteration k > s to account for the above assumption, by taking:
x k = x s , f x w k = f x w s T 0 1 × ( k s ) n w T , d k Ω k = d s Ω k .
Actually, ORC-DF is designed to work with unknown inputs such that w s ( t ) are piecewise constant for s = but, obviously, if w s ) ( t ) = 0 for a finite integer s , this condition is trivially verified.
Algorithm 1 The FISPO algorithm [16].
Mathematics 08 01876 i001
Algorithm 2 The ORC-DF algorithm [15].
Mathematics 08 01876 i002
Remark 7
(ORC-DF and FISPO can handle different types of inputs). Both ORC-DF and FISPO construct an observation space generated by Lie derivatives of the output; its dimension determines observability. FISPO builds an observation space spanned by extended Lie derivatives (2) considering analytical inputs, while ORC-DF assumes piecewise constant inputs and exploits certain properties specific to affine systems in order to build a different observation space. If an affine system is classified as observable by ORC-DF or FISPO, it is observable when a generic measurable input is considered [15,19].
In the next subsections we present the main novel insights of our theoretical analysis of the algorithms.

3.2. For Systems without Known Inputs, ORC-DF and FISPO Reduce to the Same Algorithm

Here we prove by induction that, if no inputs u are involved in Σ A , the FISPO algorithm reduces to ORC-DF (note that Σ A is a particular case of Σ , so FISPO is directly applicable). Before presenting the result, we remark that, in the case n u = 0 , the extended Lie derivative reduces to:
L f e · = L f ·
and denoting the composition of functions with ∘, the k + 1 -order Lie derivative verifies:
L f k k + 1 ( h ) = L f k k + 1 L f k h = L f k L f k 1 L f 0 h = L f k L f k 1 k h k 1 ,
since L f k j h depends only on time derivatives w i ( t ) for 1 i j k + 1 .
Proof. 
Setting n u = 0 in (5), the dynamics and output of Σ A are given by:
f x ( t ) , θ , w ( t ) = f x w x ( t ) , θ , w ( t ) h x ( t ) , θ , w ( t ) = h x w x ( t ) , θ , w ( t )
Let k = 0 . By the recursion given in Lemma (1), it is verified that:
Δ Ω 0 = h x w = h ,
so the induction hypothesis holds for k = 0 :
d 0 Ω 0 = d 0 Δ Ω 0 = d 0 h = O I 0 .
Consider now any non-negative integer k 0 and suppose that the induction hypothesis holds for 0 j k , then:
d k + 1 Ω k + 1 = d k + 1 Ω k T Δ Ω k + 1 T T = d k Ω k 0 d k + 1 Δ Ω k + 1 = O I k 0 d k + 1 Δ Ω k + 1
and the result is proven if for every k 0 it holds that:
Δ Ω k + 1 = L f k e , k + 1 h = L f k k + 1 h .
The above equality is fulfilled for k 0 . Indeed, for k = 0 , using (17) we have:
Δ Ω 1 = L f x w 0 Δ Ω 0 = L f x w 0 h = L f 0 h ,
so, if k 0 and the condition (18) holds for 0 j k 1 , then:
Δ Ω k + 1 = L f x w k Δ Ω k = L f k Δ Ω k = L f k L f k 1 k h = L f k k + 1 h
where in the last equality we have applied (16). Thus, condition (18) holds for k 0 .  □

3.3. For Systems with Known Inputs, ORC-DF and FISPO Lead to Different Observability Matrices

Excluding the case n u = 0 , an important difference between the observability matrices built by algorithms ORC-DF and FISPO is the number of Lie derivatives (rows) they include in each iteration. Indeed, for k 0 ,
O I k ( x k , u ) m k + 1 × n k , d k Ω k ( x k ) i = 0 k m 1 + n u i + 1 × n k ,
so the observability matrix constructed by FISPO grows in m rows in each iteration, while the matrix constructed by ORC-DF includes m 1 + n u k + 1 new rows in the k-th stage. This fact can be an advantage for ORC-DF, as it makes it possible to reach full rank more rapidly, i.e., with lower order Lie derivatives. However, it may also be a disadvantage if this growth makes the problem dimension increase rapidly while adding little new information. Hence the faster growth may be beneficial or not depending on the form of the mathematical expressions of the dynamics and output functions in which the known inputs are present. For example, suppose that there exists an integer 1 i n u and n u 1 real numbers λ j not simultaneously zero, such that:
f u i = j i = 1 n u λ j f u j ,
which, using (13), implies:
f u i k = j i = 1 n u λ j f u j k , k 0 .
Since, by definition, it holds that:
d k + 1 Ω k + 1 = d k + 1 Ω k T Δ Ω k + 1 T T = d k + 1 Ω k T L f x w k Δ Ω k T L f u 1 k Δ Ω k T L f u n u k Δ Ω k T T ,
the matrix built by ORC-DF algorithm in the ( k + 1 ) -th iteration includes m 1 + n u k + 1 dependent rows; the rows forming d k + 1 L f u i k Δ Ω k can be written as a linear combination of the remaining rows. Indeed, by a property of Lie derivative [18] it holds that:
L f u i k Δ Ω k = d k Δ Ω k f u i k = d k Δ Ω k j i = 1 n u λ j f u j k = j i = 1 n u λ j d k Δ Ω k f u j k = j i = 1 n u λ j L f u j k Δ Ω k ,
so, using linearity of the derivative, the following linear combination has been obtained:
d k + 1 L f u i k Δ Ω k = d k + 1 j i = 0 n u λ j L f u j k Δ Ω k = j i = 0 n u λ j d k + 1 L f u j k Δ Ω k m 1 + n u k + 1 × n k .
Likewise, if there exists 1 i n u such that h u i is linearly dependent on vector fields h u j for 1 j n u , j i , the observability matrix built by ORC-DF includes m 1 + n u k + 1 dependent rows in the k + 1 -th iteration, for k 0 .
Note that the real values λ j can be replaced by functions of unknown parameters, λ j = λ j θ , as they are constant variables, so the equality (19) holds for this case as well.

4. Implementation

4.1. The STRIKE-GOLDD Software Toolbox

STRIKE-GOLDD (Structural identifiability taken as extended-generalized observability using Lie derivatives and decomposition) is an open source MATLAB toolbox that analyses the observability of nonlinear systems of the form Equations (1) and (2). It is available at https://sites.google.com/site/strikegolddtoolbox/ and https://github.com/afvillaverde/strike-goldd/. STRIKE-GOLDD versions up to v2.1.6 implemented the FISPO algorithm, including a number of additional features that go beyond the core instructions described in Algorithm 1, with the purpose of facilitating the analysis of large models. Furthermore, they also allowed one to indicate a given number of non-zero time derivatives of inputs, both known and unknown.

4.2. Implementation of the ORC-DF Algorithm

We have released a new version of STRIKE-GOLDD (v2.2) that includes an implementation of ORC-DF (Algorithm 2) along with the already existing implementation of FISPO (Algorithm 1). The algorithm is chosen with the newly introduced option opts.affine in the options.m file (set it to 1 for ORC-DF, and to 0 for FISPO). The ORC_DF.m function checks whether a model is indeed affine in the inputs, and if that is the case, converts it to the appropriate form Σ A (3) and (4) and stores it in a mat-file to avoid repeating this calculation in the future. Thus, the user only needs to enter the model once, using the same format for ORC-DF and FISPO. New specific options for the ORC-DF algorithm include the possibility of setting a maximum number of iterations through the variable opts.kmax, limiting the computation time of each stage with opts.tStage, plotting graphs of the results obtained by the algorithm with opts.graphics, and using the MATLAB Parallel Toolbox by setting the option opts.parallel to 1.

4.3. Multiple Experiments and Piecewise Constant Inputs

FISPO analyses the observability of a model for a single experiment with an infinitely differentiable ("smooth") input. However, it is possible to use it to consider multiple experiments with possibly different inputs by applying it to a modified model: if we create as many replicates of the model states, inputs, and outputs as the number of experiments that we want to consider, we obtain a new model whose analysis for a single input has the same observability properties as the original model with multiple inputs [20]. Until now, this feature was only available in the GenSSI 2.0 toolbox [10]. We have included the possibility of carrying out this multi-experiment analysis automatically (using any of the available algorithms) in the new version of STRIKE-GOLDD, by setting the option opts.multiexp=1. The number of experiments can be chosen with opts.numexp, and a set of initial conditions can be chosen by the user through the options.m file.

5. Computational Results and Discussion

We have applied the ORC-DF and FISPO algorithms to a set of illustrative case studies from different areas of science and technology, ranging from civil engineering to different biological disciplines. They are listed in Table 1, along with the computation times of the algorithms.

5.1. An Identifiable and Observable Model with Known Input: “C2M”

Our first case study is a deceivingly simple compartmental model [20]:
x ˙ 1 = k 1 e + k 12 x 1 + k 21 x 2 + b u , x ˙ 2 = k 12 x 1 k 21 x 2 , y = x 1 ,
where each state x i i = 1 , 2 corresponds to a compartment, and θ = k 1 e , k 12 , k 21 , b is the unknown parameter vector. The augmented state vector is x ¯ = x 1 , x 2 , k 1 e , k 12 , k 21 , b , with extended dynamics given by:
f ¯ x ¯ , u = f x w x ¯ + f u x ¯ u = x ˙ 1 x ˙ 2 0 0 0 0 T ,
with the following vector fields for the affine-in-inputs formulation (5):
f x w x ¯ = f x w x , θ = k 1 e + k 12 x 1 + k 21 x 2 k 12 x 1 k 21 x 2 0 0 0 0 T , f u x ¯ = f u x , θ = b 0 0 0 0 0 T .
In addition, the output is given by the function:
y = h x = h x w x = x 1 .
The results obtained by ORC-DF and FISPO are shown in Figure 1, where the first important difference between both methods can be seen: while FISPO works with analytical, time-varying controls u ( t ) (which implies that it depends on functions u ( t ) throughout their time derivatives; see Equations (9) and (10)), ORC-DF assumes piecewise constant inputs. For this reason, the results obtained by FISPO vary according to the number of non-zero u ( t ) derivatives, while those of ORC-DF do not. Considering different types of inputs can be of interest in biological applications, where it is sometimes experimentally impossible to apply sufficiently exciting signals. Due to its reduced size, this model is well suited for illustrating this difference, so we derive the equations of the Lie derivatives calculated by each algorithm in Appendix A, where we also discuss other aspects and implications.
This model is classified as observable and identifiable by ORC-DF after three iterations. The result yielded by FISPO depends on the number of input derivatives assumed to be zero: the unmeasured variables are classified as unobservable with a constant input, while they become observable in the fifth iteration if the input is any non-constant analytical function. The variables classified as observable by both algorithms at each iteration are illustrated in Figure 1A,B. Figure 1C shows the ranks of the matrices built by both algorithms in each iteration. As can be seen, the observability matrix constructed by ORC-DF reaches full rank after considering Lie derivatives up to order three. The matrix built by FISPO stagnates from the fourth iteration onward with a constant input, while it reaches full rank after five iterations with a non-constant input.

5.2. A Non-Identifiable, Non-Observable Model with Known Inputs: “Bolie”

Our second example is a model with similarities to the previous one, given by [21]:
q ˙ 1 = p 1 q 1 p 2 q 2 + u , q ˙ 2 = p 4 q 1 + p 3 q 2 , y = q 1 / V p ,
where x = q 1 , q 2 is the state vector, θ = ( p 1 , p 2 , p 3 , p 4 , V p ) are the unknown parameters, and u is the control variable. The augmented state vector is x ¯ = q 1 , q 2 , p 1 , p 2 , p 3 , p 4 , V p , and the extended dynamics are given by:
f ¯ x ¯ , u = f x w x ¯ + f u x ¯ u = q ˙ 1 q ˙ 2 0 0 0 0 0 T ,
and can be separated into the vector fields:
f x w ( x ¯ ) = f x w x , θ = p 1 q 1 p 2 q 2 p 4 q 1 + p 3 q 2 0 0 0 0 0 T , f u x ¯ = f u x , θ = 1 0 0 0 0 0 0 T .
The output is a function of the state q 1 and the unknown parameter V p :
h x , θ = h x w x , θ = q 1 / V p ,
so, in this case, there are no directly measured states or parameters.
The model is classified as non-identifiable and non-observable by FISPO and ORC-DC, as shown in Figure 2. A detailed analysis of the calculations performed by both algorithms is provided in Appendix B.

5.3. A Model with Known and Unknown Inputs: “2DOF”

We consider now an affine-in-the-inputs model with a known and an unknown input, proposed by [15]. It describes the behaviour of a mechanical system consisting of two masses connected by a spring. In the form (1) and (2), its dynamics and output functions are given by:
f x , θ , u , w = x ˙ 1 x ˙ 2 k 1 + δ k 1 x 1 x 1 + k 2 x 2 x 1 c 1 x ˙ 1 + c 2 x ˙ 2 x ˙ 1 + F 1 / m 1 k 2 x 1 x 2 + c 2 x ˙ 1 x ˙ 2 + F 2 / m 2 ,
h x , θ , w = h x w x , θ , w = x 1 k 2 x 1 x 2 + c 2 x ˙ 1 x ˙ 2 + F 2 / m 2 T .
The state vector is x = x 1 , x 2 , x ˙ 1 , x ˙ 2 and the unknown parameters are θ = k 1 , δ k 1 , m 2 . Two external forces act on the system as inputs, one of known magnitude, u ( t ) = F 1 ( t ) , and another of unknown value, w ( t ) = F 2 ( t ) . The remaining parameters k 2 , m 1 , c 1 and c 2 are known.
Since there is an unknown input acting on the model, it is necessary to include its time derivatives in the extended state vector. The 0-augmented state is x 0 = x 1 , x 2 , x ˙ 1 , x ˙ 2 , k 1 , δ , k 1 , m 2 , w , which follows the dynamics:
x ˙ 0 = f 0 ( x 0 , u , w ˙ ) = f x w 0 ( x 0 , w ˙ ) + f u 0 x ¯ u = f x , θ , u , w T 0 0 0 w ˙ T ,
where the contribution of the known input is:
f u 0 x ¯ = 0 0 1 / m 1 0 0 0 0 0 T .
First we consider the case in which the unknown disturbance w ( t ) is assumed constant, w ˙ ( t ) = 0 . The results are shown in Figure 3. After calculating three Lie derivatives both algorithms conclude that the system is identifiable, observable and invertible. It should be noted that for this model FISPO always leads to the result shown in Figure 3A, regardless of the number of known input derivatives assumed to be non-zero (note that the figure shows the constant case w ˙ ( t ) = 0 , but this property is fulfilled for any analytical disturbance w ( t ) ) .
Next, we consider a time-varying unknown input, assuming that w s = 0 for some s > 1 . For this case, the model is again classified as fully observable by both algorithms. However, the paths that they follow to reach that conclusion are different. The number of Lie derivatives required by FISPO to classify the model as observable increases as s grows, due to the number of states in each stage also increasing without reaching full rank, so FISPO does not reach any conclusion when s = + . In contrast, ORC-DF ends at most in four iterations, regardless of the value of s 1 (including the case s = ) . This situation is illustrated in Figure 4, which shows the number of Lie derivatives required by each algorithm to achieve a result for 0 s 10 .
A difference between the procedures carried out by both algorithms for this model is that—similarly to the case of parameter b in the C2M example, mentioned in Appendix A—the expressions obtained by ORC-DF determine that the unknown parameter m 2 can be calculated directly from the measurements since the first iteration as:
L f u 0 h x , θ , u , w = c 2 / ( m 1 m 2 ) .
In the case of FISPO, in contrast, the parameter m 2 is the last to be classified as identifiable, which happens at the same time in which the entry w ( t ) is classified as invertible for a sufficiently large s ( s 5 ) .

5.4. A Model with a Known or Unknown Input: “HIV”

Next we consider a model of HIV dynamics in the human body given by [22]:
T ˙ U = λ ρ T U η T U V , T ˙ I = η T U V δ T I , V ˙ = N δ T I c V , y 1 = V , y 2 = T I + T U ,
where the states are x = T U , T I , V , the unknown parameters vector is θ = λ , ρ , δ , N , c , and η ( t ) is a time-varying input, the infection rate.
As was established in Section 3.2, if η ( t ) is unknown, ORC-DF and FISPO become the same algorithm (leaving aside implementation details). If η ( t ) is known and time-varying, they differ.
This model was analysed with FISPO by [16] considering two possibilities, i.e., η ( t ) known and unknown. In both cases the model is classified as observable and identifiable by FISPO. In the latter case, the number of Lie derivatives necessary to achieve this conclusion grows with the number of derivatives of η ( t ) assumed to be non-zero, as happened with the 2DOF model analysed in Section 5.3.
It is possible to analyse the HIV model with the ORC-DF algorithm, since it is affine in input. With the infection rate considered known, i.e., u ( t ) = η ( t ) , the functions of the affine formulation (13) and (14) are written as:
f x w x , θ = λ ρ T U δ T I N δ T I c V T , f u x , θ = T U V T U V 0 T , h x w x , θ = h x , θ = V T I + T U T ,
while if it is unknown, w ( t ) = η ( t ) , we have:
f x w x , θ , w = f x , θ , w , h x w x , θ , w = h x , θ , w .
If the infection rate is considered known, both algorithms classify the model as observable and identifiable, regardless of the number of input derivatives assumed non-zero by FISPO. Figure 5 illustrates this fact, where the results obtained by FISPO have been represented for a generic analytical input.
The observability matrix calculated by ORC-DF has full rank after including Lie derivatives up to second order, so the number of its rows is i = 0 2 m 1 + n u i + 1 = i = 0 2 2 i + 2 = 26 (actually, 14 rows after excluding dependent rows arising from the equality h u = 0 while the matrix constructed by FISPO needs to include Lie derivatives up to order three to achieve full rank, so it has m ( k + 1 ) = 8 rows.
This is an example of a model for both algorithms perform similarly; although FISPO needs to calculate one more Lie derivative to classify the system as observable, ORC-DF calculates ranks of matrices of greater dimension, resulting in similar computational cost of the calculations involved in each algorithm. As can be seen in Figure 5C, the ranks of both observability matrices coincide up to the first iteration, as a consequence of:
h u x , θ = L f u h x , θ = 0 0 T .

5.5. A Genetic Toggle Switch with Two Inputs: “TS”

Let us now consider the following model of a genetic toggle switch [23]:
x ˙ 1 = k 01 + k 1 1 + x 2 / 1 + a T c / θ a T c η a T c η T e t R x 1 , x ˙ 2 = k 02 + k 2 1 + x 1 / 1 + I P T G / θ I P T G η I P T G η L a c I x 2 , y 1 = x 1 , y 2 = x 2 ,
where x = x 1 , x 2 is the state vector and the inputs are a T c ( t ) and I P T G ( t ) . The remaining variables are unknown parameters.
This model is an example that cannot be analysed by ORC-DF algorithm, since it is not affine in inputs. It was analysed with FISPO in [16], considering both measured and unmeasured inputs. If both inputs are known, FISPO classifies the model as structurally identifiable, as long as neither input is constant. If the inputs are unknown FISPO concludes that some parameters become unidentifiable. For more details we refer the reader to [16].

5.6. A Signalling Pathway with Five Known Inputs: “JAK-STAT”

To show the computational limitations of the two algorithms, we analyse here a model that pushes them to their limits. It is a classic model of the JAK-STAT signalling pathway presented by [24], which has 25 states, 26 unknown parameters, and 5 inputs. The output consists on 15 measured functions of the model variables that depend only on one of the external signals u i , which is not involved in system dynamics, that is,
f u i x , θ = 0 25 × 1
h u j x , θ = 0 15 × 1 , 1 j 5 , j i
The model equations are provided in Appendix C.
This model was analysed with FISPO in [25], concluding that all its parameters are structurally identifiable but two of its 25 states are non-observable. The calculations are computationally expensive, requiring the use of procedures supported in STRIKE-GOLDD—such as model decomposition or successive executions after removing parameters previously classified as identifiable—in order to reach the conclusion. Thus, the model was first analysed after setting the maximum computation time of each Lie derivative to 100 seconds, which allowed FISPO to calculate 5 Lie derivatives and to classify 17 parameters and 4 states as observable. Next, the 17 parameters were specified as previously classified in the FISPO options, thereby removing them from further consideration and decreasing the size of the problem, and the model was decomposed. The post-decomposition analysis classified five additional parameters as identifiable. After removing them, it was possible to analyse the remainder of the model and reach the aforementioned conclusion.
With ORC-DF we did not manage to analyse the model due to computational limitations (specifically, insufficient memory). The different computational requirements of ORC-DF and FISPO are shown in Table 2.
Table 2 shows that the number of rows of the matrix built by ORC-DF grows rapidly at each iteration (even though the implementation removes null rows arising from dependencies in (20) and (21), which is why the number of rows of the ORC-DF matrix does not match the number given in Section 3.3). Although this matrix leads to higher ranks than the one built by FISPO, especially at the beginning of the execution (i.e., with few Lie derivatives), the difference decreases soon and the ranks of the two matrices are similar despite the big difference in the number of rows. With five Lie derivatives, ORC-DF labels 27 model variables as observable (9 states and 18 parameters), including those classified as observable by FISPO (21: 4 states and 17 parameters). However, the computation time of ORC-DF at that point is roughly ten times higher than FISPO, and memory requirements impede further progress with this algorithm.

6. Conclusions

In this paper we have analysed two recent algorithms for observability analysis of nonlinear systems with known and/or unknown inputs, which we refer to as ORC-DF and FISPO. Our analyses have revealed the key similarities and differences between them. The main conclusions can be summarized as follows.
First, we have proven theoretically that for models without known inputs both algorithms are basically equivalent, since they calculate the rank of the same observability matrix. In contrast, for models with known inputs—e.g., for controlled systems—the two algorithms differ, since they build different observability matrices. Specifically, the number of rows of the matrix built by ORC-DF increases more at each iteration than the one built by FISPO. We have shown that this increased growth is often an advantage of ORC-DF, since it makes it possible to reach full rank—and thus, to conclude that a model is observable—with less Lie derivatives, and hence less computational cost; an example was shown in Section 5.1. However, said increased growth is not always advantageous: as we have noted in Section 3.3, it can also be detrimental to the efficiency of ORC-DF. The latter situation may happen when the structure of the model equations is such that the increase in problem dimension outweighs the increase in information resulting from the inclusion of a new Lie derivative; we provided an example in Section 5.6.
When applying FISPO to a model with unknown input(s) it is usually necessary to assume that their derivatives, w s ) , are zero for orders higher than a finite s, which amounts to assuming that the unknown inputs are polynomial functions. This is not a theoretical requirement—and in fact, a counter-example that did not require this assumption was shown in [16]—but it is often necessary in practice in order to reach a conclusion in finite time. This was indeed the case for the models with unknown inputs that we analysed in this paper. It should be noted that the results obtained under this assumption are not necessarily valid if the unknown input has nonzero derivatives of order higher than s.
We remark that this assumption of polynomial inputs does not apply to known inputs; FISPO does not require this assumption for their analysis, and it is not used by ORC-DF either. That being said, it must be taken into account that in certain applications there are experimental limitations that do not allow one to use sophisticated input signals for system identification. This situation is common in biological modelling, where often times only constant or ramp inputs can be applied. The implications of such limitations in observability can be taken into account by specifying that the derivatives of the known inputs, u s ) , are zero for orders higher than a finite s. This option is available in STRIKE-GOLDD.
Another difference between both algorithms lies in the types of models and known inputs that they can analyse. In regard to model types, FISPO is applicable to a general class of nonlinear ODE models, while ORC-DF is applicable to a subclass of those models: the ones that are affine in the inputs. There is an additional, albeit subtle, difference between both algorithms in regard to the known inputs: FISPO considers infinitely differentiable ("smooth") functions, while ORC-DF considers piecewise constant inputs. It should be noted however that an affine system that is observable for piecewise constant inputs is also observable for smooth inputs; therefore, ORC-DF can also establish the observability of (affine) models with continuous inputs.
In a new release of the STRIKE-GOLDD toolbox (v2.2) we have included an implementation of the ORC-DF algorithm, thus allowing the user to apply different algorithms with the same tool and model definition. It should be noted that the implementations of the FISPO and ORC-DF algorithms included in the STRIKE-GOLDD toolbox have a number of additional features that increase the efficiency of the core algorithms analysed here, as noted in Section 4. We used the new implementations in STRIKE-GOLDD 2.2 to benchmark the algorithms with several models taken from the literature. Our selection of case studies included both simple models, used for illustrating the inner workings of the algorithms in detail, and more complex models whose analysis is computationally challenging, which we used for pushing the algorithms to their limits. We also provided an example of a model that cannot be analysed with ORC-DF due to being not affine in the inputs.
In conclusion, the theoretical and computational analyses presented here have informed us about the differences between the ORC-DF and FISPO algorithms, showing that they represent complementary techniques for solving an often challenging problem, and clarifying when one may be preferred over the other. The release of a new version of the MATLAB toolbox STRIKE-GOLDD that includes implementations of both algorithms provides the convenience of performing different analyses with minimal intervention from the user.

Author Contributions

A.F.V. designed and supervised the research; N.M. implemented the software and performed the computational experiments; N.M. and A.F.V. analysed the algorithms and the results; N.M. and A.F.V. wrote the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the Spanish Ministry of Science, Innovation and Universities through the project SYNBIOCONTROL (reference DPI2017-82896-C2-2-R). We acknowledge support of the publication fee by the CSIC Open Access Publication Support Initiative through its Unit of Information Resources for Research (URICI) and by the Xunta de Galicia through grant ref. IN607B 2020-03.

Conflicts of Interest

The authors declare no competing interests.

Data and Materials Availability

The methods and models used in this paper are available in the GitHub repository as part of release v2.2 of the STRIKE-GOLDD toolbox: https://github.com/afvillaverde/strike-goldd.

Appendix A. Analysis of the Lie Derivatives of the C2M Case Study

Let us first consider the FISPO algorithm and the model with a non-constant input. As shown in Figure 1C, in this case there are six independent extended Lie derivatives of the output, which are given by:
L f 0 h x = x 1 ,
L f h x = k 1 e + k 12 x 1 + k 21 x 2 + b u ,
L f 2 h x = k 1 e + k 12 2 + k 21 k 12 x 1 k 1 e + k 12 + k 21 k 21 x 2 k 1 e + k 12 b u + b u ˙ ,
L f 3 h x = k 1 e + k 12 3 + k 12 k 21 k 1 e + k 12 + k 12 k 21 k 1 e + k 12 + k 21 x 1 + k 1 e + k 12 + k 21 k 21 2 x 2 + k 1 e + k 12 2 + k 12 k 21 k 21 x 2 + k 1 e + k 12 2 + k 21 k 12 b u k 1 e + k 12 b u ˙ + b u ¨ ,
L f 4 h x = k 1 e + k 12 4 + 2 k 12 k 21 k 1 e + k 12 2 + k 12 k 21 k 1 e + k 12 + k 21 2 + k 12 2 k 21 2 x 1 k 1 e + k 12 3 + 2 k 12 k 21 k 1 e + k 12 + 2 k 12 k 21 2 + k 21 k 1 e + k 12 2 + k 21 2 k 1 e + k 12 + k 21 k 21 x 2 k 1 e + k 12 3 + 2 k 12 k 21 k 1 e + k 12 + k 12 k 21 2 b u + k 1 e + k 12 2 + k 21 k 12 b u ˙ b k 1 e + k 12 u ¨ + b u 3 ) ,
L f 5 h x = k 1 e + k 12 5 + 3 k 12 k 21 k 1 e + k 12 3 + 3 k 12 2 k 21 2 k 1 e + k 12 + k 12 k 21 2 k 1 e + k 12 2 + 2 k 12 2 k 21 2 x 1 + k 12 k 21 k 1 e + k 12 k 1 e + k 12 + k 21 2 + k 12 k 21 3 k 1 e + k 12 + k 21 x 1 + k 1 e + k 12 4 k 21 x 2 + k 21 k 1 e + k 12 2 2 k 12 + k 21 + k 12 k 21 k 1 e + k 12 + k 21 2 + k 21 3 k 1 e + k 12 + k 21 k 21 x 2 + k 21 k 1 e + k 12 3 + 2 k 12 k 21 2 k 1 e + k 12 + 2 k 12 k 21 3 + k 12 2 k 21 2 + 3 k 12 2 k 21 2 k 1 e + k 12 k 21 x 2 + k 1 e + k 12 4 + 2 k 12 k 23 k 1 e + k 12 2 + k 12 2 k 21 2 + k 12 k 21 k 1 e + k 12 + k 21 2 b u + k 1 e + k 12 3 b u ˙ 2 k 12 k 21 k 1 e + k 12 + k 12 k 21 2 b u ˙ + k 1 e + k 12 2 + k 21 k 12 b u ¨ b k 1 e + k 12 u 3 ) + b u 4 .
Assuming (for simplicity) that u k = 0 for k > 1 , and writing L f i h = y i ) ( 1 i 5 ) , from (A1)–(A6) we obtain:
x 1 = y ,
b u = y + k 1 e + k 12 y k 21 x 2 ,
k 21 2 x 2 = k 12 k 21 y k 1 e + k 12 y y + b u ˙ ,
k 21 b u ˙ = y + k 1 e k 21 y + k 1 e + k 12 + k 21 y ,
k 1 e k 21 y = y 4 k 1 e + k 12 + k 21 y ,
k 1 e + k 12 + k 21 y 2 y 4 y = y 5 y y 4 y .
Therefore, from the above system we can extract directly the following input–output expressions:
x 1 = ϕ 0 ( y , y , , y 5 ) , u , u ˙ ) ,
k 1 e + k 12 + k 21 = ϕ 1 ( y , y , , y 5 ) , u , u ˙ ) ,
k 1 e k 21 = ϕ 2 ( y , y , , y 5 ) , u , u ˙ ) ,
k 21 b = ϕ 3 ( y , y , , y 5 ) , u , u ˙ ) ,
where ϕ i 0 i 3 are functions that depend only on the output, the input, and their time derivatives. It is possible to obtain similar input–output expressions for any variable involved in the model by determining the unique solution of the system (A7)–(A12), which consists of six independent equations and six unknowns. Note that the assumption u k ) = 0 for k > 1 does not imply loss of generality, because the presence of higher order derivatives does not affect the unicity of the solution of (A1)–(A6) (if anything, they would contribute to the independence of the equations).
By inspecting Equations (A7)–(A12) it is possible to explain the classification obtained by FISPO and shown in Figure 1A (blue line), since it is not possible to obtain such an input–output expression for any unmeasured variable until calculating the fifth Lie derivative (A6), when the ambiguities in the equations are finally resolved. (Note that this result requires excluding those states and parameters in the phase space for which the denominators in the input–output expressions vanish. However, since the system is analytical these states form a zero measurement subset.)
Let us consider now the FISPO algorithm in the constant input case. From Figure 1C it follows that the equations obtained (A1)–(A6) are dependent. The following system of equations is extracted from (A1)–(A5):
x 1 = y ,
k 21 x 2 = y + k 1 e + k 12 y b u ,
k 21 b u = y + k 1 e k 21 y + k 1 e + k 12 + k 21 y ,
k 1 e k 21 y = y k 1 e + k 12 + k 21 y ,
k 1 e + k 12 + k 21 y 2 y y = y y 4 y y .
Using Equations (A17) and (A19A21), it is possible to write the combinations x 1 , k 21 b , k 1 e + k 12 + k 21 y k 1 e k 21 exclusively in terms of the input and output of the model. Thus, after replacing in (A18), the system to be solved is:
x 1 = ϕ 0 ( y , y , , y 4 , u ) ,
k 1 e + k 12 + k 21 = ϕ 1 ( y , y , , y 4 , u ) ,
k 1 e k 21 = ϕ 2 ( y , y , , y 4 , u ) ,
k 21 b = ϕ 3 ( y , y , , y 4 , u ) ,
k 21 x 2 = y + ( ϕ 1 ( y , y , , y 4 , u ) k 21 ) y ϕ 3 ( y , y , , y 4 , u ) u / k 21 ,
which has six unknowns and five independent equations (infinite solutions), so it is not possible to write (at least, locally) any of the parameters or the unknown state x 2 as a function of the input and output. This scenario is shown in Figure 1A (red line).
We consider now the ORC-DF algorithm. Instead of (A1)–(A6), this method computes the following Lie derivatives (independent of the control values, since they are assumed to be piecewise constant):
L 0 = h x = x 1 ,
L 1 = L f x w h x = k 1 e + k 12 x 1 + k 21 x 2 ,
L 2 = L f u h x = b ,
L 3 = L f x w 2 h x = k 1 e + k 12 2 + k 21 k 12 x 1 k 1 e + k 12 + k 21 k 21 x 2 ,
L 4 = L f u L f x w h x = b k 1 e + k 12 ,
L 5 = L f x w 3 h x = k 1 e + k 12 3 + 2 k 21 k 12 k 1 e + k 12 + k 21 2 k 12 x 1 + k 1 e + k 12 2 + k 21 2 + k 21 k 1 e + 2 k 12 k 21 x 2 ,
L 6 = L f u L f x w 2 h x = b k 1 e + k 12 2 + k 21 k 12 .
The system (A27)–(A33) has a unique solution, in which one of the equations depends on the others. The solution, obtained from (A27)–(A31) and (A33), is given as a function of Lie derivatives L i , i 0 , 1 , 2 , 3 , 4 , 6 , as follows:
x 1 = L 0 , x 2 = L 1 L 2 L 0 L 4 2 / L 2 L 0 L 6 L 2 L 3 + L 4 L 1 L 2 L 0 L 4 , k 1 e = L 2 L 3 L 4 L 1 L 6 / L 2 L 0 L 6 L 2 L 3 + L 4 L 1 L 2 L 0 L 4 , k 12 = L 1 L 2 L 0 L 4 ( L 2 L 6 L 4 2 ) / L 2 L 0 L 6 L 2 L 3 + L 4 L 1 L 2 L 0 L 4 , k 21 = L 2 L 0 L 6 L 2 L 3 + L 4 L 1 L 2 L 0 L 4 / ( L 1 L 2 2 L 0 L 2 L 4 ) , b = L 2 .
Therefore, the ORC-DF algorithm classifies the C2M model as observable and identifiable after the third iteration. We note that Equation (A29) implies that parameter b can be calculated directly from the output.

Appendix B. Analysis of the Lie Derivatives of the Bolie Case Study

Assuming non-constant input, FISPO calculates six independent Lie derivatives of the output, as shown in Figure 2C:
L f 0 h ( x , θ , u ) = q 1 / V p ,
L f h ( x , θ , u ) = p 1 q 1 p 2 q 2 + u / V p ,
L f 2 h ( x , θ , u ) = ( p 1 2 p 2 p 4 ) q 1 p 1 + p 3 p 2 q 2 + p 1 u + u ˙ / V p ,
L f 3 h ( x , θ , u ) = p 1 ( p 1 2 p 2 p 4 ) p 2 p 4 ( p 1 + p 3 ) q 1 p 1 2 p 2 p 4 + p 3 ( p 1 + p 3 ) p 2 q 2 / V p + ( p 1 2 p 2 p 4 ) u + p 1 u ˙ + u ¨ / V p ,
L f 4 h ( x , θ , u ) = ( ( p 1 2 p 2 p 4 ) 2 p 2 p 4 ( p 1 + p 3 ) 2 ) q 1 + ( p 1 + p 3 ) ( p 1 2 2 p 2 p 4 + p 3 2 ) p 2 q 2 / V p + ( p 1 3 2 p 1 p 2 p 4 p 2 p 3 p 4 ) u ( ( p 1 2 p 2 p 4 ) u ˙ + p 1 u ¨ + u ) / V p ,
L f 5 h ( x , θ , u ) = ( p 1 2 ( p 1 p 2 p 4 ) 2 p 2 p 4 ( p 1 + p 3 ) ( 2 p 1 2 + p 3 2 p 2 p 4 ) ) q 1 p 1 p 2 p 4 2 p 2 q 2 / V p ( p 3 p 1 + p 3 ( p 1 2 2 p 2 p 4 + p 3 2 ) p 2 p 4 ( p 1 + p 3 ) 2 ) p 2 q 2 + ( p 1 2 p 2 p 4 ) 2 u / V p + p 2 p 4 ( p 1 + p 3 ) 2 u + ( p 1 3 2 p 1 p 2 p 4 p 2 p 3 p 4 ) u ˙ + ( p 1 2 p 2 p 4 ) u ¨ + p 1 u 3 ) + u 4 ) / V p .
System (A34)–(A39) has infinite solutions, since it is composed by six equations and seven unknowns, but similarly to the C2M case study, it is possible to perform a series of algebraic manipulations on the above equations to obtain an input–output expression for the variables q 1 , p 1 , p 3 and V p , as it shown in Figure 2.
In the case of constant input, Equations (A34)–(A39) become redundant, so there are only five independent Lie derivatives, as is shown in Figure 2. The combinations p 1 + p 3 , p 1 p 3 + p 2 p 4 are the only observable functions of the variables that can be extracted from (A34)–(A38). Since the rational combinations of these functions are insufficient to determine any of the parameters or states, all variables are non-observable, as shown in Figure 2A (red line).
On the other hand, ORC-DF calculates the following Lie derivatives:
h x , θ = q 1 / V p ,
L f x w h x , θ = p 1 q 1 p 2 q 2 / V p ,
L f u h x , θ = 1 / V p ,
L f x w 2 h x , θ = p 1 2 p 2 p 4 q 1 p 1 + p 3 p 2 q 2 / V p ,
L f u L f x w h x , θ = p 1 / V p ,
L f x w 3 h x , θ = p 1 ( p 1 2 p 2 p 4 ) ( p 1 + p 3 ) p 2 p 4 q 1 ( p 1 2 p 2 p 4 ) + p 3 ( p 1 + p 3 ) p 2 q 2 / V p ,
L f u L f x w 2 h x , θ = p 1 2 p 2 p 4 / V p .
From Equations (A40), (A42), and (A44) it is easy to obtain the state q 1 and the parameters V p and p 1 uniquely from the measurements, using Lie derivatives up to order two. This property is not fulfilled by the system formed by (A34)–(A39); Figure 2A shows that the aforementioned variables are classified as observable by FISPO only after considering fifth order derivatives. Using the input–output expressions of q 1 , V p , and p 1 extracted from (A40), (A42) and (A44), in conjunction with Equations (A41), (A43) and (A46), it is also possible to determine parameter p 3 as a function of the Lie derivatives of the output. However, Figure 2C shows that system (A40)–(A46) contains one redundant equation, so it is not possible to determine uniquely an input–output expression of the remaining unmeasured states. It can also be noted that any rational combination of the observable variables with the functions p 2 q 2 and p 2 p 4 is also observable.

Appendix C. Equations of the JAK-STAT Model

The dynamics of the JAK-STAT model analysed in Section 5.6 is given by:
x ˙ 1 = x 2345 x 8 θ 11 / θ 26 k 5 x 1 θ 10 / M 1 , x ˙ 2 = k 5 x 1 θ 10 / M 1 x 2 θ 7 / M 1 x 2 x 8 θ 11 / θ 26 3 x 2 θ 7 / ( ( θ 8 x 6 + 1 ) M 1 ) , x ˙ 3 = θ 7 x 2 / M 1 θ 11 x 8 x 3 / θ 26 3 θ 7 x 3 / ( ( θ 8 x 6 + 1 ) M 1 ) , x ˙ 4 = 3 x 2 θ 7 / ( ( θ 8 x 6 + 1 ) M 1 ) θ 7 x 4 / M 1 θ 11 x 8 x 4 / θ 26 , x ˙ 5 = θ 7 x 4 / M 1 θ 11 x 8 x 5 / θ 26 + 3 θ 7 x 3 / ( ( θ 8 x 6 + 1 ) M 1 ) , x ˙ 6 = x 6 ( θ 9 / θ 25 ) ( x 5 + x 3 ) , x ˙ 7 = θ 13 x 8 x 7 ( θ 12 / θ 25 ) x 2345 , x ˙ 8 = x 7 ( θ 12 / θ 25 ) x 2345 θ 13 x 8 , x ˙ 9 = k 6 θ 23 x 11 / k 7 x 9 ( θ 22 / θ 25 ) x 2345 / M 1 x 9 θ 21 ( x 5 + x 3 ) 2 / ( ( x 18 θ 3 / θ 1 + 1 ) M 1 θ 25 2 ) , x ˙ 10 = x 9 θ 22 x 2345 M 1 / θ 25 θ 24 x 10 + x 9 θ 21 ( x 5 + x 3 ) 2 / ( θ 25 2 ( x 18 θ 3 / θ 1 + 1 ) M 1 ) , x ˙ 11 = k 7 θ 24 x 10 / k 6 θ 23 x 11 , x ˙ 12 = x 12 θ 4 θ 5 x 11 ( k 1 1 ) / θ 27 , x ˙ 13 = x 12 θ 4 x 13 θ 4 , x ˙ 14 = x 13 θ 4 x 14 θ 4 , x ˙ 15 = x 14 θ 4 x 15 θ 4 , x ˙ 16 = x 15 θ 4 x 16 θ 4 , x ˙ 17 = x 16 θ 4 k 6 / k 7 x 17 θ 5 , x ˙ 18 = x 17 θ 1 θ 6 x 18 θ 6 + k 2 θ 6 θ 2 θ 1 , x ˙ 19 = x 19 θ 18 θ 19 x 11 ( k 1 1 ) / θ 27 , x ˙ 20 = x 19 θ 18 x 20 θ 18 , x ˙ 21 = x 20 θ 18 x 21 θ 18 , x ˙ 22 = x 21 θ 18 x 22 θ 18 , x ˙ 23 = x 22 θ 18 x 23 θ 18 , x ˙ 24 = k 6 x 23 θ 18 / k 7 x 24 θ 19 , x ˙ 25 = x 24 θ 15 θ 20 x 25 θ 20 + k 3 θ 20 θ 16 θ 15
where the auxiliary variables x 2345 = x 2 + x 3 + x 4 + x 5 and M 1 = x 25 θ 17 / θ 15 + 1 have been used.
The 25 states x 1 , x 2 , , x 25 are, respectively, the following species: EpoRJAK2, EpoRpJAK2, p1EpoRpJAK2, p2EpoRpJAK2, p12EpoRpJAK2, EpoRJAK2_CIS, SHP1, SHP1Act, STAT5, pSTAT5, npSTAT5, CISnRNA1, CISnRNA2, CISnRNA3, CISnRNA4, CISnRNA5, CISRNA, CIS, SOCS3nRNA1, SOCS3nRNA2, SOCS3nRNA3, SOCS3nRNA4, SOCS3nRNA5, SOCS3RNA, and SOCS3.
The 27 unknown parameters, θ i , were written in the original publication [24] as: CISEqc, CISEqcOE, CISInh, CISRNADelay, CISRNATurn, CISTurn, EpoRActJAK2, EpoRCISInh, EpoRCISRemove, JAK2ActEpo, JAK2EpoRDeaSHP1, SHP1ActEpoR, SHP1Dea, SHP1ProOE, SOCS3Eqc, SOCS3EqcOE, SOCS3Inh, SOCS3RNADelay, SOCS3RNATurn, SOCS3Turn, STAT5ActEpoR, STAT5ActJAK2, STAT5Exp, STAT5Imp, init_EpoRJAK2, init_SHP1, and init_STAT5.
The model has seven known constants ( k 1 k 7 ), five of which correspond to experimental conditions that can be considered as constant inputs ( k 1 k 5 ), including the external signal ( k 5 Epo).
The output equations are:
y 1 = 2 ( x 2 + x 3 + x 4 + x 5 ) θ 25 , y 2 = 16 ( x 3 + x 4 + x 5 ) θ 25 , y 3 = x 18 θ 1 , y 4 = x 25 / θ 14 , y 5 = ( x 9 + x 10 ) / θ 27 , y 6 = x 10 θ 27 , y 7 = x 9 , y 8 = x 7 + x 8 , y 9 = x 18 , y 10 = x 25 , y 11 = 100 x 10 / ( x 10 + x 9 ) , y 12 = x 24 , y 13 = x 17 , y 14 = ( x 7 + x 8 ) ( 1 + ( k 4 θ 27 ) ) / θ 26 ,

References

  1. Chatzis, M.N.; Chatzi, E.N.; Smyth, A.W. On the observability and identifiability of nonlinear structural and mechanical systems. Struct. Control Health Monit. 2015, 22, 574–593. [Google Scholar] [CrossRef]
  2. Villaverde, A.F. Observability and Structural Identifiability of Nonlinear Biological Systems. Complexity 2019, 2019, 8497093. [Google Scholar] [CrossRef] [Green Version]
  3. Tuza, Z.A.; Ács, B.; Szederkényi, G.; Allgöwer, F. Efficient computation of all distinct realization structures of kinetic systems. IFAC-PapersOnLine 2016, 49, 194–200. [Google Scholar] [CrossRef]
  4. Hermann, R.; Krener, A.J. Nonlinear controllability and observability. IEEE Trans. Autom. Control 1977, 22, 728–740. [Google Scholar] [CrossRef] [Green Version]
  5. Bellman, R.; Åström, K.J. On structural identifiability. Math. Biosci. 1970, 7, 329–339. [Google Scholar] [CrossRef]
  6. Bellu, G.; Saccomani, M.P.; Audoly, S.; D’Angio, L. DAISY: A new software tool to test global identifiability of biological and physiological systems. Comput. Methods Programs Biomed. 2007, 88, 52–61. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  7. Meshkat, N.; Eisenberg, M.; DiStefano, J.J. An algorithm for finding globally identifiable parameter combinations of nonlinear ODE models using Gröbner Bases. Math. Biosci. 2009, 222, 61–72. [Google Scholar] [CrossRef] [PubMed]
  8. Karlsson, J.; Anguelova, M.; Jirstrand, M. An Efficient Method for Structural Identiability Analysis of Large Dynamic Systems. In Proceedings of the 16th IFAC Symposium on System Identification, Brussels, Belgium, 11–13 July 2012; Volume 16, pp. 941–946. [Google Scholar]
  9. Villaverde, A.F.; Barreiro, A.; Papachristodoulou, A. Structural identifiability of dynamic systems biology models. PLoS Comput. Biol. 2016, 12, e1005153. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  10. Ligon, T.S.; Fröhlich, F.; Chiş, O.T.; Banga, J.R.; Balsa-Canto, E.; Hasenauer, J. GenSSI 2.0: Multi- experiment structural identifiability analysis of SBML models. Bioinformatics 2018, 8, 1421–1423. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  11. Hong, H.; Ovchinnikov, A.; Pogudin, G.; Yap, C. SIAN: A tool for assessing structural identifiability of parametric ODEs. ACM Commun. Comput. Algebra 2019, 53, 37–40. [Google Scholar] [CrossRef]
  12. Evans, N.D.; Chapman, M.J.; Chappell, M.J.; Godfrey, K.R. Identifiability of uncontrolled nonlinear rational systems. Automatica 2002, 38, 1799–1805. [Google Scholar] [CrossRef]
  13. Martinelli, A. Extension of the observability rank condition to nonlinear systems driven by unknown inputs. In Proceedings of the 2015 23rd Mediterranean Conference on Control and Automation (MED), Torremolinos, Spain, 16–19 June 2015; pp. 589–595. [Google Scholar]
  14. Martinelli, A. Nonlinear Unknown Input Observability: Extension of the Observability Rank Condition. IEEE Trans. Autom. Control 2019, 64, 222–237. [Google Scholar] [CrossRef] [Green Version]
  15. Maes, K.; Chatzis, M.; Lombaert, G. Observability of nonlinear systems with unmeasured inputs. Mech. Syst. Signal Process. 2019, 130, 378–394. [Google Scholar] [CrossRef]
  16. Villaverde, A.F.; Tsiantis, N.; Banga, J.R. Full observability and estimation of unknown inputs, states, and parameters of nonlinear biological models. J. R. Soc. Interface 2019, 16, 20190043. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  17. Vidyasagar, M. Nonlinear Systems Analysis; Prentice Hall: Englewood Cliffs, NJ, USA, 1993. [Google Scholar]
  18. Isidori, A. Nonlinear Control Systems; Springer Science & Business Media: Berlin/Heidelberg, Germany, 1995. [Google Scholar]
  19. Anguelova, M. Nonlinear observability and identifiability: General theory and a case study of a kinetic model for S. cerevisiae. Master’s Thesis, Chalmers University of Technology and Göteborg University, Göteborg, Sweden, 2004. [Google Scholar]
  20. Villaverde, A.F.; Evans, N.D.; Chappell, M.J.; Banga, J.R. Input-Dependent Structural Identifiability of Nonlinear Systems. IEEE Control Syst. Lett. 2019, 3, 272–277. [Google Scholar] [CrossRef] [Green Version]
  21. Bolie, J. Coefficients of normal blood glucose regulation. J. Appl. Physiol. 1961, 16, 783–788. [Google Scholar] [CrossRef] [PubMed]
  22. Miao, H.; Xia, X.; Perelson, A.S.; Wu, H. On identifiability of nonlinear ODE models and applications in viral dynamics. SIAM Rev. 2011, 53, 3–39. [Google Scholar] [CrossRef] [PubMed]
  23. Lugagne, J.B.; Carrillo, S.S.; Kirch, M.; Köhler, A.; Batt, G.; Hersen, P. Balancing a genetic toggle switch by real-time feedback control and periodic forcing. Nat. Commun. 2017, 8, 1671. [Google Scholar] [CrossRef] [PubMed]
  24. Bachmann, J.; Raue, A.; Schilling, M.; Böhm, M.E.; Kreutz, C.; Kaschek, D.; Busch, H.; Gretz, N.; Lehmann, W.D.; Timmer, J.; et al. Division of labor by dual feedback regulators controls JAK2/STAT5 signaling over broad ligand range. Mol. Syst. Biol. 2011, 7, 516. [Google Scholar] [CrossRef] [PubMed]
  25. Villaverde, A.F.; Banga, J.R. Análisis de observabilidad e identificabilidad estructural de modelos no lineales: Aplicación a la vía de señalización JAK/STAT. In XL Jornadas de Automática. Universidade da Coruña; Servizo de Publicacións—UDC: Coruña, Spain, 2019; pp. 631–638. [Google Scholar]
Figure 1. Analysis of the C2M model with the FISPO and ORC-DF algorithm. For FISPO two cases are considered: u ˙ = 0 , which is labelled as “(const)”, and u ˙ 0 , which is labelled as “(var)”. In the first case, higher order derivatives are assumed to be zero too. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., six.
Figure 1. Analysis of the C2M model with the FISPO and ORC-DF algorithm. For FISPO two cases are considered: u ˙ = 0 , which is labelled as “(const)”, and u ˙ 0 , which is labelled as “(var)”. In the first case, higher order derivatives are assumed to be zero too. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., six.
Mathematics 08 01876 g001
Figure 2. Analysis of the Bolie model with the FISPO and ORC-DF algorithms. For FISPO two cases are considered: u ˙ = 0 , which is labelled as “(const)”, and u ˙ 0 , which is labelled as “(var)”. In the first case, higher order derivatives are assumed to be zero too. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., seven.
Figure 2. Analysis of the Bolie model with the FISPO and ORC-DF algorithms. For FISPO two cases are considered: u ˙ = 0 , which is labelled as “(const)”, and u ˙ 0 , which is labelled as “(var)”. In the first case, higher order derivatives are assumed to be zero too. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., seven.
Mathematics 08 01876 g002
Figure 3. Analysis of the 2DOF model. (A,B) Results of the FISPO and ORC-DF algorithms, respectively, with w ˙ = 0 . The panels show the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., eight.
Figure 3. Analysis of the 2DOF model. (A,B) Results of the FISPO and ORC-DF algorithms, respectively, with w ˙ = 0 . The panels show the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., eight.
Mathematics 08 01876 g003
Figure 4. Number of Lie derivatives needed by each algorithm for building the full-rank observability matrix for the 2DOF model as a function of s , the number of non-zero w ( t ) time derivatives, for 0 s 10 .
Figure 4. Number of Lie derivatives needed by each algorithm for building the full-rank observability matrix for the 2DOF model as a function of s , the number of non-zero w ( t ) time derivatives, for 0 s 10 .
Mathematics 08 01876 g004
Figure 5. Analysis of the HIV model with the FISPO and ORC-DF algorithms, with the input η ( t ) considered known. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., eight.
Figure 5. Analysis of the HIV model with the FISPO and ORC-DF algorithms, with the input η ( t ) considered known. (A,B) Results of the FISPO and ORC-DF algorithms, respectively: the panel shows the states classified as observable or unobservable as a function of the number of Lie derivatives calculated by each algorithm. (C) Observability rank obtained by each algorithm as a function of the number of Lie derivatives. The full rank is equal to the number of states, i.e., eight.
Mathematics 08 01876 g005
Table 1. Computation times of the two algorithms for the models analysed in this study. The computation times of case studies with unknown inputs depend on the highest order of the derivatives of the unknown inputs that are assumed to be non-zero, s. Three different cases are shown for those models: s = { 0 , 1 , 5 } . For models without unknown inputs this setting does not apply. Cases in which an algorithm cannot be applied are labelled as N/A. Results were obtained on a personal computer with 16 GB RAM and processor Intel(R) Core(TM) i7-8550U 1.80 GHz.
Table 1. Computation times of the two algorithms for the models analysed in this study. The computation times of case studies with unknown inputs depend on the highest order of the derivatives of the unknown inputs that are assumed to be non-zero, s. Three different cases are shown for those models: s = { 0 , 1 , 5 } . For models without unknown inputs this setting does not apply. Cases in which an algorithm cannot be applied are labelled as N/A. Results were obtained on a personal computer with 16 GB RAM and processor Intel(R) Core(TM) i7-8550U 1.80 GHz.
ModelSectionReference # x # θ # u # w Total Computation Time [s]
FISPOORC-DF
s = 0 s = 1 s = 5 s = 0 s = 1 s = 5
C2M5.1[16]2410 0.47 0.41
Bolie5.2[21]2510 1.42 0.59
2DOF5.3[15]4311 0.51 1.26 5.68 0.80 0.89 1.54
HIV5.4[22]3510 0.42 0.44
3501 0.42 0.43 57.8 1.14 1.29 47.1
TS5.5[23]21020 99.9 N/A
2602 1.47 36.2 > 10 4 N/A
JAK-STAT5.6[24]252650 Table 2 Table 2
Table 2. Results and computation times of ORC-DF and FISPO for the JAK-STAT model.
Table 2. Results and computation times of ORC-DF and FISPO for the JAK-STAT model.
ORC-DFFISPO
Iteration1234512345
Number of rows1809304680234301171803045607590
Rank24354042442028343943
Rank computation time [s] 0.54 2.18 15.36 170.95 3600.54 0.40 0.76 3.46 59.55 362.78
Observable variables1421292929812151521
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Martínez, N.; Villaverde, A.F. Nonlinear Observability Algorithms with Known and Unknown Inputs: Analysis and Implementation. Mathematics 2020, 8, 1876. https://doi.org/10.3390/math8111876

AMA Style

Martínez N, Villaverde AF. Nonlinear Observability Algorithms with Known and Unknown Inputs: Analysis and Implementation. Mathematics. 2020; 8(11):1876. https://doi.org/10.3390/math8111876

Chicago/Turabian Style

Martínez, Nerea, and Alejandro F. Villaverde. 2020. "Nonlinear Observability Algorithms with Known and Unknown Inputs: Analysis and Implementation" Mathematics 8, no. 11: 1876. https://doi.org/10.3390/math8111876

APA Style

Martínez, N., & Villaverde, A. F. (2020). Nonlinear Observability Algorithms with Known and Unknown Inputs: Analysis and Implementation. Mathematics, 8(11), 1876. https://doi.org/10.3390/math8111876

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop