Calculating eigenvalues and eigenvectors using Gram-Schmidt process

I would like to know the details of the algorithm for calculating eigenvalues and eigenvectors for given data matrix X. The algorithm goes as follows:

  1. Subtract mean value of X from X (centering data)

  2. Calculate orthogonal matrix U is using Gram-Schmidt process

  3. Use power iteration to calculate eigenvectors, where at each step you calculate U' = UC and normalize U'

  4. Repeat until U' is not equal to U

Anything helps (detailed explanation, name of the algorithm, articles,...). Thank you