Skip to content

Instantly share code, notes, and snippets.

@SteveBronder
Created March 19, 2025 20:50
Show Gist options
  • Save SteveBronder/8f19657853424f9966dc84c7f926c15d to your computer and use it in GitHub Desktop.
Save SteveBronder/8f19657853424f9966dc84c7f926c15d to your computer and use it in GitHub Desktop.
{"#515": {"major_features": "[#515](https://gitlab.com/libeigen/eigen/-/merge_requests/515): Add random matrix generation via SVD for enhanced testing capabilities."}}
{"#544": {"improvements": "[#544](https://gitlab.com/libeigen/eigen/-/merge_requests/544): Added support for Eigen::Block types to GDB pretty printer."}}
{"#606": {"breaking_changes": "[#606](https://gitlab.com/libeigen/eigen/-/merge_requests/606): Removed Sparse Dynamic Matrix, representing an API break."}}
{"#607": {"improvements": "[#607](https://gitlab.com/libeigen/eigen/-/merge_requests/607): Added a flowchart to aid in selecting unsupported sparse iterative solvers."}}
{"#608": {"other_changes": "[#608](https://gitlab.com/libeigen/eigen/-/merge_requests/608): Removed c++11-off CI jobs to streamline process and focus on modern standards."}}
{"#609": {"backend_improvements": "[#609](https://gitlab.com/libeigen/eigen/-/merge_requests/609): Optimize predux operations on AArch64 architecture for performance enhancement."}}
{"#489": {"backend_improvements": "[#489](https://gitlab.com/libeigen/eigen/-/merge_requests/489): AVX512 and AVX2 support for Packet16i and Packet8i added, enhancing vectorization capabilities."}}
{"#610": {"improvements": "[#610](https://gitlab.com/libeigen/eigen/-/merge_requests/610): Updated CMake configuration to require at least C++11, centralizing standard settings for clarity and maintainability."}}
{"#605": {"improvements": "[#605](https://gitlab.com/libeigen/eigen/-/merge_requests/605): Updated `RandomSetter` in `SparseExtra` to use `unordered_map` for improved performance."}}
{"#543": {"improvements": "[#543](https://gitlab.com/libeigen/eigen/-/merge_requests/543): Fix PEP8 and formatting issues in GDB pretty printer."}}
{"#611": {"improvements": "[#611](https://gitlab.com/libeigen/eigen/-/merge_requests/611): Included unordered_map header to enhance functionality related to unordered maps."}}
{"#613": {"improvements": "[#613](https://gitlab.com/libeigen/eigen/-/merge_requests/613): Fixes `Eigen::fix<N>` and `symbolic_index` test for environments without variable template support."}}
{"#612": {"major_features": "[#612](https://gitlab.com/libeigen/eigen/-/merge_requests/612): Add support for EIGEN_TENSOR_PLUGIN and related functionalities for enhanced tensor manipulation."}}
{"#614": {"improvements": "[#614](https://gitlab.com/libeigen/eigen/-/merge_requests/614): Enhances LAPACK test compatibility with newer Fortran compilers, addressing argument mismatches."}}
{"#615": {"improvements": "[#615](https://gitlab.com/libeigen/eigen/-/merge_requests/615): Include intrin header for better compatibility on Windows ARM."}}
{"#616": {"improvements": "[#616](https://gitlab.com/libeigen/eigen/-/merge_requests/616): Disable CUDA Eigen::half vectorization on host for versions before 10.0."}}
{"#621": {"improvements": "[#621](https://gitlab.com/libeigen/eigen/-/merge_requests/621): Improved compatibility and reduced warnings for GCC 4.8 on ARM."}}
{"#619": {"improvements": "[#619](https://gitlab.com/libeigen/eigen/-/merge_requests/619): Fixed documentation for unsupported linear solvers."}}
{"#629": {"improvements": "[#629](https://gitlab.com/libeigen/eigen/-/merge_requests/629): Fix EIGEN_OPTIMIZATION_BARRIER for arm-clang to enhance compatibility."}}
{"#628": {"improvements": "[#628](https://gitlab.com/libeigen/eigen/-/merge_requests/628): Renamed 'vec_all_nan' to resolve ppc64le build failures."}}
{"#485": {"improvements": "[#485](https://gitlab.com/libeigen/eigen/-/merge_requests/485): Remove deprecated package config variables from CMake configuration."}}
{"#630": {"backend_improvements": "[#630](https://gitlab.com/libeigen/eigen/-/merge_requests/630): Fixed AVX integer packet issues by adding AVX2 protection and correcting AVX512 implementation."}}
{"#622": {"improvements": "[#622](https://gitlab.com/libeigen/eigen/-/merge_requests/622): Rename `Tuple` to `Pair` and introduce a `Tuple` class enhancing GPU compatibility."}}
{"#618": {"backend_improvements": "[#618](https://gitlab.com/libeigen/eigen/-/merge_requests/618): Added EIGEN_DEVICE_FUNC labels to resolve CUDA 9 `gpu_basic` compilation issues."}}
{"#632": {"improvements": "[#632](https://gitlab.com/libeigen/eigen/-/merge_requests/632): Simplified CMake configuration by removing unused `EIGEN_DEFINITIONS`."}}
{"#633": {"improvements": "[#633](https://gitlab.com/libeigen/eigen/-/merge_requests/633): Use ARCH_INDEPENDENT versioning in CMake for improved package configuration management."}}
{"#617": {"improvements": "[#617](https://gitlab.com/libeigen/eigen/-/merge_requests/617): Enhanced matrixmarket reader/writer to support various dense matrices."}}
{"#634": {"improvements": "[#634](https://gitlab.com/libeigen/eigen/-/merge_requests/634): CMake now populates package registry by default for improved package management."}}
{"#635": {"improvements": "[#635](https://gitlab.com/libeigen/eigen/-/merge_requests/635): Fixed tridiagonalization_inplace_selector to align hCoeffs vector with MatrixType, enhancing stability."}}
{"#636": {"improvements": "[#636](https://gitlab.com/libeigen/eigen/-/merge_requests/636): Remove stray DynamicSparseMatrix references to clean and maintain codebase."}}
{"#637": {"improvements": "[#637](https://gitlab.com/libeigen/eigen/-/merge_requests/637): Removed extra DynamicSparseMatrix references and fixed typos for improved code clarity."}}
{"#638": {"improvements": "[#638](https://gitlab.com/libeigen/eigen/-/merge_requests/638): Added missing packet types in the `pset1` call to improve robustness."}}
{"#639": {"backend_improvements": "[#639](https://gitlab.com/libeigen/eigen/-/merge_requests/639): Fixes in AVX2 PacketMath.h improve performance and stability by correcting typos and addressing unaligned load issues."}}
{"#482": {"improvements": "[#482](https://gitlab.com/libeigen/eigen/-/merge_requests/482): Add LLDB Pretty Printer for enhanced debugging of Eigen matrices and vectors."}}
{"#624": {"improvements": "[#624](https://gitlab.com/libeigen/eigen/-/merge_requests/624): Add `Serializer<T>` for binary serialization to enhance GPU testing."}}
{"#623": {"backend_improvements": "[#623](https://gitlab.com/libeigen/eigen/-/merge_requests/623): Introduces device-compatible tuple for GPU testing, addressing compatibility issues with `std::tuple` in Eigen."}}
{"#641": {"improvements": "[#641](https://gitlab.com/libeigen/eigen/-/merge_requests/641): Removed unnecessary std::tuple reference to simplify the code."}}
{"#631": {"improvements": "[#631](https://gitlab.com/libeigen/eigen/-/merge_requests/631): Issue an error when internal headers are included directly to enhance code safety."}}
{"#625": {"improvements": "[#625](https://gitlab.com/libeigen/eigen/-/merge_requests/625): Introduce new GPU test utilities enhancing execution flexibility across CPU and GPU."}}
{"#643": {"improvements": "[#643](https://gitlab.com/libeigen/eigen/-/merge_requests/643): Minor fix for compilation error on HIP to enhance compatibility."}}
{"#645": {"improvements": "[#645](https://gitlab.com/libeigen/eigen/-/merge_requests/645): Introduced a default constructor for `eigen_packet_wrapper`, simplifying memory operations with `memcpy`."}}
{"#648": {"other_changes": "[#648](https://gitlab.com/libeigen/eigen/-/merge_requests/648): Fix typos in copyright dates."}}
{"#647": {"improvements": "[#647](https://gitlab.com/libeigen/eigen/-/merge_requests/647): Clean up static assertions to use standard C++11 `static_assert` for better error messages and performance."}}
{"#651": {"improvements": "[#651](https://gitlab.com/libeigen/eigen/-/merge_requests/651): Removed -fabi-version=6 flag from AVX512 builds for improved compatibility and performance."}}
{"#646": {"improvements": "[#646](https://gitlab.com/libeigen/eigen/-/merge_requests/646): Add buildtests_gpu and check_gpu to simplify GPU testing."}}
{"#653": {"improvements": "[#653](https://gitlab.com/libeigen/eigen/-/merge_requests/653): Disabled subtests on HIP to maintain test stability due to device side malloc/free limitations."}}
{"#649": {"breaking_changes": "[#649](https://gitlab.com/libeigen/eigen/-/merge_requests/649): Move `Eigen::all`, `last`, `lastp1` back to `Eigen::placeholders::` to reduce name collisions."}}
{"#652": {"improvements": "[#652](https://gitlab.com/libeigen/eigen/-/merge_requests/652): Added a macro to pass arguments to ctest for running tests in parallel."}}
{"#654": {"improvements": "[#654](https://gitlab.com/libeigen/eigen/-/merge_requests/654): Silence string overflow warning for GCC in initializer_list_construction test."}}
{"#656": {"improvements": "[#656](https://gitlab.com/libeigen/eigen/-/merge_requests/656): Fix strict aliasing bug causing product_small failure, enhancing reliability of small matrix operations."}}
{"#655": {"improvements": "[#655](https://gitlab.com/libeigen/eigen/-/merge_requests/655): Implemented parallel execution of CI tests on all CPU cores, enhancing test speed and efficiency."}}
{"#657": {"improvements": "[#657](https://gitlab.com/libeigen/eigen/-/merge_requests/657): Fix implicit conversion warnings in tuple_test to enhance type safety and code clarity."}}
{"#572": {"improvements": "[#572](https://gitlab.com/libeigen/eigen/-/merge_requests/572): Removed unnecessary `const` when returning by value to enhance code readability."}}
{"#659": {"backend_improvements": "[#659](https://gitlab.com/libeigen/eigen/-/merge_requests/659): Fix alias violation in BFloat16 enhancing reliability on PPC platforms."}}
{"#660": {"improvements": "[#660](https://gitlab.com/libeigen/eigen/-/merge_requests/660): Fix various typos to enhance clarity and professionalism in the documentation."}}
{"#661": {"improvements": "[#661](https://gitlab.com/libeigen/eigen/-/merge_requests/661): Fixes typographical errors to improve readability and professionalism."}}
{"#663": {"backend_improvements": "[#663](https://gitlab.com/libeigen/eigen/-/merge_requests/663): Disable more CUDA warnings to reduce compilation output clutter."}}
{"#662": {"other_changes": "[#662](https://gitlab.com/libeigen/eigen/-/merge_requests/662): Reorganize test main file to enhance maintainability and clarity."}}
{"#664": {"improvements": "[#664](https://gitlab.com/libeigen/eigen/-/merge_requests/664): Disable testing of complex compound assignment operators for MSVC to prevent compilation issues."}}
{"#671": {"improvements": "[#671](https://gitlab.com/libeigen/eigen/-/merge_requests/671): Improved GPU special function test accuracy by aligning with scipy."}}
{"#669": {"improvements": "[#669](https://gitlab.com/libeigen/eigen/-/merge_requests/669): Optimized tensor_contract_gpu test by reducing contraction count to prevent timeouts."}}
{"#667": {"improvements": "[#667](https://gitlab.com/libeigen/eigen/-/merge_requests/667): Speed up tensor reduction using loop strip mining and unrolling techniques for enhanced performance."}}
{"#668": {"backend_improvements": "[#668](https://gitlab.com/libeigen/eigen/-/merge_requests/668): Fix Windows CMake compiler/OS detection for improved build system reliability."}}
{"#673": {"backend_improvements": "[#673](https://gitlab.com/libeigen/eigen/-/merge_requests/673): Vectorized Visitor.h with AVX2, enhancing `coeffMax` performance and matrix decompositions."}}
{"#678": {"improvements": "[#678](https://gitlab.com/libeigen/eigen/-/merge_requests/678): Moved CUDA/Complex.h to GPU/Complex.h and removed deprecated TensorReductionCuda.h."}}
{"#665": {"improvements": "[#665](https://gitlab.com/libeigen/eigen/-/merge_requests/665): Fix tuple compilation issues for Visual Studio 2017 by replacing `tuple` alias with `TupleImpl`."}}
{"#666": {"improvements": "[#666](https://gitlab.com/libeigen/eigen/-/merge_requests/666): Fix MSVC+NVCC EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR compilation issues."}}
{"#676": {"improvements": "[#676](https://gitlab.com/libeigen/eigen/-/merge_requests/676): Improve accuracy of full tensor reduction for half and bfloat16."}}
{"#679": {"backend_improvements": "[#679](https://gitlab.com/libeigen/eigen/-/merge_requests/679): Disabled Tree reduction for GPU to eliminate memory errors and improve stability."}}
{"#677": {"backend_improvements": "[#677](https://gitlab.com/libeigen/eigen/-/merge_requests/677): Use reinterpret_cast on GPU for bit_cast to improve performance by avoiding memcpy overhead."}}
{"#686": {"improvements": "[#686](https://gitlab.com/libeigen/eigen/-/merge_requests/686): Revert bit_cast to use memcpy for CUDA to avoid undefined behavior."}}
{"#687": {"improvements": "[#687](https://gitlab.com/libeigen/eigen/-/merge_requests/687): Add nan-propagation options to matrix and array plugins for improved handling of NaN in min/max operations."}}
{"#691": {"improvements": "[#691](https://gitlab.com/libeigen/eigen/-/merge_requests/691): Fix -Wbitwise-instead-of-logical clang warning to enhance code clarity and correctness."}}
{"#693": {"improvements": "[#693](https://gitlab.com/libeigen/eigen/-/merge_requests/693): Clarified documentation on inner stride for compile-time vectors in `Stride` class."}}
{"#692": {"improvements": "[#692](https://gitlab.com/libeigen/eigen/-/merge_requests/692): Extend EIGEN_QT_SUPPORT to Qt6 for better compatibility."}}
{"#688": {"improvements": "[#688](https://gitlab.com/libeigen/eigen/-/merge_requests/688): Introduced nan-propagation options to enhance NaN value handling in matrix and array plugins."}}
{"#696": {"improvements": "[#696](https://gitlab.com/libeigen/eigen/-/merge_requests/696): Removed const from visitor return type to fix compatibility issues on ARM and PPC."}}
{"#689": {"improvements": "[#689](https://gitlab.com/libeigen/eigen/-/merge_requests/689): Fixed index-out-of-bounds error in broadcasting for vectorized 1-dimensional inputs."}}
{"#698": {"improvements": "[#698](https://gitlab.com/libeigen/eigen/-/merge_requests/698): Enhance CommaInitializer to reuse fixed dimensions, improving performance and consistency."}}
{"#695": {"improvements": "[#695](https://gitlab.com/libeigen/eigen/-/merge_requests/695): Fix boostmultiprec test to compile with older Boost versions, enhancing compatibility."}}
{"#681": {"improvements": "[#681](https://gitlab.com/libeigen/eigen/-/merge_requests/681): Addressed integer overflows in EigenMetaKernel indexing to enhance robustness."}}
{"#701": {"improvements": "[#701](https://gitlab.com/libeigen/eigen/-/merge_requests/701): Updated alignment qualifier placement for consistency and addressed compiler warnings."}}
{"#700": {"improvements": "[#700](https://gitlab.com/libeigen/eigen/-/merge_requests/700): Vectorize fp16 tanh and logistic functions on Neon for enhanced performance."}}
{"#694": {"improvements": "[#694](https://gitlab.com/libeigen/eigen/-/merge_requests/694): Fix ZVector build issues on s390x and enhance test reliability."}}
{"#534": {"backend_improvements": "[#534](https://gitlab.com/libeigen/eigen/-/merge_requests/534): Preliminary support for HIP bfloat16 GPU on AMD, setting the foundation for future optimizations."}}
{"#697": {"improvements": "[#697](https://gitlab.com/libeigen/eigen/-/merge_requests/697): Streamline CMake scripts to enhance subproject integration, reducing unnecessary test builds."}}
{"#703": {"improvements": "[#703](https://gitlab.com/libeigen/eigen/-/merge_requests/703): Fix NaN propagation in min/max functions for scalar inputs."}}
{"#702": {"improvements": "[#702](https://gitlab.com/libeigen/eigen/-/merge_requests/702): Introduces AVX vectorized implementation for float2half and half2float, boosting performance 3x."}}
{"#680": {"backend_improvements": "[#680](https://gitlab.com/libeigen/eigen/-/merge_requests/680): Improved PowerPC packing performance and accuracy in non-vectorized operations."}}
{"#705": {"improvements": "[#705](https://gitlab.com/libeigen/eigen/-/merge_requests/705): Fix TensorReduction warnings and error bound for sum accuracy test."}}
{"#704": {"backend_improvements": "[#704](https://gitlab.com/libeigen/eigen/-/merge_requests/704): Removed problematic implementation causing g++-11 crashes."}}
{"#707": {"improvements": "[#707](https://gitlab.com/libeigen/eigen/-/merge_requests/707): Fix total deflation issue in BDCSVD when M is diagonal and add unit tests."}}
{"#709": {"improvements": "[#709](https://gitlab.com/libeigen/eigen/-/merge_requests/709): Fixed BDCSVD's total deflation logic to enhance performance with diagonal matrices."}}
{"#714": {"improvements": "[#714](https://gitlab.com/libeigen/eigen/-/merge_requests/714): Fix uninitialized matrix in nestbyvalue test to enhance reliability."}}
{"#712": {"improvements": "[#712](https://gitlab.com/libeigen/eigen/-/merge_requests/712): Enhance documentation for Quaternion constructor from MatrixBase, clarifying element order."}}
{"#711": {"improvements": "[#711](https://gitlab.com/libeigen/eigen/-/merge_requests/711): Fixes bug in macro definition EIGEN_HAS_FP16_C for non-Clang compilers."}}
{"#715": {"improvements": "[#715](https://gitlab.com/libeigen/eigen/-/merge_requests/715): Fix failing test for tensor reduction by comparing results against forward error bounds."}}
{"#713": {"improvements": "[#713](https://gitlab.com/libeigen/eigen/-/merge_requests/713): Avoid integer overflow in EigenMetaKernel indexing to enhance reliability and prevent CUDA errors."}}
{"#121": {"improvements": "[#121](https://gitlab.com/libeigen/eigen/-/merge_requests/121): Introduced a `make format` command for automatic code formatting."}}
{"#720": {"improvements": "[#720](https://gitlab.com/libeigen/eigen/-/merge_requests/720): Corrected a typo in the documentation to enhance clarity."}}
{"#716": {"backend_improvements": "[#716](https://gitlab.com/libeigen/eigen/-/merge_requests/716): Converted diag pragmas to nv_diag for improved code consistency and maintenance."}}
{"#717": {"improvements": "[#717](https://gitlab.com/libeigen/eigen/-/merge_requests/717): Moved prune function to SparseVector.h to improve sparse matrix storage organization."}}
{"#718": {"improvements": "[#718](https://gitlab.com/libeigen/eigen/-/merge_requests/718): Use consistent `StorageIndex` across `SparseMatrix` implementations."}}
{"#327": {"improvements": "[#327](https://gitlab.com/libeigen/eigen/-/merge_requests/327): Reimplemented Tensor stream output for enhanced flexibility and consistency."}}
{"#723": {"improvements": "[#723](https://gitlab.com/libeigen/eigen/-/merge_requests/723): Fix tensor broadcast off-by-one error to enhance robustness."}}
{"#722": {"improvements": "[#722](https://gitlab.com/libeigen/eigen/-/merge_requests/722): Enhanced efficiency in Umeyama algorithm by optimizing computation when scaling is not required."}}
{"#724": {"improvements": "[#724](https://gitlab.com/libeigen/eigen/-/merge_requests/724): Enhanced TensorIO to support TensorMap with const elements."}}
{"#719": {"improvements": "[#719](https://gitlab.com/libeigen/eigen/-/merge_requests/719): Fixed Sparse-Sparse Product in case of mixed StorageIndex types enhancing robustness and reliability."}}
{"#728": {"improvements": "[#728](https://gitlab.com/libeigen/eigen/-/merge_requests/728): Fix errors for Windows build and enhance compatibility."}}
{"#726": {"improvements": "[#726](https://gitlab.com/libeigen/eigen/-/merge_requests/726): Added basic iterator support for Eigen::array to ease transition to std::array."}}
{"#725": {"improvements": "[#725](https://gitlab.com/libeigen/eigen/-/merge_requests/725): Removed deprecated MappedSparseMatrix to enhance maintainability."}}
{"#727": {"improvements": "[#727](https://gitlab.com/libeigen/eigen/-/merge_requests/727): Make numeric_limits members constexpr as per the newer C++ standards."}}
{"#729": {"improvements": "[#729](https://gitlab.com/libeigen/eigen/-/merge_requests/729): Implemented Eigen::array<...>::reverse_iterator for enhanced iteration capabilities."}}
{"#733": {"improvements": "[#733](https://gitlab.com/libeigen/eigen/-/merge_requests/733): Fix warnings about shadowing definitions to improve code clarity and maintainability."}}
{"#732": {"improvements": "[#732](https://gitlab.com/libeigen/eigen/-/merge_requests/732): Remove EIGEN_HAS_CXX11 to streamline codebase and enhance maintainability."}}
{"#737": {"improvements": "[#737](https://gitlab.com/libeigen/eigen/-/merge_requests/737): Refactored LLT macro binding to Lapacke into smaller parts for better clarity and maintainability."}}
{"#740": {"breaking_changes": "[#740](https://gitlab.com/libeigen/eigen/-/merge_requests/740): Remove DenseBase::nonZeros() as it duplicates DenseBase::size() functionality."}}
{"#741": {"improvements": "[#741](https://gitlab.com/libeigen/eigen/-/merge_requests/741): Fix for HIP compilation failure in DenseBase by adding EIGEN_DEVICE_FUNC modifiers."}}
{"#735": {"improvements": "[#735](https://gitlab.com/libeigen/eigen/-/merge_requests/735): Removed EIGEN_HAS_CXX11_* and redundant EIGEN_COMP_CXXVER checks to streamline code and enhance maintainability."}}
{"#742": {"improvements": "[#742](https://gitlab.com/libeigen/eigen/-/merge_requests/742): Updated minimum CMake version to 3.10, set GCC version to 5, and removed disabling of C++11 tests."}}
{"#658": {"breaking_changes": "[#658](https://gitlab.com/libeigen/eigen/-/merge_requests/658): Update SVD Module to allow specifying computation options with a template parameter, replacing the previous QRPreconditioner parameter."}}
{"#734": {"backend_improvements": "[#734](https://gitlab.com/libeigen/eigen/-/merge_requests/734): Select AVX2 even if the data size is not a multiple of 8 to improve vectorization."}}
{"#730": {"improvements": "[#730](https://gitlab.com/libeigen/eigen/-/merge_requests/730): Fixes issue #2375 related to indexed views for non-Eigen types, improving stability."}}
{"#736": {"improvements": "[#736](https://gitlab.com/libeigen/eigen/-/merge_requests/736): Improved handling of non-const overloads in self-adjoint and triangular views when not referring to an lvalue."}}
{"#745": {"backend_improvements": "[#745](https://gitlab.com/libeigen/eigen/-/merge_requests/745): Fix for HIP compilation breakage in selfAdjoint and triangular view classes."}}
{"#746": {"improvements": "[#746](https://gitlab.com/libeigen/eigen/-/merge_requests/746): Fixed Cholesky to handle 0-sized matrices, ensuring LAPACKE-based LLT aligns with Eigen's expectations."}}
{"#749": {"breaking_changes": "[#749](https://gitlab.com/libeigen/eigen/-/merge_requests/749): Reverted SVD module update to restore compatibility with third-party libraries."}}
{"#744": {"breaking_changes": "[#744](https://gitlab.com/libeigen/eigen/-/merge_requests/744): Require recent GCC and MSCV, removed `EIGEN_HAS_CXX14` and other feature test macros."}}
{"#739": {"improvements": "[#739](https://gitlab.com/libeigen/eigen/-/merge_requests/739): Disabled GCC-4.8 tests to streamline transition to C++14."}}
{"#752": {"improvements": "[#752](https://gitlab.com/libeigen/eigen/-/merge_requests/752): Deprecate macro EIGEN_GPU_TEST_C99_MATH to reduce code clutter and simplify maintenance."}}
{"#748": {"improvements": "[#748](https://gitlab.com/libeigen/eigen/-/merge_requests/748): Improved lapacke binding code for HouseholderQR and PartialPivLU."}}
{"#755": {"improvements": "[#755](https://gitlab.com/libeigen/eigen/-/merge_requests/755): Removed unused else branch after `#ifdef` removal, enhancing code clarity."}}
{"#447": {"major_features": "[#447](https://gitlab.com/libeigen/eigen/-/merge_requests/447): Introduces BiCGSTAB(L) algorithm for solving linear systems, enhancing capabilities for non-symmetric systems."}}
{"#757": {"improvements": "[#757](https://gitlab.com/libeigen/eigen/-/merge_requests/757): Refactored IDRS code for stability and performance enhancements using StableNorm()."}}
{"#756": {"improvements": "[#756](https://gitlab.com/libeigen/eigen/-/merge_requests/756): Improve compatibility with toolchains lacking atomic support by conditional inclusion of `<atomic>`."}}
{"#759": {"improvements": "[#759](https://gitlab.com/libeigen/eigen/-/merge_requests/759): Fix typo `StableNorm` to `stableNorm` to ensure naming consistency."}}
{"#762": {"improvements": "[#762](https://gitlab.com/libeigen/eigen/-/merge_requests/762): Improved readability and reliability of documentation snippets in the Eigen library."}}
{"#761": {"improvements": "[#761](https://gitlab.com/libeigen/eigen/-/merge_requests/761): Removed outdated compiler checks and flags to streamline the codebase."}}
{"#577": {"major_features": "[#577](https://gitlab.com/libeigen/eigen/-/merge_requests/577): Introduces the IDR(s)STAB(l) method for solving sparse square problems, enhancing convergence and computational efficiency."}}
{"#765": {"improvements": "[#765](https://gitlab.com/libeigen/eigen/-/merge_requests/765): Disambiguate overloads for empty index list to reduce compiler warnings and improve code clarity."}}
{"#760": {"improvements": "[#760](https://gitlab.com/libeigen/eigen/-/merge_requests/760): Removed `using namespace Eigen` in sample code to promote better coding practices."}}
{"#767": {"improvements": "[#767](https://gitlab.com/libeigen/eigen/-/merge_requests/767): Ensure exp(-Inf) returns zero for vectorized expressions and improve AVX2 and SSE performance."}}
{"#758": {"improvements": "[#758](https://gitlab.com/libeigen/eigen/-/merge_requests/758): Introduced GPU unit tests for HIP using C++14."}}
{"#763": {"improvements": "[#763](https://gitlab.com/libeigen/eigen/-/merge_requests/763): Removed use of deprecated CMake `COMPILE_FLAGS` in favor of modern options."}}
{"#768": {"improvements": "[#768](https://gitlab.com/libeigen/eigen/-/merge_requests/768): Removed custom Find*.cmake scripts in favor of CMake's built-in support for better compatibility."}}
{"#770": {"improvements": "[#770](https://gitlab.com/libeigen/eigen/-/merge_requests/770): Fixed customIndices2Array to include the first index, enhancing tensor module functionality."}}
{"#769": {"improvements": "[#769](https://gitlab.com/libeigen/eigen/-/merge_requests/769): Added guards to enforce proper header inclusion practices for `CholmodSupport`."}}
{"#753": {"improvements": "[#753](https://gitlab.com/libeigen/eigen/-/merge_requests/753): Converted computational macros to constexpr functions for enhanced type safety and code maintainability."}}
{"#774": {"backend_improvements": "[#774](https://gitlab.com/libeigen/eigen/-/merge_requests/774): Introduced fixes to enable HIP unit tests and updated CMake configuration for compatibility."}}
{"#776": {"improvements": "[#776](https://gitlab.com/libeigen/eigen/-/merge_requests/776): Enables `EIGEN_TEST_CUSTOM_CXX_FLAGS` to be used as a CMake list by converting spaces to semicolons."}}
{"#773": {"backend_improvements": "[#773](https://gitlab.com/libeigen/eigen/-/merge_requests/773): Small speed-up in row-major sparse dense product by optimizing sparse_time_dense_product_impl for better parallelism."}}
{"#782": {"improvements": "[#782](https://gitlab.com/libeigen/eigen/-/merge_requests/782): Fix bug introduced in !751 affecting EIGEN_IMPLIES macro handling side-effects."}}
{"#783": {"improvements": "[#783](https://gitlab.com/libeigen/eigen/-/merge_requests/783): Simplify logical_xor() for bool types by using a != b."}}
{"#785": {"improvements": "[#785](https://gitlab.com/libeigen/eigen/-/merge_requests/785): Fixed Clang warnings about alignment change and floating point precision."}}
{"#786": {"improvements": "[#786](https://gitlab.com/libeigen/eigen/-/merge_requests/786): Small cleanup of GDB pretty printer code to improve readability and maintainability."}}
{"#788": {"improvements": "[#788](https://gitlab.com/libeigen/eigen/-/merge_requests/788): Minor fixes to documentation and code warnings for improved clarity and quality."}}
{"#789": {"backend_improvements": "[#789](https://gitlab.com/libeigen/eigen/-/merge_requests/789): Include immintrin.h for F16C intrinsics when vectorization is disabled."}}
{"#790": {"improvements": "[#790](https://gitlab.com/libeigen/eigen/-/merge_requests/790): Added missing internal namespace qualifiers to improve clarity in vectorization logic tests."}}
{"#779": {"improvements": "[#779](https://gitlab.com/libeigen/eigen/-/merge_requests/779): Optimize exp<float>() for denormal results and 4% speedup."}}
{"#793": {"improvements": "[#793](https://gitlab.com/libeigen/eigen/-/merge_requests/793): Removed unused macro `EIGEN_HAS_STATIC_ARRAY_TEMPLATE` to enhance maintainability."}}
{"#794": {"other_changes": "[#794](https://gitlab.com/libeigen/eigen/-/merge_requests/794): Fixed duplicated header guards in AltiVec and ZVector packages to prevent conflicts."}}
{"#797": {"improvements": "[#797](https://gitlab.com/libeigen/eigen/-/merge_requests/797): Add bounds checking to the Eigen serializer to enhance data integrity and reliability."}}
{"#771": {"breaking_changes": "[#771](https://gitlab.com/libeigen/eigen/-/merge_requests/771): Renamed `Eigen::internal::size` to `ssize` to prevent ADL conflicts, aligning with C++ standards."}}
{"#800": {"improvements": "[#800](https://gitlab.com/libeigen/eigen/-/merge_requests/800): Corrected functionality of GPU unit tests for HIP after serialization API changes."}}
{"#792": {"improvements": "[#792](https://gitlab.com/libeigen/eigen/-/merge_requests/792): Allow specifying inner & outer stride for CWiseUnaryView, enhancing functionality and control."}}
{"#799": {"improvements": "[#799](https://gitlab.com/libeigen/eigen/-/merge_requests/799): Improve plog with 20% speedup for float and handle denormals."}}
{"#802": {"improvements": "[#802](https://gitlab.com/libeigen/eigen/-/merge_requests/802): Fixes truncation from `unsigned int` to `bool`, improving reliability of type conversions."}}
{"#801": {"improvements": "[#801](https://gitlab.com/libeigen/eigen/-/merge_requests/801): Fixes and cleanups for numeric_limits and psqrt bug."}}
{"#791": {"major_features": "[#791](https://gitlab.com/libeigen/eigen/-/merge_requests/791): Add support for Cray, Fujitsu, and Intel ICX compilers."}}
{"#796": {"improvements": "[#796](https://gitlab.com/libeigen/eigen/-/merge_requests/796): Make fixed-size Matrix and Array trivially copyable using C++20 features."}}
{"#803": {"improvements": "[#803](https://gitlab.com/libeigen/eigen/-/merge_requests/803): Fix Gcc8.5 warning about missing base class initialization."}}
{"#805": {"improvements": "[#805](https://gitlab.com/libeigen/eigen/-/merge_requests/805): Ensure consistent values from scalar and vectorized paths in array.exp()."}}
{"#780": {"improvements": "[#780](https://gitlab.com/libeigen/eigen/-/merge_requests/780): Improved accuracy and performance of logistic sigmoid function."}}
{"#806": {"improvements": "[#806](https://gitlab.com/libeigen/eigen/-/merge_requests/806): Fix IterativeSolverBase assertion messages to reference the correct class name."}}
{"#795": {"improvements": "[#795](https://gitlab.com/libeigen/eigen/-/merge_requests/795): Refactor to reduce usage of reserved names, enhancing compliance with C++ standards."}}
{"#808": {"improvements": "[#808](https://gitlab.com/libeigen/eigen/-/merge_requests/808): Addressed type compatibility in `pmadd` with explicit casting for enhanced type safety."}}
{"#810": {"improvements": "[#810](https://gitlab.com/libeigen/eigen/-/merge_requests/810): Fix two corner cases in logistic sigmoid to enhance accuracy and robustness."}}
{"#809": {"improvements": "[#809](https://gitlab.com/libeigen/eigen/-/merge_requests/809): Corrects broken assertions to enhance reliability and robustness."}}
{"#811": {"improvements": "[#811](https://gitlab.com/libeigen/eigen/-/merge_requests/811): Fix compilation issue with GCC < 10 and C++2a standard."}}
{"#764": {"backend_improvements": "[#764](https://gitlab.com/libeigen/eigen/-/merge_requests/764): Add MMA and performance improvements for VSX in GEMV for PowerPC."}}
{"#812": {"improvements": "[#812](https://gitlab.com/libeigen/eigen/-/merge_requests/812): Fix implicit conversion warning in vectorwise_reverse_inplace."}}
{"#814": {"improvements": "[#814](https://gitlab.com/libeigen/eigen/-/merge_requests/814): Updated comment to replace reference to removed macro EIGEN_SIZE_MIN_PREFER_DYNAMIC with constexpr function."}}
{"#813": {"improvements": "[#813](https://gitlab.com/libeigen/eigen/-/merge_requests/813): Minor correction/clarification to LSCG solver documentation."}}
{"#815": {"improvements": "[#815](https://gitlab.com/libeigen/eigen/-/merge_requests/815): Fix implicit conversion warning in GEBP kernel's packing by changing data types to improve type safety."}}
{"#816": {"backend_improvements": "[#816](https://gitlab.com/libeigen/eigen/-/merge_requests/816): Port EIGEN_OPTIMIZATION_BARRIER to support soft float ARM architectures."}}
{"#819": {"improvements": "[#819](https://gitlab.com/libeigen/eigen/-/merge_requests/819): Enhance clang warning suppressions by verifying supported warnings."}}
{"#818": {"improvements": "[#818](https://gitlab.com/libeigen/eigen/-/merge_requests/818): Silence MSVC warnings for cleaner builds and easier debugging."}}
{"#772": {"improvements": "[#772](https://gitlab.com/libeigen/eigen/-/merge_requests/772): Removed obsolete macros and implementation for better code maintainability."}}
{"#817": {"improvements": "[#817](https://gitlab.com/libeigen/eigen/-/merge_requests/817): Add support for packets of int64 on x86 to enhance processing efficiency."}}
{"#821": {"improvements": "[#821](https://gitlab.com/libeigen/eigen/-/merge_requests/821): Prevented heap allocation in diagonal matrix product by using reference types, optimizing performance."}}
{"#820": {"backend_improvements": "[#820](https://gitlab.com/libeigen/eigen/-/merge_requests/820): Add reciprocal packet op and fast specializations for float with SSE, AVX, and AVX512."}}
{"#822": {"improvements": "[#822](https://gitlab.com/libeigen/eigen/-/merge_requests/822): Make casts explicit and fix type to prevent overflow issues in random test implementation."}}
{"#824": {"backend_improvements": "[#824](https://gitlab.com/libeigen/eigen/-/merge_requests/824): Removed inline assembly for FMA (AVX) and added packet ops: pmsub, pnmadd, pnmsub."}}
{"#825": {"improvements": "[#825](https://gitlab.com/libeigen/eigen/-/merge_requests/825): Enhance handling of float warnings by refining comparisons and conversions."}}
{"#827": {"improvements": "[#827](https://gitlab.com/libeigen/eigen/-/merge_requests/827): Optimized preciprocal function for IEEE compliance, improving performance with division by zero and infinity."}}
{"#828": {"backend_improvements": "[#828](https://gitlab.com/libeigen/eigen/-/merge_requests/828): Fix number of block columns to prevent cache overflow on PowerPC in GEMV."}}
{"#830": {"improvements": "[#830](https://gitlab.com/libeigen/eigen/-/merge_requests/830): Removed outdated documentation referencing C++98/03 standards."}}
{"#826": {"breaking_changes": "[#826](https://gitlab.com/libeigen/eigen/-/merge_requests/826): Introduced `Options` template parameter in SVD module with API breaking changes for improved flexibility."}}
{"#835": {"improvements": "[#835](https://gitlab.com/libeigen/eigen/-/merge_requests/835): Fixed ODR violations by removing unnamed namespaces from headers."}}
{"#832": {"backend_improvements": "[#832](https://gitlab.com/libeigen/eigen/-/merge_requests/832): Fix AVX512 math function consistency and enable for ICC."}}
{"#833": {"improvements": "[#833](https://gitlab.com/libeigen/eigen/-/merge_requests/833): Fixes type discrepancy issues on 32-bit ARM by using `int32_t` consistently."}}
{"#840": {"improvements": "[#840](https://gitlab.com/libeigen/eigen/-/merge_requests/840): Correct use of EIGEN_CUDACC to respect EIGEN_NO_CUDA, preventing unwanted compilation of CUDA code when disabled."}}
{"#838": {"improvements": "[#838](https://gitlab.com/libeigen/eigen/-/merge_requests/838): Defined `EIGEN_HAS_AVX512_MATH` correctly in PacketMath to enhance AVX512 support."}}
{"#836": {"improvements": "[#836](https://gitlab.com/libeigen/eigen/-/merge_requests/836): Limit GCC<6.3 maxpd workaround to GCC, improving compatibility with Clang."}}
{"#841": {"improvements": "[#841](https://gitlab.com/libeigen/eigen/-/merge_requests/841): Consolidated and enhanced implementations of fast psqrt and prsqrt for correct handling of edge cases."}}
{"#844": {"improvements": "[#844](https://gitlab.com/libeigen/eigen/-/merge_requests/844): Updated MPL2 license link to use HTTPS for enhanced security."}}
{"#843": {"improvements": "[#843](https://gitlab.com/libeigen/eigen/-/merge_requests/843): Fix naming collisions with resolve.h to enhance code clarity and stability."}}
{"#842": {"other_changes": "[#842](https://gitlab.com/libeigen/eigen/-/merge_requests/842): Corrected typo in COD documentation from matrixR() to matrixT()."}}
{"#845": {"improvements": "[#845](https://gitlab.com/libeigen/eigen/-/merge_requests/845): Provide a definition for numeric_limits static data members to enhance compliance with C++ standards."}}
{"#846": {"improvements": "[#846](https://gitlab.com/libeigen/eigen/-/merge_requests/846): Return alphas() and betas() by const reference to enhance performance and memory efficiency."}}
{"#847": {"backend_improvements": "[#847](https://gitlab.com/libeigen/eigen/-/merge_requests/847): Cleaned up compiler warnings in GEMM & GEMV for PowerPC."}}
{"#849": {"improvements": "[#849](https://gitlab.com/libeigen/eigen/-/merge_requests/849): Enhance documentation with MatrixXNt and MatrixNXt details and fix namespace issues."}}
{"#852": {"improvements": "[#852](https://gitlab.com/libeigen/eigen/-/merge_requests/852): Add `constexpr size()` method to `Eigen::IndexList` for compile-time size evaluation."}}
{"#853": {"improvements": "[#853](https://gitlab.com/libeigen/eigen/-/merge_requests/853): Fix ODR failures in TensorRandom to enhance code stability and reliability."}}
{"#855": {"improvements": "[#855](https://gitlab.com/libeigen/eigen/-/merge_requests/855): Remove unused macros related to obsolete `prsqrt` implementation."}}
{"#859": {"improvements": "[#859](https://gitlab.com/libeigen/eigen/-/merge_requests/859): Fix MSVC+NVCC 9.2 pragma error by replacing `_Pragma` with `__pragma`."}}
{"#858": {"backend_improvements": "[#858](https://gitlab.com/libeigen/eigen/-/merge_requests/858): Fix and enhance sqrt/rsqrt functions for NEON with improved testing and accuracy."}}
{"#850": {"improvements": "[#850](https://gitlab.com/libeigen/eigen/-/merge_requests/850): Enhance Doxygen documentation by adding descriptions to Matrix typedefs."}}
{"#857": {"breaking_changes": "[#857](https://gitlab.com/libeigen/eigen/-/merge_requests/857): Re-add `svd::compute(Matrix, options)` method to avoid breaking external projects."}}
{"#861": {"improvements": "[#861](https://gitlab.com/libeigen/eigen/-/merge_requests/861): Made FixedInt constexpr and fixed potential ODR issues by removing static from the variable template."}}
{"#862": {"improvements": "[#862](https://gitlab.com/libeigen/eigen/-/merge_requests/862): Restores fixed sizes for U/V matrices for fixed-sized inputs, reverting unnecessary dynamic sizing."}}
{"#866": {"improvements": "[#866](https://gitlab.com/libeigen/eigen/-/merge_requests/866): Initialize pointers to nullptr in SPQRSupport to prevent crash from invalid free() calls."}}
{"#869": {"backend_improvements": "[#869](https://gitlab.com/libeigen/eigen/-/merge_requests/869): Fix CMake for SYCL support, enhancing configuration and compatibility."}}
{"#870": {"improvements": "[#870](https://gitlab.com/libeigen/eigen/-/merge_requests/870): Fix test macro conflicts with STL headers in C++20."}}
{"#865": {"improvements": "[#865](https://gitlab.com/libeigen/eigen/-/merge_requests/865): Add assert for edge case if Thin U Requested at runtime."}}
{"#863": {"improvements": "[#863](https://gitlab.com/libeigen/eigen/-/merge_requests/863): Modified test expressions to ensure numerical consistency across optimization levels."}}
{"#868": {"improvements": "[#868](https://gitlab.com/libeigen/eigen/-/merge_requests/868): Optimizations to fast SQRT/RSQRT for enhanced performance on modern x86 processors."}}
{"#873": {"improvements": "[#873](https://gitlab.com/libeigen/eigen/-/merge_requests/873): Disabled deprecated warnings in SVD tests to enhance log readability."}}
{"#874": {"improvements": "[#874](https://gitlab.com/libeigen/eigen/-/merge_requests/874): Fix gcc-5 packetmath_12 bug by initializing memory to zeroes."}}
{"#875": {"improvements": "[#875](https://gitlab.com/libeigen/eigen/-/merge_requests/875): Fix compilation error in packetmath by introducing a wrapper around `psqrt`."}}
{"#877": {"improvements": "[#877](https://gitlab.com/libeigen/eigen/-/merge_requests/877): Disable deprecated warnings for SVD tests on MSVC for cleaner build logs."}}
{"#878": {"improvements": "[#878](https://gitlab.com/libeigen/eigen/-/merge_requests/878): Fix frexp packetmath tests for MSVC to handle non-finite inputs correctly."}}
{"#876": {"improvements": "[#876](https://gitlab.com/libeigen/eigen/-/merge_requests/876): Fix mixingtypes for g++-11, improving stability and performance with AVX512 operations."}}
{"#880": {"improvements": "[#880](https://gitlab.com/libeigen/eigen/-/merge_requests/880): Fix SVD for MSVC by addressing a critical bug with Options template parameter handling."}}
{"#879": {"improvements": "[#879](https://gitlab.com/libeigen/eigen/-/merge_requests/879): Improved any/all reduction operations for row-major layout."}}
{"#882": {"improvements": "[#882](https://gitlab.com/libeigen/eigen/-/merge_requests/882): Fixes compatibility issues with SVD implementation for MSVC+CUDA addressing `Index` type discrepancies and function return warnings."}}
{"#883": {"improvements": "[#883](https://gitlab.com/libeigen/eigen/-/merge_requests/883): Adjust tolerance of matrix_power test for MSVC to reduce test failures."}}
{"#872": {"backend_improvements": "[#872](https://gitlab.com/libeigen/eigen/-/merge_requests/872): Enhanced sqrt/rsqrt for denormal handling improving performance on AVX512."}}
{"#884": {"improvements": "[#884](https://gitlab.com/libeigen/eigen/-/merge_requests/884): Removed overly strict non-convergence checks in NonLinearOptimization tests to improve flexibility and reliability."}}
{"#886": {"improvements": "[#886](https://gitlab.com/libeigen/eigen/-/merge_requests/886): Skip denormal test if `Cond` is false, enhancing test suite efficiency."}}
{"#885": {"improvements": "[#885](https://gitlab.com/libeigen/eigen/-/merge_requests/885): Fix enum conversion warnings in BooleanRedux."}}
{"#888": {"improvements": "[#888](https://gitlab.com/libeigen/eigen/-/merge_requests/888): Speed lscg by using .noalias to enhance computation speed in least squares conjugate gradient function."}}
{"#851": {"improvements": "[#851](https://gitlab.com/libeigen/eigen/-/merge_requests/851): Fixes inconsistency in JacobiSVD_LAPACKE bindings to enhance SVD module."}}
{"#887": {"improvements": "[#887](https://gitlab.com/libeigen/eigen/-/merge_requests/887): Enhanced vectorization_logic tests for platform compatibility and reliability."}}
{"#864": {"improvements": "[#864](https://gitlab.com/libeigen/eigen/-/merge_requests/864): Removed unnecessary EIGEN_UNUSED decorations to improve code clarity."}}
{"#890": {"improvements": "[#890](https://gitlab.com/libeigen/eigen/-/merge_requests/890): Removed duplicate IsRowMajor declaration to reduce compilation warnings."}}
{"#891": {"improvements": "[#891](https://gitlab.com/libeigen/eigen/-/merge_requests/891): Split and reduce SVD test sizes to optimize memory usage and improve compile times."}}
{"#893": {"improvements": "[#893](https://gitlab.com/libeigen/eigen/-/merge_requests/893): Introduces new CMake options for controlling build components."}}
{"#894": {"improvements": "[#894](https://gitlab.com/libeigen/eigen/-/merge_requests/894): Fixed tensor executor test and supported tensor packets of size 1 for better platform compatibility."}}
{"#856": {"major_features": "[#856](https://gitlab.com/libeigen/eigen/-/merge_requests/856): Add support for Apple's Accelerate sparse matrix solvers to enhance performance of sparse matrix computations."}}
{"#897": {"improvements": "[#897](https://gitlab.com/libeigen/eigen/-/merge_requests/897): Removed obsolete `copy_bool` workaround for gcc 4.3, enhancing code maintainability."}}
{"#895": {"improvements": "[#895](https://gitlab.com/libeigen/eigen/-/merge_requests/895): Introduce move constructors for SparseSolverBase and IterativeSolverBase for enhanced flexibility."}}
{"#889": {"improvements": "[#889](https://gitlab.com/libeigen/eigen/-/merge_requests/889): Introduce construct_at, destroy_at wrappers to replace placement new and explicit destructor calls, improving code clarity and safety."}}
{"#898": {"improvements": "[#898](https://gitlab.com/libeigen/eigen/-/merge_requests/898): Fix edge-case in zeta for large inputs to prevent NaNs and ensure scipy compatibility."}}
{"#896": {"improvements": "[#896](https://gitlab.com/libeigen/eigen/-/merge_requests/896): Removed ComputeCpp-specific code from SYCL Vptr to enhance compatibility and performance."}}
{"#901": {"improvements": "[#901](https://gitlab.com/libeigen/eigen/-/merge_requests/901): Fix construct_at compilation breakage on ROCm, improving compatibility with HIP environments."}}
{"#902": {"other_changes": "[#902](https://gitlab.com/libeigen/eigen/-/merge_requests/902): Temporarily disable aarch64 CI due to unavailability of Windows on Arm machines."}}
{"#900": {"improvements": "[#900](https://gitlab.com/libeigen/eigen/-/merge_requests/900): Fix swap test for size 1 inputs to enhance test reliability."}}
{"#903": {"improvements": "[#903](https://gitlab.com/libeigen/eigen/-/merge_requests/903): Convert bit calculation to constexpr, avoiding casts for readability and maintainability."}}
{"#907": {"improvements": "[#907](https://gitlab.com/libeigen/eigen/-/merge_requests/907): Enhanced PowerPC MMA flags with dynamic dispatch, improving compatibility and performance."}}
{"#910": {"other_changes": "[#910](https://gitlab.com/libeigen/eigen/-/merge_requests/910): Reverted changes to PowerPC MMA flags due to premature merge."}}
{"#909": {"improvements": "[#909](https://gitlab.com/libeigen/eigen/-/merge_requests/909): Removed outdated GCC-4 warning workarounds for a cleaner codebase."}}
{"#829": {"improvements": "[#829](https://gitlab.com/libeigen/eigen/-/merge_requests/829): Streamline codebase by replacing Eigen type metaprogramming with std types and alias templates."}}
{"#914": {"improvements": "[#914](https://gitlab.com/libeigen/eigen/-/merge_requests/914): Disabled Schur non-convergence test to improve reliability."}}
{"#834": {"backend_improvements": "[#834](https://gitlab.com/libeigen/eigen/-/merge_requests/834): AVX512 optimizations for triangular solve improve performance for fp32/fp64 operations without matrix packing."}}
{"#913": {"improvements": "[#913](https://gitlab.com/libeigen/eigen/-/merge_requests/913): Enhanced PowerPC MMA flag handling for default builds."}}
{"#915": {"improvements": "[#915](https://gitlab.com/libeigen/eigen/-/merge_requests/915): Fix missing pound directive to prevent compilation errors."}}
{"#917": {"improvements": "[#917](https://gitlab.com/libeigen/eigen/-/merge_requests/917): Implement workaround for g++-10 docker optimization issue in geo_orthomethods_4."}}
{"#919": {"other_changes": "[#919](https://gitlab.com/libeigen/eigen/-/merge_requests/919): Completed a missing parenthesis in tutorial to enhance code clarity."}}
{"#911": {"improvements": "[#911](https://gitlab.com/libeigen/eigen/-/merge_requests/911): Fix RowMajorBit <-> RowMajor mixup to enhance code robustness."}}
{"#922": {"backend_improvements": "[#922](https://gitlab.com/libeigen/eigen/-/merge_requests/922): Work around MSVC compiler bug dropping `const` in `transpose()` and `diagonal()`."}}
{"#916": {"improvements": "[#916](https://gitlab.com/libeigen/eigen/-/merge_requests/916): Updated EIGEN_ALTIVEC flags for compatibility with TensorFlow, allowing binary values and enhancing documentation."}}
{"#923": {"improvements": "[#923](https://gitlab.com/libeigen/eigen/-/merge_requests/923): Fix AVX512 builds with MSVC; improved compatibility and added comprehensive testing."}}
{"#925": {"improvements": "[#925](https://gitlab.com/libeigen/eigen/-/merge_requests/925): Fix ODR violation in trsm by marking functions as inline."}}
{"#926": {"improvements": "[#926](https://gitlab.com/libeigen/eigen/-/merge_requests/926): Fixed namespace usage to resolve compilation errors and enhance code stability."}}
{"#927": {"improvements": "[#927](https://gitlab.com/libeigen/eigen/-/merge_requests/927): Update warning suppression methods to enhance compatibility with newer compilers."}}
{"#921": {"improvements": "[#921](https://gitlab.com/libeigen/eigen/-/merge_requests/921): Optimize visitor traversal for RowMajor matrices to enhance performance by adjusting traversal methods to data layout."}}
{"#929": {"backend_improvements": "[#929](https://gitlab.com/libeigen/eigen/-/merge_requests/929): Split general_matrix_vector_product interface for Power into ColMajor and RowMajor macros to resolve TensorFlow compilation issues."}}
{"#798": {"major_features": "[#798](https://gitlab.com/libeigen/eigen/-/merge_requests/798): Introduced a NNLS solver using the active-set algorithm, enhancing the library's capabilities for non-negative least squares problems."}}
{"#918": {"improvements": "[#918](https://gitlab.com/libeigen/eigen/-/merge_requests/918): Added missing explicit reinterprets to resolve g++ build errors."}}
{"#930": {"improvements": "[#930](https://gitlab.com/libeigen/eigen/-/merge_requests/930): Added a missing typename and fixed an unused typedef warning for better GCC 9 compatibility."}}
{"#931": {"improvements": "[#931](https://gitlab.com/libeigen/eigen/-/merge_requests/931): Re-enabled Aarch64 CI pipelines to enhance testing and validation on Aarch64 architecture."}}
{"#892": {"improvements": "[#892](https://gitlab.com/libeigen/eigen/-/merge_requests/892): Added is_constant_evaluated support and improved alignment checks."}}
{"#937": {"improvements": "[#937](https://gitlab.com/libeigen/eigen/-/merge_requests/937): Eliminated warnings related to unused trace statements for cleaner compilation."}}
{"#924": {"improvements": "[#924](https://gitlab.com/libeigen/eigen/-/merge_requests/924): Disable f16c scalar conversions for MSVC to enhance compatibility."}}
{"#939": {"improvements": "[#939](https://gitlab.com/libeigen/eigen/-/merge_requests/939): Removed .cpp file inclusions in LAPACK for better code clarity."}}
{"#934": {"improvements": "[#934](https://gitlab.com/libeigen/eigen/-/merge_requests/934): Fixed order of arguments in BLAS SYRK to resolve compilation errors and enhance code correctness."}}
{"#941": {"improvements": "[#941](https://gitlab.com/libeigen/eigen/-/merge_requests/941): Modified `test_isApprox` function to handle inf/nan comparisons correctly."}}
{"#940": {"improvements": "[#940](https://gitlab.com/libeigen/eigen/-/merge_requests/940): Reintroduced std::remove* aliases to restore compatibility for third-party libraries."}}
{"#854": {"improvements": "[#854](https://gitlab.com/libeigen/eigen/-/merge_requests/854): Added Scaling function overload for vector rvalue reference to improve usability and correctness."}}
{"#904": {"improvements": "[#904](https://gitlab.com/libeigen/eigen/-/merge_requests/904): Transformed `static const` members into `constexpr` for increased performance and optimization."}}
{"#943": {"improvements": "[#943](https://gitlab.com/libeigen/eigen/-/merge_requests/943): Enhanced compile-time evaluations by converting helper functions to constexpr in XprHelper.h."}}
{"#936": {"backend_improvements": "[#936](https://gitlab.com/libeigen/eigen/-/merge_requests/936): Performance improvements in GEMM for Power architecture enhancing efficiency and speed."}}
{"#944": {"improvements": "[#944](https://gitlab.com/libeigen/eigen/-/merge_requests/944): Transitioned a metaprogramming utility to a constexpr function for improved compile-time evaluation and code usability."}}
{"#942": {"improvements": "[#942](https://gitlab.com/libeigen/eigen/-/merge_requests/942): Fixed navbar scroll issues by overriding Doxygen's `initResizable()` and adjusting TOC positioning."}}
{"#945": {"improvements": "[#945](https://gitlab.com/libeigen/eigen/-/merge_requests/945): Fixes max size expressions to ensure correct calculations and intended behavior."}}
{"#949": {"improvements": "[#949](https://gitlab.com/libeigen/eigen/-/merge_requests/949): Fix ODR issues in lapacke_helpers to enhance reliability and stability."}}
{"#948": {"backend_improvements": "[#948](https://gitlab.com/libeigen/eigen/-/merge_requests/948): Fix compatibility issues with MSVC+CUDA, enhancing compilation and reducing warnings."}}
{"#946": {"improvements": "[#946](https://gitlab.com/libeigen/eigen/-/merge_requests/946): Removed legacy macro `EIGEN_EMPTY_STRUCT_CTOR` for improved code simplicity and maintainability."}}
{"#953": {"improvements": "[#953](https://gitlab.com/libeigen/eigen/-/merge_requests/953): Fixed ambiguous DiagonalMatrix constructors by clarifying initializer list usage."}}
{"#951": {"improvements": "[#951](https://gitlab.com/libeigen/eigen/-/merge_requests/951): Fix Power GEMV order of operations in predux for MMA, optimizing performance and fixing GCC assembly issues."}}
{"#952": {"improvements": "[#952](https://gitlab.com/libeigen/eigen/-/merge_requests/952): Allow all tests to pass with `EIGEN_TEST_NO_EXPLICIT_VECTORIZATION` to improve test stability."}}
{"#959": {"backend_improvements": "[#959](https://gitlab.com/libeigen/eigen/-/merge_requests/959): Restrict AVX512 trsm to AVX512VL and rename files for consistency."}}
{"#960": {"backend_improvements": "[#960](https://gitlab.com/libeigen/eigen/-/merge_requests/960): Removed AVX512VL dependency in trsm to enhance compatibility and maintain performance."}}
{"#962": {"improvements": "[#962](https://gitlab.com/libeigen/eigen/-/merge_requests/962): Improved memory handling and performance in HouseholderSequence by eliminating unnecessary heap allocations and streamlining block logic."}}
{"#963": {"improvements": "[#963](https://gitlab.com/libeigen/eigen/-/merge_requests/963): Fix cwise NaN propagation for scalar input."}}
{"#964": {"improvements": "[#964](https://gitlab.com/libeigen/eigen/-/merge_requests/964): Fix compilation issue in HouseholderSequence.h related to InnerPanel template."}}
{"#965": {"major_features": "[#965](https://gitlab.com/libeigen/eigen/-/merge_requests/965): Add fused multiply functions for PowerPC - pmsub, pnmadd and pnmsub."}}
{"#958": {"improvements": "[#958](https://gitlab.com/libeigen/eigen/-/merge_requests/958): Fix compiler bugs for GCC 10 & 11 for Power GEMM to enhance compatibility and stability."}}
{"#966": {"improvements": "[#966](https://gitlab.com/libeigen/eigen/-/merge_requests/966): Removed need to supply the Symmetric flag to UpLo argument for Accelerate LLT and LDLT, simplifying solver usage."}}
{"#967": {"improvements": "[#967](https://gitlab.com/libeigen/eigen/-/merge_requests/967): Added load vector_pairs for GEMM MMA RHS and improved predux GEMV."}}
{"#968": {"improvements": "[#968](https://gitlab.com/libeigen/eigen/-/merge_requests/968): Made diagonal matrix cols() and rows() methods constexpr for enhanced compile-time evaluation."}}
{"#969": {"improvements": "[#969](https://gitlab.com/libeigen/eigen/-/merge_requests/969): Add `uninstall` target only if not already defined to enhance compatibility."}}
{"#356": {"major_features": "[#356](https://gitlab.com/libeigen/eigen/-/merge_requests/356): Added PocketFFT support in FFT module to improve accuracy and performance over KissFFT."}}
{"#860": {"backend_improvements": "[#860](https://gitlab.com/libeigen/eigen/-/merge_requests/860): Added AVX512 optimizations for matrix multiply enhancing large problem size performance."}}
{"#908": {"improvements": "[#908](https://gitlab.com/libeigen/eigen/-/merge_requests/908): Fixed incorrect reference code in STL_interface.hh for ata_product to enhance reliability."}}
{"#974": {"improvements": "[#974](https://gitlab.com/libeigen/eigen/-/merge_requests/974): Prevent BDCSVD crash caused by index out of bounds."}}
{"#973": {"major_features": "[#973](https://gitlab.com/libeigen/eigen/-/merge_requests/973): Introduces the .arg() method to enhance Tensor functionality."}}
{"#977": {"improvements": "[#977](https://gitlab.com/libeigen/eigen/-/merge_requests/977): Fixes BDCSVD numerical instability, enhancing robustness and reliability."}}
{"#984": {"improvements": "[#984](https://gitlab.com/libeigen/eigen/-/merge_requests/984): Unset the executable flag on specified files to improve file permission management."}}
{"#985": {"improvements": "[#985](https://gitlab.com/libeigen/eigen/-/merge_requests/985): Improve plogical_shift_* implementations and fix typo in SVE/PacketMath.h."}}
{"#983": {"backend_improvements": "[#983](https://gitlab.com/libeigen/eigen/-/merge_requests/983): Enhanced SYCL backend by extending QueueInterface for better integration with existing SYCL queues."}}
{"#980": {"improvements": "[#980](https://gitlab.com/libeigen/eigen/-/merge_requests/980): Avoid signed integer overflow in adjoint test to enhance reliability."}}
{"#975": {"improvements": "[#975](https://gitlab.com/libeigen/eigen/-/merge_requests/975): Introduces subMappers for Power GEMM packing, enhancing performance by 10%."}}
{"#982": {"improvements": "[#982](https://gitlab.com/libeigen/eigen/-/merge_requests/982): Avoid ambiguous Tensor comparison operators for C++20 compatibility."}}
{"#986": {"improvements": "[#986](https://gitlab.com/libeigen/eigen/-/merge_requests/986): Updated SYCL-2020 range handling to ensure compliance and improved parallel operation reliability."}}
{"#976": {"improvements": "[#976](https://gitlab.com/libeigen/eigen/-/merge_requests/976): Fixes incorrect LDLT results when using AutoDiffScalar with value 0, ensuring proper derivative handling."}}
{"#971": {"improvements": "[#971](https://gitlab.com/libeigen/eigen/-/merge_requests/971): Introduces R-Bidiagonalization in BDCSVD for improved performance on large matrices."}}
{"#987": {"improvements": "[#987](https://gitlab.com/libeigen/eigen/-/merge_requests/987): Fix integer shortening warnings in visitor tests."}}
{"#972": {"backend_improvements": "[#972](https://gitlab.com/libeigen/eigen/-/merge_requests/972): Add AVX512 s/dgemm optimizations for compute kernel to improve stability and performance."}}
{"#981": {"major_features": "[#981](https://gitlab.com/libeigen/eigen/-/merge_requests/981): Introduced an MKL adapter in FFT module with fixes and new library implementations."}}
{"#989": {"improvements": "[#989](https://gitlab.com/libeigen/eigen/-/merge_requests/989): Fix C++20 ambiguity of comparisons, enhancing clarity and compliance."}}
{"#988": {"backend_improvements": "[#988](https://gitlab.com/libeigen/eigen/-/merge_requests/988): Fix build issues with MSVC for AVX512 by disabling certain optimizations."}}
{"#990": {"improvements": "[#990](https://gitlab.com/libeigen/eigen/-/merge_requests/990): Introduces diagonal matrix multiplication and static initializers for zero and identity matrices."}}
{"#991": {"improvements": "[#991](https://gitlab.com/libeigen/eigen/-/merge_requests/991): Addressed ambiguous comparison warnings in C++20, improving TensorBase comparison operations."}}
{"#993": {"improvements": "[#993](https://gitlab.com/libeigen/eigen/-/merge_requests/993): Fix row vs column vector typo in Matrix class tutorial for improved clarity."}}
{"#992": {"backend_improvements": "[#992](https://gitlab.com/libeigen/eigen/-/merge_requests/992): Improved AVX512 TRSM Kernels to respect EIGEN_NO_MALLOC configuration."}}
{"#994": {"improvements": "[#994](https://gitlab.com/libeigen/eigen/-/merge_requests/994): Marked `index_remap` as `EIGEN_DEVICE_FUNC` to enhance GPU utilization in Eigen's reshaping functionality."}}
{"#995": {"improvements": "[#995](https://gitlab.com/libeigen/eigen/-/merge_requests/995): Added documentation for DiagonalBase to enhance clarity and usability."}}
{"#996": {"improvements": "[#996](https://gitlab.com/libeigen/eigen/-/merge_requests/996): SYCL-Spec compliance for kernel names to enhance compatibility with SYCL-2020 specifications."}}
{"#998": {"backend_improvements": "[#998](https://gitlab.com/libeigen/eigen/-/merge_requests/998): Fix tanh and erf to use vectorized version for EIGEN_FAST_MATH in VSX."}}
{"#997": {"backend_improvements": "[#997](https://gitlab.com/libeigen/eigen/-/merge_requests/997): AVX512 TRSM kernels use alloca for memory allocation when EIGEN_NO_MALLOC is requested, enhancing performance under memory constraints."}}
{"#999": {"improvements": "[#999](https://gitlab.com/libeigen/eigen/-/merge_requests/999): Use numext::sqrt in Householder.h to simplify custom type integration."}}
{"#1003": {"improvements": "[#1003](https://gitlab.com/libeigen/eigen/-/merge_requests/1003): Eliminate undef warnings when not compiling for AVX512 to enhance code stability."}}
{"#1001": {"improvements": "[#1001](https://gitlab.com/libeigen/eigen/-/merge_requests/1001): Skip f16/bf16 bessel specializations on AVX512 if unavailable, enhancing portability and reducing build errors."}}
{"#1002": {"improvements": "[#1002](https://gitlab.com/libeigen/eigen/-/merge_requests/1002): Fix clang-tidy warnings and reformat code for improved readability."}}
{"#1000": {"backend_improvements": "[#1000](https://gitlab.com/libeigen/eigen/-/merge_requests/1000): Enhanced GEMV performance for Power10 by optimizing load/store vector pairs."}}
{"#947": {"improvements": "[#947](https://gitlab.com/libeigen/eigen/-/merge_requests/947): Introduced partial loading and storing operations to enhance memory access and performance."}}
{"#1005": {"improvements": "[#1005](https://gitlab.com/libeigen/eigen/-/merge_requests/1005): Re-enable unit tests for device side malloc after ROCm 5.2 fix."}}
{"#1007": {"improvements": "[#1007](https://gitlab.com/libeigen/eigen/-/merge_requests/1007): Fix ODR violations by replacing unnamed type with named type, enhancing stability and clarity."}}
{"#1006": {"improvements": "[#1006](https://gitlab.com/libeigen/eigen/-/merge_requests/1006): Ensure AutoDiff module includes Core dependency for better consistency."}}
{"#1009": {"improvements": "[#1009](https://gitlab.com/libeigen/eigen/-/merge_requests/1009): Corrected Doxygen group usage to enhance documentation clarity."}}
{"#1013": {"improvements": "[#1013](https://gitlab.com/libeigen/eigen/-/merge_requests/1013): Add option to disable AVX512 GEBP kernels."}}
{"#1014": {"improvements": "[#1014](https://gitlab.com/libeigen/eigen/-/merge_requests/1014): Fix aligned_realloc to call check_that_malloc_is_allowed() if ptr == 0, enhancing memory management integrity."}}
{"#1015": {"improvements": "[#1015](https://gitlab.com/libeigen/eigen/-/merge_requests/1015): Disable AVX512 GEMM kernels by default to enhance stability and prevent segmentation faults."}}
{"#1016": {"improvements": "[#1016](https://gitlab.com/libeigen/eigen/-/merge_requests/1016): Improved Emscripten compatibility by including immintrin.h header."}}
{"#978": {"major_features": "[#978](https://gitlab.com/libeigen/eigen/-/merge_requests/978): Add Sparse Subset of Matrix Inverse using the Takahashi algorithm and Kahan Summation for efficiency and stability."}}
{"#1021": {"improvements": "[#1021](https://gitlab.com/libeigen/eigen/-/merge_requests/1021): Updated documentation for AccelerateSupport after PR 966."}}
{"#1019": {"improvements": "[#1019](https://gitlab.com/libeigen/eigen/-/merge_requests/1019): Avoid including <sstream> with EIGEN_NO_IO to enhance compatibility with embedded systems."}}
{"#1004": {"major_features": "[#1004](https://gitlab.com/libeigen/eigen/-/merge_requests/1004): Implemented true determinant calculation for QR decomposition classes."}}
{"#1011": {"backend_improvements": "[#1011](https://gitlab.com/libeigen/eigen/-/merge_requests/1011): Improved pblend AVX implementation by optimizing blendv operations for better performance."}}
{"#1020": {"improvements": "[#1020](https://gitlab.com/libeigen/eigen/-/merge_requests/1020): Enhanced ConjugateGradient to use `numext::sqrt` for compatibility with custom numeric types."}}
{"#1023": {"improvements": "[#1023](https://gitlab.com/libeigen/eigen/-/merge_requests/1023): Fix flaky packetmath_1 test for increased reliability."}}
{"#1010": {"improvements": "[#1010](https://gitlab.com/libeigen/eigen/-/merge_requests/1010): Fix inner iterator for sparse block to enhance reliability of sparse matrix operations."}}
{"#1024": {"backend_improvements": "[#1024](https://gitlab.com/libeigen/eigen/-/merge_requests/1024): Added Partial Packet support for GEMM real-only on PowerPC, fixed compilation warnings and reduced binary size."}}
{"#1025": {"improvements": "[#1025](https://gitlab.com/libeigen/eigen/-/merge_requests/1025): Fix use of Packet2d type for non-VSX to enhance portability and usability."}}
{"#1028": {"improvements": "[#1028](https://gitlab.com/libeigen/eigen/-/merge_requests/1028): Fix non-VSX PowerPC build to enhance compatibility and usability."}}
{"#1027": {"improvements": "[#1027](https://gitlab.com/libeigen/eigen/-/merge_requests/1027): Fix code and unit test for corner cases in vectorized pow() function."}}
{"#1012": {"improvements": "[#1012](https://gitlab.com/libeigen/eigen/-/merge_requests/1012): Fix vectorized Jacobi Rotation to utilize packet math vectorized version and ensure 'fixed-size' code path passes tests."}}
{"#1026": {"improvements": "[#1026](https://gitlab.com/libeigen/eigen/-/merge_requests/1026): Vectorize the sign operator to enhance performance for real types."}}
{"#1030": {"improvements": "[#1030](https://gitlab.com/libeigen/eigen/-/merge_requests/1030): Resolve compilation errors by avoiding double definitions of Half functions on aarch64 during GPU compilation."}}
{"#1031": {"improvements": "[#1031](https://gitlab.com/libeigen/eigen/-/merge_requests/1031): Eliminated bool bitwise warnings to improve code clarity and maintainability."}}
{"#1032": {"improvements": "[#1032](https://gitlab.com/libeigen/eigen/-/merge_requests/1032): Disable invalid deprecation warnings in BDCSVD class."}}
{"#1033": {"improvements": "[#1033](https://gitlab.com/libeigen/eigen/-/merge_requests/1033): Fix and enhance accuracy of SYCL tests and tensor operations."}}
{"#1035": {"improvements": "[#1035](https://gitlab.com/libeigen/eigen/-/merge_requests/1035): Removed unnecessary FP16C checks for AVX512 to enhance performance."}}
{"#1029": {"major_features": "[#1029](https://gitlab.com/libeigen/eigen/-/merge_requests/1029): Add fixed power unary operation for coefficientwise real-valued power operations on arrays."}}
{"#1017": {"major_features": "[#1017](https://gitlab.com/libeigen/eigen/-/merge_requests/1017): Add support for AVX512-FP16 for vectorizing half precision math."}}
{"#1034": {"improvements": "[#1034](https://gitlab.com/libeigen/eigen/-/merge_requests/1034): Improved `pow<double>` performance by 11-15% with a new division algorithm."}}
{"#1037": {"improvements": "[#1037](https://gitlab.com/libeigen/eigen/-/merge_requests/1037): Protect new pblend implementation with EIGEN_VECTORIZE_AVX2 to enhance robustness and compatibility."}}
{"#1039": {"improvements": "[#1039](https://gitlab.com/libeigen/eigen/-/merge_requests/1039): Fixes `psign` for unsigned integer types, enhancing robustness and correctness."}}
{"#1036": {"backend_improvements": "[#1036](https://gitlab.com/libeigen/eigen/-/merge_requests/1036): Replace malloc/free with aligned memory management in sparse classes for improved consistency."}}
{"#1044": {"improvements": "[#1044](https://gitlab.com/libeigen/eigen/-/merge_requests/1044): Added missing pointer in realloc call to improve memory management."}}
{"#1045": {"improvements": "[#1045](https://gitlab.com/libeigen/eigen/-/merge_requests/1045): Enhanced `GeneralizedEigenSolver::info()` reliability and error clarity."}}
{"#1042": {"improvements": "[#1042](https://gitlab.com/libeigen/eigen/-/merge_requests/1042): Addressed undefined behavior in `array_cwise` test caused by signed integer overflow."}}
{"#1040": {"backend_improvements": "[#1040](https://gitlab.com/libeigen/eigen/-/merge_requests/1040): Specialize psign<Packet8i> for AVX2 and avoid vectorizing psign<bool> for better performance."}}
{"#1046": {"improvements": "[#1046](https://gitlab.com/libeigen/eigen/-/merge_requests/1046): Re-enable pow function for complex types, enhancing mathematical operations in the Eigen library."}}
{"#1043": {"improvements": "[#1043](https://gitlab.com/libeigen/eigen/-/merge_requests/1043): Vectorize pow for integer base / exponent types to improve performance and robustness."}}
{"#1038": {"improvements": "[#1038](https://gitlab.com/libeigen/eigen/-/merge_requests/1038): Vectorize `acos`, `asin`, and `atan` for float with significant accuracy and performance enhancements."}}
{"#1048": {"improvements": "[#1048](https://gitlab.com/libeigen/eigen/-/merge_requests/1048): Fix test build errors related to new unary power functionality, improving compatibility and flexibility."}}
{"#1049": {"improvements": "[#1049](https://gitlab.com/libeigen/eigen/-/merge_requests/1049): Fixes two typos in the slicing tutorial documentation."}}
{"#1051": {"improvements": "[#1051](https://gitlab.com/libeigen/eigen/-/merge_requests/1051): Updated mixingtypes tests to accommodate changes in unary pow operation."}}
{"#1052": {"improvements": "[#1052](https://gitlab.com/libeigen/eigen/-/merge_requests/1052): Fixes CMake issues by adjusting benchmark builds and handling test dependencies."}}
{"#1050": {"improvements": "[#1050](https://gitlab.com/libeigen/eigen/-/merge_requests/1050): Add asserts for index-out-of-bounds in IndexedView to enhance error checking and prevent runtime errors."}}
{"#1053": {"improvements": "[#1053](https://gitlab.com/libeigen/eigen/-/merge_requests/1053): Fixed MSVC compilation error in GeneralizedEigenSolver.h by adding missing semi-colon."}}
{"#1054": {"other_changes": "[#1054](https://gitlab.com/libeigen/eigen/-/merge_requests/1054): Fix typo in doc/TutorialSparse.dox to improve documentation clarity."}}
{"#1055": {"backend_improvements": "[#1055](https://gitlab.com/libeigen/eigen/-/merge_requests/1055): Call check_that_malloc_is_allowed() in aligned_realloc() to enhance memory management robustness."}}
{"#1056": {"improvements": "[#1056](https://gitlab.com/libeigen/eigen/-/merge_requests/1056): Reduce compiler warnings for tests, leading to cleaner build output."}}
{"#1057": {"improvements": "[#1057](https://gitlab.com/libeigen/eigen/-/merge_requests/1057): Adjusted overflow threshold bounds for pow function tests to enhance CI pipeline reliability."}}
{"#899": {"improvements": "[#899](https://gitlab.com/libeigen/eigen/-/merge_requests/899): Introduced C++14 `constexpr` support for `Map`s and basic operations, enhancing compile-time capabilities."}}
{"#1058": {"backend_improvements": "[#1058](https://gitlab.com/libeigen/eigen/-/merge_requests/1058): Add missing comparison operators for GPU packets to resolve build issues with CUDA."}}
{"#1061": {"improvements": "[#1061](https://gitlab.com/libeigen/eigen/-/merge_requests/1061): Tweak bound for pow to account for floating-point types, improving reliability and fixing specific failures."}}
{"#1060": {"improvements": "[#1060](https://gitlab.com/libeigen/eigen/-/merge_requests/1060): Fix realloc for non-trivial types to enhance stability in memory handling."}}
{"#1047": {"major_features": "[#1047](https://gitlab.com/libeigen/eigen/-/merge_requests/1047): Introduces a skew symmetric matrix class for 3D vectors using Rodrigues' rotation formula."}}
{"#1064": {"improvements": "[#1064](https://gitlab.com/libeigen/eigen/-/merge_requests/1064): Fix g++-6 constexpr and C++20 build errors for better compliance."}}
{"#1065": {"backend_improvements": "[#1065](https://gitlab.com/libeigen/eigen/-/merge_requests/1065): Fix for sparse matrix related breakage on ROCm."}}
{"#1063": {"improvements": "[#1063](https://gitlab.com/libeigen/eigen/-/merge_requests/1063): Address issues with unary pow() to enhance type safety and correctness."}}
{"#1069": {"improvements": "[#1069](https://gitlab.com/libeigen/eigen/-/merge_requests/1069): Removed faulty skew_symmetric_matrix3 test to improve test robustness and mitigate potential msan errors."}}
{"#1066": {"improvements": "[#1066](https://gitlab.com/libeigen/eigen/-/merge_requests/1066): Allow mixed types for pow() if exponent is exactly representable in base type."}}
{"#1070": {"improvements": "[#1070](https://gitlab.com/libeigen/eigen/-/merge_requests/1070): Fix test for pow with mixed integer types to prevent unintended conversions."}}
{"#1073": {"backend_improvements": "[#1073](https://gitlab.com/libeigen/eigen/-/merge_requests/1073): Add AVX int32_t pdiv for enhanced performance in integer division."}}
{"#1074": {"other_changes": "[#1074](https://gitlab.com/libeigen/eigen/-/merge_requests/1074): Revert addition of C++14 constexpr support to restore stability and compatibility."}}
{"#1077": {"improvements": "[#1077](https://gitlab.com/libeigen/eigen/-/merge_requests/1077): Addressed unused-result warning in ROCm integration related to gpuGetDevice."}}
{"#1076": {"backend_improvements": "[#1076](https://gitlab.com/libeigen/eigen/-/merge_requests/1076): Add vectorized integer division for int32 with AVX512, AVX or SSE, enhancing performance."}}
{"#1018": {"backend_improvements": "[#1018](https://gitlab.com/libeigen/eigen/-/merge_requests/1018): Optimized gebp_kernel for arm64-neon using 3px8/2px8/1px8, improving performance through better register usage."}}
{"#1078": {"improvements": "[#1078](https://gitlab.com/libeigen/eigen/-/merge_requests/1078): Add macro to optimize GEBP kernel for NEON architecture."}}
{"#1080": {"improvements": "[#1080](https://gitlab.com/libeigen/eigen/-/merge_requests/1080): Remove unused typedef to enhance code clarity and maintainability."}}
{"#1079": {"improvements": "[#1079](https://gitlab.com/libeigen/eigen/-/merge_requests/1079): Reduce compilation time/memory for GEBP kernel using EIGEN_IF_CONSTEXPR."}}
{"#1083": {"improvements": "[#1083](https://gitlab.com/libeigen/eigen/-/merge_requests/1083): Reduces memory footprint of GEBP kernel for non-ARM targets to improve MSVC build performance."}}
{"#1082": {"major_features": "[#1082](https://gitlab.com/libeigen/eigen/-/merge_requests/1082): Add a vectorized implementation of atan2 for enhanced performance in Eigen."}}
{"#1084": {"improvements": "[#1084](https://gitlab.com/libeigen/eigen/-/merge_requests/1084): Vectorize atan() for double to enhance performance and accuracy."}}
{"#1086": {"backend_improvements": "[#1086](https://gitlab.com/libeigen/eigen/-/merge_requests/1086): Conditional vectorization of atan<double> for Altivec only if VSX is available."}}
{"#1085": {"improvements": "[#1085](https://gitlab.com/libeigen/eigen/-/merge_requests/1085): Fix 4x4 inverse issues when using -Ofast compilation."}}
{"#1088": {"improvements": "[#1088](https://gitlab.com/libeigen/eigen/-/merge_requests/1088): Replaced `assert` with `eigen_assert` for consistency and configurability."}}
{"#1089": {"improvements": "[#1089](https://gitlab.com/libeigen/eigen/-/merge_requests/1089): Unconditionally enable CXX11 math across the Eigen library to enhance compatibility and consistency."}}
{"#1087": {"improvements": "[#1087](https://gitlab.com/libeigen/eigen/-/merge_requests/1087): Introduced a refined range reduction strategy for `atan<float>()` improving performance by 20-40% on x86 architectures."}}
{"#1091": {"improvements": "[#1091](https://gitlab.com/libeigen/eigen/-/merge_requests/1091): Enhance AttributeMacros with new macros for better clang-format compatibility."}}
{"#1092": {"improvements": "[#1092](https://gitlab.com/libeigen/eigen/-/merge_requests/1092): Removed references to M_PI_2 and M_PI_4 to improve code clarity and portability."}}
{"#1093": {"improvements": "[#1093](https://gitlab.com/libeigen/eigen/-/merge_requests/1093): Enhanced handling of NaN inputs in atan2 function to improve reliability."}}
{"#1094": {"improvements": "[#1094](https://gitlab.com/libeigen/eigen/-/merge_requests/1094): Fix warnings -Wunused-but-set-variable in Eigen/Sparse for improved code cleanliness."}}
{"#1075": {"backend_improvements": "[#1075](https://gitlab.com/libeigen/eigen/-/merge_requests/1075): Optimized sign function for complex numbers by using generic implementation only when vectorizable."}}
{"#1095": {"improvements": "[#1095](https://gitlab.com/libeigen/eigen/-/merge_requests/1095): Refactor special values test for pow and add similar test for atan2 to enhance coverage."}}
{"#1096": {"improvements": "[#1096](https://gitlab.com/libeigen/eigen/-/merge_requests/1096): Fix bug in `atan2` function for better cross-platform compatibility."}}
{"#1099": {"improvements": "[#1099](https://gitlab.com/libeigen/eigen/-/merge_requests/1099): Clarified that indices must be sorted in documentation."}}
{"#1101": {"improvements": "[#1101](https://gitlab.com/libeigen/eigen/-/merge_requests/1101): Modify memory functions to use 1-byte offset for improved alignment handling."}}
{"#1105": {"improvements": "[#1105](https://gitlab.com/libeigen/eigen/-/merge_requests/1105): Fix pragma check for disabling fastmath to enhance reliability and numerical stability."}}
{"#1102": {"improvements": "[#1102](https://gitlab.com/libeigen/eigen/-/merge_requests/1102): Added assert to validate outer index array size in SparseMapBase."}}
{"#1106": {"improvements": "[#1106](https://gitlab.com/libeigen/eigen/-/merge_requests/1106): Fixes offset computation in handmade_aligned_malloc to reduce compiler warnings and improve memory safety."}}
{"#1107": {"improvements": "[#1107](https://gitlab.com/libeigen/eigen/-/merge_requests/1107): Disabled patan for double precision on PPC to fix build issues."}}
{"#1100": {"improvements": "[#1100](https://gitlab.com/libeigen/eigen/-/merge_requests/1100): Enabled resizing of dynamic empty matrices to enhance flexibility and accuracy."}}
{"#1110": {"improvements": "[#1110](https://gitlab.com/libeigen/eigen/-/merge_requests/1110): Remove unused parameter name to enhance code readability and maintainability."}}
{"#1109": {"improvements": "[#1109](https://gitlab.com/libeigen/eigen/-/merge_requests/1109): Removed an unnecessary assert in SparseMapBase to allow flexibility in sparse matrix population."}}
{"#1097": {"major_features": "[#1097](https://gitlab.com/libeigen/eigen/-/merge_requests/1097): Introduced a `signbit` function to efficiently determine the sign of floating point values."}}
{"#1111": {"backend_improvements": "[#1111](https://gitlab.com/libeigen/eigen/-/merge_requests/1111): Fixed Neon vectorization issues to enhance ARM performance and compatibility."}}
{"#1112": {"improvements": "[#1112](https://gitlab.com/libeigen/eigen/-/merge_requests/1112): Fixes a typo in CholmodSupport for improved code readability."}}
{"#1118": {"improvements": "[#1118](https://gitlab.com/libeigen/eigen/-/merge_requests/1118): Fix ambiguity in PPC for vec_splats call by clarifying type usage."}}
{"#1119": {"improvements": "[#1119](https://gitlab.com/libeigen/eigen/-/merge_requests/1119): Implement bracket notation for unsigned type names to enhance code clarity and consistency."}}
{"#1116": {"improvements": "[#1116](https://gitlab.com/libeigen/eigen/-/merge_requests/1116): Corrected handling of floating-point zero in pnegate function by directly flipping the sign bit."}}
{"#1098": {"major_features": "[#1098](https://gitlab.com/libeigen/eigen/-/merge_requests/1098): Implemented cross product for 2D vectors, enriching calculations."}}
{"#1113": {"improvements": "[#1113](https://gitlab.com/libeigen/eigen/-/merge_requests/1113): Fix duplicate execution code for Power 8 Altivec in pstore_partial."}}
{"#1115": {"backend_improvements": "[#1115](https://gitlab.com/libeigen/eigen/-/merge_requests/1115): Fixed a bug in the AVX2 implementation of `psignbit`, improving reliability and correctness."}}
{"#1117": {"improvements": "[#1117](https://gitlab.com/libeigen/eigen/-/merge_requests/1117): Minor improvements to IDRS.h for code cleanliness and readability."}}
{"#1120": {"improvements": "[#1120](https://gitlab.com/libeigen/eigen/-/merge_requests/1120): Fix bug in handmade_aligned_realloc to enhance memory management and prevent undefined behavior."}}
{"#1121": {"improvements": "[#1121](https://gitlab.com/libeigen/eigen/-/merge_requests/1121): Add serialization for sparse matrix and sparse vector."}}
{"#1122": {"improvements": "[#1122](https://gitlab.com/libeigen/eigen/-/merge_requests/1122): Fix compiler warnings in test files to improve code quality and maintainability."}}
{"#1125": {"improvements": "[#1125](https://gitlab.com/libeigen/eigen/-/merge_requests/1125): Introduce synchronize method to all devices to enhance flexibility and testing."}}
{"#1124": {"improvements": "[#1124](https://gitlab.com/libeigen/eigen/-/merge_requests/1124): Fix sparseLU solver to handle destinations with non-unit stride."}}
{"#1114": {"improvements": "[#1114](https://gitlab.com/libeigen/eigen/-/merge_requests/1114): Modified BiCGSTAB parameters initialization to support custom types."}}
{"#1123": {"improvements": "[#1123](https://gitlab.com/libeigen/eigen/-/merge_requests/1123): Fix reshape strides when input has non-zero inner stride."}}
{"#1127": {"improvements": "[#1127](https://gitlab.com/libeigen/eigen/-/merge_requests/1127): Fix serialization and enhance robustness for non-compressed matrices."}}
{"#1008": {"backend_improvements": "[#1008](https://gitlab.com/libeigen/eigen/-/merge_requests/1008): Add support for Power10 (AltiVec) MMA instructions for bfloat16 to enhance performance."}}
{"#1104": {"backend_improvements": "[#1104](https://gitlab.com/libeigen/eigen/-/merge_requests/1104): Fix NEON instruction bug for half data type in 'fmla' function."}}
{"#1103": {"major_features": "[#1103](https://gitlab.com/libeigen/eigen/-/merge_requests/1103): Introduced a utility to sort inner vectors of sparse matrices using a customizable comparison function, enhancing sparse algorithm performance."}}
{"#1130": {"improvements": "[#1130](https://gitlab.com/libeigen/eigen/-/merge_requests/1130): Fix index type for sparse index sorting."}}
{"#1131": {"backend_improvements": "[#1131](https://gitlab.com/libeigen/eigen/-/merge_requests/1131): Increased L2 and L3 cache sizes for Power10 to boost performance."}}
{"#1128": {"improvements": "[#1128](https://gitlab.com/libeigen/eigen/-/merge_requests/1128): Enable direct access for NestByValue to enhance performance."}}
{"#1129": {"backend_improvements": "[#1129](https://gitlab.com/libeigen/eigen/-/merge_requests/1129): Add BDCSVD_LAPACKE binding for improved SVD computations using LAPACKE."}}
{"#1133": {"major_features": "[#1133](https://gitlab.com/libeigen/eigen/-/merge_requests/1133): Introduced `setEqualSpaced` for vectorized creation of equally spaced vectors."}}
{"#1134": {"improvements": "[#1134](https://gitlab.com/libeigen/eigen/-/merge_requests/1134): Optimize `equalspace` packet operation for improved performance and efficiency."}}
{"#1090": {"improvements": "[#1090](https://gitlab.com/libeigen/eigen/-/merge_requests/1090): Allow std::initializer_list constructors in constexpr expressions for enhanced usability and compatibility with modern C++."}}
{"#1135": {"improvements": "[#1135](https://gitlab.com/libeigen/eigen/-/merge_requests/1135): Enhanced compatibility by removing std::raise() dependency for handling divide by zero."}}
{"#1137": {"improvements": "[#1137](https://gitlab.com/libeigen/eigen/-/merge_requests/1137): Replaced std::signbit with numext::signbit for bfloat16 compatibility."}}
{"#1138": {"improvements": "[#1138](https://gitlab.com/libeigen/eigen/-/merge_requests/1138): Update test framework for `numext::signbit` to enhance reliability and accuracy."}}
{"#1139": {"improvements": "[#1139](https://gitlab.com/libeigen/eigen/-/merge_requests/1139): Added operators to `CompressedStorageIterator` to enhance functionality and usability."}}
{"#1141": {"backend_improvements": "[#1141](https://gitlab.com/libeigen/eigen/-/merge_requests/1141): Enable NEON pabs for unsigned int types to enhance performance of absolute value operations."}}
{"#1143": {"other_changes": "[#1143](https://gitlab.com/libeigen/eigen/-/merge_requests/1143): Revert changes to type handling in CompressedStorage.h to restore previous functionality."}}
{"#1142": {"backend_improvements": "[#1142](https://gitlab.com/libeigen/eigen/-/merge_requests/1142): Fix incorrect NEON native fp16 multiplication."}}
{"#1144": {"improvements": "[#1144](https://gitlab.com/libeigen/eigen/-/merge_requests/1144): Fix up C++ version detection macros and cmake tests to enhance compatibility and stabilize CI."}}
{"#1146": {"backend_improvements": "[#1146](https://gitlab.com/libeigen/eigen/-/merge_requests/1146): Enable NEON pcmp, plset, and complex psqrt for enhanced NEON support and performance."}}
{"#1145": {"improvements": "[#1145](https://gitlab.com/libeigen/eigen/-/merge_requests/1145): Adjust thresholds for bfloat16 product tests to enhance reliability."}}
{"#1140": {"improvements": "[#1140](https://gitlab.com/libeigen/eigen/-/merge_requests/1140): Updated SparseLU for enhanced compatibility and fixed initialization bug."}}
{"#1149": {"improvements": "[#1149](https://gitlab.com/libeigen/eigen/-/merge_requests/1149): Fix `git add .` to include scripts/buildtests.in by modifying .gitignore."}}
{"#1151": {"improvements": "[#1151](https://gitlab.com/libeigen/eigen/-/merge_requests/1151): Fix EIGEN_HAS_CXX17_OVERALIGN for icc to enhance compatibility with Intel C++ Compiler."}}
{"#1155": {"improvements": "[#1155](https://gitlab.com/libeigen/eigen/-/merge_requests/1155): Fix overalign check to enhance compiler compatibility."}}
{"#1156": {"improvements": "[#1156](https://gitlab.com/libeigen/eigen/-/merge_requests/1156): Fix minor build and test issues for better reliability and performance."}}
{"#1153": {"backend_improvements": "[#1153](https://gitlab.com/libeigen/eigen/-/merge_requests/1153): Fix guard macros for emulated FP16 operators on GPU to improve compatibility with CUDA."}}
{"#1154": {"backend_improvements": "[#1154](https://gitlab.com/libeigen/eigen/-/merge_requests/1154): Improve performance for Power10 MMA bfloat16 GEMM with significant speed enhancements."}}
{"#1158": {"improvements": "[#1158](https://gitlab.com/libeigen/eigen/-/merge_requests/1158): Clarified spbenchsolver help message to improve naming conventions for SPD matrices and rhs files."}}
{"#1147": {"improvements": "[#1147](https://gitlab.com/libeigen/eigen/-/merge_requests/1147): Overhauled Sparse Core to enhance performance and maintainability of sparse matrix operations."}}
{"#1159": {"improvements": "[#1159](https://gitlab.com/libeigen/eigen/-/merge_requests/1159): Re-introduced missing header for GPU tests to restore functionality."}}
{"#1161": {"improvements": "[#1161](https://gitlab.com/libeigen/eigen/-/merge_requests/1161): Fix compilation error due to unused parameter 'tmp' on clang/32-bit ARM."}}
{"#1160": {"improvements": "[#1160](https://gitlab.com/libeigen/eigen/-/merge_requests/1160): Improved insert strategy for compressed sparse matrices to enhance performance and reduce reallocations."}}
{"#1152": {"major_features": "[#1152](https://gitlab.com/libeigen/eigen/-/merge_requests/1152): Add template for QR permutation index type and fix ColPivHouseholderQR Lapacke bindings."}}
{"#1150": {"backend_improvements": "[#1150](https://gitlab.com/libeigen/eigen/-/merge_requests/1150): Altivec fixes for Darwin to avoid unsupported VSX instructions on older PowerPC CPUs."}}
{"#1162": {"improvements": "[#1162](https://gitlab.com/libeigen/eigen/-/merge_requests/1162): Rollback QR changes to fix build error related to `StorageIndex` conflicts."}}
{"#1167": {"improvements": "[#1167](https://gitlab.com/libeigen/eigen/-/merge_requests/1167): Avoid move assignment in ColPivHouseholderQR to enhance stability and compatibility with compilers."}}
{"#1165": {"improvements": "[#1165](https://gitlab.com/libeigen/eigen/-/merge_requests/1165): Added missing EIGEN_DEVICE_FUNC in assertions and improved code robustness."}}
{"#1164": {"improvements": "[#1164](https://gitlab.com/libeigen/eigen/-/merge_requests/1164): Enhance performance of sparse permutations by reducing memory allocations and optimizing data handling."}}
{"#1168": {"improvements": "[#1168](https://gitlab.com/libeigen/eigen/-/merge_requests/1168): Introduce thread-local storage for is_malloc_allowed() to enhance safety in multi-threaded applications."}}
{"#1126": {"backend_improvements": "[#1126](https://gitlab.com/libeigen/eigen/-/merge_requests/1126): Enabled Intel DPCPP Compiler support for Eigen's SYCL backend to enhance compatibility with SYCL-2020 features."}}
{"#1136": {"improvements": "[#1136](https://gitlab.com/libeigen/eigen/-/merge_requests/1136): Review and cleanup of compiler version checks to enhance readability and maintainability."}}
{"#1169": {"improvements": "[#1169](https://gitlab.com/libeigen/eigen/-/merge_requests/1169): Replace deprecated `$<CONFIGURATION>` with `$<CONFIG>` for CMake compliance."}}
{"#1166": {"improvements": "[#1166](https://gitlab.com/libeigen/eigen/-/merge_requests/1166): Introduces custom ODR-safe assert to enhance C++20 module compatibility."}}
{"#1170": {"improvements": "[#1170](https://gitlab.com/libeigen/eigen/-/merge_requests/1170): Enhanced sparse matrix insertion and memory management, improving performance and efficiency."}}
{"#1172": {"improvements": "[#1172](https://gitlab.com/libeigen/eigen/-/merge_requests/1172): Refactored SparseMatrix for improved code consistency and readability."}}
{"#1173": {"other_changes": "[#1173](https://gitlab.com/libeigen/eigen/-/merge_requests/1173): Revert changes to QR tests to restore original functionality and maintain compatibility."}}
{"#1174": {"backend_improvements": "[#1174](https://gitlab.com/libeigen/eigen/-/merge_requests/1174): Improve performance of bfloat16 MMA when dimensions are not multiples of 8 or 4."}}
{"#1175": {"improvements": "[#1175](https://gitlab.com/libeigen/eigen/-/merge_requests/1175): Improved corner case handling and efficiency of `atan2` function, added to `numext` namespace, and fixed a bug in tests."}}
{"#1179": {"improvements": "[#1179](https://gitlab.com/libeigen/eigen/-/merge_requests/1179): Disabled vectorized rsqrt to ensure consistency with generic version."}}
{"#1181": {"improvements": "[#1181](https://gitlab.com/libeigen/eigen/-/merge_requests/1181): Fix bugs exposed by enabling GPU asserts and enhance GPU computation reliability."}}
{"#1178": {"improvements": "[#1178](https://gitlab.com/libeigen/eigen/-/merge_requests/1178): Fix sparse warnings to enhance code stability and reliability."}}
{"#1176": {"improvements": "[#1176](https://gitlab.com/libeigen/eigen/-/merge_requests/1176): Optimize mathematical packet operations for better accuracy and performance."}}
{"#1180": {"improvements": "[#1180](https://gitlab.com/libeigen/eigen/-/merge_requests/1180): Fixed critical sparse bugs with outerSize == 0 to enhance stability and prevent segmentation faults."}}
{"#1184": {"backend_improvements": "[#1184](https://gitlab.com/libeigen/eigen/-/merge_requests/1184): Fix bugs in pcmp_lt and pnegate, reactivate psqrt for pre-POWER8_VECTOR."}}
{"#1183": {"improvements": "[#1183](https://gitlab.com/libeigen/eigen/-/merge_requests/1183): Fix undefined behavior in Block access, eliminating UBSan errors."}}
{"#1185": {"improvements": "[#1185](https://gitlab.com/libeigen/eigen/-/merge_requests/1185): Enhanced robustness of the `atan2` function for compatibility with TensorFlow using Clang."}}
{"#1186": {"improvements": "[#1186](https://gitlab.com/libeigen/eigen/-/merge_requests/1186): Updated ForwardDeclarations.h for improved clarity and maintainability."}}
{"#1188": {"improvements": "[#1188](https://gitlab.com/libeigen/eigen/-/merge_requests/1188): Reverted StlIterators edit to address concerns about undefined behavior."}}
{"#1190": {"improvements": "[#1190](https://gitlab.com/libeigen/eigen/-/merge_requests/1190): Use VERIFY_IS_EQUAL for zero comparisons to enhance code consistency."}}
{"#1191": {"improvements": "[#1191](https://gitlab.com/libeigen/eigen/-/merge_requests/1191): Improved LAPACKE configuration for better compatibility and complex type management."}}
{"#1192": {"improvements": "[#1192](https://gitlab.com/libeigen/eigen/-/merge_requests/1192): Enhanced EIGEN_DEVICE_FUNC compatibility for CUDA 10/11/12 and cleaned up warnings."}}
{"#1189": {"improvements": "[#1189](https://gitlab.com/libeigen/eigen/-/merge_requests/1189): Improved compatibility of SkewSymmetric<?> with CUDA by adding EIGEN_DEVICE_FUNC qualifiers."}}
{"#1198": {"improvements": "[#1198](https://gitlab.com/libeigen/eigen/-/merge_requests/1198): Optimized Power module by replacing eigen_asserts with eigen_internal_asserts to reduce runtime overhead in release builds."}}
{"#1197": {"improvements": "[#1197](https://gitlab.com/libeigen/eigen/-/merge_requests/1197): Remove LGPL code to ensure MPL2 compatibility and simplify licensing."}}
{"#1200": {"improvements": "[#1200](https://gitlab.com/libeigen/eigen/-/merge_requests/1200): Removed custom implementations of equal_to and not_equal_no, leveraging C++14 capabilities."}}
{"#1199": {"improvements": "[#1199](https://gitlab.com/libeigen/eigen/-/merge_requests/1199): Add IWYU export pragmas to top-level headers to enhance compatibility with tooling like clang-tidy."}}
{"#1202": {"backend_improvements": "[#1202](https://gitlab.com/libeigen/eigen/-/merge_requests/1202): Fix MSVC ARM build by resolving macro complications and improving vector type handling."}}
{"#1206": {"improvements": "[#1206](https://gitlab.com/libeigen/eigen/-/merge_requests/1206): Update ColPivHouseholderQR_LAPACKE.h to enhance type handling for LAPACK operations involving complex numbers."}}
{"#1207": {"backend_improvements": "[#1207](https://gitlab.com/libeigen/eigen/-/merge_requests/1207): Optimize psign for better performance in floating point operations."}}
{"#1201": {"improvements": "[#1201](https://gitlab.com/libeigen/eigen/-/merge_requests/1201): Fix ODR violation with `gemm_extra_cols` on PPC to prevent crashes and enhance stability."}}
{"#1208": {"improvements": "[#1208](https://gitlab.com/libeigen/eigen/-/merge_requests/1208): Revert ODR changes and inline gemm functions to improve efficiency."}}
{"#1210": {"backend_improvements": "[#1210](https://gitlab.com/libeigen/eigen/-/merge_requests/1210): Optimized bfloat16 MMA GEMM for improved performance with an additional MMA accumulator."}}
{"#1209": {"improvements": "[#1209](https://gitlab.com/libeigen/eigen/-/merge_requests/1209): Introduced functionality to print diagonal matrix expressions directly, enhancing debugging and efficiency."}}
{"#1212": {"improvements": "[#1212](https://gitlab.com/libeigen/eigen/-/merge_requests/1212): Disable array BF16 to F32 conversions in Power architecture to enhance stability and efficiency."}}
{"#1213": {"improvements": "[#1213](https://gitlab.com/libeigen/eigen/-/merge_requests/1213): Fix compiler warnings to enhance code quality and maintainability."}}
{"#1214": {"backend_improvements": "[#1214](https://gitlab.com/libeigen/eigen/-/merge_requests/1214): Optimize BF16 to F32 array conversions on Power architectures by reducing vector instructions."}}
{"#1215": {"improvements": "[#1215](https://gitlab.com/libeigen/eigen/-/merge_requests/1215): Fix compiler warnings in tests to enhance code stability and maintainability."}}
{"#1216": {"improvements": "[#1216](https://gitlab.com/libeigen/eigen/-/merge_requests/1216): Fix typo in NEON make_packet2f return value to enhance correctness."}}
{"#1218": {"improvements": "[#1218](https://gitlab.com/libeigen/eigen/-/merge_requests/1218): Implements a correction in MSVC's `atan2` for consistency with the POSIX spec."}}
{"#1220": {"improvements": "[#1220](https://gitlab.com/libeigen/eigen/-/merge_requests/1220): Resolved GCC compile issues and fixed preinterpret stack overflow in NEON packetmath."}}
{"#1219": {"improvements": "[#1219](https://gitlab.com/libeigen/eigen/-/merge_requests/1219): Optimizations for `pasin_float` and error handling fixes for `psqrt_complex`."}}
{"#1211": {"major_features": "[#1211](https://gitlab.com/libeigen/eigen/-/merge_requests/1211): Introduced `CArg` for vectorized complex argument calculations in Eigen."}}
{"#1221": {"improvements": "[#1221](https://gitlab.com/libeigen/eigen/-/merge_requests/1221): Guard complex sqrt on old MSVC compilers to enhance compatibility."}}
{"#1222": {"improvements": "[#1222](https://gitlab.com/libeigen/eigen/-/merge_requests/1222): Fix epsilon value in long double for double doubles to improve algorithm convergence on PPC."}}
{"#1224": {"backend_improvements": "[#1224](https://gitlab.com/libeigen/eigen/-/merge_requests/1224): Add and enable Packet int divide for Power10 to enhance performance."}}
{"#1203": {"major_features": "[#1203](https://gitlab.com/libeigen/eigen/-/merge_requests/1203): Introduces typed logical operators, enabling full vectorization and improved handling of logical operations across scalar types."}}
{"#1223": {"improvements": "[#1223](https://gitlab.com/libeigen/eigen/-/merge_requests/1223): Vectorize atanh, add atan<half> definition, and unit tests for atan."}}
{"#1226": {"improvements": "[#1226](https://gitlab.com/libeigen/eigen/-/merge_requests/1226): Use pmsub in twoprod to improve pow() performance by ~1% on Skylake."}}
{"#1227": {"backend_improvements": "[#1227](https://gitlab.com/libeigen/eigen/-/merge_requests/1227): Fixed null placeholder accessor issue in Reduction SYCL test for DPC++ compliance."}}
{"#1229": {"improvements": "[#1229](https://gitlab.com/libeigen/eigen/-/merge_requests/1229): Fix MSAN failures in SVD tests by initializing matrix entries to improve test robustness."}}
{"#1230": {"improvements": "[#1230](https://gitlab.com/libeigen/eigen/-/merge_requests/1230): Removed EIGEN_HAS_AVX512_MATH workaround to simplify code and improve compatibility."}}
{"#1228": {"improvements": "[#1228](https://gitlab.com/libeigen/eigen/-/merge_requests/1228): Enhanced compatibility on Power architecture by fixing `vec_div` issues across compiler versions."}}
{"#1232": {"backend_improvements": "[#1232](https://gitlab.com/libeigen/eigen/-/merge_requests/1232): Guard use of long double on GPU device to reduce warnings and prevent duplicate symbols."}}
{"#1196": {"improvements": "[#1196](https://gitlab.com/libeigen/eigen/-/merge_requests/1196): Enhance vectorized comparisons with typed comparison support for performance boost."}}
{"#1235": {"backend_improvements": "[#1235](https://gitlab.com/libeigen/eigen/-/merge_requests/1235): Fix ODR issues with Intel's AVX512 TRSM kernels to enhance linkage and performance."}}
{"#1237": {"backend_improvements": "[#1237](https://gitlab.com/libeigen/eigen/-/merge_requests/1237): Fix gpu conv3d out-of-resources failure by enhancing internal variable handling."}}
{"#1239": {"improvements": "[#1239](https://gitlab.com/libeigen/eigen/-/merge_requests/1239): Improve test reliability for NEON integer shift operations by handling zero argument cases."}}
{"#1240": {"breaking_changes": "[#1240](https://gitlab.com/libeigen/eigen/-/merge_requests/1240): Revert comparison overloads to return bool array and add cwiseTypedLesser for typed comparisons."}}
{"#1236": {"backend_improvements": "[#1236](https://gitlab.com/libeigen/eigen/-/merge_requests/1236): Added partial linear access for LHS & Output, achieving 30% faster bfloat16 GEMM MMA (Power)."}}
{"#1243": {"improvements": "[#1243](https://gitlab.com/libeigen/eigen/-/merge_requests/1243): Fixes tensor comparison test to ensure accurate results."}}
{"#1242": {"improvements": "[#1242](https://gitlab.com/libeigen/eigen/-/merge_requests/1242): Improves memory allocation efficiency during tridiagonalization in eigenvector computation."}}
{"#1233": {"improvements": "[#1233](https://gitlab.com/libeigen/eigen/-/merge_requests/1233): Vectorize `any()` and `all()` in `DenseBase`, enhancing performance and flexibility for large matrix operations."}}
{"#1241": {"improvements": "[#1241](https://gitlab.com/libeigen/eigen/-/merge_requests/1241): Ensure CMAKE_* cache variables are set only for top-level projects to prevent build setting modifications."}}
{"#1245": {"improvements": "[#1245](https://gitlab.com/libeigen/eigen/-/merge_requests/1245): Modify failing cwise test to ensure it passes by using `.abs()` to avoid overflow issues."}}
{"#1244": {"major_features": "[#1244](https://gitlab.com/libeigen/eigen/-/merge_requests/1244): Introduce permutation index specification for PartialPivLU and FullPivLU, enhancing compatibility with Lapacke ILP64."}}
{"#1248": {"improvements": "[#1248](https://gitlab.com/libeigen/eigen/-/merge_requests/1248): Fix typo in LinAlgSVD example code to ensure successful compilation and correct output."}}
{"#1250": {"improvements": "[#1250](https://gitlab.com/libeigen/eigen/-/merge_requests/1250): Replaced 'Lesser' with 'Less' for consistency and clarity."}}
{"#1251": {"improvements": "[#1251](https://gitlab.com/libeigen/eigen/-/merge_requests/1251): Added a newline to end of file to align with coding standards."}}
{"#1252": {"improvements": "[#1252](https://gitlab.com/libeigen/eigen/-/merge_requests/1252): Work around compiler bug in Tridiagonalization.h to enhance robustness."}}
{"#1253": {"backend_improvements": "[#1253](https://gitlab.com/libeigen/eigen/-/merge_requests/1253): Streamline packetmath specializations for various backends using a macro to enhance readability and maintainability."}}
{"#1249": {"backend_improvements": "[#1249](https://gitlab.com/libeigen/eigen/-/merge_requests/1249): Fix failing MSVC tests by replacing `*_set1_*` intrinsics to ensure consistency."}}
{"#1254": {"improvements": "[#1254](https://gitlab.com/libeigen/eigen/-/merge_requests/1254): Make Select implementation backwards compatible to ensure stability with older versions."}}
{"#1256": {"improvements": "[#1256](https://gitlab.com/libeigen/eigen/-/merge_requests/1256): Fix bug in minmax_coeff_visitor for matrix of all NaNs to enhance robustness."}}
{"#1255": {"backend_improvements": "[#1255](https://gitlab.com/libeigen/eigen/-/merge_requests/1255): Added MMA to BF16 GEMV for Power, achieving 5.0-6.3X speedup."}}
{"#1257": {"improvements": "[#1257](https://gitlab.com/libeigen/eigen/-/merge_requests/1257): Align handling of PropagateFast with PropagateNaN in minmax visitor."}}
{"#1258": {"backend_improvements": "[#1258](https://gitlab.com/libeigen/eigen/-/merge_requests/1258): Revert changes causing register spillage in BF16 GEMM for LLVM (Power), improving performance."}}
{"#1259": {"improvements": "[#1259](https://gitlab.com/libeigen/eigen/-/merge_requests/1259): Reintroduced and added deadcode checks to enhance code quality."}}
{"#1262": {"improvements": "[#1262](https://gitlab.com/libeigen/eigen/-/merge_requests/1262): Limit build and link jobs for PowerPC to reduce OOM issues."}}
{"#1263": {"improvements": "[#1263](https://gitlab.com/libeigen/eigen/-/merge_requests/1263): Fix recent PowerPC warnings and clang warning."}}
{"#1260": {"breaking_changes": "[#1260](https://gitlab.com/libeigen/eigen/-/merge_requests/1260): Require C++14 standard for detecting Inf and NaN."}}
{"#1264": {"improvements": "[#1264](https://gitlab.com/libeigen/eigen/-/merge_requests/1264): Introduced `EIGEN_NOT_A_MACRO` to enhance compatibility with TensorFlow and avoid build issues."}}
{"#1265": {"improvements": "[#1265](https://gitlab.com/libeigen/eigen/-/merge_requests/1265): Vectorize tensor.isnan() using typed predicates for improved AVX512 performance."}}
{"#1266": {"improvements": "[#1266](https://gitlab.com/libeigen/eigen/-/merge_requests/1266): Removed pool functionalities for CMake versions less than 3.11 to streamline build processes."}}
{"#1268": {"improvements": "[#1268](https://gitlab.com/libeigen/eigen/-/merge_requests/1268): Enhanced compatibility with CMake list handling for command-line argument parsing."}}
{"#1267": {"improvements": "[#1267](https://gitlab.com/libeigen/eigen/-/merge_requests/1267): Fixed various typographical errors to enhance code readability and professionalism."}}
{"#1269": {"improvements": "[#1269](https://gitlab.com/libeigen/eigen/-/merge_requests/1269): Reverted CMake pools changes to stabilize the build process by eliminating related errors."}}
{"#1271": {"improvements": "[#1271](https://gitlab.com/libeigen/eigen/-/merge_requests/1271): Enhanced SparseMatrix with updated Map typedef and improved overflow checks in setFromTriplets."}}
{"#1270": {"backend_improvements": "[#1270](https://gitlab.com/libeigen/eigen/-/merge_requests/1270): Fix issues affecting ARM builds including missing cast, conversion issue for MSVC packets, and macro definitions for 32-bit ARM."}}
{"#1273": {"improvements": "[#1273](https://gitlab.com/libeigen/eigen/-/merge_requests/1273): Replaced internal::(U)IntPtr with std::(u)intptr_t and removed ICC workaround to enhance compatibility and code clarity."}}
{"#1272": {"backend_improvements": "[#1272](https://gitlab.com/libeigen/eigen/-/merge_requests/1272): Optimize casting operations for x86_64 architecture, enhancing performance, especially for bool casting."}}
{"#1274": {"backend_improvements": "[#1274](https://gitlab.com/libeigen/eigen/-/merge_requests/1274): Optimize float->bool cast for AVX2, resulting in significant performance improvements."}}
{"#1234": {"improvements": "[#1234](https://gitlab.com/libeigen/eigen/-/merge_requests/1234): Removed unused BLAS/LAPACK declarations to enhance maintainability and reduce signature conflicts."}}
{"#1275": {"backend_improvements": "[#1275](https://gitlab.com/libeigen/eigen/-/merge_requests/1275): Added vectorized integer casts for x86 and removed redundant tests for performance enhancement."}}
{"#1276": {"improvements": "[#1276](https://gitlab.com/libeigen/eigen/-/merge_requests/1276): Optimized `generic_rsqrt_newton_step` for enhanced accuracy and performance."}}
{"#1277": {"backend_improvements": "[#1277](https://gitlab.com/libeigen/eigen/-/merge_requests/1277): Fix incorrect casting in AVX512DQ path to enhance code reliability and performance."}}
{"#1279": {"improvements": "[#1279](https://gitlab.com/libeigen/eigen/-/merge_requests/1279): Refactor indexed view methods to enable non-const reference access with symbolic indices, improving usability and maintainability."}}
{"#1280": {"breaking_changes": "[#1280](https://gitlab.com/libeigen/eigen/-/merge_requests/1280): Disable raw array indexed view access for 1D arrays to improve stability."}}
{"#1283": {"improvements": "[#1283](https://gitlab.com/libeigen/eigen/-/merge_requests/1283): Use correct truncating intrinsic for double-to-int casting to improve accuracy."}}
{"#1148": {"improvements": "[#1148](https://gitlab.com/libeigen/eigen/-/merge_requests/1148): Guarded malloc, realloc, and free() with check_that_malloc_is_allowed() and improved error handling by replacing abort with exceptions."}}
{"#1284": {"improvements": "[#1284](https://gitlab.com/libeigen/eigen/-/merge_requests/1284): Cleanup and enhance packet math by removing unused components and adding missing specializations."}}
{"#1286": {"improvements": "[#1286](https://gitlab.com/libeigen/eigen/-/merge_requests/1286): Improve handling of non-const symbolic indexed views by checking for l-value-ness."}}
{"#1282": {"backend_improvements": "[#1282](https://gitlab.com/libeigen/eigen/-/merge_requests/1282): ASAN fixes for AVX512 GEMM/TRSM to address memory-related issues and enhance safety."}}
{"#1287": {"improvements": "[#1287](https://gitlab.com/libeigen/eigen/-/merge_requests/1287): Prevent crash on empty tensor contraction by omitting assert and returning nullptr for size 0 allocations."}}
{"#1288": {"improvements": "[#1288](https://gitlab.com/libeigen/eigen/-/merge_requests/1288): Updated documentation for Eigen 3.4.x to resolve build errors and enhance clarity."}}
{"#1291": {"improvements": "[#1291](https://gitlab.com/libeigen/eigen/-/merge_requests/1291): Ensure `Eigen/Core` and `Eigen/src/Core` are not ignored due to `core` rule on Windows."}}
{"#1281": {"major_features": "[#1281](https://gitlab.com/libeigen/eigen/-/merge_requests/1281): Introduced `insertFromTriplets` and `insertFromSortedTriplets` for efficient batch insertions in sparse matrices."}}
{"#1293": {"backend_improvements": "[#1293](https://gitlab.com/libeigen/eigen/-/merge_requests/1293): Enable new AVX512 GEMM kernel by default, incorporating ASAN fixes."}}
{"#1294": {"improvements": "[#1294](https://gitlab.com/libeigen/eigen/-/merge_requests/1294): Improve accuracy of erf() with refined rational approximation and better clamping methods."}}
{"#1296": {"backend_improvements": "[#1296](https://gitlab.com/libeigen/eigen/-/merge_requests/1296): Add dynamic dispatch to BF16 GEMM (Power) and new VSX version for significant performance boost."}}
{"#1295": {"improvements": "[#1295](https://gitlab.com/libeigen/eigen/-/merge_requests/1295): Refactor IndexedView to enhance readability and maintainability by reducing SFINAE verbosity."}}
{"#1297": {"backend_improvements": "[#1297](https://gitlab.com/libeigen/eigen/-/merge_requests/1297): Add `Packet4ui`, `Packet8ui`, and `Packet4ul` to the `SSE`/`AVX` `PacketMath.h` headers for improved SIMD operations with unsigned integers."}}
{"#1299": {"improvements": "[#1299](https://gitlab.com/libeigen/eigen/-/merge_requests/1299): Introduces BF16 pcast functions and reorganizes type casting in TypeCasting.h."}}
{"#1302": {"other_changes": "[#1302](https://gitlab.com/libeigen/eigen/-/merge_requests/1302): Fix typo in SSE packetmath for improved code clarity."}}
{"#1298": {"improvements": "[#1298](https://gitlab.com/libeigen/eigen/-/merge_requests/1298): Improved tensor select evaluator performance using select ternary op for enhanced efficiency."}}
{"#1303": {"improvements": "[#1303](https://gitlab.com/libeigen/eigen/-/merge_requests/1303): Ensure Erf() returns +/-1 above clamping and enhance performance, particularly for AVX2 on Skylake."}}
{"#1306": {"improvements": "[#1306](https://gitlab.com/libeigen/eigen/-/merge_requests/1306): Removed last occurrences of the unused enum HasHalfPacket for codebase cleanliness."}}
{"#1301": {"breaking_changes": "[#1301](https://gitlab.com/libeigen/eigen/-/merge_requests/1301): Ensure Euler angles are returned with canonical ranges, impacting existing computations."}}
{"#1308": {"improvements": "[#1308](https://gitlab.com/libeigen/eigen/-/merge_requests/1308): Fix pow for uint32_t, disable pmul<Packet4ul> to enhance robustness and prevent compilation issues."}}
{"#1307": {"backend_improvements": "[#1307](https://gitlab.com/libeigen/eigen/-/merge_requests/1307): New VSX version of BF16 GEMV for Power architecture, achieving up to 6.7X performance improvement."}}
{"#1309": {"improvements": "[#1309](https://gitlab.com/libeigen/eigen/-/merge_requests/1309): Introduces the Abs2 function for Packet4ul, enhancing functionality."}}
{"#1312": {"improvements": "[#1312](https://gitlab.com/libeigen/eigen/-/merge_requests/1312): Fixed boolean bitwise and warning in test code."}}
{"#1311": {"improvements": "[#1311](https://gitlab.com/libeigen/eigen/-/merge_requests/1311): Fixed sparse iterator compatibility issues and deprecated function warnings on macOS using Clang."}}
{"#1304": {"improvements": "[#1304](https://gitlab.com/libeigen/eigen/-/merge_requests/1304): Specializes evaluator for `scalar_cast_op` to optimize handling of different packet types."}}
{"#1313": {"backend_improvements": "[#1313](https://gitlab.com/libeigen/eigen/-/merge_requests/1313): Added pmul and abs2 operations for Packet4ul type under AVX2, enhancing computational efficiency and compatibility."}}
{"#1316": {"improvements": "[#1316](https://gitlab.com/libeigen/eigen/-/merge_requests/1316): Implemented `pcmp`, `pmin`, and `pmax` for `Packet4ui`, improving compliance and test stability."}}
{"#1305": {"improvements": "[#1305](https://gitlab.com/libeigen/eigen/-/merge_requests/1305): Enhance `StridedLinearBufferCopy` with half-`Packet` operations for improved performance."}}
{"#1317": {"backend_improvements": "[#1317](https://gitlab.com/libeigen/eigen/-/merge_requests/1317): Unroll F32 to BF16 loop for 1.8X faster conversions on LLVM and improved GCC handling."}}
{"#1318": {"improvements": "[#1318](https://gitlab.com/libeigen/eigen/-/merge_requests/1318): Set `m_nonzeroSingularValues` to zero when input is not finite to enhance stability."}}
{"#1319": {"improvements": "[#1319](https://gitlab.com/libeigen/eigen/-/merge_requests/1319): Fix ColMajor BF16 GEMV for mixed RowMajor vector compatibility."}}
{"#1321": {"improvements": "[#1321](https://gitlab.com/libeigen/eigen/-/merge_requests/1321): Cleaned up array_cwise test by suppressing warnings, resolving ambiguities, and removing redundant tests."}}
{"#1322": {"improvements": "[#1322](https://gitlab.com/libeigen/eigen/-/merge_requests/1322): Corrected loadColData implementation to fix BF16 GEMV compatibility with LLVM."}}
{"#1323": {"improvements": "[#1323](https://gitlab.com/libeigen/eigen/-/merge_requests/1323): Fix modulo by zero compiler warning to enhance code robustness."}}
{"#1325": {"improvements": "[#1325](https://gitlab.com/libeigen/eigen/-/merge_requests/1325): Renamed `array_cwise` test and suppressed compiler warnings to enhance clarity and reduce message noise."}}
{"#1289": {"improvements": "[#1289](https://gitlab.com/libeigen/eigen/-/merge_requests/1289): Moved thread pool code from Tensor to Core to enhance accessibility for future developments."}}
{"#1324": {"improvements": "[#1324](https://gitlab.com/libeigen/eigen/-/merge_requests/1324): Update `ndtri` to return NaN for out-of-range inputs, ensuring consistency with SciPy and MATLAB."}}
{"#1320": {"backend_improvements": "[#1320](https://gitlab.com/libeigen/eigen/-/merge_requests/1320): Use std::shared_ptr for FFTW/IMKL FFT plan implementation to enhance memory management."}}
{"#1285": {"major_features": "[#1285](https://gitlab.com/libeigen/eigen/-/merge_requests/1285): Introduces USM support for SYCL, simplifying usage and improving performance."}}
{"#1327": {"backend_improvements": "[#1327](https://gitlab.com/libeigen/eigen/-/merge_requests/1327): Fixes CUDA compilation issues by rearranging header inclusions and adding necessary includes."}}
{"#1329": {"improvements": "[#1329](https://gitlab.com/libeigen/eigen/-/merge_requests/1329): Introduce macros to override synchronization primitives in Eigen ThreadPool for customization."}}
{"#1333": {"improvements": "[#1333](https://gitlab.com/libeigen/eigen/-/merge_requests/1333): Fix compiler warnings and failures in JacobiSVD and BDCSVD by initializing matrix members."}}
{"#1314": {"major_features": "[#1314](https://gitlab.com/libeigen/eigen/-/merge_requests/1314): Introduce `canonicalEulerAngles` method to provide standardized angle ranges."}}
{"#1334": {"improvements": "[#1334](https://gitlab.com/libeigen/eigen/-/merge_requests/1334): Fix unrolled assignment evaluator to enhance access patterns for small fixed-size arrays and matrices."}}
{"#1335": {"improvements": "[#1335](https://gitlab.com/libeigen/eigen/-/merge_requests/1335): Introduced functions for adding/removing outer vectors in SparseMatrix for enhanced structure management."}}
{"#1336": {"improvements": "[#1336](https://gitlab.com/libeigen/eigen/-/merge_requests/1336): Introduces linear redux evaluators to enhance expression evaluation performance."}}
{"#1337": {"improvements": "[#1337](https://gitlab.com/libeigen/eigen/-/merge_requests/1337): Clean up Redux.h and fix vectorization_logic test after traversal order changes."}}
{"#1341": {"backend_improvements": "[#1341](https://gitlab.com/libeigen/eigen/-/merge_requests/1341): Replaced CudaStreamDevice with GpuStreamDevice in tensor benchmarks for improved accuracy and reliability."}}
{"#1339": {"improvements": "[#1339](https://gitlab.com/libeigen/eigen/-/merge_requests/1339): Adjusted EIGEN_HAS_ARM64_FP16_SCALAR_ARITHMETIC for CUDA to resolve compilation issues."}}
{"#1338": {"improvements": "[#1338](https://gitlab.com/libeigen/eigen/-/merge_requests/1338): Optimized error handling in scalar_unary_pow_op for better performance and robustness."}}
{"#1342": {"improvements": "[#1342](https://gitlab.com/libeigen/eigen/-/merge_requests/1342): Reduce max relative error of prsqrt from 3 to 2 ulps."}}
{"#1343": {"improvements": "[#1343](https://gitlab.com/libeigen/eigen/-/merge_requests/1343): Improved error handling and testing for unary power functions in Eigen."}}
{"#1344": {"improvements": "[#1344](https://gitlab.com/libeigen/eigen/-/merge_requests/1344): Enhanced numerical stability in `prsqrt` function to prevent underflow."}}
{"#1328": {"improvements": "[#1328](https://gitlab.com/libeigen/eigen/-/merge_requests/1328): Partially vectorizes cast for enhanced performance and safety in vectorized operations."}}
{"#1347": {"improvements": "[#1347](https://gitlab.com/libeigen/eigen/-/merge_requests/1347): Introduced compile- and run-time assertions for `Ref<const>` construction to enhance memory layout safety."}}
{"#1346": {"improvements": "[#1346](https://gitlab.com/libeigen/eigen/-/merge_requests/1346): Introduce a move constructor for Ref<const...> to enhance performance by reducing unnecessary copying."}}
{"#1349": {"backend_improvements": "[#1349](https://gitlab.com/libeigen/eigen/-/merge_requests/1349): Fixed AVX pstore implementation for correct aligned store with integer types."}}
{"#1351": {"improvements": "[#1351](https://gitlab.com/libeigen/eigen/-/merge_requests/1351): Streamlined SVD testing to improve CI stability and reduce resource consumption."}}
{"#1350": {"improvements": "[#1350](https://gitlab.com/libeigen/eigen/-/merge_requests/1350): Improved safe_abs function in int_pow for better Clang compatibility."}}
{"#1353": {"improvements": "[#1353](https://gitlab.com/libeigen/eigen/-/merge_requests/1353): Removed deprecated function calls in SVD test to improve maintainability."}}
{"#1352": {"improvements": "[#1352](https://gitlab.com/libeigen/eigen/-/merge_requests/1352): Enhanced precision and performance of `rint`, `round`, `floor`, and `ceil` functions."}}
{"#1354": {"improvements": "[#1354](https://gitlab.com/libeigen/eigen/-/merge_requests/1354): Add optional offset parameter to ploadu_partial and pstoreu_partial for API consistency."}}
{"#1355": {"improvements": "[#1355](https://gitlab.com/libeigen/eigen/-/merge_requests/1355): Disabled FP16 arithmetic for arm32 to enhance stability and compatibility with Clang compiler limitations."}}
{"#1356": {"backend_improvements": "[#1356](https://gitlab.com/libeigen/eigen/-/merge_requests/1356): Unconditionally define EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC for ARM to enhance compilation stability."}}
{"#1345": {"improvements": "[#1345](https://gitlab.com/libeigen/eigen/-/merge_requests/1345): Add Quaternion constructor from real scalar and imaginary vector to simplify common expressions."}}
{"#1357": {"backend_improvements": "[#1357](https://gitlab.com/libeigen/eigen/-/merge_requests/1357): Fix supportsMMA to obey EIGEN_ALTIVEC_MMA_DYNAMIC_DISPATCH compilation flag and compiler support."}}
{"#1360": {"improvements": "[#1360](https://gitlab.com/libeigen/eigen/-/merge_requests/1360): Fix `ivcSize` return type for enhanced type consistency and reliability."}}
{"#1362": {"improvements": "[#1362](https://gitlab.com/libeigen/eigen/-/merge_requests/1362): Fix argument for _mm256_cvtps_ph imm parameter to eliminate MSVC warning C4556."}}
{"#1361": {"improvements": "[#1361](https://gitlab.com/libeigen/eigen/-/merge_requests/1361): Fixed Altivec compilation with C++20 and higher by addressing `simple-template-id` issues."}}
{"#1363": {"improvements": "[#1363](https://gitlab.com/libeigen/eigen/-/merge_requests/1363): Fix use of arg function in CUDA for improved compatibility with MSVC and C++20."}}
{"#1358": {"improvements": "[#1358](https://gitlab.com/libeigen/eigen/-/merge_requests/1358): Addressed various compiler warnings to improve code stability and readability."}}
{"#1359": {"backend_improvements": "[#1359](https://gitlab.com/libeigen/eigen/-/merge_requests/1359): Fix AVX512 nomalloc issues in trsm by disabling inappropriate memory allocations."}}
{"#1364": {"improvements": "[#1364](https://gitlab.com/libeigen/eigen/-/merge_requests/1364): Optimize `check_rows_cols_for_overflow` for better compile-time performance with matrix size checks."}}
{"#1367": {"improvements": "[#1367](https://gitlab.com/libeigen/eigen/-/merge_requests/1367): Fix gcc warnings by addressing subtle bugs and improving code clarity."}}
{"#1369": {"improvements": "[#1369](https://gitlab.com/libeigen/eigen/-/merge_requests/1369): Fix ARM build warnings by improving type casting and variable shadowing."}}
{"#1370": {"improvements": "[#1370](https://gitlab.com/libeigen/eigen/-/merge_requests/1370): Fixes -Waggressive-loop-optimizations warning for better compilation with gcc 10+."}}
{"#1371": {"improvements": "[#1371](https://gitlab.com/libeigen/eigen/-/merge_requests/1371): Fix -Wmaybe-uninitialized warning in SVD by initializing dimensions correctly."}}
{"#1373": {"improvements": "[#1373](https://gitlab.com/libeigen/eigen/-/merge_requests/1373): Added `max_digits10` function to enhance decimal digit representation and improve floating-point serialization."}}
{"#1372": {"improvements": "[#1372](https://gitlab.com/libeigen/eigen/-/merge_requests/1372): Fix compatibility issues with Tensorflow on Power architecture, enhancing performance and reliability."}}
{"#1376": {"improvements": "[#1376](https://gitlab.com/libeigen/eigen/-/merge_requests/1376): Fix nullptr dereference issue in triangular product for zero-sized matrices."}}
{"#1331": {"improvements": "[#1331](https://gitlab.com/libeigen/eigen/-/merge_requests/1331): Add test to validate SYCL in Eigen core enhancing compatibility."}}
{"#1365": {"backend_improvements": "[#1365](https://gitlab.com/libeigen/eigen/-/merge_requests/1365): Added missing pcasts for x86 architectures to enhance type conversion capabilities and cleaned up code."}}
{"#1377": {"improvements": "[#1377](https://gitlab.com/libeigen/eigen/-/merge_requests/1377): Fix to prevent undefined behavior in triangular solves with empty systems."}}
{"#1378": {"improvements": "[#1378](https://gitlab.com/libeigen/eigen/-/merge_requests/1378): Fix clang-tidy warning by replacing `std::move()` with `std::forward()` for better handling of lvalues and rvalues."}}
{"#1379": {"improvements": "[#1379](https://gitlab.com/libeigen/eigen/-/merge_requests/1379): Fix nullptr dereference in SVD to enhance robustness and prevent runtime errors."}}
{"#1375": {"backend_improvements": "[#1375](https://gitlab.com/libeigen/eigen/-/merge_requests/1375): Added architecture definition files for Qualcomm Hexagon Vector Extension (HVX) to enhance compatibility and performance."}}
{"#1380": {"improvements": "[#1380](https://gitlab.com/libeigen/eigen/-/merge_requests/1380): Fixes undefined behavior by ensuring proper memory alignment for scalars, enhancing library stability."}}
{"#1381": {"improvements": "[#1381](https://gitlab.com/libeigen/eigen/-/merge_requests/1381): Updates boost MP test suite to reference new SVD tests for improved reliability."}}
{"#1382": {"improvements": "[#1382](https://gitlab.com/libeigen/eigen/-/merge_requests/1382): Fix tensor stridedlinearbuffercopy by preventing negative indices and enhancing robustness."}}
{"#1383": {"improvements": "[#1383](https://gitlab.com/libeigen/eigen/-/merge_requests/1383): Introduces a temporary macro for handling unaligned scalar UB to address TFLite-related issues."}}
{"#1384": {"improvements": "[#1384](https://gitlab.com/libeigen/eigen/-/merge_requests/1384): Add IWYU private pragmas to internal headers to enhance tooling capabilities."}}
{"#1385": {"improvements": "[#1385](https://gitlab.com/libeigen/eigen/-/merge_requests/1385): Rename plugin headers to .inc to improve management and usability."}}
{"#1386": {"backend_improvements": "[#1386](https://gitlab.com/libeigen/eigen/-/merge_requests/1386): Improved ARM32 float division accuracy and reliability by refining methods and adjusting tests."}}
{"#1387": {"improvements": "[#1387](https://gitlab.com/libeigen/eigen/-/merge_requests/1387): Introduced method for handling block expressions, improving block unwinding and compatibility."}}
{"#1388": {"improvements": "[#1388](https://gitlab.com/libeigen/eigen/-/merge_requests/1388): Ensure stage is not 'ok' if Pardiso returns an error, improving error handling."}}
{"#1389": {"improvements": "[#1389](https://gitlab.com/libeigen/eigen/-/merge_requests/1389): Introduces new panel modes for GEMM MMA enhancing performance for real and complex matrices."}}
{"#1391": {"improvements": "[#1391](https://gitlab.com/libeigen/eigen/-/merge_requests/1391): Exported ThreadPool symbols to silence Clang include-cleaner warnings."}}
{"#1392": {"backend_improvements": "[#1392](https://gitlab.com/libeigen/eigen/-/merge_requests/1392): Fix call to static functions from device by adding EIGEN_DEVICE_FUNC attribute to run methods."}}
{"#1330": {"major_features": "[#1330](https://gitlab.com/libeigen/eigen/-/merge_requests/1330): Enabling half precision support for SYCL using `Eigen::half` abstraction."}}
{"#1394": {"improvements": "[#1394](https://gitlab.com/libeigen/eigen/-/merge_requests/1394): Fix extra semicolon in XprHelper to resolve compilation error with `-Wextra-semi` flag."}}
{"#1396": {"improvements": "[#1396](https://gitlab.com/libeigen/eigen/-/merge_requests/1396): Fixes longstanding bug in sparse triangular view iterator by restoring `row()` and `col()` functions."}}
{"#1397": {"improvements": "[#1397](https://gitlab.com/libeigen/eigen/-/merge_requests/1397): Consolidated multiple implementations of divup/div_up/div_ceil to streamline code maintenance and clarity."}}
{"#1398": {"improvements": "[#1398](https://gitlab.com/libeigen/eigen/-/merge_requests/1398): Resolved compile errors by eliminating use of `_res`."}}
{"#1393": {"backend_improvements": "[#1393](https://gitlab.com/libeigen/eigen/-/merge_requests/1393): Update to use ROCM_PATH instead of HIP_PATH for ROCm 6.0 compatibility."}}
{"#1400": {"improvements": "[#1400](https://gitlab.com/libeigen/eigen/-/merge_requests/1400): Modify `div_ceil` to pass arguments by value, reducing odr-usage errors."}}
{"#1401": {"other_changes": "[#1401](https://gitlab.com/libeigen/eigen/-/merge_requests/1401): Fixed a typo in the comments for improved documentation clarity."}}
{"#1402": {"improvements": "[#1402](https://gitlab.com/libeigen/eigen/-/merge_requests/1402): Work around MSVC issue in Block XprType, enhancing compatibility."}}
{"#1404": {"improvements": "[#1404](https://gitlab.com/libeigen/eigen/-/merge_requests/1404): Avoid building docs if cross-compiling or not top level to streamline the build process."}}
{"#1399": {"improvements": "[#1399](https://gitlab.com/libeigen/eigen/-/merge_requests/1399): Disable denorm deprecation warnings in MSVC C++23 for cleaner build output."}}
{"#1403": {"major_features": "[#1403](https://gitlab.com/libeigen/eigen/-/merge_requests/1403): Implemented component-wise cubic root (cbrt) calculations for arrays and matrices."}}
{"#1406": {"improvements": "[#1406](https://gitlab.com/libeigen/eigen/-/merge_requests/1406): Replaced divup with div_ceil in TensorReduction to remove deprecation warnings."}}
{"#1407": {"improvements": "[#1407](https://gitlab.com/libeigen/eigen/-/merge_requests/1407): Fix Wshorten-64-to-32 warnings in div_ceil to enhance code robustness."}}
{"#1410": {"improvements": "[#1410](https://gitlab.com/libeigen/eigen/-/merge_requests/1410): Fix int overflow in cxx11_tensor_gpu_1 test using DenseIndex."}}
{"#1411": {"improvements": "[#1411](https://gitlab.com/libeigen/eigen/-/merge_requests/1411): Fix typo to allow nomalloc test to pass on AVX512."}}
{"#1412": {"improvements": "[#1412](https://gitlab.com/libeigen/eigen/-/merge_requests/1412): Backport fix for disambiguating overloads with empty index lists to address compilation errors."}}
{"#1408": {"improvements": "[#1408](https://gitlab.com/libeigen/eigen/-/merge_requests/1408): Generalize parallel GEMM to work with ThreadPool in addition to OpenMP."}}
{"#1413": {"improvements": "[#1413](https://gitlab.com/libeigen/eigen/-/merge_requests/1413): Optimized `traits<Ref>::match` to use correct strides for performance enhancement and memory management."}}
{"#1415": {"improvements": "[#1415](https://gitlab.com/libeigen/eigen/-/merge_requests/1415): Linked pthread for product_threaded test to ensure successful execution of multi-threaded tests."}}
{"#1416": {"improvements": "[#1416](https://gitlab.com/libeigen/eigen/-/merge_requests/1416): Fix Wshorten-64-to-32 warning in gemm parallelizer for improved code quality."}}
{"#1417": {"improvements": "[#1417](https://gitlab.com/libeigen/eigen/-/merge_requests/1417): Fixed bug in `getNbThreads()` to return 1 when not parallelized."}}
{"#1421": {"improvements": "[#1421](https://gitlab.com/libeigen/eigen/-/merge_requests/1421): Gemv microoptimization improves loop performance and reduces compile-time warnings."}}
{"#1422": {"improvements": "[#1422](https://gitlab.com/libeigen/eigen/-/merge_requests/1422): Fix conversion of (u)int64_t to float on ARM to prevent data loss."}}
{"#1424": {"improvements": "[#1424](https://gitlab.com/libeigen/eigen/-/merge_requests/1424): Optimized matrix-vector operations in `GeneralMatrixVector.h` for improved performance."}}
{"#1423": {"improvements": "[#1423](https://gitlab.com/libeigen/eigen/-/merge_requests/1423): Introduce static assertions in Tensor constructors to ensure matching dimensions."}}
{"#1425": {"improvements": "[#1425](https://gitlab.com/libeigen/eigen/-/merge_requests/1425): Fix typecasting for arm32 to restore functionality and compatibility."}}
{"#1419": {"improvements": "[#1419](https://gitlab.com/libeigen/eigen/-/merge_requests/1419): Ensure that mc is not smaller than Traits::nr to prevent potential errors in calculations."}}
{"#1429": {"improvements": "[#1429](https://gitlab.com/libeigen/eigen/-/merge_requests/1429): Applied clang-format for consistent coding style across the codebase."}}
{"#1430": {"improvements": "[#1430](https://gitlab.com/libeigen/eigen/-/merge_requests/1430): Added .git-blame-ignore-revs file to improve git blame clarity."}}
{"#1431": {"improvements": "[#1431](https://gitlab.com/libeigen/eigen/-/merge_requests/1431): Fix scalar_logistic_function overflow for complex inputs to enhance robustness and accuracy."}}
{"#1432": {"improvements": "[#1432](https://gitlab.com/libeigen/eigen/-/merge_requests/1432): Applied clang-format-17 across the library to improve code consistency and readability."}}
{"#1433": {"improvements": "[#1433](https://gitlab.com/libeigen/eigen/-/merge_requests/1433): Improved formatting for .git-blame-ignore-revs to enhance clarity and usability."}}
{"#1434": {"improvements": "[#1434](https://gitlab.com/libeigen/eigen/-/merge_requests/1434): Fix CUDA syntax error introduced by clang-format to enhance code quality."}}
{"#1435": {"improvements": "[#1435](https://gitlab.com/libeigen/eigen/-/merge_requests/1435): Protect kernel launch syntax from clang-format to prevent syntax errors."}}
{"#1436": {"improvements": "[#1436](https://gitlab.com/libeigen/eigen/-/merge_requests/1436): Add internal ctz/clz implementation for enhanced random number generation and pointer alignment checking."}}
{"#1439": {"improvements": "[#1439](https://gitlab.com/libeigen/eigen/-/merge_requests/1439): Fix MSVC clz to correct leading zero count functionality."}}
{"#1428": {"improvements": "[#1428](https://gitlab.com/libeigen/eigen/-/merge_requests/1428): Set up clang-format in CI to ensure consistent code formatting."}}
{"#1441": {"improvements": "[#1441](https://gitlab.com/libeigen/eigen/-/merge_requests/1441): Fixed clang-format CI to run in non-interactive mode and ensured proper installation."}}
{"#1446": {"improvements": "[#1446](https://gitlab.com/libeigen/eigen/-/merge_requests/1446): Remove C++11 features from ctz/clz to restore compatibility with earlier C++ standards."}}
{"#1409": {"improvements": "[#1409](https://gitlab.com/libeigen/eigen/-/merge_requests/1409): Addressed compiler warnings and fixed significant bugs in Memory.h."}}
{"#1448": {"improvements": "[#1448](https://gitlab.com/libeigen/eigen/-/merge_requests/1448): Addressed MSAN failures by ensuring matrices are initialized, improving memory operation reliability."}}
{"#1449": {"improvements": "[#1449](https://gitlab.com/libeigen/eigen/-/merge_requests/1449): Enhanced memory safety by replacing function pointers with lambdas in GPU code with Clang and asan."}}
{"#1447": {"improvements": "[#1447](https://gitlab.com/libeigen/eigen/-/merge_requests/1447): Fix various asan errors to enhance stability and reliability by addressing memory management issues."}}
{"#1450": {"improvements": "[#1450](https://gitlab.com/libeigen/eigen/-/merge_requests/1450): Simplified `stableNorm` to suppress GCC warnings and improve efficiency."}}
{"#1445": {"improvements": "[#1445](https://gitlab.com/libeigen/eigen/-/merge_requests/1445): Add factor getters to Cholmod LLT/LDLT for enhanced solver functionality."}}
{"#1452": {"other_changes": "[#1452](https://gitlab.com/libeigen/eigen/-/merge_requests/1452): Fix minor issues in basic slicing examples documentation."}}
{"#1438": {"improvements": "[#1438](https://gitlab.com/libeigen/eigen/-/merge_requests/1438): Improve documentation of SparseLU module for enhanced user comprehension."}}
{"#1453": {"improvements": "[#1453](https://gitlab.com/libeigen/eigen/-/merge_requests/1453): Fixes TensorForcedEval copying issues to prevent memory management errors."}}
{"#1455": {"backend_improvements": "[#1455](https://gitlab.com/libeigen/eigen/-/merge_requests/1455): Introduced MI300 related test support for ROCm platforms."}}
{"#1456": {"improvements": "[#1456](https://gitlab.com/libeigen/eigen/-/merge_requests/1456): Ensure pointers are checked before being freed to enhance memory safety."}}
{"#1458": {"improvements": "[#1458](https://gitlab.com/libeigen/eigen/-/merge_requests/1458): Fixes stableNorm to handle zero-sized inputs, enhancing robustness."}}
{"#1443": {"improvements": "[#1443](https://gitlab.com/libeigen/eigen/-/merge_requests/1443): Update CI with testing framework from eigen_ci_cross_testing to enhance testing processes."}}
{"#1459": {"improvements": "[#1459](https://gitlab.com/libeigen/eigen/-/merge_requests/1459): Add missing constexpr qualifier to enhance compile-time evaluation capabilities."}}
{"#1457": {"improvements": "[#1457](https://gitlab.com/libeigen/eigen/-/merge_requests/1457): Added assertions for .chip to enhance robustness and error handling."}}
{"#1460": {"improvements": "[#1460](https://gitlab.com/libeigen/eigen/-/merge_requests/1460): Reverted cleanup of `stableNorm` to restore performance for large vectors."}}
{"#1461": {"improvements": "[#1461](https://gitlab.com/libeigen/eigen/-/merge_requests/1461): Fix unused warnings in failtest to enhance code quality and developer experience."}}
{"#1462": {"major_features": "[#1462](https://gitlab.com/libeigen/eigen/-/merge_requests/1462): Introduces feature to specify a temporary directory for file I/O outputs, enhancing compatibility with systems that restrict writing to the current directory."}}
{"#1463": {"other_changes": "[#1463](https://gitlab.com/libeigen/eigen/-/merge_requests/1463): Revert addition of asserts for .chip due to test failures."}}
{"#1444": {"improvements": "[#1444](https://gitlab.com/libeigen/eigen/-/merge_requests/1444): Use smaller index types to enhance robustness during resize operations."}}
{"#1451": {"improvements": "[#1451](https://gitlab.com/libeigen/eigen/-/merge_requests/1451): Fix build error due to Index/StorageIndex mismatch in SPQR::compute()."}}
{"#1466": {"improvements": "[#1466](https://gitlab.com/libeigen/eigen/-/merge_requests/1466): Implements and refines assertions for dimension indices in chipping operations."}}
{"#1454": {"improvements": "[#1454](https://gitlab.com/libeigen/eigen/-/merge_requests/1454): Add half and quarter vector support to HVX architecture for improved performance."}}
{"#1467": {"improvements": "[#1467](https://gitlab.com/libeigen/eigen/-/merge_requests/1467): Fix compile-time error and enhance error detection with static asserts."}}
{"#1469": {"improvements": "[#1469](https://gitlab.com/libeigen/eigen/-/merge_requests/1469): Enhanced C++ standards compliance by removing explicit specialization, improving compatibility with gcc and MSVC."}}
{"#1470": {"improvements": "[#1470](https://gitlab.com/libeigen/eigen/-/merge_requests/1470): Various formatting improvements for better code readability and consistency."}}
{"#1468": {"backend_improvements": "[#1468](https://gitlab.com/libeigen/eigen/-/merge_requests/1468): Fixes ARM32 issues by enhancing floating-point computations and accuracy."}}
{"#1471": {"improvements": "[#1471](https://gitlab.com/libeigen/eigen/-/merge_requests/1471): Updated LAPACK CPU time functions for consistency with standard naming conventions."}}
{"#1477": {"improvements": "[#1477](https://gitlab.com/libeigen/eigen/-/merge_requests/1477): Removed an obsolete relicense script to streamline the codebase."}}
{"#1473": {"improvements": "[#1473](https://gitlab.com/libeigen/eigen/-/merge_requests/1473): Update documentation for LAPACK's `second` and `dsecnd` functions to improve clarity and usability."}}
{"#1478": {"improvements": "[#1478](https://gitlab.com/libeigen/eigen/-/merge_requests/1478): Fix bug in checking subnormals to enhance accuracy in numerical operations."}}
{"#1481": {"improvements": "[#1481](https://gitlab.com/libeigen/eigen/-/merge_requests/1481): Fix CI for clang-6 cross-compilation ensuring consistent GLIBC versions."}}
{"#1479": {"improvements": "[#1479](https://gitlab.com/libeigen/eigen/-/merge_requests/1479): Fix busted formatting in Eigen::Tensor README.md."}}
{"#1475": {"breaking_changes": "[#1475](https://gitlab.com/libeigen/eigen/-/merge_requests/1475): Remove MoreVectorization feature due to redundancy and potential ODR violations."}}
{"#1483": {"improvements": "[#1483](https://gitlab.com/libeigen/eigen/-/merge_requests/1483): Use stableNorm in ComplexEigenSolver for improved result stability."}}
{"#1474": {"breaking_changes": "[#1474](https://gitlab.com/libeigen/eigen/-/merge_requests/1474): Remove Skyline module due to non-functionality and lack of tests."}}
{"#1482": {"improvements": "[#1482](https://gitlab.com/libeigen/eigen/-/merge_requests/1482): Fix preshear transformation to restore proper functionality and add test."}}
{"#1414": {"major_features": "[#1414](https://gitlab.com/libeigen/eigen/-/merge_requests/1414): Implemented `plog_complex` to handle vectorized complex functions."}}
{"#1476": {"improvements": "[#1476](https://gitlab.com/libeigen/eigen/-/merge_requests/1476): Fix a bunch of ODR violations to enhance code clarity and consistency."}}
{"#1437": {"improvements": "[#1437](https://gitlab.com/libeigen/eigen/-/merge_requests/1437): Enhance random number generation to improve entropy for 64-bit scalars."}}
{"#1486": {"improvements": "[#1486](https://gitlab.com/libeigen/eigen/-/merge_requests/1486): Fix gcc-6 bug in the rand test by adding `noinline` attribute to ensure correct behavior."}}
{"#1487": {"improvements": "[#1487](https://gitlab.com/libeigen/eigen/-/merge_requests/1487): Improve skew-symmetric test reliability by excluding problematic dimensions."}}
{"#1485": {"improvements": "[#1485](https://gitlab.com/libeigen/eigen/-/merge_requests/1485): Enhanced robustness of PPC testing by removing constraints on random integer generation and fixing overflow issues."}}
{"#1488": {"improvements": "[#1488](https://gitlab.com/libeigen/eigen/-/merge_requests/1488): Fix tests for bfloat16 and half scalar types, improving test reliability."}}
{"#1489": {"improvements": "[#1489](https://gitlab.com/libeigen/eigen/-/merge_requests/1489): Fix undefined behavior in `getRandomBits` to improve code safety and reliability."}}
{"#1490": {"improvements": "[#1490](https://gitlab.com/libeigen/eigen/-/merge_requests/1490): Fix UB in bool packetmath test by ensuring valid boolean standards and enhancing reliability."}}
{"#1494": {"improvements": "[#1494](https://gitlab.com/libeigen/eigen/-/merge_requests/1494): Fix segfault in CholmodBase::factorize() for zero matrix to enhance stability."}}
{"#1492": {"improvements": "[#1492](https://gitlab.com/libeigen/eigen/-/merge_requests/1492): Fix C++20 error related to arithmetic between different enumeration types."}}
{"#1491": {"improvements": "[#1491](https://gitlab.com/libeigen/eigen/-/merge_requests/1491): Applied clang-format to lapack/blas directories for code consistency."}}
{"#1496": {"improvements": "[#1496](https://gitlab.com/libeigen/eigen/-/merge_requests/1496): Fix division by zero UB in packet size logic."}}
{"#1498": {"breaking_changes": "[#1498](https://gitlab.com/libeigen/eigen/-/merge_requests/1498): Removed r_cnjg due to conflicts with f2c, inlining functions to resolve duplicate symbol errors."}}
{"#1499": {"improvements": "[#1499](https://gitlab.com/libeigen/eigen/-/merge_requests/1499): Eliminated warning about writing bytes directly to non-trivial type, enhancing code clarity and reducing compiler warnings."}}
{"#1500": {"improvements": "[#1500](https://gitlab.com/libeigen/eigen/-/merge_requests/1500): Implements explicit scalar conversion in ternary expressions, enhancing type safety and correctness."}}
{"#1497": {"breaking_changes": "[#1497](https://gitlab.com/libeigen/eigen/-/merge_requests/1497): Removed non-standard `int` return types from BLAS/LAPACK functions to improve interoperability and reduce symbol conflicts."}}
{"#1505": {"backend_improvements": "[#1505](https://gitlab.com/libeigen/eigen/-/merge_requests/1505): Disable float16 packet casting when native AVX512 f16 is available to enhance stability and correctness."}}
{"#1504": {"improvements": "[#1504](https://gitlab.com/libeigen/eigen/-/merge_requests/1504): Fixes undefined behavior in `pabsdiff` for ARM with latest compilers, enhancing stability."}}
{"#1507": {"improvements": "[#1507](https://gitlab.com/libeigen/eigen/-/merge_requests/1507): Fix deflation in BDCSVD, enhancing stability and correctness for large matrices."}}
{"#1506": {"improvements": "[#1506](https://gitlab.com/libeigen/eigen/-/merge_requests/1506): Use traits<Matrix>::Options for consistency across Eigen objects."}}
{"#1503": {"improvements": "[#1503](https://gitlab.com/libeigen/eigen/-/merge_requests/1503): Fix random for custom scalars without constexpr digits() to enhance compatibility."}}
{"#1509": {"improvements": "[#1509](https://gitlab.com/libeigen/eigen/-/merge_requests/1509): Renamed `generic_fast_tanh_float` to `ptanh_float` and improved code readability."}}
{"#1501": {"improvements": "[#1501](https://gitlab.com/libeigen/eigen/-/merge_requests/1501): Introduced SIMD complex function `pexp_complex` for `float`, enhancing performance and compatibility for complex number operations."}}
{"#1513": {"improvements": "[#1513](https://gitlab.com/libeigen/eigen/-/merge_requests/1513): Fix pexp_complex_test for compliance with C++ standard."}}
{"#1495": {"backend_improvements": "[#1495](https://gitlab.com/libeigen/eigen/-/merge_requests/1495): Optimized JacobiSVD by removing unnecessary member variables for better performance and memory efficiency."}}
{"#1514": {"improvements": "[#1514](https://gitlab.com/libeigen/eigen/-/merge_requests/1514): Fix exp complex test by using int instead of index to improve correctness and clarity."}}
{"#1510": {"improvements": "[#1510](https://gitlab.com/libeigen/eigen/-/merge_requests/1510): Enhance real Schur decomposition robustness and improve polynomial solver error checking."}}
{"#1516": {"improvements": "[#1516](https://gitlab.com/libeigen/eigen/-/merge_requests/1516): Fix GPU build for ptanh_float."}}
{"#1517": {"improvements": "[#1517](https://gitlab.com/libeigen/eigen/-/merge_requests/1517): Fix use of uninitialized memory in kronecker_product test."}}
{"#1511": {"improvements": "[#1511](https://gitlab.com/libeigen/eigen/-/merge_requests/1511): Enabled direct access for IndexedView with data method and strides for improved performance."}}
{"#1518": {"improvements": "[#1518](https://gitlab.com/libeigen/eigen/-/merge_requests/1518): Standardized header guards in key files to fix a build error."}}
{"#1512": {"major_features": "[#1512](https://gitlab.com/libeigen/eigen/-/merge_requests/1512): Add method signDeterminant() to QR and related decompositions."}}
{"#1521": {"improvements": "[#1521](https://gitlab.com/libeigen/eigen/-/merge_requests/1521): Fix crash in IncompleteCholesky when the input has zeros on the diagonal."}}
{"#1520": {"improvements": "[#1520](https://gitlab.com/libeigen/eigen/-/merge_requests/1520): Removed 'using namespace Eigen' from blas/common.h to prevent symbol collisions."}}
{"#1519": {"improvements": "[#1519](https://gitlab.com/libeigen/eigen/-/merge_requests/1519): Change `array_size` result from enum to `constexpr` for enhanced type safety and reduced compiler warnings."}}
{"#1523": {"improvements": "[#1523](https://gitlab.com/libeigen/eigen/-/merge_requests/1523): Speed up SparseQR improving execution time from 256 to 200 seconds."}}
{"#1524": {"improvements": "[#1524](https://gitlab.com/libeigen/eigen/-/merge_requests/1524): Fixed signed integer overflows in random number generation for improved stability."}}
{"#1525": {"improvements": "[#1525](https://gitlab.com/libeigen/eigen/-/merge_requests/1525): Speed up sparse x dense dot product, reducing computation time significantly."}}
{"#1526": {"backend_improvements": "[#1526](https://gitlab.com/libeigen/eigen/-/merge_requests/1526): Fix MSVC GPU build by resolving `allocate()` function conflict for better MSVC and NVCC compatibility."}}
{"#1527": {"improvements": "[#1527](https://gitlab.com/libeigen/eigen/-/merge_requests/1527): Delete shadowed typedefs to improve code clarity and maintainability."}}
{"#1528": {"improvements": "[#1528](https://gitlab.com/libeigen/eigen/-/merge_requests/1528): Fix QR colpivoting warnings and test failure by using `numext::abs` for floating-point types."}}
{"#1531": {"improvements": "[#1531](https://gitlab.com/libeigen/eigen/-/merge_requests/1531): Add degenerate checks before calling BLAS routines to handle zero-sized matrices or vectors safely."}}
{"#1532": {"improvements": "[#1532](https://gitlab.com/libeigen/eigen/-/merge_requests/1532): Updated error message to clarify the C++14 requirement, enhancing clarity for users."}}
{"#1530": {"improvements": "[#1530](https://gitlab.com/libeigen/eigen/-/merge_requests/1530): Eliminated FindCUDA CMake warning to enhance the build process."}}
{"#1529": {"improvements": "[#1529](https://gitlab.com/libeigen/eigen/-/merge_requests/1529): Fix triangular matrix-vector multiply uninitialized warning by removing const_cast and clarifying logic."}}
{"#932": {"improvements": "[#932](https://gitlab.com/libeigen/eigen/-/merge_requests/932): Replaced `make_coherent` with `CoherentPadOp` for improved performance in handling derivative sizes."}}
{"#1536": {"improvements": "[#1536](https://gitlab.com/libeigen/eigen/-/merge_requests/1536): Fix unaligned access in trmv to enhance memory alignment handling."}}
{"#1537": {"improvements": "[#1537](https://gitlab.com/libeigen/eigen/-/merge_requests/1537): Fix static_assert for better C++14 compatibility."}}
{"#1538": {"improvements": "[#1538](https://gitlab.com/libeigen/eigen/-/merge_requests/1538): Return 0 volume for empty AlignedBox, fixing erroneous negative volume calculation."}}
{"#1533": {"improvements": "[#1533](https://gitlab.com/libeigen/eigen/-/merge_requests/1533): Enhanced test coverage for the pexp function, increasing reliability."}}
{"#1535": {"improvements": "[#1535](https://gitlab.com/libeigen/eigen/-/merge_requests/1535): Fix deprecated anonymous enum-enum conversion warnings to enhance code compliance with C++ standards."}}
{"#1541": {"improvements": "[#1541](https://gitlab.com/libeigen/eigen/-/merge_requests/1541): Fix packetmath plog test on Windows by switching to numext::log for improved accuracy."}}
{"#1539": {"improvements": "[#1539](https://gitlab.com/libeigen/eigen/-/merge_requests/1539): Allow aligned assignment in TRMV to simplify edge-case handling and enhance code stability."}}
{"#1540": {"improvements": "[#1540](https://gitlab.com/libeigen/eigen/-/merge_requests/1540): Fix pexp test for ARM to handle flushed subnormal values in 32-bit comparisons."}}
{"#1542": {"improvements": "[#1542](https://gitlab.com/libeigen/eigen/-/merge_requests/1542): Split up cxx11_tensor_gpu tests to reduce timeouts and improve test reliability on Windows."}}
{"#1543": {"improvements": "[#1543](https://gitlab.com/libeigen/eigen/-/merge_requests/1543): Fix and enhance incomplete Cholesky decomposition handling."}}
{"#1545": {"improvements": "[#1545](https://gitlab.com/libeigen/eigen/-/merge_requests/1545): Enhancements to CwiseUnaryView for improved access and modification of complex array components."}}
{"#1544": {"backend_improvements": "[#1544](https://gitlab.com/libeigen/eigen/-/merge_requests/1544): Introduced Packet2l for efficient int64_t operations with SSE, enhancing integer computation capabilities."}}
{"#1547": {"improvements": "[#1547](https://gitlab.com/libeigen/eigen/-/merge_requests/1547): Fix const input and C++20 compatibility in unary view."}}
{"#1549": {"improvements": "[#1549](https://gitlab.com/libeigen/eigen/-/merge_requests/1549): Improved CwiseUnaryView const access by adding matrix mutability checks."}}
{"#1550": {"improvements": "[#1550](https://gitlab.com/libeigen/eigen/-/merge_requests/1550): Improved error messaging for unsupported `rbegin`/`rend` on GPU."}}
{"#1553": {"improvements": "[#1553](https://gitlab.com/libeigen/eigen/-/merge_requests/1553): Restore C++03 compatibility by manually constructing 2x2 matrices."}}
{"#1551": {"improvements": "[#1551](https://gitlab.com/libeigen/eigen/-/merge_requests/1551): Work around a compile issue in VS2015 by using `static_cast`."}}
{"#1552": {"improvements": "[#1552](https://gitlab.com/libeigen/eigen/-/merge_requests/1552): Enhanced MSVC compatibility for CwiseUnaryView by reorganizing code."}}
{"#1557": {"improvements": "[#1557](https://gitlab.com/libeigen/eigen/-/merge_requests/1557): Improved documentation in the Jacobi module by adjusting tag placement for `applyOnTheRight`."}}
{"#1558": {"improvements": "[#1558](https://gitlab.com/libeigen/eigen/-/merge_requests/1558): Removed slow index check in Tensor::resize for performance improvements and modernized codebase."}}
{"#1555": {"improvements": "[#1555](https://gitlab.com/libeigen/eigen/-/merge_requests/1555): Enhanced Matrix functions with constexpr for compile-time evaluation."}}
{"#1559": {"improvements": "[#1559](https://gitlab.com/libeigen/eigen/-/merge_requests/1559): Fix compatibility of SIMD intrinsics for 32-bit builds."}}
{"#1546": {"backend_improvements": "[#1546](https://gitlab.com/libeigen/eigen/-/merge_requests/1546): Add support for casting between double and int64_t for SSE and AVX2."}}
{"#1562": {"improvements": "[#1562](https://gitlab.com/libeigen/eigen/-/merge_requests/1562): Enhanced compatibility and stability by protecting the use of `alloca` on 32-bit ARM systems."}}
{"#1561": {"improvements": "[#1561](https://gitlab.com/libeigen/eigen/-/merge_requests/1561): Removed unnecessary 'extern C' in CholmodSupport for code simplification."}}
{"#1564": {"improvements": "[#1564](https://gitlab.com/libeigen/eigen/-/merge_requests/1564): Introduced vectorization for `cross3_product`, improving performance and MSVC compatibility."}}
{"#1563": {"improvements": "[#1563](https://gitlab.com/libeigen/eigen/-/merge_requests/1563): Introduced custom formatting for complex numbers, enhancing Numpy/Native compatibility."}}
{"#1566": {"improvements": "[#1566](https://gitlab.com/libeigen/eigen/-/merge_requests/1566): Fix for Packet2l on Win32 enhances compatibility and reliability."}}
{"#1568": {"improvements": "[#1568](https://gitlab.com/libeigen/eigen/-/merge_requests/1568): Fix ScalarPrinter redefinition for gcc to enhance CI reliability."}}
{"#1567": {"backend_improvements": "[#1567](https://gitlab.com/libeigen/eigen/-/merge_requests/1567): Improved 32-bit support by addressing double to int64 conversion issues and adding smoketests for Windows."}}
{"#1569": {"backend_improvements": "[#1569](https://gitlab.com/libeigen/eigen/-/merge_requests/1569): Optimized SparseMatrix move operations for improved performance."}}
{"#1570": {"improvements": "[#1570](https://gitlab.com/libeigen/eigen/-/merge_requests/1570): Use truncation rather than rounding when casting Packet2d to Packet2l to enhance accuracy."}}
{"#1554": {"major_features": "[#1554](https://gitlab.com/libeigen/eigen/-/merge_requests/1554): Introduced SimplicialNonHermitianLLT and SimplicialNonHermitianLDLT solvers for complex symmetric matrix handling."}}
{"#1560": {"improvements": "[#1560](https://gitlab.com/libeigen/eigen/-/merge_requests/1560): Implemented `cwiseSquare` function and fixed typo in `cwiseCbrt`, enhancing test coverage for matrix operations."}}
{"#1565": {"improvements": "[#1565](https://gitlab.com/libeigen/eigen/-/merge_requests/1565): Enhance compile-time expressions with symbols for efficient computations."}}
{"#1571": {"improvements": "[#1571](https://gitlab.com/libeigen/eigen/-/merge_requests/1571): Fix usages of Eigen::array for std::array compatibility."}}
{"#1572": {"backend_improvements": "[#1572](https://gitlab.com/libeigen/eigen/-/merge_requests/1572): Implemented AVX2 vectorized casting from `double` to `int64_t`, with performance and code clean-ups."}}
{"#1515": {"improvements": "[#1515](https://gitlab.com/libeigen/eigen/-/merge_requests/1515): Fix random number generation for custom float types to enhance accuracy and minimize rounding bias."}}
{"#1574": {"backend_improvements": "[#1574](https://gitlab.com/libeigen/eigen/-/merge_requests/1574): Guard `Packet4l` definition in AVX to avoid conflicts and enhance stability."}}
{"#1575": {"improvements": "[#1575](https://gitlab.com/libeigen/eigen/-/merge_requests/1575): Improved handling of long double random number generation by refining fallback to double for unsupported configurations."}}
{"#1577": {"improvements": "[#1577](https://gitlab.com/libeigen/eigen/-/merge_requests/1577): Fix preverse for PowerPC to enhance compatibility and performance."}}
{"#1576": {"improvements": "[#1576](https://gitlab.com/libeigen/eigen/-/merge_requests/1576): Fixed preprocessor condition to restore fast float logistic implementation, enhancing performance and compatibility."}}
{"#1578": {"improvements": "[#1578](https://gitlab.com/libeigen/eigen/-/merge_requests/1578): Enhancements to Geometry_SIMD.h improve SIMD operations and compatibility."}}
{"#1580": {"backend_improvements": "[#1580](https://gitlab.com/libeigen/eigen/-/merge_requests/1580): Add support for Packet8l to AVX512, optimizing performance and compatibility."}}
{"#1581": {"improvements": "[#1581](https://gitlab.com/libeigen/eigen/-/merge_requests/1581): Add `constexpr` to accessors in DenseBase, Quaternions, and Translations to enhance compile-time functionality."}}
{"#1583": {"improvements": "[#1583](https://gitlab.com/libeigen/eigen/-/merge_requests/1583): Optimized `pexp` function for up to 6% faster performance."}}
{"#1582": {"improvements": "[#1582](https://gitlab.com/libeigen/eigen/-/merge_requests/1582): Refactor indexed view to fix warnings and errors in MSVC 14.16 build."}}
{"#1573": {"improvements": "[#1573](https://gitlab.com/libeigen/eigen/-/merge_requests/1573): Fix compiler warnings for MSVC and enhance code quality and cross-platform compatibility."}}
{"#1585": {"backend_improvements": "[#1585](https://gitlab.com/libeigen/eigen/-/merge_requests/1585): Handle missing AVX512 intrinsic, improving stability and reliability with GCC."}}
{"#1584": {"improvements": "[#1584](https://gitlab.com/libeigen/eigen/-/merge_requests/1584): Implements optimizations for Intel `pblend`, improving mask creation and comparison operations."}}
{"#1522": {"improvements": "[#1522](https://gitlab.com/libeigen/eigen/-/merge_requests/1522): Introduces SIMD implementation for double precision sincos, enhancing performance using Veltkamp method and Pad\u00e9 approximant."}}
{"#1588": {"backend_improvements": "[#1588](https://gitlab.com/libeigen/eigen/-/merge_requests/1588): Fix build for pblend and psin_double, pcos_double when AVX but not AVX2 is supported."}}
{"#1591": {"improvements": "[#1591](https://gitlab.com/libeigen/eigen/-/merge_requests/1591): Fix compilation problems with PacketI on PowerPC for enhanced compatibility."}}
{"#1592": {"backend_improvements": "[#1592](https://gitlab.com/libeigen/eigen/-/merge_requests/1592): Enhanced psincos for PPC and fixed ARM32 test failures."}}
{"#1590": {"improvements": "[#1590](https://gitlab.com/libeigen/eigen/-/merge_requests/1590): Optimized pblend functionality with blend_mask_helper and enhanced auto vectorization for improved performance."}}
{"#1593": {"improvements": "[#1593](https://gitlab.com/libeigen/eigen/-/merge_requests/1593): Specialized evaluation for ternary operations to optimize `(a < b).select(c, d)` expression."}}
{"#1594": {"improvements": "[#1594](https://gitlab.com/libeigen/eigen/-/merge_requests/1594): Fix `tridiagonalization_inplace_selector::run()` for CUDA compatibility by adding `EIGEN_DEVICE_FUNC`."}}
{"#1595": {"backend_improvements": "[#1595](https://gitlab.com/libeigen/eigen/-/merge_requests/1595): Enhance CI scripts with Windows fixes and performance testing additions."}}
{"#1597": {"improvements": "[#1597](https://gitlab.com/libeigen/eigen/-/merge_requests/1597): Fix autodiff enum comparison warnings to enhance code quality by reducing compilation warnings."}}
{"#1596": {"improvements": "[#1596](https://gitlab.com/libeigen/eigen/-/merge_requests/1596): Fix unused variable warnings in TensorIO to enhance code cleanliness and maintainability."}}
{"#1598": {"improvements": "[#1598](https://gitlab.com/libeigen/eigen/-/merge_requests/1598): Fix transposed matrix product bug to reduce unnecessary memory allocations."}}
{"#1599": {"improvements": "[#1599](https://gitlab.com/libeigen/eigen/-/merge_requests/1599): Prevent PPC runner from cross-compiling non-PPC targets to reduce build failures."}}
{"#1601": {"improvements": "[#1601](https://gitlab.com/libeigen/eigen/-/merge_requests/1601): Fixes sine and cosine functions on PPC by implementing a missing comparison function."}}
{"#1602": {"improvements": "[#1602](https://gitlab.com/libeigen/eigen/-/merge_requests/1602): Adjust error bound for nonlinear tests to account for AVX usage without FMA."}}
{"#1604": {"improvements": "[#1604](https://gitlab.com/libeigen/eigen/-/merge_requests/1604): Unbork AVX512 preduce_mul on MSVC for improved reliability and correctness."}}
{"#1606": {"improvements": "[#1606](https://gitlab.com/libeigen/eigen/-/merge_requests/1606): Fix undefined behavior for generating inputs to the predux_mul test to ensure reliable results."}}
{"#1607": {"improvements": "[#1607](https://gitlab.com/libeigen/eigen/-/merge_requests/1607): Relaxed hard-coded error bounds in nonlinear tests to enhance cross-platform reliability."}}
{"#1605": {"improvements": "[#1605](https://gitlab.com/libeigen/eigen/-/merge_requests/1605): Removed unnecessary semicolons to enhance code readability."}}
{"#1493": {"improvements": "[#1493](https://gitlab.com/libeigen/eigen/-/merge_requests/1493): Introduce `trunc` operation and improve code structure for SIMD operations."}}
{"#1600": {"improvements": "[#1600](https://gitlab.com/libeigen/eigen/-/merge_requests/1600): Optimizes transposed matrix products to reduce memory usage and improve performance."}}
{"#1610": {"improvements": "[#1610](https://gitlab.com/libeigen/eigen/-/merge_requests/1610): Fix new generic nearest integer ops on GPU for enhanced compatibility and performance."}}
{"#1609": {"improvements": "[#1609](https://gitlab.com/libeigen/eigen/-/merge_requests/1609): Enhanced reliability of orthonormality tests for eigenvectors by adjusting tolerance for matrix scaling."}}
{"#1556": {"improvements": "[#1556](https://gitlab.com/libeigen/eigen/-/merge_requests/1556): Reorganize CMake for better efficiency and usability in non-top-level builds."}}
{"#1612": {"improvements": "[#1612](https://gitlab.com/libeigen/eigen/-/merge_requests/1612): Introduces new bit shifting functionalities such as logical and arithmetic shift operators for integer types."}}
{"#1613": {"improvements": "[#1613](https://gitlab.com/libeigen/eigen/-/merge_requests/1613): Improved MSVC support by utilizing MSVC functions for 128-bit integer operations."}}
{"#1614": {"improvements": "[#1614](https://gitlab.com/libeigen/eigen/-/merge_requests/1614): Fix FFT when destination does not have unit stride by using a temporary buffer."}}
{"#1611": {"improvements": "[#1611](https://gitlab.com/libeigen/eigen/-/merge_requests/1611): Fix CMake package to correctly set include path for eigen target."}}
{"#1615": {"improvements": "[#1615](https://gitlab.com/libeigen/eigen/-/merge_requests/1615): Change predux on PowerPC for Packet4i to NOT saturate the sum of the elements for consistency."}}
{"#1616": {"improvements": "[#1616](https://gitlab.com/libeigen/eigen/-/merge_requests/1616): Fixed GCC 6 compile error by removing namespace prefixes from struct specializations."}}
{"#1618": {"improvements": "[#1618](https://gitlab.com/libeigen/eigen/-/merge_requests/1618): Fixed a clerical error in Matrix class documentation."}}
{"#1621": {"improvements": "[#1621](https://gitlab.com/libeigen/eigen/-/merge_requests/1621): Added checks for valid indices in SparseMatrix::insert to enhance robustness."}}
{"#1622": {"improvements": "[#1622](https://gitlab.com/libeigen/eigen/-/merge_requests/1622): Fix ubsan failure in array_for_matrix to enhance robustness and reduce undefined behavior."}}
{"#1624": {"improvements": "[#1624](https://gitlab.com/libeigen/eigen/-/merge_requests/1624): Improved performance by eliminating int to ptr casting in `aligned_alloca`."}}
{"#1619": {"improvements": "[#1619](https://gitlab.com/libeigen/eigen/-/merge_requests/1619): Suppress C++23 deprecation warnings for std::has_denorm and std::has_denorm_loss to enhance compatibility."}}
{"#1625": {"improvements": "[#1625](https://gitlab.com/libeigen/eigen/-/merge_requests/1625): Utilize `__builtin_alloca_with_align` for improved memory allocation efficiency."}}
{"#1623": {"improvements": "[#1623](https://gitlab.com/libeigen/eigen/-/merge_requests/1623): Reformatted EIGEN_STATIC_ASSERT() as a statement macro for consistency and maintainability."}}
{"#1395": {"major_features": "[#1395](https://gitlab.com/libeigen/eigen/-/merge_requests/1395): Incorporate Threadpool in Eigen Core for enhanced computation performance."}}
{"#1620": {"improvements": "[#1620](https://gitlab.com/libeigen/eigen/-/merge_requests/1620): Fix compilation failures on constexpr matrices with GCC 14."}}
{"#1628": {"improvements": "[#1628](https://gitlab.com/libeigen/eigen/-/merge_requests/1628): Improve threading test reliability by adjusting header file inclusion and resolving C++20 warnings."}}
{"#1629": {"improvements": "[#1629](https://gitlab.com/libeigen/eigen/-/merge_requests/1629): Vectorize `isfinite` and `isinf` functions for improved performance."}}
{"#1630": {"improvements": "[#1630](https://gitlab.com/libeigen/eigen/-/merge_requests/1630): Fix warnings about repeated definitions of macros, enhancing code reliability."}}
{"#1631": {"improvements": "[#1631](https://gitlab.com/libeigen/eigen/-/merge_requests/1631): Suppressed GCC warnings on enum comparisons to enhance code quality."}}
{"#1632": {"improvements": "[#1632](https://gitlab.com/libeigen/eigen/-/merge_requests/1632): Vectorized allFinite() function achieving significant performance enhancement."}}
{"#1633": {"improvements": "[#1633](https://gitlab.com/libeigen/eigen/-/merge_requests/1633): Resolved warnings stemming from previous fixes, enhancing code quality and maintainability."}}
{"#1635": {"improvements": "[#1635](https://gitlab.com/libeigen/eigen/-/merge_requests/1635): Fixed warning C5054 by ensuring type-safe enum comparisons."}}
{"#1636": {"improvements": "[#1636](https://gitlab.com/libeigen/eigen/-/merge_requests/1636): Allow pointer_based_stl_iterator to conform to the contiguous_iterator concept in C++20, enhancing compatibility with modern C++ ranges."}}
{"#1637": {"improvements": "[#1637](https://gitlab.com/libeigen/eigen/-/merge_requests/1637): Fixed scalar pselect to handle NaN values consistently in MSVC's fast-math mode."}}
{"#1641": {"backend_improvements": "[#1641](https://gitlab.com/libeigen/eigen/-/merge_requests/1641): Implemented AVX512F-based casting from `double` to `int64_t` for performance enhancement."}}
{"#1642": {"other_changes": "[#1642](https://gitlab.com/libeigen/eigen/-/merge_requests/1642): Reverted a previous change to fix scalar pselect to maintain library integrity."}}
{"#1639": {"backend_improvements": "[#1639](https://gitlab.com/libeigen/eigen/-/merge_requests/1639): Fix AVX512FP16 build failure by implementing vectorized cast specializations."}}
{"#1644": {"improvements": "[#1644](https://gitlab.com/libeigen/eigen/-/merge_requests/1644): Add async support for 'chip' and 'extract_volume_patches' with extensive testing."}}
{"#1640": {"other_changes": "[#1640](https://gitlab.com/libeigen/eigen/-/merge_requests/1640): Fix markdown formatting in README.md."}}
{"#1653": {"improvements": "[#1653](https://gitlab.com/libeigen/eigen/-/merge_requests/1653): Corrected numerous typographical errors to enhance code clarity."}}
{"#1649": {"improvements": "[#1649](https://gitlab.com/libeigen/eigen/-/merge_requests/1649): Fix compiler warnings in BDCSVD by using placement new for object initialization."}}
{"#1659": {"improvements": "[#1659](https://gitlab.com/libeigen/eigen/-/merge_requests/1659): Updated .clang-format to support JavaScript files, improving formatting process."}}
{"#1660": {"improvements": "[#1660](https://gitlab.com/libeigen/eigen/-/merge_requests/1660): Updated eigen_navtree_hacks.js to enhance performance and usability."}}
{"#1654": {"improvements": "[#1654](https://gitlab.com/libeigen/eigen/-/merge_requests/1654): Introduced alignment macro to reduce atomic false sharing in RunQueue, enhancing multithreaded performance."}}
{"#1656": {"improvements": "[#1656](https://gitlab.com/libeigen/eigen/-/merge_requests/1656): Fixes multiple typos to enhance code readability and professionalism."}}
{"#1655": {"backend_improvements": "[#1655](https://gitlab.com/libeigen/eigen/-/merge_requests/1655): Optimize ThreadPool spinning for enhanced performance and reduced latency."}}
{"#1645": {"improvements": "[#1645](https://gitlab.com/libeigen/eigen/-/merge_requests/1645): Removed implicit 'this' capture in lambdas to prevent Clang warnings and enhance code clarity."}}
{"#1662": {"backend_improvements": "[#1662](https://gitlab.com/libeigen/eigen/-/merge_requests/1662): Enhanced performance of complex matrix multiplication with dynamic block panel size adjustment, improving speed by 8-33%."}}
{"#1658": {"improvements": "[#1658](https://gitlab.com/libeigen/eigen/-/merge_requests/1658): Fix pi in kissfft to enhance accuracy in computations."}}
{"#1651": {"improvements": "[#1651](https://gitlab.com/libeigen/eigen/-/merge_requests/1651): Fixes and enhances conversion of `Eigen::half` to `_Float16` in AVX512 to resolve compilation issues and improve code robustness."}}
{"#1648": {"improvements": "[#1648](https://gitlab.com/libeigen/eigen/-/merge_requests/1648): Fix Woverflow warnings in PacketMathFP16 with explicit short casts."}}
{"#1661": {"improvements": "[#1661](https://gitlab.com/libeigen/eigen/-/merge_requests/1661): Modified `hlog` to allow symbol lookup in local namespaces, improving function flexibility and consistency."}}
{"#1650": {"improvements": "[#1650](https://gitlab.com/libeigen/eigen/-/merge_requests/1650): Remove C++23 check around has_denorm deprecation suppression to prevent MSVC warnings."}}
{"#1663": {"backend_improvements": "[#1663](https://gitlab.com/libeigen/eigen/-/merge_requests/1663): Optimized complex multiplication using `vfmaddsub` for SSE/AVX, enhancing performance."}}
{"#1665": {"improvements": "[#1665](https://gitlab.com/libeigen/eigen/-/merge_requests/1665): Cleanups to threaded product code and test for improved clarity and maintainability."}}
{"#1666": {"improvements": "[#1666](https://gitlab.com/libeigen/eigen/-/merge_requests/1666): Add a yield instruction in the two spinloops of the threaded matmul implementation to optimize CPU resource usage."}}
{"#1668": {"improvements": "[#1668](https://gitlab.com/libeigen/eigen/-/merge_requests/1668): Include <thread> for improved thread management with std::this_thread::yield()."}}
{"#1667": {"improvements": "[#1667](https://gitlab.com/libeigen/eigen/-/merge_requests/1667): Speed up StableNorm for non-trivial sizes and improve consistency between aligned and unaligned inputs."}}
{"#1670": {"improvements": "[#1670](https://gitlab.com/libeigen/eigen/-/merge_requests/1670): Speed up and improve accuracy of tanh with new rational approximation."}}
{"#1675": {"improvements": "[#1675](https://gitlab.com/libeigen/eigen/-/merge_requests/1675): Add vectorized implementation of tanh<double> to enhance performance across various ISAs."}}
{"#1672": {"improvements": "[#1672](https://gitlab.com/libeigen/eigen/-/merge_requests/1672): Vectorize squaredNorm() for complex types to enhance performance and efficiency."}}
{"#1677": {"improvements": "[#1677](https://gitlab.com/libeigen/eigen/-/merge_requests/1677): Consolidated float and double implementations of patan() for improved performance and accuracy."}}
{"#1669": {"backend_improvements": "[#1669](https://gitlab.com/libeigen/eigen/-/merge_requests/1669): Introduces ARM NEON complex intrinsics for enhanced performance in complex number computations."}}
{"#1678": {"improvements": "[#1678](https://gitlab.com/libeigen/eigen/-/merge_requests/1678): Suppress Wmaybe-uninitialized warning in TensorVolumePatchOp by handling unreachable code."}}
{"#1673": {"backend_improvements": "[#1673](https://gitlab.com/libeigen/eigen/-/merge_requests/1673): Improved SVE intrinsic performance by using \"_x\" suffix instead of \"_z\", reducing instruction overhead."}}
{"#1676": {"improvements": "[#1676](https://gitlab.com/libeigen/eigen/-/merge_requests/1676): Fixed documentation visibility for GeneralizedEigenSolver::eigenvectors() method."}}
{"#1681": {"improvements": "[#1681](https://gitlab.com/libeigen/eigen/-/merge_requests/1681): Enhanced complex number trait handling and added tests for pnmsub."}}
{"#1679": {"improvements": "[#1679](https://gitlab.com/libeigen/eigen/-/merge_requests/1679): Suppressed Wmaybe-uninitialized warning in BDCSVD for better memory safety and code reliability."}}
{"#1683": {"backend_improvements": "[#1683](https://gitlab.com/libeigen/eigen/-/merge_requests/1683): Introduces SSE and AVX implementations for complex FMA to enhance performance and accuracy."}}
{"#1680": {"improvements": "[#1680](https://gitlab.com/libeigen/eigen/-/merge_requests/1680): Enhanced TensorChipping with detection of 'effectively inner/outer' chipping for better data loading optimization."}}
{"#1682": {"improvements": "[#1682](https://gitlab.com/libeigen/eigen/-/merge_requests/1682): Added nvc++ support by fixing ARM NEON compilation errors and improving test flag handling."}}
{"#1684": {"improvements": "[#1684](https://gitlab.com/libeigen/eigen/-/merge_requests/1684): Vectorize atanh<double>, improve standard compliance and performance for |x| >= 1."}}
{"#1685": {"improvements": "[#1685](https://gitlab.com/libeigen/eigen/-/merge_requests/1685): Fix out-of-range arguments to _mm_permute_pd to enhance stability."}}
{"#1688": {"improvements": "[#1688](https://gitlab.com/libeigen/eigen/-/merge_requests/1688): Fix bug for atanh(-1) improving stability and accuracy."}}
{"#1690": {"improvements": "[#1690](https://gitlab.com/libeigen/eigen/-/merge_requests/1690): Fixes bug in previous atanh implementation, enhancing accuracy and reliability."}}
{"#1689": {"backend_improvements": "[#1689](https://gitlab.com/libeigen/eigen/-/merge_requests/1689): Fix a bug for pcmp_lt_or_nan and add sqrt support for ARM SVE."}}
{"#1691": {"improvements": "[#1691](https://gitlab.com/libeigen/eigen/-/merge_requests/1691): Updated NonBlockingThreadPool.h to use eigen_plain_assert for enhanced compatibility with non-C++26 projects."}}
{"#1671": {"improvements": "[#1671](https://gitlab.com/libeigen/eigen/-/merge_requests/1671): Optimized dot products with new evaluator and explicit unrolling for improved performance."}}
{"#1692": {"improvements": "[#1692](https://gitlab.com/libeigen/eigen/-/merge_requests/1692): Optimize dot product for enhanced performance on smaller vector sizes."}}
{"#1693": {"improvements": "[#1693](https://gitlab.com/libeigen/eigen/-/merge_requests/1693): Fix generic ceil for SSE2 to handle negative numbers near zero correctly."}}
{"#1694": {"improvements": "[#1694](https://gitlab.com/libeigen/eigen/-/merge_requests/1694): Make fixed size matrices and arrays trivially copy and move constructible to enhance performance and compatibility."}}
{"#1626": {"improvements": "[#1626](https://gitlab.com/libeigen/eigen/-/merge_requests/1626): Refactor code to use constexpr for data() functions, enhancing compile-time evaluation and optimization."}}
{"#1697": {"improvements": "[#1697](https://gitlab.com/libeigen/eigen/-/merge_requests/1697): Removed unneeded call to _mm_setzero_si128 to address issue #2858."}}
{"#1698": {"improvements": "[#1698](https://gitlab.com/libeigen/eigen/-/merge_requests/1698): Fix implicit conversion in TensorChipping to enhance code reliability and prevent unexpected behavior."}}
{"#1699": {"improvements": "[#1699](https://gitlab.com/libeigen/eigen/-/merge_requests/1699): Fix warning in EigenSolver::pseudoEigenvalueMatrix() for improved robustness and compatibility."}}
{"#1700": {"improvements": "[#1700](https://gitlab.com/libeigen/eigen/-/merge_requests/1700): Added debugging info to float_pow_test_impl and cleaned up array_cwise tests."}}
{"#1701": {"improvements": "[#1701](https://gitlab.com/libeigen/eigen/-/merge_requests/1701): Add missing EIGEN_DEVICE_FUNC annotations to enhance CUDA compatibility."}}
{"#1702": {"improvements": "[#1702](https://gitlab.com/libeigen/eigen/-/merge_requests/1702): Added max_digits10 to NumTraits for mpreal types to enhance precision handling."}}
{"#1703": {"improvements": "[#1703](https://gitlab.com/libeigen/eigen/-/merge_requests/1703): Fix inverse evaluator for CUDA devices by marking as host+device function."}}
{"#1706": {"improvements": "[#1706](https://gitlab.com/libeigen/eigen/-/merge_requests/1706): Enhanced speed and accuracy of `erf()` function with reduced error and significant performance gains."}}
{"#1707": {"improvements": "[#1707](https://gitlab.com/libeigen/eigen/-/merge_requests/1707): Fixes bug to avoid NaN in erf(x) for large |x| with maintained speedup."}}
{"#1709": {"improvements": "[#1709](https://gitlab.com/libeigen/eigen/-/merge_requests/1709): Use ppolevl for polynomial evaluation to enhance maintainability and set the stage for future optimizations."}}
{"#1708": {"improvements": "[#1708](https://gitlab.com/libeigen/eigen/-/merge_requests/1708): Enhanced robustness of the `atan` test for 32-bit ARM platforms, resolving test failures."}}
{"#1710": {"improvements": "[#1710](https://gitlab.com/libeigen/eigen/-/merge_requests/1710): Vectorize erfc() for float to enhance accuracy and performance."}}
{"#1711": {"improvements": "[#1711](https://gitlab.com/libeigen/eigen/-/merge_requests/1711): Fix `DenseBase::tail` for dynamic template arguments, enhancing flexibility and usability."}}
{"#1712": {"improvements": "[#1712](https://gitlab.com/libeigen/eigen/-/merge_requests/1712): Suppressed ARM array out-of-bounds warnings for `reverseInPlace` function on fixed-size matrices."}}
{"#1704": {"improvements": "[#1704](https://gitlab.com/libeigen/eigen/-/merge_requests/1704): Introduced a free-function `swap` for dense and sparse matrices to enhance compatibility with C++ standard algorithms."}}
{"#1696": {"major_features": "[#1696](https://gitlab.com/libeigen/eigen/-/merge_requests/1696): Make fixed size matrices and arrays trivially_default_constructible."}}
{"#1715": {"improvements": "[#1715](https://gitlab.com/libeigen/eigen/-/merge_requests/1715): Introduced `exp2(x)` as a packet op and array method, enhancing precision with reduced error rates."}}
{"#1716": {"improvements": "[#1716](https://gitlab.com/libeigen/eigen/-/merge_requests/1716): Fix stack allocation assert to improve performance by relocating static assert and reducing performance overhead during evaluator instantiation."}}
{"#1714": {"improvements": "[#1714](https://gitlab.com/libeigen/eigen/-/merge_requests/1714): Add nextafter for bfloat16 to enhance precision and correctness in calculations."}}
{"#1719": {"improvements": "[#1719](https://gitlab.com/libeigen/eigen/-/merge_requests/1719): Add tests for sizeof() with one dynamic dimension to enhance coverage."}}
{"#1722": {"improvements": "[#1722](https://gitlab.com/libeigen/eigen/-/merge_requests/1722): Modified handling of matrix parameters to improve internal data alignment by avoiding passing by value."}}
{"#1720": {"improvements": "[#1720](https://gitlab.com/libeigen/eigen/-/merge_requests/1720): Fix NVCC builds for CUDA 10+, enhancing compatibility and reducing warnings."}}
{"#1718": {"improvements": "[#1718](https://gitlab.com/libeigen/eigen/-/merge_requests/1718): Fix OOB access in triangular matrix multiplication to enhance robustness."}}
{"#1723": {"improvements": "[#1723](https://gitlab.com/libeigen/eigen/-/merge_requests/1723): Fix clang6 compiler issues with optimization flags."}}
{"#1725": {"improvements": "[#1725](https://gitlab.com/libeigen/eigen/-/merge_requests/1725): Enhanced ARM compatibility by fixing clang6 failures and removing SSE reliance."}}
{"#1724": {"improvements": "[#1724](https://gitlab.com/libeigen/eigen/-/merge_requests/1724): Fix macro redefinition warning in FFTW test by removing default FFT macros from CMake test declarations."}}
{"#1721": {"improvements": "[#1721](https://gitlab.com/libeigen/eigen/-/merge_requests/1721): Ensure compatibility of EIGEN_ALIGNED_ALLOCA with nvc++ by replacing __builtin_alloca_with_align."}}
{"#1726": {"improvements": "[#1726](https://gitlab.com/libeigen/eigen/-/merge_requests/1726): Fixes GPU build issues by initializing `constexpr` global variables for CUDA compatibility."}}
{"#1727": {"improvements": "[#1727](https://gitlab.com/libeigen/eigen/-/merge_requests/1727): Make fixed-size objects trivially move assignable for improved performance."}}
{"#1729": {"improvements": "[#1729](https://gitlab.com/libeigen/eigen/-/merge_requests/1729): Add nvc++ compiler support in Eigen v3.4 for better compatibility."}}
{"#1627": {"major_features": "[#1627](https://gitlab.com/libeigen/eigen/-/merge_requests/1627): Implement Tensor roll function for circular shifts."}}
{"#1730": {"breaking_changes": "[#1730](https://gitlab.com/libeigen/eigen/-/merge_requests/1730): Revert change to make fixed-size objects trivially move assignable due to issues with `setZero()`."}}
{"#1731": {"improvements": "[#1731](https://gitlab.com/libeigen/eigen/-/merge_requests/1731): Use EIGEN_CPLUSPLUS instead of __cplusplus for better MSVC compatibility."}}
{"#1733": {"backend_improvements": "[#1733](https://gitlab.com/libeigen/eigen/-/merge_requests/1733): Add missing AVX `predux_any` functions for enhanced vectorized performance."}}
{"#1734": {"backend_improvements": "[#1734](https://gitlab.com/libeigen/eigen/-/merge_requests/1734): Enhanced predux_any function using AVX for performance improvements."}}
{"#1732": {"backend_improvements": "[#1732](https://gitlab.com/libeigen/eigen/-/merge_requests/1732): Vectorize erfc(x) for double and improve accuracy and performance for float."}}
{"#1736": {"improvements": "[#1736](https://gitlab.com/libeigen/eigen/-/merge_requests/1736): Add missing `EIGEN_DEVICE_FUNCTION` decorations enhancing compatibility and performance."}}
{"#1737": {"improvements": "[#1737](https://gitlab.com/libeigen/eigen/-/merge_requests/1737): Ensure fixed-size matrices conform to std::is_standard_layout, enhancing type safety and reducing compiler warnings."}}
{"#1739": {"improvements": "[#1739](https://gitlab.com/libeigen/eigen/-/merge_requests/1739): Use numeric limits for overflow checks instead of C99 macro, enhancing type safety and compatibility."}}
{"#1740": {"improvements": "[#1740](https://gitlab.com/libeigen/eigen/-/merge_requests/1740): Use old syntax for CMake's separate_arguments() to restore compatibility with old CMake versions."}}
{"#1735": {"improvements": "[#1735](https://gitlab.com/libeigen/eigen/-/merge_requests/1735): Make element accessors constexpr to enhance compile-time usability."}}
{"#1741": {"improvements": "[#1741](https://gitlab.com/libeigen/eigen/-/merge_requests/1741): Ensure destructors needed by lldb are non-inlined for proper debugging."}}
{"#1742": {"improvements": "[#1742](https://gitlab.com/libeigen/eigen/-/merge_requests/1742): Cast enum to int in Assign_MKL.h to resolve C++20 compatibility issues."}}
{"#1743": {"improvements": "[#1743](https://gitlab.com/libeigen/eigen/-/merge_requests/1743): Vectorize erf(x) for double precision with significant speed improvements using SIMD instructions."}}
{"#1745": {"improvements": "[#1745](https://gitlab.com/libeigen/eigen/-/merge_requests/1745): Fix C++20 constexpr test compilation failures, enhancing test suite compatibility."}}
{"#1747": {"improvements": "[#1747](https://gitlab.com/libeigen/eigen/-/merge_requests/1747): Optimized erf(x) by removing redundant computations for large arguments."}}
{"#1748": {"improvements": "[#1748](https://gitlab.com/libeigen/eigen/-/merge_requests/1748): Removed unnecessary check for HasBlend trait to enhance code efficiency and readability."}}
{"#1749": {"backend_improvements": "[#1749](https://gitlab.com/libeigen/eigen/-/merge_requests/1749): Disable `fill_n` optimization for MSVC to improve performance."}}
{"#1750": {"improvements": "[#1750](https://gitlab.com/libeigen/eigen/-/merge_requests/1750): Speed up `exp(x)` function by 30-35%, leveraging input characteristics for performance gains."}}
{"#1751": {"improvements": "[#1751](https://gitlab.com/libeigen/eigen/-/merge_requests/1751): Reverted a commit to restore stability in debug mode builds."}}
{"#1752": {"improvements": "[#1752](https://gitlab.com/libeigen/eigen/-/merge_requests/1752): Prevent premature overflow in exp(x) and improve performance by 3-4%."}}
{"#1753": {"backend_improvements": "[#1753](https://gitlab.com/libeigen/eigen/-/merge_requests/1753): Re-enable vectorized erf<double>(x) for SSE and AVX for optimized performance."}}
{"#1754": {"improvements": "[#1754](https://gitlab.com/libeigen/eigen/-/merge_requests/1754): Simplify and speed up pow() by 5-6%."}}
{"#1755": {"improvements": "[#1755](https://gitlab.com/libeigen/eigen/-/merge_requests/1755): Optimize `setConstant` and `setZero` for better performance in Eigen library."}}
{"#1756": {"improvements": "[#1756](https://gitlab.com/libeigen/eigen/-/merge_requests/1756): Improve pow(x,y) with 25% speedup and increased accuracy for integer exponents."}}
{"#1758": {"improvements": "[#1758](https://gitlab.com/libeigen/eigen/-/merge_requests/1758): Add test for using pcast on scalars to enhance testing coverage."}}
{"#1759": {"improvements": "[#1759](https://gitlab.com/libeigen/eigen/-/merge_requests/1759): Refactor special case handling in pow(x,y) and revert to repeated squaring for <float,int> to enhance accuracy and efficiency."}}
{"#1760": {"improvements": "[#1760](https://gitlab.com/libeigen/eigen/-/merge_requests/1760): Fix UB in setZero to prevent undefined behavior with null destination arrays."}}
{"#1761": {"improvements": "[#1761](https://gitlab.com/libeigen/eigen/-/merge_requests/1761): Improved map fill logic to enhance flexibility and memory access patterns."}}
{"#1762": {"improvements": "[#1762](https://gitlab.com/libeigen/eigen/-/merge_requests/1762): Fixes IOFormat alignment by correcting the rowSpacer computation."}}
{"#1764": {"improvements": "[#1764](https://gitlab.com/libeigen/eigen/-/merge_requests/1764): Updated CI configuration to use `ubuntu:latest`, improving build reliability."}}
{"#1763": {"improvements": "[#1763](https://gitlab.com/libeigen/eigen/-/merge_requests/1763): Documentation improvements for move constructors and move assignments."}}
{"#1765": {"improvements": "[#1765](https://gitlab.com/libeigen/eigen/-/merge_requests/1765): Introduce deploy phase to CI for tagging successful nightly builds."}}
{"#1766": {"other_changes": "[#1766](https://gitlab.com/libeigen/eigen/-/merge_requests/1766): Update ROCm docker image in CI to enhance reliability."}}
{"#1767": {"backend_improvements": "[#1767](https://gitlab.com/libeigen/eigen/-/merge_requests/1767): Update ROCm Docker image to Ubuntu 22.04 for improved stability."}}
{"#1768": {"backend_improvements": "[#1768](https://gitlab.com/libeigen/eigen/-/merge_requests/1768): Transition to Ubuntu 24.04 in ROCm Docker for improved stability."}}
{"#1769": {"improvements": "[#1769](https://gitlab.com/libeigen/eigen/-/merge_requests/1769): Fix special packetmath erfc flushing for ARM32 to handle subnormals."}}
{"#1771": {"improvements": "[#1771](https://gitlab.com/libeigen/eigen/-/merge_requests/1771): Update deploy job to enhance efficiency and streamline steps."}}
{"#1770": {"backend_improvements": "[#1770](https://gitlab.com/libeigen/eigen/-/merge_requests/1770): Experiment with Alpine for slimmer Docker builds in CI."}}
{"#1772": {"improvements": "[#1772](https://gitlab.com/libeigen/eigen/-/merge_requests/1772): Updated git clone strategy to improve branch update reliability."}}
{"#1773": {"backend_improvements": "[#1773](https://gitlab.com/libeigen/eigen/-/merge_requests/1773): CI pipeline now uses commit tags for improved traceability and reliability."}}
{"#1775": {"improvements": "[#1775](https://gitlab.com/libeigen/eigen/-/merge_requests/1775): Remove branch name from nightly tag job to simplify the tagging process."}}
{"#1774": {"improvements": "[#1774](https://gitlab.com/libeigen/eigen/-/merge_requests/1774): Implemented equality comparison operator for matrices with different sizes."}}
{"#1776": {"improvements": "[#1776](https://gitlab.com/libeigen/eigen/-/merge_requests/1776): Use alpine for deploying nightly tag, improving deployment efficiency."}}
{"#1779": {"improvements": "[#1779](https://gitlab.com/libeigen/eigen/-/merge_requests/1779): Enable fill_n and memset optimizations for construction and assignment."}}
{"#1785": {"improvements": "[#1785](https://gitlab.com/libeigen/eigen/-/merge_requests/1785): Add missing `#include <new>` to resolve build issue."}}
{"#1786": {"improvements": "[#1786](https://gitlab.com/libeigen/eigen/-/merge_requests/1786): Use `omp_get_max_threads` if `setNbThreads` is not set to improve threading behavior."}}
{"#1787": {"backend_improvements": "[#1787](https://gitlab.com/libeigen/eigen/-/merge_requests/1787): Fix the missing CUDA device qualifier to enhance CUDA compatibility and performance."}}
{"#1788": {"backend_improvements": "[#1788](https://gitlab.com/libeigen/eigen/-/merge_requests/1788): Removed unnecessary ToolChain PPA from CI configuration."}}
{"#1790": {"improvements": "[#1790](https://gitlab.com/libeigen/eigen/-/merge_requests/1790): Fix read of uninitialized threshold in SparseQR, enhancing code clarity and safety."}}
{"#1792": {"improvements": "[#1792](https://gitlab.com/libeigen/eigen/-/merge_requests/1792): Fixed std::fill_n reference to resolve namespace conflicts and improve code reliability."}}
{"#1793": {"improvements": "[#1793](https://gitlab.com/libeigen/eigen/-/merge_requests/1793): Zero-initialize test arrays to avoid uninitialized reads, enhancing test reliability and memory safety."}}
{"#1794": {"improvements": "[#1794](https://gitlab.com/libeigen/eigen/-/merge_requests/1794): Clarified documentation for complex number cross product."}}
{"#1795": {"improvements": "[#1795](https://gitlab.com/libeigen/eigen/-/merge_requests/1795): `Eigen::aligned_allocator` modified to not inherit from `std::allocator`, preventing incorrect method calls."}}
{"#1777": {"major_features": "[#1777](https://gitlab.com/libeigen/eigen/-/merge_requests/1777): Add support for LoongArch64 LSX architecture to enhance Eigen's capabilities."}}
{"#1791": {"improvements": "[#1791](https://gitlab.com/libeigen/eigen/-/merge_requests/1791): Introduces ForkJoin-based ParallelFor algorithm to enhance ThreadPool with improved parallel execution."}}
{"#1797": {"improvements": "[#1797](https://gitlab.com/libeigen/eigen/-/merge_requests/1797): Improved compatibility and performance for loongarch architecture."}}
{"#1799": {"improvements": "[#1799](https://gitlab.com/libeigen/eigen/-/merge_requests/1799): Fix typo in NonBlockingThreadPool to improve task management functionality."}}
{"#1796": {"improvements": "[#1796](https://gitlab.com/libeigen/eigen/-/merge_requests/1796): Updated documentation to clarify non-square dimensions for block objects."}}
{"#1802": {"improvements": "[#1802](https://gitlab.com/libeigen/eigen/-/merge_requests/1802): Fixed initialization order and removed unused variables in NonBlockingThreadPool.h."}}
{"#1803": {"improvements": "[#1803](https://gitlab.com/libeigen/eigen/-/merge_requests/1803): Enhanced compatibility of threadpool with C++14 and fixed minor warnings."}}
{"#1800": {"other_changes": "[#1800](https://gitlab.com/libeigen/eigen/-/merge_requests/1800): Clean up and fix the documentation of ForkJoin.h, focusing on typos and formatting."}}
{"#1804": {"improvements": "[#1804](https://gitlab.com/libeigen/eigen/-/merge_requests/1804): Fix potential data race on `spin_count_` NonBlockingThreadPool member variable to enhance thread safety."}}
{"#1801": {"improvements": "[#1801](https://gitlab.com/libeigen/eigen/-/merge_requests/1801): Enhanced Simplicial Cholesky analyzePattern with advanced algorithms for improved performance."}}
{"#1806": {"improvements": "[#1806](https://gitlab.com/libeigen/eigen/-/merge_requests/1806): Fix UTF-8 encoding errors impacting compilation on MSVC and Apple Clang."}}
{"#1808": {"other_changes": "[#1808](https://gitlab.com/libeigen/eigen/-/merge_requests/1808): Fixed minor typos in `ForkJoin.h` to enhance documentation clarity."}}
{"#1810": {"improvements": "[#1810](https://gitlab.com/libeigen/eigen/-/merge_requests/1810): Changed midpoint selection in Eigen::ForkJoinScheduler to enhance reliability and prevent out-of-bounds errors."}}
{"#1805": {"improvements": "[#1805](https://gitlab.com/libeigen/eigen/-/merge_requests/1805): Introduced `matrixL()` and `matrixU()` functions for accessing L and U Factors in IncompleteLU decomposition."}}
{"#1811": {"improvements": "[#1811](https://gitlab.com/libeigen/eigen/-/merge_requests/1811): Enhanced configuration for loongarch64 emulated tests in Eigen to improve flexibility and reliability."}}
{"#1807": {"improvements": "[#1807](https://gitlab.com/libeigen/eigen/-/merge_requests/1807): Fix all the doxygen warnings, enhancing documentation clarity and accuracy."}}
{"#1813": {"improvements": "[#1813](https://gitlab.com/libeigen/eigen/-/merge_requests/1813): Increased max alignment to 256 bytes for improved performance on modern ARM architectures."}}
{"#1812": {"improvements": "[#1812](https://gitlab.com/libeigen/eigen/-/merge_requests/1812): Build and deploy nightly Doxygen docs for enhanced accessibility and up-to-date resources."}}
{"#1814": {"improvements": "[#1814](https://gitlab.com/libeigen/eigen/-/merge_requests/1814): Add missing return statements for PPC to enhance code reliability and correctness."}}
{"#1809": {"improvements": "[#1809](https://gitlab.com/libeigen/eigen/-/merge_requests/1809): Fix issues in tensor documentation by correcting class name references."}}
{"#1815": {"improvements": "[#1815](https://gitlab.com/libeigen/eigen/-/merge_requests/1815): Update check for std::hardware_destructive_interference_size to improve compatibility on Android."}}
{"#1816": {"improvements": "[#1816](https://gitlab.com/libeigen/eigen/-/merge_requests/1816): Fix android hardware_destructive_inference_size issue to ensure compatibility with Android NDK versions 25 and lower."}}
{"#1817": {"improvements": "[#1817](https://gitlab.com/libeigen/eigen/-/merge_requests/1817): Added EIGEN_CI_CTEST_ARGS for custom test timeouts and standardized argument naming."}}
{"#1818": {"improvements": "[#1818](https://gitlab.com/libeigen/eigen/-/merge_requests/1818): Enhanced documentation generation with nightly builds and improved Doxygen configuration."}}
{"#1823": {"improvements": "[#1823](https://gitlab.com/libeigen/eigen/-/merge_requests/1823): Added graphviz to doc build to fix broken graphs."}}
{"#1821": {"improvements": "[#1821](https://gitlab.com/libeigen/eigen/-/merge_requests/1821): Fix numerical issues with BiCGSTAB to enhance performance and robustness."}}
{"#1824": {"improvements": "[#1824](https://gitlab.com/libeigen/eigen/-/merge_requests/1824): Ensures condition number is zero for non-invertible matrices, enhancing rcond estimate reliability."}}
{"#1826": {"improvements": "[#1826](https://gitlab.com/libeigen/eigen/-/merge_requests/1826): Added missing MathJax/LaTeX configuration for proper formula rendering."}}
{"#1825": {"improvements": "[#1825](https://gitlab.com/libeigen/eigen/-/merge_requests/1825): Eliminate type-punning UB in Eigen::half with a safer bit-cast approach."}}
{"#1827": {"improvements": "[#1827](https://gitlab.com/libeigen/eigen/-/merge_requests/1827): Remove assumption of std::complex for complex scalar types, enhancing flexibility for user-defined complex types."}}
{"#1828": {"improvements": "[#1828](https://gitlab.com/libeigen/eigen/-/merge_requests/1828): Enhances TensorRef with flexible type assignments and consistent immutability."}}
{"#1829": {"improvements": "[#1829](https://gitlab.com/libeigen/eigen/-/merge_requests/1829): Refactored `AssignEvaluator.h` for enhanced readability and maintainability."}}
{"#1831": {"improvements": "[#1831](https://gitlab.com/libeigen/eigen/-/merge_requests/1831): Enhanced compatibility for Power builds without VSX and POWER8."}}
{"#1820": {"improvements": "[#1820](https://gitlab.com/libeigen/eigen/-/merge_requests/1820): Fix Warray-bounds warning for fixed-size assignments by optimizing vectorized traversal strategies."}}
{"#1832": {"backend_improvements": "[#1832](https://gitlab.com/libeigen/eigen/-/merge_requests/1832): Removed the `fno-check-new` flag for Clang to reduce warnings."}}
{"#1833": {"improvements": "[#1833](https://gitlab.com/libeigen/eigen/-/merge_requests/1833): Fixes Warray-bounds in inner product to enhance stability and reliability."}}
{"#1830": {"improvements": "[#1830](https://gitlab.com/libeigen/eigen/-/merge_requests/1830): Make assignment operations `constexpr` for compile-time evaluation."}}
{"#1834": {"improvements": "[#1834](https://gitlab.com/libeigen/eigen/-/merge_requests/1834): Initialize matrix elements in bicgstab test to enhance reliability."}}
{"#1836": {"improvements": "[#1836](https://gitlab.com/libeigen/eigen/-/merge_requests/1836): Fix implicit copy-constructor warning in TensorRef."}}
{"#1835": {"improvements": "[#1835](https://gitlab.com/libeigen/eigen/-/merge_requests/1835): Fix bitwise operation error for C++26 compatibility."}}
{"#1837": {"improvements": "[#1837](https://gitlab.com/libeigen/eigen/-/merge_requests/1837): Implemented a system to retain nightly documentation, ensuring continuous availability despite pipeline failures."}}
{"#1838": {"improvements": "[#1838](https://gitlab.com/libeigen/eigen/-/merge_requests/1838): Simplified ForkJoin code and ensured test execution, enhancing ParallelFor API and performance."}}
{"#1839": {"improvements": "[#1839](https://gitlab.com/libeigen/eigen/-/merge_requests/1839): Specify constructor template arguments for ConstexprTest struct to suppress warnings."}}
{"#1840": {"improvements": "[#1840](https://gitlab.com/libeigen/eigen/-/merge_requests/1840): Fix boolean scatter and random generation for tensors, enhancing reliability and expanding test coverage."}}
{"#1841": {"improvements": "[#1841](https://gitlab.com/libeigen/eigen/-/merge_requests/1841): Fix docs job for nightlies to ensure consistency and reliability."}}
{"#1842": {"improvements": "[#1842](https://gitlab.com/libeigen/eigen/-/merge_requests/1842): Fix CMake BOOST warning by updating configuration to resolve deprecated behavior."}}
{"#1843": {"improvements": "[#1843](https://gitlab.com/libeigen/eigen/-/merge_requests/1843): Fixes STL feature detection to support C++20, enhancing compatibility with various compilers and STL versions."}}
{"#1844": {"improvements": "[#1844](https://gitlab.com/libeigen/eigen/-/merge_requests/1844): Optimize division operations in TensorVolumePatch.h to reduce computational overhead."}}
{"#1846": {"improvements": "[#1846](https://gitlab.com/libeigen/eigen/-/merge_requests/1846): Refactor AssignmentFunctors.h to reduce redundancy and unify assignment operations."}}
{"#1847": {"improvements": "[#1847](https://gitlab.com/libeigen/eigen/-/merge_requests/1847): Fixes potential compilation errors by removing an unnecessary semicolon in DeviceWrapper."}}
{"#1848": {"improvements": "[#1848](https://gitlab.com/libeigen/eigen/-/merge_requests/1848): Improved TensorDeviceThreadPool.h by removing unused methods and enhancing functionality."}}
{"#1849": {"improvements": "[#1849](https://gitlab.com/libeigen/eigen/-/merge_requests/1849): Formatted TensorDeviceThreadPool.h and used C++20's if constexpr for enhanced readability and performance."}}
{"#1850": {"improvements": "[#1850](https://gitlab.com/libeigen/eigen/-/merge_requests/1850): Fix x86 complex vectorized FMA bugs, improving performance and accuracy."}}
{"#1778": {"improvements": "[#1778](https://gitlab.com/libeigen/eigen/-/merge_requests/1778): Added an `install-doc` target in CMake to improve documentation installation."}}
{"#1851": {"improvements": "[#1851](https://gitlab.com/libeigen/eigen/-/merge_requests/1851): Implemented a fix for the Givens rotation algorithm, enhancing accuracy and reliability."}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment