Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A367064
Determinant of the matrix d*e/gcd(d, e)^2, where d, e run through the unitary divisors of n.
2
1, -3, -8, -15, -24, 576, -48, -63, -80, 5184, -120, 14400, -168, 20736, 36864, -255, -288, 57600, -360, 129600, 147456, 129600, -528, 254016, -624, 254016, -728, 518400, -840, 110075314176, -960, -1023, 921600, 746496, 1327104, 1440000, -1368, 1166400, 1806336, 2286144, -1680, 1761205026816, -1848
OFFSET
1,2
COMMENTS
The matrix M(n) = [d*e / gcd(d, e)^2], where d, e run through the unitary divisors of n, is a Dedekind group matrix, hence its eigenvalues can be computed using characters of finite abelian groups. It can be proven that Spec(M(n)) = Product_{p|n, p prime} {1 + p^v_p(n), 1 - p^v_p(n)}. From this it follows that the determinant is never equal to 0, hence a(n) != 0 for all n. It also follows that the eigenvalues of this matrix appear with multiplicity one and each eigenvalue is an integer.
FORMULA
a(n) = Product_{I subset {1,...,omega(n)}} Product_{i in I} (1 + p_i^v_{p_i}(n))* Product_{j in I^c} (1 - p_j^v_{p_j}(n)) (proven), where omega(n) denotes the number of distinct prime divisors of n, I^c denotes the complement of the subset I in {1, 2, ..., omega(n)} and v_p(n) denotes the valuation of n at the prime divisors p of n.
If the prime factorization of n is n = Product_i p_i^e_i, then a(n) = (Product_i 1 - p_i^(2*e_i))^(2^(omega(n) - 1)). In particular, a(n) < 0 if and only if n is a prime power (A246655). - Chai Wah Wu, Nov 06 2023
By the formula of Chai Wah Wu it follows that a(n) = (uphi(n)*usigma(n))^ (2^(omega(n)-1))*(-1)^(omega(n)) where uphi(n) = A047994(n) is the unitary totient function and usigma(n) = A034448(n) is the sum of unitary divisors of n. - Orges Leka, Nov 07 2023
EXAMPLE
For n = 6 the a(6) = 576, since the eigenvalues of the matrix are 12, 2, -4, -6 and so 576 = 12*2*(-4)*(-6).
PROG
(SageMath)
def unitary_divisors(n):
return [d for d in divisors(n) if gcd(n//d, d) == 1]
def Un(n):
un = unitary_divisors(n)
M = matrix([[a*b//gcd(a, b)**2 for a in un] for b in un])
return M.det()
print([Un(n) for n in range(1, 44)])
# Alternative:
def detN(n):
PD = set(prime_divisors(n))
Sn = Subsets(PD)
dn = 1
for si in Sn:
sj = PD.difference(si)
Pi = prod(1 + p**valuation(n, p) for p in si)
Pj = prod(1 - p**valuation(n, p) for p in sj)
dn = dn*Pi*Pj
return dn
print([detN(n) for n in range(1, 44)])
# Based on the extensions found by David A. Corneth and Chai Wah Wu:
def uphi(n):
return prod(p**(valuation(n, p))-1 for p in prime_divisors(n))
def usigma(n):
return sum(d for d in divisors(n) if gcd(n//d, d) == 1)
def omega(n):
return len(prime_divisors(n))
def ddet(n):
return (uphi(n)*usigma(n))**(2**(omega(n)-1))*(-1)**(omega(n))
print([ddet(n) for n in range(1, 44)])
(PARI)
a(n) = {
my(d = divisors(n), m);
d = select(x->gcd(x, n/x)==1, d);
m = matrix(#d, #d, i, j, d[i]*d[j]/(gcd(d[i], d[j])^2));
matdet(m)
} \\ David A. Corneth, Nov 04 2023
(PARI)
a(n) = {
my(f = factor(n), P = vector(#f~, i, f[i, 1]^(2*f[i, 2])), res = 1);
forsubset(#f~, s,
s = Set(s);
vs = vector(#s, i, 1 - P[s[i]]);
res*=vecprod(vs);
);
return(res);
} \\ David A. Corneth, Nov 04 2023
(Python)
from math import prod
from sympy import factorint
def A367064(n):
f = factorint(n)
return prod(1-d**(e<<1) for d, e in f.items())**(1<<len(f)-1) if n>1 else 1
# Chai Wah Wu, Nov 06 2023
CROSSREFS
KEYWORD
sign
AUTHOR
Orges Leka, Nov 04 2023
EXTENSIONS
More terms from David A. Corneth, Nov 04 2023
STATUS
approved