PHYD57 References. PHYD57 Advanced Comp Methods in Physics

NOTICE - links do not work on this page. Ask fellow students, then the lecturer why (in that order!).


First of all, if you are interested in introductory numerical methods (PSCB57) please see here this course page available for a limited time only.

Next, page through this book paying attention mainly to the discussion of Python vs C vs Fortran, and any other topics new to you. You should know much of the rest - basic numerical methods, that is:
Shoerghofer - Lessons in Scientific Computing

For those interested:
Ceruzzi - History of Modern Computing

New textbook on Python3:
Linge - Programming for Computations (Python 3)

We've used this to learn numerical methods in introductory course PSCB57:
Turner - Applied Sci Computing w/Python

Read chapter 2 on Fortran. Also chapter 3 on Python if you forgot it (we also used it in PSCB57 in 2019).
Izaac - Computational QM

Linux (CentOS)

Links to online materials are on our course page.

You are encouraged to install Centos OS on your computer but not required to. On art-2 there is an account for you, and you were shown a password to it, if you forgot please ask in person. This system has Centos6 OS available for your exercises. To be able to do anything there, you need to learn basic Linux, and if you're connecting from a Windows system, install an SSH (secure shell) client program PuTTY or similar, on the Windows machine. ssh is the way to connect securely and work on a remote linux server, while sftp is a similar cleant that connects for the purpose of transfering files between two machines on internet.

Try this one, it will help you with setting up your own server, or just use it (Chapter 3 Getting Started with CentOS p.45),
Membrey - Definitive Guide to Centos-2009.pdf.

Brief summary of the most important unix/linux commands
Gedris - Intro Linux_Command_Shell for Beginners Frankly, web resouces are as good as books for mastering software, though it's harder to find the right pages. The Linux Information Project at is a good entry point to some.

And this one (the first 5 chapters)
Matthew - Beginning Linux Programming

Or maybe this one. Yes, this one's good and up to date.
Sobell - Practical Guide to Linux Commands

In the above books, please skip those sections which deal with: emacs, sed, perl, awk, any SQL databases, semaphores, pipes, sockets, posix...).
You do want to know how to use, without trying to know ALL capabilities of, the following: bash and/or tcsh shells, vim, nano, and one other, window-style cursor-driven editor, as well as ssh and sftp.


Enjoy learning this language and please remember that writing anything in CAPS in the text of a program is outmoded (at least in the last 25 years :-) so write everything in the style of Python, but be aware that variable Var_One and var_one, as well as Var_one, are one and the same in Fortran.

Here is a good book, though it may have too much detail:
Chivers - Intro to Prog w Fortran 2018

Also this one is good:
Chapman - Fortran for Scientists and Engineers

A must-read for GPU programming in Fortran, virtually the only one:
Fatica - CUDA Fortran for Scient and Engin

Maybe you prefer this book for learning Fortran?
Brainerd - Guide to Fortran_2008 Programing


The original book by creators of C language - it's a little anachronistic but the pieces of code are worth looking at:
Kernighan & Ritchie - Ansi_C_Programming

Not bad:
Deitel - C. How to Program. Intro to C++

Kochan -Programming in C. A Complete Introduction