Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
VecStat(3) User Contributed Perl Documentation VecStat(3)

    Math::VecStat - Some basic numeric stats on vectors

    use Math::VecStat qw(max min maxabs minabs sum average);

This package provides some basic statistics on numerical vectors. All the subroutines can take a reference to the vector to be operated on. In some cases a copy of the vector is acceptable, but is not recommended for efficiency.
max(@vector), max(\@vector)
return the maximum value of given values or vector. In an array context returns the value and the index in the array where it occurs.
min(@vector), min(\@vector)
return the minimum value of given values or vector, In an array context returns the value and the index in the array where it occurs.
maxabs(@vector), maxabs(\@vector)
return the maximum value of absolute of the given values or vector. In an array context returns the value and the index in the array where it occurs.
minabs(@vector), minabs(\@vector)
return the minimum value of the absolute of the given values or vector. In an array context returns the value and the index in the array where it occurs.
sum($v1,$v2,...), sum(@vector), sum(\@vector)
return the sum of the given values or vector
average($v1,$v2,..), average(@vector), average(\@vector)
return the average of the given values or vector
vecprod($a,$v1,$v2,..), vecprod($a,@vector), vecprod( $a, \@vector )
return a vector built by multiplying the scalar $a by each element of the @vector.
ordered($v1,$v2,..), ordered(@vector), ordered(\@vector)
return nonzero iff the vector is nondecreasing with respect to its index. To be used like
  if( ordered( $lowBound, $value, $highBound ) ){
instead of the (slightly) more clumsy
  if( ($lowBound <= $value) && ($value <= $highBound) ) {
sumbyelement( \@array1, \@array2 ), diffbyelement(\@array1,\@array2)
return the element-by-element sum or difference of two identically-sized vectors. Given
  $s = sumbyelement( [10,20,30], [1,2,3] );
  $d = diffbyelement( [10,20,30], [1,2,3] );
$s will be "[11,22,33]", $d will be "[9,18,27]".
allequal( \@array1, \@array2 )
returns true if and only if the two arrays are numerically identical.
convolute( \@array1, \@array2 )
return a reference to an array containing the element-by-element product of the two input arrays. I.e.,
  $r = convolute( [1,2,3], [-1,2,1] );
returns a reference to
evaluates the median, i.e. an element which separates the population in two halves. It returns a reference to a list whose first element is the median value and the second element is the index of the median element in the original vector.
  $a = Math::VecStat::median( [9,8,7,6,5,4,3,2,1] );
returns the list reference
  [ 5, 4 ]
i.e. the median value is 5 and it is found at position 4 of the original array.
If there are several elements of the array having the median value, e.g. [1,3,3,3,5]. In this case we choose always the first element in the original vector which is a median. In the example, we return [3,1].

 $Log:,v $
 Revision 1.9  2003/04/20 00:49:00
 Perl 5.8 broke test 36, exposing inconsistency in C<median>.  Fixed, thanks to
 Revision 1.8  2001/01/26 11:10:00
 Added function median.
 Fixed test, thanks to Andreas Marcel Riechert <>
 Revision 1.7  2000/10/24 15:28:00
 Added functions allequal diffbyelement
 Created a reasonable test suite.
 Revision 1.6  2000/06/29 16:06:37
 Added functions vecprod, convolute, sumbyelement
 Revision 1.5  1997/02/26 17:20:37  willijar
 Added line before pod header so pod2man installs man page correctly
 Revision 1.4  1996/02/20 07:53:10  willijar
 Added ability to return index in array contex to max and min
 functions. Added minabs and maxabs functions.
 Thanks to Mark Borges <> for these suggestions.
 Revision 1.3  1996/01/06 11:03:30  willijar
 Fixed stupid bug that crept into looping in min and max functions
 Revision 1.2  1995/12/26 09:56:38  willijar
 Oops - removed xy data functions.
 Revision 1.1  1995/12/26 09:39:07  willijar
 Initial revision

Let me know. I welcome any appropriate additions for this package.

John A.R. Williams <> Andrea Spinelli <>

Hey! The above document had some coding errors, which are explained below:
Around line 303:
You forgot a '=back' before '=head1'
2003-04-19 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.