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 U_{0}(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

## Release history Release notifications | RSS feed

## Download files

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

Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|

Filename, size interator-0.3-py3-none-any.whl (6.1 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |

Filename, size interator-0.3.tar.gz (4.9 kB) | File type Source | Python version None | Upload date | Hashes View |