Prerequisites for SIO 221 B
SIO 221B is the second quarter of the physical oceanography data analysis
sequence. You do not need to be a physical oceanographer to enroll
in the course, but you should have some mathematical background. If
you can't answer the questions indicated with bullets, then you probably
will need to plan on spending time reviewing this material before the start
of SIO 221B.
Prerequisite 1: SIO 221A or previous experience with Fourier Transforms
- What is a Fourier transform?
- What is the relationship between a time series x and its transform?
- If x has N elements, how many Fourier modes can be defined?
Resources for Fourier transforms:
Bendat and Piersol,
Bracewell,
Matlab manual,
Numerical Recipes,
any complex variables textbook.
Prerequisite 2: Differential, Integral, Vector Calculus
- How do you integrate by parts?
- How do you define a Taylor series? What is the Taylor series expansion
of cos(x) for small x?
- How do you use a table of integrals such as Gradshteyn and Ryzhik?
Resources for calculus:
undergraduate calculus textbooks.
Prerequisite 3: Linear Algebra
- What is a matrix? What is a vector?
- For the matrix A, what is A-1? When
can A-1 be defined?
- What is the matrix I? How is it related to A and
A-1?
- If A is a 4x3 matrix, and b is a 3 element vector, how
big is Ab?
- If A is an NxN matrix, how many vectors are required to span
the space defined by A?
If you have not had an undergraduate level course in linear algebra, then
you may find SIO 221B difficult. You are permitted to enroll,
provided that you are prepared to devote time (equivalent to taking
another course) to mastering the fundamentals of linear algebra.
Resources for linear algebra:
Strang, Linear Algebra and Its Applications, Academic Press, or any other textbook
links and exercises in Gilbert Strang's web site for his undergraduate linear algebra class:
http://web.mit.edu/18.06/www/
Matlab manual,
Linpack/Lapack manual,
tutorial websites (see for example http://www.math.duke.edu/education/ccp/materials/linalg/index.html)
some textbooks with Matlab exercises (suggested by the Mathworks)
-- ATLAST Computer Exercises for Linear Algebra
http://www.mathworks.com/support/books/book1347.jsp
-- Linear Algebra LABS with MATLAB, 2e
http://www.mathworks.com/support/books/book1341.jsp
-- The MATLAB Project Book for Linear Algebra
http://www.mathworks.com/support/books/book1352.jsp
Prerequisite 4: Programming
- How do you read a data file?
- How do you create a line plot?
- How do you define a matrix or a vector?
- How do you iterate through all the elements of a vector or a matrix?
- How do you invert a matrix?
Matlab and python are the software packages that students most often use for this course,
but you are free to choose any software package or combination of packages
that you like, provided that you can carry out computations, invert matrices,
and plot results.
Some other computational options:
- Octave: a freeware imitator of Matlab, uses almost the same
commands. (http://www.octave.org/)
- Scilab: another freeware imitator of Matlab (http://www-rocq.inria.fr/scilab/)
- Fortran, c, or c++: compiled languages.
Run faster than Matlab for some applications,
- Julia: Offers some of the efficiencies of a compiled language with the structure of python.
- Lapack/linpack: Fortran-based matrix inversion packages. (http://www.netlib.org/lapack/)
- csh, awk, perl: Non-compiled scripting languages. Sometimes
very efficient for transforming columns of numbers. (Not good for matrix
inversion.)
- GMT: Generic Mapping Tool. Free unix command-line
software developed for geophysical graphics. (http://gmt.soest.hawaii.edu/)
Matlab is available through UCSD's site license.
If you aren't comfortable with Matlab or Python (or the software package of your choice)
work through its tutorials before the end of the first week of class.
You'll need some experience to tackle the first problem sets.
Sarah Gille, December 2002, updated January 2023.
Back to SIOC 221B
web site.