1 Introduction

The biological systems are often described by nonlinear ordinary differential equations (ODEs) or partial differential equations (PDEs) with uncertain and unknown parameters [5, 9, 10, 15, 18, 29,30,31, 35]. The estimations of these unknown parameters are required for accurate descriptions of the biological processes. Biologically speaking, how to treat the uncertainty involved in these unknown parameters reflects measurement error, non-stringent experimental design, the flexibility of the processes themselves, etc. Mathematically speaking, the parameter estimation also involves some advanced computational and statistical methods in optimization problems. Different methodologies have been developed to estimate parameters such as the Bayesian framework [3, 19, 20], the combination of the polynomial chaos theory and the Extended Kalman Filter theory [2], and the inverse problem theory [28].

The polynomial chaos approach has been shown to be an efficient method for quantifying the effects of such uncertainties on nonlinear systems of differential equations [22, 32,33,34]. Thus it is a valuable approach by applying polynomial chaos approach to problems with expensive computation such as parameter estimation [24]. However, the polynomial chaos approach assumes that the solution is a smooth function of the parameter set [8, 34], and is hard to generalize to the non-smooth case of the parameter space such as, i.e., bifurcation, multiple solutions in piecewise-smooth parameter space [4, 6, 36]. Indeed, multiple solutions and bifurcations are highly related to the parameter estimation. Thus it is very important to know the relationship between solution structures and non-smooth parameter space.

Here is a simple example of multiple solutions of parameter values for a given dataset. Let’s consider a model with two cells interaction. There are two cell type: X and Y. They promote each other and degrade by themselves. The following ODE system is used to model the growth of X and Y:

