5 // Created by Patrick Schloss on 11/8/12.
6 // Copyright (c) 2012 University of Michigan. All rights reserved.
9 #ifndef pds_dmm_qFinderDMM_h
10 #define pds_dmm_qFinderDMM_h
12 /**************************************************************************************************/
14 #include "mothurout.h"
16 /**************************************************************************************************/
21 qFinderDMM(vector<vector<int> >, int);
22 double getNLL() { return currNLL; }
23 double getAIC() { return aic; }
24 double getBIC() { return bic; }
25 double getLogDet() { return logDeterminant; }
26 double getLaplace() { return laplace; }
27 void printZMatrix(string, vector<string>);
28 void printRelAbund(string, vector<string>);
33 void optimizeLambda();
36 double negativeLogEvidenceLambdaPi(vector<double>&);
37 void negativeLogDerivEvidenceLambdaPi(vector<double>&, vector<double>&);
38 double getNegativeLogEvidence(vector<double>&, int);
39 double getNegativeLogLikelihood();
40 vector<vector<double> > getHessian();
42 int lineMinimizeFletcher(vector<double>&, vector<double>&, double, double, double, double&, double&, vector<double>&, vector<double>&);
43 int bfgs2_Solver(vector<double>&);//, double, double);
44 double cheb_eval(const double[], int, double);
48 vector<vector<int> > countMatrix;
49 vector<vector<double> > zMatrix;
50 vector<vector<double> > lambdaMatrix;
51 vector<double> weights;
52 vector<vector<double> > error;
62 double logDeterminant;
67 /**************************************************************************************************/