NAME

Sparse::Vector - Implements Sparse Vector Operations

USAGE

use Sparse::Vector;

# creating an empty sparse vector object
$spvec=Sparse::Vector->new;

# sets the value at index 12 to 5
$spvec->set(12,5);

# returns value at index 12
$value = $spvec->get(12);

# returns the indices of non-zero values in sorted order
@indices = $spvec->keys;

# print sparse vector to stdout
$spvec->print;

# returns the string form of sparse vector
# same as print except the string is returned
# rather than displaying on stdout
$spvec->stringify;

# adds sparse vectors v1, v2 and stores 
# result into v1
$v1->add($v2);

# increments the value at index 12
$spvec->incr(12);

# returns norm of the vector
$spvec_norm = $spvec->norm;

# normalizes a sparse vector
$spvec->normalize;

# returns dot product of the 2 vectors
$dotprod = $v1->dot($v2);

# deallocates all entries
$spvec->free;

ABSTRACT

Sparse::Vector is a Perl module that implements basic vector operations on sparse vectors.

AUTHOR

Amruta D Purandare, <pura0010@d.umn.edu>

Ted Pederse, <tpederse@d.umn.edu>

COPYRIGHT AND LICENSE

Copyright (c) 2004,

Amruta Purandare, University of Minnesota, Duluth. pura0010@umn.edu

Ted Pedersen, University of Minnesota, Duluth. tpederse@umn.edu

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to

The Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.