IPython: A System for Interactive Scientific Computing

@article{Prez2007IPythonAS,
  title={IPython: A System for Interactive Scientific Computing},
  author={Fernando P{\'e}rez and Brian E. Granger},
  journal={Computing in Science \& Engineering},
  year={2007},
  volume={9}
}
Python offers basic facilities for interactive work and a comprehensive library on top of which more sophisticated systems can be built. The IPython project provides on enhanced interactive environment that includes, among other features, support for data visualization and facilities for distributed and parallel computation 

Figures from this paper

Python: An Ecosystem for Scientific Computing
TLDR
Python can help develop computational research tools by providing a balance of clarity and flexibility without sacrificing performance.
How to access Python for doing scientific computing 1
TLDR
There are several options for getting easy access to Python and the most important packages for scientific computations, so the biggest issue for a newcomer is to make a proper choice.
Exploring Collaborative HPC Visualization Workflows using VisIt and Python
As High Performance Computing (HPC) environments expand to address the larger computational needs of massive simulations and specialized data analysis and visualization routines, the complexity of
Python : An Ecosystem for Scienti ! c Computing
As the relationship between research and computing evolves, new tools are required to not only treat numerical problems, but also to solve various problems that involve large datasets in different
Mayavi: 3D Visualization of Scientific Data
TLDR
Mayavi provides a continuum of tools for developing scientific applications, ranging from interactive and script-based data visualization in Python to full-blown custom end-user applications.
Snow: A Parallel Computing Framework for the R System
TLDR
A simple parallel computing framework for the statistical programming language R that focuses on parallelization of familiar higher level mapping functions and emphasizes simplicity of use in order to encourage adoption by a wide range of R users is presented.
Python: an Ecosystem for Scientific Computing Scientific Computing's Changing Landscape Python: a General Purpose Programming Language
As the relationship between research and computing evolves, new tools are required to not only treat numerical problems, but also to solve various problems that involve large datasets in different
Python – A comprehensive yet free programming language for statisticians
TLDR
Various tools for computation, analysis and visualization of data especially for the statisticians, available under the Python are briefly discussed in a tutorial centric approach.
Numerical methods with Sage
TLDR
Numpy and SciPy are program libraries for the Python scripting language, which apply to a large spectrum of numerical and scientific computing tasks, and their solution using these tools in the Sage environment is reviewed.
...
...

References

SHOWING 1-10 OF 10 REFERENCES
High-Level Parallel Software Development with Python and BSP
  • K. Hinsen
  • Computer Science
    Parallel Process. Lett.
  • 2003
TLDR
The combination of a simple parallel computation model, BSP, and a high-level programming language, Python, allows the rapid development facilities of Python to be applied to parallel programs, providing interactive development as well as interactive debugging of parallel programs.
Steering object-oriented scientific computations
  • T. Yang, G. Furnish, P. Dubois
  • Computer Science
    Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages
  • 1997
TLDR
It is found that Python and C++ can be combined in an elegant way which combines the benefits of steering and the advantages of using an efficient object-oriented language for scientific modeling.
Extensible message passing application development and debugging with Python
  • D. Beazley, P. Lomdahl
  • Computer Science
    Proceedings 11th International Parallel Processing Symposium
  • 1997
The authors describe how they have parallelized Python, an interpreted object oriented scripting language, and used it to build an extensible message-passing molecular dynamics application for the
SAGE: system for algebra and geometry experimentation
SAGE is a framework for number theory, algebra, and geometry computation that is initially being designed for computing with elliptic curves and modular forms. The current implementation is primarily
matplotlib – A Portable Python Plotting Package
TLDR
Features include the creation of multiple axes and figures per page, interactive navigation, many predefined line styles and symbols, images, antialiasing, alpha blending, date and financial plots, W3C compliant font management and FreeType2 support, legends and tables, pseudocolor plots, mathematical text and more.
Parallel, Distributed Scripting with Python
Parallel computers used to be, for the most part, one-of-a-kind systems which were extremely difficult to program portably. With SMP architectures, the advent of the POSIX thread API and OpenMP gave
TVTK: A Pythonic VTK
  • Proc. EuroPython Conf
  • 2005
Board members listed in italics are members of the Executive Committee Vice President, Human Resources
  • Physics Resources
Parallel, Distributed Scripting with Python Third Linux Clusters Inst. Int'l Conf. Linux Clusters: The HPC Revolution
  • Laboratory
  • 2002