Mathematica stuff

For this assignment, simply submit a mathematica notebook of parts 1, 2, and 3. You are encouraged to explore and exploit the full functionality of mathematica for formatting and graphing as well as calculation.

The first part is pretty straight forward, and you are asked to submit the mathematica notebook you've done stuff in. You're encouraged to clean it up well enough. Some people use Mathematica as a WYSIWYG editor for LaTeX, as it can output as LaTeX compilable code. In my experience, not very well, but complete mathematical formatting is available. Alt+[num] will give you different types of headings which naturally subdivide the sections of your code and help with organisation.

Technically, getting the best results out of mathematica requires an understanding of how it works. For quick operation, use floating point arithmetic (0!=0.0) and efficient algorithms. Inline help is available by ? Function + [execute], with ”»” links to more information from the appallingly well documented help centre. Mathematica also has terrific plotting capabilities that you are fully encouraged to exploit to the utmost degree.

Old stuff for a missing problem set?

Reading for homework 20.5, return of the ODEs

Like 20.3 and 20.4, this homework runs over two weeks also. It is not due until November 8.

Read Ch.16 of Numerical Recipes in C. The Runge-Kutta method is explored in 16.1. If you have time, you can read about adaptive stepsize control in 16.2. For your own interest, you can read about the Bulirsch–Stoer method and the multistep method in 16.4 and 16.7.

General interest stuff of practical use or otherwise

Nearly all continuous ODE or PDE solvers use linear algebra operations. In python, these are generally called through numpy or scipy, though these in turn use implementations drawn (usually) from LAPACK. This is big boy code. A guide on the naming scheme for LAPACK routines (originally in accordance with the F77 standard) can be found here, and should give you some idea of the range of things that can be done given infinite patience and bug-finding.

A good example of the sort of algorithm implemented in LAPACK is GMRES, used for solving matrix equations with great efficiency and accuracy. This and other algorithms are explored in detail in the course ACM 210, which is recommended to students who want to solve problems and not do quantum physics for the rest of their lives! Although Ph20 is not directly concerned with GMRES, reading the wiki summary of how the routine works will provide an excellent way to get 'inside' the workings of these algorithms, and help in the long run with designing better code.

 
20.5.txt · Last modified: 2012/11/14 13:29 by chandmer
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki