0

NDEigensystem can be used to find the eigenvalues and eigenfunctions of the following system $H=-\frac{1}{2}\Delta-\frac{1}{r}$.

ClearAll["Global`*"]
rmax = 20;
HH = -(1/2)*Laplacian[u[r], {r, \[Theta], \[Phi]}, "Spherical"] - 
   1/r*u[r];

{vals, funs} = NDEigensystem[{HH + u[r]}, u[r], {r, 0, rmax}, 50, Method -> {"SpatialDiscretization" -> {"FiniteElement",
{"MeshOptions" -> {"MaxCellMeasure" -> 0.015}}}, "Eigensystem" -> {"Arnoldi", "MaxIterations" -> 10000}}]; Sort[vals] - 1 ({-0.5, -0.125018, -0.0616851, -0.0225138, 0.0582443, 0.168841,
0.306885, 0.471408, 0.661866, 0.877922, 1.11936, 1.38602, 1.6778,
1.99462, 2.33642, 2.70316, 3.09479, 3.51129, 3.95264, 4.41881,
4.9098, 5.42558, 5.96614, 6.53148, 7.12159, 7.73645, 8.37606,
9.04042, 9.72952, 10.4434, 11.1819, 11.9452, 12.7332, 13.546,
14.3834, 15.2456, 16.1325, 17.0441, 17.9804, 18.9414, 19.9271,
20.9375, 21.9727, 23.0325, 24.117, 25.2263, 26.3602, 27.5188,
28.7021, 29.9101}
) funs[[1 ;; 5]]

Is it possible to get eigenfunctions and eigenvalues using NDSolveValue or ParametricNDSolveValue? How can this be implemented? \

-(1/2)*Laplacian[u[r], {r, \[Theta], \[Phi]}, "Spherical"] - 
  1/r*u[r] == EE*u[r]

Do I understand correctly that eigenvalue EE is a parameter in this case? What two conditions should be written for a function u[r]?

ClearAll["Global`*"]

rmax = 20;

ParametricNDSolveValue[{-(1/2)* Laplacian[u[r], {r, [Theta], [Phi]}, "Spherical"] - 1/ru[r] == EEu[r], u[0] == 1}, u, {r, 0, rmax}, {EE}]

Mam Mam
  • 1,843
  • 2
  • 9
  • 2
    Is it possible to get eigenfunctions and eigenvalues using NDSolveValue No. If it was possible, then there would not be need for NDEigensystem. Let look at ode first. The problem is $y''(x) = -\lambda y(x)$ with some boundary conditions, for example $y(0)=0,y(L)=0$. Other combinations of BC are possible. The $\lambda$ are the values that permit solutions given these BC. each corresponding solution is called eigenfunction. Same goes for Laplacian. $\Delta u = -\lambda u$ but the difference is we are in 2D now and BC are on the whole boundary. To obtain the $\lambda$ in this case.... – Nasser Jun 30 '23 at 11:10
  • 1
    ... the standard way is to use separation of variables and obtain the spatial ode and apply the BC now on this ode and find the $\lambda$ and corresponding eigenfunctions (which are solutions now to the spatial odes). To do all this, special code is needed. That is why NDSovle or DSolve do not do this. – Nasser Jun 30 '23 at 11:13
  • 1
    See how NDEigensystem is implemented here – user21 Jun 30 '23 at 12:00
  • @Nasser, thanks for the explanation! – Mam Mam Jun 30 '23 at 12:58
  • @user21, thanks for the link! – Mam Mam Jun 30 '23 at 12:58

0 Answers0