# Boundary condition not fully taken into account in DEigensystem?

## Context

Mathematica 10.3 now has the very nice DEigensystem function.

{vals, funs} =
DEigensystem[{-Laplacian[u[x, y], {x, y}],
DirichletCondition[u[x, y] == 0, True]},
u[x, y], {x, y} ∈ Disk[], 6];


so that

vals // N


return

(* {5.78319,14.682,14.682,26.3746,26.3746,30.4713} *)


and

Table[Plot3D[funs[[i]] // N // Evaluate, {x, y} ∈ Disk[],
PlotRange -> All, PlotLabel -> vals[[i]],
PlotTheme -> "Minimal"], {i, Length[vals]}]


## Question

It seems it does not take into account properly e.g. an elliptic boundary condition.

{vals, funs} =
DEigensystem[{-Laplacian[u[x, y], {x, y}],
DirichletCondition[u[x, y] == 0, True]},
u[x, y], {x, y} ∈ Disk[{0, 0}, {1, 2}], 6];
vals//N


returns the same eigenvalues as for the round disc

(* {5.78319,14.682,14.682,26.3746,26.3746,30.4713} *)


whereas the result from the numerical function NDEigensystem does not

 {vals, funs} =
NDEigensystem[{-Laplacian[u[x, y], {x, y}],
DirichletCondition[u[x, y] == 0, True]},
u[x, y], {x, y} ∈ Disk[{0, 0}, {1, 2}], 6];
vals//N

(* {3.56676,6.27564,10.0292,11.7382,14.88,15.9277} *)


Indeed the eigenfunctions have an elliptic support:

 Table[Plot3D[funs[[i]], {x, y} ∈ Disk[{0, 0}, {1, 2}],
PlotRange -> All, PlotLabel -> vals[[i]], PlotTheme -> "Minimal",
BoxRatios -> Automatic], {i, Length[vals]}]


It seems to me to be a bug in DEigensystem?

Note that the NEigensystem function is pretty cool: it can deal with implicit boundaries:

ω = ImplicitRegion[x^6 + y^4 <= 1, {x, y}];
{vals, funs} =
NDEigensystem[{-Laplacian[u[x, y], {x, y}],
DirichletCondition[u[x, y] == 0, True]},
u[x, y], {x, y} ∈ ω, 6];

Table[Plot3D[funs[[i]], {x, y} ∈ ω, PlotRange -> All,
PlotLabel -> vals[[i]], PlotTheme -> "Minimal",
BoxRatios -> Automatic], {i, Length[vals]}]