| // This file is part of Eigen, a lightweight C++ template library |
| // for linear algebra. |
| // |
| // This Source Code Form is subject to the terms of the Mozilla |
| // Public License v. 2.0. If a copy of the MPL was not distributed |
| // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| |
| #ifndef EIGEN_ACCELERATESUPPORT_MODULE_H |
| #define EIGEN_ACCELERATESUPPORT_MODULE_H |
| |
| #include "SparseCore" |
| |
| #include "src/Core/util/DisableStupidWarnings.h" |
| |
| /** \ingroup Support_modules |
| * \defgroup AccelerateSupport_Module AccelerateSupport module |
| * |
| * This module provides an interface to the Apple Accelerate library. |
| * It provides the seven following main factorization classes: |
| * - class AccelerateLLT: a Cholesky (LL^T) factorization. |
| * - class AccelerateLDLT: the default LDL^T factorization. |
| * - class AccelerateLDLTUnpivoted: a Cholesky-like LDL^T factorization with only 1x1 pivots and no pivoting |
| * - class AccelerateLDLTSBK: an LDL^T factorization with Supernode Bunch-Kaufman and static pivoting |
| * - class AccelerateLDLTTPP: an LDL^T factorization with full threshold partial pivoting |
| * - class AccelerateQR: a QR factorization |
| * - class AccelerateCholeskyAtA: a QR factorization without storing Q (equivalent to A^TA = R^T R) |
| * |
| * \code |
| * #include <Eigen/AccelerateSupport> |
| * \endcode |
| * |
| * In order to use this module, the Accelerate headers must be accessible from |
| * the include paths, and your binary must be linked to the Accelerate framework. |
| * The Accelerate library is only available on Apple hardware. |
| * |
| * Note that many of the algorithms require additional information about your |
| * matrices. This can be provided by setting the UpLo template argument when |
| * defining the factorization class. For example, the following creates an |
| * LDLT factorization where your matrix is symmetric and uses the lower |
| * triangle: |
| * |
| * \code |
| * AccelerateLDLT<SparseMatrix<float>, Lower | Symmetric> ldlt; |
| * \endcode |
| * |
| * Failure to do so may result in your application crashing. |
| */ |
| |
| #include "src/AccelerateSupport/AccelerateSupport.h" |
| |
| #include "src/Core/util/ReenableStupidWarnings.h" |
| |
| #endif // EIGEN_ACCELERATESUPPORT_MODULE_H |