This textbook teaches finite element methods from a computational point of view. It focuses on how to develop flexible computer programs with Python, a programming language in which a combination of symbolic and numerical tools is used to achieve an explicit and practical derivation of finite element algorithms. The finite element library FEniCS is used throughout the book, but the content is provided in sufficient detail to ensure that students with less mathematical background or mixed programming-language experience will equally benefit. All program examples are available on the Internet.
"Hans Petter Langtangen's spirit and passion for computational science, education, and interdisciplinary collaboration continues to manifest through a text that is lively, conversational, informative, approachable, and interactive." (Akil Narayan, SIAM Review, Vol. 62 (4), 2020)
"Introduction to Numerical Methods for Variational Problems is well-suited for undergraduate or beginning graduate students in applied mathematics, physics, or engineering that want to begin to learn about the numerical analysis of or scientific computing with PDEs. ... Introduction to Numerical Methods for Variational Problems seems to me like a very good place to start." (MAA Reviews, March 5, 2020)
"Introduction to Numerical Methods for Variational Problems is well-suited for undergraduate or beginning graduate students in applied mathematics, physics, or engineering that want to begin to learn about the numerical analysis of or scientific computing with PDEs. ... Introduction to Numerical Methods for Variational Problems seems to me like a very good place to start." (MAA Reviews, March 5, 2020)