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