This is a pre-release version (2.5.0.dev0+git20251130.2de293a). Go to latest (2.4.4)
{ } Raw JSON

bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / linalg / trace

_ArrayFunctionDispatcher

numpy.linalg:trace

source: build-install/usr/lib/python3.14/site-packages/numpy/linalg/_linalg.py :3161

Signature

def   trace ( x / offset = 0 dtype = None )

Summary

Returns the sum along the specified diagonals of a matrix (or a stack of matrices) x.

Extended Summary

This function is Array API compatible, contrary to numpy.trace.

Parameters

x : (...,M,N) array_like

Input array having shape (..., M, N) and whose innermost two dimensions form MxN matrices.

offset : int, optional

Offset specifying the off-diagonal relative to the main diagonal, where

* offset = 0: the main diagonal.
* offset > 0: off-diagonal above the main diagonal.
* offset < 0: off-diagonal below the main diagonal.
dtype : dtype, optional

Data type of the returned array.

Returns

out : ndarray

An array containing the traces and whose shape is determined by removing the last two dimensions and storing the traces in the last array dimension. For example, if x has rank k and shape: (I, J, K, ..., L, M, N), then an output array has rank k-2 and shape: (I, J, K, ..., L) where

out[i, j, k, ..., l] = trace(a[i, j, k, ..., l, :, :])

The returned array must have a data type as described by the dtype parameter above.

Examples

np.linalg.trace(np.eye(3))
a = np.arange(8).reshape((2, 2, 2))
np.linalg.trace(a)
Trace is computed with the last two axes as the 2-d sub-arrays. This behavior differs from :py:func:`numpy.trace` which uses the first two axes by default.
a = np.arange(24).reshape((3, 2, 2, 2))
np.linalg.trace(a).shape
Traces adjacent to the main diagonal can be obtained by using the `offset` argument:
a = np.arange(9).reshape((3, 3)); a
np.linalg.trace(a, offset=1)  # First superdiagonal
np.linalg.trace(a, offset=2)  # Second superdiagonal
np.linalg.trace(a, offset=-1)  # First subdiagonal
np.linalg.trace(a, offset=-2)  # Second subdiagonal

See also

numpy.trace

Aliases

  • numpy.linalg.trace

Referenced by