Parallel numerical verification of the σ_odd problem
October 6, 2018
|
Functions in link with divisor notion: sum of divisors, factorization, GCD, coprime, ... More...
Go to the source code of this file.
Classes | |
struct | sigmaodd::FactorExp |
Structure to represent a factor with its exponent. More... | |
Namespaces | |
sigmaodd | |
A lot of functions and stuffs to deal the sigma_odd problem and related stuffs. | |
Functions | |
std::ostream & | sigmaodd::operator<< (std::ostream &out, const FactorExp &factor_exp) |
Return "factor^exponent" representation of factor_exp. More... | |
std::vector< FactorExp > | sigmaodd::coprime_factor_exps (nat_type a, nat_type b) |
Heuristic to return a list of factors with their exponents such that all factors are coprimes and the product == a*b. If failed to have a list at least two factors then return an empty list. More... | |
std::pair< nat_type, unsigned int > | sigmaodd::divide_until_nb (nat_type n, nat_type d) |
Divide n by d until the result is not divisible by d, and return (result, number of divisions). More... | |
nat_type | sigmaodd::divide_until_odd (nat_type n) |
Return n divided by 2 until the result is odd. More... | |
std::pair< nat_type, unsigned int > | sigmaodd::divide_until_odd_nb (nat_type n) |
Divide n by 2 until the result is odd, and return (result, number of divisions). More... | |
nat_type | sigmaodd::first_divisor (nat_type n) |
Return the first divisor of n > 1 (or 1 if n <= 1) More... | |
constexpr nat_type | sigmaodd::gcd (nat_type a, nat_type b) |
Return the Greatest Common Divisor of a and b. More... | |
constexpr nat_type | sigmaodd::is_coprime (nat_type a, nat_type b) |
Return true iff a and b are coprime (relatively prime). More... | |
constexpr bool | sigmaodd::is_divide (nat_type d, nat_type n) |
Return true iff d divide n, i.e. if n is divisible by d. More... | |
constexpr bool | sigmaodd::is_first_mersenne_prime_unitary_divide (nat_type n) |
Return true iff at least one of 3, 7, 31 or 127 is an unitary divisor of n. More... | |
constexpr bool | sigmaodd::is_first_mersenne_prime_unitary_divide_or_square (nat_type n) |
Return true iff is_first_mersenne_prime_unitary_divide(n) or is_square(n). More... | |
constexpr bool | sigmaodd::is_little_mersenne_prime_unitary_divide (nat_type n) |
Return true iff at least one of 3, 7, 31, 127, 8191, 131071 or 524287 is an unitary divisor of n. More... | |
constexpr bool | sigmaodd::is_mersenne_prime_unitary_divide (nat_type n) |
Return true iff at least one of 3, 7, 31, 127, 8191, 131071, 524287, 2147483647 or 2305843009213693951 is an unitary divisor of n. More... | |
bool | sigmaodd::is_square (nat_type n) |
Return true iff n is a perfect square. More... | |
constexpr bool | sigmaodd::is_unitary_divide (nat_type d, nat_type n) |
Return true iff (d divide n) and (d NOT divide n/d). More... | |
nat_type | sigmaodd::pollard_rho (nat_type n) |
Return pollard_rho(n, rand() % n, floor square root of n). More... | |
nat_type | sigmaodd::pollard_rho (nat_type n, nat_type random, nat_type max_iteration) |
Heuristic to find a proper divisor of n with the Pollard's rho heuristic. More... | |
nat_type | sigmaodd::pollard_rho_repeat (nat_type n, nat_type nb_tries) |
Try pollard_rho(n) a maximum of nb_tries times and return 0 or the first divisor find. More... | |
nat_type | sigmaodd::sum_divisors__factorize (nat_type n) |
Calculates the sum of all divisors of n by the factorization method and returns it. More... | |
nat_type | sigmaodd::sum_divisors__naive (nat_type n) |
Calculates the sum of all divisors of n by the naive method and returns it. More... | |
nat_type | sigmaodd::sum_odd_divisors__factorize (nat_type n) |
Calculates the sum of odd divisors of n by the factorization method and returns it. More... | |
nat_type | sigmaodd::sum_odd_divisors__naive (nat_type n) |
Calculates the sum of odd divisors of n by the naive method and returns it. More... | |
nat_type | sigmaodd::sum_odd_divisors_upper_bound (nat_type n) |
Return an upper bound of sum odd divisors. More... | |
nat_type | sigmaodd::sum_odd_divisors_upper_bound__DeTemple (nat_type n) |
Return an upper bound of sum odd divisors of n using the DeTemple inequalities. More... | |
nat_type | sigmaodd::sum_odd_divisors_upper_bound__DeTemple_ceil (nat_type n) |
Return an upper bound of sum odd divisors of n using the DeTemple inequalities. ??? More... | |
nat_type | sigmaodd::sum_odd_divisors_upper_bound__DeTemple (nat_type n, nat_type k) |
Return an upper bound of sum odd divisors of n using the DeTemple inequalities and the knowledge that n have no divisors <= k. More... | |
Functions in link with divisor notion: sum of divisors, factorization, GCD, coprime, ...
(January 7, 2018) GPLv3 — Copyright (C) 2017, 2018 Olivier Pirson http://www.opimedia.be/
Definition in file divisors.hpp.