aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SVD
Commit message (Collapse)AuthorAge
* Fix more enum arithmetic.Gravatar Rasmus Munk Larsen2021-06-15
|
* Fix two bugs in commitGravatar Rasmus Munk Larsen2021-04-02
|
* Add an info() method to the SVDBase class to make it possible to tell the ↵Gravatar Rasmus Munk Larsen2021-03-31
| | | | | | user that the computation failed, possibly due to invalid input. Make Jacobi and divide-and-conquer fail fast and return info() == InvalidInput if the matrix contains NaN or +/-Inf.
* Enable bdcsvd on host.Gravatar Antonio Sanchez2021-02-08
| | | | | | | | | | | | | Currently if compiled by NVCC, the `MatrixBase::bdcSvd()` implementation is skipped, leading to a linker error. This prevents it from running on the host as well. Seems it was disabled 6 years ago (5384e891) to match `jacobiSvd`, but `jacobiSvd` is now enabled on host. Tested and runs fine on host, but will not compile/run for device (though it's not labelled as a device function, so this should be fine). Fixes #2139
* Cast Index to RealScalarGravatar Christoph Hertzberg2019-05-23
| | | | | This fixes compilation issues with RealScalar types that are not implicitly castable from Index (e.g. ceres Jet types). Reported by Peter Anderson-Sprecher via eMail
* bug #1695: fix a numerical robustness issue. Computing the secular equation ↵Gravatar Gael Guennebaud2019-03-27
| | | | at the middle range without a shift might give a wrong sign.
* Mask unused-parameter warnings, when building with NDEBUGGravatar Christoph Hertzberg2019-01-18
|
* PR 567: makes all dense solvers inherit SoverBase (LU,Cholesky,QR,SVD).Gravatar Patrick Peltzer2019-01-17
| | | | | | | | | | | | | This changeset also includes: * add HouseholderSequence::conjugateIf * define int as the StorageIndex type for all dense solvers * dedicated unit tests, including assertion checking * _check_solve_assertion(): this method can be implemented in derived solver classes to implement custom checks * CompleteOrthogonalDecompositions: add applyZOnTheLeftInPlace, fix scalar type in applyZAdjointOnTheLeftInPlace(), add missing assertions * Cholesky: add missing assertions * FullPivHouseholderQR: Corrected Scalar type in _solve_impl() * BDCSVD: Unambiguous return type for ternary operator * SVDBase: Corrected Scalar type in _solve_impl()
* Fix several uninitialized member from ctorGravatar Gael Guennebaud2018-11-23
|
* Workaround weird MSVC bugGravatar Gael Guennebaud2018-11-21
|
* Fix shadowingGravatar Gael Guennebaud2018-09-20
|
* updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
* Adding support for using Eigen in HIP kernels.Gravatar Deven Desai2018-06-06
| | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests.
* bug #1493: Make representation of HouseholderSequence consistent and working ↵Gravatar Christoph Hertzberg2018-04-15
| | | | for complex numbers. Made corresponding unit test actually test that. Also simplify implementation of QR decompositions
* MIsc. source and comment typosGravatar luz.paz2018-03-11
| | | | Found using `codespell` and `grep` from downstream FreeCAD
* bug #1412: fix compilation with nvcc+MSVCGravatar Gael Guennebaud2018-01-17
|
* Fix incorrect ldvt in LAPACKE call from JacobiSVDGravatar Eugene Chereshnev2018-01-03
|
* Fix issue with boost::multiprec in previous commitGravatar Gael Guennebaud2017-11-08
|
* Improve debugging tests and output in BDCSVDGravatar Gael Guennebaud2017-11-08
|
* Fix overflow issues in BDCSVDGravatar Gael Guennebaud2017-11-08
|
* Add a EIGEN_NO_CUDA option, and introduce EIGEN_CUDACC and EIGEN_CUDA_ARCH ↵Gravatar Gael Guennebaud2017-07-17
| | | | aliases
* bug #1403: more scalar conversions fixes in BDCSVDGravatar Gael Guennebaud2017-06-09
|
* Adjusted the EIGEN_DEVICE_FUNC qualifiers to make sure that:Gravatar Benoit Steiner2017-03-01
| | | | | * they're used consistently between the declaration and the definition of a function * we avoid calling host only methods from host device methods.
* bug #1395: fix the use of compile-time vectors as inputs of JacobiSVD.Gravatar Gael Guennebaud2017-02-20
|
* Fix compilation of JacobiSVD for vectors typeGravatar Gael Guennebaud2017-01-31
|
* Make sure not to call numext::maxi on expression templatesGravatar Niels Ole Salscheider2016-11-12
|
* Let be consistent and consider any denormal number as zero.Gravatar Gael Guennebaud2016-09-15
|
* bug #1266: remove CUDA guards on MatrixBase::<decomposition> definitions. ↵Gravatar Gael Guennebaud2016-09-06
| | | | (those used to break old nvcc versions that we propably don't care anymore)
* bug #1167: simplify installation of header files using cmake's ↵Gravatar Gael Guennebaud2016-08-29
| | | | install(DIRECTORY ...) command.
* Clean references to MKL in LAPACKe support.Gravatar Gael Guennebaud2016-07-25
|
* Rename MKL filesGravatar Gael Guennebaud2016-07-25
|
* bug #173: remove dependency to MKL for LAPACKe backend.Gravatar Gael Guennebaud2016-07-25
|
* Enforce scalar types in calls to max/min (helps with expression template ↵Gravatar Gael Guennebaud2016-07-25
| | | | scalar types)
* Fix regression in a previous commit: some diagonal entry might not be ↵Gravatar Gael Guennebaud2016-07-13
| | | | treated by the 2x2 real preconditioner.
* Avoid division by very small entries when extracting singularvalues, and ↵Gravatar Gael Guennebaud2016-07-12
| | | | explicitly handle the 1x1 complex case.
* Update RealQZ to reduce 2x2 diagonal block of T corresponding to non reduced ↵Gravatar Gael Guennebaud2016-06-09
| | | | | | diagonal block of S to positive diagonal form. This step involve a real 2x2 SVD problem. The respective routine is thus in src/misc/ to be shared by both EVD and AVD modules.
* Enable and fix -Wdouble-conversion warningsGravatar Christoph Hertzberg2016-05-05
|
* Improve documentation of BDCSVDGravatar Gael Guennebaud2016-05-04
|
* bug #1214: consider denormals as zero in D&C SVD. This also workaround ↵Gravatar Gael Guennebaud2016-05-03
| | | | infinite binary search when compiling with ICC's unsafe optimizations.
* Improve numerical robustness of JacoviSVD:Gravatar Gael Guennebaud2016-04-14
| | | | | - avoid noise amplification in complex to real conversion - compare off-diagonal entries to the current biggest diagonal entry: no need to bother about a 2x2 block containing ridiculously small entries compared to the rest of the matrix.
* Fix JacobiSVD for complex when the complex-to-real update already gives a ↵Gravatar Gael Guennebaud2016-04-13
| | | | diagonal 2x2 block.
* Fix underflow in JacoviSVD's complex to real preconditionerGravatar Gael Guennebaud2016-04-13
|
* Removed executable bit from header filesGravatar Benoit Steiner2016-03-23
|
* Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation ↵Gravatar Gael Guennebaud2016-01-01
| | | | warnings
* Fix numerous doxygen issues in auto-link generationGravatar Gael Guennebaud2015-12-30
|
* mergeGravatar Gael Guennebaud2015-12-11
|\
| * bug #1134: fix JacobiSVD pre-allocationGravatar Gael Guennebaud2015-12-11
| | | | | | | | | | (grafted from f22036f5f8bbaa349e090327d246c817bac94ee4 )
* | Remove useless "explicit", and fix inline/static order.Gravatar Gael Guennebaud2015-12-11
|/
* Added support for sigmoid function to the tensor moduleGravatar Benoit Steiner2015-07-17
|
* Fix compilation of BDCSVD with DEFAULT_TO_ROWMAJORGravatar Gael Guennebaud2015-06-19
|