shark::blas::matrix_unary< E, F > Class Template Reference

class which allows for matrix transformations More...

#include <shark/LinAlg/BLAS/matrix_expression.hpp>

+ Inheritance diagram for shark::blas::matrix_unary< E, F >:

Public Types

typedef value_type const_reference
 
typedef const_reference reference
 
typedef value_type const * const_pointer
 
typedef value_type * pointer
 
typedef E::const_index_pointer const_index_pointer
 
typedef index_pointer< E >::type index_pointer
 
typedef E::orientation orientation
 
typedef blas::unknown_storage_tag storage_category
 
typedef E::evaluation_category evaluation_category
 
typedef transform_iterator< typename E::const_row_iterator, F > const_row_iterator
 
typedef transform_iterator< typename E::const_column_iterator, F > const_column_iterator
 
typedef const_row_iterator row_iterator
 
typedef const_column_iterator column_iterator
 

Public Member Functions

 matrix_unary (blas::matrix_expression< E > const &e, F const &functor)
 
size_type size1 () const
 
size_type size2 () const
 
const_reference operator() (index_type i, index_type j) const
 
const_row_iterator row_begin (index_type i) const
 
const_row_iterator row_end (index_type i) const
 
const_column_iterator column_begin (index_type i) const
 
const_column_iterator column_end (index_type i) const
 
- Public Member Functions inherited from shark::blas::matrix_expression< matrix_unary< E, F > >
const expression_type & operator() () const
 
expression_type & operator() ()
 

Detailed Description

template<class E, class F>
class shark::blas::matrix_unary< E, F >

class which allows for matrix transformations

transforms a matrix expression e of type E using a Functiof f of type F as an elementwise transformation f(e(i,j)) This transformation needs to leave f constant, meaning that applying f(x), f(y), f(z) yields the same results independent of the order of application. Also F must provide a type F::result_type indicating the result type of the functor. F must further provide a boolean flag F::zero_identity which indicates that f(0) = 0. This is needed for correct usage with sparse arguments - if f(0) != 0 this expression will be dense! todo: desification is not implemented

Definition at line 405 of file matrix_expression.hpp.

Member Typedef Documentation

template<class E , class F >
typedef const_column_iterator shark::blas::matrix_unary< E, F >::column_iterator

Definition at line 456 of file matrix_expression.hpp.

template<class E , class F >
typedef transform_iterator<typename E::const_column_iterator, F> shark::blas::matrix_unary< E, F >::const_column_iterator

Definition at line 454 of file matrix_expression.hpp.

template<class E , class F >
typedef E::const_index_pointer shark::blas::matrix_unary< E, F >::const_index_pointer

Definition at line 426 of file matrix_expression.hpp.

template<class E , class F >
typedef value_type const* shark::blas::matrix_unary< E, F >::const_pointer

Definition at line 420 of file matrix_expression.hpp.

template<class E , class F >
typedef value_type shark::blas::matrix_unary< E, F >::const_reference

Definition at line 418 of file matrix_expression.hpp.

template<class E , class F >
typedef transform_iterator<typename E::const_row_iterator, F> shark::blas::matrix_unary< E, F >::const_row_iterator

Definition at line 453 of file matrix_expression.hpp.

template<class E , class F >
typedef E::evaluation_category shark::blas::matrix_unary< E, F >::evaluation_category

Definition at line 433 of file matrix_expression.hpp.

template<class E , class F >
typedef index_pointer<E>::type shark::blas::matrix_unary< E, F >::index_pointer

Definition at line 427 of file matrix_expression.hpp.

template<class E , class F >
typedef E::orientation shark::blas::matrix_unary< E, F >::orientation

Definition at line 431 of file matrix_expression.hpp.

template<class E , class F >
typedef value_type* shark::blas::matrix_unary< E, F >::pointer

Definition at line 421 of file matrix_expression.hpp.

template<class E , class F >
typedef const_reference shark::blas::matrix_unary< E, F >::reference

Definition at line 419 of file matrix_expression.hpp.

template<class E , class F >
typedef const_row_iterator shark::blas::matrix_unary< E, F >::row_iterator

Definition at line 455 of file matrix_expression.hpp.

template<class E , class F >
typedef blas::unknown_storage_tag shark::blas::matrix_unary< E, F >::storage_category

Definition at line 432 of file matrix_expression.hpp.

Constructor & Destructor Documentation

template<class E , class F >
shark::blas::matrix_unary< E, F >::matrix_unary ( blas::matrix_expression< E > const &  e,
F const &  functor 
)
inline

Definition at line 436 of file matrix_expression.hpp.

Member Function Documentation

template<class E , class F >
const_column_iterator shark::blas::matrix_unary< E, F >::column_begin ( index_type  i) const
inline

Definition at line 465 of file matrix_expression.hpp.

template<class E , class F >
const_column_iterator shark::blas::matrix_unary< E, F >::column_end ( index_type  i) const
inline

Definition at line 468 of file matrix_expression.hpp.

template<class E , class F >
const_reference shark::blas::matrix_unary< E, F >::operator() ( index_type  i,
index_type  j 
) const
inline

Definition at line 448 of file matrix_expression.hpp.

template<class E , class F >
const_row_iterator shark::blas::matrix_unary< E, F >::row_begin ( index_type  i) const
inline

Definition at line 458 of file matrix_expression.hpp.

template<class E , class F >
const_row_iterator shark::blas::matrix_unary< E, F >::row_end ( index_type  i) const
inline

Definition at line 461 of file matrix_expression.hpp.

template<class E , class F >
size_type shark::blas::matrix_unary< E, F >::size1 ( ) const
inline

Definition at line 440 of file matrix_expression.hpp.

template<class E , class F >
size_type shark::blas::matrix_unary< E, F >::size2 ( ) const
inline

Definition at line 443 of file matrix_expression.hpp.


The documentation for this class was generated from the following file: