aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SparseCore/SparseDenseProduct.h
Commit message (Collapse)AuthorAge
* Add multi-threading for sparse-row-major * dense-row-majorGravatar Gael Guennebaud2018-04-25
|
* Relax mixing-type constraints for binary coefficient-wise operators:Gravatar Gael Guennebaud2016-06-06
| | | | | | | | | | - Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP> - Remove the "functor_is_product_like" helper (was pretty ugly) - Currently, OP is not used, but it is available to the user for fine grained tuning - Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-= - TODO: generalize all other binray operators (comparisons,pow,etc.) - TODO: handle "scalar op array" operators (currently only * is handled) - TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
* Implement generic scalar*expr and expr*scalar operator based on ↵Gravatar Gael Guennebaud2016-06-02
| | | | | | scalar_product_traits. This is especially useful for custom scalar types, e.g., to enable float*expr<multi_prec> without conversion.
* bug #1154: move to dynamic scheduling for spmv products.Gravatar Gael Guennebaud2016-01-27
|
* Refactoring of the cost model:Gravatar Gael Guennebaud2015-10-28
| | | | | | | | | | | - Dynamic is now an invalid value - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost - add sanity checks for cost values: must be >=0 and not too large This change provides several benefits: - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled. - it simplifies cost computation logic, and should avoid future similar shortcomings. - it allows to distinguish between different level of dynamic/huge/infinite cost - it should enable further simplifications in the computation of costs (save compilation time)
* Fix ambiguous instantiation issues of product_evaluator.Gravatar Gael Guennebaud2015-10-14
|
* Fix performance regression in sparse * dense product where "sparse" is an ↵Gravatar Gael Guennebaud2015-09-29
| | | | expression
* Since there is no reason for evaluators to be nested by reference, let's ↵Gravatar Gael Guennebaud2015-09-02
| | | | remove the evaluator<>::nestedType indirection.
* Cleaning pass on evaluators: remove the useless and error prone ↵Gravatar Gael Guennebaud2015-09-02
| | | | evaluator<>::type indirection.
* Fix compilation of tri(sparse) * dense with OpenMPGravatar Gael Guennebaud2015-07-21
|
* Enable OpenMP parallelization of row-major-sparse * dense products.Gravatar Gael Guennebaud2015-06-26
| | | | I observed significant speed-up of the CG solver.
* bug #650: fix sparse * dense wrt noalias and compound assignmentGravatar Gael Guennebaud2015-06-09
|
* Index refactoring: StorageIndex must be used for storage only (and locally ↵Gravatar Gael Guennebaud2015-02-13
| | | | when it make sense). In all other cases use the global Index type.
* bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index ↵Gravatar Christoph Hertzberg2014-12-04
| | | | to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
* Re-enable products with triangular views of sparse matrices: we simply have ↵Gravatar Gael Guennebaud2014-10-06
| | | | to treat them as a sparse matrix.
* Removed FIXME, as it is actually necessary.Gravatar Christoph Hertzberg2014-09-23
|
* Make constructors explicit if they could lead to unintended implicit conversionGravatar Christoph Hertzberg2014-09-23
|
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* workaround weird MSVC compilation issue: a typdedef in a base class shadows ↵Gravatar Gael Guennebaud2014-09-16
| | | | a template parameter of a derived class
* Fix compilation in legacy modeGravatar Gael Guennebaud2014-09-01
|
* Call product_generic_impl by default, and remove lot of boilerplate codeGravatar Gael Guennebaud2014-07-31
|
* Implement evaluator for sparse-selfadjoint productsGravatar Gael Guennebaud2014-07-22
|
* Implement evaluator for sparse outer productsGravatar Gael Guennebaud2014-07-19
|
* merge with default branchGravatar Gael Guennebaud2014-07-18
|\
| * bug #397: add a warning for 64 to 32 bit integer conversion and fix many of ↵Gravatar Gael Guennebaud2014-07-17
| | | | | | | | these warning by splitting the index type used for storage and as size/coefficient indexes in PermutationMatrix and Transpositions.
| * bug #838: add unit test for fill-in in sparse outer product and fix abusive ↵Gravatar Gael Guennebaud2014-07-16
| | | | | | | | fill-in.
* | merge with default branchGravatar Gael Guennebaud2014-07-15
|\|
| * Fix bug #838: fix dense * sparse and sparse * dense outer productsGravatar Gael Guennebaud2014-07-11
| |
* | Implement evaluators for sparse*dense productsGravatar Gael Guennebaud2014-07-01
|/
* Fix a few Index to int buggy conversionsGravatar Gael Guennebaud2014-02-15
|
* Add a block sparse matrix class. tests to be addedGravatar Desire NUENTSA2013-09-20
|
* Rationalize the use of Index type in iteratorsGravatar Gael Guennebaud2013-07-06
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* bug #482: pass scalar by const ref - pass on the sparse moduleGravatar Gael Guennebaud2012-06-28
| | | | (also fix a compilation issue due to previous pass)
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* remove parenthesis suggestion warningGravatar Gael Guennebaud2012-03-14
|
* simplify and speedup sparse * dense matrix productsGravatar Gael Guennebaud2012-03-01
|
* honor nested types in dense * sparseGravatar Gael Guennebaud2012-01-27
|
* move sparse solvers from unsupported/ to main Eigen/ and remove the "not ↵Gravatar Gael Guennebaud2011-11-12
stable yet" warning