Does this iterated sequence always end in a finite number of steps to a number which is divisible by a perfect number?

128 Views Asked by At

I posted this question at MathOverflow, but then I realized that maybe it is more appropriate to ask it here:

Let $f$ be a multiplicative arithmetic function which maps $\mathbb{N}$ to itself, such as $\sigma=$ sum of divisors, $\phi = $ Euler phi-function or $\tau = $ number of divisors. Define $\Sigma_f(n) = n \cdot \frac{n_0(f(n))}{\gcd(n_0(n),n_0(f(n)))}$ where $n_0(x)$ is the radical of $x$= product of primes dividing $x$. We start with some number $n_1$ and iterate the sigma process: $n_{i+1} = \Sigma_f(n_i)$. In this context, it might be helpful to "visualize" what happens: Define for $f,n$ the graph $G=(V,E)$ , where $V= \Pi(n) \cup \Pi(f(n))$ where $\Pi(x) = \{ p | p \text{ prime }, p | x \} = $ set of primes which divide $x$. Then a directed edge from $p$ to $q$ is written, if and only if, $p|n$ and $q | f(p^{v_p(n)})$.

We might call an arithemtic function "noetherian" if for all $n$ the sigma process stopps after finitely many steps. Questions:

a) Are $\sigma, \tau, \phi$ noetherian functions?

b) Is $\sigma_2$ not noetherian (Consider $n_1=2$)?

c) If $\Sigma_f(n) = n$, is then $G$ connected?

d) If $\Sigma_{\sigma}(n) = n$, is then $n$ divisible by a perfect number?

In the attachment, you can find some Sage code, which implements this idea.

Thanks for your help.

If a) and d) are true, then one would have a method for constructing perfect numbers, namely start with any number $n$, and iterate the function $\Sigma_{\sigma}$ on $n$ and by a) this will stopp after finitely many steps, constructing a number $N$ with $\Sigma_{\sigma}(N) = N$. By d) this number will be divisible by a perfect number. (I am not saying that those perfect numbers will be distinct or that there are infinitely many of them. Just start with some natural number, and then eventually one will get some perfect number.)

Some examples:

1 [1]
2 [2, 6]
3 [3, 6]
4 [4, 28]
5 [5, 30]
6 [6]
7 [7, 14, 42]
8 [8, 120]
9 [9, 117, 1638]
10 [10, 30]
11 [11, 66]
12 [12, 84]
13 [13, 182, 546]
14 [14, 42]
15 [15, 30]
16 [16, 496]
17 [17, 102]
18 [18, 234, 1638]
19 [19, 190, 570]
20 [20, 420]

The following graph graph is the graph for $n=9660$ and $f=\sigma$. The number $n$ has the following properties:

$\Sigma_{\sigma}(n) = n$ and $n$ is divisible by at least two ($6$ and $28$) perfect numbers.

The graph has the following properties:

['is_connected',
 'is_circular_planar',
 'is_planar',
 'is_interval',
 'is_directed',
 'is_chordal']

( For a definition of these terms, see: http://doc.sagemath.org/html/en/reference/graphs/sage/graphs/generic_graph.html )

Attachment:

def rad(n):
    return prod(prime_divisors(n))

def nextN(n,f=sigma):
    return n*rad(f(n))/gcd(rad(n),rad(f(n)))

def iterN(n,f=sigma,verbose=False):
    n0 = n
    n1 = -1
    ll = [n0]
    while n0 != nextN(n0,f=f):
        n1 = nextN(n0,f=f)
        if verbose:
            print n1
        ll.append(n1)
        n0 = n1
    return ll

def graphN(n,f=sigma):
    G = DiGraph()
    V = set(prime_divisors(n)).union(set(prime_divisors(f(n))))
    for p in V:
        for q in V:
            if n%p==0 and f(p^valuation(n,p))%q==0:
                G.add_edge(p,q)
    return G

G = graphN(1)
properties = { 'is_chordal': G.is_chordal(),
                   'is_circulant': G.is_circulant(),
      'is_circular_planar':G.is_circular_planar(),
     'is_clique':G.is_clique(),
     'is_connected': G.is_connected(),
    # 'is_cut_edge': G.is_cut_edge(),
    # 'is_cut_vertex': G.is_cut_vertex(),
     'is_directed': G.is_directed(),
     'is_directed_acyclic':G.is_directed_acyclic(),
     'is_drawn_free_of_edge_crossings': G.is_drawn_free_of_edge_crossings(),
    # 'is_equitable': G.is_equitable(),
     'is_eulerian':G.is_eulerian(),
     'is_gallai_tree': G.is_gallai_tree(),
     'is_hamiltonian':G.is_hamiltonian(),
     'is_independent_set':G.is_independent_set(),
     'is_interval':G.is_interval(),
     'is_planar':G.is_interval(),
     'is_regular':G.is_regular(),
     'is_strongly_connected':G.is_strongly_connected(),
     'is_transitive': G.is_transitive(),
     'is_transitively_reduced': G.is_transitively_reduced(),
     'is_vertex_transitive': G.is_vertex_transitive()}
allproperties = set(properties.keys())
for n in range(2,31):
    F = sigma
    it = iterN(n,f=F)
    N = it[-1]
    G = graphN(N,f=F)
    print N, len(G.vertices()),len(prime_divisors(N)),len(G.edges())
    #print 'is_aperiodic',G.is_aperiodic()
    properties = { 'is_chordal': G.is_chordal(),
                   'is_circulant': G.is_circulant(),
      'is_circular_planar':G.is_circular_planar(),
     'is_clique':G.is_clique(),
     'is_connected': G.is_connected(),
    # 'is_cut_edge': G.is_cut_edge(),
    # 'is_cut_vertex': G.is_cut_vertex(),
     'is_directed': G.is_directed(),
     'is_directed_acyclic':G.is_directed_acyclic(),
     'is_drawn_free_of_edge_crossings': G.is_drawn_free_of_edge_crossings(),
    # 'is_equitable': G.is_equitable(),
     'is_eulerian':G.is_eulerian(),
     'is_gallai_tree': G.is_gallai_tree(),
     'is_hamiltonian':G.is_hamiltonian(),
     'is_independent_set':G.is_independent_set(),
     'is_interval':G.is_interval(),
     'is_planar':G.is_interval(),
     'is_regular':G.is_regular(),
     'is_strongly_connected':G.is_strongly_connected(),
     'is_transitive': G.is_transitive(),
     'is_transitively_reduced': G.is_transitively_reduced(),
     'is_vertex_transitive': G.is_vertex_transitive()}
    P = [ p for p in properties.keys() if properties[p]]
    print N,P
    allproperties = allproperties.intersection(set(P))

print allproperties

perfectNumbers = [6,28,496,8128,33550336,8589869056]
for n in range(1,100000):
    F = sigma
    it = iterN(n,f=F)
    N = it[-1]
    if all([ N%p!=0 for p in perfectNumbers]):
        print N