2607 Commits

Author SHA1 Message Date
Rasmus Munk Larsen
30e669cfe1 Tensor module: const-correctness and constexpr improvements
libeigen/eigen!2239

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-04-01 17:49:56 -07:00
Rasmus Munk Larsen
09581fda38 Modernize tensor contraction code: bug fixes, dead code removal, and cleanup
libeigen/eigen!2248

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-29 18:03:06 -07:00
Rasmus Munk Larsen
255f522e2e Fix bugs, docs, and structure in unsupported/ public headers
libeigen/eigen!2254

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-29 17:06:40 -07:00
Pavel Guzenfeld
753a6ac5b3 Fix private shadowing of protected base members in iterative solvers
libeigen/eigen!2357

Closes #1859
2026-03-29 15:40:48 -07:00
Rasmus Munk Larsen
ac6aedc60a Fix flaky matrix_power test
libeigen/eigen!2325

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-22 09:54:32 -07:00
Pavel Guzenfeld
a0e30732a7 Remove trailing semicolon from EIGEN_UNUSED_VARIABLE macro
libeigen/eigen!2301

Closes #3007

Co-authored-by: Pavel Guzenfeld <67074795+PavelGuzenfeld@users.noreply.github.com>
2026-03-21 16:54:13 -07:00
Pavel Guzenfeld
821ab7d3e6 Fix TensorUInt128 division infinite loop on overflow
libeigen/eigen!2300

Closes #3012

Co-authored-by: Pavel Guzenfeld <67074795+PavelGuzenfeld@users.noreply.github.com>
2026-03-20 15:41:00 +00:00
Pavel Guzenfeld
3e5a2f9245 Fix vectorized erf returning NaN at ±inf instead of ±1
libeigen/eigen!2306

Closes #3053
2026-03-19 14:12:15 -07:00
Pavel Guzenfeld
62e23f79dd Fix GCC 13 array-bounds warning in TensorContraction
libeigen/eigen!2311

Closes #3017
2026-03-18 20:08:21 -07:00
Pavel Guzenfeld
c148dc8fad Include Scaling.h in IterativeSolvers module
libeigen/eigen!2309

Closes #3002
2026-03-17 21:59:57 -07:00
Rasmus Munk Larsen
f80d7b8254 Fix three more flaky tests: igamma, tensor_random, matrix_power
libeigen/eigen!2268

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 16:00:04 -07:00
Rasmus Munk Larsen
dd826edb42 Replace typedef with using in tensor contraction files
libeigen/eigen!2247

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-04 08:59:22 -08:00
Antonio Sánchez
abc3d6014d Fix CUDA+Clang build warnings.
libeigen/eigen!2241
2026-03-04 01:41:01 -08:00
Rasmus Munk Larsen
0269c017aa Revise Tensor module README.md: fix bugs, add missing docs
libeigen/eigen!2240

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-03 23:44:49 -08:00
Antonio Sánchez
d36a7db7b5 Fix Eigen::array constructors.
libeigen/eigen!2235
2026-03-03 22:15:47 +00:00
Antonio Sánchez
661cdb227f Fix relative paths after move.
libeigen/eigen!2234
2026-03-02 19:50:30 +00:00
Rasmus Munk Larsen
444ae9761d Clamp igamma/igammac output to [0,1] for numerical stability
libeigen/eigen!2229

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-28 08:52:44 -08:00
Rasmus Munk Larsen
3adfa9bd37 Add const to non-mutating member functions across remaining modules
libeigen/eigen!2222

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 13:58:04 -08:00
Rasmus Munk Larsen
064d686c57 Remove CXX11/ directory nesting for Tensor modules
libeigen/eigen!2199

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 07:03:38 -08:00
Rasmus Munk Larsen
11eb66e1b5 Remove pre-C++14 workarounds from unsupported/ tensor code
libeigen/eigen!2218

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 06:17:39 -08:00
Rasmus Munk Larsen
38f0f42755 Update rmlarsen email address from @google.com to @gmail.com
libeigen/eigen!2212

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 07:45:02 -08:00
Rasmus Munk Larsen
667cabe3aa Clean up comments in unsupported module
libeigen/eigen!2198

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 22:04:23 -08:00
Rasmus Munk Larsen
78b76986b7 Comment cleanup v3: trailing ??, informal language, FIXME/TODO colons
libeigen/eigen!2197

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 21:20:08 -08:00
Rasmus Munk Larsen
112c2324bd Consolidate BF16/F16 wrapper macros and simplify arch math functions
libeigen/eigen!2195

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 20:17:43 -08:00
Rasmus Munk Larsen
d5e67adbe7 Clean up informal language, vague TODOs, and dead code in comments
libeigen/eigen!2191

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 18:32:10 -08:00
Rasmus Munk Larsen
8c35441f18 Fix typos: misspellings, French variable names, and hyphenation
libeigen/eigen!2185

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 10:04:40 -08:00
Rasmus Munk Larsen
44c6132163 Fix ~40 typos found by codespell across the codebase
libeigen/eigen!2181

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 21:29:50 -08:00
Rasmus Munk Larsen
e6accc73ff Fix comment typos, doubled words, grammar errors, and copy-paste mistakes
libeigen/eigen!2173

