PDL::Reduce man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

Reduce(3)	      User Contributed Perl Documentation	     Reduce(3)

NAME
       PDL::Reduce -- a "reduce" function for PDL

DESCRIPTION
       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).

SYNOPSIS
	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

FUNCTIONS
       reduce

       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);
	$b = $a->reduce('+',1);	    # three ways to do the same thing

       [ 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

       ]

       NOTE: You should quote the name of the operation (1st arg) that you
       want "reduce" to perform. This is important since some of the names are
       identical to the names of the actual PDL functions which might be
       imported into your namespace. And you definitely want a string as
       argument, not a function invocation! For example, this will probably
       fail:

	 $b = $a->reduce(avg,1); # gives an error from invocation of 'avg'

       Rather use

	 $b = $a->reduce('avg',1);

       "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 [,@dims]);

       "reduce" applies the named operation along the specified dimension(s)
       reducing the input piddle dimension by as many dimensions as supplied
       as arguments. If the dimension(s) argument is omitted the operation is
       applied along the first dimension. To get a list of valid operations
       see canreduce.

       NOTE - new power user feature: you can now supply a code reference as
       operation to reduce with.

	 # reduce by summing over dims 0 and 2
	 $result = $pdl->reduce(\&sumover, 0, 2);

       It is your responsibility to ensure that this is indeed a PDL
       projection operation that turns vectors into scalars!  You have been
       warned.

       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.

	 @ops = PDL->canreduce;

       This list is useful if you want to make sure which operations can be
       used with "reduce".

AUTHOR
       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.

perl v5.10.0			  2004-09-07			     Reduce(3)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net