In the following example, DEigenvalues and NDEigenvalues return different results despite having identical arguments. Does anyone know why?

(I use Mathematica 11.3)

DEigenvalues[{Laplacian[u[x, y], {x, y}],DirichletCondition[u[x, y] == 0,True]}, 
  u[x, y], {x, -1, 1}, {y, -1, 1}, 5] // N
NDEigenvalues[{Laplacian[u[x, y], {x, y}],DirichletCondition[u[x, y] == 0,True]}, 
 u[x, y], {x, -1, 1}, {y, -1, 1}, 5]

{-123.37, -101.163, -101.163, -83.8916, -83.8916}
{-4.93481, -12.3371, -12.3371, -19.7395, -24.6755}

The two outputs are the same when I put a minus sign in front of the Laplacian.

Also, the smallest magnitude Eigenvalue returned by DEigenvalues changes when I change the number of Eigenvalues from 5 to, say, 10. (The docs state that DEigenvalues is supposed to return the n smallest magnitude Eigenvalues)

Thanks for your help!

  • $\begingroup$ Increase 5 to 50 in your NDEigenvalues command. $\endgroup$ – user64494 Jul 17 at 8:39
  • $\begingroup$ The values somewhat agree, but still, DEigenvalues doesn't return the smallest magnitude Eigenvalues. Instead, it seems to list the actual smallest values in some range. $\endgroup$ – banone Jul 17 at 8:45
  • 3
    $\begingroup$ If you have a - inn front of the Laplacian things work as expected. But this looks fishy, I'd report it. $\endgroup$ – user21 Jul 17 at 9:44
  • 1
    $\begingroup$ Done. I will keep you up to date. $\endgroup$ – banone Jul 17 at 9:58
  • $\begingroup$ I got a reply from tech support, they forwarded the issue to the developers. $\endgroup$ – banone Jul 22 at 8:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.