A set of functions for miscellaneous arithmetic calculation
Project 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
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.
Source Distribution
Built Distribution
Hashes for arith_lib-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea6c3f6722ca0bfc163c9df5c65eb7a7a70d0b98ef9fcf413b367e9a38f341a7 |
|
MD5 | 24dd0eae078167798256134db326e98c |
|
BLAKE2b-256 | 380aa70baa27fac1b428229eca1ecb18e9358e7a9dac65bb24e7a18b109046a4 |