Introduction to Computational Modeling Using C and Open-Source Tools
Introduction to Computational Modeling Using C and Open-Source Tools presents the fundamental principles of computational models from a computer science perspective. It explains how to implement these models using the C programming language. The software tools used in the book include the Gnu Scientific Library (GSL), which is a free software library of C functions, and the versatile, open-source GnuPlot for visualizing the data. All source files, shell scripts, and additional notes are located at ksuweb.kennesaw.edu/~jgarrido/comp_models.
The book first presents an overview of problem solving and the introductory concepts, principles, and development of computational models before covering the programming principles of the C programming language. The author then applies programming principles and basic numerical techniques, such as polynomial evaluation, regression, and other numerical methods, to implement computational models. He also discusses more advanced concepts needed for modeling dynamical systems and explains how to generate numerical solutions. The book concludes with the modeling of linear optimization problems.
Emphasizing analytical skill development and problem solving, this book helps you understand how to reason about and conceptualize the problems, generate mathematical formulations, and computationally visualize and solve the problems. It provides you with the foundation to understand more advanced scientific computing, including parallel computing using MPI, grid computing, and other techniques in high-performance computing.
Problem Solving and Computing. Programs. Modular Decomposition: Functions. More Concepts of Computational Models. Algorithms and Programs. Selection. Repetition. Arrays. Pointers. Linked Lists. Text Data. Computational Models with Arithmetic Growth. Computational Models with Quadratic Growth. Models with Geometric Growth. Computational Models with Polynomials. Models with Interpolation and Curve Fitting. Using Vectors with the GSL. Matrices and Sets of Linear Equations. Introduction to Dynamical Systems. Linear Optimization Modeling. Solving Linear Optimization Problems. Sensitivity Analysis and Duality. Transportation Models. Network Models. Integer Linear Optimization Models. Appendices.