Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to solve eigenvalue problems with mixed boundary condition?

  1. Jun 25, 2013 #1
    suppose function f is define on the interval [0,1]

    it satisfies the eigenvalue equation f'' + E f=0, and it satisfies the boundary conditions

    f'(0)+ f(0)=0, f(1)=0.

    How to solve this eigenvalue problem numerically?

    the mixed boundary condition at x=0 really makes it difficult
  2. jcsd
  3. Jun 25, 2013 #2


    User Avatar
    Science Advisor
    Homework Helper

    Have you found the general solution? It is f(x) = a sin(kx) + b cos(kx) for a known constant k and constants a and b to be determined.

    The two equations f'(0) + f(0) = 0 and f(1) = 0 will give you two equations in the two unknowns a and b.

    However, I would double check the question if I were you, because as you posted it a = b = 0 is the only solution, leading to f(x) = 0.
  4. Jun 25, 2013 #3


    User Avatar
    Homework Helper

    The point of eigenvalue problems is that E - which determines your k - is unknown; the object is to find those values of E for which non-zero solutions f are possible.

    Here, we have the general solution [itex]A \cos (kx) + B \sin (kx)[/itex], where k is also unknown. Substituting this into the boundary conditions gives two equations for the three unknowns; we have to add the condition that at least one of A and B is non-zero to determine the permissible values of k.
  5. Jun 25, 2013 #4
    actually i am more interested in the numerical solution

    because my eigenvalue equation will be modified in future as

    f'' + V(x) f + E f =0,

    where V(x) is an arbitrary real function.

    so the problem is to device a numerical scheme to do it
  6. Jun 25, 2013 #5


    User Avatar
    Homework Helper

    That looks similar to the one-dimensional time-independent Schrodinger equation; looking at resources for numerical solution of that might be useful.
  7. Jun 28, 2013 #6
    The simplest way is to build a shooting code.

    First lets note that if

    g(x) is an solution of your equation then ag(x) is also a solution.

    This allows us to pick f(0) = 1 which also gives us f'(0) =-1. We will use this for all the following calculations.

    Next treat x as a time coordinate and using standard techniques for advancing in time we advance the ode in x from 0 to 1. You do a range of assumed values for E and note the value f(1) for each E.

    The values of E where f(1) is close to 0 are approximate eigenvalues.

    This is the basic idea. Typically people use root finding algorithms and interpolation to improve accuracy and performance.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook