Engineering Mathematics (ENM)
ENM 2400 Differential Equations and Linear Algebra
This course discusses the theory and application of linear algebra and differential equations. Emphasis is placed on building intuition for the underlying concepts and their applications in engineering practice along with tools for solving problems. We will also use computer simulations in MATLAB to augment this intuition.
Fall or Spring
Prerequisite: MATH 1410
1 Course Unit
ENM 2510 Analytical Methods for Engineering
This course introduces students to physical models and mathematical methods that are widely encountered in various branches of engineering. Illustrative examples are used to motivate mathematical topics including ordinary and partial differential equations, Fourier analysis, eigenvalue problems, and stability analysis. Analytical techniques that yield exact solutions to problems are developed when possible, but in many cases, numerical calculations are employed using programs such as Matlab and Maple. Students will learn the importance of mathematics in engineering. Prerequisite: Sophomore standing in SEAS or permission of instructor(s)
Spring
Prerequisite: MATH 2400
1 Course Unit
ENM 3440 Answering Questions with Data, for Everyone
This course targets undergraduate students, such as Juniors and Seniors. Just about every student at UPenn and in particular in engineering is using progressively larger datasets to ask scientific questions. This course will break down how we use data and modeling to ask scientific questions and teach the basic toolkits to do so. The goal of this course is to allow any student who needs to use data to ask questions to see which computational tools they need to use and to use existing tools to ask those questions. All teaching will be small group and team based. The course will use a broad set of data representative of the school. The course is open to upper level undergraduate students who have some knowledge of Python.
Fall
1 Course Unit
ENM 3600 Introduction to Data-driven Modeling
From recognizing voice, text or images to designing more efficient airplane wings and discovering new drugs, machine learning is introducing a transformative set of tools in data analysis with increasing impact across engineering, sciences, and commercial applications. In this course, you will learn about principles and algorithms for extracting patterns from data and and making effective automated predictions. We will cover concepts such as regression, classification, density estimation, feature extraction, sampling and probabilistic modeling, and provide a formal understanding of how, why, and when these methods work in the context of analyzing physical, biological, and engineering systems.
Fall
Prerequisite: ENGR 1050 AND MATH 2400
1 Course Unit
ENM 3750 Biological Data Science I - Fundamentals of Biostatistics
The goal of this course is to equip bioengineering undergraduates with fundamental concepts in applied probability, exploratory data analysis and statistical inference. Students will learn statistical principles in the context of solving biomedical research problems.
Spring
1 Course Unit
ENM 5020 Numerical Methods and Modeling
This course provides an advanced introduction to various numerical methods for solving systems of algebraic equations (linear and non-linear) and differential equations (ordinary and partial). Techniques covered include Newton's method, implicit and explicit time stepping, and the finite difference and finite element methods. The MATLAB software package will be used to implement the various methods and execute representative calculations.
Spring
1 Course Unit
ENM 5030 Introduction to Probability and Statistics
Introduction to combinatorics: the multiplication rule, the pigeonhole principle, permutations, combinations, binomial and multinomial coefficients, recurrence relations, methods of solving recurrence relations, permutations and combinations with repetitions, integer linear equation with unit coefficients, distributing balls into urns, inclusion-exclusion, an introduction to probability. Introduction to Probability: sets, sample setsevents, axioms of probability, simple results, equally likely outcomes, probability as a continuous set function and probability as a measure of belief, conditional probability, independent events, Bayes' formula, inverting probability trees. Random Variables: discrete and continuous, expected values, functions of random variables, variance. Some Special Discrete Random Variables: Bernoulli, Binomial, Poisson, Geometric, Pascal (Negative Binomial) Hypergeometric and Poisson. Some Special Continuous Random Variables: Uniform, Exponential, Gamma, Erlang, Normal, Beta and Triangular. Joint distribution functions, minimum and maximum of independent random variables, sums of independent random variables, reproduction properties. Properties of Expectation: sums of random variables, covariance, variance of sums and correlations, moment-generating function. Limit theorems: Chebyshev's inequality, law of large numbers and the central-limit theorem. Extra Topics: Generating random numbers and simulation, Monte-Carlo methods, The Poisson Process and Queueing Theory, Stochastic Processes and Regular Markov Chains, Absorbing Markov Chains and Random Walks.
Fall
Prerequisite: MATH 2400
1 Course Unit
ENM 5100 Foundations of Engineering Mathematics - I
This is the first course of a two semester sequence, but each course is self contained. Over the two semesters topics are drawn from various branches of applied mathematics that are relevant to engineering and applied science. These include: Linear Algebra and Vector Spaces, Hilbert spaces, Higher-Dimensional Calculus, Vector Analysis, Differential Geometry, Tensor Analysis, Optimization and Variational Calculus, Ordinary and Partial Differential Equations, Initial-Value and Boundary-Value Problems, Green's Functions, Special Functions, Fourier Analysis, Integral Transforms and Numerical Analysis. The fall course emphasizes the study of Hilbert spaces, ordinary and partial differential equations, the initial-value, boundary-value problem, and related topics. Prerequisites: Some of MATH 2400 (ODEs) or equivalent and some of MATH 3120 (Linear Algebra) would be desirable but not necessary.
Fall
1 Course Unit
ENM 5110 Foundations of Engineering Mathematics - II
This is the second course of a two semester sequence, but each course is self contained. Over the two semesters topics are drawn from various branches of applied mathematics that are relevant to engineering and applied science. These include: Linear Algebra and Vector Spaces, Hilbert spaces, Higher-Dimensional Calculus, Vector Analysis, Differential Geometry, Tensor Analysis, Optimization and Variational Calculus, Ordinary and Partial Differential Equations, Initial-Value and Boundary-Value Problems, Green's Functions, Special Functions, Fourier Analysis, Integral Transforms and Numerical Analysis. The spring course emphasizes the study of Vector Analysis: space curves, Frenet-Serret formulae, vector theorems, reciprocal systems, co- and contra-variant components, orthogonal curvilinear systems. Matrix theory: Gauss-Jordan elimination, eigenvalues and eigenvectors, quadratic and canonical forms. Variational calculus: Euler-Lagrange equation. Tensor Analysis: Einstein summation, tensors of arbitrary order, dyads and polyads, outer and inner products, quotient law, metric tensor, Euclidean and Riemannian spaces, physical components , covariant differentiation, detailed evaluation of Christoffel symbols, Ricci's theorem, intrinsic differentiation, generalized acceleration, Geodesics. The spring course emphasizes the study of Vector Analysis: space curves, Frenet-Serret formulae, vector theorems, reciprocal systems, co- and contra-variant components, orthogonal curvilinear systems. Matrix theory: Gauss-Jordan elimination, eigenvalues and eigenvectors, quadratic and canonical forms. Variational calculus: Euler-Lagrange equation. Tensor Analysis: Einstein summation, tensors of arbitrary order, dyads and polyads, outer and inner products, quotient law, metric tensor, Euclidean and Riemannian spaces, physical components, covariant differentiation, detailed evaluation of Christoffel symbols, Ricci's theorem, intrinsic differentiation, generalized acceleration, Geodesics.
Spring
1 Course Unit
ENM 5120 Nonlinear Dynamics and Chaos
Continuous Dynamical Systems: Nonlinear Equations versus Linear Equations, Flows on a Line, Fixed Points and Stability, Stability Analysis, Potentials, Saddle-Node Bifurcations, Transcritical Bifurcations, Supercritical and Subcritical Pitchfork Bifurcations, Dimensional Analysis and Scaling, Imperfect Bifurcations and Catastrophes, Flows on the Circle, The Uniform and Nonuniform Oscillator, Oscillation Periods, Two-Dimensional Flows, Linear Systems, Eigenvalues and Eigenvectors, Classification of Fixed Points, Phase Portraits, Existence and Uniqueness, Fixed Points and Linearization, Nonlinear Terms, Conservative Systems, Reversible Systems, Index Theory, Limit Cycles, Van Der Pol Oscillator, Gradient Systems, Liaponov Functions, Dulac's Criterion, Poincare-Bendixson Theorem, Lienard Systems, Relaxation Oscillations, Weakly Nonlinear Oscillators, Regular Perturbation Theory, Two-Timing, Supercritical and Subcritical Hopf Bifurcations, Global Bifurcations of Cycles, Hysteresis, and the Poincare Map, The Lorenz Equations, Strange Attractors, The Lorenz Map. Prerequisite: Some Differential Equations and Senior or Master's standing in Engineering or permission of the instructor. Discrete Dynamical Systems: One-Dimensional Maps, Fixed Points and Cobwebs, The Logistic Map, Periodic Windows, Period Doubling, The Liapunov Exponent, Universality, Feigenbaum's Number, Feigenbaum's Renormalization Theory, Fractals, Countable and Uncountable Sets, The Cantor Set, Self-Similar Fractals and Their Dimensions, The von Koch Curve, Box Dimension, Multifractals.
Fall or Spring
1 Course Unit
ENM 5200 Principles and Techniques of Applied Math I
This course is targeted to engineering PhD students in all areas. It will focus on the study of linear spaces (both finite and infinite dimensional) and of operators defined on such spaces. This course will also show students how powerful methods developed by the study of linear spaces can be used to systematically solve problems in engineering. The emphasis in this course will not be on abstract theory and proofs but on techniques that can be used to solve problems. Some examples of techniques that will be studied include Fourier series, Green's functions for ordinary and partial differential operators, eigenvalue problems for ordinary differential equations, singular value decomposition of matrices, etc. Prerequisite: Basic theory of ordinary and partial differential equations
Fall
1 Course Unit
ENM 5210 Principles and Techniques of Applied Math II
This course is a continuation of ENM 5200 (or equivalent) and deals with classical methods in applied mathematics. The topics to be covered include: Functions of a Complex Variable, Partial Differential Equations, Asymptotic and Perturbation Methods, and Convex Analysis and Variational Methods.
Spring
1 Course Unit
ENM 5220 Numerical Methods for PDEs
The objective of the course is to provide training in fundamentals of numerical analysis at the PhD level. This course does not explore methods tailored to a specific physics subdomain. Instead, general ideas and systematic procedures for construction and analysis of numerical methods are introduced, which can be applied to diverse disciplines of computational science seeking numerical solution of complex differential equations. The course begins with the techniques for numerical differentiation/integration and solution of system of ODEs, which later is integrated into techniques for solution of PDEs of various types (hyperbolic, parabolic, and elliptic ones). Measures of stability and accuracy are presented, with emphasis on preserving symmetries of differential operators to preclude unphysical solution growth or decay. Spectral methods based on Sturm-Liouville eigenfunctions are covered. Utility and limitation of the widely used methods for computation of broadband phenomena are illustrated. Students will have first-hand experience writing their own computer programs, and also come to view critically the numerical output generated by a computer. Background on linear algebra and ordinary/partial differential equations at the level of ENM 5100 and basic MATLAB experience. Undergraduates require instructor permission to enroll.
Spring, even numbered years only
1 Course Unit
ENM 5310 Data-driven Modeling and Probabilistic Scientific Computing
We will revisit classical scientific computing from a statistical learning viewpoint. In this new computing paradigm, differential equations, conservation laws, and data act as complementary agents in a predictive modeling pipeline. This course aims explore the potential of modern machine learning as a unifying computational tool that enables learning models from experimental data, inferring solutions to differential equations, blending information from a hierarchy of models, quantifying uncertainty in computations , and efficiently optimizing complex engineering systems. Prerequisite: Programming in Python and MATLAB
Not Offered Every Year
1 Course Unit
ENM 5320 AI4Science/Science4AI: Combining theoretical mechanics, numerical analysis, and machine learning
Many seek to replicate the successes of AI/ML in computer vision and natural language processing in the sciences, aiming to tackle previously inaccessible problems in scientific discovery, engineering prediction, and optimal design. ML however has been powered by “black-box” architectures specifically tailored toward text/image data which lack the mathematical structure necessary to provide predictions which meet the requirements for high-consequence science and engineering: consistency with physical principles, numerical robustness, interpretability, and amenability to uncertainty quantification. In this course we will survey theories of variational mechanics, geometric dynamics and numerical analysis to understand how to construct simulators from data which respect mechanical and geometric principles. While ML may improve engineering models (AI4Science), we can also use scientific computing principles to improve the performance of ML models for physics-agnostic tasks (Science4AI). Many “black-box” architectures admit alternative representations from scientific computing, e.g. CNNs as finite differences, multilayer perceptrons as B-splines, ResNets as discrete differential equations, graph attention networks as finite element/volume methods, or generative models as stochastic differential equations. We will additionally look to settings where traditional techniques from scientific computing have allowed improved accuracy and robustness for physics-agnostic tasks in surprising ways. This serves as an attractive basis for designing machine learning architectures from physical/mathematical principles rather than from ad hoc trial and error. The course will initially focus on reviewing material necessary for data-driven modeling, including: probability, variational calculus, and discretizations of partial/ordinary-differential equations. We will consider problems from both engineering settings and data analytics, focusing on problems of engineering relevance such as inverse problems, reduced-order modeling, and data assimilation. The course will primarily consist of modules studying a given ML architecture and scientific computing technique in tandem, culminating in a research project on a topic of relevance to students’ individual research. The course is designed to be self-contained and accessible to students with a background in mechanics/scientific computing but not ML or vice versa.
Spring
Prerequisites: The course is open to graduate students and advanced undergraduate students who have completed a course in scientific computing and probability/statistics. Previous coursework in machine learning, finite element methods, or mechanics will facilitate deeper understanding, but is not required. It is recommended that this course be taken in sequence with MEAM 5310. A Python programming background is assumed, but a short tutorial in PyTorch/Tensorflow/Jax will be provided at the beginning of the semester.
1 Course Unit
ENM 5400 Topics In Computational Science and Engineering
This course is focused on techniques for numerical solutions of ordinary and partial differential equations. The content will include: algorithms and their analysis for ODEs; finite element analysis for elliptic, parabolic and hyperbolic PDEs; approximation theory and error estimates for FEM. Prerequisite: Background in ordinary and partial differential equations; proficiency in a programming language such as MATHLAB, C, Fortran
Not Offered Every Year
1 Course Unit
ENM 5500 Mathematics for Robotics
This course is an introductory graduate level applied mathematics course for robotics. The topics to be covered in the course include: Derivatives and Ordinary Differential Equations (e.g. gradients, Jacobians, Hessians, and Taylor expansions), Linear Algebra (e.g., vector spaces, orthogonal bases, projection theorem, least squares, matrix factorizations, vector and matrix calculus, norms, matrix decompositions, and spectral analysis), Optimization Theory (e.g., convergent sequences, contraction mappings, Newton Raphson algorithm, local vs global convergence in nonlinear optimization, convexity, linear and quadratic programs), and Probabilities and Information Theory (e.g., Kalman filters and underlying probabilistic concepts and Gaussian Process Regression). Prerequisite: Students are expected to have basic matrix algebra (e.g., matrix addition, multiplication, inversion, rank, and computing eigenvalues and eigenvectors), basic statistics and probability theory (e.g., computing means, variances, and conditional probabilities), simple properties of complex numbers (e.g., addition, multiplication, magnitude, and direction), basic programming (e.g., plotting, manipulation of arrays, writing for and while loops, or finding help).
1 Course Unit