# Recover non-normalized solutions from NDEigensystem

Are there certain commands, or some mathematical trick I can use to recover the non-normalized solutions from NDEigensystem?

My equation of interest is of the form

$$u''(x)+f(x)u(x)=\lambda u(x)$$

I need the non-normalized functions and I'm not sure how to find them. I can't just insert $$au(x)$$ into my equation since the normalization constant would divide out.

Would my best option be to solve this equation again in NDSolve and explicitly insert the eigenvalue?

• You can multiply a normalized eigenfunction by any arbitrary constant to obtain a non-normalized eigenfunction. In other words, non-normalized eigenfunctions are not uniquely defined. – bbgodfrey Sep 21 '18 at 2:52

Yes, you can. You are looking for the option "VectorNormalization". Here is an example from the documentation:

{vals, funs} =
NDEigensystem[-Laplacian[u[x], {x}], u[x], {x, 0, \[Pi]}, 4,
Method -> {"VectorNormalization" -> None}];

NIntegrate[#^2, {x, 0, \[Pi]}] & /@ funs
{0.07662421106316575, 0.07479974990831867, 0.07479782758346251, \
0.0747915351146286}


The default is to normalize with respect to the system matrices:

{vals, funs} =
NDEigensystem[-Laplacian[u[x], {x}], u, {x, 0, \[Pi]}, 4,
Method -> {"VectorNormalization" ->
Function[{values, vectors, stiffness, damping},
s = stiffness; d = damping;
norm =
vectors/Diagonal[
vectors.damping.ConjugateTranspose[vectors]]^(1/2)]}];


The functions are constructed by interpolating the eigenvectors:

Max[Abs[#["ValuesOnGrid"] & /@ funs - norm]]
0.
`