[╯°□°]╯︵┻━┻
 All Classes Functions Variables
Matrix.h
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