Assume we are given several initial vectors $x^{(1)},\ldots,x^{(r)} \in \mathbb{R}^n$, where the dimension $n$ is in the range of 50 to 100, and the number of initial vectors $r$ is in the range of 10000 to 20000. Also all entries of the vectors are real numbers between $0$ and $1$, if that helps.

We now consider the system of linear ODEs \begin{equation} \frac{d}{dt} x = A \cdot x + b, \end{equation} with respective initial vectors $x^{(1)},\ldots,x^{(r)}$, where $A$ is a real valued $n \times n$ matrix and $b$ is a real $n$-dimensional vector. However, we do not know the coefficients of $A$ and $b$ yet. (If beneficial, you may assume $b=0$.)

Consider now the function $G: \mathbb{R}^n \rightarrow \mathbb{R}$ given by \begin{equation} G(x) = c_0 + \sum_{i=1}^n c_i \cdot x_i. \end{equation} Here most $c_i$, i.e. all apart from 6 to 12 of these $c_i$, are 0, so just a fraction of the entries of the vectors matters. We do know the exact weights of the $c_i$.

We fix three time points: Time point zero plus two further time points $(t_0,t_1,t_2)$.

Now let $x^{(j)}(t_k)$ denote the vector of the curve induced by $x^{(j)}$ and the system of linear ODEs at time point $t_k$. Then, in our scencario we do have for $i = 1,\ldots,r$ and $k=0,\ldots,2$, the values $G(x^{(j)}(t_k))$ at hand, which is, of course, a much reduced information compared to the complete knowledge of $x^{(j)}(t_k)$ and also just allows limited insight, since most entries do not matter in $G$.

My question is now: Can we fit the entries $A$ (and $b$) by knowing all $x^{(j)}$ initial vectors, the function $G$ and the values $G(x^{(j)}(t_k))$ for $i = 1,\ldots,r$ and $k=0,\ldots,2$ ?

On the one hand, since $G$ uses just a small fraction of entries, this seems to be very difficult (particularly for predicting the dynamics of those entries that do not matter in $G$), but on the other hand we have around 10000 to 20000 measured values for each time point and just 10000 entries in the matrix $A$ to fit. Therefore, there might be a chance to fit it.

  • $\begingroup$ Do you have any assumptions on $A$? Is it symmetric or invertible? If it is invertible, then the unique solution to the ODE is $x^{(j)}(t)=e^{tA}x^{(j)}(0)+(e^{tA}-I)b$. Have you tried using this explicit solution? $\endgroup$ Oct 7, 2014 at 13:53
  • $\begingroup$ Thanks for your reply, Joonas. However, even if I would try that I do not see how I can get out the individual rates $a_{ij}$ in $A$, particularly where $i$ is one of those indices that do not matter in $G$. $\endgroup$
    – tobias
    Oct 7, 2014 at 14:04
  • $\begingroup$ There was a typo: I meant $x^{(j)}(t)=e^{tA}x^{(j)}(0)+(e^{tA}-I)A^{-1}b$. If $c_0$ is known, we can assume $c_0=0$. Then $G(x^{(j)}(t))=c^Tx^{(j)}(t)=c^T[e^{tA}x^{(j)}(0)+(e^{tA}-I)A^{-1}b]$. If the vectors $x^{(j)}$ span $\mathbb R^n$, we also know the solution to the ODE with initial value zero. Thus we know $c^T(e^{tA}-I)A^{-1}b$ for $t\in\{t_0,t_2,t_2\}$ and we lose no generality assuming $b=0$. If $A$ is symmetric (do you know this?), you can diagonalize the situation and you can probably see more. $\endgroup$ Oct 7, 2014 at 14:16
  • $\begingroup$ It is unfortunately very unlikely, that $A$ is going to symmetric. There might be huge deviances between $a_{ij}$ and $a_{ji}$. $\endgroup$
    – tobias
    Oct 7, 2014 at 14:21

1 Answer 1


Let me expand my comments into an answer. The essential conclusion is that you cannot recover the matrix $A$ and the vector $b$ from your data, no matter how large you take $r$. Finding $A$ and $b$ might be possible if the amount of time measurements is at least $n$; three is not enough. Increase the amount of time measurements or use several functions $G$ if you want to recover your unknowns.

First, the solution of the ODE $$ \begin{cases} \frac{d}{dt}x=At+b\\ x(0)=x^{(j)} \end{cases} $$ is $$ x^{(j)}(t)=e^{tA}x^{(j)}+(e^{tA}-I)A^{-1}b $$ if $A$ is invertible. The matrix $(e^{tA}-I)A^{-1}$ is well defined even if $A$ is not invertible (expand the Taylor series to see this), so I will write my formal solution in the same way for any $A$.

Since $c_0$ is known, we can subtract it from the data, so we take $c_0=0$. Our data consists of the numbers $$ D^j_k=c^T[e^{t_kA}x^{(j)}+(e^{t_kA}-I)A^{-1}b] $$ for all $j\in\{1,\dots,r\}$ and $k\in\{0,1,2\}$.

Since $r\gg n$ it seems reasonable to assume the set $\{x^{(j)};1\leq j\leq r\}$ spans $\mathbb R^n$ and moreover that $x^{(1)}=\sum_{j=2}^r\lambda_jx^{(j)}$ for some coefficients $\lambda_j$ such that $\sum_{j=2}^r\lambda_j\neq1$. Now we know $$ D^1_k-\sum_{j=2}^r\lambda_jD^j_k = \left(1-\sum_{j=2}^r\lambda_j\right)c^T(e^{t_kA}-I)A^{-1}b, $$ whence we know $c^T(e^{t_kA}-I)A^{-1}b$ for all $k$. In particular we know the numbers $$ c^Te^{t_kA}x^{(j)}. $$ (In short, we can assume $b=0$ in figuring out $A$.)

Change basis so that $c=(1,0,\dots,0)$ and write $A_k=e^{t_kA}$. Recall that the vectors $x^{(j)}$ span $\mathbb R^n$. We thus know $c^TA_kx$ for all $x\in\mathbb R^n$. All we know about the matrix $A_k$ is its first row. Since there are $n^2$ entries in $A$ and we only get to know $3n$ numbers, it seems highly unlikely to be able to reconstruct $A$. Even if it can be reconstructed by some miracle, it is unlikely to be stable. If the number of measurement times is larger than $n$, then it might be possible. (But it seems to fail if $c$ is an eigenvector of $A$.)

Something similar happens for $b$. Suppose we have figured out what $A$ is and want to find $b$. All we know is $c^T(A_k-I)A^{-1}b$ for all $k$. We should have at least about $n$ equations to recover $b$, less than $n$ time measurements will not suffice.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.