+ vector<double> solveEquations(vector<vector<double> >, vector<double>);
+ vector<float> solveEquations(vector<vector<float> >, vector<float>);
+ vector<vector<double> > getInverse(vector<vector<double> >);
+ double choose(double, double);
+ double normalvariate(double mu, double sigma);
+ vector< vector<double> > lda(vector< vector<double> >& a, vector<string> groups, vector< vector<double> >& means, bool&); //Linear discriminant analysis - a is [features][valuesFromGroups] groups indicates which group each sampling comes from. For example if groups = early, late, mid, early, early. a[0][0] = value for feature0 from groupEarly.
+ int svd(vector< vector<double> >& a, vector<double>& w, vector< vector<double> >& v); //Singular value decomposition