303 Commits

Author SHA1 Message Date
Gael Guennebaud
d44d432baa Re-enable products with triangular views of sparse matrices: we simply have to treat them as a sparse matrix. 2014-10-06 16:11:26 +02:00
Christoph Hertzberg
7817bc19a4 Removed FIXME, as it is actually necessary. 2014-09-23 17:23:34 +02:00
Christoph Hertzberg
36448c9e28 Make constructors explicit if they could lead to unintended implicit conversion 2014-09-23 14:28:23 +02:00
Christoph Hertzberg
de0d8a010e Suppress stupid gcc-4.4 warning 2014-09-23 12:58:14 +02:00
Gael Guennebaud
ff46ec0f24 bug #881: make SparseMatrixBase::isApprox(SparseMatrixBase) exploits sparse computations instead of converting the operands to dense matrices. 2014-09-22 23:33:28 +02:00
Gael Guennebaud
07c5500d70 Introduce a compilation error when using the wrong InnerIterator type. 2014-09-19 09:58:20 +02:00
Gael Guennebaud
0ca43f7e9a Remove deprecated code not used by evaluators 2014-09-18 15:15:27 +02:00
Gael Guennebaud
125619146b workaround weird MSVC compilation issue: a typdedef in a base class shadows a template parameter of a derived class 2014-09-16 16:06:32 -07:00
Gael Guennebaud
fc23e93707 Add a portable log2 function for integers 2014-09-17 09:56:07 +02:00
Gael Guennebaud
0f0580b97c Remove not needed template keyword. 2014-09-17 09:55:44 +02:00
Gael Guennebaud
1bf3b34849 Fix regression in sparse-sparse product 2014-09-01 17:15:08 +02:00
Gael Guennebaud
fbb53b6cbb Fix sparse matrix times sparse vector. 2014-09-01 16:53:52 +02:00
Gael Guennebaud
85c7659574 Refactoring of sparse solvers through a SparseSolverBase class and usage of the Solve<> expression. Introduce a SolveWithGuess expression on top of Solve. 2014-09-01 15:00:19 +02:00
Gael Guennebaud
bc065c75d2 Implement the missing bits to make Solve compatible with sparse rhs 2014-09-01 14:50:59 +02:00
Gael Guennebaud
e6cc24cbd6 Fix compilation in legacy mode 2014-09-01 14:20:11 +02:00
Gael Guennebaud
124d12a915 merge default branch 2014-08-29 15:20:31 +02:00
Gael Guennebaud
aec3d90ca6 Optimization in sparse-sparse matrix products for small ones 2014-08-29 14:19:03 +02:00
Gael Guennebaud
460662cbcc Fix SparseVector::coeffRef(i,j) and add missing SparseVector::insert*Unordered 2014-08-29 14:18:23 +02:00
Gael Guennebaud
1ed9e2d004 In sparse matrix product, enable sorted insertion when doing two transposition is defenitely not optimal. 2014-08-29 11:55:03 +02:00
Gael Guennebaud
be3477e206 bug #857: workaround MSVC compilation issue. 2014-08-26 12:52:29 +02:00
Gael Guennebaud
107bb308c3 Fix various small issues detected by gcc 2014-08-01 16:24:23 +02:00
Gael Guennebaud
c2ff44cbf3 Make assignment from general EigenBase object call evaluator, and support dense X= sparse 2014-08-01 16:23:30 +02:00
Gael Guennebaud
bae2e3327b Call product_generic_impl by default, and remove lot of boilerplate code 2014-07-31 13:35:49 +02:00
Gael Guennebaud
cd0ff253ec Make permutation compatible with sparse matrices 2014-07-30 15:22:50 +02:00
Gael Guennebaud
929e77192c Various minor fixes 2014-07-30 11:39:52 +02:00
Gael Guennebaud
4aac87251f Re-enable a couple of unit tests with evaluators. 2014-07-22 12:54:03 +02:00
Gael Guennebaud
6daa6a0d16 Refactor TriangularView to handle both dense and sparse objects. Introduce a glu_shape<S1,S2> helper to assemble sparse/dense shapes with triagular/seladjoint views. 2014-07-22 11:35:56 +02:00
Gael Guennebaud
2a251ffab0 Implement evaluator for sparse-selfadjoint products 2014-07-22 09:32:40 +02:00
Gael Guennebaud
62f332fc04 Make sure we evaluate into temporaries matching evaluator storage order requirements 2014-07-19 15:19:10 +02:00
Gael Guennebaud
3eba5e1101 Implement evaluator for sparse outer products 2014-07-19 14:55:56 +02:00
Gael Guennebaud
a325d1cb1e merge with default branch 2014-07-18 11:02:22 +02:00
Gael Guennebaud
77af4cc3c9 bug #397: add a warning for 64 to 32 bit integer conversion and fix many of these warning by splitting the index type used for storage and as size/coefficient indexes in PermutationMatrix and Transpositions. 2014-07-17 13:34:26 +02:00
Gael Guennebaud
a53f2b0e43 bug #838: add unit test for fill-in in sparse outer product and fix abusive fill-in. 2014-07-16 17:00:54 +02:00
Gael Guennebaud
3c7686630d merge with default branch 2014-07-15 10:55:03 +02:00
Gael Guennebaud
a20e2462bf Fix bug #838: detect outer products from either the lhs or rhs 2014-07-11 17:15:26 +02:00
Gael Guennebaud
c0f76ce2cf Fix bug #838: fix dense * sparse and sparse * dense outer products 2014-07-11 16:25:36 +02:00
Gael Guennebaud
df604e4f49 Fix inner iterator on an outer-vector 2014-07-11 16:24:49 +02:00
Gael Guennebaud
296cb40161 merge with default branch 2014-07-10 22:04:45 +02:00
Gael Guennebaud
e3557e8dd2 bug #808: use double instead of float for the increasing size ratio in CompressedStorage::resize
(grafted from 0e0ae400843cd9a459e5306d4d6560dbea759a42
)
2014-07-08 18:58:41 +02:00
Gael Guennebaud
b47ef1431f Fix many long to int implicit conversions 2014-07-08 16:47:11 +02:00
Gael Guennebaud
61b88d2feb merge with default branch 2014-07-02 09:35:37 +02:00
Gael Guennebaud
7390af91b6 Implement evaluators for sparse*dense products 2014-07-01 17:53:18 +02:00
Gael Guennebaud
6f846ef9c6 Split StorageKind promotion into two helpers: one for products, and one for coefficient-wise operations. 2014-07-01 17:51:53 +02:00
Christoph Hertzberg
324e7e8fc9 Removed the deprecated EIGEN2_SUPPORT, as previously announced. A compilation error is raised, if this compile-switch is defined. The documentation references to the corresponding pages from Eigen3.2 now. Also, the Eigen2 testsuite has been removed. 2014-07-01 16:58:11 +02:00
Gael Guennebaud
3c63446507 Update copyright dates 2014-07-01 13:27:35 +02:00
Gael Guennebaud
746d2db6ed Implement evaluators for sparse * sparse with auto pruning. 2014-07-01 13:18:56 +02:00
Gael Guennebaud
441f97b2df Implement evaluators for sparse * sparse products 2014-07-01 11:50:20 +02:00
Gael Guennebaud
0ad7a644df Implement nonZeros() for Transpose<sparse> 2014-07-01 11:49:46 +02:00
Gael Guennebaud
7ffd55c980 Do not bypass aliasing in sparse e assignments 2014-07-01 11:48:49 +02:00
Gael Guennebaud
c401167712 Fix double constructions of the nested CwiseBinaryOp evaluator in sparse*diagonal product iterator. 2014-06-27 16:41:45 +02:00