Commit Graph

6737 Commits

Author SHA1 Message Date
Gael Guennebaud
98ff17eb9e Add special path for matrix<complex>/real.
This also fixes underflow issues when scaling complex matrices through complex/complex operator.
2015-06-26 16:08:15 +02:00
Gael Guennebaud
e102ddbf1f bug #1026: fix infinite loop for an empty input 2015-06-26 14:02:52 +02:00
Gael Guennebaud
555b9c6843 Doc: explain perf and multithreading issues in sparse iterative solvers 2015-06-26 10:49:40 +02:00
Gael Guennebaud
53b930887d Enable OpenMP parallelization of row-major-sparse * dense products.
I observed significant speed-up of the CG solver.
2015-06-26 10:32:34 +02:00
Gael Guennebaud
3f49cf4c90 More msvc 2013/2015 workarounds 2015-06-26 09:07:53 +02:00
Gael Guennebaud
7f824dd613 Optimize CG to enable faster spare row-major * dense vector products when the input matrix is complete (Upper|Lower) but column major. 2015-06-25 17:17:38 +02:00
Gael Guennebaud
c5f9eafcbc Fix assignement to selfadjoint-view when testing real-world problems 2015-06-25 17:08:58 +02:00
Gael Guennebaud
33e699c9fe Remove redundant accessors in Reverse 2015-06-25 14:14:59 +02:00
Gael Guennebaud
6b4d255cab Avoid division by a zero complex 2015-06-25 14:04:05 +02:00
Gael Guennebaud
973b0a90db Clarify documentation of the tolerance and error returned in iterative solvers 2015-06-25 13:51:13 +02:00
Gael Guennebaud
84264ceebc workaround msvc 2013/2015 wrong instanciation of isnan, isfinite, isinf 2015-06-25 10:00:26 +02:00
Gael Guennebaud
b4ab72678c bug #1000: MSVC 2013 does need the operator= workaround 2015-06-25 09:45:22 +02:00
Gael Guennebaud
788941d3b1 Workaround MSVC ambiguous instanciation 2015-06-24 23:35:17 +02:00
Gael Guennebaud
4c8cd13b35 Add explicit ctor for diagonal to sparse conversion 2015-06-24 18:11:06 +02:00
Gael Guennebaud
c38c195321 Document how cross behaves on complex numbers 2015-06-24 18:02:33 +02:00
Gael Guennebaud
23535ed31c Add unit test for dense = SparseQR::matrixQ 2015-06-24 17:55:41 +02:00
Gael Guennebaud
62f21e2d11 Add support for sparse = diagonal 2015-06-24 17:55:00 +02:00
Gael Guennebaud
763c833637 Make SparseSelfAdjointView, twists, and SparseQR more evaluator friendly 2015-06-24 17:54:09 +02:00
Gael Guennebaud
36643eec0c Add a call_assignment_no_alias_no_transpose shortcut 2015-06-24 17:50:43 +02:00
Gael Guennebaud
02db7c9bc6 Inherit operator+= and -= with 'using' kkeyword 2015-06-24 17:49:20 +02:00
Gael Guennebaud
53a61a067b Fallback to CMAKE_CXX_COMPILER_VERSION if VS version unknown 2015-06-24 15:17:37 +02:00
Gael Guennebaud
95e19be381 Fix compilation of MKL Pardiso support 2015-06-24 14:53:43 +02:00
Gael Guennebaud
2a33075aeb std::isnan is c++11 only 2015-06-24 10:29:17 +02:00
Gael Guennebaud
23da99492f Add unit-test for Visual2013 ambiguous call to operator= 2015-06-24 10:27:02 +02:00
Benoit Steiner
6441befbb3 Added more checks to test the correctness of the pexp implementation 2015-06-23 19:12:46 -07:00
Gael Guennebaud
c3e398d138 Fix overflow when checking SVD accuracy 2015-06-23 15:05:20 +02:00
Gael Guennebaud
b0d08869a9 Fix underflow in 3x3 tridiagonalization 2015-06-23 14:54:31 +02:00
Gael Guennebaud
18c9d155f3 Fix the fact that float(int) != float(int(float(int))) 2015-06-23 14:33:00 +02:00
Gael Guennebaud
71523a2e25 Fix a warning with icc 2015-06-23 14:20:20 +02:00
Gael Guennebaud
d9778f3391 Enable VML's pow wrapper on windows (the previous wrapper used the Fortran interface) 2015-06-23 14:04:50 +02:00
Gael Guennebaud
5f9630d7f9 bug #923: update support for Intel's VML wrt new evaluation mechanisms 2015-06-23 14:03:25 +02:00
Gael Guennebaud
793e4c6d77 bug #923: fix EIGEN_USE_BLAS mode 2015-06-23 11:13:24 +02:00
Gael Guennebaud
307c4fc292 Workaround missalignment produced by first_aligned for PacketSize==1 and size==1 2015-06-23 10:10:17 +02:00
Gael Guennebaud
bb3a9b4941 Use Ref<> to bypass forceAlignmentIf 2015-06-22 17:48:28 +02:00
Gael Guennebaud
476beed7f8 bug #1017: apply Christoph's patch preventing underflows in makeHouseholder 2015-06-22 16:51:45 +02:00
Gael Guennebaud
9fc1c92137 Fix isinf unit tests 2015-06-22 16:48:27 +02:00
Gael Guennebaud
9c7cfa7dab Update list of main modules 2015-06-22 14:17:24 +02:00
Gael Guennebaud
3ccd23efc0 Update coeff-wise quick-reference doc. 2015-06-22 14:08:54 +02:00
Gael Guennebaud
0848ba0a6e Fix return nullary return types: it must be based on the PlainObject type instead of the expression type. 2015-06-22 10:52:08 +02:00
Gael Guennebaud
b3b3dcad05 Reduce compiler memory consumption for SVD unit tests 2015-06-22 09:58:06 +02:00
Nicolas Mellado
ad5fdc7ddd Fix double to Scalar unwanted promotions 2015-06-21 20:21:23 +02:00
Gael Guennebaud
40821876ea Fix regression on CompressedStorage::operator= 2015-06-20 13:59:13 +02:00
Michael Abrahams
7043083be4 Use GCC flags in mingw 2015-06-20 18:54:41 +00:00
Gael Guennebaud
84aaef93ba Merged in vanhoucke/eigen_vanhoucke (pull request PR-118)
Fix two small undefined behaviors caught by static analysis.
2015-06-20 13:56:48 +02:00
Gael Guennebaud
6b33b29f00 Get rid of must_nest_by_value 2015-06-19 18:12:40 +02:00
Gael Guennebaud
846b227bb7 Get rid of class internal::nested<> (still have to updated Tensor module) 2015-06-19 17:56:39 +02:00
vanhoucke
368ea23406 Fix undefined behavior. When resizing a default-constructed SparseArray, we end up calling memcpy(ptr, 0, 0), which is technically UB and gets caught by static analysis. 2015-06-19 15:53:30 +00:00
vanhoucke
4cc0c961f3 Fix undefined behavior. 2015-06-19 15:46:46 +00:00
Gael Guennebaud
386d9e5ebd Fix usage of nested versus nested_eval 2015-06-19 17:42:27 +02:00
Gael Guennebaud
a5a7b68b76 Fix ambiguous instanciation using clean class-level SFINAE in product_evaluator 2015-06-19 17:25:13 +02:00