Python scripting for computational science / Hans Petter Langtangen.

By: Langtangen, Hans PetterMaterial type: TextTextSeries: Texts in computational science and engineering ; 3Publication details: Berlin ; New York : Springer, 2004Description: xxii, 726 p.ill.: 24 cmISBN: 3540435085Subject(s): Python (Computer program Language) | Science -- Data ProcessingDDC classification: 044
Contents:
1 Introduction 1.1 Scripting versus Traditional Programming 1.1.1 Why Scripting is Useful in Computational Science 1.1.2 Classification of Programming Languages . 1.1.3 Productive Pairs of Programming Languages 1.1.4 Gluing Existing Applications 1.1.5 Scripting Yields Shorter Code 1.1.6 Efficiencj' . 1.1.7 Type-Specification (Declaration) of Variables . 1.1.8 Flexible Function Interfaces 1.1.9 Interactive Computing. 1.1.10 Creating Code at Run Time 1.1.11 Nested Heterogeneous Data Structures 1.1.12 GUI Programming 1.1.13 Mixed Language Programming 1.1.14 When to Choose a Dynamically Typed Language 1.1.15 Why Python? 1.1.16 Script or Program? 1.2 Preparations for Working with This Book 2 Getting Started with Python Scripting 2.1 A Scientific Hello World Script 2.1.1 Executing Python Scripts 2.1.2 Dissection of the Scientific Hello World Script 2.2 Reading and Writing Data Files 2.2.1 Problem Specification 2.2.2 The Complete Code 2.2.3 Dissection 2.2.4 Working with Files in Memory 2.2.5 Efficiency Measurements 2.2.6 Exercises 2.3 Automating Simulation and Visualization 2.3.1 The Simulation Code 2.3.2 Using Gnuplot to Visualize (Jurves 2.3.3 Functionality of the Script 2.3.4 The Complete Code 2.3.5 Dissection 2.3.6 Exercises 2.4 Conducting Numerical Experiments 2.4.1 Wrapping a Loop Around Another Script 2.4.2 Generating an HTML Report 2.4.3 Making Animations 2.4.4 Varying Any Parameter 2.4.5 Exercises 2.5 File Format Conversior 2.5.1 The First Version of the Script 2.5.2 The Second Version of the Script 3 Basic Python 3.1 Introductory Topics 3.1.1 Recommended Python Documentation 3.1.2 Testing Statements in the Interactive Shell 3.1.3 Control Statements 3.1.4 Running an Application 3.1.5 File Reading and Writing 3.1.6 Output Formatting 3.2 Variables of Different Types 3.2.1 Boolean Types 3.2.2 The None Variable 3.2.3 Numbers and Numerical Expressions 3.2.4 Lists and Tuples 3.2.5 Dictionaries 3.2.6 Splitting and Joining Text 3.2.7 String Operations 3.2.8 Text Processing 3.2.9 The Basics of a Python Class 3.2.10 Determining a Variable's Type 3.2.11 Exercises 3.3 Functions 3.3.1 Keyword Arguments 3.3.2 Doc Strings 3.3.3 Variable Number of Arguments 3.3.4 Call by Reference 3.3.5 Treatment of Input and Output Arguments 3.3.6 Function Objects 3.4 Working with Files and Directories 3.4.1 Listing Files in a Directory 3.4.2 Testing File Types 3.4.3 Removing Files and Directories 3.4.4 Copying and Renaming Files 3.4.5 Splitting Pathnames 3.4.6 Creating and Moving to Directories 3.4.7 Traversing Directory Trees 3.4.8 Exercises Numerical Computing in Python 4.1 A Quick NumPy Primer 4.1.1 Creating Arrays 4.1.2 Array Indexing 4.1.3 Array Computations 4.1.4 Type Testing 4.1.5 Hidden Temporary Arrays 4.1.6 Exercises 4.2 Vectorized Algorithms . 4.2.1 From Scalar to Array Function Arguments 4.2.2 Slicing 4.2.3 Remark on Efficiency 4.2.4 Exercises 4.3 More Advanced Array Computing 4.3.1 Random Numbers 4.3.2 Linear Algebra 4.3.3 The Gnuplot Module 4.3.4 Example: Curve Fitting 4.3.5 Arrays on Structured Grids 4.3.6 File I/O with NumPy Arrays 4.3.7 Reading and Writing Tables with NumPy Arrays 4.3.8 Functionality in the Numpytools Module 4.3.9 Exercises 4.4 Other Tools for Numerical Computations 4.4.1 The ScientificPython Package 4.4.2 The SciPy Package 4.4.3 The Python-Matlab Interface 4.4.4 Some Useful Python Modules. Combining Python with Fortran, C, and C++ 5.1 About Mixed Language Programming . 5.1.1 Applications of Mixed Language Programming 5.1.2 Calling C from Python 5.1.3 Automatic Generation of Wrapper Code 5.2 Scientific Hello World Examples 5.2.1 Combining Python and Fortran 5.2.2 Combining Python and C 5.2.3 Combining Python and C++ Functions 5.2.4 Combining Python and C++ Classes 5.2.5 Exercises 5.3 A Simple Computational Steering Example 5.3.1 Modified Time Loop for Repeated Simulations 5.3.2 Creating a Python Interface 5.3.3 The Steering Python Script 5.3.4 Equipping the Steering Script with a GUI 5.4 Scripting Interfaces to Large Libraries Introduction to GUI Programming 6.1 Scientific Hello World GUI 6.1.1 Introductory Topics 6.1.2 The First Python/Tkinter Encounter 6.1.3 Binding Events 6.1.4 Changing the Layout 6.1.5 The Final Scientific Hello World GUI 6.1.6 An Alternative to Tkinter Variables 6.1.7 About the Pack Command 6.1.8 An Introduction to the Grid Geometry Manager 6.1.9 Implementing a GUI as a Class 6.1.10 A Simple Graphical Function Evaluator 6.1.11 Exercises 6.2 Adding GUIs to Scripts 6.2.1 A Simulation and Visualization Script with a GUI 6.2.2 Improving the Layout 6.2.3 Exercises 6.3 A List of Common Widget Operations 6.3.1 Frame 6.3.2 Label. 6.3.3 Button 6.3.4 Text Entry 6.3.5 Balloon Help 6.3.6 Option Menu 6.3.7 Slider 6.3.8 Check Button 6.3.9 Making a Simple Megawidget 6.3.10 Menu Bar 6.3.11 List Data 6.3.12 Listbox 6.3.13 Radio Button 6.3.14 Combo Box 6.3.15 Message Box 6.3.16 User-Defined Dialogs 6.3.17 Color-Picker Dialogs 6.3.18 File Selection Dialogs 6.3.19 Toplevel 6 3.20 Some Other Types of Widgets * +• o 6^3.21 Adapting Widgets to the User's Resize Actions 6.3.22 Customizing Fonts and Colors 6.3.23 Widget Overview 6.3.24 Exercises 7 Web Interfaces and CGI Progr£unniing 7.1 Introductory CGI Scripts 7.1.1 Web Forms and CGI Scripts 7.1.2 Generating Forms in CGI Scripts 7.1.3 Debugging CGI Scripts 7.1.4 A General Shell Script Wrapper for CGI Scripts 7.1.5 Security Issues 7.2 Adding Web Interfaces to Scripts 7.2.1 A Class for Form Parameters 7.2.2 Calling Other Programs 7.2.3 Running Simulations 7.2.4 Getting a CGI Script to Work 7.2.5 Using Web Applications from Scripts 7.2.6 Exercises 8 Advcinced Python 8.1 Miscellaneous Topics 8.1.1 Parsing Command-Line Arguments 8.1.2 Platform-Dependent Operations 8.1.3 Run-Time Generation of Code 8.1.4 Exercises 8.2 Regular Expressions and Text Processing 8.2.1 Motivation 8.2.2 Special Characters 8.2.3 Regular Expressions for Real Numbers 8.2.4 Using Groups to Extract Parts of a Text 8.2.5 Extracting Interval Limits 8.2.6 Extracting Multiple Matches 8.2.7 Splitting Text 8.2.8 Pattern-Matching Modifiers . 8.2.9 Substitution and Backreferences 8.2.10 Example: Swapping Arguments in Function Calls 8.2.11 A General Substitution Script 8.2.12 Debugging Regular Expressions 8.2.13 Exercises 8.3 Tools for Handling Data in Files 8.3.1 Writing and Reading Python Data Structures 8.3.2 Pickling Objects 8.3.3 Shelving Objects 8.3.4 Writing and Reading Zip Archive Files 8.3.5 Downloading Internet Files 8.3.6 Binary Input/Output 8.3.7 Exercises 8.4 A Database for NumPy Arrays 8.4.1 The Structure of the Database 8.4.2 Pickling 8.4.3 Formatted ASCII Storage 8.4.4 Shelving 8.4.5 Comparing the Various Techniques 8.5 Scripts Involving Local and Remote Hosts. 8.5.1 Secure Shell Commands 8.5.2 Distributed Simulation and Visualization 8.5.3 Client/Server Programming 8.5.4 Threads 8.6 Classes . 8.6.1 Class Programming 8.6.2 Checking the CIeiss Type 8.6.3 Private Data 8.6.4 Static Data 8.6.5 Special Attributes 8.6.6 Special Methods . 8.6.7 Multiple Inheritance 8.6.8 Using a Class as a C-like Structure 8.6.9 Attribute Access via String Names 8.6.10 Example: Turning String Formulas into Functions 8.6.11 Example: Class for Structured Grids. 8.6.12 New-Style Classes 8.6.13 Implementing Get/Set Functions via Properties 8.6.14 Subclassing Built-in Types 8.6.15 Copy and Assignment . 8.6.16 Building Class Interfaces at Run Time 8.6.17 Building Flexible Class Interfaces 8.6.18 Exercises . 8.7 Scope of Variables 8.7.1 Global, Local, and Class Variables 8.7.2 Nested Functions . 8.7.3 Dictionaries of Variables in Namespaces 8.8 Exceptions 8.8.1 Handling Exceptions 8.8.2 Raising Exceptions . 8.9 Iterators 8.9.1 Constructing an Iterator 8.9.2 A Pointwise Grid Iterator 8.9.3 A Vectorized Grid Iterator 8.9.4 Generators 8.9.5 Some Aspects of Generic Programming 8.9.6 Exercises 8.10 Investigating Efficiency 8.10.1 CPU-Time Measurements . 8.10.2 Profiling Python Scripts . 8.10.3 Optimization of Python Code 9 Fortran Programming with NumPy Arrays 9.1 Problem Definition 9.2 Filling an Array in Fortran 9.2.1 The Fortran Subroutine 9.2.2 Building and Inspecting the Extension Module 9.3 Array Storage Issues 9.3.1 Generating an Erroneous Interface 9.3.2 Array Storage in C and Fortran. 9.3.3 Input and Output Arrays as Function Arguments 9.3.4 F2PY Interface Files 9.3.5 Hiding Work Arrays . 9.4 Increasing Callback Efficiency 9.4.1 Callbacks to Vectorized Python Functions 9.4.2 Avoiding Callbacks to Python 9^4^3 Compiled Inline Callback Functions 10 C and C++ Programming with NumPy Arrays 10 1 C Programming with NumPy Arrays 10.1.1 The Basics of the NumPy C API. 10.1.2 The Handwritten Extension Code 10.1.3 Sending Arguments from Python to C . 10.1.4 Consistency Checks 10.1.5 Computing Array Values 10.1.6 Returning an Output Array 10.1.7 Convenient Macros 10.1.8 Module Initialization 10 1 9 Extension Module Template . lOTTO Compiling, Linking, and Debugging the Module 10.1.11 Writing a Wrapper for a C Functron 10 2 C++ Programming with NumPy Arrays 10.2.1 Wrapping a NumPy Array in a C++ Object 10.2.2 Using SCXX 10 2 3 NumPy-C++ Class Conversron 10.3 Comparison of the Implementations 10.3.1 Efficiency • 10.3.2 Error Handling 11 More Advanced GUI Programming 11.1 Adding Plot Areas in GUIs 11.1.1 The BUT Graph Widget 1112 Animation of Functions in BLT Graph Widgets . 1113 Other Tools for Making GUIs with Plots 11.1.4 Exercises 11.2 Event Bindings . . 11.2.1 Binding Events to Functions with Arguments 11.2.2 A Text Widget with Tailored Keyboard Bindings 11.2.3 A Fancy List Widget 11.3 Animated Graphics with Canveis Widgets 11.3.1 The First Canvas Encounter 11.3.2 Coordinate Systems 11.3.3 The Mathematical Model Class 11.3.4 The Planet Class 11.3.5 Drawing and Moving Planets 11.3.6 Dragging Planets to New Positions 11.3.7 Using Pmw's Scrolled Canvas Widget. 11.4 Simulation and Visualization Scripts 11.4.1 Restructuring the Script 11.4.2 Representing a Parameter by a Class . 11.4.3 Improved Command-Line Script 11.4.4 Improved GUI Script 11.4.5 Improved CCI Script 11.4.6 Parameters with Physical Dimensions 11.4.7 Adding a Curve Plot Area 11.4.8 Automatic Generation of Scripts 11.4.9 Applications of the Tools 11.4.10 Allowing Physical Units in Input Files 11.4.11 Converting Input Files to GUIs . 12 Tools and Examples 12.1 Running Series of Computer Experiments 12.1.1 Multiple Values of Input Parameters 12.1.2 Implementation Details 12.1.3 Further Applications 12.2 Tools for Representing Functions 12.2.1 Functions Defined by String Formulas 12.2.2 A Unified Interface to Functions 12.2.3 Interactive Drawing of Functions 12.2.4 A Notebook for Selecting Functions 12.3 Solving Partial Differential Equations 12.3.1 Numerical Methods for ID Wave Equations 12.3.2 Implementations of ID Wave Equations 12.3.3 Classes for Solving ID Wave Equations 12.3.4 A Problem Solving Environment 12.3.5 Numerical Methods for 2D Wave Equations 12.3.6 Implementations of 2D Wave Equations 12.3.7 Exercises Setting up the Required Software Environment A.l Installation on Unix Systems A. 1.1 A Suggested Directory Structure A. 1.2 Setting Some Environment Variables A. 1.3 Installing Tcl/Tk and Additional Modules A. 1.4 Installing Python A. 1.5 Installing Python Modules A. 1.6 Installing Gnuplot A.1.7 Installing SWIG A. 1.8 Summary of Environment Variables A. 1.9 Testing the Installation of Scripting Utilities A.2 Installation on Windows Systems Elements of Software Engineering B.l Building and Using Modules B.1.1 Single-File Modules B.1.2 Multi-File Modules B. 1.3 Debugging and Troubleshooting B.2 Tools for Documenting Python Software B.2.1 Doc Strings B.2.2 Tools for Automatic Documentation B.3 Coding Standards B.3.1 Style Guide B.3.2 Pythonic Programming B.4 Verification of Scripts B.4.1 Automating Regression Tests B.4.2 Implementing a Tool for Regression Tests B.4.3 Writing a Test Script B 4.4 Verifying Output from iNumerical Computations B.4.5 Automatic Doc String Testing B.4.6 Unit Testing B.5 Version Control Management B.5.1 Getting Started with CVS B 5 2 Building Scripts to Simplify the Use of CVS B.6 Exercises
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode Item holds
General Books General Books Central Library, Sikkim University
General Book Section
044 LAN/P (Browse shelf(Opens below)) Available P31280
Total holds: 0

