Home | Lectures Page | Syllabus | | Students page

Physics 6730
Computational Physics
Evolving Provisional Agenda

  Spring Semester 2007
Week 1, Week 2, Week 3, Week 4,
Week 5, Week 6, Week 7, Week 8,
Week 9, Week 10, Week 11, Week 12,
Week 13, Week 14, Week  15 , Week 16


Week 01
1) Monday January 8th
Introduction to the class
      [0] C/C++ programming review (compiling, Makefiles, command-line arguments, loops, tests, functions, pointers, structures, classes,...)
      A Beginners C++ tutorial by Neil Gray
      LAB01: Hangman ( hangman.cpp, Makefile, animals.hm)
2) Wednesday January 10th
      C/C++ programming review continued
      HW01: Prime numbers, due January 22th

Week 02
3) Wednesday January 17th
      C/C++ programming review continued
      LAB01: Complete and submit. A possible solution can be found here
      HW02: Improved hangman, due January 24th

Week 03
4) Monday January 22nd
      C/C++ programming review continued
      LAB02: Pointers ( pointers.cpp, Makefile)
5) Wednesday January 24th
      C/C++ programming review continued
      LAB03: C++ Classes (classe.cpp and Makefile)
      Introduction to ROOT ( ROOT webpage)
      LAB04: ghangman.cpp, Makefile, library path setup instructions.
      HW03: Mandelbrot set, due February 5th

Week 04
6) Monday January 29th
      Class canceled as a result of disk space problem
7) Wednesday January 31th
      LAB04:Continued
      [1] Numerical searches for the roots of a function (NR C++ 9, Notes )
      Fixed point method
      LAB05: When simple things go complicated ( bifurcation.cpp, Makefile)

Week 05
8) Monday February 5th
      Bisection
      LAB06: Implementing bisection ( bisection.cpp, Makefile)
      False position (LAB07 on paper)
      Newton-Raphson method (LAB07 continued)
      Digression on the numerical approximation of derivatives
      What do you mean "fast"?
      Sytem of non-linear equations (LAB07 continued)
      HW04: Implementations of False position and Newton-Raphson, due February 12th
9) Wednesday February 7th
      [2] Interpolation and extrapolations (NR C++ 3 & 5, Notes )
      Lagrange polynomials
      LAB08: Interpolations ( interpol.cpp, interpol.a library, Makefile and interpol.data sample data

Week 06
10) Monday February 12th
      Cubic spline interpolation
      Rational interpolation
11) Wednesday February 14th
      Chebishev polynomials and economization
      LAB09 on paper, result is here
      Pade approximation
      HW05: Pade approximation, due February 26th (pade.cpp, pade.a and Makefile)
      [3] Numerical integration (NR C++ 4, Notes )
     Trapezoid rule
     Lab10: nrtrapsimp.cpp, nrnumintegr.a and Makefile.
     Higher order Lagrange interpolation
     Richardson extrapolation
     Romberg's integration
      LAB10 continued: From Trapezoidal to Simson for free!

Week 07
12) Wednesday February 21th
     Gauss quadrature
      LAB11: Gauss quadrature: gauleg.cpp, nrnumintegr.a and Makefile.
      Multidimentional integrals
      HW06: Two-dimensional integral: integ2dim.cpp and Makefile. due Monday March 12th.

Week 08
13) Monday February 26th
[4] Random numbers, Monte-Carlo integration and simulations (NR C++ 7, Notes )
     Buffon's needle
     Uniform deviate: congruantial generators
     LAB12: count.cpp, Makefile
     LAB12 continued: uniformdev.cpp
     LAB13: Buffon's needle simulated: buffon.cpp, Makefile
14) Wednesday February 28th
     Tranformation method
     LAB14: transform.cpp, Makefile
     Rejection method
     LAB14 continued
     HW07 Cherekov spectrum due Monday March 26th

Week 09
15) Monday March 5th
     Monte-Carlo integration
     Digretion on linked-list
     LAB15: carbridge.cpp, Makefile
16) Wednesday March 7th
      [5] Optimizations (NR C++ 10, Notes )
      How accurately can minima be located?
      The golden section search
      LAB16: goldmine.cpp, Makefile
     HW08 Optimization Homework due Monday April 2nd.

Week 10
17) Monday March 12th
      Downhill simplex method
      LAB17: amoeba.cpp, Makefile
      Direction set
      Conjugate direction set
      Powel's conjugate set method
      LAB18: Root script: cds.cpp. In an interactive cession do ".x cds.cpp" to run.
      Using the function gradient
      Steepest descent method: not the best
      Conjugate gradient method
18) Wednesday March 14th
      MID-TERM (Solutions)

Week 11
19) Monday March 26th
      Linear programing
      LAB19 on paper
20) Wednesday March 28th
      Simulated annealing
      LAB20: What are my neighbors doing? ( whoswho.cpp, Makefile)

Week 12
21) Monday April 2nd
      [6] Fourier and wavelet transforms (NR C++ 12 & 13, Notes )
      Analytical Fourier transform
      Sampling theorem and aliasing
      LAB21: aliasing.cpp, Makefile)
      Discrete Fourier Transform
      Fast Fourier Transform
      LAB22: filtering.cpp, fourier.a, Makefile)
      Fourier transforms in more than one dimension
      HW09: Newtonian telescope image Newtonian telescope image, Makefile, fourier.a, example.cpp.
22) Wednesday April 4th
      Convolution and deconvolution
      LAB23: convolution.cpp, fourier.a, Makefile)
      Wavelet transforms in the Haar basis
      Daubechies wavelets
      LAB24: What do they look like? (daubechieshow.cpp, daubechies.a, Makefile)
      LAB24 Continued: truncation (truncatewl.cpp)

Week 13
23) Monday April 9th
      [7] Differential equations Notes )
      Euler's method
      LAB25: pendulum.cpp, Makefile
      LAB26: string.cpp, Makefile
24) Wednesday April 11th
      Higher order Taylor's methods
      Modified Euler
      LAB25 continued
      Midpoint method
      LAB25 continued
      Leap frog method (not covered in the notes)
      LAB27: stars.cpp, Makefile
      Runge-Kutta's methods
      LAB28: double pendulum, doublependulum.cpp, rk4.a, Makefile
      Adaptive step size control

Week 14
25) Monday April 16th
      Adams methods
      Stability and stiffness
      LAB29: stiff.cpp, Makefile
      Shooting method for two points boundary
      LAB30: shoot.cpp, shoot.a, Makefile
      Relaxation or finite difference methods
      LAB31: chainette.cpp, relax.a, Makefile
26) Wednesday April 18th

Week 15
27) Monday April 23th
      Rayleigh-Ritz methods
      [8] Neural networks Notes )
28) Wednesday April 25th
      FINAL