A367064 Determinant of the matrix d*e/gcd(d, e)^2, where d, e run through the unitary divisors of n.
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
Keywords
Examples
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).
Links
- David A. Corneth, Table of n, a(n) for n = 1..10000
- David A. Corneth, Formula adapted from Orges Leka
- Orges Leka, SageMath script for empirical verification of the formula.
- MathOverflow, The action of the unitary divisors group on the set of divisors, 2020.
- MathOverflow, Sum of divisors and unitary divisors as the eigenvalue and the spectral norm of some addition matrix?
- MathOverflow, Boolean ring of unitary divisors / Structure of unitary divisors?
- Math StackExchange, Does this characteristic polynomial factor into linear factors over the integers?
Programs
-
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<
1 else 1 # Chai Wah Wu, Nov 06 2023 -
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)])
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
Extensions
More terms from David A. Corneth, Nov 04 2023
Comments