Eigen::internal::householder_determinant< HCoeffs, Scalar, IsComplex > Struct Template Reference

#include <HouseholderQR.h>

Static Public Member Functions

static void run (const HCoeffs &hCoeffs, Scalar &out_det)
 

Detailed Description

template<typename HCoeffs, typename Scalar, bool IsComplex>
struct Eigen::internal::householder_determinant< HCoeffs, Scalar, IsComplex >

Member Function Documentation

◆ run()

template<typename HCoeffs , typename Scalar , bool IsComplex>
static void Eigen::internal::householder_determinant< HCoeffs, Scalar, IsComplex >::run ( const HCoeffs &  hCoeffs,
Scalar out_det 
)
inlinestatic
281  {
282  out_det = Scalar(1);
283  Index size = hCoeffs.rows();
284  for (Index i = 0; i < size; i++) {
285  // For each valid reflection Q_n,
286  // det(Q_n) = - conj(h_n) / h_n
287  // where h_n is the Householder coefficient.
288  if (hCoeffs(i) != Scalar(0)) out_det *= -numext::conj(hCoeffs(i)) / hCoeffs(i);
289  }
290  }
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83

References conj(), Eigen::HouseholderQR< MatrixType_ >::hCoeffs(), i, and Eigen::EigenBase< Derived >::size().


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