Closes #3034

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 14:36:21 -08:00
Rasmus Munk Larsen
a87ecfb179 Use m_ prefix consistently for private/protected member variables
libeigen/eigen!2168

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-20 20:35:58 -08:00
Antonio Sánchez
e0a8d6c9d8 Fix compile warnings
libeigen/eigen!2167
2026-02-20 23:09:56 +00:00
Blake
752911927f betainc edge case checks at start of calculation
libeigen/eigen!2123

Closes #2359
2026-02-08 10:05:06 -08:00
Antonio Sánchez
f46a2c561e Fix bad static access for TensorDeviceGpu.
libeigen/eigen!2111
2026-01-20 19:12:53 +00:00
Charles Schlosser
d90a0534be fix polynomialsolver test failures
libeigen/eigen!2104
2026-01-05 05:19:49 +00:00
Cédric Hubert
748e0a6517 Add missing semicolon
libeigen/eigen!2097
2025-12-18 08:49:11 -05:00
Nicholas Vinson
fe973ab0c5 Force early evaluation of boost expressions.
libeigen/eigen!2094
2025-12-16 19:55:59 +00:00
Gregory Meyer
9b00db8cb9 Simplify thread-safe initialization of GpuDeviceProperties.
libeigen/eigen!2089
2025-12-09 18:36:45 +00:00
Rasmus Munk Larsen
ec93a6d098 Add a generic Eigen backend based on clang vector extensions
The goal of this MR is to implement a generic SIMD backend (packet ops) for Eigen that uses clang vector extensions instead of platform-dependent intrinsics. Ideally, this should make it possible to build Eigen and achieve reasonable speed on any platform that has a recent clang compiler, without having to write any inline assembly or intrinsics.

Caveats:

* The current implementation is a proof of concept and supports vectorization for float, double, int32_t, and int64_t using fixed-size 512-bit vectors (a somewhat arbitrary choice). I have not done much to tune this for speed yet.
* For now, there is no way to enable this other than setting -DEIGEN_VECTORIZE_GENERIC on the command line.
* This only compiles with newer versions of clang. I have tested that it compiles and all tests pass with clang 19.1.7.

https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors

Closes #2998 and #2997

See merge request libeigen/eigen!2051

Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
Co-authored-by: Antonio Sánchez <cantonios@google.com>
2025-11-06 21:52:19 +00:00
Rasmus Munk Larsen
7c7d84735e Align temporary array in TensorSelectOp packet evaluator. 2025-11-05 19:44:47 +00:00
Tyler Veness
06f5cb4878 Use wrapper macro for multidimensional subscript feature test
See merge request libeigen/eigen!2059
2025-11-04 22:26:27 +00:00
Rasmus Munk Larsen
63fc0bc8c1 Make TernarySelectOp immune to const differences.
See merge request libeigen/eigen!2058

Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
2025-11-04 21:42:32 +00:00
Tyler Veness
f95b4698fc Add support for C++23 multidimensional subscript operator
I'm not sure where to put tests for this, assuming they're needed. They also wouldn't run in CI anyway since CI only exercises the C++17 codepaths.

See merge request libeigen/eigen!2053
2025-11-04 07:03:04 +00:00
Rasmus Munk Larsen
b6fcddccfc Get rid of pblend packet op.
There was only a single code path left in TensorEvaluator using pblend. We can replace that with a call to the more general TernarySelectOp and get rid of pblend entirely from Core.

Closes #2998

See merge request libeigen/eigen!2056

Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
2025-11-03 23:27:50 +00:00
Antonio Sánchez
b4209fe984 Eliminate use of std::cout in ArpackSelfAdjointEigenSolver.
<!-- 
Thanks for contributing a merge request!

We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen).

Before submitting the MR, please complete the following checks:
- Create one PR per feature or bugfix,
- Run the test suite to verify your changes.
  See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests).
- Add tests to cover the bug addressed or any new feature.
- Document new features.  If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md).
- Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`.
  This allows us to rebase and merge your change.

Note that we are a team of volunteers; we appreciate your patience during the review process.
-->

### Description
<!--Please explain your changes.-->

Eliminate use of std::cout in ArpackSelfAdjointEigenSolver.

Instead set the appropriate error status on failure.

### Reference issue
<!--
You can link to a specific issue using the gitlab syntax #<issue number>. 
If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge.
-->

### Additional information
<!--Any additional information you think is important.-->

See merge request libeigen/eigen!2041
2025-10-24 19:46:57 +00:00
anonymouspc
05e74b1a40 Tiny fix in unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h 2025-08-25 10:26:46 +00:00
Rasmus Munk Larsen
abeba85356 Use proper float literals in SpecialFunctionsImpl.h. 2025-07-19 01:17:12 +00:00
Rasmus Munk Larsen
b5bef9dcb0 Fix bug in Erfc introduced in !1862. 2025-07-18 17:58:48 -07:00
Antonio Sánchez
cc0be00435 Fix docs build. 2025-07-02 22:10:33 +00:00
Henric Ryden
7fa069ef90 tensor documentation 2025-06-29 03:47:42 +00:00
Antonio Sánchez
7c636dd5db Move HIP/CUDA defines to Core. 2025-06-27 16:48:07 +00:00
Antonio Sánchez
a395ee162d Fix a collection of random failures encountered when testing with Bazel. 2025-06-26 16:58:24 +00:00