Go to the documentation of this file.
122 class SparseMatrixView;
612 mstart(start), mextent(extent), mstride(stride)
628 mstart(start), mextent(-1), mstride(stride)
638 mstart(0), mextent(-1), mstride(stride)
656 assert(
mstart<max_size );
675 assert( fin < max_size );
686 mstart(p.mstart + n.mstart*p.mstride),
688 mstride(p.mstride*n.mstride)
702 assert(
mstart<=prev_fin );
720 assert( p.
mstart <= fin );
721 assert( fin <= prev_fin );
739 mx(o.mx), mstride(o.mstride)
746 mx(x), mstride(stride)
784 mx(o.mx), mstride(o.mstride)
791 mx(x), mstride(stride)
829 msv(o.msv), mstride(o.mstride)
836 msv(x), mstride(stride)
882 msv(o.msv), mstride(o.mstride)
889 msv(x), mstride(stride)
998 mrange(0,0), mdata(NULL)
1006 const Range& range) :
1042 os << setw(3) << *i;
1045 for ( ; i!=end ; ++i )
1047 os <<
"\n" << setw(3) << *i;
1224 for ( ; i!=e ; ++i,++s )
1239 for ( ; i!=e ; ++i,++s )
1254 for ( ; i!=e ; ++i,++s )
1269 for ( ; i!=e ; ++i,++s )
1291 const Range& range) :
1323 for ( ; origin!=end ; ++origin,++target )
1332 for ( ; target!=end ; ++target )
1522 const Range& c)
const
1576 mrr(0,0,1), mcr(0,0,1), mdata(NULL)
1635 os << setw(3) << *ic;
1638 for ( ; ic!=end_col ; ++ic )
1640 os <<
" " << setw(3) << *ic;
1644 for ( ; ir!=end_row ; ++ir )
1652 os << setw(3) << *ic;
1655 for ( ; ic!=end_col ; ++ic )
1657 os <<
" " << setw(3) << *ic;
1858 for (
Iterator1D c = r->begin(); c!=ec ; ++c )
1871 for (
Iterator1D c = r->begin(); c!=ec ; ++c )
1884 for (
Iterator1D c = r->begin(); c!=ec ; ++c )
1897 for (
Iterator1D c = r->begin(); c!=ec ; ++c )
1911 for ( ; r!=er ; ++r,++sr )
1916 for ( ; c!=ec ; ++c,++sc )
1930 for ( ; r!=er ; ++r,++sr )
1935 for ( ; c!=ec ; ++c,++sc )
1949 for ( ; r!=er ; ++r,++sr )
1954 for ( ; c!=ec ; ++c,++sc )
1968 for ( ; r!=er ; ++r,++sr )
1973 for ( ; c!=ec ; ++c,++sc )
1987 for ( ; r!=er ; ++r,++sc )
2003 for ( ; r!=er ; ++r,++sc )
2019 for ( ; r!=er ; ++r,++sc )
2035 for ( ; r!=er ; ++r,++sc )
2094 for ( ; origin!=end ; ++origin,++target )
2099 for ( ; o!=e ; ++o,++t )
2109 for ( ; target!=end ; ++target )
2113 for ( ; t!=e ; ++t )
2158 Range( 0, m.nrows(), m.ncols() ),
2159 Range( 0, m.ncols() ) )
2168 Range( 0, m.nrows(), m.ncols() ),
2169 Range( 0, m.ncols() ) )
2280 for ( ; ai!=ae ; ++ai, ++bi )
2281 res += (*ai) * (*bi);
2311 for ( ; yi!=ye ; ++yi, ++mi )
2322 for ( ; xi!=xe ; ++xi, ++ri )
2324 dummy += (*ri) * (*xi);
2354 for ( ; ai!=ae ; ++ai, ++bi )
2363 for ( ; aci!=ace ; ++aci, ++cti )
2367 *aci = (*bi) * (*cti);
2406 double (&my_func)(
double),
2415 for ( ; xi!=xe; ++xi, ++yi )
2438 double (&my_func)(
double),
2448 for ( ; rx!=rxe; ++rx, ++ry )
2453 for ( ; cx!=cxe; ++cx, ++cy )
2467 for ( ; xi!=xe ; ++xi )
2485 for ( ; rx!=rxe ; ++rx )
2490 for ( ; cx!=cxe ; ++cx )
2507 for ( ; xi!=xe ; ++xi )
2525 for ( ; rx!=rxe ; ++rx )
2530 for ( ; cx!=cxe ; ++cx )
2539 #endif // matpackI_h
Numeric operator()(Index r, Index c) const
Plain const index operator.
Numeric * mx
Current position.
void transform(VectorView y, double(&my_func)(double), ConstVectorView x)
A generic transform function for vectors, which can be used to implement mathematical functions opera...
VectorView()
Default constructor.
Array< Matrix > ArrayOfMatrix
An array of matrices.
bool operator!=(const Iterator2D &other) const
Not equal operator, needed for algorithms like copy.
ConstVectorView msv
Current position.
MatrixView & operator=(const ConstMatrixView &v)
Assignment operator.
Vector()
Default constructor.
The constant iterator class for sub vectors.
Array< Vector > ArrayOfVector
An array of vectors.
ConstMatrixView transpose(ConstMatrixView m)
Const version of transpose.
MatrixView()
Default constructor.
const ConstVectorView & operator*() const
Dereferencing.
friend ConstMatrixView transpose(ConstMatrixView m)
Const version of transpose.
Const version of Iterator3D.
Numeric * mdata
Pointer to the plain C array that holds the data.
ConstIterator1D()
Default constructor.
void resize(Index n)
Resize function.
ConstVectorView()
Default constructor.
MatrixView & operator+=(Numeric x)
Addition of scalar.
Index nrows() const
Returns the number of rows.
void copy(ConstIterator1D origin, const ConstIterator1D &end, Iterator1D target)
Copy data between begin and end to target.
friend std::ostream & operator<<(std::ostream &os, const SparseMatrixView &v)
ConstIterator2D()
Default constructor.
Range mrange
The range of mdata that is actually used.
Index mstart
The start index.
MatrixView & operator-=(Numeric x)
Subtraction of scalar.
MatrixView & operator/=(Numeric x)
Division by scalar.
friend ConstMatrixView transpose(ConstMatrixView m)
Const version of transpose.
void mult(VectorView y, const ConstMatrixView &M, const ConstVectorView &x)
Matrix Vector multiplication.
Range mcr
The column range of mdata that is actually used.
VectorView operator/=(Numeric x)
Division by scalar.
Range mrr
The row range of mdata that is actually used.
ConstIterator2D & operator++()
Prefix increment operator.
Iterator1D & operator++()
Prefix increment operator.
Implementation of Tensors of Rank 3.
ConstIterator1D end() const
Return const iterator behind last element.
ConstIterator2D begin() const
Return const iterator to first row.
ConstIterator2D end() const
Return const iterator behind last row.
const ConstVectorView * operator->() const
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
~Matrix()
Destructor for Matrix.
std::ostream & operator<<(std::ostream &os, const ConstVectorView &v)
Output operator.
Vector & operator=(const Vector &v)
Assignment from another Vector.
Index ncols() const
Returns the number of columns.
ConstIterator1D & operator++()
Prefix increment operator.
Numeric max(const ConstVectorView &x)
Max function, vector version.
The iterator class for sub vectors.
bool operator!=(const ConstIterator2D &other) const
Not equal operator, needed for algorithms like copy.
NUMERIC Numeric
The type to use for all floating point numbers.
Index nelem() const
Returns the number of elements.
~Vector()
Destructor for Vector.
ConstIterator1D begin() const
Return const iterator to first element.
Range(Index start, Index extent, Index stride=1)
Numeric sum() const
The sum of all elements of a Vector.
Numeric * mdata
Pointer to the plain C array that holds the data.
Numeric operator[](Index n) const
Plain const index operator.
Numeric min(const ConstVectorView &x)
Min function, vector version.
Numeric operator()(Index r, Index c) const
Plain const index operator.
void resize(Index r, Index c)
Resize function.
bool operator!=(const ConstIterator1D &other) const
Not equal operator, needed for algorithms like copy.
ConstIterator1D begin() const
Return const iterator to first element.
Iterator2D()
Default constructor.
The const row iterator class for sub matrices.
A constant view of a Matrix.
VectorView * operator->()
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
Index mextent
The number of elements.
ConstIterator2D end() const
Return const iterator behind last row.
VectorView msv
Current position.
INDEX Index
The type to use for all integer numbers and indices.
Matrix()
Default constructor.
VectorView operator*=(Numeric x)
Multiplication by scalar.
VectorView operator-=(Numeric x)
Subtraction of scalar.
Implementation of Matrix, Vector, and such stuff.
ConstMatrixView()
Default constructor.
Numeric & operator*() const
Dereferencing.
Joker joker
Define the global joker objekt.
VectorView operator=(const ConstVectorView &v)
Assignment operator.
A constant view of a Tensor3.
ConstIterator2D begin() const
Return const iterator to first row.
Matrix & operator=(const Matrix &x)
Assignment operator from another matrix.
friend class SparseMatrixView
ConstIterator1D end() const
Return const iterator behind last element.
The row iterator class for sub matrices.
MatrixView & operator*=(Numeric x)
Multiplication by scalar.
Numeric operator*(const ConstVectorView &a, const ConstVectorView &b)
Scalar product.
bool operator!=(const Iterator1D &other) const
Not equal operator, needed for algorithms like copy.
friend class ConstVectorView
Iterator1D()
Default constructor.
A constant view of a Vector.
VectorView operator+=(Numeric x)
Addition of scalar.
Index nelem() const
Number of elements.
friend class ConstMatrixView
const Numeric * mx
Current position.
VectorView & operator*()
Dereferencing.
Iterator2D & operator++()
Prefix increment operator.
The global header file for ARTS.
const Numeric & operator*() const
Dereferencing.
Numeric operator[](Index n) const
Plain const index operator.