Return the sum along diagonals of the array.
If a is 2D, the sum along its diagonal with the given offset is returned, i.e., the sum of elements a[i,i+offset] for all i.
If a has more than two dimensions, then the axes specified by axis1 and axis2 are used to determine the 2D subarrays whose traces are returned. The shape of the resulting array is the same as that of a with axis1 and axis2 removed.
Parameters:  a : array_like
offset : int, optional
axis1, axis2 : int, optional
dtype : dtype, optional
out : ndarray, optional


Returns:  sum_along_diagonals : ndarray

Examples
>>> np.trace(np.eye(3))
3.0
>>> a = np.arange(8).reshape((2,2,2))
>>> np.trace(a)
array([6, 8])
>>> a = np.arange(24).reshape((2,2,2,3))
>>> np.trace(a).shape
(2, 3)