TEACHING
COURSES
 Math 561  Scientific Computing, I  Fall 2015
 Math 690  Topics in statistical learning theory
 Math 790  Topics in Probability  topics in statistical learning theory
 Math 465  Introduction to HighDimensional Data Analysis  Fall 2014
 Math 561  Scientific Computing, I  Fall 2014
 Math 431  Advanced Calculus, I  Spring 2014
 Math 790  Topics in Statistical Learning, High Dimensional Geometry and Random Matrices
 Math 561  Scientific Computing I  Fall 2012
 Math 465  Introduction to High Dimensional Data Analysis  Fall 2012
 Math 224  Scientific Computing  Fall 2011
 Math 288  Topics in Probability: Geometry, Functions and Learning in High Dimensions  Fall 2011
 Math 139  Real Analysis  Fall 2010
 Math 338  Topics in Graph Theory, Random Matrices, and Applications  Spring 2010
 Math 348  Applied Harmonic and Multiscale Analysis  Fall 2009
 Math 224  Scientific Computing  Fall 2009  will be taught by J. Liu.
 Math 225  Scientific Computing II  Spring 2009
 Math 133  Introduction to Partial Differential Equations  Spring 2009
 Math 378  Introduction to spectral graph theory and applications  Spring 2008
 Math 224  Scientific Computing  Fall 2007
 Math 348  Harmonic Analysis and Applications  Spring 2007
 Teaching related links (mostly for my own use)
Math 561  Scientific Computing, I  Fall 2015
Office hours: Mondays at 2:45 in Gross Hall 318 The first part of the course will cover basic numerical linear algebra, in particular matrix factorizations, solution of linear systems and eigenproblems. The suggested textbook is Trefethen and Bau's Numerical Linear Algebra. The textbook by Heath, Scientific Computing, may be a useful references for exercises, of which it contains many. The second part of the course will cover basic nonlinear optimization (gradient descent, Newton's method, stochastic gradient descent), and basic notions in linear programming. The third part of the course will cover the basics of Montecarlo algorithms. A short syllabus is available here, and an extended one is here.One midterm exam. Final exam will include a takehome portion (algorithms, coding) and an inclass portion. Homework: weekly homework. Homework:
Useful links:Sample code I used in the first class to produce some examples John Trangenstein's home page contains a link to his online book on Scientific Computing, as well as several useful links to programming guides for Fortrain, C, C++ and Lapack on his page for Math 225. William Allard's home page also contains useful material, such as notes and links to online guides and materials. Fortran tutorial: here and here. Matlab tutorial: from Mathworks here, from the University of Florida here. Many more are available online, just use your favourite search engine to look for "matlab tutorial". Cleve Moler book (selected chapters): Numerical computing with MATLAB and Experiments with MATLAB. 

Math 690  Topics in statistical learning theory  Spring 2015
Class: MW 10:0511:20, Location: Physics 119
Math 790  Topics in Probability  topics in statistical learning theory  Fall 2014
Class: MW 10:2011:45, Location: Gross 304B
Some of the slides used during the course are available here
Instructor permission to audit course
Math 465  Introduction to HighDimensional Data Analysis  Fall 2014
Class: MW 3:054:20, Location: Gross 304B
Office hours: Tue 1:002:00pm, Location: Gross 309
Here is the syllabus.
There is no textbook for the course, notes taken during lectures will be important, as well as materials will be made available during lectures, and pointers to relevant papers/lectures notes/presentations discussed during the lectures will be made available on this page. For the linear algebra components I recommend Halmos' book on Finite Dimensional Vector Spaces, and for both linear algebra and SVD and related computational considerations, Trefethen and Bau's book on Numerical Linear Algebra.
Homework:
 Homework 1. Due Sep. 10th
 Homework 2. Due Sep. 17th
 Homework 3. Due Sep. 26th
 Homework 4. Due Oct. 8th
 Homework 5. Due Oct. 17th
 Homework 6. Due Nov. 7th
 No homework for week of Oct. 22nd, will be posting notes with directions on how to complete the work done in class.
