20 #include "../config.h" 21 #ifdef __MATRIXWRAPPER_LTI__ 23 #ifndef __MATRIX_LTI__ 24 #define __MATRIX_LTI__ 26 #include "matrix_wrapper.h" 27 #include "vector_wrapper.h" 28 #include <ltilib/ltiMatrix.h> 35 #define ltiMatrix lti::matrix<double> 36 #define ltiSymmetricMatrix lti::matrix<double> 37 #define ltiColumnVector lti::vector<double> 56 Matrix (
const MyMatrix& a);
59 Matrix(
const ltiMatrix & a);
61 virtual unsigned int rows()
const;
62 virtual unsigned int columns()
const;
63 virtual double&
operator()(
unsigned int,
unsigned int);
64 virtual const double operator()(
unsigned int,
unsigned int)
const;
65 virtual const bool operator==(
const MyMatrix& a)
const;
73 virtual MyMatrix
operator+ (
double b)
const;
74 virtual MyMatrix
operator- (
double b)
const;
75 virtual MyMatrix
operator* (
double b)
const;
76 virtual MyMatrix
operator/ (
double b)
const;
78 virtual MyMatrix&
operator =(
const MySymmetricMatrix& a);
81 virtual MyMatrix
operator+ (
const MyMatrix &a)
const;
82 virtual MyMatrix
operator- (
const MyMatrix &a)
const;
83 virtual MyMatrix
operator* (
const MyMatrix &a)
const;
85 virtual MyColumnVector
operator* (
const MyColumnVector &b)
const;
87 virtual MyRowVector
rowCopy(
unsigned int r)
const;
88 virtual MyColumnVector
columnCopy(
unsigned int c)
const;
90 virtual void resize(
unsigned int i,
unsigned int j,
91 bool copy=
true,
bool initialize=
true);
92 virtual MyMatrix
inverse()
const;
96 virtual MyMatrix
sub(
int i_start,
int i_end,
int j_start ,
int j_end)
const;
102 class MySymmetricMatrix :
public ltiSymmetricMatrix,
public SymmetricMatrix_Wrapper
107 SymmetricMatrix(
int n);
110 SymmetricMatrix(
const SymmetricMatrix& a);
111 SymmetricMatrix(
const ltiSymmetricMatrix & a);
114 virtual ~SymmetricMatrix();
117 virtual unsigned int rows()
const;
118 virtual unsigned int columns()
const;
119 virtual MySymmetricMatrix inverse()
const;
120 virtual MySymmetricMatrix transpose()
const;
121 virtual double determinant()
const;
123 virtual double& operator()(
unsigned int,
unsigned int);
124 virtual const double operator()(
unsigned int,
unsigned int)
const;
125 virtual const bool operator==(
const MySymmetricMatrix& a)
const;
127 virtual MySymmetricMatrix& operator=(
double a);
129 virtual MySymmetricMatrix& operator +=(
double a);
130 virtual MySymmetricMatrix& operator -=(
double a);
131 virtual MySymmetricMatrix& operator *=(
double b);
132 virtual MySymmetricMatrix& operator /=(
double b);
133 virtual MySymmetricMatrix operator + (
double b)
const;
134 virtual MySymmetricMatrix operator - (
double b)
const;
135 virtual MySymmetricMatrix operator * (
double b)
const;
136 virtual MySymmetricMatrix operator / (
double b)
const;
138 virtual MyMatrix& operator +=(
const MyMatrix& a);
139 virtual MyMatrix& operator -=(
const MyMatrix& a);
140 virtual MyMatrix operator + (
const MyMatrix &a)
const;
141 virtual MyMatrix operator - (
const MyMatrix &a)
const;
142 virtual MyMatrix operator * (
const MyMatrix &a)
const;
144 virtual MySymmetricMatrix& operator +=(
const MySymmetricMatrix& a);
145 virtual MySymmetricMatrix& operator -=(
const MySymmetricMatrix& a);
146 virtual MySymmetricMatrix operator + (
const MySymmetricMatrix &a)
const;
147 virtual MySymmetricMatrix operator - (
const MySymmetricMatrix &a)
const;
148 virtual MyMatrix operator * (
const MySymmetricMatrix& a)
const;
150 virtual MyColumnVector operator* (
const MyColumnVector &b)
const;
152 virtual void resize(
unsigned int i,
bool copy=
true,
bool initialize=
true);
153 virtual MyMatrix sub(
int i_start,
int i_end,
int j_start ,
int j_end)
const;
virtual void resize(unsigned int i, unsigned int j, bool copy=true, bool initialize=true)=0
resize matrix
virtual MyMatrix operator/(double b) const =0
MATRIX - SCALAR operator.
virtual MyMatrix operator+(double b) const =0
MATRIX - SCALAR operator.
virtual MyMatrix operator*(double b) const =0
MATRIX - SCALAR operator.
virtual MyMatrix inverse() const =0
get inverse
virtual MyMatrix sub(int i_start, int i_end, int j_start, int j_end) const =0
get sub matrix
virtual MyMatrix operator-(double b) const =0
MATRIX - SCALAR operator.
virtual double & operator()(unsigned int, unsigned int)=0
Operator ()
virtual MyMatrix & operator=(double a)=0
Set all elements of the Matrix equal to a.
virtual MyColumnVector columnCopy(unsigned int c) const =0
Get column from matrix.
virtual int convertToSymmetricMatrix(MySymmetricMatrix &sym)=0
Turn matrix into Symmetric one.
virtual unsigned int columns() const =0
Ask Number of Columns.
virtual double determinant() const =0
get determinant
virtual unsigned int rows() const =0
Ask Number of Rows.
virtual MyRowVector rowCopy(unsigned int r) const =0
Get row from matrix.
virtual MyMatrix & operator/=(double b)=0
MATRIX - SCALAR operator.
virtual MyMatrix & operator+=(double a)=0
MATRIX - SCALAR operator.
virtual MyMatrix transpose() const =0
get transpose
virtual bool operator==(const MyMatrix &a) const =0
Operator ==.
virtual MyMatrix & operator-=(double a)=0
MATRIX - SCALAR operator.
virtual MyMatrix & operator*=(double b)=0
MATRIX - SCALAR operator.