MueLu  Version of the Day
MueLu::QR_InterfaceEx< Scalar, LocalOrdinal > Class Template Reference

Interface to the Teuchos wrappers for LAPACK's QR. More...

#include <MueLu_QR_InterfaceEx_decl.hpp>

Private Member Functions

bool isZeroNspColumn (LocalOrdinal const &myAggSize, ArrayRCP< Scalar > &localQR, LocalOrdinal nspCol)
 

Private Attributes

Teuchos::LAPACK< LocalOrdinal, Scalar > lapack_
 Teuchos LAPACK wrapper. More...
 
LocalOrdinal workSize_
 Length of work vectors. Must be at least dimension of nullspace. More...
 
LocalOrdinal NSDim_
 Dimension of nullspace. More...
 
LocalOrdinal internalNSDim_
 
LocalOrdinal info_
 (out) =0: success; =i, i<0: i-th argument has illegal value More...
 
ArrayRCP< Scalar > tau_
 Internal LAPACK variables. More...
 
ArrayRCP< Scalar > work_
 Temporary work space. More...
 
ArrayRCP< Scalar > internalLocalQR_
 internal local QR (without zero columns) More...
 
std::vector< LocalOrdinal > nonZeroCols_
 

Constructors/Destructors.

 QR_InterfaceEx (const size_t nullSpaceDimension)
 Constructor. More...
 
virtual ~QR_InterfaceEx ()
 Destructor. More...
 

Computational methods.

void Compute (LocalOrdinal const &myAggSize, ArrayRCP< Scalar > &localQR)
 Compute the QR factorization. More...
 
void ExtractQ (LocalOrdinal const &myAggSize, ArrayRCP< Scalar > &localQR)
 Calculate the Q factor. More...
 

Detailed Description

template<class Scalar, class LocalOrdinal>
class MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >

Interface to the Teuchos wrappers for LAPACK's QR.

Used in the computation of the tentative prolongator during smoothed aggregation. Allows for specializations for Scalar types such as std::complex<double> and PCE.

Definition at line 25 of file MueLu_QR_InterfaceEx_decl.hpp.

Constructor & Destructor Documentation

◆ QR_InterfaceEx()

template<class Scalar , class LocalOrdinal >
MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::QR_InterfaceEx ( const size_t  nullSpaceDimension)

Constructor.

Parameters
nullSpaceDimensionnumber of fine level nullspace vectors.

Definition at line 38 of file MueLu_QR_InterfaceEx_def.hpp.

◆ ~QR_InterfaceEx()

template<class Scalar , class LocalOrdinal >
virtual MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::~QR_InterfaceEx ( )
inlinevirtual

Destructor.

Definition at line 36 of file MueLu_QR_InterfaceEx_decl.hpp.

Member Function Documentation

◆ Compute()

template<class Scalar , class LocalOrdinal >
void MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::Compute ( LocalOrdinal const &  myAggSize,
ArrayRCP< Scalar > &  localQR 
)

Compute the QR factorization.

Definition at line 56 of file MueLu_QR_InterfaceEx_def.hpp.

◆ ExtractQ()

template<class Scalar , class LocalOrdinal >
void MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::ExtractQ ( LocalOrdinal const &  myAggSize,
ArrayRCP< Scalar > &  localQR 
)

Calculate the Q factor.

Parameters
[in]myAggSizenumber of points in current aggregate
[in,out]localQRarray that on input implicitly contains the factorization calculated by Compute. On output, this array explicitly contains Q.

Definition at line 139 of file MueLu_QR_InterfaceEx_def.hpp.

◆ isZeroNspColumn()

template<class Scalar , class LocalOrdinal >
bool MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::isZeroNspColumn ( LocalOrdinal const &  myAggSize,
ArrayRCP< Scalar > &  localQR,
LocalOrdinal  nspCol 
)
private

Definition at line 44 of file MueLu_QR_InterfaceEx_def.hpp.

Member Data Documentation

◆ lapack_

template<class Scalar , class LocalOrdinal >
Teuchos::LAPACK<LocalOrdinal,Scalar> MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::lapack_
private

Teuchos LAPACK wrapper.

Definition at line 57 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ workSize_

template<class Scalar , class LocalOrdinal >
LocalOrdinal MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::workSize_
private

Length of work vectors. Must be at least dimension of nullspace.

Definition at line 59 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ NSDim_

template<class Scalar , class LocalOrdinal >
LocalOrdinal MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::NSDim_
private

Dimension of nullspace.

Definition at line 61 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ internalNSDim_

template<class Scalar , class LocalOrdinal >
LocalOrdinal MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::internalNSDim_
private

Definition at line 63 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ info_

template<class Scalar , class LocalOrdinal >
LocalOrdinal MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::info_
private

(out) =0: success; =i, i<0: i-th argument has illegal value

Definition at line 65 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ tau_

template<class Scalar , class LocalOrdinal >
ArrayRCP<Scalar> MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::tau_
private

Internal LAPACK variables.

Definition at line 67 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ work_

template<class Scalar , class LocalOrdinal >
ArrayRCP<Scalar> MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::work_
private

Temporary work space.

Definition at line 69 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ internalLocalQR_

template<class Scalar , class LocalOrdinal >
ArrayRCP<Scalar> MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::internalLocalQR_
private

internal local QR (without zero columns)

Definition at line 72 of file MueLu_QR_InterfaceEx_decl.hpp.

◆ nonZeroCols_

template<class Scalar , class LocalOrdinal >
std::vector<LocalOrdinal> MueLu::QR_InterfaceEx< Scalar, LocalOrdinal >::nonZeroCols_
private

Definition at line 74 of file MueLu_QR_InterfaceEx_decl.hpp.


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