Math 561  Scientific Computing, I  Fall 2014
Class: MW 1:252:40, Location: Gross 304B
Office hours: Tue 12:001:00pm, Location: Gross 309
Here is the synopsis and its extended version in the syllabus.
Review on 12/10 at noon in 304B
Take home exam: I will email you a link to the exam on the night of Friday Dec. 5th. You pick a 6 hour period between then and the final inclass exam, and at the beginning of the period of your choice you download the exam and email me an electronic copy by the end of the 6 hour period. A (matching) paper copy is due at the end of inclass exam. You can use the textbook (no other books), your notes from class, and your homework. You cannot copy code directly or reuse code from your homework. Needless to say, do not discuss the problems with anybody else.
The first part of the course will cover basic numerical linear algebra, in particular matrix factorizations, solution of linear systems and eigenproblems.
The suggested textbook is Trefethen and Bau's Numerical Linear Algebra. The textbook by Heath, Scientific Computing, may be a useful references for exercises, of which it contains many.
Useful links:
John Trangenstein's home page contains a link to his online book on Scientific Computing, as well as several useful links to programming guides for Fortrain, C, C++ and Lapack on his page for Math 225. William Allard's home page also contains useful material, such as notes and links to online guides and materials.
Fortran tutorial: here and here.
Matlab tutorial: from Mathworks here, from the University of Florida here. Many more are available online, just use your favourite search engine to look for "matlab tutorial".
Cleve Moler book (selected chapters): Numerical computing with MATLAB and Experiments with MATLAB.
Math 431  Advanced Calculus, I  Spring 2014
Office hours: Mondays, 1:302:30pm, Gross Hall, Office 318
This course will develop a rigorous theory of elementary mathematical analysis including differentiation, integration, and convergence of sequences and series. Students will learn how to write mathematical proofs, how to construct counterexamples, and how to think clearly and logically. These topics are part of the foundation of all of mathematical analysis and applied mathematics, geometry, ordinary and partial differential equations, probability, and stochastic analysis.
Textbook: Fundamental Ideas of Analysis, by Michael Reed. The course will cover most, but not all, of the material in Chapters 16.
Midterms: February 19th, and March 26th.
Homework:
 Homework 1. Office hours moved to 11:30am, instead of 1:30pm on Monday 13th. Office: 319 Gross Chem.
 Homework 2. Office hours at 1:30pm on Monday 13th, 318 Gross Chem. [Updated pdf on 1/16/14 at 11:30pm: it contained a misspelled word and I corrected office hours in the .pdf]
 Homework 3
 Homework 4
 Homework 5
 Homework 6
 Homework 7
 Homework 8
 Homework 9
