Explore the latest books of this year!
Bookbot

Hans Petter Langtangen

    January 3, 1962 – October 10, 2016
    A primer on scientific programming with Python
    Python scripting for computational science
    Solving PDEs in Python
    Finite Difference Computing with Exponential Decay Models
    Computational partial differential equations
    Programming for Computations - Python
    • 2019

      Programming for Computations - Python

      A Gentle Introduction to Numerical Simulations with Python

      • 248 pages
      • 9 hours of reading

      This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.

      Programming for Computations - Python
    • 2018

      Programming for Computations - MATLAB/Octave

      A Gentle Introduction to Numerical Simulations with MATLAB/Octave

      • 232 pages
      • 9 hours of reading

      Focusing on the intersection of computer programming and mathematics, this book guides engineering students from novice to proficient in writing programs for solving mathematical problems using MATLAB or Python. Inspired by a prior work, it adopts a more accessible style, emphasizing essential skills like generic algorithms, clean program design, function usage, and automatic testing for verification. The aim is to equip students with practical programming abilities tailored to numerical methods commonly encountered in engineering and science courses.

      Programming for Computations - MATLAB/Octave
    • 2017

      Solving PDEs in Python

      The FEniCS Tutorial I

      • 157 pages
      • 6 hours of reading

      This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier–Stokes equations, and systems of nonlinear advection–diffusion–reaction equations, it guides readers through the essential steps to quickly solving a PDE in FEniCS, such as how to define a finite variational problem, how to set boundary conditions, how to solve linear and nonlinear systems, and how to visualize solutions and structure finite element Python programs. This book is open access under a CC BY license.

      Solving PDEs in Python
    • 2017

      Finite Difference Computing with PDEs

      A Modern Software Approach

      This book is open access under a CC BY 4.0 license. This easy-to-read book introduces the basics of solving partial differential equations by means of finite difference methods. Unlike many of the traditional academic works on the topic, this book was written for practitioners. Accordingly, it especially addresses: the construction of finite difference schemes, formulation and implementation of algorithms, verification of implementations, analyses of physical behavior as implied by the numerical solutions, and how to apply the methods and software to solve problems in the fields of physics and biology.

      Finite Difference Computing with PDEs
    • 2016

      Scaling of Differential Equations

      • 151 pages
      • 6 hours of reading

      The book serves both as a reference forvarious scaled models with corresponding dimensionless numbers, and as aresource for learning the art of scaling. The scientific literature is full of scaled models, but in mostof the cases, the scales are just stated without thorough mathematicalreasoning.

      Scaling of Differential Equations
    • 2016

      This text provides a very simple, initial introduction to the complete scientific computing pipeline: models, discretization, algorithms, programming, verification, and visualization. The pedagogical strategy is to use one case study – an ordinary differential equation describing exponential decay processes – to illustrate fundamental concepts in mathematics and computer science. The book is easy to read and only requires a command of one-variable calculus and some very basic knowledge about computer programming. Contrary to similar texts on numerical methods and programming, this text has a much stronger focus on implementation and teaches testing and software engineering in particular. 

      Finite Difference Computing with Exponential Decay Models
    • 2009

      The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example- and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology, and finance. The book teaches „Matlab-style“ and procedural programming as well as object-oriented programming. High school mathematics is a required background, and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science.

      A primer on scientific programming with Python
    • 2004

      Scripting with Python makes you productive and increases the reliability of your scientific work. Here, the author teaches you how to develop tailored, flexible, and efficient working environments built from small programs (scripts) written in Python. The focus is on examples and applications of relevance to computational science: gluing existing applications and tools, e. g. for automating simulation, data analysis, and visualization; steering simulations and computational experiments; equipping programs with graphical user interfaces; making computational Web services; creating interactive interfaces with a Maple/Matlab-like syntax to numerical applications in C/C++ or Fortran; and building flexible object-oriented programming interfaces to existing C/C++ or Fortran libraries.

      Python scripting for computational science
    • 2003

      This book focuses on solving partial differential equations (PDEs), essential for modeling various phenomena across science and technology. With the rise of powerful computers, computational mathematics has evolved from simplified models to complex ones that mirror real-life intricacies. This shift presents challenges in computer science and numerical analysis. The book aims to teach modern, advanced techniques for numerically solving PDEs and introduces models from fields such as finance, medicine, material technology, and geology. A basic understanding of partial differential equations and numerical methods is necessary, along with some knowledge of finite element methods. While familiarity with Diffpack, the programming environment used in examples, is not required, it is beneficial for implementation. The text emphasizes models, methods, and their implementation, utilizing Diffpack for its efficiency in programming PDE solvers and support for advanced numerical techniques. Each chapter includes sections on models and methods, as well as implementation and Diffpack programming, allowing readers to focus on the theoretical aspects if they choose.

      Advanced topics in computational partial differential equations
    • 2000

      This book concerns programming techniques like object-oriented programming and generic (template) programming. These modern techniques have proven to increase flexibility, modularization, code reuse and improve maintenance of large numerical codes. The book contains 11 refereed and comprehensive chapters on major subjects in computational science and engineering: quality measurement of numerical software, high-performance numerical computations with C++ without sacrificing efficiency, a balanced discussion of Java in scientific computing, object-oriented design of direct sparse solvers, geometric kernels in geographical information systems, and tools for error estimation in finite element methods, tools for validating computational results, and how to simplify the implementation of highly complex mathematical model for material processing.

      Advances in software tools for scientific computing