skip to content

Bulletin Archive

This archived information is dated to the 2008-09 academic year only and may no longer be current.

For currently applicable policies and information, see the current Stanford Bulletin.

Graduate courses in Computational and Mathematical Engineering

Primarily for graduate students; undergraduates may enroll with consent of instructor.

CME 200. Linear Algebra with Application to Enginering Computations

(Same as ME 300A.) Solving matrix-vector systems. Direct and iterative solvers for non-singular linear systems of equations; their accuracy, convergence properties, and computational efficiency. Under- and over-determined systems, and nonlinear systems of equations. Eigenvalues, eigenvectors, and singular values; their application to engineering problems. Concepts such as basis, linear independence, column space, null space, rank, norms and condition numbers, projections, and matrix properties. Recommended: familiarity with computer programming; mathematics background equivalent to MATH 103, 130.

3 units, Aut (Gerritsen, M)

CME 204. Partial Differential Equations in Engineering

(Same as ME 300B.) Geometric interpretation of partial differential equation (PDE) characteristics; solution of first order PDEs and classification of second-order PDEs; self-similarity; separation of variables as applied to parabolic, hyperbolic, and elliptic PDEs; special functions; eigenfunction expansions; the method of characteristics. If time permits, Fourier integrals and transforms, Laplace transforms. Prerequisite: CME 200/ME 300A, equivalent, or consent of instructor.

3 units, Win (Shaqfeh, E)

CME 206. Introduction to Numerical Methods for Engineering

(Same as ME 300C.) Numerical methods from a user's point of view. Lagrange interpolation, splines. Integration: trapezoid, Romberg, Gauss, adaptive quadrature; numerical solution of ordinary differential equations: explicit and implicit methods, multistep methods, Runge-Kutta and predictor-corrector methods, boundary value problems, eigenvalue problems; systems of differential equations, stiffness. Emphasis is on analysis of numerical methods for accuracy, stability, and convergence. Introduction to numerical solutions of partial differential equations; Von Neumann stability analysis; alternating direction implicit methods and nonlinear equations. Prerequisites: CME 200/ME 300A, CME 204/ME 300B.

3 units, Spr (Moin, P)

CME 210. Multiscale Methods in Engineering

Multigrid methods to solve partial differential equations including anisotropic and nonlinear equations; multilevel adaptive refinement; fast multipole methods based on Taylor expansions, Chebyshev polynomials, plane wave representation, and singular value decomposition; and wavelets for signal and image compression, Haar wavelets, splines, and multiscale representation of curves and surfaces. Prerequisites: numerical methods (iterative solution of linear equations, interpolation, partial differential equations), scientific programming language.

3 units, given next year

CME 211. Computer Programming in C++ for Earth Scientists and Engineers

(Same as ENERGY 211.) Computer programming methodology emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and modularity. Fundamental data structures. Time and space complexity analysis. The basic facilities of the programming language C++. Numerical problems from various science and engineering applications.

3 units, Aut (Lambers, J)

CME 212. Introduction to Large-Scale Computing in Engineering

Advanced programming methodologies for solving fundamental engineering problems using algorithms with pervasive application across disciplines. Overview of computer systems from a programming perspective including processor architectures, memory hierarchies, machine arithmetic, performance tuning techniques. Algorithms include iterative, direct linear solvers, fft, and divide and conquer strategies for n-body problems. Software development; other practical UNIX tools including shell scripting, vi/emacs, gcc, make, gdb, gprof, version control systems and LaTeX. Prerequisites: CME 200/ME 300A, CME 211, and CS 106X or equivalent level of programming in C/C++.

3 units, Win (Barad, M)

CME 215A. Advanced Computational Fluid Dynamics

(Same as AA 215A.) High resolution schemes for capturing shock waves and contact discontinuities; upwinding and artificial diffusion; LED and TVD concepts; alternative flow splittings; numerical shock structure. Discretization of Euler and Navier Stokes equations on unstructured meshes; the relationship between finite volume and finite element methods. Time discretization; explicit and implicit schemes; acceleration of steady state calculations; residual averaging; math grid preconditioning. Automatic design; inverse problems and aerodynamic shape optimization via adjoint methods. Pre- or corequisite: 214B or equivalent.

3 units, Win (Jameson, A)

CME 215B. Advanced Computational Fluid Dynamics

(Same as AA 215B.) High resolution schemes for capturing shock waves and contact discontinuities; upwinding and artificial diffusion; LED and TVD concepts; alternative flow splittings; numerical shock structure. Discretization of Euler and Navier Stokes equations on unstructured meshes; the relationship between finite volume and finite element methods. Time discretization; explicit and implicit schemes; acceleration of steady state calculations; residual averaging; math grid preconditioning. Automatic design; inverse problems and aerodynamic shape optimization via adjoint methods. Pre- or corequisite: 214B or equivalent.

3 units, Spr (Jameson, A)

CME 291. Master's Research

