If a matrix is normal/unitarily diagonalizable, then its square roots are readily computed by taking the square roots of its eigenvalues (in the complex plane if needed).
Any square root computed in this way is clearly going to also be normal.
However, are all square roots of a normal matrix $A$ also going to be normal, or more generally, diagonalisable? If this is the case, how can it be proven? How can the non-diagonal square roots be computed?
(The question could probably be generalized to refer to any inverse of a matrix function, but I am not sure about that).
Some related questions:
The notion of normality is not relevant here. Let $A\in M_n(\mathbb{C})$ be diagonalizable.
$\textbf{Poposition}$. If $\dim(\ker(A))\leq 1$, then each of its square roots is diagonalizable. Otherwise, there is at least one square root that is not diagonalizable.
$\textbf{Proof}$.
Case 1: If $\dim(\ker(A))\le1$.
Case 2: If $\dim(\ker(A))=k\geq 2$, then $A_{|\ker(A)}=0$ admits a square root in the form $$\operatorname{diag}\left(\begin{pmatrix}0&1\\0&0\end{pmatrix},0_{k-2}\right),$$ that is not diagonalizable. Therefore we obtain some $B$ that is not diagonalizable.
Remark. Of course, we can generalize the previous result even further. Let $f$ be a holomorphic function and consider the equation $f(B)=A$. Then the solutions $B$ are diagonalizable iff, for every $\lambda\in \operatorname{spectrum}(A)$, the equation $f(x)=\lambda$ has only simple roots OR has multiple roots but, in this case, the eigenvalue $\lambda$ is simple.