Eigen  5.0.1-dev
 
Loading...
Searching...
No Matches
AccelerateSupport
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_ACCELERATESUPPORT_MODULE_H
9#define EIGEN_ACCELERATESUPPORT_MODULE_H
10
11#include "SparseCore"
12
13#include "src/Core/util/DisableStupidWarnings.h"
14
15/** \ingroup Support_modules
16 * \defgroup AccelerateSupport_Module AccelerateSupport module
17 *
18 * This module provides an interface to the Apple Accelerate library.
19 * It provides the seven following main factorization classes:
20 * - class AccelerateLLT: a Cholesky (LL^T) factorization.
21 * - class AccelerateLDLT: the default LDL^T factorization.
22 * - class AccelerateLDLTUnpivoted: a Cholesky-like LDL^T factorization with only 1x1 pivots and no pivoting
23 * - class AccelerateLDLTSBK: an LDL^T factorization with Supernode Bunch-Kaufman and static pivoting
24 * - class AccelerateLDLTTPP: an LDL^T factorization with full threshold partial pivoting
25 * - class AccelerateQR: a QR factorization
26 * - class AccelerateCholeskyAtA: a QR factorization without storing Q (equivalent to A^TA = R^T R)
27 *
28 * \code
29 * #include <Eigen/AccelerateSupport>
30 * \endcode
31 *
32 * In order to use this module, the Accelerate headers must be accessible from
33 * the include paths, and your binary must be linked to the Accelerate framework.
34 * The Accelerate library is only available on Apple hardware.
35 *
36 * Note that many of the algorithms can be influenced by the UpLo template
37 * argument. All matrices are assumed to be symmetric. For example, the following
38 * creates an LDLT factorization where your matrix is symmetric (implicit) and
39 * uses the lower triangle:
40 *
41 * \code
42 * AccelerateLDLT<SparseMatrix<float>, Lower> ldlt;
43 * \endcode
44 */
45
46// IWYU pragma: begin_exports
47#include "src/AccelerateSupport/AccelerateSupport.h"
48// IWYU pragma: end_exports
49
50#include "src/Core/util/ReenableStupidWarnings.h"
51
52#endif // EIGEN_ACCELERATESUPPORT_MODULE_H