Students require faculty sponsor.

1-5 units, Aut (Staff), Win (Staff), Spr (Staff), Sum (Staff)

CME 300. Departmental Seminar Series

Required for first-year ICME Ph.D. students; recommended for first-year ICME M.S. students. Presentations about research at Stanford by faculty and researchers from Engineering, H&S, and organizations external to Stanford. May be repeated for credit.

1 unit, Aut (Murray, W), Win (Murray, W)

CME 302. Numerical Linear Algebra

First in a three quarter graduate sequence. Solution of systems of linear equations: direct methods, error analysis, structured matrices; iterative methods and least squares. Parallel techniques. Prerequisites: CME 108, MATH 103 or 113.

3 units, Aut (Lambers, J)

CME 303. Partial Differential Equations of Applied Mathematics

(Same as MATH 220.) First-order partial differential equations; method of characteristics; weak solutions; elliptic, parabolic, and hyperbolic equations; Fourier transform; Fourier series; and eigenvalue problems. Prerequisite: foundation in multivariable calculus and ordinary differential equations.

3 units, Aut (Nolen, J)

CME 304. Numerical Optimization

(Same as MS&E 315.) Solution of nonlinear equations; unconstrained optimization; linear programming; quadratic programming; global optimization; general linearly and nonlinearly constrained optimization. Theory and algorithms to solve these problems. Prerequisite: background in analysis and numerical linear algebra.

3 units, Win (Murray, W)

CME 305. Discrete Mathematics and Algorithms

(Same as MS&E 316.) Topics: enumeration such as Cayley's theorem and Prufer codes, SDR, flows and cuts (deterministic and randomized algorithms), probabilistic methods and random graphs, asymptotics (NP-hardness and approximation algorithms). Topics illustrated with EE, CS, and bioinformatics applications. Prerequisites: MATH 51 or 103 or equivalents.

3 units, Win (Saberi, A)

CME 306. Numerical Solution of Partial Differential Equations

¬Hyperbolic partial differential equations: stability, convergence and qualitative properties; nonlinear hyperbolic equations and systems; combined solution methods from elliptic, parabolic, and hyperbolic problems. Examples include: Burgers equation, Euler equations for compressible flow, Navier-Stokes equations for incompressible flow. Prerequisites: CME 302, MATH 220A.

3 units, Spr (Fedkiw, R)

CME 308. Stochastic Methods in Engineering

Review of basic probability; Monte Carlo simulation; state space models and time series; parameter estimation, prediction, and filtering; Markov chains and processes; stochastic control; and stochastic differential equations. Examples from various engineering disciplines. Prerequisites: exposure to probability; background in real variables and analysis.

3 units, Spr (Glynn, P)

CME 324. Advanced Methods in Matrix Computation: Iterative Methods

Eigenvalue problems: perturbation theory, Lanczos method, Jacobi method. Parallel implementation. Singular value problems. Generalized eigenvalue problems. Polynomial equations. Prerequisite: CME 302.

3 units, Spr (Staff)

CME 325. Numerical Approximations of Partial Differential Equations in Theory and Practice

Finite volume and finite difference methods for initial boundary value problems in multiple space dimensions. Emphasis is on formulation of boundary conditions for the continous and the discrete problems. Analysis of numerical methods with respect to stability, accuracy, and error behavior. Techniques of treating non-rectangular domains, and effects of non-regular grids.

1-2 units, not given this year

CME 330. Applied Mathematics in the Chemical and Biological Sciences

(Same as CHEMENG 300.) Mathematical solution methods via applied problems including chemical reaction sequences, mass and heat transfer in chemical reactors, quantum mechanics, fluid mechanics of reacting systems, and chromatography. Topics include generalized vector space theory, linear operator theory with eigenvalue methods, phase plane methods, perturbation theory (regular and singular), solution of parabolic and elliptic partial differential equations, and transform methods (Laplace and Fourier). Prerequisites: CME 102/ENGR 155A and CME 104/ENGR 155B, or equivalents.

3 units, Aut (Shaqfeh, E)

CME 334. Advanced Methods in Numerical Optimization

(Same as MS&E 312.) Topics include interior-point methods, relaxation methods for nonlinear discrete optimization, sequential quadratic programming methods, optimal control and decomposition methods. Topic chosen in first class; different topics for individuals or groups possible. Individual or team projects. May be repeated for credit.

3 units, Aut (Murray, W)

CME 336. Linear and Conic Optimization with Applications

(Same as MS&E 314.) Linear, semidefinite, conic, and convex nonlinear optimization problems as generalizations of classical linear programming. Algorithms include the interior-point, barrier function, and cutting plane methods. Related convex analysis, including the separating hyperplane theorem, Farkas lemma, dual cones, optimality conditions, and conic inequalities. Complexity and/or computation efficiency analysis. Applications to combinatorial optimization, sensor network localization, support vector machine, and graph realization. Prerequisite: MS&E 211 or equivalent.

