GithubHelp home page GithubHelp logo

zjniu / enm531 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vikasmech/enm531

0.0 0.0 0.0 67.28 MB

Shell 0.01% JavaScript 0.01% Ruby 0.01% TeX 0.12% HTML 1.21% Jupyter Notebook 97.73% SCSS 0.93%

enm531's Introduction

ENM531: Data-driven Modeling and Probabilistic Scientific Computing

Course Description

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.

Specific topics to be covered span recent developments in supervised and unsupervised learning: nonlinear regression/classification with deep neural networks, multi-fidelity modeling and computation under uncertainty using Gaussian processes, Bayesian optimization, convolutional and recurrent neural networks, model reduction using principal component analysis, variational auto-encoders, and probabilistic latent variable models. The effectiveness of these tools will be demonstrated through several engineering applications including examples in fluid dynamics, heat transfer, design optimization, and modeling of cardiovascular flows.

Course prerequisites

  • Basic Calculus and Linear Algebra (MATH 240 or MATH 513 or ENM 240)
  • Basic Statistics and Probability (MATH 430 or ENM 321 or ENM 503)
  • Scientific computing in Python

Software used in class

  • A Python 3 distribution configured for scientific computing. The simplest way to set this up is by installing the Anaconda distribution.
  • JAX. Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPUs, and more.
  • Jupyter notebook. You will need this in order to follow some of the in-class tutorials.
  • Git. You will need this in order to download and stay in sync with the latest code we will develop in class.
  • Google Colab. Sign in with your Penn Gmail account. Provides free access to GPU and TPU cloud computing resources.

Course Learning Objectives

Students will leave this course with experience in:

  • Analyzing and synthesizing data towards enhancing their understanding and ability to model physical, biological, and engineering systems.
  • Hands-on skills on a broad class of machine learning tools enabling them to construct structured prediction models, propagate and quantify uncertainty, perform sensitivity analysis, and optimize systems of realistic complexity.
  • Applications of these tools spanning a diverse set of engineering disciplines, including fluid dynamics, heat transfer, mechanical design, and biomedical engineering.

Instructor

Paris Perdikaris is an Assistant Professor in the Department of Mechanical Engineering and Applied Mechanics at the University of Pennsylvania. His work spans a wide range of areas in computational science and engineering, with a particular focus on the analysis and design of complex physical and biological systems using machine learning, stochastic modeling, computational mechanics, and high-performance computing. Current research thrusts include physics-informed machine learning, uncertainty quantification in deep learning, engineering design optimization, and non-invasive medical diagnostics.

  • Lectures: Tuesdays and Thursdays, 3.30pm-5.00pm, Towne 313.
  • Office Hours: Thursdays 11.30am-1.30pm, Rm. 527, 3401 Walnut Street, 5th floor.
  • Email: [email protected]

Teaching Assistants

Please consult the TA regarding issues related to setting up your computing enviroment, code design, implementation, and execution.

TA: Shyam Sankaran

  • Office Hours: Mondays 3-4pm, Fridays 3-4pm, Rm. 534, 3401 Walnut Street, 5th floor.
  • Email: [email protected]

Grader: Jin Wu

Note

This syllabus is a work in progress. The lesson plan is subject to change depending on the progress and success of the students in the class. Any changes will be notified to students.

enm531's People

Contributors

paraklas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.