Skip to content

Commit bc87d16

Browse files
kwrobothjmjohnson
authored andcommitted
Eigen3 2026-05-01 (505023a2)
Code extracted from: https://github.com/InsightSoftwareConsortium/eigen at commit 505023a2a0fc8eeff5f92d07683ab5ff0c03ba0f (for/itk-20260501-879885e1).
1 parent 07f0b2a commit bc87d16

320 files changed

Lines changed: 25723 additions & 21419 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
*.sh eol=lf
2+
debug/msvc/*.dat eol=crlf
3+
debug/msvc/*.natvis eol=crlf
4+
5+
# ITK fork: relax content-checks for the largest Eigen header so
6+
# UpdateFromUpstream.sh / KWStyle hooks do not reject the import.
17
* -whitespace
28
Eigen/src/misc/lapacke.h hooks-max-size=1500000
39
Eigen/src/misc/lapacke.h hooks.MaxObjectKiB=2048

CMakeLists.txt

Lines changed: 160 additions & 74 deletions
Large diffs are not rendered by default.

COPYING.MPL2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Mozilla Public License Version 2.0
3535
means any form of the work other than Source Code Form.
3636

3737
1.7. "Larger Work"
38-
means a work that combines Covered Software with other material, in
38+
means a work that combines Covered Software with other material, in
3939
a separate file or files, that is not Covered Software.
4040

4141
1.8. "License"

COPYING.README

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1-
Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
2-
http://www.mozilla.org/MPL/2.0/
3-
http://www.mozilla.org/MPL/2.0/FAQ.html
1+
Eigen is primarily licensed under the Mozilla Public License 2.0.
2+
See LICENSE, COPYING.MPL2, and these links:
3+
https://www.mozilla.org/MPL/2.0/
4+
https://www.mozilla.org/MPL/2.0/FAQ.html
45

5-
Some files contain third-party code under BSD or other MPL2-compatible licenses,
6-
whence the other COPYING.* files here.
6+
Some files contain third-party code under permissive or otherwise
7+
MPL2-compatible licenses, hence the other COPYING.* files here. These
8+
include Apache-2.0, BSD-style notices, the MINPACK license, and the MORSE
9+
CMake module BSD-style notice in cmake/MORSE-Copyright.txt.
10+
11+
Note that some optional external dependencies (e.g. FFTW, MPFR C++)
12+
are distributed under different licenses, including the GPL. Refer to
13+
the individual source files and their respective COPYING files for
14+
details.

Eigen/AccelerateSupport

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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

Eigen/Cholesky

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
#include "src/Core/util/DisableStupidWarnings.h"
1515

1616
/** \defgroup Cholesky_Module Cholesky module
17-
*
18-
*
1917
*
2018
* This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
2119
* Those decompositions are also accessible via the following methods:

Eigen/CholmodSupport

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* For the sake of completeness, this module also propose the two following classes:
2727
* - class CholmodSimplicialLLT
2828
* - class CholmodSimplicialLDLT
29-
* Note that these classes does not bring any particular advantage compared to the built-in
29+
* Note that these classes do not bring any particular advantage compared to the built-in
3030
* SimplicialLLT and SimplicialLDLT factorization classes.
3131
*
3232
* \code

0 commit comments

Comments
 (0)