$Version
"13.0.1 for Linux x86 (64-bit) (January 29, 2022)"
I have $28$GB of RAM.
I need to calculate two million consecutive eigenvalues for a given billiard( e.g. circular billiard).
\[ScriptCapitalR] = ImplicitRegion[x^2 + y^2 <= 1, {x, y}];
Region[\[ScriptCapitalR], GridLines -> Automatic,
GridLinesStyle -> Directive[Red, Dashed]]
vals = NDEigenvalues[{-1/2 Laplacian[u[x, y], {x, y}],
DirichletCondition[u[x, y] == 0, True]},
u[x, y], {x, y} \[Element] Region[\[ScriptCapitalR]], 2000000,
Method -> {"PDEDiscretization" -> {"FiniteElement", \
{"MeshOptions" -> {"MaxCellMeasure" -> 0.00001}}},
"Eigensystem" -> {"Arnoldi",
"MaxIterations" -> Infinity}}]; // AbsoluteTiming
The above code works fine but takes an immensely long time and consumes all of my RAM, which either freezes my PC or restarts it involuntarily.
In the above code, by selecting "MaxCellMeasure" I can reduce the time and memory consumption, but then it limits the maximum number of eigenvalues that can be computed for this discretized system.
Is there any other way to speed up the evaluation? Or is there any alternative way to find two million consecutive eigenvalues?
Thank you.

MaxCellMeasureand fewer eigenvalues, then gradually increase them and measure the timing and memory used. Afterwards, extrapolate to the desired number of eigenvalues andMaxCellMeasure. – Domen Mar 14 '24 at 09:38\[ScriptCapitalL] = -Laplacian[u[x, y], {x, y}]; \[ScriptCapitalB] = DirichletCondition[u[x, y] == 0, True];andDEigenvalues[{\[ScriptCapitalL], \[ScriptCapitalB]}, u[x, y], {x, y} \[Element] Disk[], 2 10^6]but it runs forever. – Alex Trounev Mar 14 '24 at 19:28//N, but as I've tested for $50$ eigenvalues,NDEigenvaluestake $0.564904$ seconds whereasDEigenvaluesis taking $61.6252$ seconds with the 50th eigenvalues in both the methods entirely different from one another. Why is it happening? And isn't it supposed to be a faster process? – user444 Mar 14 '24 at 23:52