I intuitively know what an isomorphism is, but I have a few questions:
- What is a "natural" isomorphism?
- What is a "canonical" isomorphism?
- How does one prove that two vector spaces are isomorphic?
I'm looking for answers from a linear algebra point of view. I don't know anything about category theory.
Without getting very categorical, the linear algebra answer to the first two questions is that an isomorphism is natural (or canonical) if it does not depend on the choice of a basis.
There are usually infinitely many isomorphisms between two isomorphic vector spaces, but a natural or canonical one is the unique one satisfying some desirable property.
As an example, let $V$ be a finite-dimensional vector spaces, and let $e_V\colon V\to (V^*)^*$ be the linear map given by $e_V(x)(f)=f(x)$. This is an isomorphism, and the $e$s form the unique collection of isomorphisms such that the diagram
$$\begin{matrix}V&\stackrel{e_V}{\to}&(V^*)^*\\\scriptstyle{f}\downarrow&&\downarrow\scriptstyle{(f^t)^t}\\W&\stackrel{e_W}{\to}&(W^*)^*\end{matrix}$$
commutes for any finite-dimensional vector space $W$ and linear map $f\colon V\to W$. (Here $f^t$ denotes the transpose of $f$). (As a categorical aside for those who might appreciate it; the word natural is arising here because the collection of isomorphisms $e_V$ provide a natural transformation between the identity functor and the double dual functor on finite dimensional vector spaces over some fixed field).
The working dictionary should probably be that natural isomorphisms don't depend on choosing bases, and canonical ones are unique isomorphisms with some additional property, but these two things usually coincide.
To prove two vector spaces are isomorphic, one must write down an isomorphism - or apply some theorem that implies the existence of one. For example if $V$ and $W$ are vector spaces of the same finite dimension over the same field, then they are isomorphic.