TITLE: Periodic orbits in a system of 2 coupled 1D ODEs
QUESTION [1 upvotes]: I was considering the following problem. Let $f: \mathbb{R}\to\mathbb{R}$ and $g:\mathbb{R}^2\to\mathbb{R}$ be smooth functions. We define the system of ODEs
$$ \dot{x} = f(x) + g(x,y), $$
$$ \dot{y} = f(y) + g(y,x). $$
I assumed that without any more restrictions, there can be $f$ and $g$, such that the system they generate has at least one periodic solution.
However I couldn't find a counter example, so I decided to try and prove that it is actually impossible.
My idea was to show that this is actually a gradient flow. What I got is the following:
If there exist $F: \mathbb{R}\to\mathbb{R}$, $G: \mathbb{R}^2\to\mathbb{R}$ and $H: \mathbb{R}^2\to\mathbb{R}$ such that $F'=f$ and
$$G^{(1,0)}(x,y)+H^{(0,1)}(y,x)=H^{(1,0)}(x,y)+G^{(0,1)}(y,x)=g(x,y)$$
then the system is the gradient flow of the function $F(x)+F(y)+G(x,y)+H(x,y)$.
I cannot figure out how restrictive is this condition. Does this actually prove that there are not periodic orbits in such systems? Does anything change if we assume that $f$ and $g$ are just differentiable? Does the result scale up to more than 2 coupled 1D ODEs?

REPLY [1 votes]: With the Hamiltonian $H(x,y)=F(x)-F(y)+V(x-y)$ you get the ODE system $$\dot x=H_y=-F'(y)-V'(x-y)\\\dot y=-H_x=-F'(x)-V'(x-y)$$ which has $H$ as first integral. Comparing with the given form we identify $f=F'$ and $g(x,y)=-f(x)-f(y)-V'(x-y)$ with the additional condition that $V'$ has to be an even function, $V$ thus is to be selected as an odd function. Now one has to construct $H$ so that some of its level sets have compact components.
Let's try some random choices along these guidelines, the fifth one form me was $F(x)=-\frac13x^3$, $V(u)=-\frac13u^3+\arctan(u)$ so that $f(x)=-x^2$, $V'(u)=-u^2+\frac1{1+u^2}$
import numpy as np
import matplotlib.pyplot as plt

def f(x): return -x**2
def dV(u): return -u**2+1/(1+u**2)

xvalues, yvalues = np.meshgrid(np.arange(-2, 2, 0.1), np.arange(-2, 2, 0.1))
a = dV(xvalues-yvalues)
xdot = -f(yvalues)-a
ydot = -f(xvalues)-a
plt.streamplot(xvalues, yvalues, xdot, ydot, density=1.5)
plt.grid(); plt.show()

where the resulting phase portrait indicates periodic orbits.

The tenth try lead to $f(x)=\cos x$, $V'(u)=\cos u$ which gives a periodic phase portrait with lots of periodic solutions.
{"set_name": "stack_exchange", "score": 1, "question_id": 2812567}