About NumPy
===========

NumPy is the fundamental package
needed for scientific computing with Python. This package contains:

- a powerful N-dimensional :ref:`array object <arrays>`
- sophisticated :ref:`(broadcasting) functions <ufuncs>`
- basic :ref:`linear algebra functions <routines.linalg>`
- basic :ref:`Fourier transforms <routines.fft>`
- sophisticated :ref:`random number capabilities <routines.random>`
- tools for integrating Fortran code
- tools for integrating C/C++ code

Besides its obvious scientific uses, *NumPy* can also be used as an
efficient multi-dimensional container of generic data. Arbitrary
data types can be defined. This allows *NumPy* to seamlessly and
speedily integrate with a wide variety of databases.

NumPy is a successor for two earlier scientific Python libraries:
NumPy derives from the old *Numeric* code base and can be used
as a replacement for *Numeric*.  It also adds the features introduced
by *Numarray* and can also be used to replace *Numarray*.

NumPy community
---------------

NumPy is a distributed, volunteer, open-source project. *You* can help
us make it better; if you believe something should be improved either
in functionality or in documentation, don't hesitate to contact us --- or
even better, contact us and participate in fixing the problem.

Our main means of communication are:

- `scipy.org website <http://scipy.org/>`__

- `Mailing lists <http://scipy.org/Mailing_Lists>`__

- `NumPy Issues <https://github.com/numpy/numpy/issues>`__ (bug reports go here)

- `Old NumPy Trac <http://projects.scipy.org/numpy>`__ (no longer used)

More information about the development of NumPy can be found at our `Developer Zone <https://scipy.scipy.org/scipylib/dev-zone.html>`__.

The project management structure can be found at our :doc:`governance page <dev/governance/index>`


About this documentation
========================

Conventions
-----------

Names of classes, objects, constants, etc. are given in **boldface** font.
Often they are also links to a more detailed documentation of the
referred object.

This manual contains many examples of use, usually prefixed with the
Python prompt ``>>>`` (which is not a part of the example code). The
examples assume that you have first entered::

>>> import numpy as np

before running the examples.
