NAME

App::MathImage::NumSeq -- number sequences

SYNOPSIS

# only a base class, use one of the actual classes such as

use App::MathImage::NumSeq::Squares;
my $seq = App::MathImage::NumSeq::Squares->new;
my ($i, $value) = $seq->next;

DESCRIPTION

This is a base class for number sequences. It's a touch rough yet, but offers an iterator through the sequence, or random access and predicate for some sequences.

The idea is to generate things like squares or primes in a generic way. Some sequences (like squares) are so easy that there's no need for this oopery except for the genericness, others sequences are trickier and an iterator is a good way to go through the values.

FUNCTIONS

In the following "Foo" is one of the actual subclass names.

$seq = App::MathImage::NumSeq::Foo->new (key=>value,...)

Create and return a new sequence object.

($i, $value) = $seq->next()

Return the next index and value in the sequence.

$seq->rewind()

Return the sequence to its starting point.

$str = $seq->description()

A human-readable description of the sequence.

$value = $seq->values_min()
$value = $seq->values_max()

Return the minimum or maximum value taken by values in the sequence, or undef if unknown or infinity.

$ret = $seq->characteristic($key)

Return true if the sequence is of the given $key (a string) type. This is intended as a loose set of characteristics or properties a sequence might have.

count       a count of something
digits      digits in a given radix
$str = $seq->oeis_anum()

Return the Online Encyclopedia of Integer Sequences A-number (a string) for $seq, or undef if not in the OEIS or not known to be. For example for the squares the return is "A000290". The web page for that is then

http://oeis.org/A000290

Optional Methods

The following methods are only implemented for some sequences, because for some it can be difficult to generate a particular numbered element etc.

$value = $seq->ith($i)

Return the $i'th value in the sequence. Only some sequence classes implement this method.

$bool = $seq->pred($value)

Return true if $value occurs in the sequence. For example for the squares this would return true if $value is a perfect square or false if not.

SEE ALSO

Math::Sequence and Math::Series, symbolic recursive definitions like Fibonacci

math-image

HOME PAGE

http://user42.tuxfamily.org/math-image/index.html

LICENSE

Copyright 2010, 2011 Kevin Ryde

Math-Image 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 3, or (at your option) any later version.

Math-Image 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 Math-Image. If not, see <http://www.gnu.org/licenses/>.