How do you sum all the elements in an array?

Use the `Numeric`

method `sum`

:

```
>>> import Numeric
```

>>> a = Numeric.array([1, 5, -3, 2, -9])

>>> Numeric.sum(a)

-4

By default, `sum`

does the summation along the array's
index 0 axis, and thus returns an array with that dimension "removed".
Thus, for a 2-D array, it sums down columns, and returns a vector
with a length equal to the number of columns of the original array:

```
>>> b = Numeric.array( [[1,5,-3,2,-9], [4,6,-2,6,8]] )
```

>>> b

array([[ 1, 5, -3, 2, -9],

[ 4, 6, -2, 6, 8]])

>>> b.shape

(2, 5)

>>> Numeric.sum(b)

array([ 5, 11, -5, 8, -1])

You can change which axis to sum over
via the `axis`

keyword:

```
>>> Numeric.sum(b, axis=1)
```

array([-4, 22])

To sum all the elements in the array, you'll need to apply `sum`

on the `flat`

or `ravel`

ed version of the array.
Remember that `ravel`

is the better choice since it works
on all arrays, where `flat`

only works on contiguous arrays:

```
>>> Numeric.sum( b.flat )
```

18

>>> Numeric.sum( Numeric.ravel(b) )

18

Note that `sum`

is an alias for `add.reduce`

.
The `total`

function
in IDL provides
similar functionality, though for `total`

the
default is to sum over the entire array, not just the first axis.

Notes: See also Martelli (2003), pp. 324, 326.