1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// This Source Code Form is subject to the terms of the Mozilla
5// Public License v. 2.0. If a copy of the MPL was not distributed
6// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
8#ifndef EIGEN_LU_MODULE_H
9#define EIGEN_LU_MODULE_H
10
11#include "Core"
12
13#include "src/Core/util/DisableStupidWarnings.h"
14
15/** \defgroup LU_Module LU module
16 * This module includes %LU decomposition and related notions such as matrix inversion and determinant.
17 * This module defines the following MatrixBase methods:
18 * - MatrixBase::inverse()
19 * - MatrixBase::determinant()
20 *
21 * \code
22 * #include <Eigen/LU>
23 * \endcode
24 */
25
26#include "src/misc/Kernel.h"
27#include "src/misc/Image.h"
28#include "src/LU/FullPivLU.h"
29#include "src/LU/PartialPivLU.h"
30#ifdef EIGEN_USE_LAPACKE
31#ifdef EIGEN_USE_MKL
32#include "mkl_lapacke.h"
33#else
34#include "src/misc/lapacke.h"
35#endif
36#include "src/LU/PartialPivLU_LAPACKE.h"
37#endif
38#include "src/LU/Determinant.h"
39#include "src/LU/InverseImpl.h"
40
41// Use the SSE optimized version whenever possible. At the moment the
42// SSE version doesn't compile when AVX is enabled
43#if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX
44 #include "src/LU/arch/Inverse_SSE.h"
45#endif
46
47#include "src/Core/util/ReenableStupidWarnings.h"
48
49#endif // EIGEN_LU_MODULE_H
50/* vim: set filetype=cpp et sw=2 ts=2 ai: */
51