I am interested in finding the eigenvalues/eigenfunctions of problems such as

$$ \partial_{xx} u = \lambda \partial_{yy} u, $$

which can be solved as the generalised eigenvalue problem

$$ \mathbf{A} \vec{u} = \lambda \mathbf{B} \vec{u}, $$

using the finite difference method. My question is about how to incorporate Neumann conditions into the $\mathbf{A}$ and $\mathbf{B}$ matrices. Examples I have found involved changing the right hand side of the equation in equations such as $ \mathbf{A} \vec{u} = \vec{b} $, i.e. not eigenvalue problems, but this is not possible in this case. I am not necessarily specifically interested in solving the PDE above, I am just looking for a general method.

  • $\begingroup$ You can still use the same method you mention, assuming the Neumann condition is homogeneous. Just let the corresponding row in $\mathbf{B}$ be a zero row. $\endgroup$ – Spencer Bryngelson Jun 20 '17 at 18:28
  • $\begingroup$ Wouldn't that make $\mathbf{B}$ singular, meaning that I can't solve the equation? $\endgroup$ – islanss Jun 20 '17 at 18:52
  • 2
    $\begingroup$ That's ok, in fact this situation is typical. When $\mathbf{B}$ is invertible, the GEVP can simply be written as a standard EVP through inversion. In any other scenario it's useful to have a solver that doesn't invert $\mathbf{B}$. Of course you cannot expect to have a full set of eigenvectors, then. Perhaps see: jstor.org/stable/2156353 $\endgroup$ – Spencer Bryngelson Jun 20 '17 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.