3 units, Win (Ye, Y), alternate years, not given next year

CME 337. Information Networks

(Same as MS&E 337.) Network structure of the Internet and the web. Modeling, scale-free graphs, small-world phenomenon. Algorithmic implications in searching and inter-domain routing; the effect of structure on performance. Game theoretic issues, routing games, and network creation games. Security issues, vulnerability, and robustness. Prerequisite: basic probability and graph theory.

3 units, alternate years, not given this year

CME 338. Large-Scale Numerical Optimization

(Same as MS&E 318.) The main algorithms and software for constrained optimization emphasizing the sparse-matrix methods needed for their implementation. Iterative methods for linear equations and least squares. Interior methods. The simplex method. Factorization and updates. The reduced-gradient, augmented Lagrangian, and SQP methods. Recommended: MS&E 310, 311, 312, 314, or 315; CME 108 or 302.

3 units, Spr (Saunders, M)

CME 340. Large-Scale Data Mining

Focus is on very large scale data mining on the web and on social networks. Topics include network models, ranking algorithms, reputation, collaborative filtering, and supervised and unsupervised learning. Individual or group applications-oriented programming project. i unit without project; 3 units with final project. Prerequisites: programming at the level of CS 108; statistics at the level of MATH 103 and STATS 116. Recommended: machine learning at the level of CS 229; knowledge of Java.

1-3 units, Aut (Kamvar, S)

CME 342. Parallel Methods in Numerical Analysis

Emphasis is on techniques for obtaining maximum parallelism in numerical algorithms, especially those occurring when solving matrix problems and partial differential equations, and the subsequent mapping onto the computer. Implementation issues on parallel computers. Topics: parallel architecture, programming models, matrix computations, FFT, fast multiple methods, domain decomposition, and graph partitioning. Prerequisite: CME 302 or 200/ME 300A, or consent of instructor. Recommended: differential equations and advanced programming language such as C or C++.

3 units, Spr (Alonso, J)

CME 352. Molecular Algorithms

Recent research in DNA and RNA based nanotechnology, mathematical models of DNA self-assembly, algorithmic techniques and stochastic analyses for efficient and robust DNA self-assembly, experimental advances in molecular motors and machines which use DNA migration/enzymes, and algorithmic issues in the design of molecular motors and machines. Prerequisite: consent of instructor.

3 units, alternate years, not given this year

CME 356. Engineering Functional Analysis and Finite Elements

(Same as ME 412.) Concepts in functional analysis to understand models and methods used in simulation and design. Topology, measure, and integration theory to introduce Sobolev spaces. Convergence analysis of finite elements for the generalized Poisson problem. Extensions to convection-diffusion-reaction equations and elasticity. Upwinding. Mixed methods and LBB conditions. Analysis of nonlinear and evolution problems. Prerequisites: 335A,B, CME 200, CME 204, or consent of instructor. Recommended: 333, MATH 171.

3 units, Win (Lew, A)

CME 380. Constructing Scientific Simulation Codes

Practical methods for writing and combining software components to generate simulation applications. Practical methodologies for constructing simulation code applications. How to design, write, and combine software components to generate simulation applications. Steering: using a small driver language like Python to script or steer the progress of a code. Data models and formats: how data is represented and shared inside an application and its external representation on disk. Mixed language programming using C, C++, F77, F90, and Python. Rational software engineering including testing, configuration control, code generation and makefiles. Other technologies needed to create real world applications regardless of scientific discipline.

3 units, Spr (Staff), given once only

CME 390. Curricular Practical Training

May be repeated three times for credit.

1 unit, Aut (Staff), Win (Staff), Spr (Staff), Sum (Staff)

CME 400. Ph.D. Research

1-15 units, Aut (Staff), Win (Staff), Spr (Staff), Sum (Staff)

CME 444. Computational Consulting

Advice by graduate students under supervision of ICME faculty. Weekly briefings with faculty adviser and associated faculty to discuss ongoing consultancy projects and evaluate solutions. May be repeated for credit.

1-3 units, Aut (Gerritsen, M), Win (Gerritsen, M), Spr (Gerritsen, M), Sum (Gerritsen, M)

CME 500. Numerical Analysis and Computational and Mathematical Engineering Seminar

Weekly research lectures by experts from academia, national laboratories, industry, and doctoral students. May be repeated for credit.

1 unit, Aut (Staff), Win (Lew, A), Spr (Van Roy, B)

CME 510. Linear Algebra and Optimization Seminar

Recent developments in numerical linear algebra and numerical optimization. Guest speakers from other institutions and local industry. Goal is to bring together scientists from different theoretical and application fields to solve complex scientific computing problems. May be repeated for credit.

1 unit, Aut (Saunders, M), Win (Saunders, M), Spr (Saunders, M)

© Stanford University - Office of the Registrar. Archive of the Stanford Bulletin 2008-09. Terms of Use | Copyright Complaints