OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
LUMatrix< T > Class Template Reference

Triangle decomposition of a matrix. More...

#include <LUMatrix.h>

Collaboration diagram for LUMatrix< T >:

Public Member Functions

 LUMatrix (const Matrix< T > &m)
 Constructor.
 LUMatrix ()
 LUMatrix (const LUMatrix< T > &)
 ~LUMatrix ()
LUMatrix< T > & operator= (const LUMatrix< T > &)
void backSubstitute (Vector< T > &B) const
 Back substitution.
void backSubstitute (Matrix< T > &M) const
 Back substitution.
Matrix< T > inverse () const
 Get inverse.
template<class I>
void backSubstitute (I iter) const

Private Member Functions

template<class Iterator>
void backSubstitute (Iterator) const

Private Attributes

Matrix< T > decomp
Array1D< int > index

Detailed Description

template<class T>
class LUMatrix< T >

Triangle decomposition of a matrix.

Definition at line 44 of file LUMatrix.h.

Constructor & Destructor Documentation

◆ LUMatrix() [1/3]

template<class T>
LUMatrix< T >::LUMatrix ( const Matrix< T > & m)
explicit

Constructor.

Definition at line 101 of file LUMatrix.h.

References decomp, index, Array2D< T >::ncols(), nr, and Array2D< T >::nrows().

Referenced by LUMatrix(), and operator=().

Here is the call graph for this function:

◆ LUMatrix() [2/3]

template<class T>
LUMatrix< T >::LUMatrix ( )

Definition at line 89 of file LUMatrix.h.

References decomp, and index.

◆ LUMatrix() [3/3]

template<class T>
LUMatrix< T >::LUMatrix ( const LUMatrix< T > & rhs)

Definition at line 95 of file LUMatrix.h.

References decomp, index, and LUMatrix().

Here is the call graph for this function:

◆ ~LUMatrix()

template<class T>
LUMatrix< T >::~LUMatrix ( )

Definition at line 172 of file LUMatrix.h.

Member Function Documentation

◆ backSubstitute() [1/4]

template<class T>
template<class I>
void LUMatrix< T >::backSubstitute ( I iter) const
inline

Definition at line 185 of file LUMatrix.h.

References decomp, index, nr, and sum().

Here is the call graph for this function:

◆ backSubstitute() [2/4]

template<class T>
template<class Iterator>
void LUMatrix< T >::backSubstitute ( Iterator ) const
private

◆ backSubstitute() [3/4]

template<class T>
void LUMatrix< T >::backSubstitute ( Matrix< T > & M) const

Back substitution.

Definition at line 239 of file LUMatrix.h.

References backSubstitute(), Array2D< T >::col_begin(), decomp, Array2D< T >::ncols(), and Array2D< T >::nrows().

Here is the call graph for this function:

◆ backSubstitute() [4/4]

template<class T>
void LUMatrix< T >::backSubstitute ( Vector< T > & B) const

Back substitution.

Definition at line 229 of file LUMatrix.h.

References backSubstitute(), Array1D< T >::begin(), decomp, and Array1D< T >::size().

Referenced by backSubstitute(), backSubstitute(), and inverse().

Here is the call graph for this function:

◆ inverse()

template<class T>
Matrix< T > LUMatrix< T >::inverse ( ) const

Get inverse.

Definition at line 251 of file LUMatrix.h.

References backSubstitute(), decomp, and nr.

Here is the call graph for this function:

◆ operator=()

template<class T>
LUMatrix< T > & LUMatrix< T >::operator= ( const LUMatrix< T > & rhs)

Definition at line 177 of file LUMatrix.h.

References decomp, index, and LUMatrix().

Here is the call graph for this function:

Member Data Documentation

◆ decomp

template<class T>
Matrix<T> LUMatrix< T >::decomp
private

◆ index

template<class T>
Array1D<int> LUMatrix< T >::index
private

Definition at line 81 of file LUMatrix.h.

Referenced by backSubstitute(), LUMatrix(), LUMatrix(), LUMatrix(), and operator=().


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