Skip to main content

Integer sequence generation and related conditional tests.

Project description

interator

Module for integer sequence generation and related conditional tests.

Installation

Use the package manager pip to install interator.

pip install interator

Contents

Fibonacci Sequence

Function Description
fibonacci_stream(start=(0,1)) Yield the next Fibonacci number starting with F(0)
negafibonacci_stream(start=(0,1)) Yield the next Fibonacci number in the negative index starting with F(0)
nth_fibonacci(n, start=(0, 1)) Given an index n, find F(n)
lucas_stream(P = 2, Q = -1, start=(0, 1)) Yield the next number in the in the (P,-Q)-Lucas sequence starting with U0(P,Q)
is_fibonacci(n, start=(0,1)) Determine if n is within the Fibonacci sequence
is_lucas(n, P = 2, Q = -1, start=(0, 1)) Determine if n is within the (P,-Q)-Lucas sequence

Generalizations

By default, fibonacci_stream, negafibonacci_stream, nth_fibonacci, and is_fibonacci work with the Fibonacci numbers, and lucas_stream and is_lucas work with the Pell numbers. However, by changing start, any generalization of these sequences can be generated. Here are some common examples:

import interator

stop = 10
numbers = {'Lucas' : (2, 1),
           'Tribonacci' : (0, 0, 1),
           'Tetranacci' : (0, 0, 0, 1)}


for name, start in numbers.items():
    print('%s numbers:' % name)
    for i, n in enumerate(interator.fibonacci_stream(start=start)):
        print(n, end = ' ')
        if i == stop:
            print('\n')
            break

Please note the Lucas numbers should not be confused with the Lucas sequence. The Lucas numbers are a specific example of the Lucas sequence.

Prime Numbers

Functions Description
prime_stream() Yield the next prime number starting with 2
composite_stream() Yield the next composite number starting with 1
is_prime() Test the primality of n by checking potential prime factors
miller_rabin(n, k = 8) Perform the Miller-Rabin Primality Test on n
is_composite(n) Test if n is a composite number by checking potential prime factors

Polygonal Numbers

Functions Description
polygonal_stream(s) Yield the next s-gonal number starting with 1
is_polygonal(n, s) Test if n is an s-gonal number

Licensing

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

interator-0.3.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

interator-0.3-py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page