|
|
A059379
|
|
Array of values of Jordan function J_k(n) read by antidiagonals (version 1).
|
|
24
|
|
|
1, 1, 1, 2, 3, 1, 2, 8, 7, 1, 4, 12, 26, 15, 1, 2, 24, 56, 80, 31, 1, 6, 24, 124, 240, 242, 63, 1, 4, 48, 182, 624, 992, 728, 127, 1, 6, 48, 342, 1200, 3124, 4032, 2186, 255, 1, 4, 72, 448, 2400, 7502, 15624, 16256, 6560, 511, 1, 10, 72, 702, 3840
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,4
|
|
REFERENCES
|
L. Comtet, Advanced Combinatorics, Reidel, 1974, p. 199, #3.
R. Sivaramakrishnan, "The many facets of Euler's totient. II. Generalizations and analogues", Nieuw Arch. Wisk. (4) 8 (1990), no. 2, 169-187.
|
|
LINKS
|
|
|
FORMULA
|
J_k(n) = sum( d divides n, d^k*mu(n/d)) - Benoit Cloitre and Michael Orrison (orrison(AT)math.hmc.edu), Jun 07 2002
|
|
EXAMPLE
|
Array begins:
1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, ...
1, 3, 8, 12, 24, 24, 48, 48, 72, 72, ...
1, 7, 26, 56, 124, 182, 342, 448, 702, ...
1, 15, 80, 240, 624, 1200, 2400, 3840, ...
|
|
MAPLE
|
J := proc(n, k) local i, p, t1, t2; t1 := n^k; for p from 1 to n do if isprime(p) and n mod p = 0 then t1 := t1*(1-p^(-k)); fi; od; t1; end;
#alternative
add(d^k*numtheory[mobius](n/d), d=numtheory[divisors](n)) ;
end proc:
|
|
MATHEMATICA
|
JordanTotient[n_, k_:1]:=DivisorSum[n, #^k*MoebiusMu[n/#]&]/; (n>0)&&IntegerQ[n];
A004736[n_]:=Binomial[Floor[3/2+Sqrt[2*n]], 2]-n+1;
A002260[n_]:=n-Binomial[Floor[1/2+Sqrt[2*n]], 2];
|
|
PROG
|
(PARI)
jordantot(n, k)=sumdiv(n, d, d^k*moebius(n/d));
A002260(n)=n-binomial(floor(1/2+sqrt(2*n)), 2);
A004736(n)=binomial(floor(3/2+sqrt(2*n)), 2)-n+1;
(Python)
from functools import cache
def MoebiusTrans(a, i):
@cache
def mb(n, d = 1):
return d % n and -mb(d, n % d < 1) + mb(n, d + 1) or 1 // n
def mob(m, n): return mb(m // n) if m % n == 0 else 0
return sum(mob(i, d) * a(d) for d in range(1, i + 1))
def Jrow(n, size):
return [MoebiusTrans(lambda m: m ** n, k) for k in range(1, size)]
for n in range(1, 8): print(Jrow(n, 13))
# Alternatively:
from sympy import primefactors as prime_divisors
from fractions import Fraction as QQ
from math import prod as product
def J(n: int, k: int) -> int:
t = QQ(pow(k, n), 1)
s = product(1 - QQ(1, pow(p, n)) for p in prime_divisors(k))
return (t * s).numerator # the denominator is always 1
for n in range(1, 8): print([J(n, k) for k in range(1, 13)])
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|