Final Exam

Goal: Comprehensive exam to touch on a few of the fun things we've covered this semester.

Procedural notes: submit as for homework, "submit final file1 file2 ...". For this exam, work on your own. You may use the resources of the internet or any notes, but your submitted work must be your own. Cite whatever sources you use to put together your answers, as appropriate.

Complete all problems for full credit.

If helpful, feel free to start with the example codes in ~bromley/courses/ap7730/examples.


Problem 1.

[corrected formula 4/26, 8pm]
On illumination by UV light, a quantum dot radiates in an optical emission line with intensity given by a Lorentz profile,
  phi = C*gam/(2*pi)/[(omega-omega0)^2+(gam/2)^2]   ***corrected***
where omega is the angular frequency, omega0 is the angular frequency of the line centroid, gam ("gamma") is a parameter that gives the line width, and C is a constant. The parameter gamma=1/tlife, where tlife is the lifetime of the electronic state electronic state that is excited by the incident UV light and whose decay is responsible for the optical emission.

In the class data dir (/u/inscc/bromley/courses/ap7730/data), there is a file qdotline.dat with three columns:

  x = (omega - omega_ref)  in units of 10^9 rad/s,
  y = line intensity (arbitrary units)
  s = 1-sigma error in y
Note that omega_ref is some reference angular frequency very near the line centroid. By fitting a Lorentzian profile to these data, estimate the lifetime of the excited electron state. Have your code, qdotline.py, print out your best estimate of the lifetime and the 95% XXX change to 90% in next iteration!!! xxxx confidence range [tlife_low,tlife_hi].

Problem 2.

Upon exposure to a delta-function pulse of UV radiation, a set of quantum dots (similar [but not identical!] to the one in Exercise 1) emits an optical light with an exponential waveform,
      Psi(t) = exp(-t/tau) (t>0), 0 (otherwise); tau=0.5 ns
      
At a photodetector, this light is converted into a current I_p(t) that is proportional to Psi(t). However, because of the limitations of this hypothetical experiment, the detector can only determine if the photocurrent I(t) is above a certain threshold or not. That is, it measures a value
        c(t) = 1 if  I(t) > I_thresh, 0 otherwise 
where I_thresh is 25 times the maximum value of I_p(t). In this situation, with I(t)=I_p(t), the current never exceeds the threshold, and c=0 always. To make a measurement of I_p(t) given this contraint, one can add normal random noise N(t) [e.g., thermal noise in the detector circuit] with mean of zero and standard deviation comparable to I_thresh. This process allows the photocurrent to impact the measured values of c, since now I(t)=N(t)+I_p(t) can exceed I_thresh, if only sometimes.

For this exercise, in a code noisespec.py, simulate the detection of the photocurrent with random noise. Assume that 100 measurements of c are taken over a time interval t=[-0.25,+1] ns, and that at t=0 ns the UV pulse hits the nanodots, initiating the exponentially decaying signal. Repeat these measurements for N trials, summing up the c values in each time bin. If N is very small, the binned c values will look like random junk. If N is big, a pattern of Psi(t) will emerge in the binned c-values that is statistically different from the binned noise-only trials. Choose N such that it is roughly close to the smallest value that allows you to report a detection of the exponential signal (compared to no signal) at better than 99% confidence.

Comments: It helped me to plot what was going on....I am grateful to Prof. Christoph Boehme for letting me know of this technique. While this problem is not scientifically realistic as I have posed it (thanks to Prof. Andrey Rogachev for discussing this issue), the technique itself has been of great utility in laboratory experiments where many repeated trials (high N) are possible.

Problem 3.

A final problem: Inspired by predator-prey scenarios, the Lotka-Volterra equation is
  dx/dt =  a*x-b*x*y
  dy/dt = -c*y+d*x*y
where x represents a "prey" population and y is a "predator" population, and a,b,c,d are constants:
  a = growth rate of prey, absent any predators.
  b = loss rate of prey as a result of predation.
  c = natural loss rate of prey
  d = rate of growth of predators, accounting for presence of prey
Here, a = 1.0; b = 0.5; c = 0.6; and d = 0.2 (arbitrary units). In a code predprey.py, solve the Lotka-Volterra equation numerically for this choice of parameters plus adjustable starting conditions (x=x0,y=y0 at t=0) over some period of time (e.g., 50-100 time units). Specifically, note that an equilibrium exists (no change in x or y in time) for a prey population of x_eq=3 (in arbitrary units). Find the corresponding predator population (y_eq), demonstrating numerically that equilibrium is established. I recommend a plot--either x,y versus t or x versus y--with several choices of x0,y0 at and near equilibrium. Submit a plot predprey.png along with your code.

Enjoy this one--it is a rich and venerable problem!