I wanted to find a way to tell whether or not two matrices are similar.
Of course, first you check that similarity isn’t ruled out by matrices having different determinants, eigenvalues, trace.
Is it true that two matrices are similar if and only if their Jordan forms are equal?
I wanted to know how, then, do we calculate the Jordan Normal Form? I looked up many examples and it seems that the Jordan Normal Form is an upper triangular matrix with eigenvalues on the main diagonal. If an eigenvalue $b$ has algebraic multiplicity $k$, geometric multiplicity $m$ and $m<k$, then the matrix is defective. The difference between m and k is the number of 1s ABOVE the leading diagonal. It isn’t that easy, right?
For example, the matrix $$\begin{bmatrix}1&2\\3&2\end{bmatrix}$$ would have Jordan normal form $$\begin{bmatrix}4&0\\0&-1\end{bmatrix}$$ whereas the matrix $$\begin{bmatrix}3&0\\1&3\end{bmatrix}$$ would have Jordan form $$\begin{bmatrix}3&1\\0&3\end{bmatrix}$$ because $3$ is a defective eigenvalue, so we put a 1 above it. Thanks in advance for help!
Question 1: Is it true that two matrices are similar if and only if their Jordan forms are equal?
The answer is positive. See Similar Matrices and their Jordan Canonical Forms.
Question 2: Computation of the normal Jordan form
See here.
To complete my answer with what I understood from your question. Yes, The difference between m and k is the number of 1s ABOVE the leading diagonal. However, take care that two matrices with same $m,k$ can be non similar.
Example: two square nilponent matrices of order $6$. One having two Jordan blocks of size $3$, the other one with Jordan blocks of sizes $2$ and $4$.