]> git.donarmstrong.com Git - mothur.git/blob - linearalgebra.h
added mantel command
[mothur.git] / linearalgebra.h
1 #ifndef LINEARALGEBRA
2 #define LINEARALGEBRA
3
4 /*
5  *  linearalgebra.h
6  *  mothur
7  *
8  *  Created by westcott on 1/7/11.
9  *  Copyright 2011 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "mothurout.h"
14
15
16 class LinearAlgebra {
17         
18 public:
19         LinearAlgebra() { m = MothurOut::getInstance(); }
20         ~LinearAlgebra() {}
21         
22         vector<vector<double> > matrix_mult(vector<vector<double> >, vector<vector<double> >);
23         int tred2(vector<vector<double> >&, vector<double>&, vector<double>&);
24         int qtli(vector<double>&, vector<double>&, vector<vector<double> >&);
25         vector< vector<double> > calculateEuclidianDistance(vector<vector<double> >&, int); //pass in axes and number of dimensions
26         vector< vector<double> > calculateEuclidianDistance(vector<vector<double> >&); //pass in axes
27         double calcPearson(vector<vector<double> >&, vector<vector<double> >&);
28         double calcSpearman(vector<vector<double> >&, vector<vector<double> >&);
29         double calcKendall(vector<vector<double> >&, vector<vector<double> >&);
30         
31 private:
32         MothurOut* m;
33         
34         double pythag(double, double);
35 };
36
37 #endif
38