Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Public Member Functions
TSQR::MatView< Ordinal, Scalar > Class Template Reference

#include <Tsqr_MatView.hpp>

Inheritance diagram for TSQR::MatView< Ordinal, Scalar >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MatView ()
Scalar & operator() (const Ordinal i, const Ordinal j) const
pointer_type get () const
MatView row_block (const Ordinal firstRow, const Ordinal lastRow)
MatView split_top (const Ordinal nrows_top, const bool b_contiguous_blocks=false)
MatView split_bottom (const Ordinal nrows_bottom, const bool b_contiguous_blocks=false)
void copy (const MatView< ordinal_type, scalar_type > &B)

Detailed Description

template<class Ordinal, class Scalar>
class TSQR::MatView< Ordinal, Scalar >

A read-and-write view of a column-oriented matrix.

Definition at line 164 of file Tsqr_MatView.hpp.


Constructor & Destructor Documentation

template<class Ordinal, class Scalar>
TSQR::MatView< Ordinal, Scalar >::MatView ( ) [inline]
Note:
g++ with -Wall wants A_ to be initialized after lda_, otherwise it emits a compiler warning.

Definition at line 172 of file Tsqr_MatView.hpp.


Member Function Documentation

template<class Ordinal, class Scalar>
Scalar& TSQR::MatView< Ordinal, Scalar >::operator() ( const Ordinal  i,
const Ordinal  j 
) const [inline]
Note:
The function is const, only because returning a reference to the matrix data doesn't change any members of this. Of course one may use the resulting reference to change an entry in the matrix, but that doesn't affect the MatView's properties.

Definition at line 211 of file Tsqr_MatView.hpp.

template<class Ordinal, class Scalar>
pointer_type TSQR::MatView< Ordinal, Scalar >::get ( ) const [inline]
Note:
The function is const, only because returning A_ doesn't change any members of *this. Of course one may use the resulting pointer to fiddle with entries in the matrix, but that doesn't affect the MatView's properties.

Definition at line 242 of file Tsqr_MatView.hpp.

template<class Ordinal, class Scalar>
MatView TSQR::MatView< Ordinal, Scalar >::row_block ( const Ordinal  firstRow,
const Ordinal  lastRow 
) [inline]

Return a "row block" (submatrix of consecutive rows in the inclusive range [firstRow,lastRow]).

Definition at line 247 of file Tsqr_MatView.hpp.

template<class Ordinal, class Scalar>
MatView TSQR::MatView< Ordinal, Scalar >::split_top ( const Ordinal  nrows_top,
const bool  b_contiguous_blocks = false 
) [inline]

Split off and return the top cache block of nrows_top rows. Modify *this to be the "rest" of the matrix.

Note:
Only use this method to split off a single cache block. It breaks if you try to use it otherwise.
Parameters:
nrows_top[in] Number of rows in the top block (which this method returns)
b_contiguous_blocks[in] Whether or not the entries of the top block are stored contiguously in *this. The default is no (false).
Returns:
The top block of nrows_top rows. Data is a shallow copy of the data in *this.

Definition at line 279 of file Tsqr_MatView.hpp.

template<class Ordinal, class Scalar>
MatView TSQR::MatView< Ordinal, Scalar >::split_bottom ( const Ordinal  nrows_bottom,
const bool  b_contiguous_blocks = false 
) [inline]

Split off and return the bottom block. Modify *this to be the "rest" of the matrix.

Definition at line 323 of file Tsqr_MatView.hpp.

template<class Ordinal, class Scalar>
void TSQR::MatView< Ordinal, Scalar >::copy ( const MatView< ordinal_type, scalar_type > &  B) [inline]

Deep copy (A := B)

Note:
Assumes that B and *this have the same dimensions

Definition at line 374 of file Tsqr_MatView.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends