Let $\mathbf{A}$ be an $m \times n$ matrix. The subspace of $R^{m}$ spanned by the column vectors of $\mathbf{A}$ is called the column space or the column span of $\mathbf{A}$ and is denoted by $\mathcal{C}(\mathbf{A})$. Similarly, the subspace of $R^{n}$ spanned by the row vectors of $\mathbf{A}$ is called the row space of $\mathbf{A}$, denoted by $\mathcal{R}(\mathbf{A})$. Clearly, $\mathcal{R}(\mathbf{A})$ is isomorphic to $\mathcal{C}\left(\mathbf{A}^{\prime}\right)$. The dimension

of the column space is called the column rank, whereas the dimension of the row space is called the row rank of the matrix. These two definitions turn out be very short-lived in any linear algebra book, since the two ranks are always equal, as we show in the next result.

The following operations performed on a matrix $\mathbf{A}$ are called elementary column operations:
(i) Interchange two columns of $\mathbf{A}$.
(ii) Multiply a column of $\mathbf{A}$ by a nonzero scalar.
(iii) Add a scalar multiple of one column to another column.
These operations clearly leave $\mathcal{C}(\mathbf{A})$ unaffected, and therefore they do not change the rank of the matrix. We can define elementary row operations similarly. The elementary row and column operations are particularly useful in computations. Thus to find the rank of a matrix we first reduce it to a matrix with several zeros by these operations and then compute the rank of the resulting matrix.