template class PCA { public: void InitFromDensePoints(const Vector &Points, UINT Dimension); //void InitFromPointMatrix(const SparseMatrix &B); void InitFromPointMatrix(DenseMatrix &B); void InitFromMATLAB(UINT Dimension, const String &EigenvectorFilename, const String &EigenvalueFilename, const String &MeanFilename); UINT ReducedDimension(double EnergyPercent); void Transform(Vector &Result, const Vector &Input, UINT ReducedDimension); void InverseTransform(Vector &Result, const Vector &Input); void Transform(T *Result, const T *Input, UINT ReducedDimension); void InverseTransform(T *Result, const T *Input, UINT ReducedDimension); private: void InitFromCorrelationMatrix(const DenseMatrix &M); void FinalizeFromEigenSystem(); Vector _Means; Vector _Eigenvalues; DenseMatrix _Eigenvectors; }; #include "PCA.cpp"