Texts in Computational Science and Engineering
|
|
- Justina Rich
- 5 years ago
- Views:
Transcription
1 Texts in Computational Science and Engineering 3 Editors Timothy J. Barth, Moffett Field, CA Michael Griebel, Bonn David E. Keyes, Norfolk Risto M. Nieminen, Espoo Dirk Roose, Leuven Tamar Schlick, New York
2 Hans Petter Langtangen Python Scripting tor Computational Science With 62 Figures ~ Springer
3 Hans Petter Langtangen Simula Research Laboratory Martin Linges vei 17, Fornebu P.O. Box Lysaker, Norway On leave from: Department of Informatics University of Os10 P.O. Box 1080 Blindern 0316 Oslo, Norway The author of this book has received financial support from the NFF - Norsk faglitterrer forfatter- og oversetterforening. Library of Congress Control Number: Mathematics Subject Classification (2000): 65Y 99, 68NOl, 68N15, 68N19, 68N30, 97U50, 97U70 ISSN ISBN ISBN (ebook) DOI / This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfllm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag Berlin Heidelberg GmbH. Violations are liable for prosecution under the German Copyright Law. springeronline.com Springer-Verlag Berlin Heidelberg 2004 Originally published by Springer-Verlag Berlin Heidelberg New Y ork in 2004 Softcover reprint ofthe hardcover 1st edition 2004 The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover Design: Friedhelm Steinen-Broo, Estudio Calamar, Spain Cover production: design & production GmbH, Heidelberg Production: LE-TEX Jelonek, Schmidt &V6ckler GbR, Leipzig Typeset by the author. Printed on acid-free paper 46/31421YL
4 Preface The primary purpose of this book is to help scientists and engineers working intensively with computers to become more productive, have more fun, and increase the reliability of their investigations. Scripting in the Python programming language can be a key tool for reaching these goals [27,29]. The term scripting means different things to different people. By scripting I mean developing programs of an administering nature, mostly to organize your work, using languages where the abstraction level is higher and programming is more convenient than in Fortran, C, C++, or Java. Perl, Python, Ruby, Scheme, and Tel are examples of languages supporting such high-level programming or scripting. To some extent Matlab and similar scientific computing environments also fall into this category, but these environments are mainly used for computing and visualization with built-in tools, while scripting aims at gluing a range of different tools for computing, visualization, data analysis, file/directory management, user interfaces, and Internet communication. So, although Matlab is perhaps the scripting language of choiee in computational science today, my use of the term scripting goes beyond typical Matlab scripts. Python stands out as the language of choice for scripting in computational science because of its very elean syntax, rieh modularization features, good support for numerical computing, and rapidly growing popularity. What Scripting is About. The simplest application of scripting is to write short programs (scripts) that automate manual interaction with the computer. That is, scripts often glue stand-alone applications and operating system commands. A primary example is automating simulation and visualization: from an effective user interface the script extracts information and generates input files for a simulation program, runs the program, archive data files, prepares input for a visualization program, creates plots and animations, and perhaps performs some data analysis. More advanced use of scripting ineludes rapid construction of graphical user interfaces (GUIs), searching and manipulating text (data) files, managing files and directories, tailoring visualization and image processing environments to your own needs, administering large sets of computer experiments, and managing your existing Fortran, C, or C++ libraries and applications directly from scripts. Scripts are often considerably fast er to develop than the corresponding programs in a traditionallanguage like Fortran, C, C++, or Java, and the code is normally much shorter. In fact, the high-level programming style and tools used in scripts open up new possibilities you would hardly consider as a Fortran or C programmer. Furthermore, scripts are for the most part truly cross-platform, so what you write on Windows runs without modifications
5 VI Preface on Unix and Macintosh, also when graphical user interfaces and operating system interactions are involved. The interest in scripting with Python has exploded among Internet service developers and computer system administrators. However, Python scripting has a significant potential in computational science and engineering (CSE) as weil. Software systems such as Maple, Mathematica, Matlab, and S-Plus/R are primary examples of very popular, widespread tools because of their simple and effective user interface. Python resembles the nature of these interfaces, but is a fuil-fledged, advanced, and very powerful programming language. With Python and the techniques explained in this book, you can actually create your own easy-to-use computational environment, which mirrors the working style of Matlab-like tools, but tailored to your own number crunching codes and favorite visualization systems. Scripting enables you to develop scientific software that combines "the best of all worlds", i.e., highly different tools and programming styles for accomplishing a task. As a simple example, one can think of using a C++ library for creating a computational grid, a Fortran 77 library for solving partial differential equations on the grid, a C code for visualizing the solution, and Python for gluing the tools together in a high-level program, perhaps with an easy-to-use graphical interface. Special Features of This Book. The current book addresses applications of scripting in CSE and is tailored to professionals and students in this field. The book differs from other scripting books on the market in that it has a different pedagogical strategy, a different composition of topics, and a different target audience. Practitioners in computational science and engineering seldom have the interest and time to sit down with a pure computer language book and figure out how to apply the new tools to their problem areas. Instead, they want to get quickly started with examples from their own world of applications and learn the tools while using them. The present book is written in this spirit - we dive into simple yet useful examples and learn about syntax and programming techniques during dissection of the examples. The idea is to get the reader started such that further development of the examples towards real-life applications can be done with the aid of online manuals or Python reference books. Contents. The contents of the book can be briefly sketched as follows. Chapter 1 gives an introduction to what scripting is and what it can be good for in a computational science context. A quick introduction to scripting with Python, using examples of relevance to computational scientists and engineers, is provided in Chapter 2. Chapter 3 presents an overview of basic Python functionality, including file handling, data structures, functions, and operating system interaction. Numerical computing in Python, with particular focus on efficient array processing, is the subject of Chapter 4. Python can easily call up Fortran, C, and C++ code, which is demonstrated in Chapter 5.
6 Preface VII A quiek tutorial on building graphie al user interfaces appears in Chapter 6, while Chapter 7 builds the same user interfaces as interactive Web pages. Chapters 8-12 concern more advanced features of Python. In Chapter 8 we discuss regular expressions, persistent data, elass programming, and efficiency issues. Migrating slow loops over large array structures to Fortran, C, and C++ is the topic of Chapters 9 and 10. More advanced GUI programming, involving plot widgets, event bindings, animated graphics, and automatie generation of GUIs are treated in Chapter 11. More advanced tools and examples of relevance for problem solving environments in science and engineering, tying together many techniques from previous chapters, are presented in Chapter 12. Readers of this book need to have a considerable amount of software installed in order to be able to run all examples successfully. Appendix A explains how to install Python and many of its modules as well as other software packages. All the software needed for this book is available for free over the Internet. Good software engineering practice is outlined in a scripting context in Appendix B. This ineludes building modules and packages, documentation techniques and tools, co ding styles, verification of programs through automated regression tests, and application of version control systems. Required Background. This book is aimed at readers with programming experience. Many of the comments throughout the text address Fortran or C programmers and try to show how much fast er and more convenient Python code development turns out to be. Other comments, especially in the parts of the book that deal with elass programming, are meant for C++ and Java programmers. No previous experience with scripting languages like Perl or Tel is assumed, but there are scattered remarks on technical differences between Python and other scripting languages (Perl in particular). I hope to convince computational scientists having experience with Perl that Python is a preferable alternative, especially for large long-term projects. Matlab programmers constitute an important target audience. These will pick up simple Python programming quite easily, but to take advantage of elass programming at the level of Chapter 12 they probably need another source for introducing object-oriented programming and get experience with the dominating languages in that field, C++ or Java. Most of the examples are relevant for computational science. This means that the examples have a root in mathematical subjects, but the amount of mathematieal details is kept as low as possible to enlarge the audience and allow focusing on software and not mathematics. To appreciate and see the relevance of the examples, it is advantageous to be familiar with basie mathematical modeling and numerical computations. The usefulness of the book is meant to scale with the reader's amount of experience with numerical simulations.
7 VIII Preface Acknowledgements. The author appreciates the constructive comments from Arild Burud, Roger Hansen, and Tom Thorvaldsen on an earlier version of the manuscript. I will in particular thank the anonymous Springer referees of an even earlier version who made very useful suggestions, which led to a major revision and improvement of the book. Sylfest Glimsdal is thanked for his careful reading and detection of many errors in the present version of the book. I will also acknowledge all the input I have received from our enthusiastic team of scripters at Simula Research Laboratory: Are Magnus Bruaset, Xing Cai, Kent-Andre Mardal, Halvard Moe, Ola Skavhaug, Gunnar Staff, Magne Westlie, and Asmund 0degiird. As always, the prompt support and advice from Martin Peters, Frank Holzwarth, Leonie Kunz, Peggy Glauch, and Thanh-Ha Le Thi at Springer have been essential to complete the book project. Software, updates, and an errata list associated with this book can be found on the Web page From this page you can also download a PDF version of the book. The PDF version is searchable, and references are hyperlinks, thus making it convenient to navigate in the text during software development. Oslo, April 2004 Hans Petter Langtangen
8 Table of Contents 1 Introduction Scripting versus Ttaditional Programming Why Scripting is Useful in Computational Science Classification of Programming Languages Productive Pairs of Programming Languages Gluing Existing Applications Scripting Yields Shorter Code Efficiency Type-Specification (Declaration) of Variables Flexible Function Interfaces Interactive Computing Creating Code at Run Time Nested Heterogeneous Data Structures GUI Programming Mixed Language Programming When to Choose a Dynamically Typed Language Why Python? Script or Program? Preparations for Working with This Book Getting Started with Python Scripting A Scientific Hello World Script Executing Python Scripts Dissection of the Scientific Hello World Script Reading and Writing Data Files Problem Specification The Complete Code Dissection Working with Files in Memory Efficiency Measurements Exercises Automating Simulation and Visualization The Simulation Code Using Gnuplot to Visualize Curves Functionality of the Script The Complete Code Dissection Exercises Conducting Numerical Experiments Wrapping a Loop Around Another Script
9 X Table of Contents Generating an HTML Report Making Animations Varying Any Parameter Exercises File Format Conversion The First Version of the Script The Second Version of the Script Basic Python Introductory Topics Recommended Python Documentation Testing Statements in the Interactive Shell Control Statements Running an Application File Reading and Writing Output Formatting Variables of Different Types Boolean Types The None Variable Numbers and Numerical Expressions Lists and TupIes Dictionaries Splitting and Joining Text String Operations Text Processing The Basics of a Python Class Determining a Variable's Type Exercises Functions Keyword Arguments Doc Strings Variable Number of Arguments Call by Reference Treatment of Input and Output Arguments Function Objects Working with Files and Directories Listing Files in a Directory Testing File Types Removing Files and Directories Copying and Renaming Files Splitting Pathnames Creating and Moving to Directories Traversing Directory Trees Exercises
10 Table of Contents XI 4 N umerical Computing in Python A Quick NumPy Primer Creating Arrays Array Indexing Array Computations Type Testing Hidden Temporary Arrays Exercises Vectorized Algorithms From Scalar to Array Function Arguments Slicing Remark on Efficiency Exercises More Advanced Array Computing Random Numbers Linear Algebra The Gnuplot Module Example: Curve Fitting Arrays on Structured Grids File 1/0 with NumPy Arrays Reading and Writing Tables with NumPy Arrays Functionality in the Numpytools Module Exercises Other Tools for Numerical Computations The ScientificPython Package The SciPy Package The Python-Matlab Interface Some Useful Python Modules Combining Python with Fortran, C, and C About Mixed Language Programming Applications of Mixed Language Programming Calling C from Python Automatie Generation of Wrapper Code Scientific Hello World Examples Combining Python and Fortran Combining Python and C Combining Python and C++ Functions Combining Python and C++ Classes Exercises A Simple Computational Steering Example Modified Time Loop for Repeated Simulations Creating a Python Interface The Steering Python Script Equipping the Steering Script with a GUI Scripting Interfaces to Large Libraries
11 XII Table of Contents 6 Introduction to GUI Programming Scientific Hello World GUI Introductory Topics The First Python/Tkinter Encounter Binding Events Changing the Layout The Final Scientific Hello World GUI An Alternative to Tkinter Variables About the Pack Command An Introduction to the Grid Geometry Manager Implementing a GUI as a Class A Simple Graphical Function Evaluator Exercises Adding GUIs to Scripts A Simulation and Visualization Script with a GUI Improving the Layout Exercises A List of Common Widget Operations Frame Label Button Text Entry Balloon Help Option Menu Slider Check Button Making a Simple Megawidget Menu Bar List Data Listbox Radio Button Combo Box Message Box User-Defined Dialogs Color-Picker Dialogs File Selection Dialogs Toplevel Some Other Types of Widgets Adapting Widgets to the User's Resize Actions Customizing Fonts and Colors Widget Overview Exercises
12 Table of Contents XIII 7 Web Interfaces and CGI Programming Introductory CGI Scripts Web Forms and CGI Scripts Generating Forms in CGI Scripts Debugging CGI Scripts A General Shell Script Wrapper for CGI Scripts Security Issues Adding Web Interfaces to Scripts A Class for Form Parameters Calling Other Programs Running Simulations Getting a CGI Script to Work Using Web Applications from Scripts Exercises Advanced Python Miscellaneous Topics Parsing Command-Line Arguments Platform-Dependent Operations Run-Time Generation of Code Exercises Regular Expressions and Text Processing Motivation Special Characters Regular Expressions for Real Numbers Using Groups to Extract Parts of a Text Extracting Interval Limits Extracting Multiple Matches Splitting Text Pattern-Matching Modifiers Substitution and Backreferences Example: Swapping Arguments in Function Calls A General Substitution Script Debugging Regular Expressions Exercises Tools for Handling Data in Files Writing and Reading Python Data Structures Pickling Objects Shelving Objects Writing and Reading Zip Archive Files Downloading Internet Files Binary Input/Output Exercises A Database for NumPy Arrays The Structure of the Database Pickling
13 XIV Table of Contents Formatted ASCII Storage Shelving Comparing the Various Techniques Scripts Involving Local and Remote Hosts Sec ure Shell Commands Distributed Simulation and Visualization ClientjServer Programming Threads Classes Class Programming Checking the Class Type Private Data Static Data Special Attributes Special Methods Multiple Inheritance Using a Class as a C-like Structure Attribute Access via String Names Example: Turning String Formulas into Functions Example: Class for Structured Grids New-Style Classes Implementing GetjSet Functions via Properties Subclassing Built-in Types Copy and Assignment Building Class Interfaces at Run Time Building Flexible Class Interfaces Exercises Scope of Variables Global, Local, and Class Variables Nested Functions Dictionaries of Variables in Namespaces Exceptions Handling Exceptions Raising Exceptions Iterators Constructing an Iterator A Pointwise Grid Iterator A Vectorized Grid Iterator Generators Some Aspects of Generic Programming Exercises Investigating Efficiency CPU-Time Measurements Profiling Python Scripts Optimization of Python Code
14 Table of Contents XV 9 Fortran Programming with N umpy Arrays Problem Definition Filling an Array in Fortran The Fortran Subroutine Building and Inspecting the Extension Module Array Storage Issues Generating an Erroneous Interface Array Storage in C and Fortran Input and Output Arrays as Function Arguments F2PY Interface Files Hiding Work Arrays Increasing Callback Efficiency Callbacks to Vectorized Python Functions Avoiding Callbacks to Python Compiled Inline Callback Functions Summary Exercises C and C++ Programming with NumPy Arrays C Programming with NumPy Arrays The Basics of the NumPy C API The Handwritten Extension Code Sending Arguments from Python to C Consistency Checks Computing Array Values Returning an Output Array Convenient Macros Module Initialization Extension Module Template Compiling, Linking, and Debugging the Module Writing a Wrapper for a C Function C++ Programming with NumPy Arrays Wrapping a NumPy Array in a C++ Object Using SCXX NumPy-C++ Class Conversion Comparison of the Implementations Efficiency Error Handling Summary Exercises More Advanced GUI Programming Adding Plot Areas in GUIs The BLT Graph Widget Animation of Functions in BLT Graph Widgets Other Tools for Making GUIs with Plots
15 XVI Table of Contents Exercises Event Bindings Binding Events to Functions with Arguments A Text Widget with Tailored Keyboard Bindings A Fancy List Widget Animated Graphics with Canvas Widgets The First Canvas Encounter Co ordinate Systems The Mathematical Model Class The Planet Class Drawing and Moving Planets Dragging Planets to New Positions Using Pmw's SerolIed Canvas Widget Simulation and Visualization Scripts Restructuring the Script Representing a Parameter by a Class Improved Command-Line Script Improved GU! Script Improved CGI Script Parameters with Physical Dimensions Adding a Curve Plot Area Automatie Generation of Scripts Applications of the Tools Allowing Physical Units in Input Files Converting Input Files to GUIs Tools and Examples Running Series of Computer Experiments Multiple Values of Input Parameters Implementation Details Further Applications Tools for Representing Functions Functions Defined by String Formulas A Unified Interface to Functions Interactive Drawing of Functions A Notebook for Selecting Functions Solving Partial Differential Equations Numerical Methods for ID Wave Equations Implementations of ID Wave Equations Classes for Solving ID Wave Equations A Problem Solving Environment Numerical Methods for 2D Wave Equations Implementations of 2D Wave Equations Exercises
16 Table of Contents XVII A Setting up the Required Software Environment A.1 Installation on Unix Systems A.l.1 A Suggested Direetory Strueture A.l.2 Setting Some Environment Variables A.l.3 Installing Tcl/Tk and Additional Modules A.l.4 Installing Python A.l.5 Installing Python Modules A.l.6 Installing Gnuplot A.l.7 Installing SWIG A.l.8 Summary of Environment Variables A.l.9 Testing the Installation of Seripting Utilities A.2 Installation on Windows Systems B Elements of Software Engineering B.1 Building and Using Modules B.l.1 Single-File Modules B.l.2 Multi-File Modules B.l.3 Debugging and Troubleshooting B.2 Tools for Doeumenting Python Software B.2.1 Doe Strings B.2.2 Tools for Automatie Doeumentation B.3 Coding Standards B.3.1 Style Guide B.3.2 Pythonie Programming B.4 Verifieation of Seripts BA.1 Automating Regression Tests BA.2 Implementing a Tool for Regression Tests BA.3 Writing a Test Seript BAA Verifying Output from Numerieal Computations BA.5 Automatie Doe String Testing BA.6 Unit Testing B.5 Version Control Management B.5.1 Getting Started with CVS B.5.2 Building Seripts to Simplify the Use of CVS B.6 Exereises Bibliography Index
17 List of Exercises Exercise 2.1 Exercise 2.2 Exercise 2.3 Exercise 2.4 Exercise 2.5 Exercise 2.6 Exercise 2.7 Exercise 2.8 Exercise 2.9 Exercise 2.10 Exercise 2.11 Exercise 2.12 Exercise 2.13 Exercise 2.14 Exercise 2.15 Exercise 2.16 Exercise 2.17 Exercise 3.1 Exercise 3.2 Exercise 3.3 Exercise 3.4 Exercise 3.5 Exercise 3.6 Exercise 3.7 Exercise 3.8 Exercise 3.9 Exercise 3.10 Exercise 3.11 Exercise 3.12 Exercise 3.13 Exercise 3.14 Exercise 3.15 Exercise 3.16 Exercise 3.17 Exercise 3.18 Exercise 3.19 Exercise 3.20 Exercise 4.1 Exercise 4.2 Exercise 4.3 Become familiar with the electronie documentation Extend Exercise 2.1 with a loop Find five errors in a script Basie use of control structures Replace exception handling by an if-test Use standard input/output instead of files Read streams of (x, y) pairs from the command line Estimate the chance of an event in a diee game Determine if you win or loose a hazard game Generate an HTML report from the simviz1.py script.. 50 Generate a Jb.'IE;X report from the simvizl. py script Compute time step values in the simviz1.py script Use Matlab for curve plotting in the simvizl. py script.. 51 Combine curves from two simulations in one plot Make an animated oscillating system figure Improve an automatieally generated HTML report Combine two-column data files to a multi-column file Write format specifications in printf-style Write your own function for joining strings Write an improved function for joining strings Never modify a list you are iterating on Pack a collection of files Make a specialized sort function Check if your system has a specific program Find the paths to a collection of programs Use Exercise 3.8 to improve the simviz1.py script Use Exercise 3.8 to improve the loop4simviz2.py script. 99 Find the version number of a utility Automate execution of a family of similar commands Remove temporary files in a directory tree Find old and large files in a directory tree Remove redundant files in a directory tree Annotate a filename with the current date Automatie backup of recently modified files Search for a text in files with certain extensions Search directories for plots and make HTML report Fix Unix/Windows Line Ends Matrix-vector multiply with NumPy arrays Replace lists by NumPy arrays Assignment and in-place NumPy array modifications
18 XX List of Exercises Exercise 4.4 Exercise 4.5 Exercise 4.6 Exercise 4.7 Exercise 4.8 Exercise 4.9 Exercise 4.10 Exercise 4.11 Exercise 4.12 Exercise 4.13 Exercise 4.14 Exercise 4.15 Exercise 4.16 Exercise 4.17 Exercise 5.1 Exercise 5.2 Exercise 5.3 Exercise 6.1 Exercise 6.2 Exercise 6.3 Exercise 6.4 Exercise 6.5 Exercise 6.6 Exercise 6.7 Exercise 6.8 Exercise 6.9 Exercise 6.10 Exercise 6.11 Exercise 6.12 Exercise 6.13 Exercise 6.14 Exercise 6.15 Exercise 6.16 Exercise 6.17 Exercise 6.18 Exercise 6.19 Exercise 7.1 Exercise 7.2 Exercise 7.3 Exercise 7.4 Exercise 7.5 Exercise 8.1 Exercise 8.2 Exercise 8.3 Exercise 8.4 Process comma-separated numbers in a file Vectorized constant function Vectorize a numerical integration rule Vectorize a formula containing an if condition Vectorized Box-Müller method for normal variates Implement Exercise 2.8 using NumPy arrays Implement Exercise 2.9 using NumPy arrays Use the Gnuplot module in the simviz1.py script NumPy arrays and binary files One-dimensional Monte Carlo integration Higher-dimensional Monte Carlo integration Load data file into NumPy array and visualize Analyze trends in the data from Exercise Computing a function over a 3D grid Implement a numerical integration rule in F Implement a numerical integration rule in C Implement a numerical integration rule in C Modify the Scientific Hello World Gur Change the layout of the GUI in Exercise Control a layout with the grid geometry manager Make a demo of Newton's method Program with Pmw. EntryField in hwgui10. py Program with Pmw. EntryField in simvizgui2. py Replace Tkinter variables by set / get-like functions Use simviz1.py as a module in simvizgui2.py Apply Matlab for visualization in simvizgui2. py Program with Pmw. OptionMenu in simvizgui2. py Study the nonlinear motion of a pendulum Add error handling with an associated message box Add a message bar to a balloon help Select a file from a list and perform an action Make a GUI for finding and selecting font names Launch a GUI when command-line options are missing. 271 Write a GUI for Exercise Write a GUI for selecting files to be plotted Write an easy-to-use GUI generator Write a CGI debugging tool Make a Web calculator Make a Web application for registering participants Make a Web application for numerical experiments Become a "nobody" user on a Web server Use the getopt/optparse module in simviz1.py Store command-line options in a dictionary TUrn files with commands into Python variables A grep script
19 List of Exercises XXI Exercise 8.5 Exercise 8.6 Exercise 8.7 Exercise 8.8 Exercise 8.9 Exercise 8.10 Exercise 8.11 Exercise 8.12 Exercise 8.13 Exercise 8.14 Exercise 8.15 Exercise 8.16 Exercise 8.17 Exercise 8.18 Exercise 8.19 Exercise 8.20 Exercise 8.21 Exercise 8.22 Exercise 8.23 Exercise 8.24 Exercise 8.25 Exercise 8.26 Exercise 8.27 Exercise 8.28 Exercise 8.29 Experiment with a regex for real numbers Find errors in regular expressions Generate data from a user-supplied formula Explain the behavior of regular expressions Edit extensions in filenames Extract info from a program code Regex for splitting a pathname Rename a collection of files according to a pattern Reimplement the re. findall function Interpret a regex code and find programming errors Automatie fine tuning of PostScript figures Prefix name of digital image files with date and time Transform a list of lines to a list of paragraphs Copy computer codes into documents A very useful script for all writers Read Fortran 90 files with namelists Regex for matching fb.'ie;x commands Automatie update of function calls in C++ files Read/write (x, y) pairs from/to binary files Use the XDR format in the script from Exercise Archive all files needed in a fb.'ie;x document Using a Web site for distributed simulation Convert data structures to/from strings Implement a dass for vectors in 3D Extend the dass from Exericse Exercise 8.30 Make a dictionary type with ordered keys Exercise 8.31 Make a smarter integration function Exercise 8.32 Extend the Grid2D dass Exercise 8.33 Exercise 8.34 Exercise 8.35 Exercise 8.36 Exercise 9.1 Exercise 9.2 Exercise 9.3 Exercise 9.4 Exercise 9.5 Exercise 9.6 Exercise 10.1 Exercise 10.2 Exercise 10.3 Exercise 10.4 Exercise 10.5 Exercise 10.6 Exercise 10.7 Extend the functionality of dass Grid2D at run time Make a boundary iterator in a 2D grid Make a generator for odd numbers Make a dass for sparse vectors Extend Exercise 5.1 with a callback to Python Compile callback functions in Exercise Smoothing of time series Smoothing of 3D data Type incompatibility between Python and Fortran Problematic callbacks to Python from Fortran Extend Exercise 5.2 or 5.3 with a callback to Python Apply C/C++ function pointers in Exercise Debug a C extension module Investigate the efficiency of vector operations Make callbacks to vectorized Python functions Avoid Python callbacks in extension modules Extend Exercise 9.4 with C and C++ code
20 XXII List of Exercises Exercise 10.8 Apply SWIG to an array dass in C Exercisc 10.9 Build a dictionary in C Exercise Make a C module for computing random numbers Exercise Almost automatie generation of C extension modules Exercise Introduce C++ array objects in Exercise Exercise Introduce SCXX in Exercise Exercise ncorporate a BLT graph widget in simvizl.py Exercise 11.2 Plot a two-column datafile in a Pmw.Blt widget Exercise 11.3 Use a BLT graph widget in simvizgui2.py Exercise 11.4 Extend Exercise 11.3 to handle multiple curves Exercise 11.5 Use a BLT graph widget in Exercise Exercise nteractive dump of snapshot plots in an animation Exercise 11.7 Extend the animate.py GU Exercise 11.8 Animate a curve in a BLT graph widget Exercise 11.9 Add animations to the GU1 in Exercise Exercise Extend the GU1 in Exercise 6.17 with a fancy list Exercise Remove canvas items Exercise ntroduce properties in dass Parameters Exercise 12.1 Allow multiple values of parameters in input files Exercise 12.2 Turn mathematical formulas into Fortran functions Exercise 12.3 Exercise 12.4 Exercise 12.5 Exercise 12.6 Exercise B.1 Exercise B. 2 Exercise B.3 Exercise B.4 Exercise B. 5 Exercise B.6 Exercise B. 7 Exercise B. 8 Exercise B. 9 Exercise B.lO Exercise B.11 Exercise B.12 Move a wave source during simulation ndude damping in a 1D wave simulator Add a NumPy database to a PDE simulator Use iterators in finite difference schemes Pack modules and packages using Distutils Distribute mixed-ianguage code using Distutils Make a Python module of simviz1.py Use tools to document the script in Exercise Make a regression test for a trivial script Repeat Exercise B.5 using the test script tools Make a regression test for a script with 1/ Make a regression test for the script in Exercise Approximate fioats in Exercise B Make tests for grid iterators Make a tar/zip archive of files associated with a script Semi-automatic evaluation of a student project
Python Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting
More informationInterfacing with C++
Interfacing with C++ Jayantha Katupitiya Kim Bentley Interfacing with C++ Programming Real-World Applications ABC Dr. Jayantha Katupitiya Senior Lecturer School of Mechanical and Manufacturing Engineering
More informationContents Computing with Formulas
Contents 1 Computing with Formulas... 1 1.1 The First Programming Encounter: a Formula... 1 1.1.1 Using a Program as a Calculator... 2 1.1.2 About Programs and Programming... 2 1.1.3 Tools for Writing
More informationPROBLEM SOLVING WITH FORTRAN 90
David R. Brooks PROBLEM SOLVING WITH FORTRAN 90 FOR SCIENTISTS AND ENGINEERS Springer Contents Preface v 1.1 Overview for Instructors v 1.1.1 The Case for Fortran 90 vi 1.1.2 Structure of the Text vii
More informationPYTHON TRAINING COURSE CONTENT
SECTION 1: INTRODUCTION What s python? Why do people use python? Some quotable quotes A python history lesson Advocacy news What s python good for? What s python not good for? The compulsory features list
More informationGengsheng Lawrence Zeng. Medical Image Reconstruction. A Conceptual Tutorial
Gengsheng Lawrence Zeng Medical Image Reconstruction A Conceptual Tutorial Gengsheng Lawrence Zeng Medical Image Reconstruction A Conceptual Tutorial With 163 Figures Author Prof. Dr. Gengsheng Lawrence
More informationPTN-202: Advanced Python Programming Course Description. Course Outline
PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.
More informationc-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH
R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch c-xsc A C++ Class Library for Extended Scientific Computing Translated by G. F. Corliss C. Lawo R. Klatte A. Wiethoff C. Wolff Springer-Verlag Berlin Heidelberg
More informationSoftware Development for SAP R/3
Software Development for SAP R/3 Springer-Verlag Berlin Heidelberg GmbH Ulrich Mende Software Development for SAP R/3 Data Dictionary, ABAP/4, Interfaces With Diskette With 124 Figures and Many Example
More informationDavid J. Pine. Introduction to Python for Science & Engineering
David J. Pine Introduction to Python for Science & Engineering To Alex Pine who introduced me to Python Contents Preface About the Author xi xv 1 Introduction 1 1.1 Introduction to Python for Science and
More informationOn a Future Software Platform for Demanding Multi-Scale and Multi-Physics Problems
On a Future Software Platform for Demanding Multi-Scale and Multi-Physics Problems H. P. Langtangen X. Cai Simula Research Laboratory, Oslo Department of Informatics, Univ. of Oslo SIAM-CSE07, February
More informationJinkun Liu Xinhua Wang. Advanced Sliding Mode Control for Mechanical Systems. Design, Analysis and MATLAB Simulation
Jinkun Liu Xinhua Wang Advanced Sliding Mode Control for Mechanical Systems Design, Analysis and MATLAB Simulation Jinkun Liu Xinhua Wang Advanced Sliding Mode Control for Mechanical Systems Design, Analysis
More information[CHAPTER] 1 INTRODUCTION 1
FM_TOC C7817 47493 1/28/11 9:29 AM Page iii Table of Contents [CHAPTER] 1 INTRODUCTION 1 1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing...2 1.1.1 Algorithms...2 1.1.2
More informationGraphics Programming in c++
Graphics Programming in c++ Springer London Berlin Heidelberg New York Barcelona Budapest Hong Kong Milan Paris Santa Clara Singapore Tokyo Mark Walmsley Graphics Programming in c++ Writing Graphics Applications
More informationReal-Time Graphics Rendering Engine
Hujun Bao Wei Hua Real-Time Graphics Rendering Engine With 66 figures, 11 of them in color ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA Zhejiang
More informationGeometric Modeling and Algebraic Geometry
Geometric Modeling and Algebraic Geometry Bert Jüttler Ragni Piene Editors Geometric Modeling and Algebraic Geometry 123 Bert Jüttler Institute of Applied Geometry Johannes Kepler University Altenberger
More informationGeorge Grätzer. Practical L A TEX
Practical L A TEX George Grätzer Practical L A TEX 123 George Grätzer Toronto, ON, Canada Additional material to this book can be downloaded from http://extras.springer.com ISBN 978-3-319-06424-6 ISBN
More informationSlides from INF Course intro
Slides from INF3331- Course intro p. 1/38 Slides from INF3331 - Course intro Ola Skavhaug, Joakim Sundnes and Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory August
More informationHigh Availability and Disaster Recovery
High Availability and Disaster Recovery Klaus Schmidt High Availability and Disaster Recovery Concepts, Design, Implementation With 83 Figures and 26 Tables 123 Klaus Schmidt Stockheimer Str. 20 60385
More informationSTEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS
STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for
More informationAdvanced Data Mining Techniques
Advanced Data Mining Techniques David L. Olson Dursun Delen Advanced Data Mining Techniques Dr. David L. Olson Department of Management Science University of Nebraska Lincoln, NE 68588-0491 USA dolson3@unl.edu
More informationThis course is designed for anyone who needs to learn how to write programs in Python.
Python Programming COURSE OVERVIEW: This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non-trivial Python programs dealing with
More informationComputer Architecture
Computer Architecture Springer-Verlag Berlin Heidelberg GmbH Silvia M. Mueller Wolfgang J. Paul Computer Architecture Complexity and Correctness With 214 Figures and 185 Tables Springer Silvia Melitta
More informationIntroduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p.
Introduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p. 13 Python Distribution p. 16 Installing and Configuring Python p. 18 Python
More informationPython for Data Analysis
Python for Data Analysis Wes McKinney O'REILLY 8 Beijing Cambridge Farnham Kb'ln Sebastopol Tokyo Table of Contents Preface xi 1. Preliminaries " 1 What Is This Book About? 1 Why Python for Data Analysis?
More informationThis course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.
HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets
More information"Charting the Course... Java Programming Language. Course Summary
Course Summary Description This course emphasizes becoming productive quickly as a Java application developer. This course quickly covers the Java language syntax and then moves into the object-oriented
More informationSymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming
SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming Springer-Verlag London Ltd. Tan Kiat Shi, Willi-Hans Steeb and Yorick Hardy SymbolicC ++: An Introdurtion to Computer
More informationTable of Contents EVALUATION COPY
Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...
More informationMixed language programming
Mixed language programming Simon Funke 1,2 Ola Skavhaug 3 Joakim Sundnes 1,2 Hans Petter Langtangen 1,2 Center for Biomedical Computing, Simula Research Laboratory 1 Dept. of Informatics, University of
More informationJim Jackson II Ian Gilman
Single page web apps, JavaScript, and semantic markup Jim Jackson II Ian Gilman FOREWORD BY Scott Hanselman MANNING contents 1 HTML5 foreword xv preface xvii acknowledgments xx about this book xxii about
More informationGetting Started p. 1 Obtaining Tcl/Tk p. 1 Interactive Execution p. 1 Direct Execution p. 4 Reading this Book p. 6 Requirements for Networking
Foreword p. xi Acknowledgments p. xiii Getting Started p. 1 Obtaining Tcl/Tk p. 1 Interactive Execution p. 1 Direct Execution p. 4 Reading this Book p. 6 Requirements for Networking Examples p. 7 Requirements
More informationTable of Contents. Preface... xxi
Table of Contents Preface... xxi Chapter 1: Introduction to Python... 1 Python... 2 Features of Python... 3 Execution of a Python Program... 7 Viewing the Byte Code... 9 Flavors of Python... 10 Python
More informationContributions to Economics
Contributions to Economics Kesra Nermend Vector Calculus in Regional Development Analysis Comparative Regional Analysis Using the Example of Poland Physica Verlag A Springer Company Dr. inž. Kesra Nermend
More informationScientific Computing Using. Atriya Sen
Scientific Computing Using Atriya Sen Broad Outline Part I, in which I discuss several aspects of the Python programming language Part II, in which I talk about some Python modules for scientific computing
More informationLecture Notes in Mathematics Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris
Lecture Notes in Mathematics 1842 Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris 3 Berlin Heidelberg New York Hong Kong London Milan Paris Tokyo Trygve Johnsen Andreas Leopold Knutsen
More informationPreliminaries. Chapter The FEniCS Project
Chapter 1 Preliminaries 1.1 The FEniCS Project The FEniCS Project is a research and software project aimed at creating mathematical methods and software for automated computational mathematical modeling.
More informationPreface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS
Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...
More informationAl al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department
Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces
More informationFoundations of 3D Graphics Programming
Foundations of 3D Graphics Programming Jim X. Chen Edward J. Wegman Foundations of 3D Graphics Programming Using JOGL and Java3D With 139 Figures Jim X. Chen, PhD Computer Science Department George Mason
More informationPYTHON. p ykos vtawynivis. Second eciitiovl. CO Ve, WESLEY J. CHUN
CO Ve, PYTHON p ykos vtawynivis Second eciitiovl WESLEY J. CHUN. PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney
More informationощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV
ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV Contents Preface Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
More informationIntermediate Python 3.x
Intermediate Python 3.x This 4 day course picks up where Introduction to Python 3 leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This
More informationThe Information Retrieval Series. Series Editor W. Bruce Croft
The Information Retrieval Series Series Editor W. Bruce Croft Sándor Dominich The Modern Algebra of Information Retrieval 123 Sándor Dominich Computer Science Department University of Pannonia Egyetem
More informationMixed language programming with NumPy arrays
Mixed language programming with NumPy arrays Simon Funke 1,2 Ola Skavhaug 3 Joakim Sundnes 1,2 Hans Petter Langtangen 1,2 Center for Biomedical Computing, Simula Research Laboratory 1 Dept. of Informatics,
More informationProgramming in Scala Second Edition
Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword
More informationCHAPTER 1: INTRODUCING C# 3
INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications
More informationProgramming in Python
COURSE DESCRIPTION This course presents both the programming interface and the techniques that can be used to write procedures in Python on Unix / Linux systems. COURSE OBJECTIVES Each participant will
More informationBasic Python 3 Programming (Theory & Practical)
Basic Python 3 Programming (Theory & Practical) Length Delivery Method : 5 Days : Instructor-led (Classroom) Course Overview This Python 3 Programming training leads the student from the basics of writing
More informationScientific Computing: Lecture 1
Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,
More informationWebgurukul Programming Language Course
Webgurukul Programming Language Course Take One step towards IT profession with us Python Syllabus Python Training Overview > What are the Python Course Pre-requisites > Objectives of the Course > Who
More informationJulien Masanès. Web Archiving. With 28 Figures and 6 Tables ABC
Web Archiving Julien Masanès Web Archiving With 28 Figures and 6 Tables ABC Author Julien Masanès European Web Archive 25 rue des envierges 75020 Paris, France julien.masanes@bnf.fr ACM Computing Classification
More informationData Science with Python Course Catalog
Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com Table of Contents Syllabus Overview
More informationModeling and Simulation in Scilab/Scicos with ScicosLab 4.4
Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Stephen L. Campbell, Jean-Philippe Chancelier and Ramine Nikoukhah Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Second Edition
More informationMathematica for Scientists and Engineers
Mathematica for Scientists and Engineers Thomas B. Bahder Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Paris
More informationScenario Manager User Guide. Release September 2013
Scenario Manager User Guide Release 6.2.1 September 2013 Scenario Manager User Guide Release 6.2.1 September 2013 Document Control Number: 9MN12-62110017 Document Number: SMUG-13-FCCM-0017-6.2.1-01 Oracle
More informationObjects First with Java
^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney
More informationData Structures in C++ Using the Standard Template Library
Data Structures in C++ Using the Standard Template Library Timothy Budd Oregon State University ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Harlow, England Menlo
More informationAcknowledgments Introduction. Part I: Programming Access Applications 1. Chapter 1: Overview of Programming for Access 3
74029ftoc.qxd:WroxPro 9/27/07 1:40 PM Page xiii Acknowledgments Introduction x xxv Part I: Programming Access Applications 1 Chapter 1: Overview of Programming for Access 3 Writing Code for Access 3 The
More informationInside Relational Databases with Examples in Access
Inside Relational Databases with Examples in Access Inside Relational Databases with Examples in Access Mark Whitehorn and Bill Marklyn 123 Mark Whitehorn Applied Computing Division, University of Dundee,
More informationWORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY
MPTL14 2009 Udine 23-27 September 2009 WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY Francisco Esquembre, Universidad de Murcia Wolfgang Christian, Davidson College Bruce Mason, University
More information1 OBJECT-ORIENTED PROGRAMMING 1
PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields
More informationResearch on Industrial Security Theory
Research on Industrial Security Theory Menggang Li Research on Industrial Security Theory Menggang Li China Centre for Industrial Security Research Beijing, People s Republic of China ISBN 978-3-642-36951-3
More informationBeginning Microsoft Office 2010
Beginning Microsoft Office 2010 IB I IP TECHNISCHI= ^\ 'NFORMATIONSBIBLIOTHEK UNIVERSITATSBIBLIOTHEK HANNOVER Guy Hart-Davis Apress* TIB/UB Hannover 89 133 299 783 ill! IWIlilltllw i ttis f0k^fsll^»m*r~
More informationPython Training. Complete Practical & Real-time Trainings. A Unit of SequelGate Innovative Technologies Pvt. Ltd.
Python Training Complete Practical & Real-time Trainings A Unit of. ISO Certified Training Institute Microsoft Certified Partner Training Highlights : Complete Practical and Real-time Scenarios Session
More informationMurach s Beginning Java with Eclipse
Murach s Beginning Java with Eclipse Introduction xv Section 1 Get started right Chapter 1 An introduction to Java programming 3 Chapter 2 How to start writing Java code 33 Chapter 3 How to use classes
More informationWeb Development with Java
Web Development with Java Tim Downey Web Development with Java Using Hibernate, JSPs and Servlets Tim Downey, BS, MS Florida International University Miami, FL 33199, USA British Library Cataloguing in
More informationTH IRD EDITION. Python Cookbook. David Beazley and Brian K. Jones. O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo
TH IRD EDITION Python Cookbook David Beazley and Brian K. Jones O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface xi 1. Data Structures and Algorithms 1 1.1. Unpacking
More informationContents in Detail. Who Is This Book For?... xix What s in This Book?... xx. part I: Warming Up 1
Acknowledgments xvii Introduction Who Is This Book For?... xix What s in This Book?... xx Part I: Warming Up.... xx Part II: Simulating Life... xx Part III: Fun with Images... xx Part IV: Enter 3D... xx
More informationPROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB Huei-Huang Lee SDC. Better Textbooks. Lower Prices.
PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB 2018 Huei-Huang Lee SDC P U B L I C AT I O N S Better Textbooks. Lower Prices. www.sdcpublications.com Powered by TCPDF (www.tcpdf.org) Visit the following
More informationThe MPI API s baseline requirements
LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY - LIGO - CALIFORNIA INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOGY Document Type LIGO-T990086-00- E 09/14/1999 The MPI API s baseline
More informationSpringer Books on Professional Computing. Edited by Henry Ledgard
Springer Books on Professional Computing Edited by Henry Ledgard Springer Books on Professional Computing Computer Confidence: A Human Approach to Computers Bruce D. Sanders. viii, 90 pages. 23 figures.
More informationProgramming Graphical
Programming Graphical User Interfaces in R Michael F. Lawrence John Verzani CRC Press Taylorfii Francis Group Boca Raton London NewYork CRC Press Is an imprint of the Taylor & Francis Group an informs
More informationObject-Oriented Programming and Data Structures
Java Methods A & AB Object-Oriented Programming and Data Structures Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts
More informationCOMPUTATIONAL DYNAMICS
COMPUTATIONAL DYNAMICS THIRD EDITION AHMED A. SHABANA Richard and Loan Hill Professor of Engineering University of Illinois at Chicago A John Wiley and Sons, Ltd., Publication COMPUTATIONAL DYNAMICS COMPUTATIONAL
More informationSystem Design S.CS301
System Design S.CS301 (Autumn 2015/16) Page 1 Agenda Contents: Course overview Reading materials What is the MATLAB? MATLAB system History of MATLAB License of MATLAB Release history Syntax of MATLAB (Autumn
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationMATLAB 7. The Language of Technical Computing KEY FEATURES
MATLAB 7 The Language of Technical Computing MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical
More informationThe MPI API s baseline requirements
LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY - LIGO - CALIFORNIA INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOGY Document Type LIGO-T990086-01- E 01/26/2000 The MPI API s baseline
More informationTextadept Quick Reference
FOURTH EDITION Textadept Quick Reference Mitchell Textadept Quick Reference by Mitchell Copyright 2013, 2015, 2016, 2018 Mitchell. All rights reserved. Contact the author at mitchell@foicica.com. Although
More informationADMINISTRATIVE MANAGEMENT COLLEGE
First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and
More informationFundamentals of Operating Systems. Fifth Edition
Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business
More informationSCRIPTO. A New Tool for Customizing LS-PREPOST
5. LS-DYNA Anwenderforum, Ulm 2006 LS - PREPOST SCRIPTO Workshop SCRIPTO A New Tool for Customizing LS-PREPOST R. Chen LSTC M - I - 1 LS - PREPOST SCRIPTO Workshop 5. LS-DYNA Anwenderforum, Ulm 2006 Why
More informationPhilipp von Weitershausen. Web Component Development with Zope 3
Philipp von Weitershausen Web Component Development with Zope 3 Philipp von Weitershausen Web Component Development with Zope 3 With 39 Figures and 10 Tables 123 Philipp von Weitershausen Goebenstraße
More informationSlides from INF3331 lectures optimizing Python code
Slides from INF3331 lectures optimizing Python code p. 1/20 Slides from INF3331 lectures optimizing Python code Ola Skavhaug, Joakim Sundnes and Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo
More informationIntroduction to Scientific Computing
University of Tartu, Institute of Computer Science Introduction to Scientific Computing MTAT.08.025 eero.vainikko@ut.ee Spring 2017 2 Practical information Lectures: Liivi 2-122 MON 10:15 Computer classes:
More informationExcel for Chemists. Second Edition
Excel for Chemists Second Edition This page intentionally left blank ExceL for Chemists A Comprehensive Guide Second Edition E. Joseph Billo Department of Chemistry Boston College Chestnut Hill, Massachusetts
More informationA Web-Based Introduction
A Web-Based Introduction to Programming Essential Algorithms, Syntax, and Control Structures Using PHP, HTML, and MySQL Third Edition Mike O'Kane Carolina Academic Press Durham, North Carolina Contents
More informationOracle Cloud. Using Oracle Social Network Release E
Oracle Cloud Using Oracle Social Network Release 11.1.11.0 E61996-01 November 2015 Oracle Cloud Using Oracle Social Network, Release 11.1.11.0 E61996-01 Copyright 2012, 2015 Oracle and/or its affiliates.
More informationFall 2018 Updates. Materials and Energy Balances. Fundamental Programming Concepts. Data Structure Essentials (Available now) Circuits (Algebra)
Fall 2018 Updates Materials and Energy Balances New Sections Solver and least squares fits Error and statistics Interpolation 9.9 Integration and numerical integration 9.10 Math functions 9.11 Logical
More informationIntroduction to Python Part 2
Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules
More informationENGINEERING PROBLEM SOLVING WITH C++
ENGINEERING PROBLEM SOLVING WITH C++ Second Edition Delores M. Etter Electrical Engineering Department United States Naval Academy Jeanine A. Ingber Training Consultant Sandia National Laboratories Upper
More informationThe Frame API s baseline requirements
LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY - LIGO - CALIFORNIA INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOGY Document Type LIGO-T980117-00- E 12/4/1998 The Frame API s baseline
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationMastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK
Mastering Linux Paul S. Wang CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an Imprint of the Taylor & Francis Croup an informa business A CHAPMAN St HALL BOOK Contents Preface
More informationContents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix
PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring
More informationTable of Contents COPYRIGHTED MATERIAL. Introduction Book I: Excel Basics Chapter 1: The Excel 2013 User Experience...
Table of Contents Introduction... 1 About This Book...1 Foolish Assumptions...2 How This Book Is Organized...3 Book I: Excel Basics...3 Book II: Worksheet Design...3 Book III: Formulas and Functions...4
More informationTxWindows, a multi platform text mode windowing library
TxWindows, a multi platform text mode windowing library Jan van Wijk The TxWindows library for development of text mode applications using a windowing system including menus, dialogs and more... Presentation
More informationSpringerBriefs in Computer Science
SpringerBriefs in Computer Science Series Editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi C. Jain David Padua Xuemin (Sherman) Shen Borko Furht V.S. Subrahmanian Martial Hebert
More information