I was trying `DEigensystem`

with the following code:

```
DEigensystem({-u''(x) + x u'(x), DirichletCondition(u(x) == 0, True)},u(x), {x, 0, 1}, 2)
```

And after a period of time of calculation, it returns the following results:

It surprised me that the first eigen value is a complex `Root`

expression while the second one is a simple integer 10, however after a while I realized that the second solution was actually zero:

So 10 should not be the eigen value of this operator. The plot of the following code shows that every even integer is the solution of `u(1)==0`

with boundary condition `u(0)==0`

```
Plot(Log@RealAbs(DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0}, u(x), x) /. {C(_) :> 1, x :> 1} // Evaluate), {(Lambda), 0, 15})
```

However, when `(Lambda)`

equals to even numbers, the general solution is actually zero, and the special solution is not zero at point `x==1`

:

```
Limit(DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0}, u(x), x) /. {C(_) :> 1}, (Lambda) -> 10) // Simplify
(*0*)
DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0} /. (Lambda) -> 10, u(x), ) /. {C(_) :> 1} // Simplify
(*(-2 E^(x^2/2) x (2895 - 2640 x^2 + 588 x^4 - 44 x^6 + x^8) +
Sqrt(2 (Pi)) (-945 + 4725 x^2 - 3150 x^4 + 630 x^6 - 45 x^8 + x^10) Erfi(x/Sqrt(2)))/7257600*)
% /. x -> 1
(*(-1600 Sqrt(E) + 1216 Sqrt(2 (Pi)) Erfi(1/Sqrt(2)))/7257600*)
```

So my question is: How to get the right `DEigensystem`

result of the operator above automatically? By the way, all of the codes give the same result in version 12.1, 12.2 and 12.3.