\hypertarget{a08296}{}\section{Pca\+:\+:P\+CA$<$ VectorT $>$ Class Template Reference}
\label{a08296}\index{Pca\+::\+P\+C\+A$<$ Vector\+T $>$@{Pca\+::\+P\+C\+A$<$ Vector\+T $>$}}


Class for principal component Analysis.  




{\ttfamily \#include $<$/\+P\+C\+A.\+hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08296_a6db24ac413fc41814076cadb5c867b06}\label{a08296_a6db24ac413fc41814076cadb5c867b06}} 
\hyperlink{a08296_a6db24ac413fc41814076cadb5c867b06}{P\+CA} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hyperlink{a08296_a0c1939265897b2e5fb14fcef0eeceaa0}{P\+CA} (std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+points, \hyperlink{a12072}{VectorT} \&\+\_\+first, \hyperlink{a12072}{VectorT} \&\+\_\+second, \hyperlink{a12072}{VectorT} \&\+\_\+third)
\item 
\mbox{\Hypertarget{a08296_a976da0a0cf26f7cbc2b7cbbe04af5843}\label{a08296_a976da0a0cf26f7cbc2b7cbbe04af5843}} 
\hyperlink{a08296_a976da0a0cf26f7cbc2b7cbbe04af5843}{$\sim$\+P\+CA} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hyperlink{a12072}{VectorT} \hyperlink{a08296_afaf84da9303f5a30e70eff1562920612}{center\+\_\+of\+\_\+gravity} (const std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+points)
\item 
void \hyperlink{a08296_a90bab982beed3553f0c1ab746be21a60}{pca} (std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+points, \hyperlink{a12072}{VectorT} \&\+\_\+first, \hyperlink{a12072}{VectorT} \&\+\_\+second, \hyperlink{a12072}{VectorT} \&\+\_\+third)
\item 
\mbox{\Hypertarget{a08296_aabef20b2b23f4b4c25a220b4d8d556b0}\label{a08296_aabef20b2b23f4b4c25a220b4d8d556b0}} 
std\+::vector$<$ double $>$ \& {\bfseries get\+Last\+Eigen\+Values} ()
\item 
\mbox{\Hypertarget{a08296_a23e38fa78d2e816e5f077b434cc73dec}\label{a08296_a23e38fa78d2e816e5f077b434cc73dec}} 
bool {\bfseries Sym\+Right\+Eigenproblem} (Matrix \&\+\_\+mat\+\_\+A, Matrix \&\+\_\+mat\+\_\+\+VR, std\+::vector$<$ double $>$ \&\+\_\+vec\+\_\+\+EV)
\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08296_a48e9bf0bde4d14c1cc1e464173f2f21b}\label{a08296_a48e9bf0bde4d14c1cc1e464173f2f21b}} 
typedef gmm\+::dense\+\_\+matrix$<$ double $>$ {\bfseries Matrix}
\item 
\mbox{\Hypertarget{a08296_a954feb96e98acc8fb669225966f1f016}\label{a08296_a954feb96e98acc8fb669225966f1f016}} 
typedef std\+::vector$<$ double $>$ {\bfseries Vector}
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08296_a3812d5cba10aa4db317a2269d2dbac26}\label{a08296_a3812d5cba10aa4db317a2269d2dbac26}} 
std\+::vector$<$ double $>$ {\bfseries last\+Eigen\+Values\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename VectorT$>$\newline
class Pca\+::\+P\+C\+A$<$ Vector\+T $>$}

Class for principal component Analysis. 

Class for principal component Analysis 

Definition at line 83 of file P\+C\+A.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a08296_a0c1939265897b2e5fb14fcef0eeceaa0}\label{a08296_a0c1939265897b2e5fb14fcef0eeceaa0}} 
\index{Pca\+::\+P\+CA@{Pca\+::\+P\+CA}!P\+CA@{P\+CA}}
\index{P\+CA@{P\+CA}!Pca\+::\+P\+CA@{Pca\+::\+P\+CA}}
\subsubsection{\texorpdfstring{P\+C\+A()}{PCA()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
\hyperlink{a08296}{Pca\+::\+P\+CA}$<$ \hyperlink{a12072}{VectorT} $>$\+::\hyperlink{a08296}{P\+CA} (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&}]{\+\_\+points,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+first,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+second,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+third }\end{DoxyParamCaption})}

Extended constructor Parameters \+: see \hyperlink{a08296_a90bab982beed3553f0c1ab746be21a60}{pca()} 

Definition at line 85 of file P\+C\+A\+T\+\_\+impl.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08296_afaf84da9303f5a30e70eff1562920612}\label{a08296_afaf84da9303f5a30e70eff1562920612}} 
\index{Pca\+::\+P\+CA@{Pca\+::\+P\+CA}!center\+\_\+of\+\_\+gravity@{center\+\_\+of\+\_\+gravity}}
\index{center\+\_\+of\+\_\+gravity@{center\+\_\+of\+\_\+gravity}!Pca\+::\+P\+CA@{Pca\+::\+P\+CA}}
\subsubsection{\texorpdfstring{center\+\_\+of\+\_\+gravity()}{center\_of\_gravity()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
\hyperlink{a12072}{VectorT} \hyperlink{a08296}{Pca\+::\+P\+CA}$<$ \hyperlink{a12072}{VectorT} $>$\+::center\+\_\+of\+\_\+gravity (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&}]{\+\_\+points }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Compute center of gravity for a vector of points 
\begin{DoxyParams}{Parameters}
{\em \+\_\+points} & set of points \\
\hline
\end{DoxyParams}


Definition at line 104 of file P\+C\+A\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a08296_a90bab982beed3553f0c1ab746be21a60}\label{a08296_a90bab982beed3553f0c1ab746be21a60}} 
\index{Pca\+::\+P\+CA@{Pca\+::\+P\+CA}!pca@{pca}}
\index{pca@{pca}!Pca\+::\+P\+CA@{Pca\+::\+P\+CA}}
\subsubsection{\texorpdfstring{pca()}{pca()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
void \hyperlink{a08296}{Pca\+::\+P\+CA}$<$ \hyperlink{a12072}{VectorT} $>$\+::pca (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&}]{\+\_\+points,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+first,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+second,  }\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+third }\end{DoxyParamCaption})}

Compute the principal component analysys for a vector of points 
\begin{DoxyParams}{Parameters}
{\em \+\_\+points} & set of points \\
\hline
{\em \+\_\+first} & First main axis \\
\hline
{\em \+\_\+second} & second main axis \\
\hline
{\em \+\_\+third} & third main axis \\
\hline
\end{DoxyParams}


Definition at line 169 of file P\+C\+A\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+Math\+\_\+\+Tools/\+P\+C\+A/\hyperlink{a01460}{P\+C\+A.\+hh}\item 
Open\+Flipper/libs\+\_\+required/\+Math\+\_\+\+Tools/\+P\+C\+A/P\+C\+A\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
