Gael Guennebaud
441b7eaab2
Add support for non trivial scalar factor in sparse selfadjoint * dense products, and enable +=/-= assignement for such products.
...
This changeset also improves the performance by working on column of the result at once.
2016-08-24 13:06:34 +02:00
Gael Guennebaud
1fa15ceee6
Extend sparse*sparse product unit test to check that the expected implementation is used (conservative vs auto pruning).
2016-05-18 16:50:54 +02:00
Christoph Hertzberg
dacb469bc9
Enable and fix -Wdouble-conversion warnings
2016-05-05 13:35:45 +02:00
Gael Guennebaud
73f692d16b
Fix ambiguous instantiation
2015-10-27 11:01:37 +01:00
Gael Guennebaud
e6f8c5c325
Add support to directly evaluate the product of two sparse matrices within a dense matrix.
2015-10-26 18:20:00 +01:00
Gael Guennebaud
f899aeb301
bug #650 : fix sparse * dense wrt noalias and compound assignment
2015-06-09 18:33:24 +02:00
Gael Guennebaud
5a3c48e3c6
bug #942 : fix dangling references in evaluator of diagonal * sparse products.
2015-04-18 22:43:27 +02:00
Gael Guennebaud
3105986e71
bug #875 : remove broken SparseMatrixBase::nonZeros and introduce a nonZerosEstimate() method to sparse evaluators for internal uses.
...
Factorize some code in SparseCompressedBase.
2015-04-01 22:27:34 +02: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
Christoph Hertzberg
e8cdbedefb
bug #877 , bug #572 : Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
2014-12-04 22:48:53 +01:00
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
Gael Guennebaud
2a251ffab0
Implement evaluator for sparse-selfadjoint products
2014-07-22 09:32:40 +02:00
Gael Guennebaud
a325d1cb1e
merge with default branch
2014-07-18 11:02:22 +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
2bdb3b1afd
Extend dense*sparse product unit tests
2014-07-15 11:00:16 +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
ed461ba9bc
Fix sparse_product/sparse_extra unit tests
2014-02-17 09:57:47 +01:00
Gael Guennebaud
4b6b3f310f
Fix a few Index to int buggy conversions
2014-02-15 09:35:23 +01:00
Gael Guennebaud
4f14b3fa72
Fix bug #611 : diag * sparse * diag
2013-07-05 22:42:46 +02:00
Desire NUENTSA
9f035c876a
Fiw bug #553 : add support for sparse matrix time sparse self-adjoint view products
2013-06-28 22:27:45 +02:00
Gael Guennebaud
fc27cbd914
Fix bug #611 : fix const qualifier in cwiseProduct(sparse,dense) and SparseDiagonalProduct::InnerIterator
2013-06-28 17:10:53 +02:00
Gael Guennebaud
98ce4455dd
fix sparse vector assignment from a sparse matrix
2013-03-06 11:58:22 +01:00
Gael Guennebaud
fec6df1f7d
fix dense=sparse*diagonal (there was an issue in the values returned by the .outer() function of the related iterators)
2012-10-03 09:06:19 +02:00
Gael Guennebaud
f30ca7ed7e
extend unit tests to check rectangular matrices for sparse*diagonal products
2012-10-02 23:03:06 +02:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
6f92b75874
add aliasing test for sparse*sparse product
2011-12-20 18:10:22 +01:00
Gael Guennebaud
1ddf88060b
update sparse*sparse product: the default is now a conservative algorithm preserving symbolic non zeros. The previous with auto pruning of the small value is avaible doing: (A*B).pruned() or (A*B).pruned(ref) or (A*B).pruned(ref,eps)
2011-10-24 11:44:53 +02:00
Gael Guennebaud
70df09b76d
move DynamicSparseMatrix to SparseExtra
2011-10-24 09:31:33 +02:00
Gael Guennebaud
42e2578ef9
the min/max macros to detect unprotected min/max were undefined by some std header,
...
so let's declare them after and do the respective fixes ;)
2011-08-19 14:18:05 +02:00
Gael Guennebaud
22c7609d72
extend sparse product unit tests
2011-03-22 11:58:22 +01:00
Gael Guennebaud
902af035d3
merge
2010-12-31 17:26:48 +01:00
David J. Luitz
11e253bc10
[Sparse] Added regression tests for the two bugfixes, the code passes all sparse_product tests
2010-12-30 15:16:23 +01:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Gael Guennebaud
e313826890
add mixed sparse-dense outer product
2010-06-25 11:36:38 +02:00
Gael Guennebaud
1927b4dff5
Fix use of nesting types in SparseTranspose and split the big SparseProduct.h file
2010-06-25 10:26:24 +02:00
Hauke Heibel
f1679c7185
Utilize Index in all unit tests.
2010-06-20 17:37:56 +02:00
Gael Guennebaud
c5d7c9f0de
remove the Triangular suffix to Upper, Lower, UnitLower, etc,
...
and remove the respective bit flags
2010-01-07 21:15:32 +01:00
Gael Guennebaud
fcc3be5dce
a couple of fixes after thye merge
2009-12-23 09:07:01 +01:00
Gael Guennebaud
0529ecfe1b
Big refactoring/cleaning in the spasre module with
...
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
2009-11-18 14:52:52 +01:00
Gael Guennebaud
1e62e0b0d8
more ET refactoring:
...
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
2009-11-17 16:04:19 +01:00
Benoit Jacob
2840ac7e94
big huge changes, so i dont remember everything.
...
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Gael Guennebaud
08e419dcb1
* update sparse module wrt new diagonal matrix impl
...
* fix a bug is SparseMatrix
2009-07-04 11:16:27 +02:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
5b1d0cebc5
sparse module: new API proposal for triangular solves and experimental
...
solver support with a sparse matrix as the rhs.
2009-04-05 16:30:10 +00:00
Gael Guennebaud
e6f1104b57
* fix Quaternion::setFromTwoVectors (thanks to "benv" from the forum)
...
* extend PartialRedux::cross() to any matrix sizes with automatic
vectorization when possible
* unit tests: add "geo_" prefix to all unit tests related to the
geometry module and start splitting the big "geometry.cpp" tests to
multiple smaller ones (also include new tests)
2009-02-17 09:53:05 +00:00
Gael Guennebaud
20a8bb96eb
fix m = m*m with m sparse (gug found by Frederik Heinz)
2009-02-12 15:57:13 +00:00
Gael Guennebaud
a9688f0b71
- add diagonal * sparse product as an expression
...
- split sparse_basic unit test
- various fixes in sparse module
2009-02-09 09:59:30 +00:00