What is range of a matrix? I am having some tough time understanding the basic concepts, like range of a matrix A. 
From what I basically understand, if a set columns in a matrix are linearly independent, i.e. one column in that set can not be derived from linear combination of others, than we can get a bunch of set of vectors by linear combination of the columns of matrix A. That set is called column space of the matrix A or its range. And those linear independent columns of matrix form basis for this range, or are called to "span the column space" of matrix A.
Did I understand it correctly? In simplest terms can anyone explain it?
Also what is Null space, rank and how they are related to a matrix?
 A: In the simplest terms, the range of a matrix is literally the "range" of it. The crux of this definition is essentially
Given some matrix $A$, which vectors can be expressed as a linear combination of its columns? 
Range (another word for column space) is what is meant by this. If you give me some matrix $A$ that is $m \times n$, the column space is the set of all vectors such that there exists $a_1, a_2, ...., a_n$ so that $a_1A_1 + a_2A_2 + ... a_nA_n = v$ for some vector $v$. 
$$\begin{bmatrix}1 & 0 & 0\\ 0 & 1 & 0 \\ 0 & 0 & 1\end{bmatrix} \begin{bmatrix}a_1 \\ a_2 \\ a_3\end{bmatrix}= \begin{bmatrix}5 \\ 5 \\ 5\end{bmatrix}$$
Then $v$ is in the range of $A$ since $a_1 = a_2 = a_3 = 5$. A better example is when it's not, like:
$$\begin{bmatrix}1 & 0 & 3\\ 1 & 1 & 2 \\ 0 & 0 & 0\end{bmatrix}\begin{bmatrix}a_1 \\ a_2 \\ a_3\end{bmatrix} = \begin{bmatrix}5 \\ 5 \\ 5\end{bmatrix}$$
Now it's not... since no $a_1, a_2, a_3$ will satisfy the condition that $v$ is a linear combination of the columns of $A$...I mean, we will always have $0$ in the third entry of any linear combination!
From this definition, the null space of $A$ is the set of all vectors such that $Av = 0$. Obviously $v = [0, 0, 0, ..., 0]$ is part of the null space, so it is always non-empty.
The rank of the matrix is related to the range. It denotes how many columns of $A$ are actually "relevant" in determining its range. You may think that removing a column from a matrix will dramatically affect which vectors it can reach, but consider:
$$\begin{bmatrix}1 & 2 & 0\\ 1 & 2 & 0 \\ 1 & 2 & 0\end{bmatrix} \approx \begin{bmatrix}1 \\ 1 \\ 1\end{bmatrix}$$
You can try to reason (to yourself), that the left matrix can reach the same space of vectors as the right matrix (Why?)
A: The $n \times m$ matrix maps a vector in $\mathbb R^m$ to a vector in $\mathbb R^n$
If $n>m$ we can't make something out of nothing, and the dimension of the image (or the rank) of the matrix cannot be greater than $m.$  The image (or range) of the matrix will be some subset of $\mathbb R^n$
The column space of the matrix shows how the principle vectors in $\mathbb R^m$ map into $\mathbb R^n$.  However many linearly independent columns we can put together will span the image.
Suppose $m>n$  We are loosing a dimension and something is going to get flattened.  Those vectors that map to the zero vector are called the kernel (or the null space) of the transformation.
Now, it could be that $m=n$ yet there is still some flattening going on.  i.e. a map from $\mathbb R^3$ to a plane in $\mathbb R^3$.  The columns space still spans the plane, and we will have a non-trivial kernel.
Rank - Nullity theorem -- the dimension of the image + dimension of the kernel equals the number of columns in the matrix.
Hope this helps.
A: This is the formal definition:
Let A be an $m\times n$ matrix:
-The column space (or range) of $A$,is the set of all linear combinations of the column vectors of $A$.
-The null space of $A$, denoted by $N(A)$, is the set of all vectors such that $A x = 0$.