1 Introduction
1.1 Scripting versus Traditional Programming
1.1.1 Why Scripting is Useful in Computational Science
1.1.2 Classification of Programming Languages .
1.1.3 Productive Pairs of Programming Languages
1.1.4 Gluing Existing Applications
1.1.5 Scripting Yields Shorter Code
1.1.6 Efficiencj' .
1.1.7 Type-Specification (Declaration) of Variables .
1.1.8 Flexible Function Interfaces
1.1.9 Interactive Computing.
1.1.10 Creating Code at Run Time
1.1.11 Nested Heterogeneous Data Structures
1.1.12 GUI Programming
1.1.13 Mixed Language Programming
1.1.14 When to Choose a Dynamically Typed Language
1.1.15 Why Python?
1.1.16 Script or Program?
1.2 Preparations for Working with This Book
2 Getting Started with Python Scripting
2.1 A Scientific Hello World Script
2.1.1 Executing Python Scripts
2.1.2 Dissection of the Scientific Hello World Script
2.2 Reading and Writing Data Files
2.2.1 Problem Specification
2.2.2 The Complete Code
2.2.3 Dissection
2.2.4 Working with Files in Memory
2.2.5 Efficiency Measurements
2.2.6 Exercises
2.3 Automating Simulation and Visualization
2.3.1 The Simulation Code
2.3.2 Using Gnuplot to Visualize (Jurves
2.3.3 Functionality of the Script
2.3.4 The Complete Code
2.3.5 Dissection
2.3.6 Exercises
2.4 Conducting Numerical Experiments
2.4.1 Wrapping a Loop Around Another Script
2.4.2 Generating an HTML Report
2.4.3 Making Animations
2.4.4 Varying Any Parameter
2.4.5 Exercises
2.5 File Format Conversior
2.5.1 The First Version of the Script
2.5.2 The Second Version of the Script
3 Basic Python
3.1 Introductory Topics
3.1.1 Recommended Python Documentation
3.1.2 Testing Statements in the Interactive Shell
3.1.3 Control Statements
3.1.4 Running an Application
3.1.5 File Reading and Writing
3.1.6 Output Formatting
3.2 Variables of Different Types
3.2.1 Boolean Types
3.2.2 The None Variable
3.2.3 Numbers and Numerical Expressions
3.2.4 Lists and Tuples
3.2.5 Dictionaries
3.2.6 Splitting and Joining Text
3.2.7 String Operations
3.2.8 Text Processing
3.2.9 The Basics of a Python Class
3.2.10 Determining a Variable's Type
3.2.11 Exercises
3.3 Functions
3.3.1 Keyword Arguments
3.3.2 Doc Strings
3.3.3 Variable Number of Arguments
3.3.4 Call by Reference
3.3.5 Treatment of Input and Output Arguments
3.3.6 Function Objects
3.4 Working with Files and Directories
3.4.1 Listing Files in a Directory
3.4.2 Testing File Types
3.4.3 Removing Files and Directories
3.4.4 Copying and Renaming Files
3.4.5 Splitting Pathnames
3.4.6 Creating and Moving to Directories
3.4.7 Traversing Directory Trees
3.4.8 Exercises
Numerical Computing in Python
4.1 A Quick NumPy Primer
4.1.1 Creating Arrays
4.1.2 Array Indexing
4.1.3 Array Computations
4.1.4 Type Testing
4.1.5 Hidden Temporary Arrays
4.1.6 Exercises
4.2 Vectorized Algorithms .
4.2.1 From Scalar to Array Function Arguments
4.2.2 Slicing
4.2.3 Remark on Efficiency
4.2.4 Exercises
4.3 More Advanced Array Computing
4.3.1 Random Numbers
4.3.2 Linear Algebra
4.3.3 The Gnuplot Module
4.3.4 Example: Curve Fitting
4.3.5 Arrays on Structured Grids
4.3.6 File I/O with NumPy Arrays
4.3.7 Reading and Writing Tables with NumPy Arrays
4.3.8 Functionality in the Numpytools Module
4.3.9 Exercises
4.4 Other Tools for Numerical Computations
4.4.1 The ScientificPython Package
4.4.2 The SciPy Package
4.4.3 The Python-Matlab Interface
4.4.4 Some Useful Python Modules.
Combining Python with Fortran, C, and C++
5.1 About Mixed Language Programming .
5.1.1 Applications of Mixed Language Programming
5.1.2 Calling C from Python
5.1.3 Automatic Generation of Wrapper Code
5.2 Scientific Hello World Examples
5.2.1 Combining Python and Fortran
5.2.2 Combining Python and C
5.2.3 Combining Python and C++ Functions
5.2.4 Combining Python and C++ Classes
5.2.5 Exercises
5.3 A Simple Computational Steering Example
5.3.1 Modified Time Loop for Repeated Simulations
5.3.2 Creating a Python Interface
5.3.3 The Steering Python Script
5.3.4 Equipping the Steering Script with a GUI
5.4 Scripting Interfaces to Large Libraries
Introduction to GUI Programming
6.1 Scientific Hello World GUI
6.1.1 Introductory Topics
6.1.2 The First Python/Tkinter Encounter
6.1.3 Binding Events
6.1.4 Changing the Layout
6.1.5 The Final Scientific Hello World GUI
6.1.6 An Alternative to Tkinter Variables
6.1.7 About the Pack Command
6.1.8 An Introduction to the Grid Geometry Manager
6.1.9 Implementing a GUI as a Class
6.1.10 A Simple Graphical Function Evaluator
6.1.11 Exercises
6.2 Adding GUIs to Scripts
6.2.1 A Simulation and Visualization Script with a GUI
6.2.2 Improving the Layout
6.2.3 Exercises
6.3 A List of Common Widget Operations
6.3.1 Frame
6.3.2 Label.
6.3.3 Button
6.3.4 Text Entry
6.3.5 Balloon Help
6.3.6 Option Menu
6.3.7 Slider
6.3.8 Check Button
6.3.9 Making a Simple Megawidget
6.3.10 Menu Bar
6.3.11 List Data
6.3.12 Listbox
6.3.13 Radio Button
6.3.14 Combo Box
6.3.15 Message Box
6.3.16 User-Defined Dialogs
6.3.17 Color-Picker Dialogs
6.3.18 File Selection Dialogs
6.3.19 Toplevel
6 3.20 Some Other Types of Widgets * +• o
6^3.21 Adapting Widgets to the User's Resize Actions
6.3.22 Customizing Fonts and Colors
6.3.23 Widget Overview
6.3.24 Exercises
7 Web Interfaces and CGI Progr£unniing
7.1 Introductory CGI Scripts
7.1.1 Web Forms and CGI Scripts
7.1.2 Generating Forms in CGI Scripts
7.1.3 Debugging CGI Scripts
7.1.4 A General Shell Script Wrapper for CGI Scripts
7.1.5 Security Issues
7.2 Adding Web Interfaces to Scripts
7.2.1 A Class for Form Parameters
7.2.2 Calling Other Programs
7.2.3 Running Simulations
7.2.4 Getting a CGI Script to Work
7.2.5 Using Web Applications from Scripts
7.2.6 Exercises
8 Advcinced Python
8.1 Miscellaneous Topics
8.1.1 Parsing Command-Line Arguments
8.1.2 Platform-Dependent Operations
8.1.3 Run-Time Generation of Code
8.1.4 Exercises
8.2 Regular Expressions and Text Processing
8.2.1 Motivation
8.2.2 Special Characters
8.2.3 Regular Expressions for Real Numbers
8.2.4 Using Groups to Extract Parts of a Text
8.2.5 Extracting Interval Limits
8.2.6 Extracting Multiple Matches
8.2.7 Splitting Text
8.2.8 Pattern-Matching Modifiers .
8.2.9 Substitution and Backreferences
8.2.10 Example: Swapping Arguments in Function Calls
8.2.11 A General Substitution Script
8.2.12 Debugging Regular Expressions
8.2.13 Exercises
8.3 Tools for Handling Data in Files
8.3.1 Writing and Reading Python Data Structures
8.3.2 Pickling Objects
8.3.3 Shelving Objects
8.3.4 Writing and Reading Zip Archive Files
8.3.5 Downloading Internet Files
8.3.6 Binary Input/Output
8.3.7 Exercises
8.4 A Database for NumPy Arrays
8.4.1 The Structure of the Database
8.4.2 Pickling
8.4.3 Formatted ASCII Storage
8.4.4 Shelving
8.4.5 Comparing the Various Techniques
8.5 Scripts Involving Local and Remote Hosts.
8.5.1 Secure Shell Commands
8.5.2 Distributed Simulation and Visualization
8.5.3 Client/Server Programming
8.5.4 Threads
8.6 Classes .
8.6.1 Class Programming
8.6.2 Checking the CIeiss Type
8.6.3 Private Data
8.6.4 Static Data
8.6.5 Special Attributes
8.6.6 Special Methods .
8.6.7 Multiple Inheritance
8.6.8 Using a Class as a C-like Structure
8.6.9 Attribute Access via String Names
8.6.10 Example: Turning String Formulas into Functions
8.6.11 Example: Class for Structured Grids.
8.6.12 New-Style Classes
8.6.13 Implementing Get/Set Functions via Properties
8.6.14 Subclassing Built-in Types
8.6.15 Copy and Assignment .
8.6.16 Building Class Interfaces at Run Time
8.6.17 Building Flexible Class Interfaces
8.6.18 Exercises .
8.7 Scope of Variables
8.7.1 Global, Local, and Class Variables
8.7.2 Nested Functions .
8.7.3 Dictionaries of Variables in Namespaces
8.8 Exceptions
8.8.1 Handling Exceptions
8.8.2 Raising Exceptions .
8.9 Iterators
8.9.1 Constructing an Iterator
8.9.2 A Pointwise Grid Iterator
8.9.3 A Vectorized Grid Iterator
8.9.4 Generators
8.9.5 Some Aspects of Generic Programming
8.9.6 Exercises
8.10 Investigating Efficiency
8.10.1 CPU-Time Measurements .
8.10.2 Profiling Python Scripts .
8.10.3 Optimization of Python Code
9 Fortran Programming with NumPy Arrays
9.1 Problem Definition
9.2 Filling an Array in Fortran
9.2.1 The Fortran Subroutine
9.2.2 Building and Inspecting the Extension Module
9.3 Array Storage Issues
9.3.1 Generating an Erroneous Interface
9.3.2 Array Storage in C and Fortran.
9.3.3 Input and Output Arrays as Function Arguments
9.3.4 F2PY Interface Files
9.3.5 Hiding Work Arrays .
9.4 Increasing Callback Efficiency
9.4.1 Callbacks to Vectorized Python Functions
9.4.2 Avoiding Callbacks to Python
9^4^3 Compiled Inline Callback Functions
10 C and C++ Programming with NumPy Arrays
10 1 C Programming with NumPy Arrays
10.1.1 The Basics of the NumPy C API.
10.1.2 The Handwritten Extension Code
10.1.3 Sending Arguments from Python to C .
10.1.4 Consistency Checks
10.1.5 Computing Array Values
10.1.6 Returning an Output Array
10.1.7 Convenient Macros
10.1.8 Module Initialization
10 1 9 Extension Module Template .
lOTTO Compiling, Linking, and Debugging the Module
10.1.11 Writing a Wrapper for a C Functron
10 2 C++ Programming with NumPy Arrays
10.2.1 Wrapping a NumPy Array in a C++ Object
10.2.2 Using SCXX
10 2 3 NumPy-C++ Class Conversron
10.3 Comparison of the Implementations
10.3.1 Efficiency •
10.3.2 Error Handling
11 More Advanced GUI Programming
11.1 Adding Plot Areas in GUIs
11.1.1 The BUT Graph Widget
1112 Animation of Functions in BLT Graph Widgets .
1113 Other Tools for Making GUIs with Plots
11.1.4 Exercises
11.2 Event Bindings . .
11.2.1 Binding Events to Functions with Arguments
11.2.2 A Text Widget with Tailored Keyboard Bindings
11.2.3 A Fancy List Widget
11.3 Animated Graphics with Canveis Widgets
11.3.1 The First Canvas Encounter
11.3.2 Coordinate Systems
11.3.3 The Mathematical Model Class
11.3.4 The Planet Class
11.3.5 Drawing and Moving Planets
11.3.6 Dragging Planets to New Positions
11.3.7 Using Pmw's Scrolled Canvas Widget.
11.4 Simulation and Visualization Scripts
11.4.1 Restructuring the Script
11.4.2 Representing a Parameter by a Class .
11.4.3 Improved Command-Line Script
11.4.4 Improved GUI Script
11.4.5 Improved CCI Script
11.4.6 Parameters with Physical Dimensions
11.4.7 Adding a Curve Plot Area
11.4.8 Automatic Generation of Scripts
11.4.9 Applications of the Tools
11.4.10 Allowing Physical Units in Input Files
11.4.11 Converting Input Files to GUIs .
12 Tools and Examples
12.1 Running Series of Computer Experiments
12.1.1 Multiple Values of Input Parameters
12.1.2 Implementation Details
12.1.3 Further Applications
12.2 Tools for Representing Functions
12.2.1 Functions Defined by String Formulas
12.2.2 A Unified Interface to Functions
12.2.3 Interactive Drawing of Functions
12.2.4 A Notebook for Selecting Functions
12.3 Solving Partial Differential Equations
12.3.1 Numerical Methods for ID Wave Equations
12.3.2 Implementations of ID Wave Equations
12.3.3 Classes for Solving ID Wave Equations
12.3.4 A Problem Solving Environment
12.3.5 Numerical Methods for 2D Wave Equations
12.3.6 Implementations of 2D Wave Equations
12.3.7 Exercises
Setting up the Required Software Environment
A.l Installation on Unix Systems
A. 1.1 A Suggested Directory Structure
A. 1.2 Setting Some Environment Variables
A. 1.3 Installing Tcl/Tk and Additional Modules
A. 1.4 Installing Python
A. 1.5 Installing Python Modules
A. 1.6 Installing Gnuplot
A.1.7 Installing SWIG
A. 1.8 Summary of Environment Variables
A. 1.9 Testing the Installation of Scripting Utilities
A.2 Installation on Windows Systems
Elements of Software Engineering
B.l Building and Using Modules
B.1.1 Single-File Modules
B.1.2 Multi-File Modules
B. 1.3 Debugging and Troubleshooting
B.2 Tools for Documenting Python Software
B.2.1 Doc Strings
B.2.2 Tools for Automatic Documentation
B.3 Coding Standards
B.3.1 Style Guide
B.3.2 Pythonic Programming
B.4 Verification of Scripts
B.4.1 Automating Regression Tests
B.4.2 Implementing a Tool for Regression Tests
B.4.3 Writing a Test Script
B 4.4 Verifying Output from iNumerical Computations
B.4.5 Automatic Doc String Testing
B.4.6 Unit Testing
B.5 Version Control Management
B.5.1 Getting Started with CVS
B 5 2 Building Scripts to Simplify the Use of CVS
B.6 Exercises

There are no comments on this title.

to post a comment.
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha