How can I quickly know the rank of this / any other matrix?

I have looked this up on several sites but they confused me because some of the given information was wrong / unclear / contradicting whatever.

I hope you can tell me all / most important ways to calculate the rank of a matrix.

As example, I take the matrix

$$A = \begin{pmatrix}
1 & 2 & 3\\
0 & 5 & 4\\
0 & 10& 2

Now several sites included that info so it must be true: If, we are looking at this example, there is no line with zeroes only, the rank of this matrix will be $3$. (?)

Here is the problem. It will cost time to form this matrix to see if there will be lines with zeroes only. For this I can use Gaussian Elimination.

I have tested it with that Gauss and I couldn’t get a line with zeroes only, so I conclude that this matrix $rank(A)=3$.

This however seems very inefficient way, I hope you can tell me better ways?

Solutions Collecting From Web of "How can I quickly know the rank of this / any other matrix?"

If the determinant of $A \ne 0$ then it is “full rank.”

This is easy to program. However, if you are working with pen and paper, probably not the easiest.

Next, row operations.

Clearly row 1 is independent from rows 2 and 3 as it is the only one with a non zero entry in the first column.

Are 2 and 3 independent from each other? Yes they are. (one is not a multiple of the other)

This matrix is full rank.

If you are interested only in rank, there are actually plenty of ways to evaluate it explicitly or check that it has its maximum:

  1. Evaluate a determinant:

+: It is a useful number e.g. solving a linear equations.

-: Determinant itself is very hard to compute in general, any fast algorithm uses either a probability methods(very particular cases) or a row operations. (like one you said to be Gaussian)

  1. Row-column operation:

    If you are interested only in rank you can just equip your row operations with the column operations too. It is very fast to do with hands though it is not so far from usual Gauss elimination in computer.

-: It is useless to do such a thing if you are interested in another information of matrix (e.g. in solution of linear system)

+: In practice of evaluations with “bare” hands, it is really better than just a row operation “algorithm”.