login
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
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
Enrique Pérez Herrero, Table of n, a(n) for n = 1..10000
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
A059379 := proc(n, k)
add(d^k*numtheory[mobius](n/d), d=numtheory[divisors](n)) ;
end proc:
seq(seq(A059379(d-k, k), k=1..d-1), d=2..12) ; # R. J. Mathar, Nov 23 2018
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];
A059379[n_]:=JordanTotient[A004736[n], A002260[n]]; (* Enrique Pérez Herrero, Dec 19 2010 *)
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;
A059379(n)=jordantot(A004736(n), A002260(n)); \\ Enrique Pérez Herrero, Jan 08 2011
(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)])
# Peter Luschny, Dec 16 2023
CROSSREFS
See A059379 and A059380 (triangle of values of J_k(n)), A000010 (J_1), A059376 (J_3), A059377 (J_4), A059378 (J_5). Columns give A000225, A024023, A020522, A024049, A059387, etc.
Main diagonal gives A067858.
Sequence in context: A183759 A101477 A077887 * A065487 A341287 A025258
KEYWORD
nonn,tabl
AUTHOR
N. J. A. Sloane, Jan 28 2001
STATUS
approved