ARTS
2.3.1285(git:92a29ea9-dirty)
|
#include <covariance_matrix.h>
Public Types | |
enum | MatrixType { MatrixType::dense, MatrixType::sparse } |
Public Member Functions | |
Block (Range row_range, Range column_range, IndexPair indices, std::shared_ptr< Matrix > dense) | |
Block (Range row_range, Range column_range, IndexPair indices, std::shared_ptr< Sparse > sparse) | |
Block (const Block &)=default | |
Block (Block &&)=default | |
Block & | operator= (const Block &)=default |
Block & | operator= (Block &&)=default |
~Block ()=default | |
Index | nrows () const |
Index | ncols () const |
Range | get_row_range () const |
Range | get_column_range () const |
Range & | get_row_range () |
Range & | get_column_range () |
void | set_matrix (std::shared_ptr< Sparse > sparse) |
void | set_matrix (std::shared_ptr< Matrix > dense) |
Vector | diagonal () const |
IndexPair | get_indices () const |
void | set_indices (Index f, Index s) |
MatrixType | get_matrix_type () const |
const Matrix & | get_dense () const |
Matrix & | get_dense () |
const Sparse & | get_sparse () const |
Sparse & | get_sparse () |
Private Attributes | |
Range | row_range_ |
Range | column_range_ |
IndexPair | indices_ |
MatrixType | matrix_type_ |
std::shared_ptr< Matrix > | dense_ |
std::shared_ptr< Sparse > | sparse_ |
Friends | |
void | mult (MatrixView, ConstMatrixView, const Block &) |
void | mult (MatrixView, const Block &, ConstMatrixView) |
void | mult (VectorView, const Block &, ConstVectorView) |
MatrixView & | operator+= (MatrixView &, const Block &) |
A block in a covariance matrix.
A block in a covariance matrix represents a correlation between two retrieval quantities. Each block holds a pointer to either a dense matrix of type Matrix or type Sparse. In addition to this it holds to two block indices i and j and two range objects that describe the position of the block in terms of the rows and columns of blocks in the matrix and the row and columns of elements, respectively.
Definition at line 62 of file covariance_matrix.h.
|
strong |
Enumerator | |
---|---|
dense | |
sparse |
Definition at line 68 of file covariance_matrix.h.
|
inline |
Definition at line 80 of file covariance_matrix.h.
Referenced by Block().
|
inline |
Definition at line 103 of file covariance_matrix.h.
References Block(), operator=(), and ~Block().
|
default |
|
default |
|
default |
Referenced by Block().
|
inline |
Return the diagonal as a vector.
Definition at line 142 of file covariance_matrix.h.
|
inline |
The column range of this block
Definition at line 131 of file covariance_matrix.h.
References column_range_.
Referenced by covmat_seAddBlock(), covmat_seAddInverseBlock(), get_covariance_matrix_block(), mult(), operator+=(), and operator<<().
|
inline |
The column range of this block
Definition at line 136 of file covariance_matrix.h.
References column_range_.
|
inline |
Definition at line 159 of file covariance_matrix.h.
References dense_.
Referenced by get_covariance_matrix_block(), and operator+=().
|
inline |
Definition at line 164 of file covariance_matrix.h.
References dense_.
|
inline |
Return the indices of the retrieval quantities correlated by this block as std::pair.
Definition at line 151 of file covariance_matrix.h.
References indices_.
Referenced by get_covariance_matrix_block(), CovarianceMatrix::invert_correlation_block(), CovarianceMatrix::is_consistent(), mult(), operator+=(), and operator<<().
|
inline |
Return the type of the matrix holding the correlation coefficients.
Definition at line 157 of file covariance_matrix.h.
References matrix_type_.
Referenced by get_covariance_matrix_block(), and operator+=().
|
inline |
The row range of this block
Definition at line 129 of file covariance_matrix.h.
References row_range_.
Referenced by covmat_seAddBlock(), covmat_seAddInverseBlock(), get_covariance_matrix_block(), mult(), operator+=(), and operator<<().
|
inline |
The row range of this block
Definition at line 134 of file covariance_matrix.h.
References row_range_.
|
inline |
Definition at line 169 of file covariance_matrix.h.
References sparse_.
Referenced by get_covariance_matrix_block(), and operator+=().
|
inline |
Definition at line 174 of file covariance_matrix.h.
References mult, operator+=, and sparse_.
|
inline |
Number of columns of this block
Definition at line 126 of file covariance_matrix.h.
References column_range_, and Range::get_extent().
|
inline |
Number of rows of this block
Definition at line 124 of file covariance_matrix.h.
References Range::get_extent(), and row_range_.
Return the indices of the retrieval quantities correlated by this block as std::pair.
Definition at line 154 of file covariance_matrix.h.
References indices_.
|
inline |
Definition at line 138 of file covariance_matrix.h.
|
inline |
Definition at line 139 of file covariance_matrix.h.
|
friend |
Definition at line 38 of file covariance_matrix.cc.
Referenced by get_sparse().
|
friend |
Definition at line 68 of file covariance_matrix.cc.
|
friend |
Definition at line 98 of file covariance_matrix.cc.
|
friend |
Definition at line 120 of file covariance_matrix.cc.
Referenced by get_sparse().
|
private |
Definition at line 187 of file covariance_matrix.h.
Referenced by get_column_range(), and ncols().
|
private |
Definition at line 192 of file covariance_matrix.h.
Referenced by diagonal(), get_dense(), mult(), and set_matrix().
|
private |
Definition at line 188 of file covariance_matrix.h.
Referenced by get_indices(), and set_indices().
|
private |
Definition at line 190 of file covariance_matrix.h.
Referenced by get_matrix_type(), and mult().
|
private |
Definition at line 187 of file covariance_matrix.h.
Referenced by get_row_range(), and nrows().
|
private |
Definition at line 193 of file covariance_matrix.h.
Referenced by diagonal(), get_sparse(), mult(), and set_matrix().