I remember there exist a decomposition such that it transforms any given matrix to a block diagonal matrix, and each block having single eigenvalue. I couldn't find the name, please help me.
I tried to do it myself. Using Shur decomposition, we can transform any matrix to upper triangular matrix, such that diagonal elements are eigenvalues, and we can order them from smallest to largest. But I am not sure how to transform it to block diagonal matrix.
Please note that I am not talking about Jordan Canonical form, since in JCF different blocks can contain same eigenvalue.
$A\Longrightarrow \begin{bmatrix} A_1& 0&\ldots&0 \\0 & A_2 &\ldots&0\\\vdots&\vdots&\ddots&\vdots\\0&0&\ldots&A_n\end{bmatrix}$, such that all eigenvalues of $A_i$ equal to $\lambda_i$. And $\lambda_i\neq\lambda_j$ for all $i\neq j$.
Assume $A\in\mathbb{R}^{n\times n}$.
Assuming you are working over an algebraically closed field (like the complex numbers), any basis adapted to the direct sum decomposition of the whole space into generalised eigenspaces would match the requirement. There is a lot of choice there, you can improve the individual blocks to be upper triangular, like in a Schur form (but without the unitary requirement for the change of basis matrix), and even a Jordan form if you try harder.