//matrixd.hpp #ifndef matrixd_hpp #define matrixd_hpp #include #include #include #include "matrixi.hpp" class Matrixd { public: Matrixd(); //Constructor for Matrixd of doubles Matrixd(int, int, double *); Matrixd(int, int); Matrixd(int, int, double); Matrixd(int, double); Matrixd(int, int, ifstream &); Matrixd(const Matrixd &); ~Matrixd(); int rows; int cols; double * array; char name[max_name_length]; char descript[max_descript_length]; Matrixd operator+(const Matrixd &); Matrixd operator-(const Matrixd &); Matrixd operator*(const Matrixd &); const Matrixd & operator=(const Matrixd &); printMatrixd(ofstream &); double val(int, int); double val(int); set(int, int, double); set(int, double); double addrow(int); double addcol(int); double A(int, int); double A(int); Matrixd GJ(const Matrixd &); //Gauss-Jordan Elim. Matrixd GJ(ofstream &); //Gauss-Jordan Elim. augment(const Matrixd &); //Augment Matrixd transpose(); Matrixd extract(int); //extract last int columns Matrixd Gauss(const Matrixd &); //Gauss Elim Matrixd Inverse(); //Matrixd Inverse ident(int); //return identity Matrixd size int double norm(); normalize(); double condition(); Matrixd iterative_refinement(const Matrixd &, ofstream &); double test_iter_refine(const Matrixd &, ofstream &); Matrixd diag_dom(ofstream &); double testrow(int, int); int testforuse(const Matrixi &, int r); Matrixi order_vector; setorder(const Matrixi & ); Matrixd Gauss_Seidel(const Matrixd &, ofstream &); }; #include "matrixd.cpp" #endif