Loading [MathJax]/extensions/tex2jax.js
Parallel numerical verification of the σ_odd problem  October 6, 2018
All Classes Namespaces Files Functions Variables Typedefs Macros
Classes | Namespaces | Functions
divisors.hpp File Reference

Functions in link with divisor notion: sum of divisors, factorization, GCD, coprime, ... More...

#include "helper.hpp"
#include "divisors__inline.hpp"
Include dependency graph for divisors.hpp:

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...
 

Detailed Description

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.