\documentclass{standalone}
\usepackage{tikz, amsmath}
\usetikzlibrary{arrows.meta}
\DeclareMathOperator{\im}{im}
\begin{document}
\begin{tikzpicture}
[
map/.style={->, shorten <=7pt, shorten >=7pt, -{>[scale=1.5]}},
index/.style={color=black!50, dashed, shorten <=2pt, shorten >=2pt},
]
\node (V) at (2, 6) {\( V \)};
\node (kerT) at (2, 2) {\( \ker T \)};
\node (zero1) at (2, 0) {\( 0 \)};
\node (dim) at (0, 3) {\( \dim V \)};
\node (null) at (1, 1) {\( \dim\ker T \)};
\node (W) at (6, 8) {\( W \)};
\node (imT) at (6, 4) {\( \im T \)};
\node (zero2) at (6, 0) {\( 0 \)};
\node (rank) at (7, 2) {\( \dim\im T \)};
\draw (V) -- (kerT);
\draw (kerT) -- (zero1);
\draw (W) -- (imT);
\draw (imT) -- (zero2);
\draw (V) -- (imT) [map];
\draw (kerT) -- (zero2) [map];
\draw (zero1) -- (zero2) [map];
\draw [index] (V) .. controls (0, 6) .. (dim);
\draw [index] (dim) .. controls (0, 0) .. (zero1);
\draw [index] (kerT) .. controls (1, 2) .. (null);
\draw [index] (null) .. controls (1, 0) .. (zero1);
\draw [index] (imT) .. controls (7, 4) .. (rank);
\draw [index] (rank) .. controls (7, 0) .. (zero2);
\end{tikzpicture}
\end{document}