Math 790  Random Matrices, Concentration Inequalities and Applications to Signal Processing and Machine Learning  Spring 2013
We discuss several related topics and techniques at the intersection between probability, approximation theory, highdimensional geometry, and machine learning and statistics. Synopsis. Wiki page
Math 224  Scientific Computing  Fall 2011
Office hours: Tue 45pm, my office is Room 293 in the Physics Bldg.
Here is the synopsis.
The first part of the course will cover basic numerical linear algebra, in particular matrix factorizations, solution of linear systems and eigenproblems, nonlinear equations in 1 dimensions. If time permits, we shall discuss recent randomized algorithms in numerical linear algebra.
Useful links:
John Trangenstein's home page contains a link to his online book on Scientific Computing, as well as several useful links to programming guides for Fortrain, C, C++ and Lapack on his page for Math 225. William Allard's home page also contains useful material, such as notes and links to online guides and materials.
Fortran tutorial: here and here.
Matlab tutorial: from Mathworks here, from the University of Florida here. Many more are available online, just use your favourite search engine to look for "matlab tutorial".
Cleve Moler book (selected chapters): Numerical computing with MATLAB and Experiments with MATLAB.
Math 288  Topics in Probability: Geometry, Functions and Learning in High Dimensions  Fall 2011
Here is a flier for the course.
We discuss several related topics and techniques at the intersection between probability, approximation theory, highdimensional geometry, and machine learning and statistics. We build on basic tools in large deviation theory and concentration of measure and move to problems in nonasymptotic random matrix theory (RMT), such estimating the spectral properties of certain classes of random matrices. We then use these tools to study metric proeprties of certain maps between linear spaces that are nearisometry, such as random projections. We then move to the setting of general metric spaces, and introduce multiscale approximation of metric spaces a la Bourgain, and also discuss tree approximations, and hint at the algorithmic applications of these ideas. Finally we move to the real of function approximation/estimation/machine learning for functions defined on highdimensional spaces. We discuss Reproducing Kernel Hilbert Spaces and learning iwth RKHS's, and we also discuss multiscale techniques for function approximation in highdimensions. We discuss also geometric methods, both graph based (Laplacians, manifold learning) and multiscalebased. Finally, we discuss recent fast randomized algorithmic for certain numerical linear algebra computations, that use nonasymptotic RMT results discussed above.
Requirements: solid linear algebra and basic probability. Of help, but to be introduced in the course: metric spaces, function spaces, matrix factorizations.
A course wiki contains links to lecture notes, papers and other materials. May be edited by students in the class.
Math 139  Real Analysis  Fall 2010
Office hours: Mon, 1:30pm3:30pm, or by appointment
Textbook: Fundamental Ideas of Analysis, by Michael Reed. The course will cover most, but not all, of the material in Chapters 16.
There will be a midterm exam, a final exam and weekly homework.
Evaluation: There will also be at least one lengthy assignment which challenges you to write carefully constructed proofs. Your final letter grade will be based on these components weighted as follows: long assignment(s) 1015%, regular homework 2025%, midterm exam 25%, final exam 40%. Homework is due at the beginning of class, stapled, written legibly, on one side of each page only and must contain the reaffirmation of the Duke community standard. Otherwise, it will be returned ungraded. The logic of a proof must be completely clear and all steps justified. The clarity and completeness of your arguments will count as much as their correctness. Some problems from the homework will reappear on exams. I will go over in detail the solution to any homework problem during office hours. You may use a computational aid for the homework but I do not recommend it. Calculators and computers will not be allowed on the quizzes and exams. The lowest homework score will be dropped. No late homework will be accepted. Duke policies apply with no exceptions to cases of incapacitating shortterm illness, or for officially recognized religious holiday.You may, and are encouraged to, discuss issues raised by the class or the homework problems with your fellow students and both offer and receive advice. However all submitted homework must be written up individually without consulting anyone else's written solution.
Math 338  Topics in Graph Theory, Random Matrices, and Applications  Spring 2010
A flier for the course, with summary of some of the topics.Math 348  Applied Harmonic and Multiscale Analysis  Fall 2009
Office hours: by appointment.
Students have access to a wiki and blog with materials for the course and to discuss topics and problems
The overarching theme is applied multiscale harmonic analysis, in various of its forms. Very rough outline (probably overambitious):  Basic Fourier analysis; Littlewood Paley theory (a.k.a. how to do multiscale analysis with Fourier); square functions & Khintchine inequality; applications to signal processing (audio/video)  Classical multiresolution analysis through wavelets; applications to Calder\'onZygmund integral operators and associated numerical algorithms; applications to signal processing (audio/video)  Multiscale analysis of random walks on graphs; applications to analysis of highdimensional data sets, regression and inference.  A sketch of some techniques in multiscale geometric measure theory, in particular the geometric version of square functions + concentration phenomena for measures in highdimensional spaces + results in random matrix theory. Applications to analysis of high dimensional data sets and inference, as well as numerical linear algebra.
Math 225  Scientific Computing II  Spring 2009
Office hours: by appointment.
Here is the synopsis.
 Homework 1. Due Jan. 22.
 Homework 2. Due Jan. 29.
 Homework 3. Due Feb. 5th.
 Homework 4, and associated data sets. Due Feb. 17th.
 Homework 5. Due Feb. 24th.
 Homework 6. Due Mar. 19th.
 Homework 7. Due Mar. 26th. Here are the examples that I ran in class.
 No homework for Apr. 2nd.
 Homework 8. Due Apr. 7th.
 Homework 9. Due Apr. 21st.
