Namespaces | Defines
PartialPivLU_MKL.h File Reference
#include "Eigen/src/Core/util/MKL_support.h"
Include dependency graph for PartialPivLU_MKL.h:

Go to the source code of this file.

Namespaces

namespace  Eigen
 

iterative scaling algorithm to equilibrate rows and column norms in matrices


namespace  Eigen::internal

Defines

#define EIGEN_MKL_LU_PARTPIV(EIGTYPE, MKLTYPE, MKLPREFIX)

Define Documentation

#define EIGEN_MKL_LU_PARTPIV (   EIGTYPE,
  MKLTYPE,
  MKLPREFIX 
)
Value:
template<int StorageOrder> \
struct partial_lu_impl<EIGTYPE, StorageOrder, lapack_int> \
{ \
  /* \internal performs the LU decomposition in-place of the matrix represented */ \
  static lapack_int blocked_lu(lapack_int rows, lapack_int cols, EIGTYPE* lu_data, lapack_int luStride, lapack_int* row_transpositions, lapack_int& nb_transpositions, lapack_int maxBlockSize=256) \
  { \
    EIGEN_UNUSED_VARIABLE(maxBlockSize);\
    lapack_int matrix_order, first_zero_pivot; \
    lapack_int m, n, lda, *ipiv, info; \
    EIGTYPE* a; \
/* Set up parameters for ?getrf */ \
    matrix_order = StorageOrder==RowMajor ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
    lda = luStride; \
    a = lu_data; \
    ipiv = row_transpositions; \
    m = rows; \
    n = cols; \
    nb_transpositions = 0; \
\
    info = LAPACKE_##MKLPREFIX##getrf( matrix_order, m, n, (MKLTYPE*)a, lda, ipiv ); \
\
    for(int i=0;i<m;i++) { ipiv[i]--; if (ipiv[i]!=i) nb_transpositions++; } \
\
    eigen_assert(info >= 0); \
/* something should be done with nb_transpositions */ \
\
    first_zero_pivot = info; \
    return first_zero_pivot; \
  } \
};

Definition at line 44 of file PartialPivLU_MKL.h.



acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Thu Aug 27 2015 12:01:36