From 362f2f0e2e1edc21de80d837095fe4f9ac64e19d Mon Sep 17 00:00:00 2001 From: george Date: Tue, 17 Jun 2014 14:30:19 -0600 Subject: [PATCH] Rewording and wrapping in scenarios/scientific. --- docs/scenarios/scientific.rst | 101 +++++++++++++++++----------------- 1 file changed, 52 insertions(+), 49 deletions(-) diff --git a/docs/scenarios/scientific.rst b/docs/scenarios/scientific.rst index a8dc59e..ff09920 100644 --- a/docs/scenarios/scientific.rst +++ b/docs/scenarios/scientific.rst @@ -5,12 +5,12 @@ Scientific Applications Context ::::::: -Python is frequently used for high-performance scientific applications. Python -is widely used in academia and scientific projects because it is easy to write, -and it performs really well. +Python is frequently used for high-performance scientific applications. It +is widely used in academia and scientific projects because it is easy to write +and performs well. -Due to its high performance nature, scientific computing in Python often refers -to external libraries, typically written in faster languages (like C, or +Due to its high performance nature, scientific computing in Python often +utilizes external libraries, typically written in faster languages (like C, or FORTRAN for matrix operations). The main libraries used are `NumPy`_, `SciPy`_ and `Matplotlib`_. Going into detail about these libraries is beyond the scope of the Python guide. However, a comprehensive introduction to the scientific @@ -24,13 +24,14 @@ Tools IPython ------- -`IPython `_ is an enhanced version of Python interpreter. -The features it provides are of great interest for the scientists. The `inline mode` +`IPython `_ is an enhanced version of Python interpreter, +which provides features of great interest to scientists. The `inline mode` allow graphics and plots to be displayed in the terminal (Qt based version). -Moreover the `notebook` mode supports literate programming and reproducible science -generating a web-based Python notebook. This notebook allowing to store chunk of -Python code along side to the results and additional comments (HTML, LaTeX, Markdown). -The notebook could be shared and exported in various file formats. +Moreover, the `notebook` mode supports literate programming and reproducible +science generating a web-based Python notebook. This notebook allows you to +store chunks of Python code along side the results and additional comments +(HTML, LaTeX, Markdown). The notebook can then be shared and exported in various +file formats. Libraries @@ -45,9 +46,9 @@ problem of running slower algorithms on Python by using multidimensional arrays and functions that operate on arrays. Any algorithm can then be expressed as a function on arrays, allowing the algorithms to be run quickly. - NumPy is part of the SciPy project, and is released as a separate library so -people who only need the basic requirements can just use NumPy. +people who only need the basic requirements can use it without installing the +rest of SciPy. NumPy is compatible with Python versions 2.4 through to 2.7.2 and 3.1+. @@ -56,60 +57,62 @@ Numba `Numba `_ is an Numpy aware Python compiler (just-in-time (JIT) specializing compiler) which compiles annotated Python (and -Numpy) code to LLVM (Low Level Virtual Machine) (through special decorators). -Briefly, Numba using system that compiles Python code with LLVM to code which +Numpy) code to LLVM (Low Level Virtual Machine) through special decorators. +Briefly, Numba uses a system that compiles Python code with LLVM to code which can be natively executed at runtime. SciPy ----- -`SciPy `_ is a library that uses Numpy for more mathematical -functions. SciPy uses NumPy arrays as the basic data structure. SciPy comes -with modules for various commonly used tasks in scientific programming, for -example: linear algebra, integration (calculus), ordinary differential equation -solvers and signal processing. +`SciPy `_ is a library that uses NumPy for more mathematical +functions. SciPy uses NumPy arrays as the basic data structure, and comes +with modules for various commonly used tasks in scientific programming, +including linear algebra, integration (calculus), ordinary differential equation +solving and signal processing. Matplotlib ---------- `Matplotlib `_ is a flexible plotting library for creating interactive 2D and 3D plots that can also be saved as -manuscript-quality figures. The API in many ways reflects that of `MATLAB +manuscript-quality figures. The API in many ways reflects that of `MATLAB `_, easing transition of MATLAB -users to Python. Many examples, along with the source code to re-create them, -can be browsed at the `matplotlib gallery +users to Python. Many examples, along with the source code to re-create them, +are available in the `matplotlib gallery `_. Pandas ------ + `Pandas `_ is data manipulation library -based on Numpy and which provides many useful functions for accessing, +based on Numpy which provides many useful functions for accessing, indexing, merging and grouping data easily. The main data structure (DataFrame) -is close to what could be found in the R statistical package, that is -an heterogeneous data tables with name indexing, time series operations -and auto-alignment of data. +is close to what could be found in the R statistical package; that is, +heterogeneous data tables with name indexing, time series operations and +auto-alignment of data. Rpy2 ---- + `Rpy2 `_ is a Python binding for the R -statistical package allowing to execute R functions from Python and passing -data back and forth the two environments. Rpy2 is the object oriented -implementation of the binding based on `Rpy `_. +statistical package allowing the execution of R functions from Python and passing +data back and forth between the two environments. Rpy2 is the object oriented +implementation of the `Rpy `_ bindings. PsychoPy -------- `PsychoPy `_ is a library for cognitive scientists -allowing to create cognitive psychology and neuroscience experiments. The library -handles both presentation of stimuli, scripting of experimental design and -data collection. +allowing the creation of cognitive psychology and neuroscience experiments. +The library handles presentation of stimuli, scripting of experimental design +and data collection. Resources ::::::::: -Installation of scientific Python packages can be troublesome. Many of these -packages are implemented as Python C extensions which need to be compiled. +Installation of scientific Python packages can be troublesome, as many of +these packages are implemented as Python C extensions which need to be compiled. This section lists various so-called scientific Python distributions which provide precompiled and easy-to-install collections of scientific Python packages. @@ -117,27 +120,27 @@ packages. Unofficial Windows Binaries for Python Extension Packages --------------------------------------------------------- -Many people who do scientific computing are on Windows. And yet many of the -scientific computing packages are notoriously difficult to build and install. -`Christoph Gohlke `_ however, has -compiled a list of Windows binaries for many useful Python packages. The list -of packages has grown from a mainly scientific Python resource to a more -general list. It might be a good idea to check it out if you're on Windows. +Many people who do scientific computing are on Windows, yet many of the +scientific computing packages are notoriously difficult to build and install +on this platform. `Christoph Gohlke `_ +however, has compiled a list of Windows binaries for many useful Python packages. +The list of packages has grown from a mainly scientific Python resource to a more +general list. If you're on Windows, you may want to check it out. Anaconda -------- `Continuum Analytics `_ offers the `Anaconda Python Distribution `_ which -includes all the common scientific Python packages and additionally many -packages related to data analytics and big data. Anaconda itself is free, and -Continuum sells a number of proprietary add-ons. Free -licenses for the add-ons are available for academics and researchers. +includes all the common scientific Python packages as well as many packages +related to data analytics and big data. Anaconda itself is free, and +Continuum sells a number of proprietary add-ons. Free licenses for the +add-ons are available for academics and researchers. Canopy ------ -`Canopy '_ is another scientific Python -distribution, produced by `Enthought `_. A limited -'Canopy Express' variant is available for free, and Enthought charge for the -full distribution. Free licenses are available for academics. +`Canopy `_ is another scientific +Python distribution, produced by `Enthought `_. +A limited 'Canopy Express' variant is available for free, but Enthought +charges for the full distribution. Free licenses are available for academics.