Metadata-Version: 2.1
Name: arith-lib
Version: 2.0.0
Summary: A set of functions for miscellaneous arithmetic calculation
Home-page: UNKNOWN
Author: JM Allard
Author-email: jma214@gmail.com
License: UNKNOWN
Description: ## arith_lib: A set of functions for miscellaneous arithmetic calculation
        
        ### List of implemented functions
        
        * **gcd(\*arg):**
        Greatest common divisor of a set of integers
        
        * **lcm(\*arg):**
        Least common multiple of a set of integers
        
        * **bezout(a, b):**
        Provides a particular solution to diophantine equation a.u+b.v=gcd(a, b)
        
        * **modulo_inv(a, b):**
        Inverse of a modulo b
        
        * **chinese_remainder(r, m):**
        Solves the modular system:
           * x = r1 mod m1
           * x = r2 mod m2
           * ...
           * x = r_n mod m_n
        
        * **gene_pseudo_prime():**
        A generator which provides 2, 3, 5 and then all integers non multiple of 2, 3, 5
        
        * **is_prime(n):**
        Check for n primality. Miller-Rabin primality test is used
        
        * **next_prime(n):**
        Provides the first prime greater or equal to n
        
        * **previous_prime(n)**
        Provides the first prime smaller or equal to n
        
        * **prime_factorization(n, frmt):**
        Prime factorization of n
         
        * **divisors(n):**
        Provides all divisors of n
        
        * **phi(n):**
        Euler totient function
        
        * **moebius(n):**
        Moebius function
        
        * **to_base(n, \*kwarg):**
        Conversion from base 10 to base B
        
        * **frobenius(\*A, n=None):**
        Solves equation a1.x1 + a2.x2 + .. + ap.xp = n or finds
        the greatest n for which this equation has no solution.
        a1, a2, ... are positive integers.
        x1, x2, ... are the unknowns, positive integers
        	
        * **isqrt(n)**
        Provides the integer part of the square root of n
        where n is an integer of any size
        
        * **is_miller_rabin_witness(a, n)**
        Return True if 'a' is a Miller-Rabin witness for n
        
        * **get_random_prime(nbits, lessthan)**
        Provides a random prime with exactly or at most 'nbits' bits
        
        * **is_strong_pseudoprime(a, n)**
        Return True is n is a strong pseudo prime to base 'a'
        
        
        ### Installation
        
        pip install arith_lib
        
        
        ### Utilization
        
        from arith_lib import \*
        
        \>>> gcd(15, 20)
        5
        
        
        
        
        
Keywords: gcd lcm bezout pseudo prime miller rabin factorization divisor chinese remainder phi euler totient moebius base frobenius isqrt
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Scientific/Engineering :: Mathematics
Description-Content-Type: text/markdown
