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 | |