**Professor**: Michael Erdmann (me at -nospam- cmu.edu)

**Teaching Assistants**:
Philip Cooksey (pcooksey at -nospam- andrew.cmu.edu)

Sai Ganesh Bandiatmakuri (sbandiat at -nospam- andrew.cmu.edu)

Shreyas Joshi (svjoshi at -nospam- cs.cmu.edu)

Utkarsh Sinha (usinha at -nospam- cs.cmu.edu)

**Location**: HH B103 (Hamerschlag Hall)

**Time**: TR 3:00-4:20

** Michael Erdmann's Office Hours**: Prefer after class (or by appointment, office is GHC 9203).

** Philip Cooksey's Office Hours**: Mondays, 11:00am-12:00noon, NSH 4225 (Sept 12 - Dec 5)

** Sai Ganesh Bandiatmakuri's Office Hours**: Wednesdays, 2:30pm-3:30pm, NSH 4225 (Sept 7 - Dec 7)

** Shreyas Joshi's Office Hours**: Wednesdays, 2:30pm-3:30pm, NSH 4225 (Sept 7 - Dec 7)

** Utkarsh Sinha's Office Hours**: Tuesdays, 12:00noon-1:00pm, NSH 4225 (Sept 13 - Dec 6)

**1.**Solution of Linear Equations.**2.**Polynomial Interpolation and Approximation.**3.**Solution of Nonlinear Equations.**4.**Roots of Polynomials, Resultants.**5.**Approximation by Orthogonal Functions (includes Fourier series).**6.**Integration of Ordinary Differential Equations.**7.**Optimization.**8.**Calculus of Variations (with applications to Mechanics).**9.**Probability and Stochastic Processes (Markov chains).**10.**Computational Geometry.**11.**Differential Geometry.

This is a graduate course. You are thus expected to pursue ideas and topics discussed in this course on your own beyond the level of the lectures. My aim is to cover some of the easy early material quickly, then spend more detailed time on the later material. My goal throughout the course is to acquaint you with fundamental algorithms and mathematical reasoning, as well as give you some implementation experience.

The course grade will be determined by performance on assignments, participation in class, and a class project. Class assignments will entail solving some problems on paper or implementing some of the algorithms discussed in the course.

The term project should take about a month of work (40 hours) per person. It should pursue a mathematical topic in a robotics setting that is not otherwise covered in detail in the course. Ideally, the project should be connected to your research. If you are a first year graduate student, you should view the project as a springboard to research involvement.

- Understand the geometry of linear systems of equations, including null spaces, row spaces and column spaces. Understand eigenvalues, diagonalization, singular value decomposition, least-squares solutions. Apply these skills to infer rigid-body transformations from data.
- Learn how to model data using interpolation, linear regression, and higher-order approximation methods. Apply these skills to recognize objects from point-cloud data.
- Understand different methods for finding roots of equations, in one dimension and higher, including bisection, Newton's method, Müller's method. Develop skills to analyze convergence rates.
- Generalize finite-dimensional linear algebra concepts such as orthogonal bases to perform function approximation, including using Legendre polynomials and Fourier series to compute least-squares approximations. Learn about different function norms.
- Develop techniques for solving differential equations numerically.
- Understand optimization techniques such as gradient descent, conjugate gradient, Newton's method. Learn the basics of convex optimization. Implement obstacle-avoidance viewed as cost-minimization.
- Develop methods from the Calculus of Variations for higher-order optimization. Apply these techniques to develop the Lagrangian dynamics of a robot manipulator.
- Learn basic computational geometry techniques, such as Convex Hull and Voronoi diagrams. Implement a geometric robot motion planner.
- Understand Markov chains from the perspective of eigenvalues and matrix representations.

In order to pass this course you must do all the work required.
"Doing all the work" entails coming to class, submitting solutions for the
assignments, and doing the project. You must submit a solution for
*every* problem on an assignment by that assignment's due date.
Assignments are graded on a "minus, check, plus" scale. You must
receive a "check" or a "plus" on every assignment in order to pass the
course. If you obtain a "minus" on an assignment, you may and must
submit correct solutions by the resubmission deadline for that
assignment, in order to try to raise your assignment grade to a
"check". (The resubmission deadline is not an alternate deadline for
the original assignment; you need to attempt every problem by the
original deadline.)

For the project, you should submit a project proposal, a project writeup, and present your project publicly. The project proposal is due near midsemester. It should be about one paragraph long and describe what you plan to do, why it is interesting, and cite prior work. Project writeups should be five pages long. Project writeups are due at the end of the last presentation. Project presentations will occur near the end of the term, depending on room availabilities.

Projects may be individual projects or team projects. Team projects must be commensurately larger in scope than single person projects. Projects that are used in more than one course need to be significantly more substantial than single course projects. A team project that is used in more than one course needs to be very significant.

(Please note: Not doing all the work as described above within the time frame allotted means you fail the course.)

**1.**W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. Numerical Recipes in C. Cambridge University Press. (Any edition.)

**2.**G. Strang. Introduction to Applied Mathematics. Wellesley-Cambridge Press. 1986.

**3.**G. H. Golub and C. F. Van Loan. Matrix Computations. Johns Hopkins University Press. 1983.

**4.**S. D. Conte and C. de Boor. Elementary Numerical Analysis. Third edition. McGraw-Hill. 1980.

**5.**G. E. Forsythe, M. A. Malcolm, and C. B. Moler. Computer Methods for Mathematical Computations. Prentice-Hall. 1977.

**6.**D. G. Luenberger. Introduction to Linear and Nonlinear Programming. Addison-Wesley. 1973.

**7.**R. Weinstock. Calculus of Variations. Dover Publications. 1974. (Reprint of 1952 McGraw-Hill edition.)

**8.**R. Courant and D. Hilbert. Methods of Mathematical Physics. Volume I. John Wiley and Sons. 1989. (Reprint of 1953 Interscience edition.)

**9.**W. Yourgrau and S. Madelstam. Variational Principles in Dynamics and Quantum Theory. Dover Publications. 1979. (Reprint of a 1968 edition.)

**10.**F. P. Preparata and M. I. Shamos, Computational Geometry, Springer-Verlag, New York, 1985. (Corrected and expanded printing: 1988.)

**11.**J.-C. Latombe, Robot Motion Planning, Kluwer Academic Publishers, Boston, 1991.

**12.**W. Feller. An Introduction to Probability Theory and Its Applications. Volume 1. Third edition. John Wiley and Sons. 1968.

**13.**B. O'Neill, Elementary Differential Geometry, Academic Press, New York, 1966. 2nd Edition: 1997.

Please do not record my lectures or take images of me. University policy on this matter suggests the following formal statement:

No student may record any classroom activity without express written consent from me. If you have (or think you may have) a disability such that you need to record or tape classroom activities, you should contact the Office of Equal Opportunity Services, Disability Resources to request an appropriate accommodation.Thank you.