|  | // 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 can be influenced by the UpLo template | 
|  | * argument. All matrices are assumed to be symmetric. For example, the following | 
|  | * creates an LDLT factorization where your matrix is symmetric (implicit) and | 
|  | * uses the lower triangle: | 
|  | * | 
|  | * \code | 
|  | * AccelerateLDLT<SparseMatrix<float>, Lower> ldlt; | 
|  | * \endcode | 
|  | */ | 
|  |  | 
|  | // IWYU pragma: begin_exports | 
|  | #include "src/AccelerateSupport/AccelerateSupport.h" | 
|  | // IWYU pragma: end_exports | 
|  |  | 
|  | #include "src/Core/util/ReenableStupidWarnings.h" | 
|  |  | 
|  | #endif  // EIGEN_ACCELERATESUPPORT_MODULE_H |