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 acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.