LU 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. #ifndef EIGEN_LU_MODULE_H
  8. #define EIGEN_LU_MODULE_H
  9. #include "Core"
  10. #include "src/Core/util/DisableStupidWarnings.h"
  11. /** \defgroup LU_Module LU module
  12. * This module includes %LU decomposition and related notions such as matrix inversion and determinant.
  13. * This module defines the following MatrixBase methods:
  14. * - MatrixBase::inverse()
  15. * - MatrixBase::determinant()
  16. *
  17. * \code
  18. * #include <Eigen/LU>
  19. * \endcode
  20. */
  21. #include "src/misc/Kernel.h"
  22. #include "src/misc/Image.h"
  23. #include "src/LU/FullPivLU.h"
  24. #include "src/LU/PartialPivLU.h"
  25. #ifdef EIGEN_USE_LAPACKE
  26. #ifdef EIGEN_USE_MKL
  27. #include "mkl_lapacke.h"
  28. #else
  29. #include "src/misc/lapacke.h"
  30. #endif
  31. #include "src/LU/PartialPivLU_LAPACKE.h"
  32. #endif
  33. #include "src/LU/Determinant.h"
  34. #include "src/LU/InverseImpl.h"
  35. // Use the SSE optimized version whenever possible. At the moment the
  36. // SSE version doesn't compile when AVX is enabled
  37. #if defined EIGEN_VECTORIZE_SSE && !defined EIGEN_VECTORIZE_AVX
  38. #include "src/LU/arch/Inverse_SSE.h"
  39. #endif
  40. #include "src/Core/util/ReenableStupidWarnings.h"
  41. #endif // EIGEN_LU_MODULE_H
  42. /* vim: set filetype=cpp et sw=2 ts=2 ai: */