login
A316622
Array read by antidiagonals: T(n,k) is the order of the group GL(n,Z_k).
11
1, 1, 1, 1, 1, 1, 1, 2, 6, 1, 1, 2, 48, 168, 1, 1, 4, 96, 11232, 20160, 1, 1, 2, 480, 86016, 24261120, 9999360, 1, 1, 6, 288, 1488000, 1321205760, 475566474240, 20158709760, 1, 1, 4, 2016, 1886976, 116064000000, 335522845163520, 84129611558952960, 163849992929280, 1
OFFSET
0,8
COMMENTS
All rows are multiplicative.
Equivalently, the number of invertible n X n matrices mod k.
Also, for k prime (but not higher prime powers) the number of nonsingular n X n matrices over GF(k).
For k >= 2, n! divides T(n,k) since the subgroup of GL(n,k) consisting of all permutation matrices is isomorphic to S_n (the n-th symmetric group). Note that a permutation matrix is an orthogonal matrix, hence having determinant +-1. - Jianing Song, Oct 29 2022
LINKS
R. P. Brent and B. D. McKay, Determinants and ranks of random matrices over Zm, Discrete Mathematics 66 (1987) pp. 35-49.
J. M. Lockhart and W. P. Wardlaw, Determinants of Matrices over the Integers Modulo m, Mathematics Magazine, Vol. 80, No. 3 (Jun., 2007), pp. 207-214.
The Group Properties Wiki, Order formulas for linear groups
FORMULA
T(n,p^e) = (p^e)^(n^2) * Product_{j=1..n} (1 - 1/p^j) for prime p.
EXAMPLE
Array begins:
=================================================================
n\k| 1 2 3 4 5 6
---+-------------------------------------------------------------
0 | 1 1 1 1 1 1 ...
1 | 1 1 2 2 4 2 ...
2 | 1 6 48 96 480 288 ...
3 | 1 168 11232 86016 1488000 1886976 ...
4 | 1 20160 24261120 1321205760 116064000000 489104179200 ...
5 | 1 9999360 ...
...
MATHEMATICA
T[_, 1] = T[0, _] = 1; T[n_, k_] := T[n, k] = Module[{f = FactorInteger[k], p, e}, If[Length[f] == 1, {p, e} = f[[1]]; (p^e)^(n^2)* Product[(1 - 1/p^j), {j, 1, n}], Times @@ (T[n, Power @@ #]& /@ f)]];
Table[T[n - k + 1, k], {n, 0, 8}, {k, n + 1, 1, -1}] // Flatten (* Jean-François Alcover, Jul 25 2019 *)
PROG
(GAP)
T:=function(n, k) if k=1 or n=0 then return 1; else return Order(GL(n, Integers mod k)); fi; end;
for n in [0..5] do Print(List([1..6], k->T(n, k)), "\n"); od;
(PARI) T(n, k)={my(f=factor(k)); k^(n^2) * prod(i=1, #f~, my(p=f[i, 1]); prod(j=1, n, (1 - p^(-j))))}
CROSSREFS
Rows n=2..4 are A000252, A064767, A305186.
Columns k=2..7 are A002884, A053290, A065128, A053292, A065498, A053293.
Cf. A053291 (GF(4)), A052496 (GF(8)), A052497 (GF(9)).
Cf. A316623.
Sequence in context: A090185 A059813 A097099 * A197111 A065529 A205015
KEYWORD
nonn,mult,tabl
AUTHOR
Andrew Howroyd, Jul 08 2018
STATUS
approved