I would like to numerically solve the following system of coupled nonlinear differential equations:

$$ -\frac{\hbar^2}{2m_a} \frac{\partial^2}{\partial x^2}\psi_a + V_{ext}\psi_a + \left( g_a |\psi_a|^2 + g_{ab} |\psi_b|^2 \right)\psi_a = \mu_a \psi_a $$

$$ -\frac{\hbar^2}{2m_b} \frac{\partial^2}{\partial x^2}\psi_b + V_{ext}\psi_b + \left( g_b |\psi_b|^2 + g_{ab} |\psi_a|^2 \right)\psi_b=\mu_b\psi_b $$

where $\hbar$, $m_a$, $m_b$, $g_a$, $g_b$, $g_{ab}$ are known coefficients and $V_{ext}$ is a known function of $x$, i.e.: $$ V_{ext}= -P \left[\cos\left(\frac{3}{2}\, \frac{x}{L}\, 2\pi \right)\right]^2 $$ The unknowns are eigenfunctions $\psi_a(x)$, $\psi_b(x)$ and the eigenvalues $\mu_a$ and $\mu_b$. Both $V_{ext}$, $\psi_a$ and $\psi_b$ are defined on the domain $x\in[0,L]$. Functions $\psi_a(x)$ and $\psi_b(x)$ are complex functions. The boundary conditions are the periodic ones, i.e.:

$$ \psi_a(x+L)=\psi_a(x) \qquad \psi_b(x+L)=\psi_b(x) $$

Notice that the period of the eigenfunctions should be $L$ while the period of the external potential is $L/3$.

Eventually, there is a constraint on the norms of $\psi_a$ and $\psi_b$, namely: $$ \int_0^L |\psi_a|^2 \, \mathrm{d}x= N, \qquad \int_0^L |\psi_b|^2 \, \mathrm{d}x= M $$

Can you please give me a good strategy to handle this problem and, possibly, a Matlab code?

  • 2
    $\begingroup$ Sorry, I hadn't read your question carefully. You can: 1. Use finite differences (or other discretization approaches) to turn this into a finite-dimensional nonlinear eigenvalue problem; then 2. Apply a nonlinear eigenvalue solver. For part 1, any introductory text on numerical analysis will include what you need. I'm not an expert in part 2, but there is software out there. $\endgroup$ Oct 30, 2018 at 9:27
  • 3
    $\begingroup$ I quick google search seems to suggest this is more often called a "two-parameter eigenvalue problem", which is more common in google scholar than a "coupled eigenvalue problem". Makes it easier to google. It seems to be just a hard problem in general, there might not be a single "good strategy". $\endgroup$
    – Kirill
    Oct 30, 2018 at 9:45

1 Answer 1


I would call your problem a eigenvector nonlinear two-parameter eigenvalue problem. It is essentially a combination of two difficult problems:

  1. Eigenvector nonlinear eigenproblem $$A(v)v=\lambda v.$$

  2. Two-parameter eigenvalue problem $$(A_1+A_2\lambda +A_3\mu)u=0$$ $$(B_1+B_2\lambda +B_3\mu)v=0$$

These problems have received separate attention in numerical linear algebra, e.g., 2 is studied in a this recent paper. Problem 2 can be reduced to a standard eigenvalue problem by using Kronecker products, which squares the dimension of the problem, but works for small problems. There are not so many methods for 1. We proposed an algorithm in this paper which may be useful.

To my knowledge the combination of 1 and 2 as in your case has not been studied. So an approach based on just applying Newtons method for nonlinear systems is probably a reasonable starting point.


Your Answer

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

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