
Home > Courses > 4P10 
Weekly homework

Week 1. Due Th Jan 18

 cover all sections until the "Advanced Unix/Linux" from www.tutorialspoint.com/unix/
 develop a personal "cheat sheet" of useful commands
 choose an editor (vi or gedit) and learn its basics
 optional: use "jupyter notebook" to keep notes in this class; see /work/5P10/Lectures

Week 2. Due Th Jan 25

 cover the "Advanced Unix/Linux" from www.tutorialspoint.com/unix/
 complete a bash script for your choice of a task, involving file operations,
searching for textual information inside files, etc.

Week 3. Due Th Feb 1

 Review and revise the skeleton Makefile distributed in the lacture;
adapt it to the needs of your version of packet.c.
 Modify and extend the functionality of packet.c to accept additional
commandline switches, with and without parameters. Add error checking against
invalid parameter values as needed.
 Read through packet.f and reconcile its code to the derivation
of the solution for the Schrödinger equation developed in class. Convert
the solution to its dimensionless form and verify that the Fortran code actually
calculates the correct Gaussian packet.

Week 4. Due Th Feb 8

 Complete the port of the Fortran program packet.f to C.
Use gnuplot for plotting its output.

Week 5. Due Th Feb 15

 Complete last week's homework: port the Fortran program packet.f to C.
Use gnuplot for plotting its output.
 Student Project No.1:
Code (in C) a numerical solution to the 1D square well potential problem in QM.
Find the roots of the characteristic equation, having
converted it to dimensionless form.
Generate a plot of \(\psi(x)^2\) across the potential well, for each root found.

Week 6. Reading Week. Due Th Mar 1

 Advanced fitting and plotting use: complete gnuplot or physicabased analysis of the Cavendish experiment data.
 Introduction to octave: work through the basic octave tutorial.
 Convert one of previously obtained graphing/fitting exercises (VI.dat, Cavendish.dat) to octave.

Week 7. Inverse theory methods  Student Project No.2, Due Th Mar 8

 Review the concept of SVD decomposition.
 Analyze the skeleton code of regularize(); make sure you understand every line.
 Modify the main code by adding appropriate loops, etc. to reproduce the results
presented for the exponential example, including the Lcurves, on the sample data
provided in /work/5P10/test.dat
 Automate the optimum selection of parameter λ. One possible approach is to seek the
value that corresponds to the shortest distance to the origin on the Lcurve. Be efficient:
vary the step size in λ depending on how strong the dependence on λ is.
 Optionally, use your program to analyze a real experimental data set (in /work/5P10/Inverse/).

