There are a number of functions acting on arrays that do not act componentwise. Examples of such functions are max, min, and sum. These functions may operate on the entire matrix, row-wise, or column-wise. When no argument is provided, they act on the entire matrix.
Suppose:
The function sum acting on that matrix returns a scalar:
sum(A) # 36
The command has an optional parameter, axis. It allows us to choose along which axis to perform the operation. For instance, if the axis is , it means that the sum should be computed along the first axis. The sum along axis  of an array of shape  will be a vector of length .
Suppose we compute the sum of A along the axis :
sum(A, axis=0) # array([ 6, 8, 10, 12])
This amounts to computing the sum on the columns:
The result is a vector:
Now suppose we compute the sum along axis 1:
A.sum(axis=1) # array([10, 26])
This amounts to computing...