780.20: 1094 Session 16
Handouts: printout of deltashell_boundstates.cpp
In this session, we'll consider the bound-state
Schrodinger equation in momentum
space, which takes the form of an integral equation.
Your goals for this session:
- Finish any interesting (to you!) parts of Session 15.
- Fill out the SET course evaluation.
- Look at an example of solving an integral equation,
which is a momentum-space bound-state problem.
SET's: Course Evaluations
Thank you in advance for your comments,
which are invaluable in planning future versions
of this computational physics course.
Some things I'd appreciate comments on:
- Please comment on the pace: too fast, too slow, not enough
- Do the background notes work? (Do you need them further
- Any topics you would omit? Any ones you would spend more time on?
Any topics not covered you think should be covered?
- Do you think I should choose a text to go along with the course,
even if we don't follow it closely? (Suggestions?)
- Would it be better to spend more time on C++
programming (e.g., C++ classes)? If so, what would you cut to make
time for this?
- If you had a choice between computational physics courses taught
entirely with Mathematica, entirely with C++, or entirely with Matlab,
which would you choose? Or do you think a mix is more useful?
- As always, suggestions for improvements to any aspect of the
course would be appreciated.
Bound States in Momentum Space: Delta-Shell Potential
As discussed in the background notes, the bound-state Schrodinger
equation in momentum space can be solved as a matrix eigenvalue problem.
We set it up so that the matrix is symmetric and we can use
the GSL routines we've used before.
We'll also dynamically allocate some arrays
using "new" and "delete".
The delta-shell potential is a convenient choice for a test potential
because we can find the eigenvalues analytically and it takes a
simple form in momentum space.
It has only one bound state; if we only print out the negative-energy (E<0)
eigenvalues then we should find just one.
See the background notes for additional details.
[Warning: It is not a well-behaved potential in momentum space, so
you will be challenged to find good solutions.]
- What are the units of lambda in the delta-shell potential?
[Note: hbar=1 here.]
- For mu=0.5, b=2.0, and lambda=-1.0, use Mathematica
to find the correct eigenvalue
for the (single) bound state in the delta-shell potential by
using the appropriate equation in the background notes. [Hint: FindRoot]
What is the answer?
- Look at deltashell_boundstates.cpp.
Note how the non-gsl arrays
are dynamically allocated and removed using "new" and "delete".
If we had an int called size and wanted to create an
array called my_array with dimension size, what
command would we give?
- Make a deltashell_boundstates project
and include deltashell_boundstates.cpp.
Compile and run with lambda=-1.0 but specify on your own
the number of gauss points to use and the upper bound for the
integrations of momentum. The latter may be much larger than you
would guess because the delta-shell potential is actually rather
poorly behaved in momentum space!
Based on how the potential falls off with k, what do you think is a
reasonable momentum cutoff? (What should you do to discover how the
potential falls off?)
- Run the code
with different numbers of gauss points and different momentum
cutoffs to try to improve the predicted eigenvalue.
Estimate the precision of your best value for the bound-state
How could you improve the numerical accuracy of the calculation?
(For example, would it help to change "job" when calling "gauss"? [Hint,
- What does the momentum-space wave-function look like (it is
printed out to a file)?
- Does it fall off at large k? Does it oscillate? Is it well behaved
at the origin? Can you account for its characteristics by some simple
- The analytic wave function in coordinate space is given in
the background notes. Try to calculate the momentum
space wave function from this (as discussed in the notes)
- Is the momentum wave function normalized? What is the
- Bonus: Verify that, regardless of the potential's strength, there
is only a single bound state.
- Bonus: Modify the code to calculate the l=1 bound state.
780.20: 1094 Session 16.
Last modified: 09:43 pm, May 26, 2008.