I'm using a Python library where I can specify a matrix by its eigendecomposition. It accepts $r$ eigenvectors of dimension $n$ ($r\leq n$) and $r$ corresponding eigenvalues, and outputs a matrix of dimension $n$. It does this by the following procedure:
Arrange the r eigenvectors in a matrix of dimension $n\times r$ (so that the eigenvectors are columns) and then multiply each column of the resulting matrix by that eigenvector's associated eigenvalue
Multiply the result of step 1 by the transpose of the original $n\times r$ matrix of eigenvectors in order to get an $n\times n$ matrix as a result.
I have not seen this matrix decomposition before. I attempted to calculate a test example where I "decomposed" a random matrix according to this procedure, and it definitely didn't give me the original matrix back.
What is this procedure known as and what are its properties and its properties of the resulting matrix?