# Recovering non-linear 1.order ODE from its solution

Let's assume we are given a non-linear first order ODE in $$n$$-dimensions in $$\mathbb{R}^n$$ or some open subset:

$$\begin{matrix} \dot { { x }_{ 1 } } & = & f_{ 1 }(x_{ 1 },...,x_{ n }) \\ \vdots & & \\ \dot { { x }_{ n } } & = & f_{ n }(x_{ 1 },...,x_{ n }) \end{matrix}$$

Further we assume that we know a solution $$\gamma(x_0,t):\mathbb{R}^n \rightarrow \mathbb{R}^n$$ for an initial condition $$x_0$$.

Is there a way to reconstruct in general the form of the ODE, i.e. the functions $$f_i,\ i=1,...,n$$ ?

I am aware of a solution for linear ODEs. I also assume there is no unique solution to the problem. If this is the case I am interested in finding all possible ODEs which could belong to the given solution.

• Hint: that ODE system defines a vector field on the entire domain of the vector valued function $f$. The solution $\gamma(x_0,t)$ with a single initial condition defines only one trajectory that will hardly reach all points in the domain of $f$. Outside of the points that are reached by $\gamma$ you can have an infinitude of modifications of $f$ that lead to ODEs of which $\gamma$ is a solution. Hint II. How many solutions $\gamma$ do you need such that this does not happen? Commented Dec 19, 2022 at 14:55
• @KurtG. Thanks for the comment. I have two guesses. One either needs $n$ trajectories i.e. as many as the system has dimensions. To me, this only seems true for linear systems. So my second guess would be that one needs as many trajectories as there are coefficients, e.g. in $1D$ with $f_1(x)=a \cdot x^2+b \cdot x^2+c \cdot \sin(x)$ we would need 3. However, the construction process of finding the ODE is not clear to me. (This also means we would need to know a priori an expansion of $f_i$ in some basis of the function space, which we do not have if we only have one solution). Commented Dec 19, 2022 at 18:21

Well, in a local set up, you need to know the general solution, that is, $$\gamma(x_0,t)$$ for any $$x_0=(c_1,\ldots,c_n)\in \mathbb{R}^n$$. Alternatively, you can have $$\gamma$$ depending on another set of "equivalent" constants.
Suppose $$\gamma((c_1,\ldots,c_n),t)=(x_1((c_1,\ldots,c_n),t)\ldots,x_n((c_1,\ldots,c_n),t)).$$

You only need to define $$\varphi: ((c_1,\ldots,c_n),t)\to (t,x_1,\ldots,x_n)$$ and compute $$\varphi^{-1}$$. Then, you compute the pushforward of $$\partial_t$$: $$A:=\varphi_*(\partial_t)$$ (observe that you need $$\varphi^{-1}$$ to calculate the components).

This vector field $$A$$ is $$A=\partial_t+f_1 \partial_{x_1}+f_2 \partial_{x_2}+\ldots+f_n \partial_{x_n},$$ being $$f_i$$ your desired functions. Observe that depending on the expressions of the solution, the system could be non-autonomous, i.e., $$f_i$$ can depend on $$t$$.

Here you have a Maple code to compute the ODE system from a solution:

restart;
with(DifferentialGeometry); with(JetCalculus); with(Tools); with(ExteriorDifferentialSystems); with(PDEtools); with(LieAlgebras); with(LinearAlgebra); with(DEtools); with(Student[LinearAlgebra]);

DGsetup([s, c1, c2, c3, c4], M1);
baseformas1 := Tools:-DGinfo(M1, "FrameJetForms");
basecampos1 := Tools:-DGinfo(M1, "FrameJetVectors");

DGsetup([t, x, y, z, w], M2);
baseformas2 := Tools:-DGinfo(M2, "FrameJetForms");
basecampos2 := Tools:-DGinfo(M2, "FrameJetVectors");

xsol := (c1*s+c2)/(s-c3);
ysol := c2/(c4-s);
zsol := (c4*s+c3)/s;
wsol := c4/s+c1;

phi := Transformation(M1, M2, [t = s, x = xsol, y = ysol, z = zsol, w = wsol]);
invphi := InverseTransformation(phi);

A := simplify(Pushforward(phi, invphi, basecampos1[1]));



I have to say that if you have only one particular solution you can add to it enough constants to create a family of solutions as above, whenever these constants are "suficientely independent". Then your solution will be a solution of the just created ODE system.

• Thanks a lot for this interesting answer, I have not thought about this in this way. Has this technique a name? Can you maybe point me to some literature about it Commented Dec 20, 2022 at 16:04
• I have not seen this in any place. I apply in my research to construct ODEs systems satisfying some conditions. Commented Dec 20, 2022 at 18:23
• @NicAG this reminds of the "Backstepping" technique. Though they are not exactly the same, but a similar strategy is applied, i.e. find a nonlinear mapping whose inverse has some specific properties. Commented Dec 24, 2022 at 9:04

I think the problem is not that simple so that we only have to look at the dimensions of the system. Take in $$1D$$ the solution $$\tag{1}\gamma(1,t)=\frac{1}{t}\,\,,\quad t\in(0,+\infty)\,.$$ It solves the ODE $$\dot\gamma=-\gamma^2\,.$$ Which we can write as $$\dot\gamma=f(\gamma)$$ with $$f(x)=-x^2\,.$$ This $$f$$ is an even function that is defined on the whole of $$\mathbb R$$ but the particular solution (1) does clearly not care when we modify $$f$$ on $$(-\infty,0]\,.$$ In other words:

• For any function $$g$$ on $$\mathbb R$$ that agrees with $$f(x)=-x^2$$ on $$(0,+\infty)$$ the function (1) is a solution of the ODE $$\dot\gamma=g(\gamma)\,.$$

I think the problem you are considering has to do with the range of $$\gamma$$ and with the connectedness of the domain of $$f\,.$$

• Thanks for the answer. Viewing ODEs in a dynamical system context I would think that one needs at least one trajectory per basin of attraction. However then your example does not work anymore. Since most of the basins of attraction for chaotic attractors are fractal. Then the function $f$ can't be changed in a smooth way on the fractal basin I would think Commented Dec 20, 2022 at 16:10