20 #include "../config.h" 21 #ifdef __MATRIXWRAPPER_NEWMAT__ 23 #ifndef __VECTOR_NEWMAT__ 24 #define __VECTOR_NEWMAT__ 26 #include "matrix_wrapper.h" 27 #include "vector_wrapper.h" 28 #include <newmat/newmatio.h> 32 #define NewMatColumnVector NEWMAT::ColumnVector 33 #define NewMatRowVector NEWMAT::RowVector 35 namespace MatrixWrapper
39 class ColumnVector :
public NewMatColumnVector,
public ColumnVector_Wrapper
50 ColumnVector(
const MyColumnVector& a,
const MyColumnVector& b);
61 virtual void resize(
int num_rows);
62 virtual void assign(
int size,
double value) ;
63 virtual unsigned int rows()
const;
64 virtual unsigned int columns()
const;
65 virtual unsigned int capacity()
const;
69 virtual const bool operator==(
const MyColumnVector& a)
const;
71 virtual MyColumnVector &
operator+= (
const MyColumnVector& a);
72 virtual MyColumnVector &
operator-= (
const MyColumnVector& a);
73 virtual MyColumnVector
operator+ (
const MyColumnVector &a)
const;
74 virtual MyColumnVector
operator- (
const MyColumnVector &a)
const;
80 virtual MyColumnVector
operator+ (
double b)
const;
81 virtual MyColumnVector
operator- (
double b)
const;
82 virtual MyColumnVector
operator* (
double b)
const;
83 virtual MyColumnVector
operator/ (
double b)
const;
85 virtual const double operator()(
unsigned int)
const;
87 virtual MyMatrix
operator* (
const MyRowVector &a)
const;
88 virtual MyColumnVector
sub(
int j_start ,
int j_end)
const;
95 class RowVector :
public NewMatRowVector,
public RowVector_Wrapper
102 RowVector(
int ncols);
107 RowVector (
const MyRowVector& a);
109 RowVector (
const NewMatRowVector& a);
111 virtual ~RowVector();
113 virtual void resize(
int num_cols);
114 virtual void assign(
int size,
double value) ;
115 virtual RowVector
vectorAdd(
const MyRowVector& v2)
const;
116 virtual unsigned int rows()
const;
117 virtual unsigned int columns()
const;
118 virtual unsigned int capacity()
const;
120 virtual RowVector&
operator =(
const MyRowVector& a);
121 virtual const bool operator==(
const MyRowVector& a)
const;
123 virtual MyRowVector &
operator+= (
const MyRowVector& a);
124 virtual MyRowVector &
operator-= (
const MyRowVector& a);
125 virtual MyRowVector
operator+ (
const MyRowVector &a)
const;
126 virtual MyRowVector
operator- (
const MyRowVector &a)
const;
132 virtual MyRowVector
operator+ (
double b)
const;
133 virtual MyRowVector
operator- (
double b)
const;
134 virtual MyRowVector
operator* (
double b)
const;
135 virtual MyRowVector
operator/ (
double b)
const;
137 virtual const double operator()(
unsigned int)
const;
139 virtual MyRowVector
sub(
int j_start ,
int j_end)
const;
140 virtual MyColumnVector
transpose()
const;
141 virtual double operator*(
const MyColumnVector& a)
const;
virtual MyColumnVector & operator+=(const MyColumnVector &a)
Operators.
virtual RowVector vectorAdd(const MyRowVector &v2) const
join two vectors
virtual MyRowVector & operator+=(const MyRowVector &a)
Operators.
virtual MyRowVector operator/(double b) const
Operators.
virtual bool operator==(const MyColumnVector &a) const
Operator ==.
virtual void assign(int size, double value)
assign
virtual bool operator==(const MyRowVector &a) const
Operator ==.
virtual double operator()(unsigned int) const
element indexing
virtual MyColumnVector sub(int j_start, int j_end) const
get sub matrix
virtual unsigned int columns() const
Ask numbers of columns (=1)
virtual void assign(int size, double value)
assign
virtual ColumnVector & operator=(const MyColumnVector &a)
operator =
virtual unsigned int capacity() const
Ask numbers of capacity.
virtual MyColumnVector & operator*=(double b)
Operators.
virtual MyColumnVector & operator-=(const MyColumnVector &a)
Operators.
virtual MyColumnVector transpose() const
get transpose
virtual unsigned int rows() const
Ask number of rows.
virtual MyColumnVector operator*(double b) const
Operators.
virtual ~ColumnVector()
Destructor.
virtual MyColumnVector operator/(double b) const
Operators.
virtual unsigned int rows() const
Ask number of rows.
virtual MyRowVector & operator-=(const MyRowVector &a)
Operators.
virtual RowVector & operator=(double a)
Initialise all elements to a.
virtual MyColumnVector & operator/=(double b)
Operators.
virtual double operator()(unsigned int) const
element indexing
virtual void resize(int num_rows)
resize
virtual void resize(int num_cols)
resize
virtual MyColumnVector operator-(const MyColumnVector &a) const
Operators.
virtual ColumnVector vectorAdd(const MyColumnVector &v2) const
join two vectors
virtual MyRowVector sub(int j_start, int j_end) const
get sub matrix
ColumnVector()
Constructor.
virtual MyColumnVector operator+(const MyColumnVector &a) const
Operators.
virtual MyRowVector & operator*=(double b)
Operators.
virtual unsigned int columns() const
Ask numbers of columns (=1)
virtual MyRowVector operator*(double b) const
Operators.
virtual MyRowVector operator+(const MyRowVector &a) const
Operators.
virtual MyRowVector & operator/=(double b)
Operators.
virtual unsigned int capacity() const
capacity
virtual MyRowVector operator-(const MyRowVector &a) const
Operators.
virtual MyRowVector transpose() const
get transpose