Pauli Virtanen pav+sp@iki...
Fri Aug 21 14:30:09 CDT 2009

```Hi all,

It's great to see that people are interested in contributing
narrative documentation to Numpy! I think this effort will be
manual we want, to guide the writing.

One suggestion is listed below. It's also on this wiki page:

http://scipy.org/Developer_Zone/UG_Toc

It's not complete or final, but should already serve at least
as a starting point. I think it would be best if we agreed on
this first, fleshing out what should go where, and what each
chapter should contain, before spending too much time on
writing actual content.

So, please chip in: look at the suggestion below, and criticize
it and fill in additions and ideas.

Cheers,
Pauli

***

************
Numpy Manual
************

The aim here is to write narrative documentation that illustrates how
Numpy is best used in practice, demonstrating various features it
offers, with examples and enlightened discussion.

looking at

- `Numeric manual <http://numpy.scipy.org/numpydoc/numdoc.htm>`__
- `Guide to Numpy <http://www.tramy.us/>`__

and stealing whatever seemed good to include. It's a rough draft, and
probably needs tuning at various points. Also, I'm aware not all of

#. Introduction to Numpy
#. What it is
#. What is there: a very high-level overview
#. Conventions in this manual
#. Installing Numpy
#. Instructions for getting binaries
#. Instructions for building from source, on different platforms
#. Basics of arrays
#. What is an array
#. Storing data in arrays
#. Arrays as literals
#. Creating arrays: empty, zeros, ones, ...
#. Saving/loading to a file: text, npz  -> point to other IO routines
#. Extracting data from arrays
#. Basic indexing and slicing
#. Simple fancy indexing
#. Finding items in arrays
#. comparisons, logic operations, indexing based on them
#. where, searchsorted
#. Advanced indexing on arrays: ellipsis, newaxis
#. Views and copies of arrays
#. Demonstrate that slicing in general creates views
#. Modifying contents of arrays
#. Setting data in arrays via indexing
#. in-place operations (+ the common indexing caveat!)
#. sum, mean, min, max, ...
#. remark on ufuncs: common methods
#. Operating on an axis of an array
#. Joining, splitting arrays and changing their shape
#. *stack, *split
#. reshape
#. resize
#. Working with different types of data: integers, floats, complex, strings...
#. Basic creation of arrays with certain data types
#. Building up data type objects
#. Casting and converting array data, automatic casting, coercion
#. Advanced data types and structured arrays
#. Creating structured arrays
#. Accessing data in them
#. Other topics
#. Working with missing data
#. Linear algebra and matrices
#. Working with polynomials
#. Floating point issues: errors, error handling, inaccuracy, etc.
#. Fourier transforms
#. Generating random numbers
#. Building and testing packages using Numpy
#. Financial calculations with Numpy
#. Extending Numpy
#. Subclassing numpy arrays
#. Array interface
#. Ctypes support in Numpy
#. Cython? Pyrex? F2Py?
#. Writing C extensions using Numpy
#. Basics
#. Iteration
#. Ufuncs
#. Data types
#. Subclassing in C
#. Numpy internals
#. Memory model
#. Data type stuff
#. Ufuncs
#. etc?

#. Reference
<insert our current "reference manual" here as-is and factor out
any duplication later on>

```