MATH 301
Numerical Analysis Lab
Announcements
  • If you want to access the Bard Sage Server from off campus, you need to create an SSH Tunnel to my machine. If you are running Mac OS X, download the application Fugu. In its "SSH" menu, choose the "Create SSH Tunnel" item. It will present you with a dialog box, where you specify:
    • Create Tunnel to: greg.bard.edu
    • Service or Port: 8000
    • Local Port: 8001
    • Tunnel Host: turing.bard.edu
    • Username: your-username
    When you start the tunnel, it will ask you for your turing.bard.edu password, which is the same password you use to log in to the machines in the RKC 100 computer lab. With the tunnel active, point your web browser (preferably Firefox) to https://localhost:8001/, and you will automatically be redirected through Bard firewall to my SAGE server.
  • Be sure to quit Mathematica and log out of the lab machines when you are finished.
Coordinates RKC 100, M 4:30-5:50 PM, CRN 18148
Professor Greg Landweber
Office Hours RKC 100, M 5:50-6:30 PM
Albee 304, TTh 1:00-2:20 PM
or by appointment
No Class There will be no class on Mondays, March 31 or May 19.
Content This lab is an introduction to mathematical computation. It will start with tutorials on the two software packages that we will be using: Mathematica and its new open source alternative, SAGE. The course will then discuss algorithms for finding the zeros of non-linear functions, solving linear systems quickly, and approximating eigenvalues. The bulk of the course will be devoted to curve fitting by means of polynomial interpolation, splines, bezier curves, and least squares.

Each class will consist of about a half hour of lecture, followed by about an hour of computer lab work, occasionally interspersed with group discussion. I will stay after class most weeks for about a half hour to continue working with anyone who wants to stay late. All work, except the independent projects, will be completed in class, unless you do not finish in class or want to continue on at home.

Corequisite Math 242 and any Computer Science course or basic programming experience, or permission of the instructor.
Software This class will use the computational software packages Mathematica and SAGE. Both are available on all of the machines in the RKC 100 and Albee 100 labs. You can purchase Mathematica for home use at a student discount, although I do not recommend it unless you really like Mathematica and want to use it for other classes or your own research as well. The bulk of our work will be in SAGE, which is available as a free download from sagemath.org. You can also use SAGE via your web browser (Firefox or Safari preferred) at:
Textbook There is no official textbook for this class, but I will supplement my lectures with notes and Mathematica notebooks available below. For further information about the mathematical software package SAGE and its programming language Python, see:
Labs Each week, we will complete a computer lab assignment in class. If you cannot attend class, you must obtain the materials and complete the lab on your own.
Project Each student, or pair of students, must do an independent project involving numerical or symbolic computation. You may use Mathematica, Sage, or any other programming language with which you are familiar. Your code must be thoroughly commented, and you must provide documentation completely explaining the mathematics you use.

Timeline (you must meet all of the following deadlines to obtain full credit):

  • Friday, March 28. Your project topic must be approved by Professor Landweber.
  • Friday, April 18. Project outline due.
  • Mondays, April 21, 28, May 5, 12. In class presentations.
  • Friday, May 9. Rough draft due.
  • Thursday, May 15. Final draft due.
Grading 50% Labs (10 @ 5% each)
50% Project
Schedule
Date Lab Handouts
February 4Mathematica & Sage Tutorial Chapter 1
Introduction to Mathematica.
February 11Taylor Series Chapter 2
Taylor Series Mathematica notebook.
February 18Root Approximation Chapter 3
Root Approximation Mathematica notebook.
February 25Matrix Algorithms Chapter 4
The Online Row Reducer
The Linear Algebrator
Matrix Factorizations Mathematica notebook.
March 3Linear Systems Chapter 5
March 10Eigenvectors & Eigenvalues Chapter 6
March 17Polynomial Interpolation Chapter 7
March 24Splines Chapter 8
April 7Cubic Splines and Bezier Curves Chapter 9
Bezier Curve Mathematica notebook.
Bill Casselman's Bezier Curve web site.
Cubic Spline Curve web page.
April 14Least Squares Chapter 10
April 21Projects
April 28Projects
May 5Projects
May 12Projects
May 19No class