mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-01 16:24:28 +08:00
54 lines
2.1 KiB
Plaintext
54 lines
2.1 KiB
Plaintext
// 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
|