Anasazi Version of the Day
Static Public Member Functions
TSQR::CombineNative< Ordinal, Scalar, isComplex > Class Template Reference

Interface to C++ back end of TSQR::Combine. More...

#include <Tsqr_CombineNative.hpp>

List of all members.

Static Public Member Functions

static bool QR_produces_R_factor_with_nonnegative_diagonal ()

Detailed Description

template<class Ordinal, class Scalar, bool isComplex = ScalarTraits< Scalar >::is_complex>
class TSQR::CombineNative< Ordinal, Scalar, isComplex >

Interface to C++ back end of TSQR::Combine.

TSQR::Combine has three implementations: CombineDefault, CombineNative, and CombineFortran. CombineNative, implemented in this file, is a fully C++ (therefore "native," as opposed to CombineFortran (implemented in Fortran) or CombineNative (implemented by wrappers around LAPACK calls)) implementation.

Warning:
CombineNative has no complex-arithmetic implementation yet. It's not hard to implement this (use LAPACK's ZGEQR2(P) and ZUNM2R as models), but it will take time that the author doesn't have at the moment.

Definition at line 65 of file Tsqr_CombineNative.hpp.


Member Function Documentation

template<class Ordinal, class Scalar, bool isComplex = ScalarTraits< Scalar >::is_complex>
static bool TSQR::CombineNative< Ordinal, Scalar, isComplex >::QR_produces_R_factor_with_nonnegative_diagonal ( ) [inline, static]

Whether or not the QR factorizations computed by methods of this class produce an R factor with all nonnegative diagonal entries. It depends on LAPACK because this implementation invokes one of {LARFGP, LARFP, LARFG} in order to compute Householder reflectors; only LAPACK versions >= 3.2 have one of {LARFGP, LARFP}, which is necessary to ensure that the BETA output of the function is always nonnegative.

Definition at line 88 of file Tsqr_CombineNative.hpp.


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