PDL::Reduce -- a reduce function for PDL
reduce
Many languages have a reduce function used to reduce the rank of an N-D array by one. It works by applying a selected operation along a specified dimension. This module implements such a function for PDL by providing a simplified interface to the existing projection functions (e.g. sumover, maximum, average, etc).
sumover
maximum
average
use PDL::Reduce; $a = sequence 5,5; # reduce by adding all # elements along 2nd dimension $b = $a->reduce(add,1); @ops = $a->canreduce; # return a list of all allowed operations
reduce dimension of piddle by one by applying an operation along the specified dimension
$a = sequence 5,5; # reduce by adding all # elements along 2nd dimension $b = $a->reduce(add,1); $b = $a->reduce(plus,1);
[ As an aside: if you are familiar with threading you will see that this is actually the same as
$b = $a->mv(1,0)->sumover
]
reduce provides a simple and unified interface to the projection functions and makes people coming from other data/array languages hopefully feel more at home.
$result = $pdl->reduce($operation [,$dim]);
reduce applies the named operation along the specified dimension reducing the input piddle dimension by one. If the dimension is omitted the operation is applied along the first dimension. To get a list of valid operations see canreduce.
return list of valid named reduce operations Some common operations can be accessed using a number of names, e.g. '+', add and plus all sum the elements along the chosen dimension.
'+'
add
plus
@ops = PDL->canreduce;
This list is useful if you want to make sure which operations can be used with reduce.
Copyright (C) 2000 Christian Soeller (c.soeller@auckland.ac.nz). All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file.
To install PDL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm PDL
CPAN shell
perl -MCPAN -e shell install PDL
For more information on module installation, please visit the detailed CPAN module installation guide.