000 | 11237nam a22004933i 4500 | ||
---|---|---|---|
001 | EBC6113652 | ||
003 | MiAaPQ | ||
005 | 20240122001208.0 | ||
006 | m o d | | ||
007 | cr cnu|||||||| | ||
008 | 231124s2019 xx o ||||0 eng d | ||
020 |
_a9783030168773 _q(electronic bk.) |
||
020 | _z9783030168766 | ||
035 | _a(MiAaPQ)EBC6113652 | ||
035 | _a(Au-PeEL)EBL6113652 | ||
035 | _a(OCoLC)1143626365 | ||
040 |
_aMiAaPQ _beng _erda _epn _cMiAaPQ _dMiAaPQ |
||
050 | 4 | _aQA71-90 | |
082 | 0 | _a004.0151 | |
100 | 1 | _aLinge, Svein. | |
245 | 1 | 0 |
_aProgramming for Computations - Python : _bA Gentle Introduction to Numerical Simulations with Python 3. 6. |
250 | _a2nd ed. | ||
264 | 1 |
_aCham : _bSpringer International Publishing AG, _c2019. |
|
264 | 4 | _c�2020. | |
300 | _a1 online resource (350 pages) | ||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
490 | 1 |
_aTexts in Computational Science and Engineering Series ; _vv.15 |
|
505 | 0 | _aIntro -- Preface -- Abstract -- Contents -- List of Exercises -- 1 The First Few Steps -- 1.1 What Is a Program? And What Is Programming? -- 1.1.1 Installing Python -- 1.2 A Python Program with Variables -- 1.2.1 The Program -- 1.2.2 Dissecting the Program -- 1.2.3 Why Use Variables? -- 1.2.4 Mathematical Notation Versus Coding -- 1.2.5 Write and Run Your First Program -- 1.3 A Python Program with a Library Function -- 1.4 Importing from Modules and Packages -- 1.4.1 Importing for Use Without Prefix -- 1.4.2 Importing for Use with Prefix -- 1.4.3 Imports with Name Change -- 1.4.4 Importing from Packages -- 1.4.5 The Modules/Packages Used in This Book -- 1.5 A Python Program with Vectorization and Plotting -- 1.6 Plotting, Printing and Input Data -- 1.6.1 Plotting with Matplotlib -- 1.6.2 Printing: The String Format Method -- 1.6.3 Printing: The f-String -- 1.6.4 User Input -- 1.7 Error Messages and Warnings -- 1.8 Concluding Remarks -- 1.8.1 Programming Demands You to Be Accurate! -- 1.8.2 Write Readable Code -- 1.8.3 Fast Code or Slower and Readable Code? -- 1.8.4 Deleting Data No Longer in Use -- 1.8.5 Code Lines That Are Too Long -- 1.8.6 Where to Find More Information? -- 1.9 Exercises -- Exercise 1.1: Error Messages -- Exercise 1.2: Volume of a Cube -- Exercise 1.3: Area and Circumference of a Circle -- Exercise 1.4: Volumes of Three Cubes -- Exercise 1.5: Average of Integers -- Exercise 1.6: Formatted Print to Screen -- 2 A Few More Steps -- 2.1 Using Python Interactively -- 2.1.1 The IPython Shell -- 2.1.2 Command History -- 2.1.3 TAB Completion -- 2.2 Variables, Objects and Expressions -- 2.2.1 Choose Descriptive Variable Names -- 2.2.2 Reserved Words -- 2.2.3 Assignment -- 2.2.4 Object Type and Type Conversion -- 2.2.5 Automatic Type Conversion -- 2.2.6 Operator Precedence -- 2.2.7 Division-Quotient and Remainder. | |
505 | 8 | _a2.2.8 Using Parentheses -- 2.2.9 Round-Off Errors -- 2.2.10 Boolean Expressions -- 2.3 Numerical Python Arrays -- 2.3.1 Array Creation and Array Elements -- 2.3.2 Indexing an Array from the End -- 2.3.3 Index Out of Bounds -- 2.3.4 Copying an Array -- 2.3.5 Slicing an Array -- 2.3.6 Two-Dimensional Arrays and Matrix Computations -- 2.4 Random Numbers -- 2.5 Exercises -- Exercise 2.1: Interactive Computing of Volume -- Exercise 2.2: Interactive Computing of Circumference and Area -- Exercise 2.3: Update Variable at Command Prompt -- Exercise 2.4: Multiple Statements on One Line -- Exercise 2.5: Boolean Expression-Even or Odd Number? -- Exercise 2.6: Plotting Array Data -- Exercise 2.7: Switching Values -- Exercise 2.8: Drawing Random Numbers -- 3 Loops and Branching -- 3.1 The for Loop -- 3.1.1 Example: Printing the 5 Times Table -- 3.1.2 Characteristics of a Typical for Loop -- 3.1.3 Combining for Loop and Array -- 3.1.4 Using the range Function -- 3.1.5 Using break and continue -- 3.2 The while Loop -- 3.2.1 Example: Finding the Time of Flight -- 3.2.2 Characteristics of a Typical while Loop -- 3.3 Branching (if, elif and else) -- 3.3.1 Example: Judging the Water Temperature -- 3.3.2 The Characteristics of Branching -- 3.3.3 Example: Finding the Maximum Height -- 3.3.4 Example: Random Walk in Two Dimensions -- 3.4 Exercises -- Exercise 3.1: A for Loop with Errors -- Exercise 3.2: The range Function -- Exercise 3.3: A while Loop with Errors -- Exercise 3.4: while Loop Instead of for Loop -- Exercise 3.5: Compare Integers a and b -- Exercise 3.6: Area of Rectangle Versus Circle -- Exercise 3.7: Frequency of Random Numbers -- Exercise 3.8: Game 21 -- Exercise 3.9: Simple Search: Verification -- Exercise 3.10: Sort Array with Numbers -- Exercise 3.11: Compute -- 4 Functions and the Writing of Code -- 4.1 Functions: How to Write Them?. | |
505 | 8 | _a4.1.1 Example: Writing Our First Function -- 4.1.2 Characteristics of a Function Definition -- 4.1.3 Functions and the Main Program -- 4.1.4 Local Versus Global Variables -- 4.1.5 Calling a Function Defined with Positional Parameters -- 4.1.6 A Function with Two Return Values -- 4.1.7 Calling a Function Defined with Keyword Parameters -- 4.1.8 A Function with Another Function as Input Argument -- 4.1.9 Lambda Functions -- 4.1.10 A Function with Several Return Statements -- 4.2 Programming as a Step-Wise Strategy -- 4.2.1 Making a Times Tables Test -- 4.2.2 The 1st Version of Our Code -- 4.2.3 The 2nd Version of Our Code -- 4.2.4 The 3rd Version of Our Code -- 4.3 Exercises -- Exercise 4.1: Errors with Colon, Indent, etc. -- Exercise 4.2: Reading Code 1 -- Exercise 4.3: Reading Code 2 -- Exercise 4.4: Functions for Circumference and Area of a Circle -- Exercise 4.5: Function for Adding Vectors -- Exercise 4.6: Function for Area of a Rectangle -- Exercise 4.7: Average of Integers -- Exercise 4.8: When Does Python Check Function Syntax? -- Exercise 4.9: Find Crossing Points of Two Graphs -- Exercise 4.10: Linear Interpolation -- Exercise 4.11: Test Straight Line Requirement -- Exercise 4.12: Fit Straight Line to Data -- Exercise 4.13: Fit Sines to Straight Line -- 5 Some More Python Essentials -- 5.1 Lists and Tuples: Alternatives to Arrays -- 5.2 Exception Handling -- 5.2.1 The Fourth Version of Our Times Tables Program -- 5.3 Symbolic Computations -- 5.3.1 Numerical Versus Symbolic Computations -- 5.3.2 SymPy: Some Basic Functionality -- 5.3.3 Symbolic Calculations with Some Other Tools -- 5.4 Making Our Own Module -- 5.4.1 A Naive Import -- 5.4.2 A Module for Vertical Motion -- 5.4.3 Module or Program? -- 5.5 Files: Read and Write -- 5.6 Measuring Execution Time -- 5.6.1 The timeit Module -- 5.7 Exercises -- Exercise 5.1: Nested for Loops and Lists. | |
505 | 8 | _aExercise 5.2: Exception Handling: Divisions in a Loop -- Exercise 5.3: Taylor Series, sympy and Documentation -- Exercise 5.4: Fibonacci Numbers -- Exercise 5.5: Read File: Total Volume of Boxes -- Exercise 5.6: Area of a Polygon -- Exercise 5.7: Count Occurrences of a String in a String -- Exercise 5.8: Compute Combinations of Sets -- 6 Computing Integrals and Testing Code -- 6.1 Basic Ideas of Numerical Integration -- 6.2 The Composite Trapezoidal Rule -- 6.2.1 The General Formula -- 6.2.2 A General Implementation -- 6.2.3 A Specific Implementation: What's the Problem? -- 6.3 The Composite Midpoint Method -- 6.3.1 The General Formula -- 6.3.2 A General Implementation -- 6.3.3 Comparing the Trapezoidal and the Midpoint Methods -- 6.4 Vectorizing the Functions -- 6.4.1 Vectorizing the Midpoint Rule -- 6.4.2 Vectorizing the Trapezoidal Rule -- 6.4.3 Speed up Gained with Vectorization -- 6.5 Rate of Convergence -- 6.6 Testing Code -- 6.6.1 Problems with Brief Testing Procedures -- 6.6.2 Proper Test Procedures -- 6.6.3 Finite Precision of Floating-Point Numbers -- 6.6.4 Constructing Unit Tests and Writing Test Functions -- 6.7 Double and Triple Integrals -- 6.7.1 The Midpoint Rule for a Double Integral -- 6.7.2 The Midpoint Rule for a Triple Integral -- 6.7.3 Monte Carlo Integration for Complex-Shaped Domains -- 6.8 Exercises -- Exercise 6.1: Hand Calculations for the Trapezoidal Method -- Exercise 6.2: Hand Calculations for the Midpoint Method -- Exercise 6.3: Compute a Simple Integral -- Exercise 6.4: Hand-Calculations with Sine Integrals -- Exercise 6.5: Make Test Functions for the Midpoint Method -- Exercise 6.6: Explore Rounding Errors with Large Numbers -- Exercise 6.7: Write Test Functions for 04xdx -- Exercise 6.8: Rectangle Methods -- Exercise 6.9: Adaptive Integration -- Exercise 6.10: Integrating x Raised to x. | |
505 | 8 | _aExercise 6.11: Integrate Products of Sine Functions -- Exercise 6.12: Revisit Fit of Sines to a Function -- Exercise 6.13: Derive the Trapezoidal Rule for a Double Integral -- Exercise 6.14: Compute the Area of a Triangle by Monte Carlo Integration -- 7 Solving Nonlinear Algebraic Equations -- 7.1 Brute Force Methods -- 7.1.1 Brute Force Root Finding -- 7.1.2 Brute Force Optimization -- 7.1.3 Model Problem for Algebraic Equations -- 7.2 Newton's Method -- 7.2.1 Deriving and Implementing Newton's Method -- 7.2.2 Making a More Efficient and Robust Implementation -- 7.3 The Secant Method -- 7.4 The Bisection Method -- 7.5 Rate of Convergence -- 7.6 Solving Multiple Nonlinear Algebraic Equations -- 7.6.1 Abstract Notation -- 7.6.2 Taylor Expansions for Multi-Variable Functions -- 7.6.3 Newton's Method -- 7.6.4 Implementation -- 7.7 Exercises -- Exercise 7.1: Understand Why Newton's Method Can Fail -- Exercise 7.2: See If the Secant Method Fails -- Exercise 7.3: Understand Why the Bisection Method Cannot Fail -- Exercise 7.4: Combine the Bisection Method with Newton's Method -- Exercise 7.5: Write a Test Function for Newton's Method -- Exercise 7.6: Halley's Method and the Decimal Module -- Exercise 7.7: Fixed Point Iteration -- Exercise 7.8: Solve Nonlinear Equation for a Vibrating Beam -- 8 Solving Ordinary Differential Equations -- 8.1 Filling a Water Tank: Two Cases -- 8.1.1 Case 1: Piecewise Constant Rate -- 8.1.2 Case 2: Continuously Increasing Rate -- 8.1.3 Reformulating the Problems as ODEs -- 8.2 Population Growth: A First Order ODE -- 8.2.1 Derivation of the Model -- 8.2.2 Numerical Solution: The Forward Euler (FE) Method -- 8.2.3 Programming the FE Scheme -- the Special Case -- 8.2.4 Understanding the Forward Euler Method -- 8.2.5 Programming the FE Scheme -- the General Case -- 8.2.6 A More Realistic Population Growth Model. | |
505 | 8 | _a8.2.7 Verification: Exact Linear Solution of the Discrete Equations. | |
588 | _aDescription based on publisher supplied metadata and other sources. | ||
590 | _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2023. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. | ||
655 | 4 | _aElectronic books. | |
700 | 1 | _aLangtangen, Hans Petter. | |
776 | 0 | 8 |
_iPrint version: _aLinge, Svein _tProgramming for Computations - Python _dCham : Springer International Publishing AG,c2019 _z9783030168766 |
797 | 2 | _aProQuest (Firm) | |
830 | 0 | _aTexts in Computational Science and Engineering Series | |
856 | 4 | 0 |
_uhttps://ebookcentral.proquest.com/lib/bacm-ebooks/detail.action?docID=6113652 _zClick to View |
999 |
_c305594 _d305594 |