Python scripting for computational science / (Record no. 1780)

MARC details
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
Holdings
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
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha