| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  | // 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. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2022-07-30 01:42:31 +08:00
										 |  |  |  * 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: | 
					
						
							| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  |  * | 
					
						
							|  |  |  |  * \code | 
					
						
							| 
									
										
										
										
											2022-07-30 01:42:31 +08:00
										 |  |  |  * AccelerateLDLT<SparseMatrix<float>, Lower> ldlt; | 
					
						
							| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  |  * \endcode | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-09 01:40:31 +08:00
										 |  |  | // IWYU pragma: begin_exports | 
					
						
							| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  | #include "src/AccelerateSupport/AccelerateSupport.h" | 
					
						
							| 
									
										
										
										
											2023-02-09 01:40:31 +08:00
										 |  |  | // IWYU pragma: end_exports | 
					
						
							| 
									
										
										
										
											2022-03-08 08:09:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "src/Core/util/ReenableStupidWarnings.h" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif  // EIGEN_ACCELERATESUPPORT_MODULE_H |