cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A367064 Determinant of the matrix d*e/gcd(d, e)^2, where d, e run through the unitary divisors of n.

Original entry on oeis.org

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

Views

Author

Orges Leka, Nov 04 2023

Keywords

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.

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).
		

Crossrefs

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