Cleve Moler book (selected chapters): Numerical computing with MATLAB and Experiments with MATLAB.
Math 133  Introduction to Partial Differential Equations  Spring 2009
Office hours: Tuesday 34:30pm, or by appointment.
Here is the synopsis.
First test will on February 17th (usual class time). (Solution)
Reviews session will on April 23rd 4:30pm5:30pm, usual classroom. I will answer your questions.
Material will be added as the course proceeds. Matlab tutorials are available from Mathworks, UFL, cyclismo.org and many others.Math 378  Minicourse  Introduction to Spectral Graph Theory and Applications  Spring 2008
We will discuss the basics of spectral graph theory, which studies random walks on graphs, and related objects such as the Laplacian and its eigenfunctions, on a weighted graph. This can be thought as a discrete analogue to spectral geometry, albeit the geometry of graphs and their discrete nature gives rise to issues not generally considered in the continuous, smooth case of Riemannian manifolds. We will present some classical connections between properties of the random walks and the geometry of the graph. We will then discuss disparate applications: the solution of sparse linear systems by multiscale methods based on random walks; analysis of large data sets (images, web pages, etc...), in particular how to find systems of coordinates on them, performing dimensionality reduction, and performing multiscale analysis on them; tasks in learning, such as spectral clustering, classification and regression on data sets.
Materials:
 Code for the demo involving drawing a set a points, constructing an associated proximity graph, and computing and displaying eigenvalues/eigenfunctions of the Laplacian. You need to first download and install the general code for Diffusion Geometry (last updated on 1/29/08), and then download and install this code for running the demo I ran in class, with some images already prepared. After installing the Diffusion Geometry package, please run DGPaths in order to set the Matlab paths correctly. The script for the demo is called GraphEigenFcnsEx_01.m, and it is fairly extensively commented. I will be happy to add your own examples here! The code works best with the Approximate Nearest Neighbor Searching Library by D. Mount and S. Arya. To install this code, simply untar in a directory and run make. This should produce the file libANN.a in the lib subdirectory. This file is already included in the Diffusion Geometry package, in the MEX directory, compiled on a Unix machine at Duke Math. Copy this library libANN.a in the MEX directory, under the directory where the Diffusion Geometry package, and from the Matlab prompt run "mex ANNsearch libANN.a" and "mex ANNrsearch libANN.a". This will yield two .mexglx files, that are what Matlab will call. These two files are already included in the Diffusion Geometry package, after compilation on a Unix machine at Duke Math.
References:
 R. Diestel's book on Graph Theory is an excellent general reference. Availble online here.
 D. Spielman notes for his course on Spectral Graph Theory at Yale; several papers on specific applications, dependent on the attendant's interests.
 D. Spielman notes on his course on Graphs and Networks at Yale. Some overlap with the above, but also other references and materials.
 F. Chung's book "Spectral Graph Theory". She also wrote a book on "Complex Graphs and Networks", mostly on random graphs and their degree distribution properties, and also some spectral results for them. Visit her homepage for lots of interesting material on graphs, spectral graph theory and its applications. In particular see the gallery of graphs.
 S. Lafon's web page has some cool tutorials and interactive demos on diffusion geometry.
Math 224  Scientific Computing  Fall 2007
Office hours: Wed 4:305:30, Thu 1:102:10, or by appointment.
Here is the synopsis.
The first part of the course will cover basic numerical linear algebra, in particular matrix factorizations, solution of linear systems and eigenproblems. The second part of the course will cover nonlinear equations, numerical integration and differentiation, basic techniques for ODEs, and the Fast Fourier Transform.
Useful links:
John Trangenstein's home page contains a link to his online book on Scientific Computing, as well as several useful links to programming guides for Fortrain, C, C++ and Lapack on his page for Math 225. William Allard's home page also contains useful material, such as notes and links to online guides and materials.
Fortran tutorial: here and here.
Matlab tutorial: from Mathworks here, from the University of Florida here. Many more are available online, just use your favourite search engine to look for "matlab tutorial".
Homework sets:
1 (solution), 2 (solution), 3 (solution), 4 (solution), 5 (solution), 6 (solution), 7, 8.
Partial solution to test 1.
Math 348  Harmonic Analysis and Applications  Curr Res in Analysis  Spring 2007
Please find the synopsis here.
I plan to develop lecture notes as the course proceeds. Last update: 1/10/07. The notes are still in a very preliminary should be downloaded and used by students of the course only, and should not be divulgated, replicated if not for purposes related to the course. When a more stable version will become available, certain of these restrictions will be removed. This link will be updated regularly. Right now they are in an extremely preliminary state, and at times they may not even be accessible through the link provided.
A list of topics for presentation suggested for the course (by instructor or students), and the students currently working on them is available here.
Presentations by students:
 Statistical Approach to Wavelet Shrinkage, Simon Lunagomez
 Semisupervised Learning on Graphs, Chungping Wang
 Markov Decision Processes, Rachel Thomas
 The Fast Multipole Method, Veronica Rozmiarek
 Multiscale Reconstruction of Hyperspectral Data , Kalyani Shivakumar and Cristina Fernandez.
 Stochastic Filtering, Zachary Harmany and William Lee.
Teaching Related Links
Duke SISS storm login (instructor)