Stokhos
Development
|
Symmetric diagonal storage for a dense matrix. More...
#include <Stokhos_SymmetricDiagonalSpec.hpp>
Public Types | |
typedef unsigned | size_type |
Public Member Functions | |
KOKKOS_INLINE_FUNCTION unsigned | dimension () const |
Dimension of vector block. | |
KOKKOS_INLINE_FUNCTION unsigned | matrix_offset (const unsigned row, const unsigned column) const |
Storage location for the (row,column) entry. | |
KOKKOS_INLINE_FUNCTION unsigned | matrix_size () const |
Storage size for block coefficients. | |
SymmetricDiagonalSpec (const SymmetricDiagonalSpec &rhs) | |
SymmetricDiagonalSpec & | operator= (const SymmetricDiagonalSpec &rhs) |
SymmetricDiagonalSpec (const unsigned dim) | |
Symmetric diagonal storage for a dense matrix.
Block storage size = dimension * ( dimension + 1 ) / 2
Given block_dim then total_diagonal_count = 1 + dimension / 2
If dimension is even then the last diagonal is only half length.
{ a11 , a22 , a33 , a44 , a55 , ... } { a12 , a23 , a34 , a45 , a56 , ... } { a13 , a24 , a35 , a46 , a57 , ... }