Muutke küpsiste eelistusi

Introduction to Computational Models with Python [Kõva köide]

(Kennesaw State University, Georgia, USA)
  • Formaat: Hardback, 496 pages, kõrgus x laius: 234x156 mm, kaal: 816 g, 46 Tables, black and white; 90 Illustrations, black and white
  • Sari: Chapman & Hall/CRC Computational Science
  • Ilmumisaeg: 04-Sep-2015
  • Kirjastus: Chapman & Hall/CRC
  • ISBN-10: 1498712037
  • ISBN-13: 9781498712033
Teised raamatud teemal:
  • Kõva köide
  • Hind: 118,69 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 158,25 €
  • Säästad 25%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 3-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Hardback, 496 pages, kõrgus x laius: 234x156 mm, kaal: 816 g, 46 Tables, black and white; 90 Illustrations, black and white
  • Sari: Chapman & Hall/CRC Computational Science
  • Ilmumisaeg: 04-Sep-2015
  • Kirjastus: Chapman & Hall/CRC
  • ISBN-10: 1498712037
  • ISBN-13: 9781498712033
Teised raamatud teemal:

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:

  1. 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
  2. Programming principles with the Python programming language, covering basic programming concepts, data definitions, programming structures with flowcharts and pseudo-code, solving problems, and algorithms
  3. Python lists, arrays, basic data structures, object orientation, linked lists, recursion, and running programs under Linux
  4. Implementation of computational models with Python using Numpy, with examples and case studies
  5. 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.

Section I Problem Solving
Chapter 1 Problem Solving And Computing
3(22)
1.1 Introduction
3(1)
1.2 Computer Problem Solving
3(1)
1.3 Elementary Concepts
4(2)
1.4 Developing Computational Models
6(2)
1.5 Temperature Conversion
8(2)
1.5.1 Initial Problem Statement
8(1)
1.5.2 Analysis And Conceptual Model
9(1)
1.5.3 Mathematical Model
9(1)
1.6 Area And Perimeter Of A Circle
10(1)
1.7 Categories Of Computational Models
10(2)
1.8 General Process Of Software Development
12(2)
1.9 Modular Design
14(1)
1.10 Programming Languages
14(5)
1.10.1 High-Level Programming Languages
15(1)
1.10.2 Interpreters And Python
15(2)
1.10.3 Compilers
17(1)
1.10.4 Compiling And Execution Of Java Programs
17(1)
1.10.5 Compiling And Executing C Programs
18(1)
1.11 Precision, Accuracy, And Errors
19(3)
1.11.1 Number Representation
19(1)
1.11.2 Number Of Significant Digits
20(1)
1.11.3 Precision And Accuracy
20(1)
1.11.4 Errors
20(2)
1.12 Summary
22(1)
1.13 Exercises
22(3)
Chapter 2 Simple Python Programs
25(22)
2.1 Introduction
25(1)
2.2 Computing With Python
25(4)
2.2.1 Using Interactive Mode With Simple Operations
25(1)
2.2.2 Mathematical Operations
26(1)
2.2.3 More Advanced Mathematical Expressions
27(2)
2.2.4 Scientific Notation
29(1)
2.3 Programs
29(1)
2.4 Data Definitions
29(2)
2.4.1 Data Objects
30(1)
2.4.2 Variables
30(1)
2.4.3 Using Data Objects And Variables
30(1)
2.4.4 Basic Data Types
31(1)
2.5 Simple Python Programs
31(3)
2.5.1 The Assignment Statement
32(1)
2.5.2 Basic Input And Output Instructions
32(1)
2.5.2.1 Output Statement
32(1)
2.5.2.2 Input Statements
33(1)
2.5.3 Example Scripts With Input/output
33(1)
2.6 A Simple Problem: Temperature Conversion
34(3)
2.6.1 Mathematical Model
35(1)
2.6.2 Computational Model
35(2)
2.7 Distance Between Two Points
37(2)
2.7.1 Problem Statement
37(1)
2.7.2 Analysis Of The Problem
37(1)
2.7.3 Design Of The Solution
37(1)
2.7.4 Implementation
38(1)
2.8 General Structure Of A Python Program
39(2)
2.9 Simple Functions
41(2)
2.9.1 Function Definitions
41(1)
2.9.2 Function Calls
42(1)
2.10 Summary
43(1)
2.11 Exercises
44(3)
Section II Basic Programming Principles With Python
Chapter 3 Modules And Functions
47(10)
3.1 Introduction
47(1)
3.2 Modular Decomposition
47(1)
3.3 Functions
48(1)
3.3.1 Function Calls
48(1)
3.4 Categories Of Functions
49(4)
3.4.1 Simple Function Calls
49(1)
3.4.2 Calling Functions That Return Data
49(2)
3.4.2.1 Including The Function Definition In Another Module
51(1)
3.4.3 Calling Functions With Arguments
51(2)
3.4.3.1 Including Function Squared In Another Module
53(1)
3.5 Built-In Mathematical Functions
53(2)
3.6 Summary
55(1)
3.7 Exercises
55(2)
Chapter 4 Program Structures
57(12)
4.1 Introduction
57(1)
4.2 Algorithms
57(1)
4.3 Implementing Algorithms
58(1)
4.4 Algorithm Description
58(3)
4.4.1 Flowcharts
58(2)
4.4.2 Pseudo-Code
60(1)
4.5 Design Structures
61(3)
4.5.1 Sequence
61(1)
4.5.2 Selection
61(1)
4.5.3 Repetition
61(2)
4.5.4 Simple Input/output
63(1)
4.5.4.1 Output
63(1)
4.5.4.2 Input
63(1)
4.6 Computing Area And Circumference
64(2)
4.6.1 Specification
64(1)
4.6.2 Algorithm With The Mathematical Model
65(1)
4.7 Summary
66(1)
4.8 Exercises
66(3)
Chapter 5 The Selection Program Structure
69(14)
5.1 Introduction
69(1)
5.2 Conditional Expressions
69(3)
5.2.1 Relational Operators
69(2)
5.2.2 Logical Operators
71(1)
5.3 The Selection Structure
72(2)
5.3.1 Selection Structure With Flowcharts And Pseudo-Code
72(1)
5.3.2 Selection With Python
72(1)
5.3.3 Example With Selection
73(1)
5.4 A Computational Model With Selection
74(4)
5.4.1 Analysis And Mathematical Model
74(1)
5.4.2 Algorithm For General Solution
75(1)
5.4.3 Detailed Algorithm
75(3)
5.5 Multi-Level Selection
78(1)
5.6 Summary
79(1)
5.7 Exercises
80(3)
Chapter 6 The Repetition Program Structure
83(18)
6.1 Introduction
83(1)
6.2 Repetition With The While-Loop
83(6)
6.2.1 While-Loop Flowchart
84(1)
6.2.2 While Structure In Pseudo-Code
84(1)
6.2.3 While-Loop In The Python Language
85(1)
6.2.4 Loop Counter
86(1)
6.2.5 Accumulator Variables
87(1)
6.2.6 Summation Of Input Numbers
88(1)
6.3 Repeat-Until Loop
89(3)
6.4 For-Loop Structure
92(5)
6.4.1 Summation Problem With A For-Loop
94(1)
6.4.2 Factorial Problem
95(6)
6.4.2.1 Mathematical Specification Of Factorial
95(1)
6.4.2.2 Computing Factorial
96(1)
6.5 Summary
97(1)
6.6 Exercises
97(4)
Section III Data Structures, Object Orientation, And Recursion
Chapter 7 Python Lists, Strings, And Other Data Sequences
101(30)
7.1 Introduction
101(1)
7.2 Lists
101(8)
7.2.1 Indexing Lists
102(1)
7.2.2 Slicing Operations
103(1)
7.2.3 Iterating Over A List With A Loop
104(1)
7.2.4 Creating A List Using A Loop
105(1)
7.2.5 Passing Lists To A Function
106(2)
7.2.6 Additional Operations On Lists
108(1)
7.3 Temperature Conversion Problem
109(3)
7.3.1 Mathematical Model
109(1)
7.3.2 The Python Implementation
110(1)
7.3.3 Implementation Using A Function
111(1)
7.4 List Comprehensions
112(1)
7.5 Lists Of Lists
113(1)
7.6 Tuples
114(2)
7.7 Dictionaries
116(1)
7.8 Strings
117(3)
7.9 Simple Numerical Applications Using Lists
120(7)
7.9.1 The Average Value In An Array
120(2)
7.9.2 Maximum Value In A List
122(1)
7.9.3 Searching
123(11)
7.9.3.1 Linear Search
123(2)
7.9.3.2 Binary Search
125(2)
7.10 Summary
127(1)
7.11 Exercises
128(3)
Chapter 8 Object Orientation
131(6)
8.1 Introduction
131(1)
8.2 Objects In The Problem Domain
131(1)
8.3 Defining Classes
132(1)
8.4 Describing Objects
133(1)
8.5 Interaction Between Two Objects
133(1)
8.6 Design With Classes
134(1)
8.6.1 Encapsulation
134(1)
8.6.2 Data Hiding
135(1)
8.7 Summary
135(1)
8.8 Exercises
136(1)
Chapter 9 Object-Oriented Programs
137(14)
9.1 Introduction
137(1)
9.2 Programs
137(1)
9.3 Definition Of Classes
137(1)
9.4 Class Definitions In Python
138(3)
9.4.1 Data Definitions In A Class
139(1)
9.4.2 Methods In A Class Definition
139(1)
9.4.3 Example Of A Class Definition
140(1)
9.5 Creating And Manipulating Objects
141(1)
9.6 Complete Program With A Class
142(1)
9.7 Scope Of Variables
143(1)
9.8 Class Hierarchy With Inheritance
143(1)
9.9 Defining Classes With Inheritance
144(4)
9.9.1 Inheritance With Python
145(1)
9.9.2 Inheritance And Constructor Methods
145(2)
9.9.3 Example Objects
147(1)
9.10 Overloading And Overriding Methods
148(1)
9.11 Summary
148(1)
9.12 Exercises
149(2)
Chapter 10 Linked Lists
151(16)
10.1 Introduction
151(1)
10.2 Nodes And Linked Lists
151(7)
10.2.1 Nodes
153(1)
10.2.2 Definition Of A Class For Linked Lists
153(2)
10.2.3 Creating And Manipulating A Linked List
155(3)
10.3 Linked Lists With Two Ends
158(1)
10.4 Double-Linked Lists
159(1)
10.5 Stacks And Queues Data Structures
159(6)
10.5.1 Stacks
160(3)
10.5.2 Queues
163(2)
10.6 Summary
165(1)
10.7 Exercises
166(1)
Chapter 11 Recursion
167(10)
11.1 Introduction
167(1)
11.2 Recursive Approach To Problem Solving
167(1)
11.3 Recursive Definition Of Functions
167(6)
11.3.1 Factorial Problem
168(1)
11.3.2 Sum Of Squares
169(1)
11.3.3 Reversing A Linked List
170(3)
11.4 Analyzing-Recursion
173(1)
11.5 Summary
174(1)
11.6 Exercises
174(3)
Section IV Fundamental Computational Models With Python
Chapter 12 Computational Models With Arithmetic Growth
177(14)
12.1 Introduction
177(1)
12.2 Mathematical Modeling
177(2)
12.2.1 Difference Equations
178(1)
12.2.2 Functional Equations
179(1)
12.3 Models With Arithmetic Growth
179(1)
12.4 Using The Python Language And Numpy
180(3)
12.5 Producing The Charts Of The Model
183(1)
12.6 Validation Of A Model
184(1)
12.7 File I/o
184(5)
12.7.1 Types Of Files
184(1)
12.7.2 Opening And Closing Text Files
185(1)
12.7.3 Writing Data To A File
186(1)
12.7.4 Reading Data From A File
187(2)
12.8 Summary
189(1)
12.9 Exercises
189(2)
Chapter 13 Computational Models With Quadratic Growth
191(12)
13.1 Introduction
191(1)
13.2 Differences Of The Data
191(4)
13.3 Difference Equations
195(1)
13.4 Functional Equations
195(1)
13.5 Examples Of Quadratic Models
196(4)
13.5.1 Growth Of Number Of Patients
196(1)
13.5.2 Growth Of Computer Networks
196(3)
13.5.3 Models With Sums Of Arithmetic Growth
199(1)
13.6 Summary
200(1)
13.7 Exercises
201(2)
Chapter 14 Models With Geometric Growth
203(10)
14.1 Introduction
203(1)
14.2 Basic Concepts
203(6)
14.2.1 Increasing Data With Geometric Growth
204(1)
14.2.2 Decreasing Data With Geometric Growth
204(1)
14.2.3 Case Study 1
205(3)
14.2.4 Case Study 2
208(1)
14.3 Functional Equations In Geometric Growth
209(1)
14.4 Summary
210(1)
14.5 Exercises
211(2)
Chapter 15 Computational Models With Polynomial Growth
213(10)
15.1 Introduction
213(1)
15.2 General Forms Of Polynomial Functions
213(1)
15.3 The Polynomial Module Of The Numpy Package
214(1)
15.4 Evaluation Of Polynomial Functions
215(3)
15.5 Solving Polynomial Functions
218(2)
15.6 Summary
220(1)
15.7 Exercises
220(3)
Chapter 16 Empirical Models With Interpolation And Curve Fitting
223(18)
16.1 Introduction
223(1)
16.2 Interpolation
223(7)
16.2.1 Linear Interpolation
224(3)
16.2.2 Non-Linear Interpolation
227(3)
16.3 Curve Fitting
230(5)
16.3.1 Linear Polynomial Function
231(2)
16.3.2 Fitting Non-Linear Polynomial Functions
233(2)
16.4 Modeling The Heat Capacity Of Carbon Dioxide
235(2)
16.5 Summary
237(1)
16.6 Exercises
238(3)
Chapter 17 Using Arrays With Numpy
241(16)
17.1 Introduction
241(1)
17.2 Vectors And Operations
242(1)
17.2.1 Addition Of A Scalar And A Vector
242(1)
17.2.2 Vector Addition
242(1)
17.2.3 Multiplication Of A Vector And A Scalar
242(1)
17.2.4 Dot Product Of Two Vectors
243(1)
17.2.5 Length (Norm) Of A Vector
243(1)
17.3 Vector Properties And Characteristics
243(1)
17.3.1 Orthogonal Vectors
244(1)
17.3.2 Linear Dependence
244(1)
17.4 Using Arrays In Python With Numpy
244(3)
17.5 Simple Vector Operations
247(8)
17.5.1 Arithmetic Operations
247(2)
17.5.2 Element Multiplication And Division Operations
249(1)
17.5.3 Vector Multiplication
250(1)
17.5.4 Additional Vector Operations
251(4)
17.6 Summary
255(1)
17.7 Exercises
255(2)
Chapter 18 Models With Matrices And Linear Equations
257(28)
18.1 Introduction
257(1)
18.2 Matrices
257(5)
18.2.1 Basic Concepts
258(1)
18.2.2 Arithmetic Operations
258(4)
18.3 Matrix Manipulation With Numpy
262(15)
18.3.1 Creating, Initializing, And Indexing Matrices
262(2)
18.3.2 Element Addition And Subtraction Operations
264(2)
18.3.3 Element Multiplication And Division
266(2)
18.3.4 Additional Matrix Functions
268(9)
18.4 Solving Systems Of Linear Equations
277(2)
18.5 Industrial Mixtures In Manufacturing
279(2)
18.6 Summary
281(1)
18.7 Exercises
282(3)
Chapter 19 Introduction To Models Of Dynamical Systems
285(40)
19.1 Introduction
285(1)
19.2 Average And Instantaneous Rate Of Change
285(2)
19.3 The Free-Falling Object
287(5)
19.3.1 Initial Problem Statement
288(1)
19.3.2 Analysis
288(1)
19.3.2.1 Assumptions
288(1)
19.3.2.2 Basic Definitions
289(1)
19.3.3 Design
289(1)
19.3.4 Implementation
290(2)
19.4 Derivative Of A Function
292(6)
19.4.1 Computing The Derivative With Finite Differences
294(1)
19.4.2 Computing The First Derivative Using Python
295(3)
19.5 Numerical Integration
298(4)
19.5.1 Area Under A Curve
298(1)
19.5.2 Using The Trapezoid Method
299(2)
19.5.3 Using Adaptive Quadrature
301(1)
19.6 Work Produced In A Piston With An Ideal Gas
302(1)
19.7 Differential Equations
303(1)
19.8 Models Of Dynamical Systems
304(2)
19.8.1 State Equations
305(1)
19.8.2 Output Equations
305(1)
19.9 Formulating Simple Examples
306(3)
19.9.1 Free-Falling Object
306(1)
19.9.2 Object On Horizontal Surface
307(1)
19.9.3 Object Moving On An Inclined Surface
308(1)
19.10 Solution Of Differential Equations
309(10)
19.10.1 Model With A Single Differential Equation
310(3)
19.10.2 Model With A System Of Differential Equations
313(2)
19.10.3 Model With Drag Force
315(2)
19.10.4 Prey And Predator Model
317(2)
19.11 Summary
319(1)
19.12 Exercises
319(6)
Section V Linear Optimization Models
Chapter 20 Linear Optimization Modeling
325(16)
20.1 Introduction
325(1)
20.2 General Form Of A Linear Optimization Model
325(1)
20.3 The Simplex Algorithm
326(3)
20.3.1 Foundations Of The Simplex Algorithm
326(1)
20.3.2 Problem Formulation In Standard Form
327(1)
20.3.3 Generalized Standard Form
328(1)
20.3.4 Additional Definitions
329(1)
20.4 Description Of The Simplex Algorithm
329(3)
20.4.1 General Description Of The Simplex Algorithm
329(1)
20.4.2 Detailed Description Of The Simplex Algorithm
330(1)
20.4.3 Degeneracy And Convergence
331(1)
20.4.4 Two-Phase Method
331(1)
20.5 Formulation Of Linear Optimization Models
332(1)
20.6 Example Problems
332(4)
20.6.1 Case Study 1
333(1)
20.6.1.1 Understanding The Problem
333(1)
20.6.1.2 Mathematical Formulation
333(1)
20.6.2 Case Study 2
333(1)
20.6.2.1 Understanding The Problem
334(1)
20.6.2.2 Mathematical Formulation
334(1)
20.6.3 Case Study 3
334(1)
20.6.3.1 Understanding The Problem
335(1)
20.6.3.2 Mathematical Formulation
335(1)
20.6.4 Case Study 4
335(7)
20.6.4.1 Understanding The Problem
335(1)
20.6.4.2 Mathematical Formulation
336(1)
20.7 Summary
336(1)
20.8 Exercises
337(4)
Chapter 21 Solving Linear Optimization Models
341(16)
21.1 Introduction
341(1)
21.2 Linear Optimization Models With Python
341(1)
21.3 Modeling With Pyomo
342(7)
21.3.1 Formulating Case Study 1
342(4)
21.3.2 An Abstract Model Case Study 1
346(3)
21.4 Modeling With Pulp
349(3)
21.5 Software Linear Optimization Solvers
352(1)
21.6 Short List Of Optimization Solvers
353(1)
21.7 Summary
353(1)
21.8 Exercises
354(3)
Chapter 22 Sensitivity Analysis And Duality
357(12)
22.1 Introduction
357(1)
22.2 Sensitivity Analysis
357(6)
22.2.1 Coefficients Of The Objective Function
357(1)
22.2.2 Using Pulp: Example 1
358(2)
22.2.3 Using Pyomo: Example 1
360(2)
22.2.4 Right-Hand Side Of Constraints
362(1)
22.3 Duality
363(3)
22.3.1 Formulating The Dual Problem
363(2)
22.3.2 Transforming A Problem To Standard Form
365(1)
22.3.3 Duality Discussion
366(1)
22.4 Summary
366(1)
22.5 Exercises
367(2)
Chapter 23 Transportation Models
369(38)
23.1 Introduction
369(1)
23.2 Model Of A Transportation Problem
369(2)
23.3 Transportation Case Study 1
371(6)
23.3.1 Formulation Using The Pyomo Modeler
372(3)
23.3.2 Formulation Using The Pulp Modeler
375(2)
23.4 Unbalanced Problem: Case Study 2
377(7)
23.4.1 Formulation With The Pyomo Modeler
379(3)
23.4.2 Formulation With The Pulp Modeler
382(2)
23.5 Unbalanced Problem: Case Study 3
384(6)
23.5.1 Formulation With The Pyomo Modeler
385(3)
23.5.2 Formulation With The Pulp Modeler
388(2)
23.6 Transshipment Models
390(1)
23.7 Transshipment Problem: Case Study 4
390(7)
23.7.1 Formulation With The Pyomo Modeler
392(3)
23.7.2 Formulation With The Pulp Modeler
395(2)
23.8 Assignment Problems
397(1)
23.9 Assignment Problem: Case Study 5
398(6)
23.9.1 Formulation With The Pyomo Modeler
399(4)
23.9.2 Formulation With The Pulp Modeler
403(1)
23.10 Summary
404(1)
23.11 Exercises
405(2)
Chapter 24 Network Models
407(32)
24.1 Introduction
407(1)
24.2 Graphs
407(1)
24.3 Shortest Path Problem
407(1)
24.4 Shortest Path: Case Study 1
408(7)
24.4.1 Formulation Using The Pyomo Modeler
410(3)
24.4.2 Formulation Using The Pulp Modeler
413(2)
24.5 Maximum Flow Problems
415(7)
24.5.1 Formulation Using The Pyomo Modeler
417(4)
24.5.2 Formulation Using The Pulp Modeler
421(1)
24.6 Critical Path Method
422(6)
24.6.1 Critical Path Method: Case Study
424(1)
24.6.2 Formulation Using The Pyomo Modeler
425(2)
24.6.3 Formulation Using The Pulp Modeler
427(1)
24.7 Reducing The Time To Complete A Project
428(8)
24.7.1 Reducing Time Case Study
429(1)
24.7.2 Formulation Using The Pyomo Modeler
430(5)
24.7.3 Formulation Using The Pulp Modeler
435(1)
24.8 Summary
436(1)
24.9 Exercises
437(2)
Chapter 25 Integer Unear Optimization Models
439(20)
25.1 Introduction
439(1)
25.2 Modeling With Integer Variables
439(4)
25.3 Applications Of Integer Linear Optimization
443(1)
25.3.1 Branch And Bound
443(1)
25.3.2 Branch And Cut
444(1)
25.4 Integer Linear Optimization: Case Study 1
444(4)
25.4.1 Formulation Of The Model Using Pyomo
445(2)
25.4.2 Formulation Of The Model Using Pulp
447(1)
25.5 Integer Linear Optimization: Case Study 2
448(8)
25.5.1 Formulation Of The Model Using Pyomo
450(4)
25.5.2 Formulation Of The Model Using Pulp
454(2)
25.6 Summary
456(1)
25.7 Exercises
456(3)
Bibliography 459(2)
Index 461
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.