# Proving numerically that the rank of a matrix has a certain value

I have a (probably singular) square matrix whose entries are given by some complicated formula, involving, in particular, a converging infinite sum. I can determine each entry with arbitrary precision, but I cannot write the exact matrix in a "simple" form.

Is it possible to determine numerically what rank it has?

I think that this is not possible: if I compute the entries up to a certain precision, there will still be an invertible matrix closer to my matrix than my approximation, because they are dense, therefore I cannot conclude.

I have thought about finding a lower bound for the non-zero singular values of my matrix. I would then have shown that the computed values below this bound are, in fact, zero. And note that the rank equals the number of non-zero singular values.

But how would one go about looking for a lower bound for the singular values of a matrix that can only be known up to (arbitrary) precision?

• This is just an idea: perhaps use that $\exp(tr(A))=\det(A)$? This is at least a first step to determining singular or not. – Andres Mejia Apr 20 '18 at 14:32
• @AndresMejia Maybe I was not very clear, but it is not about singular or not, it is about the exact rank of the matrix. But anyway, your hint is aimed at getting a higher precision, right? Or would I actually be able to prove anything? The trouble is always: one can prove numerically that something is not zero, but to prove numerically that something (e.g., a singular value) is zero, is not at all trivial... – 57Jimmy Apr 20 '18 at 19:44
• Complicated or not, without the actual formula for the entries of your matrix, there is little that can be done by strangers. Possibly, you have an entire family of matrices, i.e., for member for each value of the dimension. Investigating the smallest examples first might give you ideas about the general case. – Carl Christian Apr 26 '18 at 8:13