Introduction to Computational Models with Python explains how to implement computational models using the flexible and easy-to-use Python programming language. The book uses the Python programming language interpreter and several packages from the huge Python Library that improve the performance of numerical computing, such as the Numpy and Scipy modules. The Python source code and data files are available on the author’s website.
The book’s five sections present:
- An overview of problem solving and simple Python programs, introducing the basic models and techniques for designing and implementing problem solutions, independent of software and hardware tools
- Programming principles with the Python programming language, covering basic programming concepts, data definitions, programming structures with flowcharts and pseudo-code, solving problems, and algorithms
- Python lists, arrays, basic data structures, object orientation, linked lists, recursion, and running programs under Linux
- Implementation of computational models with Python using Numpy, with examples and case studies
- The modeling of linear optimization problems, from problem formulation to implementation of computational models
This book introduces the principles of computational modeling as well as the approaches of multi- and interdisciplinary computing to beginners in the field. It provides the foundation for more advanced studies in scientific computing, including parallel computing using MPI, grid computing, and other methods and techniques used in high-performance computing.
Table of Contents
Problem Solving: Problem Solving and Computing. Simple Python Programs. Basic Programming Principles with Python: Modules and Functions. Program Structures. The Selection Program Structure. The Repetition Program Structure. Data Structures, Object Orientation, and Recursion: Python Lists, Strings, and Other Data Sequences. Object Orientation. Object-Oriented Programs. Linked Lists. Recursion. Fundamental Computational Models with Python: Computational Models with Arithmetic Growth. Computational Models with Quadratic Growth. Models with Geometric Growth. Computational Models with Polynomial Growth. Empirical Models with Interpolation and Curve Fitting. Using Arrays with Numpy. Models with Matrices and Linear Equations. Introduction to Models of Dynamical Systems. Linear Optimization Models: Linear Optimization Modeling. Solving Linear Optimization Models. Sensitivity Analysis and Duality. Transportation Models. Network Models. Integer Linear Optimization Models.
José M. Garrido is a professor in the Department of Computer Science at Kennesaw State University. Dr. Garrido is the author of several books and numerous research papers. His research interests include software development, operating systems, computational modeling, object-oriented simulation, and system formal specification.