For a symmetric matrix the eigenvalues are real and the eigenvectors can be chosen orthonormal. The plan: find the eigenvalues, one unit eigenvector for each (orthogonalizing inside any repeated eigenspace), collect them in Q, and write
A = Q Λ Qᵀ — no inverse needed, since Q⁻¹ = Qᵀ. Then split A into rank-one pieces, one per eigenvector.