Given $A \in \mathrm{GL}_m(\mathbb{C})$, I can conjugate it by some $B \in \mathrm{GL}_m(\mathbb{C})$ into its Jordan normal form. That is, for some $n\le m$, there exists a $J \in \mathrm{GL}_n(\mathbb{C})$ containing all Jordan blocks which are not the $1 \times 1$ block with entry $1$ such that our Jordan normal form looks like
\begin{align}
BAB^{-1}=
\begin{pmatrix}
J & 0 & \dots &0 \\
0 & 1 & \dots & 0\\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \dots & 1
\end{pmatrix}
\end{align}

In my setting the parameter $m$ is to be thought of as large and $n$ as small, and we define $n$ to be the size of $A$. 

My question is if such a $B$ can be chosen in an efficient way. That is, is there such a $B$ which conjugates $A$ into its Jordan normal form and $B$ has linearly bounded size $ \leq Kn$ for some $K \in \mathbb{N}$ itself? That means that a Jordan normal form of $B$ has a linearly bounded number of nontrivial Jordan blocks for a particular choice of $B$ or equivalently a choice of $B$ which has a large subspace on which it acts by the identity, if that was already true for $A$.