Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::ILocalMatrixIndexer Class Referenceabstract

#include <core/alien/kernels/dok/ILocalMatrixIndexer.h>

Inheritance diagram for Alien::ILocalMatrixIndexer:
Collaboration diagram for Alien::ILocalMatrixIndexer:

Public Types

typedef Integer Offset
typedef std::pair< Offset, Offset > Renumbering
typedef std::pair< Int32, Int32 > Key

Public Member Functions

virtual void associate (Integer i, Integer j, Offset offset)=0
virtual std::optional< Offset > find (Integer i, Integer j)=0
virtual Offset create (Integer i, Integer j, Offset &tentative_offset)=0
virtual IReverseIndexersort (Arccore::Array< Renumbering > &perm)=0
virtual ILocalMatrixIndexerclone () const =0

Detailed Description

Interface for a local sparse matrix indexer. The goal of this indexer is to provide a database indexed by (row,column) ids. Non-zeros are not stored here, only their position in the nnz storage array. This interface allows to use a CSRMatrix as a DoKMatrix.

Definition at line 37 of file ILocalMatrixIndexer.h.

Member Typedef Documentation

◆ Key

typedef std::pair<Int32, Int32> Alien::ILocalMatrixIndexer::Key

Definition at line 42 of file ILocalMatrixIndexer.h.

◆ Offset

typedef Integer Alien::ILocalMatrixIndexer::Offset

Definition at line 40 of file ILocalMatrixIndexer.h.

◆ Renumbering

typedef std::pair<Offset, Offset> Alien::ILocalMatrixIndexer::Renumbering

Definition at line 41 of file ILocalMatrixIndexer.h.

Constructor & Destructor Documentation

◆ ~ILocalMatrixIndexer()

virtual Alien::ILocalMatrixIndexer::~ILocalMatrixIndexer ( )
inlinevirtual

Definition at line 45 of file ILocalMatrixIndexer.h.

Member Function Documentation

◆ associate()

virtual void Alien::ILocalMatrixIndexer::associate ( Integer i,
Integer j,
Offset offset )
pure virtual

Registers an offset with a matrix position (i,j)

Parameters
iid of the row
jid of the column
offset

Implemented in Alien::DoKLocalMatrixIndexer.

◆ create()

virtual Offset Alien::ILocalMatrixIndexer::create ( Integer i,
Integer j,
Offset & tentative_offset )
pure virtual

Creates a new offset for matrix position (i,j)

Parameters
i
j
tentative_offsethint on what the offset should be
Returns
the offset (can be different from tentative_offset)

Implemented in Alien::DoKLocalMatrixIndexer.

◆ find()

virtual std::optional< Offset > Alien::ILocalMatrixIndexer::find ( Integer i,
Integer j )
pure virtual

Finds the offset associated with a matrix position (i,j)

Parameters
i
j
Returns
offset if found

Implemented in Alien::DoKLocalMatrixIndexer.

◆ sort()

virtual IReverseIndexer * Alien::ILocalMatrixIndexer::sort ( Arccore::Array< Renumbering > & perm)
pure virtual

Creates a new indexer, based on offset permutations.

Parameters
permpermutation array, to be filled by this function.
Returns
new indexer, used to compact matrix

Implemented in Alien::DoKLocalMatrixIndexer.


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