Commit Graph

3168 Commits

Author SHA1 Message Date
Gael Guennebaud
9f3f42d66a fix a few "dead stores" warnings 2013-10-26 13:59:02 +02:00
Gael Guennebaud
a0e8577b49 Fix bug #684: optimize vectorization of array-scalar and scalar-array 2013-10-18 14:56:36 +02:00
Christoph Hertzberg
36052c4911 Added comparisons scalar to array (previously only the array to scalar was possible) (Fixes bug #147)
Extended the unit test for that
2013-10-17 15:37:29 +02:00
Christoph Hertzberg
3d2a3bc755 Copy all format flags (not only precision) from actual output stream when calculating the maximal width 2013-10-17 14:30:09 +02:00
Christoph Hertzberg
ad9dc05663 consider all columns for aligned output (fixes bug #616) 2013-10-17 14:14:06 +02:00
Christoph Hertzberg
ff075def5c Copy and paste mistake in last commit 2013-10-17 14:02:00 +02:00
Christoph Hertzberg
4d7dfafbe7 Don't add rowSpacer if columns are not to be aligned 2013-10-17 13:49:56 +02:00
Christoph Hertzberg
3390db099a Fixes bug #681
Also fixed some spelling issues in the documentation
2013-10-17 00:03:00 +02:00
Gael Guennebaud
c6da881849 Fix bug #674: typo in documentation example for BiCGSTAB. They are now proper snippet files. 2013-10-16 15:25:39 +02:00
Christoph Hertzberg
b61facb08b Use != instead of < to check for emptiness of iterator range (fixes bug #664) 2013-10-16 13:10:15 +02:00
Christoph Hertzberg
4a42843513 Make index type of Triplet default to SparseMatrix::Index as suggested by Kolja Brix. Fixes bug #665. 2013-10-16 13:08:09 +02:00
Gael Guennebaud
b433fb2857 Allow .conservativeResize(rows,cols) on vectors 2013-10-16 12:07:33 +02:00
Christoph Hertzberg
0bce534c8f Fix bug #679 2013-10-15 19:09:09 +02:00
vanhoucke
3736e00ae7 Silence unused variable warning. 2013-10-04 00:21:03 +00:00
Gael Guennebaud
40f1548b32 Sparse is stable now, so Eigen/Eigen should include Sparse 2013-10-02 23:31:59 +02:00
Desire NUENTSA
54e576c88a Fix SPQR Solve() when assigning to a Map object 2013-09-26 15:00:22 +02:00
Desire NUENTSA
fe19f972e1 Fix leaked memory for successive calls to SPQR 2013-09-24 15:56:56 +02:00
Gael Guennebaud
00dc45d0f9 Reduce explicit zeros when applying SparseQR's matrix Q 2013-09-20 23:28:10 +02:00
Desire NUENTSA
4bb1c48f25 Add a block sparse matrix class. tests to be added 2013-09-20 18:54:17 +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
Martinho Fernandes
a1f056cf2a Fix bug #503
C++11 support on simple allocators comes for free. `aligned_allocator` does not
need to add any `construct` overloads to work with C++11 compilers.
2013-09-10 17:08:04 +02:00
Gael Guennebaud
4612a1cd87 Fix ploaddup and lin-spaced with AltiVec. 2013-09-10 16:13:59 +02:00
Gael Guennebaud
07417bd03f Fix bug #654: allow implicit transposition in Array to Matrix and Matrix to Array constructors 2013-09-07 00:01:04 +02:00
Gael Guennebaud
7fa007e8bf Fix sparse block 2013-09-07 00:00:13 +02:00
Gael Guennebaud
ed78a76161 Merged in advanpix/eigen-mp-devs (pull request PR-32)
Fixes for SparseMatrix to support non-POD scalar types
2013-09-03 22:05:14 +02:00
Gael Guennebaud
eda2f8948a Another compilation fix with ICC/MSVC combo 2013-09-03 21:42:59 +02:00
Hauke Heibel
69c057ccb1 Fixed InnerPanel definition in the Transformation class.
Added some inital documentation on InnerPanel.
2013-08-27 14:54:57 +02:00
Gael Guennebaud
94a7a1ec00 Use unblocked version if the matrix is too small, plus some cleaning. 2013-08-27 13:47:15 +02:00
Gael Guennebaud
5864e3fbd5 Implement a blocked upper-bidiagonalization algorithm. The computeUnblocked function is currently for benchmarking purpose. 2013-08-27 07:23:31 +02:00
Pavel Holoborodko
41321e4366 Replaced memcpy & memmove to smart_* alternatives for non-POD scalar types 2013-08-25 18:12:15 +09:00
Pavel Holoborodko
e6462c2ce3 Switched to smart_copy to support non-trivial scalar types 2013-08-25 18:03:49 +09:00
Pavel Holoborodko
1472f4bc61 Fixed bug #647 by using smart_copy instead of bitwise memcpy. 2013-08-25 18:02:07 +09:00
Pavel Holoborodko
a147500dee Added smart_memmove with support of non-POD scalars (e.g. needed in SparseBlock.h). 2013-08-25 18:00:28 +09:00
Gael Guennebaud
1b8394f71f Fix compilation with ICC/MSVC combo 2013-08-21 15:28:53 +02:00
Gael Guennebaud
4ecfdc4716 Add explanations of the logic behind the matrix-vector products 2013-08-21 14:29:53 +02:00
Gael Guennebaud
d9381598bc Allows EIGEN_STACK_ALLOCATION_LIMIT to be 0 for no limit 2013-08-21 14:29:00 +02:00
Gael Guennebaud
1c61e28b32 Fix indentation 2013-08-20 14:13:41 +02:00
Gael Guennebaud
c06e373beb Fix compilation with non-msvc compilers. 2013-08-20 14:12:42 +02:00
Gael Guennebaud
7bca2910c7 Make the static assertions on maximal fixed size object use EIGEN_STACK_ALLOCATION_LIMIT, and raise its default value to 128KB 2013-08-20 13:59:33 +02:00
Gael Guennebaud
2cf513e973 Merged in advanpix/eigen-mp-devs (pull request PR-31)
Added support for custom scalars in SparseLU
2013-08-20 12:10:38 +02:00
Gael Guennebaud
150c9fe536 Make FullPivHouseholderQR::solve returns the least-square solution instead of aborting if no exact solution exist 2013-08-20 11:52:48 +02:00
Pavel Holoborodko
e4ffb7729a Removed unnecessary parentheses 2013-08-20 16:06:13 +09:00
Pavel Holoborodko
d908ccc01c Added support for custom scalars 2013-08-20 15:00:28 +09:00
Gael Guennebaud
2b15e00106 Make ArrayBase operator+=(scalar) and -=(scalar) use SelfCwiseBinaryOp optimization 2013-08-19 16:40:50 +02:00
Gael Guennebaud
127d7f2071 Fix bug #643: enable vectorization of compound assignement for fixed size objects 2013-08-19 16:34:09 +02:00
Gael Guennebaud
c47010e3d2 typo 2013-08-19 16:10:00 +02:00
Gael Guennebaud
d4dd6aaed2 Fix bug #642: add vectorization of sqrt for doubles, and make sqrt really safe if EIGEN_FAST_MATH is disabled 2013-08-19 16:02:27 +02:00
Jitse Niesen
d3635b08da Merged in advanpix/eigen-mp-devs (pull request PR-30)
Added support for custom-scalars
2013-08-19 11:41:22 +01:00
Pavel Holoborodko
ebd6a7a46c Added support for custom-scalars 2013-09-02 19:09:39 +09:00
Christoph Hertzberg
e0dbc2913a Documentation of deprecated struct. Closing bug #426. 2013-08-16 16:43:02 +02:00
Christoph Hertzberg
1d89554f1b Deprecate boolean sum operator (bug #426) 2013-08-13 14:54:09 +02:00
Gael Guennebaud
bffdc491b3 Fix cost evaluation of partial reduxions -> improve performance of vectorwise/replicate expressions involving partial reduxions 2013-08-11 19:21:43 +02:00
Gael Guennebaud
6719e56b5b Ref<> objects must be nested by reference because they potentially store a temporary object 2013-08-11 17:52:43 +02:00
Hauke Heibel
e4acd6e2fd Added copy constructor and assignment to DenseStorage.
Required by the standard even when its not used but elided.
Added a test for DenseStorage copying and assignment.
2013-08-10 19:13:46 +02:00
Hauke Heibel
8a89ba9275 Added alternative C++11 detection. 2013-08-10 19:11:03 +02:00
Hauke Heibel
097a105603 Disabled std::log1p on Cygwin. 2013-08-10 19:10:23 +02:00
Jitse Niesen
616f9cc593 doc: Explain type of result for VectorwiseOp member functions.
Prompted by a question on the forum.
2013-08-06 09:49:44 +01:00
Hauke Heibel
8710440951 Removed errornous swap for stack storage. 2013-08-03 10:09:31 +02:00
Hauke Heibel
51b361b3bb Ensure that (potentially aligned) stack objects are passed by reference. 2013-08-02 21:07:39 +02:00
Hauke Heibel
7c99b38b7c Added move support for Matrix and Array.
Added EIGEN_HAVE_RVALUE_REFERENCES define.
Added move unit tests.
Removed superfluous 'inline' declarations in DenseStorage.
2013-08-02 19:59:43 +02:00
Gael Guennebaud
b72a686830 Fix bug #635: add isCompressed to MappedSparseMatrix for compatibility 2013-08-02 11:11:21 +02:00
Gael Guennebaud
e3058dd88b Make Pardiso solvers non copyabe 2013-08-02 11:09:02 +02:00
Gael Guennebaud
8ea7413a64 Fix compilation and warning of PARDISO 2013-08-02 11:05:00 +02:00
Gael Guennebaud
ddf7753631 Add nvcc support for small eigenvalues decompositions and workaround lack of support for std::swap and std::numeric_limits 2013-08-01 16:26:57 +02:00
Gael Guennebaud
55b57fcba6 Disable some shortcuts with nvcc 2013-07-31 16:56:31 +02:00
Gael Guennebaud
6126ad801f Extend support for nvcc to Array objects and wrappers 2013-07-31 15:30:50 +02:00
Hauke Heibel
43df1e707c Merged in advanpix/eigen-mp-3.2 (pull request PR-29)
Quick fix in order to be custom-scalar friendly.
2013-07-30 08:11:39 +02:00
Hauke Heibel
b1f4601bf9 Removed non-standard conforming (17.4.3.1.2/1) leading underscore. 2013-07-30 08:05:10 +02:00
Pavel Holoborodko
acb82c7f16 Quick fix in order to be custom-scalar friendly. 2013-07-29 20:13:52 +09:00
Sven Strothoff
5f11db695b bug #502: add bool intersects() methods to AlignedBox 2013-07-28 23:59:37 +02:00
Hauke Heibel
2437215221 Fixed constness in Array- and MatrixWrapper.
This also fixes the compilation on VC11.
2013-07-28 22:46:38 +02:00
Hauke Heibel
dd27b5c4a8 Fixed dummy_precision evaluation. 2013-07-28 19:31:33 +02:00
Jitse Niesen
70131120ab Fix bug in MatrixFunctions for matrices with multiple eigenvalues.
Store indices, not eigenvalues, in clusters.
Bug was introduced in changeset a3a55357db
.
2013-07-26 15:39:18 +01:00
Hauke Heibel
5897695e8a Merged simple geometry asserts. 2013-07-25 21:21:21 +02:00
Jitse Niesen
5879937f58 Merge in jdh8's branch.
* Enable singular matrix power and complex exponents.
* Eliminate unnecessary copying for sparse Kronecker product.
2013-07-21 20:50:15 +01:00
Gael Guennebaud
660b905e12 Fix ICE with ICC 11 2013-07-19 11:46:54 +02:00
Gael Guennebaud
4f0bd557a4 Previous isFinite->hasNonFinite change was broken. After discussion let's rename it to allFinite 2013-07-18 11:27:04 +02:00
Desire NUENTSA
736fe99fbf Fix bug #326 : expose tridiagonal eigensolver to end-users through ComputeFromTridiagonal() 2013-07-18 10:32:31 +02:00
Gael Guennebaud
6fab4012a3 Rename isFinite to hasNonFinite to avoid future naming collisions. 2013-07-17 21:13:45 +02:00
Gael Guennebaud
2f593ee67c merge with main branch 2013-07-17 13:21:35 +02:00
Gael Guennebaud
20e535e142 Bump default branch to 3.2.90 2013-07-17 10:04:20 +02:00
Gael Guennebaud
bbaef8ebba SparseLU: make COLAMDOrdering the default ordering method. 2013-07-17 09:30:25 +02:00
Gael Guennebaud
bd689ccc28 IncompleteLUT should not raise an assert in compute if factorize failed. 2013-07-17 09:21:07 +02:00
Desire NUENTSA
cfd7f9b84a avoid unneeded const_cast 2013-07-16 15:56:05 +02:00
Desire NUENTSA
3e094af410 Fix Sparse LU for matrices in non compressed mode 2013-07-16 15:15:53 +02:00
Gael Guennebaud
adeaa657eb Expose InnerSizeAtCompileTime in SparseMatrixBase (it was already present in DenseBase) and simplify sparse_vector_assign_selector (this also fix a stupid warning in old gcc versions) 2013-07-16 09:49:01 +02:00
Gael Guennebaud
ee244d54f4 SparseVector::assign: it is not always possible to reserve according to given non-zeros. 2013-07-14 11:56:08 +02:00
Gael Guennebaud
4bb0fff151 Rationalize assignment to sparse vectors 2013-07-13 19:45:05 +02:00
Gael Guennebaud
7ee378d89d Fix various scalar type conversion warnings. 2013-07-12 16:40:02 +02:00
Gael Guennebaud
5431473d67 Fix SparseMatrix::conservativeResize() when one dimension is null 2013-07-12 14:10:02 +02:00
Desire Nuentsa
444c09e313 Fix constness of diagonal() and transpose() for MSVC. 2013-07-11 12:36:57 +02:00
Gael Guennebaud
84f52ad317 Remove double const qualifier 2013-07-10 23:54:53 +02:00
Gael Guennebaud
6d1f5dbaae Add no_assignment_operator to a few classes that must not be assigned, and fix a couple of warnings. 2013-07-10 23:48:26 +02:00
Gael Guennebaud
5a4519d2b4 Revisit the implementation of random_default_impl for integer to make sure avoid overflows and compiler warnings. 2013-07-10 21:11:41 +02:00
Chen-Pang He
04bd1e3fc0 Slightly optimize atanh2. 2013-07-08 16:49:27 +08:00
Gael Guennebaud
4f28ccdd0e Rationalize the use of Index type in iterators 2013-07-06 22:05:49 +02:00
Gael Guennebaud
3edd4681f2 ReturnByValue should not be assignable! 2013-07-06 20:26:02 +02:00
Gael Guennebaud
d0142e963b Fix ambiguity from the origin of Index type in BlockImpl<Sparse>::InnerIterator 2013-07-06 17:33:49 +02:00
Gael Guennebaud
cc03c9d683 bug #556: workaround mingw bug with -O3 or -fipa-cp-clone 2013-07-05 23:47:40 +02:00