$$\begin{aligned} \left\{ \begin{array}{rcl} \displaystyle \frac{d X}{d t}&{}=&{}\underbrace{\frac{Y}{Y+K_Y}}_{production}\underbrace{-d_{X}X}_{degradation}\\ \displaystyle \frac{d Y}{d t}&{}=&{}\underbrace{\frac{X}{X+K_X}}_{production}\underbrace{-d_{Y}Y}_{degradation} \end{array} \right. , \end{aligned}$$
(1)

where \(K_X\), \(K_Y\), \(d_X\) and \(d_Y\) are capacities and degradation rates for X and Y respectively. On the one hand, the solutions have different behaviors by choosing different parameter values (see Fig. 1): X and Y could co-exist; either X or Y could dominate by choosing different parameter values. On the other hand, a same solution behavior may have different parameter values. For example, we consider the following “biological data”: X and Y coexist eventually i.e., \(X_f=Y_f\) (\(X_f\) and \(Y_f\) are the equilibriums), as well as the decreasing rates of X and Y are \(\frac{1}{6}\) and \(\frac{1}{7}\) respectively when X and Y are half of the equilibriums, i.e., when \(X=Y=\frac{X_f}{2}=\frac{Y_f}{2}\), \(\frac{dX}{dt}=-\frac{1}{6}\) and \(\frac{dY}{dt}=-\frac{1}{7}\). After normalization, i.e., \(X_f=Y_f=1\), we have the following nonlinear system with the parameters as the variables

Fig. 1
figure 1

Solutions for system (1) with \(K_X=K_Y=\frac{1}{2}\), \(X(0)=1\) and \(Y(0)=0\): Left X and Y coexist with \(d_X=d_Y=1\); Middle Y dominates with \(d_X=2\) and \(d_Y=1\); Right: X dominates with \(d_X=1\) and \(d_Y=2\);

$$\begin{aligned} \left\{ \begin{array}{rcl} \frac{1}{1+K_Y}-d_{X}&{}=&{}0\\ \frac{1}{1+K_X}-d_{Y}&{}=&{}0\\ \frac{1}{1+2K_X}-\frac{d_{Y}}{2}&{}=&{}-\frac{1}{6}\\ \frac{1}{1+2K_Y}-\frac{d_{X}}{2}&{}=&{}-\frac{1}{7}\\ \end{array} \right. , \end{aligned}$$
(2)

which implies that we have four solutions:

$$\begin{aligned} \left\{ \begin{array}{llll} K_X=1&{}K_X=\frac{1}{2}&{}K_X=1&{}K_X=\frac{1}{2}\\ K_Y=1+\frac{\sqrt{2}}{2}&{}K_Y=1-\frac{\sqrt{2}}{2}&{}K_Y=1-\frac{\sqrt{2}}{2}&{}K_Y=1+\frac{\sqrt{2}}{2}\\ d_X=\frac{2}{4+\sqrt{2}}&{}d_X=\frac{2}{4-\sqrt{2}}&{}d_X=\frac{2}{4-\sqrt{2}}&{}d_X=\frac{2}{4+\sqrt{2}}\\ d_Y=\frac{1}{2}&{}d_Y=\frac{2}{3}&{}d_Y=\frac{1}{2}&{}d_Y=\frac{2}{3}\\ \end{array} \right. . \end{aligned}$$
(3)

The evolutions of X(t) and Y(t) with these four parameter values are shown in Fig. 2.

Fig. 2
figure 2

Solutions for system (1) with the parameter value pairs shown in (3)

This simple example illustrates that computation of multiple parameter values is essential for parameter estimation with given datasets. In order to handle the multiple solutions of parameter values, we employ the techniques from Numerical Algebraic Geometry (NAG) [25], whose main topic is to solve the systems of polynomial equations. The key method in NAG is the homotopy continuation method: it can be shown that for a given system of polynomial equations to be solved, a homotopy between the system and a start system (which is easier to solve and shares many features with the former system) can be constructed (see [1, p. 24] and [26, p. 16] for detailed descriptions). Then tracking each solution path from the start system towards the original system along the homotopy finally obtains all the solutions of the original system. The homotopy continuation method has been applied to compute the solutions of nonlinear systems arising from discretized nonlinear PDEs [13, 14], physical phenomenology [16, 17], biology [11, 12], and etc.

In this paper, we will use the polynomial chaos expansion (PCE) method to take into account variations of model parameters and generate a cluster of sampling points which converge to different optimal values of parameters. For each group of sampling points, we apply the homotopy continuation method to compute all the solutions of polynomial systems generated by the PCE method. Several numerical examples are used to demonstrate the feasibility and efficiency of this new method. The outline of this paper is as follows: In Sect. 2, we introduce the problem and numerical methods; In Sect. 3, we provide the convergence error estimation; In Sect. 4, we use several examples to test our numerical methods.

2 A Numerical Method for Estimating Parameter with Multiple Optima

In general, the discretized nonlinear system of differential equations for each time step can be written as

$$\begin{aligned} {\mathbf {F}}({\mathbf {u}},{\mathbf {p}})={\mathbf {0}}, \end{aligned}$$

where \({\mathbf {u}}\) is a vector representing numerical solutions, and \({\mathbf {p}}\) is a also vector containing all the parameters. The dimension of \({\mathbf {u}}\) depends on the number of grid points of discretization and the dimension of \({\mathbf {p}}\) depends on the number of parameters in biological models. The observations of \({\mathbf {u}}\) could be from clinical or biological data. Considering N pairs of observations (for example, different time measurement), \({\mathbf {v}}_1, \ldots , {\mathbf {v}}_N\), typically, the points \({\mathbf {v}}_i\) will not exactly equal to \({\mathbf {u}}_i\) due to measurement and numerical errors. Therefore, we need to find the value of the parameter vector \({\mathbf {p}}\) that makes the function \({\mathbf {u}}\) provide the best fit to the data points, namely,

$$\begin{aligned} \min _{\mathbf {p}}G({\mathbf {p}})\doteq \sum _i\Vert {\mathbf {u}}_i-{\mathbf {v}}_i\Vert . \end{aligned}$$
(4)

2.1 Polynomial Chaos Expansion

The unknown parameters, \({\mathbf {p}}\), are viewed as random variables which are independently identically distritbuted (IID). Therefore \({\mathbf {u}}\) is a function of the random variables \({\mathbf {p}}\), i.e., \({\mathbf {u}}={\mathbf {u}}({\mathbf {p}})\). Following the generalized polynomial chaos (gPC) method, the numerical solution \({\mathbf {u}}({\mathbf {p}})\) is expanded in terms of polynomial basis functions

$$\begin{aligned} {\mathbf {u}}({\mathbf {p}}) \approx \sum _{|\mathbf {\alpha }|=0}^S{\mathbf {u}}_\mathbf {\alpha }\phi _{\mathbf {\alpha }}({\mathbf {p}}), \end{aligned}$$

where \({\mathbf {u}}_\mathbf {\alpha }\) is a vector. By denoting the dimensionality of \({\mathbf {p}}\) as \(n_{{\mathbf {p}}}\), \(\mathbf {\alpha }=[\alpha _1,\ldots ,\alpha _{n_{{\mathbf {p}}}}]\) is an \(n_{{\mathbf {p}}}\)-dimensional multi-index, and \(|\mathbf {\alpha }|\) is the sum of the vector elements, i.e., \(|\mathbf {\alpha }|:=\alpha _1+\cdots +\alpha _{n_{{\mathbf {p}}}}\). Each element \(\alpha _i\) of \(\mathbf {\alpha }\) can take on a non-negative integer value between 0 and S. The expansion of \({\mathbf {p}}\) is according to the known parameter prior distribution, and hence \({\mathbf {p}}_i\) is known for all \(1\le i\le n_{\mathbf {p}}\). For small size systems, parameter estimation can be easily done by using the optimization and the generalized polynomial chaos framework. But for systems involving large-scale computation, it is very expensive to choose enough sampling points to get a good approximation of \({\mathbf {u}}({\mathbf {p}})\). Moreover, it is very unclear of relationship between parameter space and solution structure for the large-scale systems. In another word, it may have multiple optimal parameter values to fit the given real data. In this case, we need to design an automatical way to compute the useful sampling points and design a new numerical method to compute the multiple optimal parameter values.

Suppose that we already have n sample points, i.e., \({\mathbf {p}}_1,\ldots ,{\mathbf {p}}_n\), \({\mathbf {u}}({\mathbf {p}})\) can be expanded on the parameter space by using polynomial chaos expansion \({\mathbf {u}}({\mathbf {p}})=\sum _{j=1}^n{\mathbf {u}}_{\mathbf {\alpha }_j}\phi _{\mathbf {\alpha }_j}({\mathbf {p}})\). Polynomial chaos theory then solves for the coefficients \({\mathbf {u}}_\mathbf {\alpha }\) of the polynomial chaos state expansion using the collocation approach: For each sampling point \({\mathbf {p}}_j\), the numerical solution can be solved by solving \({\mathbf {F}}({\mathbf {u}},{\mathbf {p}}_j)={\mathbf {0}}\) and obtain \({\mathbf {u}}={\mathbf {u}}({\mathbf {p}}_j)\). The \({\mathbf {u}}_\mathbf {\alpha }\) can be solved by the following linear system

$$\begin{aligned} \left( \begin{array}{ccc} \phi _{\mathbf {\alpha }_1}({\mathbf {p}}_1)&{}\cdots &{} \phi _{\mathbf {\alpha }_n}({\mathbf {p}}_1)\\ \vdots &{}\vdots &{}\vdots \\ \phi _{\mathbf {\alpha }_1}({\mathbf {p}}_n)&{}\cdots &{} \phi _{\mathbf {\alpha }_n}({\mathbf {p}}_n)\\ \end{array}\right) {{\left( \begin{array}{c} {\mathbf {u}}_{\mathbf {\alpha }_1}\\ \vdots \\ {\mathbf {u}}_{\mathbf {\alpha }_n}\end{array}\right) }} ={{\left( \begin{array}{c}{\mathbf {u}}({\mathbf {p}}_1)\\ \vdots \\ {\mathbf {u}}({\mathbf {p}}_n) \end{array}\right) }} \end{aligned}$$
(5)

Then the optimization problem (4) can be rewritten as

$$\begin{aligned} \displaystyle \min _{\mathbf {p}}G({\mathbf {p}})\doteq \Big (\sum _{j=1}^n{\mathbf {u}}_{\mathbf {\alpha }_j}\phi _{\mathbf {\alpha }_j}({\mathbf {p}})-{\mathbf {v}}\Big )^T\Big (\sum _{j=1}^n{\mathbf {u}}_{\mathbf {\alpha }_j}\phi _{\mathbf {\alpha }_j}({\mathbf {p}})-{\mathbf {v}}\Big ), \end{aligned}$$
(6)

which is equivalent to

$$\begin{aligned} f_s:=\displaystyle \Big (\sum _{j=1}^n{\mathbf {u}}_{\mathbf {\alpha }_j}\phi _{\mathbf {\alpha }_j}({\mathbf {p}})-{\mathbf {v}}\Big )^T\sum _{j=1}^n{\mathbf {u}}_{\mathbf {\alpha }_j}\partial _{{\mathbf {p}}_s}\phi _{\mathbf {\alpha }_j}({\mathbf {p}})=0. \end{aligned}$$
(7)

Here \(\partial _{{\mathbf {p}}_s}\) is the partial derivative with respect to \({\mathbf {p}}_s\) (\(1\le s\le n_{\mathbf {p}}\)). Since \(\phi _{\mathbf {\alpha }_j}({\mathbf {p}})\) is a polynomial basis on parameter space, the nonlinear equation \(f_s\), \(1\le s\le n_{{\mathbf {p}}}\) forms a polynomial system.

2.2 Homotopy Continuation Method

In order to solve the polynomial system, we employed the homotopy continuation method to solve the polynomial system:

$$\begin{aligned} H({\mathbf {p}},t)=(1-t)\left( \begin{array}{c} f_1\\ \vdots \\ f_{n_{\mathbf {p}}}\end{array}\right) +\gamma t\left( \begin{array}{c} {\mathbf {p}}_1^d-1\\ \vdots \\ {\mathbf {p}}_{n_{\mathbf {p}}}^d-1\end{array}\right) , \end{aligned}$$
(8)

where \(\gamma \) is a random complex number and d is highest degree of \(\phi _{\mathbf {\alpha }_j}({{\mathbf {p}}})\) for \(1\le j\le n\). Moreover, \(t \in [0, 1]\) is a homotopy parameter: When \(t = 1\), we have known solutions to \(H({\mathbf {p}}, 1) = 0\). Specifically, the solutions of \({\mathbf {p}}_s^d-1=0\) are \({\mathbf {p}}_s=e^{2\pi i s/d},~s=0,\ldots ,d-1\), which forms the solutions of \(H({\mathbf {p}},1) = 0\). The known solutions are called start points, and the system \(H({\mathbf {p}}, 1) = 0\) is called the start system. Such a start system with the degree d equal to the degree of \(f_s\) for all s is called a total degree start system. Choosing a total degree start system and a random complex number \(\gamma \) guarantees finding all the solutions. The use of the random \(\gamma \), which is called the \(\gamma \)-trick, was introduced in [1, p. 26,32] and [26, p. 18]. Therefore, \(\gamma \) is randomly chosen once for solving the polynomial systems (8).A good discussion of a more general version of this trick is given in [1, 26].

The parameter estimation algorithm for the nonlinear system \({\mathbf {F}}({\mathbf {u}},{\mathbf {p}})={\mathbf {0}}\) consists of the following steps:

  1. 1.

    Initialize sampling points on the parameter space \({\mathbf {p}}_0\), \({\mathbf {p}}_1\), \(\ldots \), \({\mathbf {p}}_n\);

  2. 2.

    Solve the nonlinear system \({\mathbf {F}}({\mathbf {u}},{\mathbf {p}})={\mathbf {0}}\) and get \({\mathbf {u}}({\mathbf {p}}_i)\) for \(1\le i\le n\);

  3. 3.

    Compute \({\mathbf {u}}_{\mathbf {\alpha }_j}\) by solving the linear system (5);

  4. 4.

    Compute the next sampling point \({\mathbf {p}}_{n+1}\) by using homotopy method to solve (8);

  5. 5.

    Cluster sampling points, update \(n=n+1\) and go to Step 1.

Remark

  • The initialization of this algorithm could be a very rough estimate of parameter space [23], i.e. normally we give an upper bound and a lower bound for each parameter value.

  • The major computational efforts will likely be on solving the polynomial system by using homotopy methods. In this case, we will get cluster of sampling points near the different optimal parameter values. The stopping criteria for this algorithm is \(\Vert {\mathbf {p}}_{n+1}-{\mathbf {p}}_{n}\Vert <Tol\).

  • Although the numerical method used for solving the nonlinear system \({\mathbf {F}}({\mathbf {u}},{\mathbf {p}})={\mathbf {0}}\) does not affect parameter estimation, it will definitely affect the efficiency of the whole process. In another word, an efficient nonlinear solver for \({\mathbf {F}}({\mathbf {u}},{\mathbf {p}})={\mathbf {0}}\) would speed up the parameter estimation process.

  • The rationale of using gPC representation is that the chosen basis \(\phi ({\mathbf {p}})\) is optimal (in \(L_2\)) with respect to the probability density distribution of \({\mathbf {p}}\). Accordingly, the choice of \(\phi ({\mathbf {p}})\) depends on the probability density function of \({\mathbf {p}}\). In numerical simulations, we use the Legendre polynomial to construct the gPC representation since that we assume \({\mathbf {p}}\) be uniform within bounded domain.

3 Proof of Convergence

Theorem 1

(Existence) There exists a sequence of \({\mathbf {p}}_n\) which is convergent to the exact solution of (6).

Proof

According to definition of \(G({\mathbf {p}})\), it is clear that

$$\begin{aligned} G({\mathbf {p}}_0)\ge G({\mathbf {p}}_1)\ge G({\mathbf {p}}_2)\ge \cdots \ge G({\mathbf {p}}_n)\ge ... \end{aligned}$$

Then there exists a subsequence of \( G({\mathbf {p}}_n)\) which is strictly decreasing. Moreover \({\mathbf {p}}\in P\) which is a bounded closed set. Then there exists a limit of the sequence \({\mathbf {p}}_n\). \(\square \)

However (6) may have multiple optima, namely, one subsequence could converge to one optimum while another subsequence may converge to another optimum. Therefore, we consider one converging sequence and denote \({\mathbf {p}}^*\) is one of multiple optima. Let us assume that an accurate and stable numerical scheme is employed for discretized nonlinear system of differential equations with fixed parameter \({\mathbf {p}}_n\) and the error of its numerical solution \(u({\mathbf {p}}_n)\) is

$$\begin{aligned} \varepsilon _n=\Vert {\mathbf {u}}({\mathbf {p}}_n)-{\mathbf {u}}({\mathbf {p}}^*)\Vert . \end{aligned}$$
(9)

Theorem 2

(Error superposition). Let \(\varepsilon _\Delta \) be the error induced by solving the discretized nonlinear system of differential equations, and \(\varepsilon _Q\) be the aliasing error of approximating the polynomial chaos expansion via given polynomial basis as defined in (5), then \(\varepsilon _n\le C(\varepsilon _\Delta +\varepsilon _Q+\Vert {\mathbf {p}}_n-{\mathbf {p}}^*\Vert )\), where C depends on \(\Vert {\mathbf {u}}_{\mathbf {\alpha }}\Vert \) and \(\Vert \nabla _{\mathbf {p}}\phi _{\mathbf {\alpha }}\Vert \).

Proof

$$\begin{aligned} \Vert {\mathbf {u}}({\mathbf {p}}_n)-{\mathbf {u}}({\mathbf {p}}^*)\Vert= & {} \Vert {\mathbf {u}}({\mathbf {p}}_n)-\tilde{{\mathbf {u}}}({\mathbf {p}}_n)-({\mathbf {u}}({\mathbf {p}}^*)-\tilde{{\mathbf {u}}}({\mathbf {p}}^*))+\tilde{{\mathbf {u}}}({\mathbf {p}}_n)-\tilde{{\mathbf {u}}}({\mathbf {p}}^*)\Vert \nonumber \\\le & {} \Vert {\mathbf {u}}({\mathbf {p}}_n)-\tilde{{\mathbf {u}}}({\mathbf {p}}_n)\Vert +\Vert {\mathbf {u}}({\mathbf {p}}^*)-\tilde{{\mathbf {u}}}({\mathbf {p}}^*)\Vert +\Vert \tilde{{\mathbf {u}}}({\mathbf {p}}_n)-\tilde{{\mathbf {u}}}({\mathbf {p}}^*)\Vert \nonumber \\\le & {} 2\varepsilon _\Delta +\Vert \tilde{{\mathbf {u}}}({\mathbf {p}}_n)-\tilde{{\mathbf {u}}}({\mathbf {p}}^*)\Vert \nonumber \\\le & {} 2\varepsilon _\Delta +2\varepsilon _Q+\Big \Vert \sum _{|\alpha |=0}^n{\mathbf {u}}_{\mathbf {\alpha }}(\phi _{\mathbf {\alpha }}({\mathbf {p}}_n)-\phi _{\mathbf {\alpha }}({\mathbf {p}}^*))\Big \Vert \nonumber \\\le & {} 2\varepsilon _\Delta +2\varepsilon _Q+\max _{\mathbf {\alpha }}\Vert {\mathbf {u}}_{\mathbf {\alpha }}\Vert \Vert \nabla _{\mathbf {p}}\phi _{\mathbf {\alpha }}\Vert \Vert {\mathbf {p}}n-{\mathbf {p}}^*\Vert . \end{aligned}$$
(10)

\(\square \)

In numerical computation, we can check \(\Vert {\mathbf {p}}^n-{\mathbf {p}}^*\Vert \rightarrow 0\) which implies that \(\Vert {\mathbf {u}}({\mathbf {p}}_n)-{\mathbf {u}}({\mathbf {p}}^*)\Vert \rightarrow 0\).

4 Numerical Results

In this section, we will present some numerical examples in order to demonstrate the performance and efficiency of the proposed method.

Example 4.1

The first example is a parametric ordinary differential equation defined as

$$\begin{aligned} \left\{ \begin{array}{cc} u_{xx}=pu &{}\hbox { on }[0,1]\\ u(0)=1&{} \hbox {and }u(1)=\frac{e^{\sqrt{p}}+e^{-\sqrt{p}}}{2}\end{array}\right. . \end{aligned}$$
(11)

It is clear that the exact solution of (11) is \(u(x)=\frac{e^{\sqrt{p}x}+e^{-\sqrt{p}x}}{2}\), where p is a parameter. The finite difference method is employed to discretize this ODE (11) as follows

$$\begin{aligned} F(\mathbf {U},p):=\left\{ \begin{array}{ll} U_{i+1}+U_{i-1}-2U_i=ph^2U_i &{}\hbox { for } i=1,2,\ldots ,N-1\\ U_0=1&{}\hbox {and }U_N=\frac{e^{\sqrt{p}}+e^{-\sqrt{p}}}{2}\end{array}\right. =0. \end{aligned}$$
(12)

We choose the data points \(V_i\) by solving \(F(\mathbf {V},p)=0\) for \(p=1\). Then this example is considered as one dimensional parameter with a single value the exact value \(p^*=1\). The region of the estimated parameter p is given by [0.1, 2]. We choose the initial sampling point as \(p_0=2\). After 3 iterations, the numerical results of \(p_n\) are \(p_1=0.7034\), \(p_2=1.0417\) and \(p_3=0.9999\). Therefore we obtained our numerical estimated value of the parameter p while the objective function value \(G(p_3)=1.121\times 10^{-4}\). The computing time for this example is 2 s.

Example 4.2

We change the equation in 4.1 as follows

$$\begin{aligned} \left\{ \begin{array}{ll} u_{xx}=p^2u &{}\hbox { on }[0,1]\\ u(0)=1&{}\hbox {and }u(1)=\frac{e^{1}+e^{-1}}{2}\end{array}\right. . \end{aligned}$$
(13)

The system corresponding to numerical solution \(U_i\), \(F(\mathbf {U},p)=0\) , is also changed accordingly. We still choose the data points \(V_i\) by solving \(F(\mathbf {V},p)=0\) for \(p=1\). However, there should be two exact solutions for \(p^*\): 1 and \(-1\). After 8 iterations, we found two solutions \(p=0.9999\) and \(p=-0.9999\). The sequence of \(p_i\) for each iteration is shown in Fig. 3. The number of \(p_i\) is changing as i changes, but eventually converges to two points 1 and \(-1\). The computing time for this example is 3 s.

Fig. 3
figure 3

The parameter sequence \(p_i\) versus i-th iteration: the number of solutions is changing as i goes from 1 to 8. Eventually the parameter sequence converges to two points 1 and −1

Example 4.3

Next we consider an example with two parameters by changing 4.1 to

$$\begin{aligned} \left\{ \begin{array}{ll} u_{xx}=p_1^2u &{}\hbox { on }[0,1]\\ u(0)=1&{}\hbox {and }u(1)=p_2(e^{1}+e^{-1}) \end{array}\right. . \end{aligned}$$
(14)

The system corresponding to numerical solution \(U_i\), \(F({\mathbf {U}},p)=0\) , is also changed accordingly. We still choose the data points \(V_i\) by solving \(F({\mathbf {V}},{\mathbf {p}})=0\) for \({\mathbf {p}}=(1,1/2)^T\). However, there should be two exact solutions for \({\mathbf {p}}^*\): \((1,1/2)^T\) and \((-1,1/2)^T\). After 8 iterations, we found these two solutions. The errors of \({\mathbf {p}}_i\) for each iteration are shown in Table 1: We define

$$\begin{aligned} Err_1=\min _j\Vert {\mathbf {p}}_i^j-(1,1/2)^T\Vert \hbox { and } Err_2=\min _j\Vert {\mathbf {p}}_i^j-(-1,1/2)^T\Vert , \end{aligned}$$

where \({\mathbf {p}}_i^j\) is the j-th solution for i-th iteration. The computing time for this example is 10 s.

Table 1 The errors for each iteration

Example 4.4

We consider a model for a genetic toggle switch in Escherichia coli, which was constructed in [7]. It is composed of two repressors and two constitutive promoters, where each promoter is inhibited by the repressor that is transcribed by the opposing promoter. Details of experimental measurement can be found in [7]. The following dimensionless model derived from a biochemical rate equation formulation of gene expression

$$\begin{aligned} \frac{du}{dt}= & {} \frac{\alpha _1}{1+v^2 \beta _1}-u, \end{aligned}$$
(15)
$$\begin{aligned} \frac{dv}{dt}= & {} \frac{\alpha _2}{1+u^3 \beta _2}-v. \end{aligned}$$
(16)

This is an ODE system, with four parameters \({\mathbf {p}} = (\alpha _1, \alpha _2, \beta _1, \beta _2)^T\). The values of these parameters are estimated in [7]. Here we set the solution of \(p =(156.25, 2.5, 15.6, 1)^T\). We used Legendre polynomials as the gPC basis. The parameter space is four-dimensional \((N = 4)\). The initial guess we chosen is \(p_0=(100,1,10,1)^T\). After three iterations, the numerical solution we found is \({\mathbf {p}}_3=(156.25,2.5,15.599,0.999)^T\). The computing time for this example is around 2 min.

Example 4.5

We consider the following simplified model of a small glioma growing in the brain which elicits a response from the host immune system [27]. This model consists of four variables denoted by T, \(\sigma _{brain}\), I and \(\sigma _{serum}\) which represent the concentration of glioma cells, the concentration of glucose in the brain, the concentration of immune system cells and the concentration of serum glucose levels respectively. The model is described by the following system of differential equations

$$\begin{aligned} \frac{d T}{d t}= & {} \alpha _T \sigma _{brain}T(1-T/K_T)-d_TT-d_{T I}T I, \end{aligned}$$
(17)
$$\begin{aligned} \frac{d \sigma _{brain}}{d t}= & {} \alpha _\sigma (\sigma _{serum} +T + I) - d_{T \sigma }T\sigma _{brain} - (d_{\sigma } +\alpha _s) \sigma _{brain} , \end{aligned}$$
(18)
$$\begin{aligned} \frac{d I}{d t}= & {} \alpha _s \sigma _{brain} +d_{T I}T I -d_I I -d_{TT} T I, \end{aligned}$$
(19)
$$\begin{aligned} \sigma _{serum}+\sigma _{brain}= & {} \max \{\sigma _{min},\sigma _0\sin (6\pi t)\}. \end{aligned}$$
(20)

We choose the following initial conditions:

$$\begin{aligned} T(0) = 0.18, \quad \sigma _{brain}(0) = 4.43\times 10^{-3}, \quad I(0) = 10^{-3}. \end{aligned}$$

In [27], the sensitivity analysis of parameter values has been studied and shown that \(\alpha _T\), \(\alpha _s\) and \(d_{TT}\) are the most sensitive parameters with respect to the growth of glioma. Then we fix the other parameters as follows:

$$\begin{aligned} K_T= & {} 2,~d_T=10^{-4},~d_{T I}=0.072,~\alpha _\sigma =20,~d_{T \sigma }=1,\\ ~d_{\sigma }= & {} 0.01,~d_I=0.01,~\sigma _{min}=8\times 10^{-4},~\sigma _0=1.6\times 10^{-3}. \end{aligned}$$

In order to accurately estimate these sensitive parameter values, we employ the clinical data from a public database, SAGEmap [21]. The data for period of 100 days is shown in Fig. 4. With respect to this clinical data, we choose the initial guess as \(\alpha _T=0.5\), \(\alpha _s=10\) and \(d_{TT}=0.7\). After 12 iterations, we found three group of parameter values which are shown in Table 2. The computing time for this example is around 5 min.

Fig. 4
figure 4

Clinical data for glioma cells, glucose level and immune cells versus time

Table 2 The estimated parameter values for the system (1720)

5 Conclusion

In this paper we introduced a numerical method which is based on polynomial chaos and homotopy continuation methods for estimating the parameter values of nonlinear systems of differential equations. The resulting numerical method is able to compute the multiple optimal parameter values with respect to a given dataset, and generates a cluster of sampling points which converge to different estimated parameter values. Several numerical examples are presented to test the presented numerical method and show that it works from single equations to systems with complex form.