Computing rank of a matrix over a finite field

Click For Summary

Discussion Overview

The discussion focuses on methods for computing the rank of a matrix over a finite field, exploring various approaches and their effectiveness compared to traditional methods like row reduction. Participants consider both theoretical and practical aspects of the problem.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants suggest that row reduction is a standard method for computing rank, while questioning if there are better alternatives specific to finite fields.
  • One participant mentions the singular value decomposition as a potentially superior method over the reals or complexes but notes its inapplicability to finite fields.
  • Another participant raises a concern about the failure of certain algorithms, such as the Householder matrix method, due to division by zero in finite fields and the lack of a norm for vectors in this context.
  • A participant introduces a parallel algorithm for rank computation developed by Ketan Mulmuley, which is claimed to outperform traditional methods and discusses its implications for the characteristic polynomial and rank relationship.
  • Concerns are expressed regarding the generalization of the relationship between rank and the characteristic polynomial, with counterexamples suggested to challenge the proposed connections.

Areas of Agreement / Disagreement

Participants express differing views on the effectiveness of various algorithms for rank computation over finite fields, with no consensus reached on a single best method. The discussion includes both supportive and critical perspectives on the proposed approaches.

Contextual Notes

Participants highlight limitations in existing algorithms when applied to finite fields, particularly regarding division operations and the properties of vector norms. The discussion also notes the potential for counterexamples to challenge proposed relationships between rank and characteristic polynomials.

Hurkyl
Staff Emeritus
Science Advisor
Gold Member
Messages
14,922
Reaction score
28
How would one go about computing the rank of a matrix over a finite field? Obviously row reduction could be used... is there a better way?
 
Physics news on Phys.org
why is a finite field special? is there a better way than row reduction over Q?

or is the question whether finite fields allow some special method?

i don't know of any. except maybe to use macaulay, a computer program.
 
Both!

I'm under the impression that the singular value decomposition is generally superior to gaussian elimination when working over the reals or complexes. (but the algorithm I've seen simply won't work over a finite field)

And, I suspect that there ought to be a good way to do it over a finite field.
 
why doesn't it work? i.e. what is it?
 
The algorithm I saw involved finding a subprocedure called "House" -- something relating to something called a Householder matrix.

The algorithm for house involved dividing by something positive -- when I naively tried to apply it to a finite field, it required a division by zero.

I think the house algorithm is, given a vector x, supposed to return b and v such that (I - \beta \nu \nu^T) x = ||x|| e_1. The algorithm blew up on the computation of b... I tried assuming it had v right, and found that such a beta cannot exist.

Furthermore, I don't really have a norm on a vector space over a finite field -- many of the interesting vectors have a zero inner product with themselves! So, I strongly suspect that in such cases, even if house could be properly tweaked, I don't know if it would give interesting results at all!
 
Parallel algorithm for rank computation

There is an efficient parallel algorithm (in which you allow many processors but far less time allowed for each of them) which performs significantly better than the row reduction, gaussian elimination etc. The result is due to Ketan Mulmuley and was published in 1986.
http://portal.acm.org/citation.cfm?id=12164

It is known that the determinant can be computed in parallel. In fact, the similar methods can be extended to the coefficients of the characteristic polynomial of the matrix. Determinant is zero means that characteristic polynomial has its constant term as zero. Now can one generalize this to rank ? Namely is the rank of an nxn matrix, exactly n-k where k is the highest power of x which divides the characterestic polynomial ? Not really, in general one can easily construct counter examples for this.

Mulmuley constructs one family of matrices(M) for which the above generalization is actually true. Then he shows that every matrix A can be transformed to a matrix B in M, where the rank of the matrix A is easily recoverable from the rank of B. That gives the parallel algorithm.

Quite simple and elegant.
 

Similar threads

  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K