Blackbox Determinant Algorithm
Minor (submatrix determinant) notation:
- For a matrix A, and index sets
I = (i1, i2, ..., ik)
and
J = (j1, j2, ..., jk)
Let AI,J denote the k by k minor determinant of A in the rows indicated by I, columns indicated by J.
-
Let
Cnk
denote the set of all length k increasing sequences
from the size n index set {1, 2, ..., n}. The number of such sequences is the n,k binomial coefficient, i.e. coefficient of xk in (x+1)n.
-
Cauchy-Binet theorem: For I,J in
Cnk
, (AB)I,J = ΣK in
Cnk
AI,KBK,J.
Determinant facts:
- Definition det(A) = Σσ sign(σ) Πi ai,σ(i), where σ ranges over Sn, the set of all n! permutations of the n indices.
- Expansion on a row i:
det(A) = Σj ai,jAI,J, where I is the set of all row indices excluding i and J is the set of all column indices excluding j.
- For characteristic polynomial CA(x) = Σi=0
n
cixi, we have
ci = ΣI in Cn
n-i
(-1)n-i
AI,I.
Determinant Algorithm:
Input: a matrix A over a finite field F of size q.
Output: the determinant of A, an element of F.
-
Choose random d1, d2, ..., dn in F*.
Let D = diag(d1, d2, ..., dn).
-
Compute m(x) = mDA, the minimum polynomial of DA. // Wiedemann alg, probabilistic
-
If m0= 0 or deg(m(x) = n, return m0/(Πdi). //success
[m0 = det(DA), Πdi = det(D).]
- return "fail" or go to 1.
Observe that if the return in step 3 is taken, the algorithm is correct. Either the matrix is singular or the minimal polynomial of DA, having degree n, is the characteristic polynomial of DA.
The question that remains is, "What is the probability of failure (or of having to repeat)?"
Theorem: Given nonsingular n by n matrix A, if δ1, δ2, ..., δn are distinct indeterminants, then for Δ = diag(δ1, δ2, ..., δn), the characteristic polynomial of ΔA is square free.
Corollary: If A is nonsingular, then
cΔA(x)
= mΔA(x) (charpoly = minpoly).
Call d1, d2, ..., dn a good evaluation point if cDA(x) = mDA(x), for D = diag(d1, d2, ..., dn).
Strategy:
(1) Construct nonzero polynomial whose roots are the bad evaluation points.
Thus good evaluation points exist.
(2) Apply Schwartz lemma to show good evaluation points are ubiquitous.