29 #ifndef DINAMICA_DAMATRIX_H_ 30 #define DINAMICA_DAMATRIX_H_ 82 unsigned int ncols()
const {
return this->_ncols; };
88 unsigned int nrows()
const {
return this->_nrows; };
94 unsigned int size()
const {
return this->_data.size(); };
97 void resize(
int rows,
int cols);
102 T&
at(
const unsigned int irow,
const unsigned int icol);
103 const T&
at(
const unsigned int irow,
const unsigned int icol)
const;
105 std::vector<T>
getrow(
const unsigned int irow)
const;
106 std::vector<T>
getcol(
const unsigned int icol)
const;
108 void setrow(
const unsigned int irow,
const std::vector<T> &obj);
109 void setcol(
const unsigned int icol,
const std::vector<T> &obj);
111 AlgebraicMatrix<T> submat(
const unsigned int first_row,
const unsigned int first_col,
const unsigned int last_row,
const unsigned int last_col)
const;
129 std::vector<T> _data;
131 static unsigned int pivot(
unsigned int& k,
const unsigned int ii,
const AlgebraicMatrix<T>& A, std::vector<unsigned int>& P, std::vector<unsigned int>& R, std::vector<unsigned int>& C1, std::vector<unsigned int >& C2, T& det);
132 static void eliminate(
const unsigned int k,
AlgebraicMatrix<T>& A, std::vector<unsigned int>& R);
138 template<
typename U> std::ostream& operator<<(std::ostream &out, const AlgebraicMatrix<U> &obj);
139 template<>
DACE_API std::ostream& operator<<(std::ostream &out, const AlgebraicMatrix<DA> &obj);
std::istream & operator>>(std::istream &in, AlgebraicMatrix< DA > &obj)
DA specialization of input stream operator.
Definition: AlgebraicMatrix.cpp:65
unsigned int ncols() const
Definition: AlgebraicMatrix.h:82
AlgebraicMatrix(const int nrows, const int ncols)
Definition: AlgebraicMatrix.h:65
T det() const
Matrix determinant.
Definition: AlgebraicMatrix_t.h:605
DA operator*(const DA &da1, const DA &da2)
Definition: DA.cpp:759
DA operator-(const DA &da1, const DA &da2)
Definition: DA.cpp:714
AlgebraicMatrix< double > cons() const
Return the costant part of a AlgebraicMatrix<T>
Definition: AlgebraicMatrix_t.h:639
AlgebraicMatrix< double > matrixdb
Short for AlgebraicMatrix<double>
Definition: AlgebraicMatrix.h:169
AlgebraicMatrix(const int nrows, const int ncols, const T &d)
Definition: AlgebraicMatrix.h:73
void resize(int size)
Definition: AlgebraicMatrix_t.h:90
Definition: AlgebraicMatrix.h:43
AlgebraicMatrix< T > transpose() const
Matrix transpose.
Definition: AlgebraicMatrix_t.h:479
Definition: AlgebraicMatrix.h:46
std::vector< T > getcol(const unsigned int icol) const
Reading column.
Definition: AlgebraicMatrix_t.h:192
void setrow(const unsigned int irow, const std::vector< T > &obj)
Set row equal to std::vector.
Definition: AlgebraicMatrix_t.h:215
AlgebraicMatrix()
Definition: AlgebraicMatrix.h:52
void setcol(const unsigned int icol, const std::vector< T > &obj)
Set column equal to std::vector.
Definition: AlgebraicMatrix_t.h:230
T & at(const unsigned int irow, const unsigned int icol)
Reading/Writing single element.
Definition: AlgebraicMatrix_t.h:143
#define DACE_API
Definition: dace_s.h:33
Definition: AlgebraicMatrix.cpp:39
AlgebraicMatrix(const int size)
Default Constructor.
Definition: AlgebraicMatrix.h:58
AlgebraicMatrix< DA > matrixDA
Short for AlgebraicMatrix<DA>
Definition: AlgebraicMatrix.h:168
AlgebraicMatrix< T > inv() const
Matrix inverse XXX: name.
Definition: AlgebraicMatrix_t.h:565
AlgebraicMatrix< T > submat(const unsigned int first_row, const unsigned int first_col, const unsigned int last_row, const unsigned int last_col) const
Extract submatrix.
Definition: AlgebraicMatrix_t.h:245
std::vector< T > getrow(const unsigned int irow) const
Reading row.
Definition: AlgebraicMatrix_t.h:169
DA operator+(const DA &da1, const DA &da2)
Definition: DA.cpp:669
unsigned int size() const
Definition: AlgebraicMatrix.h:94
unsigned int nrows() const
Definition: AlgebraicMatrix.h:88