[╯°□°]╯︵┻━┻
|
00001 #ifndef PRJ_MATRIX_H 00002 #define PRJ_MATRIX_H 00003 00004 #include "Vect.h" 00005 class Matrix { 00006 protected: 00007 bool invUpToDate; 00008 vector<vector<double> > comp; 00009 vector<vector<double> > inv; 00010 public: 00011 vector<vector<double > > convertTab(); 00012 double get(size_t const& i,size_t const& j) const;//ecrit 00013 void set(size_t const& i, size_t const& j,double const& nb);//ecrit 00014 //void setDim(size_t const& i, size_t const& j);//!A ECRIRE 00015 size_t getDimi() const;//ecrit 00016 size_t getDimj() const;//ecrit 00017 00018 Matrix operator*(double const&)const;//ecrit 00019 Matrix& operator*=(double const&);//ecrit 00020 friend Matrix operator*(double const&, Matrix const&);//ecrit 00021 friend Matrix& operator*=(double const&, Matrix&);//ecrit 00022 00023 //inverser 00024 Matrix getInv() ; 00025 bool updateInv(); 00026 //det 00027 double det(size_t const& j=0) const; 00028 Matrix min(size_t const& i, size_t const& j) const ;//enlve ligne i colonne j 00029 //prod Matriciel 00030 Matrix operator*(Matrix const&) const; 00031 Matrix& operator*=(Matrix const&); 00032 00033 Vect operator*(Vect const&) const; 00034 00035 friend Matrix operator*(Vect const&,Matrix const&); 00036 00037 //add 00038 Matrix operator+(Matrix const&) const; 00039 Matrix& operator+=(Matrix const&); 00040 //sub 00041 Matrix operator-(Matrix const&) const; 00042 Matrix& operator-=(Matrix const&); 00043 //oppose 00044 Matrix operator-()const; 00045 //egalite 00046 bool operator==(Matrix const&)const; 00047 00048 //disp 00049 ostream& disp(ostream& out) const; 00050 friend ostream& operator<<(ostream& out, Matrix const& m); 00051 00052 Matrix transpose() const; 00053 00054 00055 //CONSTR---- 00056 Matrix(size_t const& i,size_t const& j, double const& nb); 00057 Matrix(size_t const& i=0); 00058 00059 Matrix(vector<vector<double> > const& m); 00060 //Matrix(initializer_list<initializer_list<double> > const& m); 00061 Matrix(size_t const& i, double const& nb); 00062 00063 }; 00064 00065 00066 Matrix rotationMatrix(double theta,double x,double y,double z); 00067 00068 #endif //PRJ_MATRIX_H