ArrayReduce[f,array,n]
reduces dimension n of array by applying f.
ArrayReduce[f,array,n1;;n2]
reduces dimensions n1 through n2.
ArrayReduce[f,array,{n1,n2,…}]
reduces dimensions n1, n2, etc.
ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}]
applies f to arrays formed by combining all dimensions nij to make each dimension i.


ArrayReduce
ArrayReduce[f,array,n]
reduces dimension n of array by applying f.
ArrayReduce[f,array,n1;;n2]
reduces dimensions n1 through n2.
ArrayReduce[f,array,{n1,n2,…}]
reduces dimensions n1, n2, etc.
ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}]
applies f to arrays formed by combining all dimensions nij to make each dimension i.
Details

- Array reduction, also called array aggregation, is used to compute functions such as Mean, Total or StandardDeviation along specific dimensions of an array.
- In ArrayReduce[f,array,n], f is applied to every vector along the n
dimension of array. It can be seen as a transposition where dimension n becomes the last dimension, followed by the application of f on the lowest-level vectors:
- If array has dimensions {d1,d2,…}, and if the function is transforming a vector into a scalar, the results is an array that has the same dimensions as array except for dn, which is dropped.
- In ArrayReduce[f,array,n1;;n2] and ArrayReduce[f,array,{n1,n2,…}], f is applied to every vector formed by combining and flattening the specified dimensions.
- In ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}], f is applied to arrays of arbitrary ranks instead of vectors only.
- ArrayReduce[f,array,{n1,n2,…}] is equivalent to ArrayReduce[f,array,{{n1,n2,…}}].

Examples
open all close allBasic Examples (3)
Compute the mean of every row of a matrix:
Compute the mean of every column of a matrix:
Compute the standard deviation over the second dimension:
The resulting array is of rank 2, and the second axis has been removed:
Visualize the input and output arrays:
Reduce the dimensions of the array by computing the total over dimensions 2 and 4:
Scope (3)
Take an array of dimensions 2×3×4:
Apply head h along the first level, obtaining a result of dimensions 3×4:
Apply head h along the second level, obtaining a result of dimensions 2×4:
Apply head h along the third level, obtaining a result of dimensions 2×3:
Reduce several consecutive levels of the array:
This is equivalent to listing explicitly the reduced levels:
The order of the given levels is irrelevant:
Take an array organized by years, trimesters and months in its three levels:
Reduce along the third level (months), obtaining a matrix with dimensions two years by four trimesters:
Reduce along the second level (trimesters):
Reduce along the first level (years):
Reduce simultaneously two levels, in three different possible ways, with results always being vectors:
Properties & Relations (9)
ArrayReduce[f,array,n] is equivalent to ArrayReduce[f,array,{n}] for a positive integer n:
ArrayReduce[Total,array,n] is equivalent to Total[array,{n}]:
ArrayReduce[Total,array,1;;n] is equivalent to Total[array,n]:
For an array a of depth k, ArrayReduce[f,a,{1,…,k}] is equivalent to f[Flatten[a]]:
For an array a of depth k, ArrayReduce[f,a,{}] is equivalent to Map[f,a,{k}]:
For an array a of depth k and a list ν={n1,n2,…,ns} of distinct levels ni≤k, ArrayReduce[f,a,ν] is equivalent to Map[f,Flatten[a,{{m1},…,{mr},ν}],{r}] with {m1,...,mr}=Complement[Range[k],ν]:
For an array a of depth k and levels n1≤n2≤k, ArrayReduce[f,a,n1;;n2] is equivalent to ArrayReduce[f,a,Range[n1,n2]]:
For an array a, ArrayReduce[f,a,{{n1,…,ns}}] is equivalent to ArrayReduce[f,a,{n1,…,ns}]:
For a rectangular array a, TensorContract[a,{{i1,i2},{j1,j2},…}] is equivalent to ArrayReduce[Tr,a,{{i1,j1,…},{i2,j2,…}}]:
AggregationLayer[f,levels][array] can also be expressed as ArrayReduce[f,array,levels]:
Related Guides
History
Text
Wolfram Research (2020), ArrayReduce, Wolfram Language function, https://reference.wolfram.com/language/ref/ArrayReduce.html.
CMS
Wolfram Language. 2020. "ArrayReduce." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayReduce.html.
APA
Wolfram Language. (2020). ArrayReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayReduce.html
BibTeX
@misc{reference.wolfram_2025_arrayreduce, author="Wolfram Research", title="{ArrayReduce}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayReduce.html}", note=[Accessed: 15-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_arrayreduce, organization={Wolfram Research}, title={ArrayReduce}, year={2020}, url={https://reference.wolfram.com/language/ref/ArrayReduce.html}, note=[Accessed: 15-August-2025]}