Eigen::internal::lapacke_helpers::lapacke_llt< Scalar, Mode > Struct Template Reference

#include <LLT_LAPACKE.h>

Public Member Functions

 EIGEN_STATIC_ASSERT (((Mode==Lower)||(Mode==Upper)), MODE_MUST_BE_UPPER_OR_LOWER) template< typename MatrixType > static Index blocked(MatrixType &m)
 

Static Public Member Functions

template<typename MatrixType , typename VectorType >
static Index rankUpdate (MatrixType &mat, const VectorType &vec, const typename MatrixType::RealScalar &sigma)
 

Member Function Documentation

◆ EIGEN_STATIC_ASSERT()

template<typename Scalar , UpLoType Mode>
Eigen::internal::lapacke_helpers::lapacke_llt< Scalar, Mode >::EIGEN_STATIC_ASSERT ( ((Mode==Lower)||(Mode==Upper))  ,
MODE_MUST_BE_UPPER_OR_LOWER   
) &
inline
76  {
77  eigen_assert(m.rows() == m.cols());
78  if (m.rows() == 0) {
79  return -1;
80  }
81  /* Set up parameters for ?potrf */
82  lapack_int size = to_lapack(m.rows());
83  lapack_int matrix_order = lapack_storage_of(m);
84  constexpr char uplo = Mode == Upper ? 'U' : 'L';
85  Scalar *a = &(m.coeffRef(0, 0));
86  lapack_int lda = to_lapack(m.outerStride());
87 
88  lapack_int info = potrf(matrix_order, uplo, size, to_lapack(a), lda);
89  info = (info == 0) ? -1 : info > 0 ? info - 1 : size;
90  return info;
91  }
#define eigen_assert(x)
Definition: Macros.h:910
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
@ Upper
Definition: Constants.h:213
#define lapack_int
Definition: lapacke.h:52
const char * uplo
Definition: level2_cplx_impl.h:20
const Scalar * a
Definition: level2_cplx_impl.h:32
const char const int const RealScalar const RealScalar const int * lda
Definition: level2_cplx_impl.h:20
int * m
Definition: level2_cplx_impl.h:294
int info
Definition: level2_cplx_impl.h:39
EIGEN_ALWAYS_INLINE auto to_lapack(Source value)
Definition: lapacke_helpers.h:61
EIGEN_ALWAYS_INLINE EIGEN_CONSTEXPR lapack_int lapack_storage_of(const EigenBase< Derived > &)
translates storage order of the given Eigen object to the corresponding lapack constant
Definition: lapacke_helpers.h:78

References a, eigen_assert, info, lapack_int, Eigen::internal::lapacke_helpers::lapack_storage_of(), lda, m, size, Eigen::internal::lapacke_helpers::to_lapack(), uplo, and Eigen::Upper.

◆ rankUpdate()

template<typename Scalar , UpLoType Mode>
template<typename MatrixType , typename VectorType >
static Index Eigen::internal::lapacke_helpers::lapacke_llt< Scalar, Mode >::rankUpdate ( MatrixType mat,
const VectorType vec,
const typename MatrixType::RealScalar sigma 
)
inlinestatic
94  {
95  return rank_update<Mode>::run(mat, vec, sigma);
96  }
int sigma
Definition: calibrate.py:179
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317

References run(), and calibrate::sigma.


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