If I understand correctly, PCA's principle is very simple:
- Calculate data vectors' covariance matrix C.
- Solve det(C - e*I) = 0, to find matrix C's eigenvalues e.
- Calculate matrix C's eigenfunctions (from those eigenvalues).
FIRST: Is this description correct?
SECOND: Any algorithm for machine-solving of the polynomial equation det(C - e*I) = 0 ? I understand that this is a general math question (finding roots of a polynomial of degree n).
THIRD: Are there any simple implementations of PCA in C/C++?