42 Commits

Author SHA1 Message Date
Gael Guennebaud
bbd97b4095 Add a EIGEN_NO_CUDA option, and introduce EIGEN_CUDACC and EIGEN_CUDA_ARCH aliases 2017-07-17 01:02:51 +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
66e99ab6a1 Relax mixing-type constraints for binary coefficient-wise operators:
- 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
2016-06-06 15:11:41 +02:00
Gael Guennebaud
ff1157bcbf bug #694: document that SparseQR::matrixR is not sorted. 2016-02-01 16:09:34 +01:00
Gael Guennebaud
8b9dc9f0df bug #1144: fix regression in x=y+A*x (aliasing), and move evaluator_traits::AssumeAliasing to evaluator_assume_aliasing. 2016-01-09 08:30:38 +01:00
Gael Guennebaud
0bb12fa614 Add LU::transpose().solve() and LU::adjoint().solve() API. 2015-12-01 14:38:47 +01:00
Gael Guennebaud
64242b8bf3 Doc: add link to doc of sparse solver concept 2015-10-08 10:50:39 +02:00
Gael Guennebaud
763c833637 Make SparseSelfAdjointView, twists, and SparseQR more evaluator friendly 2015-06-24 17:54:09 +02:00
Gael Guennebaud
aa6c516ec1 Fix many long to int conversion warnings:
- fix usage of Index (API) versus StorageIndex (when multiple indexes are stored)
 - use StorageIndex(val) when the input has already been check
 - use internal::convert_index<StorageIndex>(val) when val is potentially unsafe (directly comes from user input)
2015-02-16 13:19:05 +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
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
fe57b2f963 bug #701: workaround (min) and (max) blocking ADL by introducing numext::mini and numext::maxi internal functions and a EIGEN_NOT_A_MACRO macro. 2014-10-20 15:55:32 +02:00
Gael Guennebaud
8838b0a1ff Fix SparseQR::rank for a completely empty matrix. 2014-10-19 22:42:20 +02:00
Christoph Hertzberg
36448c9e28 Make constructors explicit if they could lead to unintended implicit conversion 2014-09-23 14:28:23 +02:00
Gael Guennebaud
755e77266f Fix SparseQR for row-major inputs. 2014-09-19 09:58:56 +02:00
Gael Guennebaud
0ca43f7e9a Remove deprecated code not used by evaluators 2014-09-18 15:15:27 +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
124d12a915 merge default branch 2014-08-29 15:20:31 +02:00
Gael Guennebaud
25a3e65a68 In SparseQR, calling factorize() without analyzePattern() was broken. 2014-08-26 23:32:32 +02:00
Vladimir Chalupecky
6a3423da80 Fix uninitialized variable warning in SparseQR 2014-08-20 05:42:22 +00:00
Gael Guennebaud
107bb308c3 Fix various small issues detected by gcc 2014-08-01 16:24:23 +02:00
Gael Guennebaud
75e574275c Fix bug #836: extend SparseQR to support more columns than rows. 2014-07-01 10:24:46 +02:00
Gael Guennebaud
98ef44fe55 Add assertion and warning on the requirements of SparseQR and COLAMDOrdering 2014-06-20 14:43:47 +02:00
Gael Guennebaud
00dc45d0f9 Reduce explicit zeros when applying SparseQR's matrix Q 2013-09-20 23:28:10 +02:00
Desire NUENTSA
bd21c82a94 Fix assert bug in sparseQR 2013-09-20 18:49:32 +02:00
Gael Guennebaud
1b4623e713 Fix elimination tree and SparseQR with rows<cols 2013-09-12 22:16:35 +02:00
Pavel Holoborodko
ebd6a7a46c Added support for custom-scalars 2013-09-02 19:09:39 +09:00
Gael Guennebaud
62670c83a0 Fix bug #314: move remaining math functions from internal to numext namespace 2013-06-10 23:40:56 +02:00
Desire NUENTSA
e0566a817f Delete unneeded resize in SparseQR 2013-05-22 10:44:12 +02:00
Desire NUENTSA
cf939f154f Fix bug #596 : Recover plain SparseMatrix from SparseQR matrixQ() 2013-05-21 17:35:10 +02:00
Desire NUENTSA
cc35c44256 Add reference for the default threshold in sparse QR 2013-02-25 14:26:55 +01:00
Desire NUENTSA
ced8dfc0d9 Fix the computation of the default pivot threshold for sparse QR 2013-02-25 13:41:59 +01:00
Gael Guennebaud
4eeaff6d38 Cleaning pass on SparseQR 2013-02-24 20:36:28 +01:00
Gael Guennebaud
7fe6419171 remove double parenthesis 2013-02-22 14:50:47 +01:00
Desire NUENTSA
dca7190e15 Add setPivotThreshold to Sparse QR 2013-02-20 14:00:28 +01:00
Desire NUENTSA
1a056b408d Add a rank-revealing feature to sparse QR 2013-02-15 16:35:28 +01:00
Desire NUENTSA
c05848a330 Move SparseColEtree common to SparseLU and SparseQR to SparseCore and fix build issue of sparseqr 2013-01-14 15:59:46 +01:00
Desire NUENTSA
904c2f137b Fix the column permutation in SparseQR 2013-01-14 14:20:42 +01:00
Gael Guennebaud
50625834e6 SparseQR: clean a bit the documentation, fix rows/cols methods, remove rowsQ methods and rename matrixQR to matrixR. 2013-01-12 09:40:31 +01:00
Gael Guennebaud
581e389c54 Fix installation path of SparseQR 2013-01-12 09:32:51 +01:00
Desire NUENTSA
121f3bdf04 Pass a const matrix to sparseQR 2013-01-11 17:47:32 +01:00
Desire NUENTSA
91b3b3aaab Add a sparse QR factorization and update the elimination tree in SparseLU 2013-01-11 17:16:14 +01:00