Commit Graph

213 Commits

Author SHA1 Message Date
Christoph Hertzberg
4387298e80 Cast Index to RealScalar
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
(grafted from ac21a08c13
)
2019-05-23 15:31:12 +02:00
Gael Guennebaud
4a242ac43d bug #1695: fix a numerical robustness issue. Computing the secular equation at the middle range without a shift might give a wrong sign.
(grafted from 45e65fbb77
)
2019-03-27 20:16:58 +01:00
Gael Guennebaud
a2d6c106a4 Workaround weird MSVC bug
(grafted from 4b2cebade8
)
2018-11-21 15:53:37 +01:00
Christoph Hertzberg
5f71579a2d Another fix to make boost::multiprecision compile again 2018-04-13 20:22:57 +02:00
Eugene Chereshnev
bfc66e8b9a Fix incorrect ldvt in LAPACKE call from JacobiSVD
(grafted from f558ad2955
)
2018-01-03 12:55:52 -08:00
Gael Guennebaud
b60cbbef37 fix compilation with old compiler 2017-12-15 17:53:48 +01:00
Gael Guennebaud
7a875acfb0 Fix overflow issues in BDCSVD
(grafted from e8468ea91b
)
2017-11-08 10:24:28 +01:00
Gael Guennebaud
ec067ac5e3 bug #1403: more scalar conversions fixes in BDCSVD
(grafted from 731c8c704d
)
2017-06-09 15:45:49 +02:00
Gael Guennebaud
e1385337ff bug #1395: fix the use of compile-time vectors as inputs of JacobiSVD.
(grafted from 6572825703
)
2017-02-20 13:44:37 +01:00
Gael Guennebaud
fa9f5d7170 Fix compilation of JacobiSVD for vectors type
(grafted from 645a8e32a5
)
2017-01-31 16:22:54 +01:00
Niels Ole Salscheider
baf793ebaa Make sure not to call numext::maxi on expression templates
(grafted from 51fef87408
)
2016-11-12 12:20:57 +01:00
Gael Guennebaud
fa9049a544 Let be consistent and consider any denormal number as zero. 2016-09-15 11:24:03 +02:00
Gael Guennebaud
3cb914f332 bug #1266: remove CUDA guards on MatrixBase::<decomposition> definitions. (those used to break old nvcc versions that we propably don't care anymore) 2016-09-06 09:55:50 +02:00
Gael Guennebaud
35a8e94577 bug #1167: simplify installation of header files using cmake's install(DIRECTORY ...) command. 2016-08-29 10:59:37 +02:00
Gael Guennebaud
9c663e4ee8 Clean references to MKL in LAPACKe support. 2016-07-25 18:20:08 +02:00
Gael Guennebaud
0c06077efa Rename MKL files 2016-07-25 18:00:47 +02:00
Gael Guennebaud
4d54e3dd33 bug #173: remove dependency to MKL for LAPACKe backend. 2016-07-25 17:55:07 +02:00
Gael Guennebaud
1b2049fbda Enforce scalar types in calls to max/min (helps with expression template scalar types) 2016-07-25 12:35:10 +02:00
Gael Guennebaud
5ea0864c81 Fix regression in a previous commit: some diagonal entry might not be treated by the 2x2 real preconditioner. 2016-07-13 18:37:54 +02:00
Gael Guennebaud
b4343aa67e Avoid division by very small entries when extracting singularvalues, and explicitly handle the 1x1 complex case. 2016-07-12 17:22:03 +02:00
Gael Guennebaud
c1f9ca9254 Update RealQZ to reduce 2x2 diagonal block of T corresponding to non reduced 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.
2016-06-09 17:11:03 +02:00
Christoph Hertzberg
dacb469bc9 Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
Gael Guennebaud
75a94b9662 Improve documentation of BDCSVD 2016-05-04 12:53:14 +02:00
Gael Guennebaud
e2ca478485 bug #1214: consider denormals as zero in D&C SVD. This also workaround infinite binary search when compiling with ICC's unsafe optimizations. 2016-05-03 23:15:29 +02:00
Gael Guennebaud
20f387fafa Improve numerical robustness of JacoviSVD:
- 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.
2016-04-14 22:46:55 +02:00
Gael Guennebaud
39211ba46b Fix JacobiSVD for complex when the complex-to-real update already gives a diagonal 2x2 block. 2016-04-13 23:43:26 +02:00
Gael Guennebaud
feef39e2d1 Fix underflow in JacoviSVD's complex to real preconditioner 2016-04-13 22:49:51 +02:00
Benoit Steiner
81d340984a Removed executable bit from header files 2016-03-23 16:15:02 -07:00
Gael Guennebaud
8b0d1eb0f7 Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation warnings 2016-01-01 21:45:06 +01:00
Gael Guennebaud
29bb599e03 Fix numerous doxygen issues in auto-link generation 2015-12-30 16:04:24 +01:00
Gael Guennebaud
774dba87c8 merge 2015-12-11 23:28:44 +01:00
Gael Guennebaud
b60a8967f5 bug #1134: fix JacobiSVD pre-allocation
(grafted from f22036f5f8
)
2015-12-11 11:59:11 +01:00
Gael Guennebaud
30b5c4cd14 Remove useless "explicit", and fix inline/static order. 2015-12-11 10:59:39 +01:00
Benoit Steiner
06a22ca5bd Added support for sigmoid function to the tensor module 2015-07-17 09:29:00 -07:00
Gael Guennebaud
06036d8bb1 Fix compilation of BDCSVD with DEFAULT_TO_ROWMAJOR 2015-06-19 10:37:25 +02:00
Gael Guennebaud
4aba24a1b2 Clean argument names of some functions 2015-06-09 13:32:12 +02:00
Gael Guennebaud
9a2447b0c9 Fix shadow warnings triggered by clang 2015-06-09 09:11:12 +02:00
Gael Guennebaud
3c38589984 Remove most of the dynamic memory allocations that occured in D&C SVD. Still remains the calls to JacobiSVD and UpperBidiagonalization. 2015-03-31 22:54:47 +02:00
Gael Guennebaud
35d3053d55 Fix regression introduced in 3b169d792d 2015-03-31 09:23:53 +02:00
Christoph Hertzberg
3b169d792d Suppress unused variable warning 2015-03-31 00:49:08 +02:00
Christoph Hertzberg
58af8bf90c bug #982: Make sure numext::maxi and numext::mini are called correctly, in case Scalar expressions return expression templates. 2015-03-30 16:47:22 +02:00
Gael Guennebaud
1b8cc9af43 Slight numerical stability improvement in 2x2 svd 2015-03-27 10:55:00 +01:00
Gael Guennebaud
d27968eb7e D&C SVD: directly falls back to JacobiSVD for very small problems (by-pass upper-bidiagonalization) 2015-03-24 13:38:07 +01:00
Gael Guennebaud
4472f3e578 Avoid SVD: consider denormalized small numbers as zero when computing the rank of the matrix 2015-03-23 09:40:21 +01:00
Gael Guennebaud
8580eb6808 bug #949: add static assertion for incompatible scalar types in dense end-user decompositions. 2015-03-13 21:06:20 +01:00
Gael Guennebaud
1c0e8bcf09 Fix unused variable warning. 2015-02-16 17:21:30 +01:00
Gael Guennebaud
45cbb0bbb1 The usage of DenseIndex is deprecated, so let's replace DenseIndex by Index 2015-02-16 15:05:41 +01:00
Gael Guennebaud
cc641aabb7 Remove deprecated usage of expr::Index. 2015-02-16 14:46:51 +01:00
Gael Guennebaud
fc202bab39 Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type. 2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980 Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs 2015-02-13 10:03:53 +01:00