Although IPython's powerful shell and extended console can be advantageously used by any Python programmer, this package was originally a tool designed for scientists by scientists. It was indeed meant to provide a convenient way of doing interactive scientific computing with Python.
IPython does not really provide scientific computing features per se, but rather offers an interactive interface to powerful external libraries, such as NumPy, SciPy, Pandas, Matplotlib, and the like. Together, these tools provide a framework for scientific computing, which can compete with widespread commercial tools in the scientific community such as Matlab or Mathematica.
NumPy provides a multidimensional array object that supports optimized vector operations. SciPy offers a wide variety of scientific algorithms (signal processing, optimization, and so on) that are based on NumPy. Pandas proposes convenient data structures for tabular data coming from real-world...