Metadata-Version: 1.1
Name: eulerlib
Version: 0.2
Summary: A library of number theory related functions inspired by Project Euler.
Home-page: https://bitbucket.org/transmogrifier/eulerlib
Author: Sameer Marathe
Author-email: transmogrifier@gmail.com
License: Apache License 2.0
Description: EulerLib
        ********
        
        `eulerlib`__ is a library of recreational mathematics and number theory related
        functions inspired by  `Project Euler`_. Available functions include:
        
        * Prime number generation
        * Divisor functions (sigma functions)
        * Euler's totient function
        * Greatest Common Divisor (GCD) using Euclid's algorithm
        * Least Common Multiple (LCM)
        * Integer square root
        * Fibonacci numbers
        * Pandigital numbers
        * Palindrome numbers
        * Pythagorean triples
        
        Functions from this library can be used to solve recreational mathematics and
        programming problems such as problems in Project Euler.
        
        Installation
        ------------
        `eulerlib`__ is avalaible through Python Package Index (`PyPI`_) using
        `pip`_. ::
        
           >>> pip install --upgrade eulerlib
        
        To uninstall using `pip`_. ::
        
           >>> pip uninstall eulerlib
        
        Usage
        -----
        In Python console you can import functions/classes from eulerlib as needed. ::
        
           >>> from eulerlib import primes
           >>> p10 = primes(10)
           >>> print(p10)
           [2, 3, 5, 7]
        
        The *Divisors* class implements functions related to prime factorization,
        sigma functions etc. ::
        
           >>> from eulerlib import Divisors
           >>> mydiv = Divisors(10000)
           >>> div84 = mydiv.divisors(84) #divisors of 84
           >>> print(div84)
           [1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84]
           >>> pf840 = mydiv.prime_factors(840) # prime factors of 840
           >>> print(pf840)
           [(2, 3), (3, 1), (5, 1), (7, 1)]
        
        **Example**: Solved `Project Euler`_ `problem 3`_. ::
        
            from eulerlib import is_square, primes
            #get approximate square root of number since
            #largest prime factor < sq. root
            (is_sq, sqroot) = is_square(600851475143L)
            #get a list of primes less than the approx. square root.
            test_primes = primes(sqroot + 1L)
            #test the primes from the list to find the largest factor
            len_p = len(test_primes)
            for i in range(1,len_p+1):
                j = 0 - i
                test_fact = test_primes[j]
                if 600851475143L%test_fact == 0:
                    break
            answer = test_fact #Set the answer
        
        See complete `documentation`_.
        
        Modules
        -------
        +----------------+------------------------------------------------------------+
        |prime_numbers.py| Functions to generate lists of primes.                     |
        +----------------+------------------------------------------------------------+
        |numtheory.py    | * Euler's divisor functions (sigma funtions)               |
        |                | * Euler's totient function (phi function)                  |
        |                | * Prime factors of a number                                |
        |                | * Divisors of a number                                     |
        |                | * Greatest Common Divisor (GCD)                            |
        |                | * Least Common Multiple (LCM)                              |
        |                | * Digital root and digital sum of a number                 |
        +----------------+------------------------------------------------------------+
        |fibonacci.py    | Functions related to the Fibonacci sequence.               |
        +----------------+------------------------------------------------------------+
        |pythagoras.py   | Functions related to Pythagorean triples.                  |
        +----------------+------------------------------------------------------------+
        |etc.py          | Miscellaneous functions:                                   |
        |                |                                                            |
        |                | * Pandigital numbers                                       |
        |                | * Conversion from decimal to base n (2-36)                 |
        |                | * Number to lists and vice versa                           |
        |                | * Palindrome numbers                                       |
        +----------------+------------------------------------------------------------+
        
        Development
        -----------
        Source code repositories (`GitHub`_, `BitBucket`_) are available. 
        `Bug reports`_ and suggestions are most welcome.
        
        License
        -------
        eulerlib is licensed under `Apache License 2.0`_.
        
        .. _Project Euler: https://projecteuler.net
        .. _PyPI: https://pypi.python.org/pypi
        .. _pip: https://pip.pypa.io
        .. _Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0.html
        .. _problem 3: https://projecteuler.net/problem=3
        .. _GitHub: https://github.com/transmogrifier/eulerlib
        .. _BitBucket: https://bitbucket.org/transmogrifier/eulerlib
        .. _Bug reports: https://github.com/transmogrifier/eulerlib/issues
        .. _documentation: http://pythonhosted.org/eulerlib
        .. _eulerlib1: https://pypi.python.org/pypi/eulerlib
        __ eulerlib1_
        __ eulerlib1_
Keywords: mathematics project_euler number_theory prime_numbers
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: End Users/Desktop
