+++ /dev/null
-#ifndef LINEARALGEBRA
-#define LINEARALGEBRA
-
-/*
- * linearalgebra.h
- * mothur
- *
- * Created by westcott on 1/7/11.
- * Copyright 2011 Schloss Lab. All rights reserved.
- *
- */
-
-#include "mothurout.h"
-
-
-class LinearAlgebra {
-
-public:
- LinearAlgebra() { m = MothurOut::getInstance(); }
- ~LinearAlgebra() {}
-
- vector<vector<double> > matrix_mult(vector<vector<double> >, vector<vector<double> >);
- void recenter(double, vector<vector<double> >, vector<vector<double> >&);
- int tred2(vector<vector<double> >&, vector<double>&, vector<double>&);
- int qtli(vector<double>&, vector<double>&, vector<vector<double> >&);
- vector< vector<double> > calculateEuclidianDistance(vector<vector<double> >&, int); //pass in axes and number of dimensions
- vector< vector<double> > calculateEuclidianDistance(vector<vector<double> >&); //pass in axes
- vector<vector<double> > getObservedEuclideanDistance(vector<vector<double> >&);
- double calcPearson(vector<vector<double> >&, vector<vector<double> >&);
- double calcSpearman(vector<vector<double> >&, vector<vector<double> >&);
- double calcKendall(vector<vector<double> >&, vector<vector<double> >&);
-
- double calcPearson(vector<double>&, vector<double>&, double&);
- double calcSpearman(vector<double>&, vector<double>&, double&);
- double calcKendall(vector<double>&, vector<double>&, double&);
-
- double calcSpearmanSig(double, double, double, double); //length, f^3 - f where f is the number of ties in x, f^3 - f where f is the number of ties in y, sum of squared diffs in ranks. - designed to find the sif of one score.
- double calcPearsonSig(double, double); //length, coeff.
- double calcKendallSig(double, double); //length, coeff.
-
-
-private:
- MothurOut* m;
-
- double pythag(double, double);
- double betacf(const double, const double, const double);
- double betai(const double, const double, const double);
- double gammln(const double);
- double gammp(const double, const double);
- double gammq(const double, const double);
- double gser(double&, const double, const double, double&);
- double gcf(double&, const double, const double, double&);
- double erfcc(double);
-
- double ran0(int&); //for testing
- double ran1(int&); //for testing
- double ran2(int&); //for testing
- double ran3(int&); //for testing
- double ran4(int&); //for testing
- void psdes(unsigned long &, unsigned long &); //for testing
-
-};
-
-#endif
-