Gael Guennebaud
d9c80169e0
bump to 3.2.5
2015-06-16 11:53:07 +02:00
Gael Guennebaud
b514c943c7
Fix installation of some unsupported modules
2015-06-16 11:51:58 +02:00
Christoph Hertzberg
8ba643a903
bug #1014 : More stable direct computation of eigenvalues and -vectors for 3x3 matrices
2015-05-17 21:54:32 +02:00
Gael Guennebaud
595c00157c
Applied patch from Richard JW Roberts, resolving bug #704
...
(grafted from devel branch)
2015-06-15 22:02:57 +02:00
Gael Guennebaud
1c6b224fb3
Remove aligned-on-scalar assert and fallback to non vectorized path at runtime (first_aligned already had this runtime guard)
2015-06-14 15:04:07 +02:00
Gael Guennebaud
2361ec9c0e
Fix a regression introduced in changeset 2461531e5a
2015-06-13 22:32:10 +02:00
Gael Guennebaud
fcd213a297
Fix use of unitialized buffers.
...
(grafted from 2f2a441a4d
)
2015-06-13 22:19:40 +02:00
Gael Guennebaud
37ed0d991a
aligned-on-scalar assertion was still too aggressive: it now takes into account the sizes at runtime
2015-06-13 21:49:11 +02:00
Gael Guennebaud
62b08cf9f9
Limit aligned-on-scalar assert on Map
2015-06-12 08:59:26 +02:00
Gael Guennebaud
46f011466b
Relax aligned-on-scalar assert for lvalue only
2015-06-12 08:50:15 +02:00
Gael Guennebaud
f600bdd76b
Map: assert on unaligned on scalar only if the object might be vectorized
2015-06-11 22:17:56 +02:00
Gael Guennebaud
421aa4f358
typo
2015-06-09 18:34:13 +02:00
Gael Guennebaud
554356b034
bug #650 : fix dense += sparse_row_major * dense
2015-06-09 18:03:38 +02:00
Gael Guennebaud
97119f854f
bug #1003 : assert in MapBase if the provided pointer is not aligned on scalar while it is expected to be. Also add a EIGEN_ALIGN8 macro.
2015-06-09 17:42:09 +02:00
Gael Guennebaud
51ab034f63
bug #872 : remove usage of deprecated bind1st/bind2nd functions (manually backported from devel branch)
2015-06-09 11:06:39 +02:00
Gael Guennebaud
0ebce69424
Update approx. minimum ordering method to push and keep structural empty diagonal elements to the bottom-right part of the matrix
2015-03-20 16:33:48 +01:00
Gael Guennebaud
a748673bbb
bug #1016 : fix scalar conversion conversion
2015-06-05 16:04:51 +02:00
Gael Guennebaud
8597ee502b
bug #705 : fix handling of Lapack potrf return code
...
(grafted from 0a9b5d1396
)
2015-06-05 15:59:13 +02:00
Gael Guennebaud
ac66f1c73d
Fix usage of EIGEN_NO_AUTOMATIC_RESIZING: resizing still has to be performed for a non-initialized object (was already fixed in devel branch)
2015-05-26 10:44:37 +02:00
Christoph Hertzberg
b392e6b21c
Merged in mvdyck/eigen-3/3.2 (pull request PR-115)
...
[[DOC]] Topic Multithreading dox compile error in example code resolved as in default branch
2015-05-09 01:40:43 +02:00
Michiel Van Dyck
e88aaae5f4
Merged in mvdyck/doc-topicmultithreadingdox-resolved-comp-1431118452618 (pull request PR-1)
...
[[DOC]] TopicMultithreading.dox compile error in example code resolved as in default branch
2015-05-08 22:56:14 +02:00
Michiel Van Dyck
2d217a60a7
Close branch mvdyck/doc-topicmultithreadingdox-resolved-comp-1431118452618
2015-05-08 22:56:14 +02:00
Michiel Van Dyck
ef1439252c
[[DOC]] TopicMultithreading.dox compile error in example code resolved as in default branch
2015-05-08 20:55:34 +00:00
Gael Guennebaud
847bb317cd
bug #1013 : fix 2x2 direct eigensolver for identical eiegnvalues
2015-05-07 15:55:12 +02:00
Gael Guennebaud
62d334c7d3
Fix bug #1010 : m_isInitialized was improperly updated
...
(grafted from ebf8ca4fa8
)
2015-05-07 14:20:42 +02:00
Christoph Hertzberg
7713b29084
bug #1012 : Enable alloca on Mac OS or if alloca is defined as macro
2015-05-06 13:24:48 +02:00
Christoph Hertzberg
a08df3ff34
Fix regression introduced by last merge
2015-05-06 11:03:00 +02:00
Christoph Hertzberg
5bb9459124
bug #999 : clarify that behavior of empty AlignedBoxes is undefined, and further improvements in documentation
2015-04-30 19:29:47 +02:00
Christoph Hertzberg
80fd8fab87
Regression test for bug #302
2015-04-26 20:58:13 +02:00
Christoph Hertzberg
84eeabd223
Fix bug #1000 : Manually inherit assignment operators for MSVC 2013 and later (as required by the standard).
2015-04-23 13:39:31 +02:00
Gael Guennebaud
058fa781d7
Fix bug #996 : fix comparisons to 0 instead of Scalar(0)
...
(grafted from e0cff9ae0d
)
2015-04-15 14:48:53 +02:00
Christoph Hertzberg
b03209a7a6
Make conversion from 0 to Scalar explicit (issue reported by Brad Bell)
2015-04-13 17:10:52 +02:00
Christoph Hertzberg
71590d0ac7
bug #993 : Passing matrix.inverse() as MatrixBase lead to infinite recursion.
2015-04-09 20:29:41 +02:00
Christoph Hertzberg
1e1b4b6678
Cygwin compatibility issues (manually backported from main branch)
2015-04-09 20:26:47 +02:00
Gael Guennebaud
2e3353634f
bug #986 : add support for coefficient-based product with 0 depth.
2015-04-01 13:21:47 +02:00
Gael Guennebaud
2461531e5a
Fix bug #987 : wrong alignement guess in diagonal product.
2015-03-31 23:36:54 +02:00
Christoph Hertzberg
a68917594b
Change CMake warning to simple message for old Metis versions
...
(transplanted from 7bd578d11d
)
2015-03-31 00:50:04 +02:00
Christoph Hertzberg
3b93b1afb3
Addendum to last patch: k is Index and not int
...
(transplanted from 3238ca6abc
)
2015-03-31 00:42:14 +02:00
Christoph Hertzberg
0fb74c1f8b
bug #985 : RealQZ failed when either matrix had zero rows or columns (report and patch by Ben Goodrich)
...
Also added a regression test
(transplanted from 1efae98fee
)
2015-03-30 23:56:20 +02:00
Christoph Hertzberg
bf650a3686
bug #983 : Pass Vector3 by const reference and not by value
...
(transplanted from 09a5361d1b
)
2015-03-28 12:36:24 +01:00
Christoph Hertzberg
8fa951e31d
Optionally build the documentation when building unit tests.
2015-03-27 16:41:28 +01:00
Deanna Hood
1b64edbfd4
Make html directory before generating output image there
...
(transplanted from 2ab4922431
)
2015-03-18 07:24:13 +10:00
Gael Guennebaud
c74284ed81
bug #949 : add static assertion for incompatible scalar types in dense end-user decompositions.
2015-03-13 21:06:20 +01:00
Gael Guennebaud
b09316fbea
bug #980 : fix taking a row (resp. column) of a column-major (resp. row-major) sparse matrix and add missing coeff/coeffRef members.
2015-03-13 15:13:58 +01:00
Gael Guennebaud
c5fc8e6bdc
bug #969 : workaround abiguous calls to Ref using enable_if.
2015-03-06 17:51:31 +01:00
Gael Guennebaud
88c844ae2f
bug #824 : improve accuracy of Quaternion::angularDistance using atan2 instead of acos.
...
(grafted from 2dc968e453
)
2015-03-04 17:03:13 +01:00
Gael Guennebaud
500c36de61
Merged in blechta/eigen/fix-cg-zero-guess (pull request PR-100)
...
Really use zero guess in ConjugateGradient::solve as documented
2015-03-04 11:42:25 +01:00
Gael Guennebaud
26234720bd
Fix bug #972 : allow coeff-based products of depth 0 and remove a useless statement in coeff-based product.
2015-02-28 15:25:39 +01:00
Gael Guennebaud
0e38796e1c
Fix bug #961 : eigen-doc.tgz included part of itself.
...
(grafted from fc5c3e85e2
)
2015-02-18 15:47:01 +01:00
Gael Guennebaud
a2d9a4806a
Fix bug #714 : the actual number of threads might be lower than the number of request ones.
2015-02-18 15:24:05 +01:00
Jan Blechta
a72bf09e6d
Really use zero guess in ConjugateGradients::solve as documented
...
and expected for consistency with other methods.
2015-02-18 14:26:10 +01:00
Gael Guennebaud
bb3e5c29cc
Big 957, workaround MSVC/ICC compilation issue
2015-02-18 11:24:32 +01:00
Gael Guennebaud
81b3d29b26
Fix SparseLU::signDeterminant() method, and add a SparseLU::determinant() method.
2015-02-16 19:16:21 +01:00
Gael Guennebaud
f0b1b1df9b
Fix SparseLU::signDeterminant() method, and add a SparseLU::determinant() method.
2015-02-16 19:09:22 +01:00
Gael Guennebaud
e061b7a538
Add PermutationMatrix::determinant method.
...
(grafted from 8768ff3c31
)
2015-02-16 19:08:25 +01:00
Gael Guennebaud
8768ff3c31
Add PermutationMatrix::determinant method.
2015-02-16 19:08:25 +01:00
Gael Guennebaud
77af14fb62
bug #914 : fix compiler detection on windows
2015-02-16 16:26:47 +01:00
Martin Drozdik
64b29e06b9
bug #956 : Fixed bug in move constructors of DenseStorage which caused "moved-from" objects to be in an invalid state.
2015-02-16 18:18:46 +09:00
Gael Guennebaud
1c0e8bcf09
Fix unused variable warning.
2015-02-16 17:21:30 +01:00
Gael Guennebaud
69fa405096
Update circulant custom expression example
2015-02-16 17:21:16 +01:00
Gael Guennebaud
0f464d9d87
bug #897 : fix regression in BiCGSTAB(mat) ctor (an all other iterative solvers).
...
Add respective regression unit test.
2015-02-16 17:05:10 +01:00
Gael Guennebaud
470d26d580
Remove some useless typedefs
2015-02-16 16:48:21 +01:00
Gael Guennebaud
4dded73227
bug #914 : fix compiler detection on windows
...
(grafted from 77af14fb62
)
2015-02-16 16:26:47 +01:00
Gael Guennebaud
953d5ccfd5
Doc: explain how to free allocated memory in SparseMAtrix
2015-02-16 15:56:11 +01:00
Gael Guennebaud
98604576d1
Merged in chtz/eigen-indexconversion (pull request PR-92)
...
bug #877 , bug #572 : Get rid of Index conversion warnings, summary of changes:
- Introduce a global typedef Eigen::Index making Eigen::DenseIndex and AnyExpr<>::Index deprecated (default is std::ptrdiff_t).
- Eigen::Index is used throughout the API to represent indices, offsets, and sizes.
- Classes storing an array of indices uses the type StorageIndex to store them. This is a template parameter of the class. Default is int.
- Methods that *explicitly* set or return an element of such an array take or return a StorageIndex type. In all other cases, the Index type is used.
2015-02-16 15:29:00 +01:00
Gael Guennebaud
45cbb0bbb1
The usage of DenseIndex is deprecated, so let's replace DenseIndex by Index
2015-02-16 15:05:41 +01:00
Gael Guennebaud
cc641aabb7
Remove deprecated usage of expr::Index.
2015-02-16 14:46:51 +01: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
Christoph Hertzberg
b39413794e
bug #952 : Missing \endcode made doxygen fail to build ColPivHouseholderQR
...
(transplanted from bd511dde9d
)
2015-02-15 06:08:25 +01:00
Christoph Hertzberg
bd511dde9d
bug #952 : Missing \endcode made doxygen fail to build ColPivHouseholderQR
2015-02-15 06:08:25 +01:00
Benoit Steiner
e2cfddf75f
Pulled latest updates from trunk
2015-02-13 16:21:59 -08:00
Benoit Steiner
0927801a84
Optimized version of the sin(), exp(), log() and sqrt() function for AVX
2015-02-13 16:07:08 -08:00
Benoit Jacob
e972b55ec4
bug #953 - Fix prefetches in 3px4 product kernel
...
This gives a 10% speedup on nexus 4 and on nexus 5.
2015-02-13 14:52:36 -05: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
Gael Guennebaud
fe51319980
Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs
2015-02-13 10:03:53 +01:00
Gael Guennebaud
0918c51e60
merge Tensor module within Eigen/unsupported and update gemv BLAS wrapper
2015-02-12 21:48:41 +01:00
Gael Guennebaud
409547a0c8
update EIGEN_FAST_MATH documentation
2015-02-12 21:04:31 +01:00
Benoit Steiner
4470c99975
Added a test to validate tensor casting on cuda devices
2015-02-10 14:40:18 -08:00
Benoit Steiner
6620aaa4b3
Silenced a few compilation warnings generated by nvcc
2015-02-10 14:34:42 -08:00
Benoit Steiner
f669f5656a
Marked a few functions as EIGEN_DEVICE_FUNC to enable the use of tensors in cuda kernels.
2015-02-10 14:29:47 -08:00
Gael Guennebaud
029d236ceb
merge
2015-02-10 23:12:47 +01:00
Gael Guennebaud
fe25f3b8e3
FMA has been wrongly disabled
2015-02-10 23:11:35 +01:00
Benoit Steiner
ceb4c9c10b
Pulled latest changes from trunk
2015-02-10 14:03:17 -08:00
Benoit Steiner
cc5d7ff523
Added vectorized implementation of the exponential function for ARM/NEON
2015-02-10 14:02:38 -08:00
Gael Guennebaud
d771295554
remove useless include
2015-02-10 22:59:27 +01:00
Benoit Steiner
fefec723aa
Fixed compilation error triggered when trying to vectorize a non vectorizable cuda kernel.
2015-02-10 13:16:22 -08:00
Benoit Steiner
780b2422e2
Silenced the last batch of compilation warnings triggered by gcc 4.8
2015-02-10 12:43:55 -08:00
Benoit Steiner
c21e45fbc5
Fixed a few more compilation warnings
2015-02-10 12:36:26 -08:00
Benoit Steiner
057cfd2f02
Silenced more compilation warnings
2015-02-10 12:25:02 -08:00
Benoit Steiner
114e863f08
Silcenced a few compilation warnings
2015-02-10 12:20:24 -08:00
Benoit Steiner
410895a7e4
Silenced several compilation warnings
2015-02-10 12:13:19 -08:00
Benoit Steiner
4716c2c666
Fixed compilation error
2015-02-10 12:06:19 -08:00
Benoit Steiner
91fe3a3004
Removed a debug printf statement.
2015-02-10 10:29:28 -08:00
Jan Blechta
84bba80916
Fix bug #733 : step by step solving is not a good example for solveWithGuess
2015-02-10 14:24:39 +01:00
Gael Guennebaud
91953d2d37
Backport MINRES fixes to 3.2
2015-02-10 19:21:41 +01:00
Gael Guennebaud
7b35b4cacc
Allows Lower|Upper as a template argument of CG and MINRES: in this case the full matrix will be considered.
2015-02-10 18:57:41 +01:00
Jan Blechta
c3f3580b8f
Fix bug #733 : step by step solving is not a good example for solveWithGuess
2015-02-10 14:24:39 +01:00
Gael Guennebaud
deecff97ed
typo
2015-02-10 19:22:05 +01:00
Gael Guennebaud
c6e8caf090
Allows Lower|Upper as a template argument of CG and MINRES: in this case the full matrix will be considered.
2015-02-10 18:57:41 +01:00
Gael Guennebaud
d10d6a40dd
bug #897 : Update unsupported iterative solvers based on IterativeSolverBased.
2015-02-10 13:02:59 +01:00
Gael Guennebaud
87629cd639
bug #897 : makes iterative sparse solvers use a Ref<SparseMatrix> instead of a SparseMatrix pointer. This fixes usage of iterative solvers with a Map<SparseMatrix>.
2015-02-09 11:41:25 +01:00
Gael Guennebaud
bde98df03f
merge
2015-02-09 11:15:37 +01:00
Gael Guennebaud
d4ec48575e
Make Block<SparseMatrix> inherit SparseCompressedBase in the case of an inner-panels and fix valuePtr() innerIndexPtr()
2015-02-09 11:14:36 +01:00
Gael Guennebaud
554aa9b31d
Add failtests for Ref<SparseMatrix>
2015-02-09 10:24:07 +01:00
Gael Guennebaud
3af29caae8
Cleaning and add more unit tests for Ref<SparseMatrix> and Map<SparseMatrix>
2015-02-09 10:23:45 +01:00
Gael Guennebaud
f2ff8c091e
Add a Ref<SparseMatrix> specialization.
2015-02-07 22:04:18 +01:00
Gael Guennebaud
f3be317614
Add a Map<SparseMatrix> specialization.
2015-02-07 22:03:25 +01:00
Gael Guennebaud
08081f8293
Make SparseTranspose inherit SparseCompressBase when possible
2015-02-07 22:02:14 +01:00
Gael Guennebaud
7838fda82c
Add a SparseCompressedBase class providing (un)compressed accessors (like data()/*Stride() for dense matrices),
...
and a CompressedAccessBit flag (similar to DirectAccessBit for dense matrices).
2015-02-07 22:00:46 +01:00
Benoit Steiner
3ba6647398
Fixed the cxx11_meta test
2015-02-06 06:00:59 -08:00
Benoit Steiner
01f7918788
Pulled latest fixes
2015-02-06 05:30:20 -08:00
Gael Guennebaud
b50ffaddf2
merge
2015-02-06 14:27:12 +01:00
Gael Guennebaud
74e460b995
Fix symmetric product
2015-02-06 14:26:24 +01:00
Gael Guennebaud
c03c73c9b7
Fix clang compilation
2015-02-06 14:26:12 +01:00
Gael Guennebaud
668518aed6
Fix non initialized entries and comparison of very small numbers
2015-02-06 14:25:41 +01:00
Benoit Steiner
c739102ef9
Pulled the latest changes from the trunk
2015-02-06 05:25:03 -08:00
Benoit Steiner
2559fa9b0f
Fixed compilation error in the tensor broadcasting test
2015-02-06 02:55:18 -08:00
Benoit Steiner
dcb2a8b184
Added the EIGEN_HAS_CONSTEXPR define
...
Gate the tensor index list code based on the value of EIGEN_HAS_CONSTEXPR
2015-02-06 02:51:59 -08:00
Filippo Basso
a8f2c6eec7
Using numext::pow instead of std::pow in poly_eval function.
2015-02-04 18:37:51 +00:00
Gael Guennebaud
b1eca55328
Use Ref<> to ensure that both x and b in Ax=b are compatible with Umfpack/SuperLU expectations
2015-02-03 23:46:05 +01:00
Gael Guennebaud
f9931a0392
SPQR: fix default threshold value
2015-02-03 22:32:34 +01:00
Gael Guennebaud
ebdf6a2dbb
SPQR: fix default threshold value
2015-02-03 22:32:34 +01:00
Benoit Steiner
f64045a060
Silenced a few more compilation warnings
2015-01-30 19:52:01 -08:00
Benoit Steiner
590f4b0aa3
Silenced some compilation warnings
2015-01-30 19:46:30 -08:00
Benoit Jacob
5ef95fabee
bug #936 , patch 3/3: Properly detect FMA support on ARM (requires VFPv4)
...
and use it instead of MLA when available, because it's both more accurate,
and faster.
2015-01-30 17:45:03 -05:00
Benoit Jacob
0f21613698
bug #936 , patch 2/3: Remove EIGEN_VECTORIZE_FMA, was redundant with EIGEN_HAS_SINGLE_INSTRUCTION_MADD
2015-01-30 17:44:26 -05:00
Benoit Jacob
340b8afb14
bug #936 , patch 1.5/3: rename _FUSED_ macros to _SINGLE_INSTRUCTION_,
...
because this is what they are about. "Fused" means "no intermediate rounding
between the mul and the add, only one rounding at the end". Instead,
what we are concerned about here is whether a temporary register is needed,
i.e. whether the MUL and ADD are separate instructions.
Concretely, on ARM NEON, a single-instruction mul-add is always available: VMLA.
But a true fused mul-add is only available on VFPv4: VFMA.
2015-01-31 14:15:57 -05:00
Benoit Jacob
9f99f61e69
bug #936 , patch 1/3: some cleanup and renaming for consistency.
2015-01-30 17:43:56 -05:00
Benoit Jacob
759bd92a85
bug #935 : Add asm comments in GEBP kernels to work around a bug
...
in both GCC and Clang on ARM/NEON, whereby they spill registers,
severely harming performance. The reason why the asm comments
make a difference is that they prevent the compiler from
reordering code across these boundaries, which has the effect
of extending the lifetime of local variables and increasing
register pressure on this register-tight code.
2015-01-30 17:27:56 -05:00
Gael Guennebaud
f89ba2a58b
bug #941 : fix accuracy issue in ColPivHouseholderQR, do not stop decomposition on a small pivot
...
(grafted from f1092d2f73
)
2015-01-30 19:04:04 +01:00
Gael Guennebaud
f1092d2f73
bug #941 : fix accuracy issue in ColPivHouseholderQR, do not stop decomposition on a small pivot
2015-01-30 19:04:04 +01:00
Gael Guennebaud
8296c4aaed
Supernodes was disabled.
...
(grafted from 9d82f7e30d
)
2015-01-30 17:24:40 +01:00
Gael Guennebaud
9d82f7e30d
Supernodes was disabled.
2015-01-30 17:24:40 +01:00
Benoit Steiner
e896c0ade7
Marked the contraction operation as read only, since its result can't be assigned.
2015-01-29 10:29:47 -08:00
Benoit Steiner
5a6ea4edf6
Added more tests to cover tensor reductions
2015-01-28 10:02:47 -08:00
Gael Guennebaud
b613173350
bug #933 : RealSchur, do not consider the input matrix norm to check negligible sub-diag entries. This also makes this test consistent with the complex and self-adjoint cases.
...
(grafted from a727a2c4ed
)
2015-01-28 16:07:51 +01:00
Gael Guennebaud
a727a2c4ed
bug #933 : RealSchur, do not consider the input matrix norm to check negligible sub-diag entries. This also makes this test consistent with the complex and self-adjoint cases.
2015-01-28 16:07:51 +01:00
Benoit Steiner
9dfdbd7e56
mproved the performance of tensor reductions that preserve the inner most dimension(s).
2015-01-27 14:15:31 -08:00
Benoit Steiner
46fc881e4a
Added a few benchmarks for the tensor code
2015-01-26 17:46:40 -08:00
Gael Guennebaud
c6eb84aabc
Enable vectorization of transposeInPlace for PacketSize x PacketSize matrices
2015-01-26 17:09:01 +01:00
Gael Guennebaud
e1f1091fde
Add support for dense ?= diagonal
2015-01-24 10:32:49 +01:00
Gael Guennebaud
638c6948d7
Added tag 3.2.4 for changeset e6952a51ba
2015-01-21 17:26:53 +01:00
Gael Guennebaud
e6952a51ba
bump to 3.2.4
2015-01-21 17:26:41 +01:00
Gael Guennebaud
b9d314ae19
bug #329 : fix typo
2015-01-17 21:55:33 +01:00
Gael Guennebaud
0039cd9cf9
bug #329 : fix typo
...
(grafted from b9d314ae19
)
2015-01-17 21:55:33 +01:00
Benoit Steiner
14f537c296
gcc doesn't consider that
...
template<typename OtherDerived> TensorStridingOp& operator = (const OtherDerived& other)
provides a valid assignment operator for the striding operation, and therefore refuses to compile code like:
result.stride(foo) = source.stride(bar);
Added the explicit
TensorStridingOp& operator = (const TensorStridingOp& other)
as a workaround to get the code to compile, and did the same in all the operations that can be used as lvalues.
2015-01-16 09:09:23 -08:00
Benoit Steiner
641e824c56
Added cube() operation
2015-01-15 11:11:48 -08:00
Benoit Steiner
b5124e7cfd
Created many additional tests
2015-01-14 15:46:04 -08:00
Benoit Steiner
54e3633b43
Updated the list of include files
2015-01-14 15:43:38 -08:00
Benoit Steiner
f697df7237
Improved support for RowMajor tensors
...
Misc fixes and API cleanups.
2015-01-14 15:38:48 -08:00
Benoit Steiner
6559d09c60
Ensured that each thread has it's own copy of the TensorEvaluator: this avoid race conditions when the evaluator calls a non thread safe functor, eg when generating random numbers.
2015-01-14 15:34:50 -08:00
Benoit Steiner
8a382aa119
Improved the resizing of tensors
2015-01-14 15:33:11 -08:00
Benoit Steiner
703c526355
Misc improvements
2015-01-14 15:31:52 -08:00
Benoit Steiner
4cdf3fe427
Misc fixes
2015-01-14 15:30:47 -08:00
Benoit Steiner
0feff6e987
Expanded the functionality of index lists
2015-01-14 15:29:48 -08:00
Gael Guennebaud
cd679f2c47
Fix doc: setConstant does not exist for SparseMatrix.
2015-01-14 22:06:09 +01:00
Gael Guennebaud
f074d43f4b
Fix doc: setConstant does not exist for SparseMatrix.
...
(grafted from cd679f2c47
)
2015-01-14 22:06:09 +01:00
Benoit Steiner
1ac8600126
Fixed the return type of coefficient wise operations. For example, the abs function returns a floating point value when called on a complex input.
2015-01-14 12:47:46 -08:00
Benoit Steiner
378bdfb7f0
Added missing apis to the TensorMap class
2015-01-14 12:45:20 -08:00
Benoit Steiner
0526dc1bb4
Added missing apis to the tensor class
2015-01-14 12:44:08 -08:00
Benoit Steiner
1a36590e84
Fixed the printing of RowMajor tensors
2015-01-14 12:43:20 -08:00
Benoit Steiner
7e0b6c56b4
Added ability to initialize a tensor using an initializer list
2015-01-14 12:41:30 -08:00
Benoit Steiner
b12dd1ae3c
Misc improvements for fixed size tensors
2015-01-14 12:39:34 -08:00
Benoit Steiner
71676eaddd
Added support for RowMajor inputs to the contraction code.
2015-01-14 12:36:57 -08:00
Benoit Steiner
0a0ab6dd15
Increased the functionality of the tensor devices
2015-01-14 11:45:17 -08:00
Benoit Steiner
5692723c58
Improved the performance of the contraction code on CUDA
2015-01-14 11:42:52 -08:00
Benoit Steiner
8f4b8d204b
Improved the performance of tensor reductions
...
Added the ability to generate random numbers following a normal distribution
Created a test to validate the ability to generate random numbers.
2015-01-14 10:19:33 -08:00
Benoit Steiner
3bd2b41b2e
Created a test for tensor type casting
2015-01-14 10:17:02 -08:00
Benoit Steiner
4928ea1212
Added ability to reverse the order of the coefficients in a tensor
2015-01-14 10:15:58 -08:00
Benoit Steiner
b00fe1590d
Added ability to swap the layout of a tensor
2015-01-14 10:14:46 -08:00
Benoit Steiner
c94174b4fe
Improved tensor references
2015-01-14 10:13:08 -08:00
Benoit Steiner
91dd53e54d
Created some documentation
2015-01-13 16:07:51 -08:00
Gael Guennebaud
279786e987
Fix missing evaluator in outer-product
2015-01-13 10:25:50 +01:00
Gael Guennebaud
699c80e404
bug #927 : backport some unit tests for Rotation2D
2015-01-13 10:11:44 +01:00
Gael Guennebaud
ae4644cc68
bug #907 , ARM64: workaround ICE in xcode/clang
2015-01-13 10:03:00 +01:00
Gael Guennebaud
36f7c1337f
bug #907 , ARM64: workaround vreinterpretq_u64_* not defined in xcode/clang
2015-01-13 09:57:37 +01:00
Gael Guennebaud
5023afc0af
Fix NEON compilation: use EIGEN_ARM_PREFETCH instead of __pld
2015-01-13 09:25:24 +01:00
Gael Guennebaud
63974bcb88
Big 907: workaround some missing intrinsics in current NDK's gcc version (ARM64)
2015-01-07 09:44:25 +01:00
Gael Guennebaud
79f4a59ed9
bug #907 : fix compilation with ARM64
2015-01-07 09:41:56 +01:00
Benoit Steiner
9f98650d0a
Ensured that contractions that can be reduced to a matrix vector product work correctly even when the input coefficients aren't aligned.
2015-01-06 09:29:13 -08:00
Gael Guennebaud
8638dbb809
Fix bug #925 : typo in MatLab versions of middleRows
...
(grafted from db5b0741b5
)
2015-01-04 21:39:50 +01:00
Gael Guennebaud
db5b0741b5
Fix bug #925 : typo in MatLab versions of middleRows
2015-01-04 21:39:50 +01:00
Gael Guennebaud
8efa5bb439
bug #921 : fix utilization of bitwise operation on enums in first_aligned
...
(grafted from f5f6e2c6f4
)
2014-12-19 14:41:59 +01:00
Gael Guennebaud
f5f6e2c6f4
bug #921 : fix utilization of bitwise operation on enums in first_aligned
2014-12-19 14:41:59 +01:00
Gael Guennebaud
a5a3a994c8
bug #920 : fix MSVC 2015 compilation issues
2014-12-18 22:58:15 +01:00
Gael Guennebaud
25c7d9164f
bug #920 : fix MSVC 2015 compilation issues
2014-12-18 22:58:15 +01:00
Gael Guennebaud
ba44761435
bug #920 : fix compilation issue with MSVC 2015
2014-12-18 22:47:48 +01:00
Gael Guennebaud
1a96594607
rm explicit keyword introduced by backporting another change
2014-12-18 14:53:40 +01:00
Gael Guennebaud
61db9a0e89
Added tag 3.2.3 for changeset bc129ad79c
2014-12-16 18:31:04 +01:00
Gael Guennebaud
bc129ad79c
bump to 3.2.3
2014-12-16 18:30:52 +01:00
Gael Guennebaud
f5328be65a
SparseQR is really for rows>=columns, so let's only check such cases
2014-12-16 18:23:13 +01:00
Gael Guennebaud
735f1fda39
Fix false negatives in geo_transformations unit tests
2014-12-16 16:50:30 +01:00
Gael Guennebaud
57ab550a17
Fix wrong negative in nullary unit test when extended precision is used (FPU).
2014-12-16 16:23:47 +01:00
Gael Guennebaud
e887c61b3d
bug #821 : workaround MSVC 2013 issue with using Base::Base::operator=
2014-12-16 13:33:43 +01:00
Gael Guennebaud
b8d9eaa19b
Use true compile time "if" for Transform::makeAffine
2014-12-13 22:16:39 +01:00
Gael Guennebaud
f806c23012
Fix false negatives in geo_transformations unit tests
2014-12-16 16:50:30 +01:00
Gael Guennebaud
99501a2c4c
Fix wrong negative in nullary unit test when extended precision is used (FPU).
2014-12-16 16:23:47 +01:00
Gael Guennebaud
7dad5f797e
bug #821 : workaround MSVC 2013 issue with using Base::Base::operator=
2014-12-16 13:33:43 +01:00
Christoph Hertzberg
dcad508986
At least CMAKE 2.8.4 is required for WORKING_DIRECTORY option in add_test
2014-12-15 12:45:29 +01:00
Gael Guennebaud
26977e281e
Use true compile time "if" for Transform::makeAffine
2014-12-13 22:16:39 +01:00
Gael Guennebaud
1e109e1757
fix signed to unsigned convertion warning
2014-12-13 21:48:48 +01:00
Christoph Hertzberg
e469ac55c3
BVH appears to compile well with clang (re-enabled unit test)
2014-12-12 17:36:22 +01:00
Christoph Hertzberg
874f345562
Removed unused typedef
2014-12-12 12:03:50 +01:00
Christoph Hertzberg
608733415a
Free functions should only be declared as static in separate compilation units
...
(grafted from d85abc89c5
)
2014-12-12 12:01:03 +01:00
Gael Guennebaud
57ec399ec9
Remove unused fortran files
2014-12-13 21:41:25 +01:00
Christoph Hertzberg
d85abc89c5
Free functions should only be declared as static in separate compilation units
2014-12-12 12:01:03 +01:00
Christoph Hertzberg
309620ee1f
Make absolutely sure that tau is initialized (this change suppresses a gcc warning)
2014-12-12 11:53:24 +01:00
Gael Guennebaud
56ca44ad1a
Use f2c generated code instead of the original fortran code, except for dotc/dotu.
2014-12-11 17:03: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
6ccf97f3e6
Fix GL support wrt evaluators
2014-12-04 22:05:28 +01:00
Gael Guennebaud
433bce5c3a
UmfPack support: fix redundant evaluation/copies when calling compute() and support generic expressions as input
2014-12-02 17:30:57 +01:00
Gael Guennebaud
775f7e5fbb
bug #697 : make sure empty classes are at the end in case of multiple inheritence
2014-12-02 14:40:19 +01:00
Gael Guennebaud
a819fa148d
Fix MSVC compilation issue
2014-12-02 14:35:31 +01:00
Gael Guennebaud
1a8dc85142
bug #897 : fix UmfPack usage with mapped sparse matrices
2014-12-02 13:57:13 +01:00
Gael Guennebaud
4974d1d2b4
Fix bug #911 : m_extractedDataAreDirty was not initialized in UmfPackLU
2014-12-02 13:54:06 +01:00
Gael Guennebaud
e2f3e4e4aa
Document non-const SparseMatrix::diagonal() method.
2014-12-01 14:45:15 +01:00
Gael Guennebaud
b26e697182
Make SparseMatrix::coeff() returns a const reference and add a non const version of SparseMatrix::diagonal()
2014-12-01 14:41:39 +01:00
Gael Guennebaud
b1f9f603a0
Simplify return type of diagonal(Index) (and ease compiler job)
2014-11-28 14:39:47 +01:00
Gael Guennebaud
5384e89147
Disable MatrixBase::bdcSvd with CUDA (just like MatrixBase::jacobiSvd
2014-11-26 22:29:29 +01:00
Gael Guennebaud
8518ba0bbc
Fix Hyperplane::Through(a,b,c) when points are aligned or identical. We use the stratgey as in Quaternion::setFromTwoVectors.
2014-11-26 15:01:53 +01:00
Tim Murray
80cae358b0
Adds a modified f2c-generated C implmentation for BLAS.
...
This adds an optional implementation for the BLAS library that does
not require the use of a FORTRAN compiler. It can be enabled with
EIGEN_USE_F2C_BLAS.
The C implementation uses the standard gfortran calling convention
and does not require the use of -ff2c when compiled with gfortran.
2014-11-24 10:56:30 -08:00
Gael Guennebaud
0efaff9b3b
Fix out-of-bounds write
2014-12-11 16:15:20 +01:00
Gael Guennebaud
41a20994cc
In simplicial cholesky: avoid deep copy of the input matrix is this later can be used readily
2014-12-08 17:56:33 +01:00
Gael Guennebaud
a910a7466e
Fix inner iterator type
2014-12-08 17:55:31 +01:00
Gael Guennebaud
4371911861
Remove useless and non standard numext::atanh2 function.
2014-12-08 16:44:34 +01:00
Gael Guennebaud
5fc4ce6449
bug #876 : remove usage of atanh2 in matrix power
2014-12-08 16:44:05 +01:00
Gael Guennebaud
77294047d6
bug #876 , matrix_log_compute_2x2: directly use logp1 instead of atanh2
2014-12-08 16:28:06 +01:00
Gael Guennebaud
bea36925db
bug #876 : implement a portable log1p function
2014-12-08 16:26:53 +01:00
Gael Guennebaud
7f7a712062
Optimize Simplicial Cholesky when NaturalOrdering is used.
2014-12-08 15:02:25 +01:00
Gael Guennebaud
30c849669d
Fix dynamic allocation in JacobiSVD (regression)
2014-12-08 14:45:04 +01:00
Gael Guennebaud
e0a8615b94
Merged in infinitei/eigen (pull request PR-91)
...
Added cmake uninstall target
2014-12-05 15:04:19 +01:00
Gael Guennebaud
8efd9142b3
Merged in infinitei/eigen-opengl-fixes (pull request PR-90)
...
Adding missing OPENGL_LIBRARIES for openglsupport test.
2014-12-05 12:54:57 +01:00
Gael Guennebaud
80ed5bd90c
Workaround various "returning reference to temporary" warnings.
2014-12-05 12:49:30 +01:00
Abhijit Kundu
eb3695d2fc
Added cmake uninstall target.
...
This adds a cmake command make uninstall
Running make uninstall removes the files installed by running make install
2014-12-04 02:57:03 -05:00
Abhijit Kundu
48db34a7b9
Adding missing OPENGL_LIBRARIES for openglsupport test. Also adding OpenGL include directories as a better pratice even though these are system include directories in most systems.
2014-12-04 01:18:47 -05:00
Gael Guennebaud
da584912b6
Fix memory pre-allocation when permuting inner vectors of a sparse matrix.
2014-11-24 17:31:59 +01:00
Benoit Steiner
509e4ddc02
Added reduction packet primitives for CUDA
2014-11-19 10:34:11 -08:00
Benoit Steiner
b33cf92878
Fixed the evaluation of expressions involving tensors of 2 or 3 elements on CUDA devices.
2014-11-18 14:32:41 -08:00
Benoit Steiner
1d3c8306f8
Fixed compilation errors with clang.
...
H: Enter commit message. Lines beginning with 'HG:' are removed.
2014-11-13 19:13:17 -08:00
Benoit Steiner
ec785b0180
Added support for extraction of patches from images
2014-11-13 09:28:54 -08:00
Benoit Steiner
eeabf7975e
Optimized broadcasting
2014-11-12 22:35:44 -08:00
Benoit Steiner
c2d1074932
Added support for static list of indices
2014-11-12 22:25:38 -08:00
Gael Guennebaud
722916e19d
bug #903 : clean swap API regarding extra enable_if parameters, and add failtests for swap
2014-11-06 09:25:26 +01:00
Benoit Steiner
cb37f818ca
Fixed a compilation error triggered by some operations on fixed sized tensors
2014-11-05 23:25:11 -08:00
Benoit Steiner
9a06a71627
Fixed a test
2014-11-05 07:49:51 -08:00
Gael Guennebaud
4577bafb91
Big 853: replace enable_if in Ref<> ctor by static assertions and add failtests for Ref<>
2014-11-05 16:15:17 +01:00
Christoph Hertzberg
739ed32222
Disable yet another Eigen2 deprecated warning
2014-12-11 16:49:07 +01:00
Christoph Hertzberg
58f0647f96
Disable another Eigen2 deprecated warning
2014-12-11 16:17:29 +01:00
Gael Guennebaud
d0c3fcd382
Fix out-of-bounds write
2014-12-11 16:12:15 +01:00
Gael Guennebaud
19e16fe15f
Workaround warning when EIGEN_STACK_ALLOCATION_LIMIT==0
2014-12-11 14:38:35 +01:00
Gael Guennebaud
8f87be9e03
Remove unused typedefs and variables
2014-12-11 14:35:22 +01:00
Gael Guennebaud
58725ff08c
Remove unused variables in eigen2support.
2014-12-11 14:26:19 +01:00
Gael Guennebaud
15bff016d1
Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING in eigen2support unit tests
2014-12-11 14:25:38 +01:00
Gael Guennebaud
c6fefe5d8e
Big 853: replace enable_if in Ref<> ctor by static assertions and add failtests for Ref<>
2014-11-05 16:15:17 +01:00
Gael Guennebaud
ee06f78679
Introduce unified macros to identify compiler, OS, and architecture. They are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
2014-11-04 21:58:52 +01:00
Benoit Steiner
9ea09179b5
Fixed the return type of the coefficient-wise tensor operations.
2014-11-04 10:24:42 -08:00
Benoit Steiner
b1789c112b
Improved handling of 1d tensors
2014-11-03 08:51:33 -08:00
Benoit Steiner
2dde63499c
Generalized the matrix vector product code.
2014-10-31 16:33:51 -07:00
Benoit Steiner
7f2c6ed2fa
Fixed a compilation warning
2014-10-31 11:45:21 -07:00
Christoph Hertzberg
c5a3777666
Regression test for (invalid) bug #900 . We should make it possible somehow to increase the problem size depending on the available RAM.
2014-10-31 17:19:05 +01:00
Christoph Hertzberg
0833b82efd
Run sparse_basic unit tests also for rectangular matrices.
...
TriangularView with UnitDiag does not work properly yet (bug #901 )
2014-10-31 17:12:13 +01:00
Benoit Steiner
85c3389b28
Fixed a test
2014-10-31 00:04:13 -07:00
Benoit Steiner
67fcf47ecb
Merged from trunk
2014-10-30 21:59:22 -07:00
Benoit Steiner
fcecafde3a
Fixed a compilation error with clang
2014-10-30 21:58:14 -07:00
Benoit Steiner
d62bfe73a9
Use the proper index type in the padding code
2014-10-30 18:15:05 -07:00
Benoit Steiner
bc99c5f7db
fixed some potential alignment issues.
2014-10-30 18:09:53 -07:00
Benoit Steiner
1946cc4478
Added missing packet primitives for CUDA.
2014-10-30 17:52:32 -07:00
Benoit Steiner
5e62427e22
Use the proper index type
2014-10-30 17:49:39 -07:00
Christoph Hertzberg
4ec2f07a5b
Fixed bug in SparseBlock which caused a segfault in sparse_extra_3 test
2014-10-30 21:34:10 +01:00
Christoph Hertzberg
883168ed94
Make select CUDA compatible (comparison operators aren't yet, so no test case yet)
2014-10-30 20:16:16 +01:00
Christoph Hertzberg
e5f134006b
EIGEN_UNUSED_VARIABLE works better than casting to void. Make this also usable from CUDA code
2014-10-30 19:59:09 +01:00
Christoph Hertzberg
d2fc597d5b
Removed deprecated header (unsupported/Eigen/BDCSVD is included in Eigen/SVD now)
2014-10-29 17:51:14 +01:00
Christoph Hertzberg
3d25b1f5b8
Split up some test cases
2014-10-29 17:46:54 +01:00
Christoph Hertzberg
acecb7b09f
Fixed include in bdcsvd.cpp
2014-10-29 17:46:33 +01:00
Gael Guennebaud
21c0a2ce0c
Move D&C SVD to official SVD module.
2014-10-29 11:29:33 +01:00
Benoit Steiner
debc97821c
Added support for tensor references
2014-10-28 23:10:13 -07:00
Christoph Hertzberg
e2e7ba9f85
bug #898 : add inline hint to const_cast_ptr
2014-10-28 14:49:44 +01:00
Christoph Hertzberg
bd2d330b25
Temporary workaround for bug #875 :
...
Let TriangularView<Sparse>::nonZeros() return nonZeros() of the nested expression
2014-10-28 13:31:00 +01:00
Konstantinos Margaritis
79225db0b6
Merged in kmargar/eigen (pull request PR-87)
...
Extend NEON to add ARMv8 64-bit double support
2014-10-28 13:08:53 +02:00
Benjamin Chrétien
c426054767
BDCSVD: fix CMake install (missing separator).
2014-10-24 15:10:56 +02:00
Christoph Hertzberg
1fa793cb97
Removed weird self assignment.
2014-10-24 13:19:19 +02:00
Christoph Hertzberg
04ffb9956e
Replace TEST_SET_BUT_UNUSED_VARIABLE by already defined EIGEN_UNUSED_VARIABLE
2014-10-24 13:18:23 +02:00
Konstantinos Margaritis
94ed7c81e6
Bug #896 : Swap order of checking __VSX__/__ALTIVEC__
2014-10-22 06:15:18 -04:00
Konstantinos Margaritis
fcb3573d17
Merged eigen/eigen into default
2014-10-22 10:42:18 +03:00
Konstantinos Margaritis
fae4fd7a26
Added ARMv8 support
2014-10-22 07:39:49 +00:00
Christoph Hertzberg
cf09c5f687
Prevent CUDA calling a __host__ function from a __host__ __device__ function is not allowed error.
2014-10-21 20:40:09 +02:00
Konstantinos Margaritis
b508619392
working 64-bit support in PacketMath.h, Complex.h needed
2014-10-21 18:10:33 +00:00
Konstantinos Margaritis
0f65f2762d
add EIGEN_TEST_NEON64, but it's a dummy, AArch64 implies NEON support so extra CXXFLAGS are needed
2014-10-21 18:10:01 +00:00
Konstantinos Margaritis
87524922dc
check for __ARM_NEON instead as it's defined in arm64 as well
2014-10-21 18:08:50 +00:00
Gael Guennebaud
a303b6a733
bug #670 : add unit test for mapped input in sparse solver.
2014-10-20 16:46:47 +02: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
Christoph Hertzberg
c12b7896d0
bug #766 : Check minimum CUDA version
2014-10-20 14:23:11 +02:00
Gael Guennebaud
973e6a035f
bug #718 : Introduce a compilation error when using the wrong InnerIterator type with a SparseVector
2014-10-20 14:07:08 +02:00
Christoph Hertzberg
84aaa03182
Addendum to bug #859 : pexp(NaN) for double did not return NaN, also, plog(NaN) did not return NaN.
...
psqrt(NaN) and psqrt(-1) shall return NaN if EIGEN_FAST_MATH==0
2014-10-20 13:13:43 +02:00
Gael Guennebaud
aa5f79206f
Fix bug #859 : pexp(NaN) returned Inf instead of NaN
2014-10-20 11:38:51 +02:00
Gael Guennebaud
b4a9b3f496
Add unit tests for Rotation2D's inverse(), operator*, slerp, and fix regression wrt explicit ctor change
2014-10-20 11:04:32 +02:00
Gael Guennebaud
d04f23260d
Fix bug #894 : the sign of LDLT was not re-initialized at each call of compute()
2014-10-20 10:48:40 +02:00
Gael Guennebaud
8838b0a1ff
Fix SparseQR::rank for a completely empty matrix.
2014-10-19 22:42:20 +02:00
Benoit Steiner
f786897e4b
Added access to the unerlying raw data of a tnsor slice/chip whenever possible
2014-10-17 15:33:27 -07:00
Benoit Steiner
7acd38d19e
Created some benchmarks for the tensor code
2014-10-17 09:49:03 -07:00
Gael Guennebaud
b50e5bc816
merge
2014-10-17 16:53:18 +02:00
Gael Guennebaud
a370b1f2e2
Fix SparseLU::absDeterminant and add respective unit test
2014-10-17 16:52:56 +02:00
Gael Guennebaud
a13bc22204
Ignore automalically imported lapack source files
2014-10-17 15:34:39 +02:00
Gael Guennebaud
4b7c3abbea
Fix D&C SVD wrt zero matrices
2014-10-17 15:32:55 +02:00
Gael Guennebaud
feacfa5f83
Fix JacobiSVD wrt undeR/overflow by doing scaling prior to QR preconditioning
2014-10-17 15:32:06 +02:00
Gael Guennebaud
8472e697ca
Add lapack interface to JacobiSVD and BDCSVD
2014-10-17 15:31:11 +02:00
Benoit Steiner
65af852b54
Silenced one last warning
2014-10-16 15:02:30 -07:00
Benoit Steiner
ae697b471c
Silenced a few compilation warnings
...
Generalized a TensorMap constructor
2014-10-16 14:52:50 -07:00
Benoit Steiner
94e47798f4
Fixed the return types of unary and binary expressions to properly handle the case where it is different from the input type (e.g. abs(complex<float>))
2014-10-16 10:41:07 -07:00
Benoit Steiner
d853adffdb
Avoid calling get_future() more than once on a given promise.
2014-10-16 10:10:04 -07:00
Mark Borgerding
880e72c130
quieted more g++ warnings of the form: warning: typedef XXX locally defined but not used [-Wunused-local-typedefs]
2014-10-16 09:19:32 -04:00
Benoit Steiner
bfdd9f3ac9
Made the blocking computation aware of the l3 cache
...
Also optimized the blocking parameters to take into account the number of threads used for a computation
2014-10-15 15:32:59 -07:00
Gael Guennebaud
c566cfe2ba
Make SVD unit test even more tough
2014-10-15 23:37:47 +02:00
Benoit Steiner
dba55041ab
Added support for promises
...
Started to improve multithreaded contractions
2014-10-15 11:20:36 -07:00
Gael Guennebaud
fd1aaf4772
merge
2014-10-15 16:33:14 +02:00
Gael Guennebaud
c806009453
Extend svd unit tests to stress problems with duplicated singular values.
2014-10-15 16:32:16 +02:00
Gael Guennebaud
2cc41dbe83
D&C SVD: fix some numerical issues by truly skipping deflated singular values when computing them
2014-10-15 15:21:12 +02:00
Gael Guennebaud
c26e8a1af3
D&C SVD: fix deflation of repeated singular values, fix sorting of singular values, fix case of complete deflation
2014-10-15 11:59:21 +02:00
Christoph Hertzberg
0ec1fc9e11
bug #891 : Determine sizeof(void*) via CMAKE variable instead of test program
2014-10-14 14:14:25 +02:00
Benoit Steiner
99d75235a9
Misc improvements and cleanups
2014-10-13 17:02:09 -07:00
Benoit Steiner
4c70b0a762
Added support for patch extraction
2014-10-13 10:04:04 -07:00
Christoph Hertzberg
d3f52debc6
Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.
...
Although the test passes now, there might still be some missing.
2014-10-13 17:18:26 +02:00
Benoit Steiner
0219f8aed4
Added ability to print a tensor using an iostream.
2014-10-10 16:17:26 -07:00
Benoit Steiner
2ed1838aeb
Added support for tensor chips
2014-10-10 16:11:27 -07:00
Benoit Steiner
4b36c3591f
Fixed the tensor shuffling test
2014-10-10 15:43:21 -07:00
Benoit Steiner
a991f94c0e
Fixed the thread pool test
2014-10-10 15:20:37 -07:00
Benoit Steiner
498b7eed25
Rewrote the TensorBase::random method to support the generation of random number on gpu.
2014-10-09 15:39:13 -07:00
Benoit Steiner
767424af18
Improved the functors defined for standard reductions
...
Added a functor to encapsulate the generation of random numbers on cpu and gpu.
2014-10-09 15:36:23 -07:00
Gael Guennebaud
a80e17cfe8
Remove unused and dangerous CompressedStorage::Map function
2014-10-09 23:42:33 +02:00
Gael Guennebaud
349c2c9235
bug #367 : fix double copies in atWithInsertion, and add respective unit-test
2014-10-09 23:35:49 +02:00
Gael Guennebaud
48d537f59f
Fix indentation
2014-10-09 23:35:26 +02:00
Gael Guennebaud
538c059aa4
bug #887 : fix CompressedStorage::reallocate wrt memory leaks
2014-10-09 23:35:05 +02:00
Gael Guennebaud
a48b82eece
Add a scoped_array helper class to handle locally allocated/used arrays
2014-10-09 23:34:05 +02:00
Gael Guennebaud
ccd70ba123
Various numerical fixes in D&C SVD: I cannot make it fail with double, but still need to tune for single precision, and carefully test with duplicated singular values
2014-10-09 23:29:01 +02:00
Benoit Steiner
44beee9d68
Removed dead code
2014-10-08 14:14:20 -07:00
Benoit Steiner
0a07ac574e
Added support for the *= and /* operators to TensorBase
2014-10-08 13:32:41 -07:00
Benoit Steiner
6c047d398d
Fixed a comment
2014-10-08 13:29:36 -07:00
Gael Guennebaud
4b886e6b39
bug #889 : fix protected typedef
2014-10-08 07:48:30 +02:00
Gael Guennebaud
5741349294
bug #882 : fix various const-correctness issues with *View classes.
2014-10-07 18:29:28 +02:00
Gael Guennebaud
118b1113d9
Workaround MSVC issue.
2014-10-07 09:53:39 +02:00
Gael Guennebaud
503c176d8e
Fix missing outer() member in DynamicSparseMatrix
2014-10-07 09:53:27 +02:00
Gael Guennebaud
dbdd8b0883
D&C SVD: add scaling to avoid overflow, fix handling of fixed size matrices
2014-10-06 19:35:57 +02: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
893bfcf95f
bug #887 : use ei_declare_aligned_stack_constructed_variable instead of manual new[]/delete[] pairs in AMD and Paralellizer
2014-10-06 11:54:30 +02:00
Gael Guennebaud
fb53ff1eda
Fix SparseLU regarding uncompressed inputs and avoid manual new/delete calls.
2014-10-06 11:42:31 +02:00
Gael Guennebaud
7a17639953
Extend unit tests to check uncompressed sparse inputs in sparse solvers
2014-10-06 11:41:50 +02:00
Benoit Steiner
bbce6fa65d
define EIGEN_VECTORIZE_CUDA when compiling with nvcc
2014-10-03 19:55:35 -07:00
Benoit Steiner
95a430a2ca
Vector primitives for CUDA
2014-10-03 19:45:19 -07:00
Benoit Steiner
152f3218ac
Improved contraction test
2014-10-03 19:33:44 -07:00
Benoit Steiner
af2e5995e2
Improved support for CUDA devices.
...
Improved contractions on GPU
2014-10-03 19:18:07 -07:00
Benoit Steiner
1269392822
Created the IndexPair type to store pair of tensor indices. CUDA doesn't support std::pair so we can't use them when targeting GPUs.
...
Improved the performance on tensor contractions
2014-10-03 10:16:59 -07:00
Benoit Steiner
b7271dffb5
Generalized the gebp apis
2014-10-02 16:51:57 -07:00
Benoit Steiner
8b2afe33a1
Fixes for the forced evaluation of tensor expressions
...
More tests
2014-10-02 10:39:36 -07:00
Benoit Steiner
5cc23199be
More tests to validate the const-correctness of the tensor code.
2014-10-02 10:30:44 -07:00
Benoit Steiner
7caaf6453b
Added support for tensor reductions and concatenations
2014-10-01 20:38:22 -07:00
Benoit Steiner
1c236f4c9a
Added tests for tensors of const values and tensors of stringswwq::
2014-10-01 20:21:42 -07:00
Christoph Hertzberg
1fa6fe2abd
template keyword not allowed before non-template function call
2014-10-01 14:33:55 +02:00
Konstantinos Margaritis
9d3c69952b
fixed to make big-endian VSX work as well
2014-10-01 09:43:56 +00:00
Gael Guennebaud
5180bb5e47
Add missing default ctor in Rotation2D
2014-09-30 16:59:28 +02:00
Christoph Hertzberg
0187504912
Avoid `unneeded-internal-declaration' warning
2014-09-30 16:43:52 +02:00
Christoph Hertzberg
6d26deb894
Missing outerStride in AlignedVector3 resulted in infinite recursion
2014-09-30 16:43:19 +02:00
Christoph Hertzberg
81517eebc1
Missing explicit
2014-09-30 16:42:04 +02:00
Christoph Hertzberg
12d59465cb
bug #884 : Copy constructor of Ref shall never malloc, constructing from other RefBase shall only malloc if the memory layout is incompatible.
2014-09-30 14:57:54 +02:00
Christoph Hertzberg
e404841235
make sure that regex does not match cmake
2014-09-29 19:28:10 +00:00
Christoph Hertzberg
15c946338f
Related to bug #880 : Accept make as well a gmake when searching the MakeCommand. And don't include \n in match expression
2014-09-29 19:20:01 +02:00
Gael Guennebaud
56a0bbbbee
Fix compilation with GCC
2014-09-29 18:28:18 +02:00
Gael Guennebaud
842e31cf5c
Let KroneckerProduct exploits the recently introduced generic InnerIterator class.
2014-09-29 13:37:49 +02:00
Gael Guennebaud
abd3502e9e
Introduce a generic InnerIterator classes compatible with evaluators.
2014-09-29 13:36:57 +02:00
Gael Guennebaud
76c3cf6949
Re-enable -Wshorten-64-to-32 compilation flag.
2014-09-29 10:33:16 +02:00
Georg Drenkhahn
bc34ee3365
Using Index type instead of hard coded int type to prevent potential implicit integer conversion.
2014-09-22 18:56:36 +02:00
Georg Drenkhahn
9a04cd307c
Added implicit integer conversion by using explicit integer type conversion. Adding assert to catch overflow.
2014-09-22 18:47:33 +02:00
Gael Guennebaud
f0a62c90bc
Avoid comparisons between different index types.
2014-09-29 10:27:51 +02:00
Georg Drenkhahn
2946992ad4
Using StorageIndexType for loop assigning initial permutation. Adding assert for index overflow.
2014-09-22 17:59:02 +02:00
Georg Drenkhahn
821ff0ecfb
Using Index instead of hard coded int type to prevent potential implicit integer conversion
2014-09-22 16:12:35 +02:00
Georg Drenkhahn
2c4cace56c
Using Index instead of hard coded int type to prevent potential implicit integer conversion
2014-09-22 15:54:34 +02:00
Georg Drenkhahn
8a502233d8
Correcting the ReturnType in traits<KroneckerProduct<>> to include the correct Index type.
...
Fixed mixup of types Rhs::Index and Lhs:Index in various loop variables.
Added explicit type conversion for arithmetic expressions which may return a wider type.
2014-09-21 23:19:29 +02:00
Georg Drenkhahn
b2755edcdd
Replaced hard coded int types with Index types preventing implicit integer conversions.
2014-09-21 23:15:35 +02:00
Georg Drenkhahn
d1ef3c3546
Changed Diagonal::index() to return an Index type instead of int to prevent possible implicit conversion from long to int.
...
Added inline keyword to member methods.
2014-09-21 10:21:20 +02:00
Georg Drenkhahn
edaefeb978
Using Kernel::Index type instead of int to prevent possible implicit conversion from long to int.
2014-09-21 10:01:12 +02:00
Georg Drenkhahn
3bd31e21b5
Fixed compiler warning on implicit integer conversion by separating index type for matrix and permutation matrix which may not be equal.
2014-09-20 15:00:36 +02:00
Georg Drenkhahn
75e269c77b
Fixed warning on implicit integer conversion in test case code by using type VectorXd::Index instead of int.
2014-09-20 14:57:42 +02:00
Gael Guennebaud
74cde0c925
Add missing return derived() in ArrayBase::operator=
2014-09-28 09:16:13 +02:00
Jitse Niesen
ce2035af86
New doc page on implementing a new expression class.
2014-09-27 23:25:58 +01:00
Konstantinos Margaritis
6d0f0b8cec
add VSX identifier
2014-09-25 16:06:16 +00:00
Christoph Hertzberg
4ba8aa1482
Fix bug #884 : No malloc for zero-sized matrices or for Ref without temporaries
2014-09-25 16:05:17 +02:00
Christoph Hertzberg
27d6b4daf9
Tridiagonalization::diagonal() and ::subDiagonal() did not work. Added unit-test
2014-09-24 14:37:13 +02:00
Gael Guennebaud
446001ef51
Fix nested_eval<Product<> > which wrongly returned a Product<> expression
2014-09-24 09:39:09 +02:00
Gael Guennebaud
13cbc751c9
bug #880 : automatically preserves buildtool flags when modifying DartConfiguration.tcl file.
2014-09-23 22:10:32 +02:00
Christoph Hertzberg
421feea3b2
member_redux constructor is explicit too. Renamed some typedefs for more consistency.
2014-09-23 18:55:42 +02:00
Christoph Hertzberg
7817bc19a4
Removed FIXME, as it is actually necessary.
2014-09-23 17:23:34 +02:00
Christoph Hertzberg
eb13ada3aa
Renamed CwiseInverseReturnType to InverseReturnType for ArrayBase::inverse()
2014-09-23 17:21:27 +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
72569f17ec
bug #882 : add const-correctness failtests for CwiseUnaryView, TriangularView, and SelfAdjointView.
2014-09-23 10:26:02 +02:00
Gael Guennebaud
3878e6f170
Add a true ctest unit test for failtests
2014-09-23 10:25:12 +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
ae514ddfe5
bug #880 : manually edit the DartConfiguration.tcl file to get it working with cmake 3.0.x
2014-09-22 22:49:20 +02:00
Gael Guennebaud
f9d6d3780f
bug #879 : fix compilation of tri1=mat*tri2 by copying tri2 into a full temporary.
2014-09-22 17:34:17 +02:00
Gael Guennebaud
abba11bdcf
Many improvements in Divide&Conquer SVD:
...
- Fix many numerical issues, in particular regarding deflation.
- Add heavy debugging output to help track numerical issues (there are still fews)
- Make use of Eiegn's apply-inplane-rotation feature.
2014-09-22 15:22:52 +02:00
Christoph Hertzberg
d9e0336a78
Merged in kmargar/eigen (pull request PR-84)
...
Add VSX support
2014-09-22 12:57:06 +02:00
Jitse Niesen
333905b0c2
Fix typos in docs for IterativeLinearSolvers module
2014-09-21 14:20:08 +01:00
Jitse Niesen
5fa69422a2
Fix copy-and-paste typo in SolveWithGuess assignment
...
This fixes compilation of code snippets in BiCGSTAB docs.
2014-09-21 14:19:23 +01:00
Konstantinos Margaritis
de38ff2499
prefetch are noops on VSX, actually disable the prefetch trait
2014-09-21 11:56:07 +00:00
Konstantinos Margaritis
60e093a9dc
Merged eigen/eigen into default
2014-09-21 14:02:51 +03:00
Konstantinos Margaritis
56408504e4
fix compile error on big endian altivec
2014-09-21 13:59:30 +03:00
Konstantinos Margaritis
974fe38ca3
prefetch are noops on VSX
2014-09-21 11:24:30 +00:00
Konstantinos Margaritis
c0205ca4af
VSX supports vec_div, implement where appropriate (float/doubles)
2014-09-21 08:12:22 +00:00
Konstantinos Margaritis
10f8aabb61
VSX port passes packetmath_[1-5] tests!
2014-09-20 22:31:31 +00:00
Jitse Niesen
80de35b6c5
Remove double return statement in PlainObjectBase::_set()
2014-09-19 22:05:18 +01:00
Konstantinos Margaritis
60663a510a
32-bit floats/ints, 64-bit doubles pass packetmath tests, complex 32/64-bit remaining
2014-09-19 21:05:01 +00:00
Gael Guennebaud
03dd4dd91a
Unify unit test for BDC and Jacobi SVD. This reveals some numerical issues in BDCSVD.
2014-09-19 15:25:48 +02:00
Gael Guennebaud
0a18eecab3
bug #100 : add support for explicit scalar to Array conversion (as enable implicit conversion is much more tricky)
2014-09-19 13:25:28 +02:00
Gael Guennebaud
7b044c0ead
Added tag before-evaluators for changeset 9452eb38f8
2014-09-19 10:10:29 +02:00
Gael Guennebaud
755e77266f
Fix SparseQR for row-major inputs.
2014-09-19 09:58:56 +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
e70506dd8f
Fix inner-stride of AlignedVector3
2014-09-18 22:46:46 +02:00
Gael Guennebaud
2ae20d558b
Update KroneckerProduct wrt evaluator changes
2014-09-18 22:08:49 +02:00
Gael Guennebaud
62bce6e5e6
Make MatrixFunction use nested_eval instead of nested
2014-09-18 17:31:17 +02:00
Gael Guennebaud
060e835ee9
Add evaluator for the experimental AlignedVector3
2014-09-18 17:30:21 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
8b3be4907d
log2(int) must be inlined.
2014-09-18 10:53:53 +02:00
Gael Guennebaud
0bf5894861
workaround one more shadowing issue with MSVC
2014-09-16 18:21:39 -07:00
Gael Guennebaud
e44d78dab3
workaround ambiguous call
2014-09-16 17:10:25 -07:00
Gael Guennebaud
c2f66c65aa
workaround MSVC compilation issue (shadow issue)
2014-09-16 16:23:45 -07: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
341ae8665d
avoid division by 0
2014-09-16 16:05:06 -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
486ca277a0
Workaround MSVC ICE
2014-09-16 10:29:29 -07:00
Benoit Steiner
10a79ca3a3
Merged latest updates from the Eigen trunk.
2014-09-15 09:18:16 -07:00
Gael Guennebaud
466d6d41c6
Avoid a potential risk of recursive definition using traits to get he scalar type
2014-09-15 17:40:17 +02:00
Gael Guennebaud
8514179aa3
Fix traits<Quaternion>::IsAligned when using evaluators
2014-09-15 13:53:52 +02:00
Gael Guennebaud
0403d49006
Fix inverse unit test making sure we try to invert an invertible matrix
2014-09-14 20:12:07 +02:00
Gael Guennebaud
c83e01f2d6
Favor column major storage for inner products
2014-09-14 19:38:49 +02:00
Gael Guennebaud
26db954776
Re-enable aliasing checks when using evaluators
2014-09-14 19:06:08 +02:00
Gael Guennebaud
fda680f9cf
Adapt changeset 51b3f558bb
...
to evaluators:
(Fix bug #822 : outer products needed linear access, and add respective unit tests)
2014-09-14 18:31:29 +02:00
Gael Guennebaud
dfc54e1bbf
Fix /= when using evaluator as in changeset 2d90484450
2014-09-14 18:27:48 +02:00
Gael Guennebaud
749b56f6af
merge with default branch
2014-09-14 17:34:54 +02:00
Gael Guennebaud
af9c9f7706
Fix comparison to block size
2014-09-14 17:33:39 +02:00
Jitse Niesen
9452eb38f8
Make UpperBidiagonalization accept row-major matrices (bug #769 )
...
* Give temporary workspace the same storage order as original matrix
* Take storage order into account when determining inner stride
of rows and columns
* Change one test to use a row-major matrix.
2014-09-12 14:52:35 +01:00
Konstantinos Margaritis
470aa15c35
First time it compiles, but fails to pass the tests.
2014-09-09 16:58:48 +00:00
Gael Guennebaud
188a13f9fe
Fix compilation of coeff(Index) on sub-inner-panels
2014-09-08 09:50:03 +02:00
Benoit Steiner
efdff15749
Fixed a typo in the contraction code
2014-09-06 13:28:24 -07:00
Gael Guennebaud
dacd39ea76
Exploit sparse structure in naiveU and naiveV when updating them.
2014-09-05 17:51:46 +02:00
Benoit Steiner
74db22455a
Misc fixes.
2014-09-05 07:47:43 -07:00
Gael Guennebaud
b23556bbbd
Oops, a block size of 1 is not very useful, set it to 48 as in HouseholderQR
2014-09-05 08:50:50 +02:00
Benoit Steiner
1abe4ed14c
Created more regression tests
2014-09-04 20:27:28 -07:00
Benoit Steiner
d43f737b4a
Added support for evaluation of tensor shuffling operations as lvalues
2014-09-04 20:02:28 -07:00
Benoit Steiner
f50548e86a
Added missing tensor copy constructors. As a result it is now possible to declare and initialize a tensor on the same line, as in:
...
Tensor<bla> T = A + B; or
Tensor<bla> T(A.reshape(new_shape));
2014-09-04 19:50:27 -07:00
Gael Guennebaud
15bad3670b
Apply Householder U and V in-place.
2014-09-04 09:17:01 +02:00
Gael Guennebaud
8846aa6d1b
Optimization: enable cache-efficient application of HouseholderSequence.
2014-09-04 09:15:59 +02:00
Gael Guennebaud
80993b95d3
Disable a test which had never worked without evalautors
2014-09-03 22:56:39 +02:00
Benoit Steiner
b24fe22b1a
Improved the performance of the tensor convolution code by a factor of about 4.
2014-09-03 11:38:13 -07:00
Gael Guennebaud
c82dc227f1
Cleaning in BDCSVD (formating, handling of transpose case, remove some for loops)
2014-09-03 10:15:24 +02:00
Gael Guennebaud
a96f3d629c
Clean bdcsvd
2014-09-02 22:30:23 +02:00
Gael Guennebaud
47829e2d16
Disable solve_ret_val like mechanism with evaluator enabled
2014-09-01 18:32:59 +02:00
Gael Guennebaud
1f398dfc82
Factorize *SVD::solve to SVDBase
2014-09-01 18:31:54 +02:00
Gael Guennebaud
b3a0365429
merge with default branch
2014-09-01 18:21:01 +02:00
Gael Guennebaud
eb39296028
Reafctoring in D&C SVD unsupported module: clean and merge the SVDBase class to Eigen/SVD, rm copy/pasted JacobiSVD.h file
2014-09-01 18:16:20 +02:00
Gael Guennebaud
72c4f8ca8f
Disable a few unit tests in unsupported
2014-09-01 17:35:58 +02:00
Gael Guennebaud
b121eecf60
Fix regression is sparse-sparse product
2014-09-01 17:34:55 +02:00
Gael Guennebaud
8754341848
Fix remaining garbage during a merge.
2014-09-01 17:25:13 +02:00
Gael Guennebaud
daad9585a3
Fix Kronecker product in legacy mode.
2014-09-01 17:24:07 +02:00
Gael Guennebaud
b051bbd64f
Make unsupport sparse solvers use SparseSolverBase
2014-09-01 17:21:47 +02:00
Gael Guennebaud
b3d63b4db2
Add evaluator for DynamicSparseMatrix
2014-09-01 17:21:05 +02:00
Gael Guennebaud
1c4b69c5fb
Factorize solveWithGuess in IterativeSolverBase
2014-09-01 17:19:51 +02:00
Gael Guennebaud
8a74ce922c
Make IncompleteLUT use SparseSolverBase.
2014-09-01 17:19:16 +02:00
Gael Guennebaud
863b7362bc
Fix usage of m_isInitialized in SparseLU and Pastix support.
2014-09-01 17:16:32 +02:00
Gael Guennebaud
1bf3b34849
Fix regression in sparse-sparse product
2014-09-01 17:15:08 +02:00
Gael Guennebaud
f9580a3473
Fix Cholmod support without evaluators
2014-09-01 17:14:30 +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
0369db12af
bug #871 : fix compilation on ARM/Neon regarding __has_builtin usage
2014-09-01 10:52:58 +02:00
Konstantinos Margaritis
7ff266e3ce
Initial VSX commit
2014-08-29 20:03:49 +00:00
Gael Guennebaud
b4a709520d
merge
2014-08-29 15:31:54 +02:00
Gael Guennebaud
c1d0f15bde
Enable evaluators by default
2014-08-29 15:31:32 +02:00
Gael Guennebaud
124d12a915
merge default branch
2014-08-29 15:20:31 +02:00
Gael Guennebaud
f29dbec321
undef Unsable macro
2014-08-29 15:12:03 +02:00
Gael Guennebaud
01f3ca3e8d
Merged in georg_drenkhahn/eigen/georg_d/fix_warn_minmax (pull request PR-81)
...
Fix for warning on macro definitions of max() and min() in test.h
2014-08-29 14:34:00 +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
Georg Drenkhahn
e49e84d979
Added missing STL include of <list> in main.h
...
Removed duplicated include of <sstream>
Added comments on the background of min/max macro definitions and STL header includes
2014-08-29 10:41:05 +02:00
Freddie Witherden
c3e4080474
Allow LevenbergMarquardt to work with non-standard types.
2014-08-27 15:24:51 +01:00
Benoit Steiner
2959045f2f
Optimized the tensor padding code.
2014-08-26 09:47:18 -07:00
Benoit Steiner
36fffe48f7
Misc api improvements and cleanups
2014-08-23 14:35:41 -07:00
Benoit Steiner
fb5c1e9097
Optimized and cleaned up the tensor morphing code
2014-08-23 13:18:30 -07:00
Georg Drenkhahn
0ba490cf80
Fixed CMakeLists.txt files to prevent CMake 3.0.0 warnings about deprecated LOCATION target property.
...
Small whitespace cleanup in CMakelLists.txt.
2014-08-22 12:13:07 +02:00
Gael Guennebaud
25a3e65a68
In SparseQR, calling factorize() without analyzePattern() was broken.
2014-08-26 23:32:32 +02:00
Gael Guennebaud
be3477e206
bug #857 : workaround MSVC compilation issue.
2014-08-26 12:52:29 +02:00
Gael Guennebaud
2e50289ba3
bug #861 : enable posix_memalign with PGI
2014-08-26 12:54:19 +02:00
Gael Guennebaud
b49ef99617
Do not apply the preconditioner before starting the iterations as this might destroy a very good initial guess.
2014-08-21 22:14:25 +02:00
Gael Guennebaud
9c0aa81fbf
bug #854 : fix numerical issue in SelfAdjointEigenSolver::computeDirect for 3x3 matrices. The tolerance to detect stable cross products was too optimistic.
...
Add respective unit tests.
2014-08-21 10:49:09 +02:00
Benoit Steiner
3d298da269
Added support for broadcasting
2014-08-20 17:00:50 -07:00
Christoph Hertzberg
eeadc06e83
EIGEN_EXCEPTIONS was not defined in test/main.h, therefore all VERIFY_RAISES_ASSERT tests were not enabled
2014-08-20 16:39:25 +02:00
Christoph Hertzberg
4403800e11
Merged in vladimir_ch/eigen-1/vladimir_ch/fix-uninitialized-variable-warning-in-sp-1408513228472 (pull request PR-77)
...
Fix uninitialized variable warning in SparseQR
2014-08-20 11:12:18 +02:00
Christoph Hertzberg
9062f74d13
Merged in traversaro/eigen/traversaro/findeigen3cmake-add-reading-hints-of-eig-1407426517521 (pull request PR-76)
...
FindEigen3.cmake: Add reading hints of Eigen directory location from environment variables EIGEN3_ROOT and EIGEN3_ROOT_DIR .
2014-08-20 11:11:52 +02:00
Vladimir Chalupecky
6a3423da80
Fix uninitialized variable warning in SparseQR
2014-08-20 05:42:22 +00:00
Benoit Steiner
9ac3c821ea
Improved the speed of convolutions when running on cuda devices
2014-08-19 16:57:10 -07:00
Benoit Steiner
33c702c79f
Added support for fast integer divisions by a constant
...
Sped up tensor slicing by a factor of 3 by using these fast integer divisions.
2014-08-14 22:13:21 -07:00
Benoit Steiner
756292f8aa
Fixed compilation errors
2014-08-14 00:32:59 -07:00
Benoit Steiner
8c8db49331
Added a few regression tests
2014-08-14 00:25:22 -07:00
Benoit Steiner
eeb43f9e2b
Added support for padding, stridding, and shuffling
2014-08-14 00:22:47 -07:00
Benoit Steiner
16047c8d4a
Pulled in the latest changes from the Eigen trunk
2014-08-13 22:25:29 -07:00
Benoit Steiner
916ef48846
Added ability to get the nth element from an abstract array type.
2014-08-13 08:44:47 -07:00
Benoit Steiner
f1d8c13dbc
Fixed misc typos.
2014-08-13 08:40:26 -07:00
Benoit Steiner
9faad2932f
Added missing apis.
2014-08-13 08:36:33 -07:00
Benoit Steiner
f8fad09301
Updated the convolution and contraction evaluators to follow the new EvalSubExprsIfNeeded apu.
2014-08-13 08:33:18 -07:00
Benoit Steiner
72e7529708
Fixed a typo.
2014-08-13 08:29:40 -07:00
Benoit Steiner
1aa2bf8274
Support for in place evaluation of expressions containing slicing and reshaping operations
2014-08-13 08:27:58 -07:00
Benoit Steiner
b1892ab14d
Added suppor for in place evaluation to simple tensor expressions.
...
Use mempy to speedup tensor copies whenever possible.
2014-08-13 08:26:44 -07:00
Benoit Steiner
439feca139
Reworked the TensorExecutor code to support in place evaluation.
2014-08-13 08:22:05 -07:00
Kevin Locke
e6d55c081b
Fix bug #852 : define Traits type in general_matrix_matrix_product when EIGEN_USE_BLAS is defined
2014-08-08 04:05:28 -04:00
Gael Guennebaud
57f71a5552
Update bench_norm utility
2014-09-11 10:27:46 +02:00
Gael Guennebaud
5e890d3ad7
Improve further the accuracy of JacobiSVD wrt under/overflow while improving speed for small matrices (hypot is very slow).
2014-09-10 23:11:58 +02:00
Gael Guennebaud
2d90484450
mat/=scalar was transformed into mat*=(1/scalar) thus laking accuracy. This was also inconsistent with mat = mat/scalar.
2014-09-10 23:10:01 +02:00
Gael Guennebaud
84a7ead059
Add one more regression test for bug #791 .
2014-09-10 11:59:45 +02:00
Gael Guennebaud
d6236d3b26
Fix bug #791 : infinite loop in JacobiSVD in the presence of NaN.
2014-09-10 11:54:20 +02:00
Gael Guennebaud
921a645481
ArrayWrapper and MatrixWrapper classes should not be nested by reference.
2014-09-10 10:33:19 +02:00
Yan Zhou
4b678b96eb
fix for MKL_BLAS not defined in MKL 11.2
2014-09-08 17:37:58 +08:00
Gael Guennebaud
51b3f558bb
Fix bug #822 : outer products needed linear access, and add respective unit tests
2014-09-08 10:21:22 +02:00
Gael Guennebaud
6162672dc5
Runtime alignement is not possible if AlignedOnScalar is not true (e.g., for complex<double>)
2014-09-08 10:04:26 +02:00
Gael Guennebaud
e54898f53e
bug #619 : workaround MSVC 2008 implementing std::abs for int only on WINCE
2014-09-07 23:02:30 +02:00
Gael Guennebaud
fafc829424
bug #804 : copy group__TopicUnalignedArrayAssert.html to TopicUnalignedArrayAssert.html as the second is linked to by old Eigen versions.
2014-09-07 22:38:09 +02:00
Jitse Niesen
abb33258ce
Doc: difference between array and matrix cosine etc (bug #830 )
2014-09-06 14:59:44 +01:00
Jitse Niesen
25bceefb4e
Replace asm by __asm__ (bug #873 )
2014-09-06 11:47:24 +01:00
Gael Guennebaud
60314beb38
Update reference value for testNistLanczos1 test
2014-09-02 17:35:11 +02:00
Gael Guennebaud
280661e67d
Remove LM::sqrt_() member function in favor of a shortcut for sqrt(epsilon())
2014-09-02 17:29:06 +02:00
Gael Guennebaud
ff9bfc45f7
relax some LM unit tests
2014-09-02 17:10:17 +02:00
Gael Guennebaud
42e27d41a2
Fix hypot() and hypotNorm() wrt NaN and INF values.
2014-09-02 16:09:39 +02:00
Gael Guennebaud
a44a343f03
Fix blueNorm wrt NaN/INF.
2014-09-02 15:06:24 +02:00
Gael Guennebaud
18fbe7e7d4
Fix stableNorm() with respect to NaN and inf, and add respective unit tests. blueNorm() and hypotNorm() are broken wrt to NaN/inf
2014-09-02 14:49:23 +02:00
Gael Guennebaud
3eb5253ca1
Optimization: "matrix<complex> * real" did not call the special path and the real was converted to a complex. Add respective unit test to avoid future regression.
2014-09-02 14:41:14 +02:00
Gael Guennebaud
305aa1f9c5
Add examples for hnormalized and homogenous (fix bug #846 )
2014-09-02 10:47:40 +02:00
Silvio Traversaro
50085d2c28
FindEigen3.cmake: Add reading hints of Eigen directory location from environment variables EIGEN3_ROOT and EIGEN3_ROOT_DIR .
2014-08-07 15:48:53 +00:00
Gael Guennebaud
e51da9c3a8
Memory allocated on the stack is freed at the function exit, so reduce iteration count to avoid stack overflow
2014-08-04 12:46:00 +02:00
Kolja Brix
953ec08089
Correct GMRES:
...
* Fix error in calculation of residual at restart.
* Use relative residual as stopping criterion.
* Improve documentation.
2014-08-02 18:39:15 +02:00
Gael Guennebaud
3e59163a24
Fix bug #850 : workaround MSVC 2008 weird compilation bug
2014-08-02 02:47:30 +02:00
Gael Guennebaud
4dd55a2958
Optimize reduxions for Homogeneous
2014-08-01 17:00:20 +02:00
Gael Guennebaud
f25338f4d7
Fix nesting of Homogenous evaluator
2014-08-01 16:49:44 +02:00
Gael Guennebaud
51357a6622
Fix geo_orthomethods unit test for complexes
2014-08-01 16:26:23 +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
Benjamin Chrétien
c53f88297c
Fix more typos in Ref.h (doc).
2014-08-01 15:43:47 +02:00
Benjamin Chrétien
6f58a41097
Fix typos in Ref.h (doc).
2014-08-01 15:35:45 +02:00
Gael Guennebaud
2a3c3c49a1
Fix numerous nested versus nested_eval shortcomings
2014-08-01 14:48:22 +02:00
Gael Guennebaud
fc13b37c55
Make cross product uses nested/nested_eval
2014-08-01 14:47:33 +02:00
Benjamin Chrétien
db76193bc7
Fix typo in PermutationMatrix (doc).
2014-08-01 14:41:49 +02:00
Benoit Steiner
647622281e
The tensor assignment code now resizes the destination tensor as needed.
2014-07-31 17:39:04 -07:00
Gael Guennebaud
d79516660c
Make loadMarket use the sparse-matrix index type, thus enabling loading huge matrices.
2014-07-31 16:43:19 +02:00
Gael Guennebaud
26d2cdefd4
Fix 4x4 inverse via SSE for submatrices
2014-07-31 16:24:29 +02:00
Gael Guennebaud
db183ca7b3
Make minimal changes to make homogenous compatible with evaluators
2014-07-31 14:54:54 +02:00
Gael Guennebaud
702a3c17db
Make Transform exposes sizes: Dim+1 x Dim+1 for projective transform, and Dim x Dim+1 for all others
2014-07-31 14:54:00 +02:00
Gael Guennebaud
5f5a8d97c0
Re-enable main unit tests which are now compiling and running fine with evaluators
2014-07-31 13:43:19 +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
ba694ce8cf
add missing delete operator overloads
2014-07-30 09:32:35 +02:00
Benoit Steiner
2116e261fb
Made sure that the data stored in fixed sized tensor is aligned.
2014-07-25 09:47:59 -07:00
Jitse Niesen
5f3d542b8a
Fix typo in MatrixExponential noticed by Markos.
2014-07-25 13:34:03 +01:00
Gael Guennebaud
a0a87410d0
Fix bug #61 : gemm was broken since we changed the blocking order
2014-07-24 22:08:10 +02:00
Konstantinos Margaritis
2c625ec9ba
Simplification of some Altivec constants, reuse existing constants and avoid loading from RAM esp in the case of p16uc_COMPLEX_TRANSPOSE*
2014-07-22 20:46:03 +00:00
Benoit Steiner
1f371e78e6
Added a few tests to validate the behavior of the assignment operator.
2014-07-22 10:32:40 -07:00
Benoit Steiner
f7bb7ee3f3
Fixed the assignment operator of the Tensor and TensorMap classes.
2014-07-22 10:31:21 -07:00
Gael Guennebaud
d1e9f39a9a
Ambiguous call fixes for clang.
2014-07-22 18:28:19 +02:00
Gael Guennebaud
7f15f27a9e
Workaround ambiguous call of init1 with MSVC.
2014-07-22 17:01:34 +02:00
Gael Guennebaud
922694a2d1
Extend fixed-size ctor unit test and fix conversion warning.
2014-07-22 16:57:14 +02:00
Gael Guennebaud
baa77ffe38
Fix max sizes at compile time of DiagonalWrapper
2014-07-22 16:13:56 +02:00
Christoph Hertzberg
a8283e0ed2
Define EIGEN_TRY, EIGEN_CATCH, EIGEN_THROW as suggested by Moritz Klammer.
...
Make it possible to run unit-tests with exceptions disabled via EIGEN_TEST_NO_EXCEPTIONS flag.
Enhanced ctorleak unit-test
2014-07-22 13:16:44 +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
9b729f93a1
Resizing is done by call_assignment_noalias, so no need to perform it when dealing with aliasing.
2014-07-21 11:46:47 +02:00
Gael Guennebaud
946b99dd5c
Extend qr unit test
2014-07-21 11:45:54 +02:00
Gael Guennebaud
50eef6dfc3
Compilation fixes
2014-07-20 15:16:34 +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
Moritz Klammler
529e6cb552
Applied changes suggested by Christoph Hertzberg to c'tor leak fix.
...
- Enclose exception handling in '#ifdef EIGEN_EXCEPTIONS'.
- Use an object counter to demonstrate the bug more readily.
2014-07-18 23:19:56 +02:00
Gael Guennebaud
36e6c9064f
bug #770 : fix out of bounds access
2014-07-18 14:19:18 +02:00
Gael Guennebaud
a325d1cb1e
merge with default branch
2014-07-18 11:02:22 +02:00
Gael Guennebaud
da62eb22e4
bug #843 : fix jacobisvd for complexes and extend respective unit test to chack with random tricky matrices
2014-07-17 17:09:15 +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
5e72151ca5
bug #842 : warn user about MPFR++ being under the GPL
2014-07-17 12:06:20 +02:00
Gael Guennebaud
2cd38a6634
merge
2014-07-17 12:01:55 +02:00
Gael Guennebaud
84ad8ce7e3
Fix bug #770 : workaround thread safety in mpreal
2014-07-17 12:00:56 +02:00
Gael Guennebaud
40b74411e4
bug #842 : update mpreal copy (fix compilation with clang)
2014-07-17 11:59:51 +02:00
Christoph Hertzberg
14c8793a70
Remove unnecessary <bench/BenchTimer.h>include
2014-07-17 11:14:14 +02:00
Gael Guennebaud
424c3ad266
bug #842 : fix specialized product for mpreal
2014-07-17 09:41:33 +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
Christoph Hertzberg
cd0b433540
Regression test for bug #714 .
...
Note that the bug only occurs on some compilers and is not fixed yet
2014-07-16 15:41:10 +02:00
Gael Guennebaud
338d2ec42b
bug #826 : fix is_convertible for MSVC and add minimalistic unit test for is_convertible
2014-07-16 13:17:06 +02:00
Konstantinos Margaritis
0a945687b7
Added HasDiv=1 to Altivec PacketMath.h, now vectorization_logic test passes.
...
Added comments to the constants, indicative of the actual values
2014-07-15 11:02:51 +00:00
Gael Guennebaud
a0d1aac6c5
Extend unit test of dense triangular solvers
2014-07-15 11:15:36 +02:00
Gael Guennebaud
2bdb3b1afd
Extend dense*sparse product unit tests
2014-07-15 11:00:16 +02:00
Gael Guennebaud
3c7686630d
merge with default branch
2014-07-15 10:55:03 +02:00
Christoph Hertzberg
4f440b8123
Test vectorization logic for int
2014-07-14 14:36:20 +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
Hauke Heibel
5f1eedd655
Merged in complexzeros/eigen (pull request PR-69)
...
Added Spline interpolation with derivatives.
2014-07-11 12:03:10 +02:00
Gael Guennebaud
296cb40161
merge with default branch
2014-07-10 22:04:45 +02:00
Benoit Steiner
40bb98e76a
Added primitives to compare tensor dimensions
2014-07-10 11:29:51 -07:00
Benoit Steiner
9b7a6f0122
Added tests for tensor slicing
2014-07-10 11:27:27 -07:00
Benoit Steiner
ffd3654f67
Vectorized the evaluation of expressions involving tensor slices.
2014-07-10 11:09:46 -07:00
Jeff
b1169ce40c
Fixed index that would cause crash with two point, two derivative interpolation. Added static_cast.
2014-07-10 12:03:42 -06:00
Christoph Hertzberg
d1460d9278
stride must be DenseIndex not int
2014-07-10 16:23:20 +02:00
Christoph Hertzberg
cf7cf7b490
Backed out of changeset 6089:f27f55bee3efc2cafd01cb07d3faadf7eb490f66
...
Unfortunately this breaks things at other places
2014-07-10 16:12:13 +02:00
Christoph Hertzberg
f27f55bee3
Make MatrixBase::makeHouseholder resize its output vector if it is zero
2014-07-10 14:59:18 +02:00
Kolja Brix
e955725ff1
Fix GMRES: Initialize essential Householder vector with correct dimension. Add check if initial guess is already a sufficient approximation.
2014-07-10 08:20:55 +02:00
Benoit Steiner
25b2f6624d
Improved the speed of slicing operations.
2014-07-09 12:48:34 -07:00
Gael Guennebaud
23bb592a2d
Fix unit test when using 80bits FPU
2014-07-09 17:21:16 +02:00
Christoph Hertzberg
547d660f1d
Determine version of Metis library. Apparently, at least version 5.x is needed for Eigen/MetisSupport.
...
Marked some internal variables as advanced
2014-07-09 16:54:15 +02:00
Abhijit Kundu
5633cde9ad
Adding missing OPENGL_LIBRARIES for openglsupport test. Also adding OpenGL include directories as a better pratice even though these are system include directories in most systems.
...
(grafted from 48db34a7b9
)
2014-12-04 01:18:47 -05:00
Gael Guennebaud
fe8757a576
Update mpreal version.
2014-12-11 11:51:00 +01:00
Gael Guennebaud
ff29221951
Fix MSVC compilation
2014-12-10 21:55:11 +01:00
Gael Guennebaud
7fbc9d8409
Introduce a ReplicateReturnType as a possible workaround of a compilation issue with MSVC+ICC
2014-12-10 14:26:25 +01:00
Gael Guennebaud
79c3cfabe3
Fix nomalloc_3 and binding reference to temporary issue
2014-12-09 19:01:25 +01:00
Gael Guennebaud
e0f390793c
Fix dynamic allocation in JacobiSVD (regression)
...
(grafted from 30c849669d
)
2014-12-08 14:45:04 +01:00
Gael Guennebaud
97812ad0d3
UmfPack support: fix redundant evaluation/copies when calling compute() and support generic expressions as input
2014-12-02 17:30:57 +01:00
Gael Guennebaud
d66b5a1d91
Fix MSVC compilation issue
...
(grafted from a819fa148d
)
2014-12-02 14:35:31 +01:00
Gael Guennebaud
b0152fdb1d
Fix bicgstab example
2014-12-02 14:32:55 +01:00
Gael Guennebaud
e9c5418249
bug #897 : fix UmfPack usage with mapped sparse matrices
...
(grafted from 1a8dc85142
)
2014-12-02 13:57:13 +01:00
Gael Guennebaud
b25b517817
Fix bug #911 : m_extractedDataAreDirty was not initialized in UmfPackLU
...
(grafted from 4974d1d2b4
)
2014-12-02 13:54:06 +01:00
Gael Guennebaud
ce0fb1bca1
Simplify return type of diagonal(Index) (and ease compiler job)
2014-11-28 14:39:47 +01:00
Christoph Hertzberg
92fce631ed
added std:: scope to abs function call
2014-11-28 02:24:51 +00:00
Christoph Hertzberg
238308e0f7
bug #909 : Removed unreachable return statement
2014-11-26 15:45:11 +01:00
Gael Guennebaud
719ac0d6b0
Fix Hyperplane::Through(a,b,c) when points are aligned or identical. We use the stratgey as in Quaternion::setFromTwoVectors.
...
(grafted from 8518ba0bbc
)
2014-11-26 15:01:53 +01:00
Gael Guennebaud
8e61a7aab6
Fix a case where 0-1 leads to Dynamic instead of 0.
2014-11-26 15:03:22 +01:00
Gael Guennebaud
09e992ce9f
Add missing specialization of Block<const SparseMatrix>
2014-11-24 18:40:44 +01:00
Gael Guennebaud
cdd401f743
Enable Mx0 * 0xN matrix product.
2014-11-24 18:07:50 +01:00
Gael Guennebaud
59b7615d31
Fix memory pre-allocation when permuting inner vectors of a sparse matrix.
...
(grafted from da584912b6
)
2014-11-24 17:31:59 +01:00
Gael Guennebaud
a8cb0dfcf5
re-enable usage of ProductBase::m_result and workaround a compilation failure when m_result is too large but unused
2014-11-14 13:38:12 +01:00
Christoph Hertzberg
0e7a26c19f
bug #898 : add inline hint to const_cast_ptr
2014-10-28 14:51:05 +01:00
Christoph Hertzberg
13c636d864
Addendum to bug #859 : pexp(NaN) for double did not return NaN, also, plog(NaN) did not return NaN.
...
psqrt(NaN) and psqrt(-1) shall return NaN if EIGEN_FAST_MATH==0
2014-10-20 13:35:03 +02:00
Gael Guennebaud
00ec1629ca
Fix bug #859 : pexp(NaN) returned Inf instead of NaN
2014-10-20 11:38:51 +02:00
Gael Guennebaud
a72eabec9b
Fix bug #894 : the sign of LDLT was not re-initialized at each call of compute()
...
(grafted from d04f23260d
)
2014-10-20 10:48:40 +02:00
Gael Guennebaud
235c97ba92
Fix SparseQR::rank for a completely empty matrix.
...
(grafted from 8838b0a1ff
)
2014-10-19 22:42:20 +02:00
Gael Guennebaud
4126cb6369
Fix SparseLU::absDeterminant and add respective unit test
...
(grafted from a370b1f2e2
)
2014-10-17 16:52:56 +02:00
Gael Guennebaud
8ea2ab4829
Fix JacobiSVD wrt undeR/overflow by doing scaling prior to QR preconditioning
...
(grafted from feacfa5f83
)
2014-10-17 15:32:06 +02:00
Christoph Hertzberg
9b79607579
bug #891 : Determine sizeof(void*) via CMAKE variable instead of test program
...
(transplanted from 0ec1fc9e11
)
2014-10-14 14:14:25 +02:00
Gael Guennebaud
aadbfe78c2
bug #890 : extract_data might returns 0x0 thus breaking aliasing detection
2014-10-10 16:42:32 +02:00
Gael Guennebaud
7d5e16c733
Add missing default ctor in Rotation2D
2014-09-30 16:59:28 +02:00
Christoph Hertzberg
e395a8042a
Fix bug #884 : No malloc for zero-sized matrices or for Ref without temporaries
...
manually ported from 4ba8aa1482
2014-09-25 16:25:31 +02:00
Gael Guennebaud
91f1a161ca
bug #879 : tri1 = mat * tri2 was compiling and running incorrectly if tri2 was not numerically triangular. Workaround the issue by evaluating mat*tri2 into a temporary.
2014-09-22 17:20:42 +02:00
Gael Guennebaud
16bca3bfe2
Fix SparseQR for row-major inputs.
...
(grafted from 755e77266f
)
2014-09-19 09:58:56 +02:00
Gael Guennebaud
e0ab58d815
Fix bug #791 : infinite loop in JacobiSVD in the presence of NaN.
...
(grafted from d6236d3b26
)
2014-09-10 11:54:20 +02:00
Gael Guennebaud
c67a7148c4
ArrayWrapper and MatrixWrapper classes should not be nested by reference.
...
(grafted from 921a645481
)
2014-09-10 10:33:19 +02:00
Gael Guennebaud
38dc683901
Fix bug #822 : outer products needed linear access, and add respective unit tests
...
(grafted from 51b3f558bb
)
2014-09-08 10:21:22 +02:00
Jitse Niesen
cad0fa5d77
Replace asm by __asm__ (bug #873 ).
...
Thanks to Markus Eisenmann for report and initial patch.
2014-09-06 11:54:47 +01:00
Gael Guennebaud
5daebe0a27
bug #871 : fix compilation on ARM/Neon regarding __has_builtin usage (backport)
2014-09-01 10:58:07 +02:00
Georg Drenkhahn
05fb735d1d
Added missing STL include of <list> in main.h
...
Removed duplicated include of <sstream>
Added comments on the background of min/max macro definitions and STL header includes
(grafted from e49e84d979
)
2014-08-29 10:41:05 +02:00
Gael Guennebaud
7443d8b4e9
bug #867 : forward the cmake generator when testing support for fortran. (was already fixed in the default branch)
2014-08-28 09:15:33 +02:00
Georg Drenkhahn
36506511a1
Fixed CMakeLists.txt files to prevent CMake 3.0.0 warnings about deprecated LOCATION target property.
...
Small whitespace cleanup in CMakelLists.txt.
2014-08-22 12:13:07 +02:00
Gael Guennebaud
3afdc6d95a
In SparseQR, calling factorize() without analyzePattern() was broken.
2014-08-26 23:32:32 +02:00
Gael Guennebaud
c14c03490f
merge
2014-08-26 13:00:11 +02:00
Gael Guennebaud
c880590d27
bug #861 : enable posix_memalign with PGI
...
(grafted from 2e50289ba3
)
2014-08-26 12:54:19 +02:00
Gael Guennebaud
54294e2293
bug #857 : workaround MSVC compilation issue.
2014-08-26 12:52:29 +02:00
Gael Guennebaud
c7331ebb06
Do not apply the preconditioner before starting the iterations as this might destroy a very good initial guess.
...
(grafted from b49ef99617
)
2014-08-21 22:14:25 +02:00
Gael Guennebaud
0321449944
bug #854 : fix numerical issue in SelfAdjointEigenSolver::computeDirect for 3x3 matrices. The tolerance to detect stable cross products was too optimistic.
...
Add respective unit tests.
(grafted from 9c0aa81fbf
)
2014-08-21 10:49:09 +02:00
Gael Guennebaud
44c390a370
Added tag 3.2.2 for changeset bbaf01712c
2014-08-04 12:52:31 +02:00
Gael Guennebaud
bbaf01712c
bump to 3.2.2
2014-08-04 12:51:54 +02:00
Gael Guennebaud
8e875d3c38
Memory allocated on the stack is freed at the function exit, so reduce iteration count to avoid stack overflow
...
(grafted from e51da9c3a8
)
2014-08-04 12:46:00 +02:00
Gael Guennebaud
8d69b87c53
Make the ordering method of SimplicialL[D]LT user configurable.
...
(grafted from d4cc1bdc7f
)
2014-07-20 14:22:58 +02:00
Christoph Hertzberg
49cbaf3856
Add note to EIGEN_DONT_PARALLELIZE into preprocessor documentation page (requested in IRC)
...
(transplanted from 68eafc10b1
)
2014-07-18 15:42:12 +02:00
Gael Guennebaud
9b00035438
bug #843 : fix jacobisvd for complexes and extend respective unit test to chack with random tricky matrices,
...
and backport other JacobiSVD fixes
2014-07-17 17:09:15 +02:00
Gael Guennebaud
e215740e8e
Fix bug #838 : detect outer products from either the lhs or rhs
2014-07-11 17:17:17 +02:00
Gael Guennebaud
0cc67589d3
Fix bug #838 : fix dense * sparse and sparse * dense outer products
2014-07-11 16:31:41 +02:00
Christoph Hertzberg
51e2e93019
Backed out of changeset 6091:9d3e0da38576dddc4df25c0e61ad6685193eb630
...
Unfortunately this breaks things at other places
2014-07-10 16:12:33 +02:00
Christoph Hertzberg
9d3e0da385
Make MatrixBase::makeHouseholder resize its output vector if it is zero
...
(transplanted from f27f55bee3
)
2014-07-10 14:59:18 +02:00
Kolja Brix
6ff72f40cf
Fix GMRES: Initialize essential Householder vector with correct dimension. Add check if initial guess is already a sufficient approximation.
...
(transplanted from e955725ff1
)
2014-07-10 08:20:55 +02:00
Christoph Hertzberg
75d19bb087
Determine version of Metis library. Apparently, at least version 5.x is needed for Eigen/MetisSupport.
...
Marked some internal variables as advanced
2014-07-09 16:54:15 +02:00
Gael Guennebaud
62f948c56a
Generalize unit testing of pscatter
2014-07-09 16:01:24 +02:00
Gael Guennebaud
da1e356306
Merged in jdh8/eigen (pull request PR-72)
...
Fix bug #839
2014-07-09 13:07:39 +02:00
Gael Guennebaud
54fbbe7b4e
Add unit test for bug #839 .
2014-07-09 13:06:06 +02:00
Benoit Steiner
ea0906dfd8
Improved evaluation of tensor expressions when used as rvalues
2014-07-08 16:43:28 -07:00
Benoit Steiner
cc1bacea5b
Improved the efficiency of the tensor evaluation code on thread pools and gpus.
2014-07-08 16:39:28 -07:00
Benoit Steiner
c285fda7f4
Extended the functionality of the TensorDeviceType classes
2014-07-08 16:30:48 -07:00
Chen-Pang He
160034bba1
Fix bug #839
2014-07-09 03:32:32 +08:00
Chen-Pang He
1967e7f2f3
Fix bug #839
2014-07-09 03:32:32 +08:00
Gael Guennebaud
6eb16aae2d
bug #808 : fix set_from_triplets temporary matrix type (already fixed in the devel branch)
2014-07-08 19:10:26 +02:00
Gael Guennebaud
77d57cd681
bug #808 : fix implicit conversions from int/longint to float/double
2014-07-08 19:07:58 +02:00
Gael Guennebaud
4777ca1afb
bug #808 : fix implicit conversions from int/longint to float/double
2014-07-08 18:59:18 +02:00
Gael Guennebaud
e3557e8dd2
bug #808 : use double instead of float for the increasing size ratio in CompressedStorage::resize
...
(grafted from 0e0ae40084
)
2014-07-08 18:58:41 +02:00
Gael Guennebaud
5214466b7a
Fix implicit long to int conversions in blas interface
2014-07-08 19:01:49 +02:00
Gael Guennebaud
0e0ae40084
bug #808 : use double instead of float for the increasing size ratio in CompressedStorage::resize
2014-07-08 18:58:41 +02:00
Gael Guennebaud
5c4733f6e4
Fix bug #809 : unused variable warning
2014-07-08 18:38:34 +02:00
Gael Guennebaud
b73908000c
Fix bug #809 : unused variable warning
...
(grafted from 5c4733f6e4
)
2014-07-08 18:38:34 +02:00
Gael Guennebaud
b47ef1431f
Fix many long to int implicit conversions
2014-07-08 16:47:11 +02:00
Christoph Hertzberg
e25e674852
bug #837 : Always re-align the result of EIGEN_ALLOCA.
2014-07-08 13:57:26 +02:00
Gael Guennebaud
4b6b76463a
Merged in jdh8/eigen (pull request PR-71)
...
Find benchmark opponents more aggressively
2014-07-08 13:13:16 +02:00
Gael Guennebaud
904509fbb6
Move using std::abs from Eigen's namespace to function scope.
2014-07-08 10:28:09 +02:00
Gael Guennebaud
08b0c08e5e
Fix LDLT with semi-definite complex matrices: owing to round-off errors, the diagonal was not real. Also exploit the fact that the diagonal is real in the rest of LDLT
2014-07-08 10:04:27 +02:00
Gael Guennebaud
0dfb73d46a
Fix LDLT with semi-definite complex matrices: owing to round-off errors, the diagonal was not real. Also exploit the fact that the diagonal is real in the rest of LDLT
2014-07-08 10:04:27 +02:00
Gael Guennebaud
7fa83e7374
Fix LDLT with semi-definite complex matrices: owing to round-off errors, the diagonal was not real. Also exploit the fact that the diagonal is real in the rest of LDLT
2014-07-08 09:56:09 +02:00
Benoit Steiner
7d53633e05
Added support for tensor slicing
2014-07-07 14:10:36 -07:00
Benoit Steiner
bc072c5cba
Added support for tensor slicing
2014-07-07 14:08:45 -07:00
Benoit Steiner
47981c5925
Added support for tensor slicing
2014-07-07 14:07:57 -07:00
Chen-Pang He
1eefa5a841
Find benchmark opponents also in /usr/lib64
2014-07-07 22:55:28 +08:00
Chen-Pang He
e4b6979334
Find OpenBLAS more aggressively. This made a difference on Fedora 20
2014-07-07 21:32:33 +08:00
Chen-Pang He
b9ee880f07
chmod -x Eigen/src/Core/GenericPacketMath.h
2014-07-07 21:28:00 +08:00
Chen-Pang He
2bf58316ee
Fix dox at internal::tridiagonal_qr_step
2014-07-06 13:49:43 +08:00
Chen-Pang He
85777fc131
Mark internal namespace as \internal
2014-07-06 13:45:54 +08:00
Moritz Klammler
58687aa5e6
Avoid memory leak when constructor of user-defined type throws exception.
...
The added check `ctorleak.cpp` demonstrates how the leak can be reproduced.
The test appears to pass but it is leaking the storage of the (not created)
matrix. I don't know how to make this test fail in the existing test suite but
you can run it through Valgrind (or another debugger) to verify the leak.
$ ./check.sh ctorleak && valgrind --leak-check=full ./test/ctorleak
This patch fixes this leak by adding some try-catch-delete-rethrow blocks to
`Eigen/src/Core/util/Memory.h`.
2014-07-06 06:58:13 +02:00
Gael Guennebaud
339f14b8d1
bug #826 : document caveats in 1x1 and 2x1 constructors.
2014-07-21 13:43:48 +02:00
Gael Guennebaud
d4cc1bdc7f
Make the ordering method of SimplicialL[D]LT user configurable.
2014-07-20 14:22:58 +02:00
Gael Guennebaud
8e19027130
bug #826 : fix 64 to 32 bits conversion warning when calling Matrix<int,1,1>(long)
2014-07-20 14:03:22 +02:00
Christoph Hertzberg
ef4a86d6b8
Fix trivial warnings in MPRealSupport
2014-07-18 16:39:58 +02:00
Christoph Hertzberg
68eafc10b1
Add note to EIGEN_DONT_PARALLELIZE into preprocessor documentation page (requested in IRC)
2014-07-18 15:42:12 +02:00
Christoph Hertzberg
1cb71a8782
bug #138 : Make building of internal documentation configurable via cmake flag
2014-07-18 14:34:58 +02:00
Gael Guennebaud
ac1bb3e5b3
bug #770 : fix out of bounds access
2014-07-18 14:22:33 +02:00
Chen-Pang He
4860da2de1
Percent "Eigen" in dox to prevent linking if not referring to the Eigen namespace
2014-07-05 23:01:27 +08:00
Chen-Pang He
7a915f6846
Move Doxygen-only stuff to *.dox
2014-07-05 22:41:58 +08:00
Chen-Pang He
1a817d3b70
Document internal namespace
2014-07-05 21:50:05 +08:00
Chen-Pang He
8ee38d2db6
Fix dox for namespaces
2014-07-05 21:48:48 +08:00
Christoph Hertzberg
f365380496
Fix regression introduced by 3117036b80
...
:
Matrix<Scalar,1,1>(int) did not compile if Scalar is not constructible from int. Now this falls back to the (Index size) constructor.
2014-07-04 12:52:55 +02:00
Christoph Hertzberg
3a9f9faada
Fix unused typedef warning
2014-07-04 12:48:24 +02:00
Gael Guennebaud
bbe9e22d60
LDLT is not rank-revealing, so we should not attempt to use the biggest diagonal elements as thresholds.
2014-07-02 23:04:46 +02:00
Gael Guennebaud
998455a570
LDLT is not rank-revealing, so we should not attempt to use the biggest diagonal elements as thresholds.
2014-07-02 23:04:46 +02:00
Gael Guennebaud
b18a7ff6be
Do not attempt to include <intrin.h> on Windows CE
2014-07-02 16:13:05 +02:00
Gael Guennebaud
0a8e4712d1
Do not attempt to include <intrin.h> on Windows CE
2014-07-02 16:13:05 +02:00
Gael Guennebaud
61b88d2feb
merge with default branch
2014-07-02 09:35:37 +02:00
Gael Guennebaud
e84bdbb445
Fix regeression in bicgstab: the threshold used to detect the need for a restart was much too large.
...
(grafted from bf334b8ae5
)
2014-07-01 22:29:04 +02:00
Gael Guennebaud
bf334b8ae5
Fix regeression in bicgstab: the threshold used to detect the need for a restart was much too large.
2014-07-01 22:29:04 +02:00
Gael Guennebaud
8f4cdbbc8f
Fix typo in dense * diagonal evaluator.
2014-07-01 18:04:30 +02:00
Gael Guennebaud
7390af91b6
Implement evaluators for sparse*dense products
2014-07-01 17:53:18 +02:00
Gael Guennebaud
1e6f53e070
Use DiagonalShape as the storage kind of DiagonalBase<>.
2014-07-01 17:52:58 +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
065344a06b
Fix bug #836 : extend SparseQR to support more columns than rows.
2014-07-01 10:24:46 +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
c401167712
Fix double constructions of the nested CwiseBinaryOp evaluator in sparse*diagonal product iterator.
2014-06-27 16:41:45 +02:00
Gael Guennebaud
73e686c6a4
Implement evaluators for sparse times diagonal products.
2014-06-27 15:54:44 +02:00
Gael Guennebaud
ae039dde13
Add a NoPreferredStorageOrderBit flag for expression having no preferred storage order.
...
It is currently only used in Product.
2014-06-27 15:53:51 +02:00
Gael Guennebaud
e1f1f66a52
Fix some ICEs with VC11.
2014-06-27 15:11:38 +02:00
Gael Guennebaud
f0648f8860
Implement evaluator for sparse views.
2014-06-26 13:52:19 +02:00
Jeff
08c615f1e4
IndexArray is now a typename.
...
Changed interpolate with derivatives test to use VERIFY_IS_APPROX.
2014-06-25 19:02:57 -06:00
Gael Guennebaud
54607665ab
Fix inverse evaluator
2014-06-25 23:44:59 +02:00
Christoph Hertzberg
d73ee84d37
Disabled HIDE_SCOPE_NAMES (default doxygen setting). This might help to avoid API confusions as in bug #830 .
2014-06-25 22:44:43 +02:00
Gael Guennebaud
a7bd4c455a
Update sparse reduxions and sparse-vectors to evaluators.
2014-06-25 17:24:43 +02:00
Gael Guennebaud
b868bfb84a
Make operator=(EigenBase<>) uses the new assignment mechanism and introduce a generic EigenBase to EigenBase assignment kind based on the previous evalTo mechanism.
2014-06-25 17:23:52 +02:00
Gael Guennebaud
3b19b466a7
Generalize static assertions on matching sizes to avoid the need for SizeAtCompileTime
2014-06-25 17:22:12 +02:00
Gael Guennebaud
199ac3f2e7
Implement evaluators for sparse coeff-wise views
2014-06-25 17:21:04 +02:00
Gael Guennebaud
e3ba5329ff
Implement evaluators for sparse Block.
2014-06-25 09:58:26 +02:00
Gael Guennebaud
17f119689e
implement evaluator for SparseVector
2014-06-25 09:58:03 +02:00
Jeff
f9496d341f
Merged.
2014-06-23 20:24:31 -06:00
Jeff
e745a450de
Removed tabs and fixed indentation.
2014-06-23 20:18:16 -06:00
Jeff
e86adc87e9
Fixed type mixing issues.
2014-06-23 19:52:42 -06:00
Jeff
b59f045c07
Using LU decomposition with complete pivoting for better accuracy.
2014-06-23 19:04:52 -06:00
Christoph Hertzberg
755be9016a
Workaround clang error introduced by 3117036b80
...
:
"template argument for non-type template parameter is treated as function type 'bool (bool)'"
2014-06-23 22:33:36 +02:00
Jeff
957c2c291b
Changed uint to unsigned int.
2014-06-23 08:34:11 -06:00
Christoph Hertzberg
15c2c083e8
Additional unit tests for bug #826 by Gael
2014-06-23 11:21:40 +02:00
Christoph Hertzberg
3117036b80
Fix bug #826 : Allow initialization of 1x1 Arrays/Matrices by passing a value.
2014-06-23 11:15:42 +02:00
Christoph Hertzberg
1c3843bf86
Fix bug #729 : Use alloca if it is defined
2014-06-23 11:04:12 +02:00
Christoph Hertzberg
0ddde223e9
Fixed typos
2014-06-23 11:00:52 +02:00
Gael Guennebaud
3849cc65ee
Implement binaryop and transpose evaluators for sparse matrices
2014-06-23 10:40:03 +02:00
Jeff
5dbbe6b400
Added Spline interpolation with derivatives.
2014-06-20 22:12:45 -06:00
Gael Guennebaud
ec0a8b2e6d
rm conflict
2014-06-20 16:30:34 +02:00
Gael Guennebaud
7fa87a8b12
Backport changes from old to new expression engines
2014-06-20 16:17:57 +02:00
Gael Guennebaud
b29b81a1f4
merge with default branch
2014-06-20 15:55:44 +02:00
Gael Guennebaud
47585c8ab2
merge
2014-06-20 15:49:07 +02:00
Gael Guennebaud
c415b627a7
Started to move the SparseCore module to evaluators: implemented assignment and cwise-unary evaluator
2014-06-20 15:42:13 +02:00
Gael Guennebaud
78bb808337
1- Introduce sub-evaluator types for unary, binary, product, and map expressions to ease specializing them.
...
2- Remove a lot of code which should not be there with evaluators, in particular coeff/packet methods implemented in the expressions.
2014-06-20 15:39:38 +02:00
Gael Guennebaud
963d338922
Fix bug #827 : improve accuracy of quaternion to angle-axis conversion
2014-06-20 15:09:42 +02:00
Gael Guennebaud
caf4936661
Add assertion and warning on the requirements of SparseQR and COLAMDOrdering
...
(grafted from 98ef44fe55
)
2014-06-20 14:43:47 +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
1fdef63d1f
Explain how to export sparse linear problems in matrix-market format.
2014-06-20 13:23:33 +02:00
Jitse Niesen
de150b1e14
Add documentation and very simple test for array atan(), part 2
...
(files I forget in the previous commit).
2014-06-19 15:12:33 +01:00
Jitse Niesen
55453c51e8
Add documentation and very simple test for array atan().
2014-06-19 15:07:42 +01:00
Roger Martin
eb49100de9
Add component-wise atan() function (see bug #80 ).
2014-06-19 14:55:14 +01:00
Mark Borgerding
afb1a8c124
fixed warning: -Wunused-local-typedefs
2014-06-17 18:25:56 -04:00
Gael Guennebaud
c06ec0f464
Fix Jacobi preconditioner with zero diagonal entries
2014-06-17 23:47:30 +02:00
Gael Guennebaud
95ecd582a3
Update decompositions tables
2014-06-17 09:37:07 +02:00
Gael Guennebaud
b0979b8598
Merged in vladimir_ch/eigen/vladimir_ch/bug-796-fix-eigen3config.cmake (pull request PR-67)
...
Change variable names in Eigen3Config.cmake to EIGEN3_*
2014-06-17 09:20:37 +02:00
Benoit Steiner
774c3c1e0a
Created additional unit tests for the tensor code and improved existing ones.
2014-06-13 10:20:28 -07:00
Benoit Steiner
f80c8e17eb
Silenced a compilation warning
2014-06-13 10:12:12 -07:00
Benoit Steiner
38ab7e6ed0
Reworked the expression evaluation mechanism in order to make it possible to efficiently compute convolutions and contractions in the future:
...
* The scheduling of computation is moved out the the assignment code and into a new TensorExecutor class
* The assignment itself is now a regular node on the expression tree
* The expression evaluators start by recursively evaluating all their subexpressions if needed
2014-06-13 09:56:51 -07:00
Vladimir Chalupecky
1ee4e2db15
Change variable names in Eigen3Config.cmake to EIGEN3_*
2014-06-12 10:51:02 +09:00
Benoit Steiner
aa664eabb9
Fixed a few compilation errors.
2014-06-10 10:31:29 -07:00
Benoit Steiner
4304c73542
Pulled latest updates from the Eigen main trunk.
2014-06-10 10:23:32 -07:00
Benoit Steiner
925fb6b937
TensorEval are now typed on the device: this will make it possible to use partial template specialization to optimize the strategy of each evaluator for each device type.
...
Started work on partial evaluations.
2014-06-10 09:14:44 -07:00
Benoit Steiner
a77458a8ff
Fixes compilation errors triggered when compiling the tensor contraction code with cxx11 enabled.
2014-06-09 10:06:57 -07:00
Benoit Steiner
a669052f12
Improved support for rvalues in tensor expressions.
2014-06-09 09:45:30 -07:00
Benoit Steiner
36a2b2e9dc
Prevent the generation of unlaunchable cuda kernels when compiling in debug mode.
2014-06-09 09:43:51 -07:00
Benoit Steiner
2859a31ac8
Fixed compilation error
2014-06-09 09:42:34 -07:00
Benoit Steiner
d13711a363
Pulled latest changes from the main branch
2014-06-09 09:35:04 -07:00
Benoit Steiner
fe102248ac
Fixed the threadpool test
2014-06-09 09:19:21 -07:00
Benoit Steiner
8c8ae2d819
Fixed a typo
2014-06-07 11:24:38 -07:00
Benoit Steiner
29aebf96e6
Created the pblend packet primitive and implemented it using SSE and AVX instructions.
2014-06-06 20:18:44 -07:00
Benoit Steiner
79085e08e9
Fixed a typo
2014-06-06 20:16:13 -07:00
Benoit Steiner
a961d72e65
Added support for convolution and reshaping of tensors.
2014-06-06 16:25:16 -07:00
Gael Guennebaud
abc1ca0af1
The BLAS interface is complete.
2014-06-06 11:21:19 +02:00
Gael Guennebaud
c331ce6b8e
Fix bug #738 : use the "current" version of cmake project directories to ease the inclusion of Eigen within other projects.
2014-06-06 11:06:44 +02:00
Gael Guennebaud
ed37c44765
Enable LinearAccessBit in Block expression for inner-panels
2014-06-06 11:02:20 +02:00
Benoit Steiner
8998f4099e
Created additional tests for the tensor code.
2014-06-05 10:49:34 -07:00
Christian Seiler
96cb58fa3b
unsupported/TensorSymmetry: factor out completely from Tensor module
...
Remove the symCoeff() method of the the Tensor module and move the
functionality into a new operator() of the symmetry classes. This makes
the Tensor module now completely self-contained without symmetry
support (even though previously it was only a forward declaration and a
otherwise harmless trivial templated method) and also removes the
inconsistency with the rest of eigen w.r.t. the method's naming scheme.
2014-06-04 20:44:22 +02:00
Christian Seiler
ea99433523
unsupported/TensorSymmetry: make symgroup construction autodetect number of indices
...
When constructing a symmetry group, make the code automatically detect
the number of indices required from the indices of the group's
generators. Also, allow the symmetry group to be applied to lists of
indices that are larger than the number of indices of the symmetry
group.
Before:
SGroup<4, Symmetry<0, 1>, Symmetry<2,3>> group;
group.apply<SomeOp, int>(std::array<int,4>{{0, 1, 2, 3}}, 0);
After:
SGroup<Symmetry<0, 1>, Symmetry<2,3>> group;
group.apply<SomeOp, int>(std::array<int,4>{{0, 1, 2, 3}}, 0);
group.apply<SomeOp, int>(std::array<int,5>{{0, 1, 2, 3, 4}}, 0);
This should make the symmetry group easier to use - especially if one
wants to reuse the same symmetry group for different tensors of maybe
different rank.
static/runtime asserts remain for the case where the length of the
index list to which a symmetry group is to be applied is too small.
2014-06-04 20:27:42 +02:00
Christian Seiler
cee62018fc
unsupported/CXX11/Core: allow gen_numeric_list to have a starting point
...
Add a template parameter to gen_numeric_list that acts as a starting
point for the list, i.e. gen_numeric_list<int, 5, 4> will generate a
numeric_list<int, 4, 5, 6, 7, 8>.
2014-06-04 19:54:22 +02:00
Christian Seiler
58cfac9a12
unsupported/ C++11 workarounds: don't use hack for libc++ if not required
...
libc++ from 3.4 onwards supports constexpr std::get, but only if
compiled with -std=c++1y. Change the detection so that libc++'s
internals are only used if either -std=c++1y is not specified or the
library is too old, making the whole hack a bit more future-proof.
2014-06-04 18:47:42 +02:00
Christian Seiler
45515779d3
Fix compilation for CXX11/Tensor module if unsupported is not in include path
2014-06-04 18:31:02 +02:00
Benoit Steiner
6fa6cdd2b9
Added support for tensor contractions
...
Updated expression evaluation mechanism to also compute the size of the tensor result
Misc fixes and improvements.
2014-06-04 09:21:48 -07:00
Gael Guennebaud
0f1e321dd4
Fic bug #819 : include path of details.h
2014-06-04 11:58:01 +02:00
Jitse Niesen
789674809f
Fix test: EigenSolver on 1x1 matrix with NaN sets info to NumericalIssue.
...
This was changed in 3c66bb136b
.
2014-06-02 11:42:42 +01:00
Jitse Niesen
eb56461ac2
Fix doc'n of FullPivLU re permutation matrices (bug #815 ).
2014-05-31 23:05:18 +01:00
Benoit Steiner
736267cf6b
Added support for additional tensor operations:
...
* comparison (<, <=, ==, !=, ...)
* selection
* nullary ops such as random or constant generation
* misc unary ops such as log(), exp(), or a user defined unaryExpr()
Cleaned up the code a little.
2014-05-22 16:22:35 -07:00
Benoit Steiner
7402fea0a8
Vectorized the evaluation of tensor expression (using SSE, AVX, NEON, ...)
...
Added the ability to parallelize the evaluation of a tensor expression over multiple cpu cores.
Added the ability to offload the evaluation of a tensor expression to a GPU.
2014-05-16 15:08:05 -07:00
Mark Borgerding
e3ab46b8c9
AsciiQuickReference: added .real(), .imag()
...
(transplanted from 11462c1a29
)
2014-05-16 13:45:35 -04:00
Mark Borgerding
c794099e69
fixed AsciiQuickReference typo: LinSpace -> LinSpaced
...
(transplanted from e667819055
)
2014-05-08 15:14:12 -04:00
Christoph Hertzberg
aa524604b7
README.md edited online with Bitbucket
2014-05-21 14:08:04 +00:00
Benjamin Chrétien
c55c5763fe
PolynomialSolver: fix typo.
2014-05-19 19:24:02 +02:00
Benjamin Chrétien
eda79321be
PolynomialSolver: fix bugs related to linear polynomials.
2014-05-19 19:08:51 +02:00
Benjamin Chrétien
df92649379
PolynomialSolver: add missing constructors.
2014-05-19 18:40:29 +02:00
Benjamin Chrétien
0f94607947
PolynomialSolver: test template constructor in test suite.
2014-05-19 18:34:10 +02:00
Benjamin Chrétien
edebb15275
PolynomialSolver: add a test to reveal a bug.
2014-05-19 18:21:29 +02:00
Christoph Hertzberg
9aa3dc4e21
Merged in benoitsteiner/eigen-fixes (pull request PR-62)
...
Made it possible to call the assignment operator on an Eigen::Block from a CUDA kernel.
2014-05-08 17:06:28 +02:00
Benoit Steiner
881aab14b4
Made it possible to call the assignment operator on an Eigen::Block from a CUDA kernel.
2014-05-07 13:34:46 -07:00
Benoit Steiner
0320f7e3a7
Added support for fixed sized tensors.
...
Improved support for tensor expressions.
2014-05-06 11:18:37 -07:00
Christoph Hertzberg
5811e68dd1
Disabled unused warnings in Eigen2-tests
2014-05-06 12:53:18 +02:00
Christoph Hertzberg
9217de8bf2
Missed to remove IACA_END in previous commit
2014-05-05 15:10:18 +02:00
Christoph Hertzberg
84cb1d72b8
Removed IACA-defines
...
This caused redefinition warnings if IACA headers were included from elsewhere. For a clean solution we should define our own EIGEN_IACA_* macros
2014-05-05 15:06:37 +02:00
Christoph Hertzberg
56de8d3816
Fixed unused variable warnings
2014-05-05 15:03:29 +02:00
Christoph Hertzberg
b4beba72a2
Fix bug #807 : Missing scalar type cast in umeyama()
2014-05-05 14:23:52 +02:00
Christoph Hertzberg
b5e3d76aa5
Fixed bug #806 : Missing scalar type cast in Quaternion::setFromTwoVectors()
2014-05-05 14:22:27 +02:00
Benjamin Chretien
0b7f95a03f
Fix typo in SparseMatrix assert.
2014-05-03 12:41:37 +02:00
Gael Guennebaud
d67aa1549b
Add missing add_subdirectory directive
2014-05-03 10:46:11 +02:00
Gael Guennebaud
07986189b7
Fix bug #803 : avoid char* to int* conversion
2014-05-01 23:03:54 +02:00
Benoit Steiner
c0f2cb016e
Extended support for Tensors:
...
* Added ability to map a region of the memory to a tensor
* Added basic support for unary and binary coefficient wise expressions, such as addition or square root
* Provided an emulation layer to make it possible to compile the code with compilers (such as nvcc) that don't support cxx11.
2014-04-28 10:32:27 -07:00
Gael Guennebaud
2fb64578aa
Add a small benchmark to compare dense solvers for small to large problems.
2014-04-28 16:16:29 +02:00
Kolja Brix
ecf1f1d589
Make gdb pretty printer Python3-compatible (bug #800 ).
2014-04-28 14:10:22 +01:00
Gael Guennebaud
e7ef26fa44
TRMM: Make sure we have enough memory in rhs block to enforce alignment.
2014-04-25 23:36:22 +02:00
Gael Guennebaud
450d0c3de0
Make sure that calls to broadcast4 are 16 bytes aligned
2014-04-25 22:25:48 +02:00
Gael Guennebaud
f9d2f3903e
Product kernel: skip loop on columns if there is no remaining rows
2014-04-25 16:54:30 +02:00
Gael Guennebaud
6f64b0b487
Fix sizeof unit test
2014-04-25 14:05:54 +02:00
Gael Guennebaud
c20e3641de
Fix for mixed products
2014-04-25 13:22:34 +02:00
Gael Guennebaud
2dbfd83424
Implement pbroadcast4 on altivec
2014-04-25 02:46:57 -07:00
Gael Guennebaud
7388fdf560
pbroadcast4/2 assume aligned memory
2014-04-25 02:46:22 -07:00
Gael Guennebaud
c9788d55b9
Disable 3pX4 kernel on Altivec: despite this platform has 32 registers, this version seems significantly slower.
2014-04-25 11:48:22 +02:00
Gael Guennebaud
ae4d9434e2
Add unit test for pbroadcast4/2
2014-04-25 11:21:18 +02:00
Gael Guennebaud
4def7b1fa5
Fix ptranspose overload prototypes for NEON
2014-04-25 11:15:13 +02:00
Gael Guennebaud
c79bd4b64b
Minor optimizations in product kernel:
...
- use pbroadcast4 (helpful when AVX is not available)
- process all remaining rows at once (significant speedup for small matrices)
2014-04-25 11:06:03 +02:00
Gael Guennebaud
cf7eaed38d
Avoid blocking-size mismatch in unit tests calling Eigen's blas interface.
2014-04-25 11:04:02 +02:00
Gael Guennebaud
3d8d0f6269
Enable vectorization of pack_rhs with a column-major RHS.
...
Rename and generalize Kernel<*> to PacketBlock<*,N>.
2014-04-25 10:56:18 +02:00
Gael Guennebaud
b0e19db1cf
Enable fused madd for Altivec
2014-04-24 23:17:18 +02:00
Gael Guennebaud
8d85ce88e1
Implement ptranspose on altivec and fix pgather/pscatter
2014-04-24 05:47:53 -07:00
Benoit Steiner
4eb92e5647
Fixed the NEON implementation of predux_max<Packet4i>.
2014-04-23 18:23:07 -07:00
Benoit Steiner
ccb4dec719
Created a NEON version of the ptranspose packet primitives
2014-04-23 18:22:10 -07:00
Gael Guennebaud
82b09fcb91
Add Altivec implementation of pgather/pscatter (not tested)
2014-04-23 13:09:26 +02:00
Gael Guennebaud
ecbd67a15a
Fix EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT macro
2014-04-22 17:03:57 +02:00
Gael Guennebaud
934ce93886
merge with default branch
2014-04-22 17:00:38 +02:00
Gael Guennebaud
5c5231ab71
Workaround gcc's default ABI not being able to distinghish between vector types of different sizes.
2014-04-22 16:03:19 +02:00
Gael Guennebaud
2606abed53
Fix 128bit packet size assumptions in unit tests.
2014-04-18 21:14:40 +02:00
Gael Guennebaud
a7d20038df
Fix alignment assertion.
2014-04-18 17:06:31 +02:00
Gael Guennebaud
3454b4e5f1
Fix calls to lazy products (lazy product does not like matrices with 0 length)
2014-04-18 17:06:03 +02:00
Gael Guennebaud
94684721bd
Smarter block size computation
2014-04-18 15:35:34 +02:00
Gael Guennebaud
1388f4f9fd
Fix typo (was working with clang\!)
2014-04-18 11:43:13 +02:00
Gael Guennebaud
6d665d446b
Fixes for fixed sizes and non vectorizable types
2014-04-17 23:26:34 +02:00
Gael Guennebaud
2c3c95990d
merge
2014-04-17 22:50:49 +02:00
Benoit Steiner
6d6df90c9a
Implemented the pgather/pscatter packet primitives for the arm/NEON architecture
2014-04-17 12:28:01 -07:00
Gael Guennebaud
c354bd47f7
Make our gemm bench a little more powerful.
2014-04-17 21:03:26 +02:00
Gael Guennebaud
9777a5ca60
Various minor fixes in BTL
2014-04-17 21:01:45 +02:00
Gael Guennebaud
9746396d1b
Optimize AVX pset1 for complexes and ploaddup
2014-04-17 20:51:04 +02:00
Benjamin Chretien
e5d0cb54a5
Fix typo in Reductions tutorial.
2014-04-17 18:49:23 +02:00
Gael Guennebaud
1dd015fea6
Reduce block sizes in unit tests.
2014-04-17 16:27:58 +02:00
Gael Guennebaud
45a4aad572
add unit tests for ploadquad and predux4, and split packetmath unit test wrt real/complex
2014-04-17 16:27:22 +02:00
Gael Guennebaud
e1d461352e
Extend mixingtype unit test to check transposed cases.
2014-04-17 16:26:35 +02:00
Gael Guennebaud
11fbdcbc38
Fix and optimize mixed products
2014-04-17 16:04:30 +02:00
Gael Guennebaud
0fa8290366
Optimize ploaddup for AVX
2014-04-17 16:02:27 +02:00
Gael Guennebaud
d936ddc3d1
Fallback to lazy products for very small ones.
2014-04-16 23:15:42 +02:00
Gael Guennebaud
de8336a9bc
Enable alloca on MAC OSX
2014-04-16 23:14:58 +02:00
Jitse Niesen
ffc995c9e4
Implement evaluator<ReturnByValue>.
...
All supported tests pass apart from Sparse and Geometry,
except test in adjoint_4 that a = a.transpose() raises an assert.
2014-04-16 18:16:36 +01:00
Gael Guennebaud
d5a795f673
New gebp kernel handling up to 3 packets x 4 register-level blocks. Huge speeup on Haswell.
...
This changeset also introduce new vector functions: ploadquad and predux4.
2014-04-16 17:05:11 +02:00
Jitse Niesen
b30706bd5c
Fix typo in Inverse.h
2014-04-15 22:51:46 +01:00
Mark Borgerding
e0dbb68c2f
Check IMKL version for compatibility with Eigen
2014-04-15 13:57:03 -04:00
Jitse Niesen
59f5f155c2
Port products with permutation matrices to evaluators.
2014-04-15 15:21:38 +01:00
Gael Guennebaud
20c840be15
Merged in benoitsteiner/eigen-fixes/nvcc_fixes (pull request PR-56)
...
Fixed a typo in CXX11Meta.h
2014-04-15 10:38:25 +02:00
Benoit Steiner
1afd50e0f3
Fixed a typo in CXX11Meta.h
2014-04-14 14:26:30 -07:00
Gael Guennebaud
3c66bb136b
bug #793 : detect NaN and INF in EigenSolver instead of aborting with an assert.
2014-04-14 22:00:27 +02:00
Gael Guennebaud
7098e6d976
Add isfinite overload for complexes.
2014-04-14 21:57:49 +02:00
Benoit Steiner
feaf7c7e6d
Optimized SSE unaligned loads and stores when compiling a 64bit target with a recent version of gcc (ie gcc 4.8).
2014-04-14 10:44:17 -07:00
Gael Guennebaud
d567e3b893
Merged in benoitsteiner/eigen-fixes (pull request PR-55)
...
CUDA fixes
2014-04-14 14:33:50 +02:00
Gael Guennebaud
148acf8e4f
bug #790 : fix overflow in real_2x2_jacobi_svd
2014-04-14 13:52:16 +02:00
Gael Guennebaud
0587db8bf5
bug #793 : fix overflow in EigenSolver and add respective regression unit test
2014-04-14 11:43:08 +02:00
Benoit Steiner
7903d3f27b
Updated the compiler flags to enable nvcc to work with clang.
2014-04-12 23:39:37 -07:00
Benoit Steiner
a803ff18a9
Fixed a typo in cuda_basic.cu
2014-04-12 20:24:05 -07:00
Freddie Witherden
91288e9bf9
Add include LevenbergMarquardt in CMakeLists.txt.
...
This fixes bug #768 .
2014-04-12 12:53:09 +01:00
Jitse Niesen
fbd5eac7cf
Merged in benoitsteiner/eigen-fixes/nvcc_fixes (pull request PR-53)
...
Silenced a compilation warning produced by nvcc.
2014-04-11 14:16:08 +01:00
Benoit Steiner
1b333c89c9
Updated my previous fix to avoid introducing a compilation warning on ARM platforms.
2014-04-10 17:43:13 -07:00
Benoit Steiner
a1fcf599fa
Silenced a compilation warning produced by nvcc.
2014-04-10 11:19:37 -07:00
Jitse Niesen
a91a7a1964
doc: Add references to Cholesky methods in SelfAdjointView.
2014-04-07 14:14:48 +01:00
Benoit Steiner
3b2321e3ab
Updated the geo_parametrizedline_2 test for AVX.
2014-04-04 17:08:47 -07:00
Benoit Steiner
b446ff037e
Deleted some dead code.
2014-04-04 14:12:24 -07:00
Jitse Niesen
5afcb4965c
Remove out-dated comment in cholesky test.
2014-04-04 16:48:13 +01:00
Christoph Hertzberg
096af59799
Fix bug #784 : Assert if assigning a product to a triangularView does not match the size.
2014-04-04 17:48:37 +02:00
Benoit Steiner
8044b00a7f
bug #782 : Workaround for gcc <= 4.4 compilation error on the NEON PacketMath code.
2014-04-03 23:41:47 +02:00
Benoit Steiner
aecc78325a
Pulled the latest updates from the eigen trunk.
2014-04-01 22:07:05 -07:00
Christoph Hertzberg
1cb8de1250
Make some actual verifications inside the autodiff unit test
2014-04-01 17:44:48 +02:00
Florian George
56c4851323
Fixed typo: symmretric -> symmetric
2014-04-01 15:52:25 +02:00
Gael Guennebaud
ceae5b4145
Fix lapack build
2014-04-01 11:52:23 +02:00
Gael Guennebaud
ec65e6648c
bug #775 : propagate generator when workingaround cmake bug #9220
2014-04-01 11:45:43 +02:00
Gael Guennebaud
d992634fbc
Fix bug #776 : it seems that mingw does not support weak linking
2014-04-01 11:31:21 +02:00
Benoit Steiner
5e8622477b
Rename the vector() factories defined in blas/common.h into make_vector() to prevent a possible name conflict with std::vector.
2014-04-01 11:23:28 +02:00
Gael Guennebaud
1221dd90aa
Fix no newline at end of file warning
2014-04-01 11:21:14 +02:00
Gael Guennebaud
93870d95b7
BTL: add blaze
2014-03-31 10:59:55 +02:00
Gael Guennebaud
f603823ef3
BTL: fix warnings and extend to 5k matrices, update GotoBlas to OpenBlas, etc.
2014-03-31 10:58:30 +02:00
Gael Guennebaud
8d0441052e
Finally, prefetching seems to help getting more stable performance
2014-03-31 10:42:19 +02:00
Gael Guennebaud
82c8163067
Enable repetition in mixing type unit test
2014-03-31 10:41:40 +02:00
Gael Guennebaud
1c0728043a
Workaround alignment warnings
2014-03-30 22:43:47 +02:00
Gael Guennebaud
e497a27ddc
Optimize gebp kernel:
...
1 - increase peeling level along the depth dimention (+5% for large matrices, i.e., >1000)
2 - improve pipelining when dealing with latest rows of the lhs
2014-03-30 21:57:05 +02:00
Benoit Steiner
ad59ade116
Vectorized the loop peeling of the inner loop of the block-panel matrix multiplication code. This speeds up the multiplication of matrices which size is not a multiple of the packet size.
2014-03-28 12:11:23 -07:00
Benoit Steiner
39bfbd43f0
Properly align the input data to prevent false failures of the packetmath.cpp test.
2014-03-28 12:00:08 -07:00
Gael Guennebaud
10aa14592a
Add a mechanism to recursively access to half-size packet types
2014-03-28 10:18:04 +01:00
Gael Guennebaud
8d2bb2c20d
merge with default branch
2014-03-28 09:24:18 +01:00
Gael Guennebaud
c94fde118a
Enable vectorization of gemv for PacketSize>4 through unaligned loads (still better than no vectorization)
2014-03-28 09:11:06 +01:00
Benoit Steiner
51e85c936d
Merged latest changes from parent.
2014-03-27 18:32:15 -07:00
Benoit Steiner
8a94cb3edd
Implemented the SSE version of the gather and scatter packet primitives.
2014-03-27 18:29:01 -07:00
Benoit Steiner
7f3162f707
Implemented the AVX version of the gather and scatter packet primitives.
2014-03-27 17:42:25 -07:00
Benoit Steiner
ee86679096
Introduced pscatter/pgather packet primitives. They will be used to optimize the loop peeling code of the block-panel matrix multiplication kernel.
2014-03-27 16:03:03 -07:00
Gael Guennebaud
58fe2fc2b2
enforce the use of vfmadd231ps for pmadd (gcc and clang stupidely generates the other fmadd variants plus some register moves...)
2014-03-27 23:38:50 +01:00
Benoit Steiner
729363114f
Fixed compilation error when FMA instructions are enabled.
2014-03-27 11:20:41 -07:00
Benoit Steiner
1697d7a179
Silenced "unused variable" warnings when compiling with FMA.
2014-03-27 11:00:47 -07:00
Benoit Steiner
3e1fe8e416
Vectorized the packing of a col-major matrix used as the right hand side argument in a matrix-matrix product when AVX instructions are used. No vectorization takes place when SSE instructions are used, however this doesn't seem to impact performance.
2014-03-27 10:38:41 -07:00
Benoit Steiner
b776458ccb
Vectorized the packing of a row-major matrix used as the left hand side argument in a matrix-matrix product.
2014-03-27 10:02:24 -07:00
Benoit Steiner
c4902a3d01
Implemented the AVX version of the ptranspose packet primitive.
2014-03-27 09:34:51 -07:00
Gael Guennebaud
7d73c7f18b
Change abi version when enabling AVX with GCC
2014-03-27 15:38:40 +01:00
Gael Guennebaud
6f123d209e
Fix geo_* unit tests with respect to AVX
2014-03-27 15:29:56 +01:00
Gael Guennebaud
052aedd394
Implement pcplflip, palign, predux and the likes from AVC/complexes
2014-03-27 14:47:00 +01:00
Gael Guennebaud
fb03b56647
Fix warning
2014-03-27 11:38:35 +01:00
Jitse Niesen
6a81594771
Merged in infinitei/eigen (pull request PR-50)
...
Fixed compilation error due to obsolete internal::abs and internal::sqrt function calls
2014-03-27 10:12:25 +00:00
Mark Borgerding
9ce0d78513
immintrin.h did not come until intel version 11
2014-03-26 22:26:07 -04:00
Benoit Steiner
a419cea4a0
Created the ptranspose packet primitive that can transpose an array of N packets, where N is the number of words in each packet. This primitive will be used to complete the vectorization of the gemm_pack_lhs and gemm_pack_rhs functions.
...
Implemented the primitive using SSE instructions.
2014-03-26 19:03:07 -07:00
Abhijit Kundu
ba3457cab2
Fixed compilation error due to obsolete internal::abs and internal::sqrt function calls
2014-03-26 22:02:48 -04:00
Benoit Steiner
14bc4b9704
Made sure that the version of gemm_pack_rhs specialized for row major matrices is vectorized when nr == 2*PacketSize (which is the case for SSE when compiling in 64bit mode).
2014-03-26 17:35:18 -07:00
Benoit Steiner
e45a6bed45
Specialized the pload1 packet primitive for Packet8f and Packet4d in order to take advantage of the vbroadcastss and vbroadcastsd instructions whenever possible.
2014-03-26 15:58:13 -07:00
Benoit Steiner
cc73164aa8
Merged latest updates from the parent branch
2014-03-26 15:23:59 -07:00
Gael Guennebaud
f0a4c9d5ab
Update gebp kernel to process a panle of 4 columns at once for the remaining ones.
2014-03-26 23:22:36 +01:00
Gael Guennebaud
8be011e776
Remove remaining bits of the dead working buffer
2014-03-26 23:14:44 +01:00
Benoit Steiner
a078f442a3
Vectorized the multiplication and division of complex numbers using AVX instructions.
2014-03-26 15:11:18 -07:00
Benoit Steiner
cf1a7bfbe1
Used AVX instructions to vectorize the complex version of the pfirst and ploaddup packet primitives.
...
Silenced a few compilation warnings.
2014-03-26 12:03:31 -07:00
Gael Guennebaud
bc401eb6fa
Implement new 1 packet x 8 gebp kernel
2014-03-26 18:53:00 +01:00
Gael Guennebaud
b286a1e75c
add pbroadcast2/4 generic intrinsics
2014-03-26 16:46:36 +01:00
Benoit Steiner
6bf3cc2732
Use AVX instructions to vectorize pset1<Packet2cd>, pset1<Packet4cf>, preverse<Packet2cd>, and preverse<Packet4cf>
2014-03-25 09:00:43 -07:00
Benoit Steiner
7ae9b0805d
Used AVX instructions to vectorize the predux_min<Packet8f>, predux_min<Packet4d>, predux_max<Packet8f>, and predux_max<Packet4d> packet primitives.
2014-03-24 13:33:40 -07:00
Benoit Steiner
08f7b3221d
Added proper support for AVX and FMA in the makefiles.
2014-03-24 09:52:45 -07:00
Benoit Steiner
72707a8664
Made sure that EIGEN_ALIGN is defined when EIGEN_DONT_VECTORIZE is set to true to prevent build failures when vectorization is disabled.
2014-03-21 11:40:29 -07:00
Benoit Steiner
8a0845ebd7
Merged latest changes from the parent
2014-03-18 12:58:08 -07:00
giacomo po
3e42b775ea
MINRES, bug #715 : add support for zero rhs, and remove square test.
2014-03-17 16:33:52 -07:00
Bo Li
dead9085c0
fixed Spline constructor dimension bug
2014-03-16 22:26:57 +08:00
Bo Li
4fe56a0e02
fix Spline constructor
2014-03-15 08:42:20 +08:00
Christoph Hertzberg
35a2c9cde7
clang does not accept this without template keyword
2014-03-14 16:48:29 +01:00
Gael Guennebaud
bb4b67cf39
Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as a degenerate MatrixXf(1,N)
2014-03-13 18:04:19 +01:00
Gael Guennebaud
0a6c472335
A bit of cleaning
2014-03-13 15:44:20 +01:00
Christoph Hertzberg
2db792852f
Silence stupid parenthesis warnings for old GCC versions (<= 4.6.x)
2014-03-13 12:58:57 +01:00
Gael Guennebaud
847d801a4c
Fix bug #760 : complete Eigen's lapack interface with default Lapack for SPQR if there is no fortran compiler.
2014-03-12 21:33:45 +01:00
Gael Guennebaud
aceae8314b
Resurect EvalBeforeNestingBit to control nested_eval
2014-03-12 20:25:36 +01:00
Gael Guennebaud
16d4c7a5e8
Conditionally disable unit tests that are not supported by evaluators yet
2014-03-12 20:23:44 +01:00
Gael Guennebaud
a395024d44
More debug info and use lazyProd instead of operator* to query the right flags
2014-03-12 18:14:58 +01:00
Gael Guennebaud
f74ed34539
Fix regressions in redux_evaluator flags and evaluator<Block> flags
2014-03-12 18:14:08 +01:00
Gael Guennebaud
5e26b7cf9d
Extend evaluation traits debuging info
2014-03-12 18:13:18 +01:00
Gael Guennebaud
74b1d79d77
merge default and evaluator branches
2014-03-12 16:24:25 +01:00
Gael Guennebaud
0b362e0c9a
This file is not needed anymore
2014-03-12 16:18:54 +01:00
Gael Guennebaud
a6be1952f4
Fix a few regression when moving the flags
2014-03-12 16:18:34 +01:00
Christoph Hertzberg
2379ccffcb
bug #755 : CommaInitializer produced wrong assertions in absence of ReturnValueOptimization.
2014-03-12 13:48:09 +01:00
Christoph Hertzberg
88aa18df64
bug #759 : Removed hard-coded double-math from Quaternion::angularDistance.
...
Some documentation improvements
2014-03-12 13:43:19 +01:00
Gael Guennebaud
0bd5671b9e
Fix Eigenvalues module
2014-03-12 13:35:44 +01:00
Gael Guennebaud
8dd3b716e3
Move evaluation related flags from traits to evaluator and fix evaluators of MapBase and Replicate
2014-03-12 13:34:11 +01:00
Gael Guennebaud
7eefdb948c
Migrate JacobiSVD to Solver
2014-03-11 13:43:46 +01:00
Gael Guennebaud
082f7ddc37
Port Cholesky module to evaluators
2014-03-11 13:33:44 +01:00
Christoph Hertzberg
bbc0ada12a
Avoid stupid "enumeral mismatch in conditional expression" warnings in GCC
2014-03-11 12:18:32 +01:00
Gael Guennebaud
9be72cda2a
Port QR module to Solve/Inverse
2014-03-11 11:47:32 +01:00
Gael Guennebaud
ae40583965
Fix CoeffReadCost issues
2014-03-11 11:47:14 +01:00
Gael Guennebaud
5806e73800
It is not clear what XprType::Nested should be, so let's use nested<Xpr>::type as much as possible
2014-03-11 11:44:11 +01:00
Gael Guennebaud
2bf63c6b4a
Even ReturnByValue should not evaluate when assembling the expression
2014-03-11 11:42:07 +01:00
Christoph Hertzberg
1b3d7fc04c
Merged in abachrac/eigen (pull request PR-47)
...
Move the Base typedef's from private to public scope
2014-03-11 11:01:36 +01:00
Gael Guennebaud
da6ec81282
Move CoeffReadCost mechanism to evaluators
2014-03-10 23:24:40 +01:00
Gael Guennebaud
354bd8a428
Hide legacy dense assignment routines with EIGEN_TEST_EVALUATORS
2014-03-10 09:30:58 +01:00
Gael Guennebaud
5c0f294098
Fix evaluators unit test (i.e., when only EIGEN_ENABLE_EVALUATORS is defined
2014-03-10 09:28:00 +01:00
Abraham Bachrach
804ef2350d
Move the Base typedef's from private to public scope
...
Move the Quaternion::Base typedef from private to public scope so that one may
create child classes of Quaternion.
NOTE: This matches the semantics of MatrixBase.
2014-03-09 16:56:44 -07:00
Gael Guennebaud
a6b130c63c
swap 3.2 <-> default CTestConfig.cmake file
2014-03-05 10:07:44 +01:00
Benoit Steiner
8eac97138a
Merged latest changes from the main trunk
2014-02-24 13:59:43 -08:00
Benoit Steiner
1dd176b0b0
Pulled latest changes from the Eigen main trunk
2014-02-24 13:56:01 -08:00
Benoit Steiner
131027ee0a
Merged eigen/eigen into default
2014-02-24 13:54:07 -08:00
Benoit Steiner
db7d49efbb
Added support for FMA instructions
2014-02-24 13:45:32 -08:00
Gael Guennebaud
9fdc6258cf
Implement bug #317 : use a template function call to suppress unused variable warnings. This also fix the issue of the previous changeset in a much nicer way.
2014-02-24 18:13:49 +01:00
Gael Guennebaud
21fecd5252
Workaround clang ABI change with unsed arguments (ugly fix)
2014-02-24 17:12:17 +01:00
Jitse Niesen
6fecb6f1b6
Fix bug #748 - array_5 test fails for seed 1392781168.
2014-02-24 14:10:17 +00:00
Christoph Hertzberg
3e439889e0
Specify what non-resizeable objects are in transposeInPlace and adjointInPlace (cf bug #749 )
2014-02-24 13:12:10 +01:00
Gael Guennebaud
cbc572caf7
Split LU/Inverse.h to Core/Inverse.h for the generic Inverse expression, and LU/InverseImpl.h for the dense implementation of dense.inverse()
2014-02-24 11:49:30 +01:00
Gael Guennebaud
1e0c2f6ddb
Hide some deprecated classes.
2014-02-24 11:41:19 +01:00
Gael Guennebaud
c98881e130
By-pass ProductBase for triangular and selfadjoint products and get rid of ProductBase
2014-02-23 22:51:13 +01:00
Gael Guennebaud
d67548f345
Get rid of GeneralProduct<> for GemvProduct
2014-02-21 17:13:28 +01:00
Gael Guennebaud
6c7ab50811
Get rid of GeneralProduct<> for GemmProduct
2014-02-21 16:43:03 +01:00
Gael Guennebaud
728c3d2cb9
Get rid of GeneralProduct for outer-products, and get rid of ScaledProduct
2014-02-21 16:27:24 +01:00
Gael Guennebaud
af31b6c37a
Generalize evaluator<Inverse<>> such that there is no need to specialize it
2014-02-21 15:22:08 +01:00
Gael Guennebaud
93125e372d
Port LU module to evaluators (except image() and kernel())
2014-02-20 15:26:15 +01:00
Gael Guennebaud
b2e1453e1e
Some bit flags and internal structures are deprecated
2014-02-20 15:25:06 +01:00
Gael Guennebaud
9621333545
Fix dimension of Solve expression
2014-02-20 15:24:21 +01:00
Gael Guennebaud
5f6ec95291
Propagate LvalueBit flag to TriangularView
2014-02-20 15:24:00 +01:00
Gael Guennebaud
ecd2c8f37b
Add general Inverse<> expression with evaluator
2014-02-20 14:18:24 +01:00
Gael Guennebaud
5960befc20
More int versus Index fixes
2014-02-19 21:42:29 +01:00
Gael Guennebaud
2eee6eaf3c
Fix mixing scalar types with evaluators
2014-02-19 16:30:17 +01:00
Gael Guennebaud
8af02d19b2
ExprType::Nested has a new meaning now...
2014-02-19 15:16:11 +01:00
Gael Guennebaud
95b0a6707b
evaluator<Replicate> must evaluate its argument to avoid redundant evaluations
2014-02-19 14:51:46 +01:00
Gael Guennebaud
b1ab6a8e0b
Add missing assertion in swap()
2014-02-19 14:06:35 +01:00
Gael Guennebaud
61cff28618
Disable Flagged and ForceAlignedAccess
2014-02-19 14:05:56 +01:00
Gael Guennebaud
68e8ddaf94
Fix vectorization logic wrt assignment functors
2014-02-19 13:26:07 +01:00
Gael Guennebaud
3a735a6cf1
Fix lazy evaluation in Ref
2014-02-19 13:17:41 +01:00
Gael Guennebaud
ccc41128fb
Add a Solve expression for uniform treatment of solve() methods.
2014-02-19 11:33:29 +01:00
Gael Guennebaud
b3a07eecc5
Fix CoeffReadCost of products to handle Dynamic costs
2014-02-19 11:32:04 +01:00
Gael Guennebaud
c16b80746a
isApprox must honors nested_eval
2014-02-19 11:30:58 +01:00
Benoit Steiner
cbd7e98174
Merged the latest version of the code from eigen/eigen
2014-02-18 18:51:24 -08:00
Benoit Steiner
7ed9441ea4
Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a boolean)
...
Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned
Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled.
Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
2014-02-18 18:06:44 -08:00
Gael Guennebaud
5b78780def
Add evaluator shortcut for triangular ?= product
2014-02-18 17:43:16 +01:00
Gael Guennebaud
8169c6ac59
Simplify implementation of coeff-based products to fully exploit our reduxion mechanisms.
...
If this results in performance regressions, then we should optimize reduxion rather than
somehow duplicate the code.
2014-02-18 16:57:25 +01:00
Gael Guennebaud
463554c254
Merge with default branch
2014-02-18 15:45:39 +01:00
Gael Guennebaud
82c066b3c4
Cleaning
2014-02-18 15:44:32 +01:00
Gael Guennebaud
0543cb51b5
Product::coeff method are also OK for lazy products (including diagonal products)
2014-02-18 14:51:41 +01:00
Gael Guennebaud
99e27916cf
Fix all()/any() for evaluators
2014-02-18 14:26:25 +01:00
Gael Guennebaud
37a1d736bf
_MatrixTypeNested must be public in sparse Block
2014-02-18 13:35:24 +01:00
Gael Guennebaud
06545058bb
Temporary workaround for permutations
2014-02-18 13:33:04 +01:00
Gael Guennebaud
7002aa858f
Support Product::coeff(0,0) even for dynamic matrices
2014-02-18 13:32:30 +01:00
Gael Guennebaud
8cfb138e73
Finally, the simplest remains to deffer resizing at the latest
2014-02-18 13:31:44 +01:00
Gael Guennebaud
1b5de5a37b
Add evaluator for Ref
2014-02-18 13:30:16 +01:00
Gael Guennebaud
a08cba6b5f
Move is_diagonal to XprHelper, forward declare Ref
2014-02-18 11:03:59 +01:00
Gael Guennebaud
573c587e3d
New design for handling automatic transposition
2014-02-18 10:53:14 +01:00
Gael Guennebaud
551bf5c66a
Get rid of DiagonalProduct
2014-02-18 10:52:26 +01:00
Gael Guennebaud
2d136d3d7f
Get rid of SeflCwiseBinaryOp
2014-02-18 10:52:00 +01:00
Gael Guennebaud
873401032b
Fix scalar * product optimization when 'product' includes a selfadjoint matrix
2014-02-17 19:00:45 +01:00
Gael Guennebaud
d595fd31f5
Deal with automatic transposition in call_assignment, fix a few shortcomings
2014-02-17 16:11:55 +01:00
Gael Guennebaud
bffa15142c
Add evaluator support for diagonal products
2014-02-17 16:10:55 +01:00
Christoph Hertzberg
b14a4628af
Relaxed umeyama test. Problem was ill-posed if linear part was scaled with very small number. This should fix bug #744 .
2014-02-17 13:48:00 +01:00
Gael Guennebaud
3573a10712
Fix support for row (resp. column) of a column-major (resp. row-major) sparse matrix
2014-02-17 13:46:17 +01:00
Gael Guennebaud
bd6eca059d
Fix compilation of SPlines module
2014-02-17 10:00:38 +01:00
Gael Guennebaud
ed461ba9bc
Fix sparse_product/sparse_extra unit tests
2014-02-17 09:57:47 +01:00
Gael Guennebaud
3bb57e21a8
Fix FFTW unit test with clang
2014-02-17 09:56:46 +01:00
Gael Guennebaud
4b6b3f310f
Fix a few Index to int buggy conversions
2014-02-15 09:35:23 +01:00
Gael Guennebaud
cd606bbc94
Fix infinite loop in sparselu
2014-02-14 23:10:16 +01:00
Gael Guennebaud
0508af4287
Merged in martinhofernandes/eigen (pull request PR-40)
...
Better fix for bug #503
2014-02-14 15:31:39 +01:00
Gael Guennebaud
3283d98d13
optimize sparse-sparse Kronecker product
2014-02-14 14:46:01 +01:00
Gael Guennebaud
0d3f496233
Upload the 3.2 testing result to its own CDash project
2014-02-14 10:18:14 +01:00
Gael Guennebaud
6df3bee687
reduce false negative in the qr unit test
2014-02-14 09:58:30 +01:00
Gael Guennebaud
97965dde9b
alloca is not necessarily alligned on windows
2014-02-14 00:04:38 +01:00
Gael Guennebaud
0b1430ae10
Fix propagation of index type
2014-02-13 23:58:28 +01:00
Gael Guennebaud
c0e08e9e4b
fix stable norm benchmark
2014-02-13 15:53:51 +01:00
Gael Guennebaud
0715d49908
Fix stable_norm unit test for complexes
2014-02-13 15:49:54 +01:00
Gael Guennebaud
3291580630
Fix bug #740 : overflow issue in stableNorm
2014-02-13 15:44:01 +01:00
Gael Guennebaud
14422decc2
Fix Fortran compiler detection
2014-02-13 09:21:13 +01:00
Jitse Niesen
7ea6ef8969
Fix documentation of MatrixBase::applyOnTheLeft (bug #739 )
...
Add examples; move methods from EigenBase.h to MatrixBase.h
2014-02-12 14:03:39 +00:00
Gael Guennebaud
31c63ef0b4
fix compilation of Transform * UniformScaling
2014-02-12 13:37:23 +01:00
Christoph Hertzberg
e170e7070b
Added examples for casting, made better examples for Maps
2014-02-11 17:27:14 +01:00
Jitse Niesen
c1921ad3e2
Remove unused typedef in polynomialsolver test.
2014-02-08 20:31:35 +00:00
Jitse Niesen
c4f08cfc05
Merged in maksqwe/eigen/maksqwe/fix-typo-in-evalSolverSugarFunction (pull request PR-44)
...
fix typo in evalSolverSugarFunction()
2014-02-08 20:27:13 +00:00
Naumov Maks
9e71ecbeec
fix typo in evalSolverSugarFunction()
2014-02-08 10:40:51 +00:00
Jitse Niesen
ff8d81762d
Fix bug #736 : LDLT isPositive returns false for a positive semidefinite matrix
...
Add unit test covering this case.
2014-02-06 11:06:06 +00:00
Hauke Heibel
6c527bd811
Fixed assignment from QMatrix to Transform for compact storage.
2014-02-04 07:02:34 +01:00
Hauke Heibel
e722f36ffa
Fixed issue #734 (thanks to Philipp Büttgenbach for reporting the issue and proposing a fix).
...
Kept ColMajor layout if possible in order to keep derivatives of the same order adjacent in memory.
2014-02-01 20:49:48 +01:00
Christoph Hertzberg
febfc7b9b4
Fix bug #730 : Path of OpenGL headers is different on MacOS
2014-01-29 22:05:39 +01:00
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08:00
Gael Guennebaud
94acccc126
Fix Random().normalized() by introducing a nested_eval helper (recall that the old nested<> class is deprecated)
2014-01-26 15:35:44 +01:00
Gael Guennebaud
34694d8828
Fix evaluator<Replicate> for fixed size objects
2014-01-26 15:34:26 +01:00
Gael Guennebaud
ee1c55f923
Add missing template keyword
2014-01-26 14:55:25 +01:00
Gael Guennebaud
f54e62e4a9
Port evaluation from selfadjoint to full to evaluators
2014-01-26 12:18:36 +01:00
Gael Guennebaud
5fa7262e4c
Refactor triangular assignment
2014-01-25 23:02:14 +01:00
Gael Guennebaud
fef534f52e
fix scalar * prod in evaluators unit test
2014-01-25 19:06:07 +01:00
Gael Guennebaud
a7621809fe
Remove useless register keyword, and optimize predux_min/max for SSE4
2014-01-25 16:54:13 +01:00
Gael Guennebaud
6cf938df53
Add a minimalistic page on CUDA with Eigen.
2014-01-24 13:24:30 +01:00
Gael Guennebaud
afcfb560a2
NVCC: add more debug info
2014-01-24 12:51:33 +01:00
Gael Guennebaud
40c42d9788
NVCC: no need to enforce host compiler
2014-01-24 12:51:05 +01:00
Gael Guennebaud
deab937d45
NVCC: fix closed-form eigenvalue decomposition, workaround gcc4.7/nvcc5.5 issue
2014-01-24 12:50:29 +01:00
Christoph Hertzberg
66f1c56aab
sparse_solve_retval_base::defaultEvalTo created extremely oversized temporary matrices in some cases
2014-01-19 03:04:51 +01:00
Jitse Niesen
aa0db35185
Add doc page on computing Least Squares.
2014-01-18 01:16:17 +00:00
Martinho Fernandes
4c08385b74
Merged eigen/eigen into default
2014-01-10 11:22:24 +01:00
Martinho Fernandes
4ccff2d028
Placement new must use void* to avoid user-specific overloads.
2014-01-10 11:20:40 +01:00
Martinho Fernandes
3a4616d6e3
Add C++11 allocator overloads to avoid implicit conversions.
2014-01-10 11:02:11 +01:00
Gael Guennebaud
92190a1caf
Add an example showing how to use C++11 random distributions
2014-01-07 20:23:35 +01:00
Gael Guennebaud
ac409f51f1
Document the fact that Random and setRandom are not reentrant (so not thread-safe)
2014-01-07 20:17:59 +01:00
Gael Guennebaud
a6a57748dd
Fix typo
2014-01-05 14:24:41 +01:00
Benoit Steiner
c8c81c1e74
Improved the efficiency if the block-panel matrix multiplication code: the change reduces the pressure on the L1 cache by removing the calls to gebp_traits::unpackRhs(). Instead the packetization of the rhs blocks is done on the fly in gebp_traits::loadRhs(). This adds numerous calls to pset1<ResPacket> (since we're packetizing on the fly in the inner loop) but this is more than compensated by the fact that we're decreasing the memory transfers by a factor RhsPacketSize.
2014-01-02 16:18:32 -08:00
Christoph Hertzberg
60cd361ebe
Fix bug #222 . Make temporary matrix column-major independently of EIGEN_DEFAULT_TO_ROW_MAJOR
2014-03-26 17:48:30 +01:00
Gael Guennebaud
c8bfbf4a7e
Merged in prclibo/eigen (pull request PR-49)
...
fixed a template type conversion bug in AngleAxis found by Pei Luo
2014-03-25 10:54:40 +01:00
Gael Guennebaud
01fd880424
Revert previous change and introduce a new workaround regarding gcc generating a shufps instruction instead of the more efficient pshufd instruction.
...
The trick consists in introducing a new pload1 function to be used in low level product kernels for which bug #203 does not apply.
Indeed, it turned out that using inline assembly prevents gcc of doing a good job at instructtion reordering.
2014-03-20 16:03:46 +01:00
Bo Li
e3fb190edf
merged incoming udpates
2014-03-20 22:11:13 +08:00
Bo Li
cfd3d6ce9c
fixed a template type conversion bug in AngleAxis found by Pei Luo
2014-03-20 22:05:40 +08:00
Gael Guennebaud
c39a3fa7a1
Makes gcc to generate a pshufd instruction for pset1
2014-03-20 10:14:26 +01:00
Gael Guennebaud
2a564695f0
Simpler and hopefully more future-proof fix for bug #503 (aligned_allocator with c++11)
2014-03-19 13:28:50 +01:00
Jitse Niesen
a58325ac2f
Minor corrections in QR docs.
2013-12-31 18:06:28 +00:00
Anton Gladky
4cd4be97a7
Port unsupported constrained CG to Eigen3
2014-01-15 17:49:52 +01:00
Gael Guennebaud
548216b7ca
QuaternionBase::slerp was documented twice and one explanation was ambiguous.
2014-01-12 11:09:06 +01:00
Gael Guennebaud
e15cb9f4f8
Make geo_hyperplane unit test more stable (bug #539 )
2014-01-11 20:04:36 +01:00
Christoph Hertzberg
bbf373bbe9
Applied patch from Richard JW Roberts, resolving bug #704
2013-12-21 22:14:03 +01:00
Christoph Hertzberg
1200bd2ef0
Grafted from 5725:cdedc9e90d21099e8b3191f95425680ebe710d6f
...
and resolved conflicts
2013-12-21 21:46:27 +01:00
Christoph Hertzberg
8a49dd5626
Fixed typos in comments
2013-12-19 11:55:17 +01:00
Benoit Steiner
ce99b502ce
Use vectorization when packing row-major rhs matrices. (bug #717 )
2013-12-17 10:49:43 -08:00
Henry de Valence
033ee7f6d9
Fix typo: 'explicitely' -> 'explicitly'
2014-03-08 00:44:56 -05:00
Gael Guennebaud
ba2f79e680
Fix selfadjoint_matrix_vector_product for complex with packet size > 2 (e.g., AVX)
2014-03-07 23:18:20 +01:00
Gael Guennebaud
72461be962
Fix typo and formating
2014-03-07 23:13:14 +01:00
Gael Guennebaud
33ca9b4ee6
Add support for OSX in BTL and fix a few warnings
2014-03-07 23:11:38 +01:00
Gael Guennebaud
ce41b72eb8
Extend sizeof unit test
2014-03-07 23:09:39 +01:00
Christoph Hertzberg
d5cc083782
Fixed bug #754 . Only inserted (!defined(_WIN32_WCE)) analog to alloc and free implementation (not tested, but should be correct).
2014-03-05 14:50:00 +01:00
Gael Guennebaud
7313f32efa
Help MSVC to inline some trivial functions
2014-03-04 17:24:00 +01:00
Christoph Hertzberg
04e1e38eed
bug #289 : Removed useless static keywords
2014-03-04 15:10:29 +01:00
Olivier Saut
47679c50ae
Typo in the example for Eigen::SelfAdjointEigenSolver::eigenvectors, the first eigenvector should be col(0) not col(1)
2014-03-03 14:44:39 +01:00
Gael Guennebaud
76d2ca27e5
Fix PaStiX support for Pastix 5.2
2014-02-28 13:11:39 +01:00
Christoph Hertzberg
41e89c73c7
Regression test for bug #752
2014-02-27 12:57:24 +01:00
Gael Guennebaud
ac69d8769f
Remove early termination in LDLT: the zero on the diagonal of the input matrix does not mean the matrix is not full rank. Typical examples are matrices coming from LS with linear equality constraints.
2014-02-26 10:12:27 +01:00
Christoph Hertzberg
6b6071866b
Make pivoting HouseholderQR compatible with custom scalar types
2014-02-25 18:55:16 +01:00
Gael Guennebaud
d357bbd9c0
Fix a few regression regarding temporaries and products
2013-12-14 22:53:47 +01:00
Gael Guennebaud
27c068e9d6
Make selfqdjoint products use evaluators
2013-12-13 18:09:07 +01:00
Gael Guennebaud
e94fe4cc3e
fix resizing in noalias for blocks, and make -=/+= use evaluators
2013-12-13 18:06:58 +01:00
Gael Guennebaud
2ca0ccd2f2
Add support for triangular products with evaluators
2013-12-07 17:17:47 +01:00
Gael Guennebaud
8d8acc3ab4
Move inner product special functions to a base class to avoid ambiguous calls
2013-12-04 22:58:19 +01:00
Gael Guennebaud
6c5e915e9a
Enable use of evaluators for noalias and lazyProduct, add conversion to scalar for inner products
2013-12-03 17:17:53 +01:00
Gael Guennebaud
f0b82c3ab9
Make reductions compatible with evaluators
2013-12-02 17:54:38 +01:00
Gael Guennebaud
6f1a0479b3
fix a typo triangular assignment
2013-12-02 17:54:15 +01:00
Gael Guennebaud
b5fd774775
Fix flags of Product<>
2013-12-02 17:53:26 +01:00
Gael Guennebaud
34ca81b1bf
Add direct assignment of products
2013-12-02 16:37:58 +01:00
Gael Guennebaud
7f917807c6
Fix product evaluator when TEST_EVALUATOR in not ON
2013-12-02 16:19:14 +01:00
Gael Guennebaud
8af1ba5346
Make swap unit test work with evaluators
2013-12-02 15:07:45 +01:00
Gael Guennebaud
c6f7337032
Get rid of call_dense_swap_loop
2013-12-02 14:44:13 +01:00
Gael Guennebaud
626821b0e3
Add evaluator/assignment to TriangularView expressions
2013-12-02 14:06:17 +01:00
Gael Guennebaud
27ca9437a1
Fix usage of Dense versus DenseShape
2013-12-02 14:05:34 +01:00
Gael Guennebaud
d0261bd26c
Fix swap in DenseBase
2013-11-30 10:42:23 +01:00
Christoph Hertzberg
276801b25a
Fixed and simplified Matlab code and added further block-related examples
2013-11-29 19:54:01 +01:00
Christoph Hertzberg
d61345f366
Fix bug #609 : Euler angles are in Range [0:pi]x[-pi:pi]x[-pi:pi].
...
Now the unit test verifies this (also that it is bijective in this range).
2013-11-29 19:42:11 +01:00
Gael Guennebaud
c15c65990f
First step toward the generalization of evaluators to triangular, sparse and other fancyness.
...
Remove product_tag template parameter to Product.
2013-11-29 17:50:59 +01:00
Gael Guennebaud
fb6e32a62f
Get rid of evalautor_impl
2013-11-29 16:45:47 +01:00
Gael Guennebaud
d331def6cc
add definition of product_tag
2013-11-29 16:18:22 +01:00
Gael Guennebaud
5584275325
Remove HasEvalTo and all at once eval mode
2013-11-29 13:38:59 +01:00
Gael Guennebaud
cc6dd878ee
Refactor dense product evaluators
2013-11-27 17:32:57 +01:00
Gael Guennebaud
fc6ecebc69
Simplify evaluator of EvalToTemp
2013-11-27 11:32:07 +01:00
Gael Guennebaud
49034d1570
Fix bug #708 : add placement new/delete for array
2013-11-27 09:46:59 +01:00
Gael Guennebaud
230f5c3aa9
Evaluator: introduce the main Assignment class, add call_assignment to bypass NoAlias and AssumeAliasing, and some bits of cleaning
2013-11-25 15:20:31 +01:00
Gael Guennebaud
c550a0e634
extend Map unit test to check buffers allocated on the stack
2013-11-21 10:39:47 +01:00
Gael Guennebaud
28b2abdbea
Fix FullPivHouseholderQR ctors for non squared fixed size matrix types
2013-11-19 12:53:46 +01:00
Gael Guennebaud
654eab3bd6
Add scaling in JacobiSVD to avoid overflows
2013-11-19 11:53:48 +01:00
Gael Guennebaud
5d1291a4de
Document how to reproduce matlab's rot90
2013-11-19 11:51:16 +01:00
Gael Guennebaud
8b4dd78d57
Merged in chris-se/eigen/tensor-for-merge (pull request PR-39)
...
Tensor support for Eigen
2013-11-16 11:12:05 +01:00
Christian Seiler
f6bac196d5
C++11/Tensor: Fix copyright headers
2013-11-16 00:03:23 +01:00
Gael Guennebaud
46dd1bb1be
Workaround fixing aliasing issue in x = SparseLU::solve(x)
2013-11-15 11:19:19 +01:00
Gael Guennebaud
6b471f205e
fix overflow and ambiguity in SparseLU memory allocation
2013-11-15 10:59:19 +01:00
Christian Seiler
03a956925a
CXX11/TensorSymmetry: add symmetry support for Tensor class
...
Add a symCoeff() method to the Tensor class template that allows the
user of the class to set multiple elements of a tensor at once if they
are connected by a symmetry operation with respect to the tensor's
indices (symmetry/antisymmetry/hermiticity/antihermiticity under
echange of two indices and combination thereof for different pairs of
indices).
A compile-time resolution of the required symmetry groups via meta
templates is also implemented. For small enough groups this is used to
unroll the loop that goes through all the elements of the Tensor that
are connected by this group. For larger groups or groups where the
symmetries are defined at run time, a standard run-time implementation
of the same algorithm is provided.
For example, the following code completely initializes all elements of
the totally antisymmetric tensor in three dimensions ('epsilon
tensor'):
SGroup<3, AntiSymmetry<0,1>, AntiSymmetry<1,2>> sym;
Eigen::Tensor<double, 3> epsilon(3,3,3);
epsilon.setZero();
epsilon.symCoeff(sym, 0, 1, 2) = 1;
2013-11-14 23:35:11 +01:00
Christian Seiler
f97b3cd024
CXX11/Tensor: add simple initial tensor implementation
...
This commit adds an initial implementation of a class template Tensor
that allows for the storage of objects with more than two indices.
Currently, only storing data and setting the object to zero for POD
data types are implemented.
2013-11-14 22:52:37 +01:00
Christian Seiler
5e28c41549
C++11: add template metaprogramming helpers
...
Create a new directory CXX11 under unsupported/Eigen that contains code
that requires C++11. In that directory, add a few generic templates
useful for any module relying on C++11. These templates may be included
with #include <[unsupported/]Eigen/CXX11/Core>. At the moment, this
will only provide templates in the Eigen::internal namespace.
2013-11-14 22:27:06 +01:00
Christoph Hertzberg
e59b38abef
Implement boolean reductions for zero-sized objects
2013-11-13 16:47:02 +01:00
Gael Guennebaud
8f2d068e84
Use the specialization of Block<SparseMatrix> for const matrices too
2013-11-10 16:16:50 +01:00
Gael Guennebaud
5c2d1b4710
Add missing nonZeros() overload in Block<SparseMatrixBase<>>
2013-11-10 15:26:07 +01:00
Leszek Swirski
b93520b1a5
Install functor folder with cmake
2013-11-08 14:07:11 +00:00
Gael Guennebaud
cb8da751a0
fix broken commit
2013-11-07 22:44:37 +01:00
Gael Guennebaud
fe0b44e876
Fix stupid mistake in CMakeLists.txt
2013-11-07 18:48:17 +01:00
Christoph Hertzberg
ae83f5ede9
Fixed bug #702 and added unit test.
...
Thanks to Alexander Werner for the report.
2013-11-07 18:32:24 +01:00
Gael Guennebaud
76c230a84d
Add an option to test evaluators globally
2013-11-07 16:38:14 +01:00
Gael Guennebaud
57327cc2d5
Drop evaluators for SwapWrapper and SelfCwiseBinaryOp
2013-11-07 14:07:27 +01:00
Gael Guennebaud
5887e82729
Clean evaluator_impl_base. It will probably be removed in the future
2013-11-07 14:02:47 +01:00
Gael Guennebaud
af9851d1d7
bug #99 : move the creation of the evaluator to a central place, and make generic_dense_assignment_kernel hold the destination and source evaluators
2013-11-07 12:03:12 +01:00
Gael Guennebaud
8fe609311d
Move internal::swap to numext to fix ambiguous call with std::swap
2013-11-07 09:01:26 +01:00
Gael Guennebaud
8edc964734
bug #99 : refactor assignment and compound assignment mechanism through "assignment functors" and "assignement kernels".
...
The former is very low level and generic. The later abstarct the former for dense expressions. This refactoring permits
to get rid of the very ugly SwapWrapper and SelfCwiseBinaryOp classes.
In the future, this will also permit to simplify all these evaluation loops and perhaps to reuse them for reduxions.
That will also permit to specialize for operations like expr1 += expr2 outside Eigen, and so for any kind
of expressions (dense, sparse, tensor, etc.)
2013-11-06 18:17:59 +01:00
Gael Guennebaud
a37bdfc955
Fix static/inline order
2013-11-06 11:13:31 +01:00
Gael Guennebaud
03de5c2410
Split the huge Functors.h file
2013-11-06 10:36:10 +01:00
Gael Guennebaud
4f572e4c14
Add minimalistic unit tests for NVCC support
2013-11-05 15:41:45 +01:00
Gael Guennebaud
87aee5fda1
Allow calling attributes of dynamic size objects from device
2013-11-05 15:40:58 +01:00
Gael Guennebaud
1bb1a57ef7
merge with default branch
2013-11-05 10:31:59 +01:00
Gael Guennebaud
7c9cdd6030
SparseLU: fix estimated non-zeros in U
2013-11-05 00:12:14 +01:00
Gael Guennebaud
a236e15048
JacobiSVD: fix a 0/0 issue for complexes
2013-11-04 23:58:18 +01:00
Gael Guennebaud
ad1dc50b57
Check for minimal norm solutions
2013-11-03 13:19:55 +01:00
Gael Guennebaud
0c4fc69d62
JacobiSVD: move from Lapack to Matlab strategy for the default threshold
...
(grafted from 019dcfc21d
)
2013-11-03 13:18:56 +01:00
Gael Guennebaud
019dcfc21d
JacobiSVD: move from Lapack to Matlab strategy for the default threshold
2013-11-03 13:18:56 +01:00
Gael Guennebaud
19521c83b8
bug #677 : fix usage of pld instrinsics for ccomplexes
2013-11-02 12:10:48 +01:00
Gael Guennebaud
e16e52d493
Add a rank method with threshold control to JacobiSVD, and make solve uses it to return the minimal norm solution for rank-deficient problems
...
(grafted from bbd49d194a
)
2013-11-01 18:21:46 +01:00
Gael Guennebaud
c49421a82b
The BLAS interface is complete.
...
(grafted from abc1ca0af1
)
2014-06-06 11:21:19 +02:00
Gael Guennebaud
ccd7beba90
Fix bug #738 : use the "current" version of cmake project directories to ease the inclusion of Eigen within other projects.
2014-06-06 11:06:44 +02:00
Gael Guennebaud
84a99f3a93
Enable LinearAccessBit in Block expression for inner-panels
2014-06-06 11:02:20 +02:00
Gael Guennebaud
bbd49d194a
Add a rank method with threshold control to JacobiSVD, and make solve uses it to return the minimal norm solution for rank-deficient problems
2013-11-01 18:21:46 +01:00
Gael Guennebaud
8f496cd3a3
Fix changeset 2702788da7
...
for fixed size matrices
2013-11-01 18:17:55 +01:00
Gael Guennebaud
6dc0e59b1e
Fix bug #677 : compilation issue on arm64 which does not have the PLD instruction
2013-10-31 13:52:43 +01:00
Gael Guennebaud
2702788da7
Fix bug #678 : vectors of row and columns transpositions were not properly resized in FullPivQR
2013-10-29 18:02:18 +01:00
Gael Guennebaud
58c0a6f0fd
Fix unused variable warnings
2013-10-29 17:51:19 +01:00
Gael Guennebaud
5974685866
Fix parenthesis min/max issue in mpreal
2013-10-29 17:43:21 +01:00
Christoph Hertzberg
7fae9b358d
Use aligned loads in Matrix-Vector product where possible. Fixes bug #689
2013-10-29 12:42:46 +01:00
Gael Guennebaud
e14f529dac
Merged in martinhofernandes/eigen (pull request PR-33)
...
Fix for bug #503
2013-10-29 11:39:20 +01:00
Gael Guennebaud
fe2f437642
Merged in xantares/eigen (pull request PR-36)
...
Add cmake config files
2013-10-29 11:31:28 +01:00
Gael Guennebaud
90b5d303db
Fix bug #672 : use exceptions in SuperLU if they are enabled only
2013-10-29 11:26:52 +01:00
Gael Guennebaud
9b863c1830
Merged in vanhoucke/eigen_vanhoucke_unused_variable (pull request PR-34)
...
Silence unused variable warning.
2013-10-29 11:04:47 +01:00
Gael Guennebaud
11fbbc51fa
Fix bug #359 : fix AlignedBit flag of CoeffBasedProduct thus enabling the vectorization of more matrix products
2013-10-28 17:48:32 +01:00
Gael Guennebaud
d3e84b747a
Clarify the meaning of AlignedBit (bug #359 )
2013-10-28 17:44:07 +01:00
Gael Guennebaud
2e606394b1
Fix bug #685 : document the range of Random and setRandom
2013-10-28 17:16:03 +01:00
Gael Guennebaud
285112fc55
Fix bug #688 : make it clearer that CG is for both dense and sparse matrices.
2013-10-28 15:56:30 +01:00
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
Thomas Capricelli
a6bff116f9
simplify/uniformize eigen_gen_docs
2013-10-18 12:56:15 +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
Gael Guennebaud
2c0303c89e
bug #679 : add respective unit test
2013-10-15 23:51:01 +02:00
Christoph Hertzberg
0bce534c8f
Fix bug #679
2013-10-15 19:09:09 +02:00
Thomas Capricelli
6bef527f9d
uniformize piwik code among branches
2013-10-11 20:46:18 +02:00
xantares
2d186da58a
Add cmake config files
2013-10-09 10:25:50 +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
Gael Guennebaud
446320b226
Fix dot*w to return 0 for empty vectors (BLAS interface)
2013-10-01 22:37:10 +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
Jitse Niesen
16cbd3d72d
BDCSVD: Use rational interpolation to solve secular equation.
...
Algorithm is rather ad-hoc and falls back on bisection if required.
2013-08-27 15:30:11 +01:00
Hauke Heibel
86daf2f75c
Added missing inline statements in order to prevent linker errors.
2013-08-27 15:41:18 +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
d2c4f4ab21
Updated mpfr::mpreal. Move semantic support, RVO, other new features
2013-08-26 00:22:18 +09: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
Jitse Niesen
d1c48f1606
BDCSVD: Use HouseholderSeq directly.
2013-08-21 14:34:48 +01: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
43c2747e92
Allows EIGEN_STACK_ALLOCATION_LIMIT to be 0 for no limit
...
(transplanted from d9381598bc
)
2013-08-21 14:29:00 +02:00
Gael Guennebaud
d9381598bc
Allows EIGEN_STACK_ALLOCATION_LIMIT to be 0 for no limit
2013-08-21 14:29:00 +02:00
Jitse Niesen
403be74861
BDCSVD: Compute SVD of combined problem directly.
...
First step at implementing final stage in BDCSVD algorithm.
Uses bisection method to solve nonlinear equation.
Still lots of room for optimization.
2013-08-20 14:10:55 +01: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
3c5e82ee0b
Make the static assertions on maximal fixed size object use EIGEN_STACK_ALLOCATION_LIMIT, and raise its default value to 128KB
...
(transplanted from 7bca2910c7
)
2013-08-20 13:59:33 +02:00
Gael Guennebaud
d132159ba3
Fic bug #819 : include path of details.h
...
(grafted from 0f1e321dd4
)
2014-06-04 11:58:01 +02:00
Jitse Niesen
075b1168b4
Fix doc'n of FullPivLU re permutation matrices (bug #815 ).
...
(transplanted from 64be8659f606970211ef83f12ebd401648c9685c)
2014-05-31 23:05:18 +01:00
Pavel Holoborodko
be027bede8
Fixed bug #647 by using smart_copy instead of bitwise memcpy.
...
(transplanted from 1472f4bc61
)
2013-08-25 18:02:07 +09:00
Mark Borgerding
f1ed1b7d11
added conjugate
2014-05-26 08:08:28 -04:00
Gael Guennebaud
20b0747bdb
Document how to reproduce matlab's rot90
...
(transplanted from 5d1291a4de
)
2013-11-19 11:51:16 +01:00
Mark Borgerding
11462c1a29
AsciiQuickReference: added .real(), .imag()
2014-05-16 13:45:35 -04:00
Mark Borgerding
e667819055
fixed AsciiQuickReference typo: LinSpace -> LinSpaced
2014-05-08 15:14:12 -04:00
Christoph Hertzberg
35c9f8779d
Fix bug #807 : Missing scalar type cast in umeyama()
...
(transplanted from b4beba72a2
)
2014-05-05 14:23:52 +02:00
Christoph Hertzberg
da81e863e2
Fixed bug #806 : Missing scalar type cast in Quaternion::setFromTwoVectors()
...
(transplanted from b5e3d76aa5
)
2014-05-05 14:22:27 +02:00
Gael Guennebaud
c5c4269961
Fix bug #803 : avoid char* to int* conversion
...
(grafted from 07986189b7
)
2014-05-01 23:03:54 +02:00
Mark Borgerding
b734863536
Check IMKL version for compatibility with Eigen (applying changeset e0dbb68c2f
...
to 3.2 branch)
2014-04-25 12:44:47 -04:00
Jitse Niesen
1046ea7a89
doc: Note that dm2 = sm1 + dm1 is not possible (see bug #632 ).
2014-04-07 13:49:51 +01:00
Christoph Hertzberg
8b10081dea
Make some actual verifications inside the autodiff unit test
...
(transplanted from 1cb8de1250
)
2014-04-01 17:44:48 +02:00
Mark Borgerding
042bd9cbe2
immintrin.h did not come until intel version 11
2014-03-26 22:23:08 -04:00
Christoph Hertzberg
93e867b63c
Fix bug #222 . Make temporary matrix column-major independently of EIGEN_DEFAULT_TO_ROW_MAJOR
...
(transplanted from 60cd361ebe
)
2014-03-26 17:48:30 +01:00
Mark Borgerding
e702934dfa
fixed ColPivHouseholderQR<>::rank (part of bbd49d194a
...
)
2014-03-20 14:25:50 -04:00
Gael Guennebaud
eef44fb2a5
Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as a degenerate MatrixXf(1,N)
...
(grafted from bb4b67cf39
)
2014-03-13 18:04:19 +01:00
Christoph Hertzberg
eb9c8cffd6
bug #755 : CommaInitializer produced wrong assertions in absence of ReturnValueOptimization.
2014-03-12 14:00:18 +01:00
Christoph Hertzberg
240e2f4162
bug #759 : Removed hard-coded double-math from Quaternion::angularDistance.
...
Some documentation improvements
(transplanted from 88aa18df64
)
2014-03-12 13:43:19 +01:00
Christoph Hertzberg
b0702dca05
Fixed bug #754 . Only inserted (!defined(_WIN32_WCE)) analog to alloc and free implementation (not tested, but should be correct).
...
(transplanted from d5cc083782
)
2014-03-05 14:50:00 +01:00
Gael Guennebaud
7191f31961
swap 3.2 <-> default CTestConfig.cmake file
2014-03-05 10:07:54 +01:00
Christoph Hertzberg
6d7bd066e0
Regression test for bug #752
...
(transplanted from 41e89c73c7
)
2014-02-27 12:57:24 +01:00
Jitse Niesen
66078fbd58
Added tag 3.2.1 for changeset 4e80704c53
2014-02-26 15:35:39 +00:00
Jitse Niesen
4e80704c53
Bump version number to 3.2.1
2014-02-26 15:35:18 +00:00
Christoph Hertzberg
043ece9730
Make pivoting HouseholderQR compatible with custom scalar types
...
(transplanted from 6b6071866b
)
2014-02-25 18:55:16 +01:00
Gael Guennebaud
48db2b8799
Implement bug #317 : use a template function call to suppress unused variable warnings.
2014-02-24 18:18:52 +01:00
Jitse Niesen
593a82202f
Fix bug #748 - array_5 test fails for seed 1392781168.
...
(grafted from 6fecb6f1b6
)
2014-02-24 14:10:17 +00:00
Christoph Hertzberg
f24ba33c2d
Specify what non-resizeable objects are in transposeInPlace and adjointInPlace (cf bug #749 )
...
(transplanted from 3e439889e0
)
2014-02-24 13:12:10 +01:00
Gael Guennebaud
ef807ea020
Mark Eigen2 support deprecated
2014-02-20 09:35:50 +01:00
Gael Guennebaud
da19c48d61
Fix typo
2014-02-20 09:06:06 +01:00
Gael Guennebaud
cef49d21f0
More int versus Index fixes
...
(grafted from 5960befc20
)
2014-02-19 21:42:29 +01:00
Christoph Hertzberg
53726663c7
Relaxed umeyama test. Problem was ill-posed if linear part was scaled with very small number. This should fix bug #744 .
...
(transplanted from b14a4628af
)
2014-02-17 13:48:00 +01:00
Gael Guennebaud
2ad3dac422
Fix sparse_product/sparse_extra unit tests
...
(grafted from ed461ba9bc
)
2014-02-17 09:57:47 +01:00
Gael Guennebaud
e3d34064bf
Fix FFTW unit test with clang
...
(grafted from 3bb57e21a8
)
2014-02-17 09:56:46 +01:00
Gael Guennebaud
3f5591981f
Fix a few Index to int buggy conversions
...
(grafted from 4b6b3f310f
)
2014-02-15 09:35:23 +01:00
Gael Guennebaud
6def9fd52b
Fix propagation of index type
...
(grafted from 0b1430ae10
)
2014-02-13 23:58:28 +01:00
Gael Guennebaud
76ee39485f
Fix infinite loop in sparselu
...
(grafted from cd606bbc94
)
2014-02-14 23:10:16 +01:00
Gael Guennebaud
0c6b931cbc
Fix enumeral mismatch warning
2014-02-14 22:10:39 +01:00
Gael Guennebaud
fd96ff166d
alloca is not necessarily alligned on windows
...
(grafted from 97965dde9b
)
2014-02-14 00:04:38 +01:00
Gael Guennebaud
9a09b75df3
Fix stable_norm unit test for complexes
...
(grafted from 0715d49908
)
2014-02-13 15:49:54 +01:00
Gael Guennebaud
52dc1d7ffd
Fix bug #740 : overflow issue in stableNorm
...
(grafted from 3291580630
)
2014-02-13 15:44:01 +01:00
Gael Guennebaud
24e33a0d86
Fix Fortran compiler detection
...
(grafted from 14422decc2
)
2014-02-13 09:21:13 +01:00
Jitse Niesen
b5333b6760
Fix documentation of MatrixBase::applyOnTheLeft (bug #739 )
...
Add examples; move methods from EigenBase.h to MatrixBase.h
(grafted from 7ea6ef8969
)
2014-02-12 14:03:39 +00:00
Gael Guennebaud
6a4489c523
fix compilation of Transform * UniformScaling
...
(grafted from 31c63ef0b4
)
2014-02-12 13:37:23 +01:00
Christoph Hertzberg
7958d92c23
Added examples for casting, made better examples for Maps
...
(transplanted from e170e7070b
)
2014-02-11 17:27:14 +01:00
Jitse Niesen
044f27546f
Fix bug #736 : LDLT isPositive returns false for a positive semidefinite matrix
...
Add unit test covering this case.
(grafted from ff8d81762d
)
2014-02-06 11:06:06 +00:00
Christoph Hertzberg
cd4ea5151f
Fix bug #730 : Path of OpenGL headers is different on MacOS
...
(transplanted from febfc7b9b4
)
2014-01-29 22:05:39 +01:00
Gael Guennebaud
f9276f9f90
Remove useless register keyword
2014-01-25 16:57:49 +01:00
Anton Gladky
88ec3fdef4
Port unsupported constrained CG to Eigen3
...
(grafted from 4cd4be97a7
)
2014-01-15 17:49:52 +01:00
Gael Guennebaud
5b93c59198
QuaternionBase::slerp was documented twice and one explanation was ambiguous.
...
(grafted from 548216b7ca
)
2014-01-12 11:09:06 +01:00
Christoph Hertzberg
fd5be2f9cc
Merge with 598776b088
2013-12-21 21:27:10 +01:00
Christoph Hertzberg
598776b088
Fixed typos in comments
...
(transplanted from 8a49dd5626
)
2013-12-19 11:55:17 +01:00
Márton Danóczy
cdedc9e90d
Added optional run-time size parameters to fixed-size block methods
2013-12-17 01:05:05 +01:00
Christoph Hertzberg
7c1fc0ee7c
Fixed and simplified Matlab code and added further block-related examples
...
(transplanted from 276801b25a
)
2013-11-29 19:54:01 +01:00
Christoph Hertzberg
baf2b13589
Fix bug #609 : Euler angles are in Range [0:pi]x[-pi:pi]x[-pi:pi].
...
Now the unit test verifies this (also that it is bijective in this range).
2013-11-29 19:42:11 +01:00
Gael Guennebaud
12504a79d1
Fix bug #708 : add placement new/delete for array
...
(transplanted from 49034d1570
)
2013-11-27 09:46:59 +01:00
Gael Guennebaud
ae360a9ec0
Fix FullPivHouseholderQR ctors for non squared fixed size matrix types
...
(grafted from 28b2abdbea
)
2013-11-19 12:53:46 +01:00
Gael Guennebaud
516304cd90
Workaround fixing aliasing issue in x = SparseLU::solve(x)
...
(transplanted from 46dd1bb1be
)
2013-11-15 11:19:19 +01:00
Gael Guennebaud
4c5da3b03a
fix overflow and ambiguity in SparseLU memory allocation
...
(transplanted from 6b471f205e
)
2013-11-15 10:59:19 +01:00
Christoph Hertzberg
b8020d11de
Implement boolean reductions for zero-sized objects
...
(grafted from e59b38abef
)
2013-11-13 16:47:02 +01:00
Gael Guennebaud
6b931b3e47
JacobiSVD: fix a 0/0 issue for complexes
...
(transplanted from a236e15048
)
2013-11-04 23:58:18 +01:00
Gael Guennebaud
d21708172a
SparseLU: fix estimated non-zeros in U
...
(transplanted from 7c9cdd6030
)
2013-11-05 00:12:14 +01:00
Gael Guennebaud
8946e0cb80
Fix changeset 2702788da7
...
for fixed size matrices
(transplanted from 8f496cd3a3
)
2013-11-01 18:17:55 +01:00
Gael Guennebaud
bf9747b9ff
Fix bug #678 : vectors of row and columns transpositions were not properly resized in FullPivQR
...
(grafted from 2702788da7
)
2013-10-29 18:02:18 +01:00
Christoph Hertzberg
a5522a1381
Use aligned loads in Matrix-Vector product where possible. Fixes bug #689
2013-10-29 12:42:46 +01:00
Martinho Fernandes
d646cc95ad
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.
(grafted from a1f056cf2a
)
2013-09-10 17:08:04 +02:00
Gael Guennebaud
8ea9e762d6
Fix bug #672 : use exceptions in SuperLU if they are enabled only
...
(grafted from 90b5d303db
)
2013-10-29 11:26:52 +01:00
vanhoucke
0a44b5249c
Silence unused variable warning.
...
(grafted from 3736e00ae7
)
2013-10-04 00:21:03 +00:00
Thomas Capricelli
fbc5beadc8
simplify/uniformize eigen_gen_docs
2013-10-18 12:56:44 +02:00
Christoph Hertzberg
b2368b3408
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
965ee4e853
consider all columns for aligned output (fixes bug #616 )
2013-10-17 14:14:06 +02:00
Christoph Hertzberg
d51c9f1e93
Fixes bug #681
...
Also fixed some spelling issues in the documentation
2013-10-17 00:03:00 +02:00
Christoph Hertzberg
56f4144035
Use != instead of < to check for emptiness of iterator range (fixes bug #664 )
2013-10-16 13:10:15 +02:00
Christoph Hertzberg
609ef90213
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
f407a86a3f
Allow .conservativeResize(rows,cols) on vectors
...
(grafted from b433fb2857
)
2013-10-16 12:07:33 +02:00
Gael Guennebaud
0257cf1cef
bug #679 : add respective unit test
...
(transplanted from 2c0303c89e
)
2013-10-15 23:51:01 +02:00
Christoph Hertzberg
941319a198
Fix bug #679
2013-10-15 19:09:09 +02:00
Thomas Capricelli
273a952099
uniformize piwik code among branches
2013-10-11 20:45:21 +02:00
Desire NUENTSA
551d20a824
Fix SPQR Solve() when assigning to a Map object
...
(grafted from 54e576c88a
)
2013-09-26 15:00:22 +02:00
Desire NUENTSA
f5ed3421e9
Fix leaked memory for successive calls to SPQR
...
(grafted from fe19f972e1
)
2013-09-24 15:56:56 +02:00
Gael Guennebaud
945b0802c9
Reduce explicit zeros when applying SparseQR's matrix Q
...
(grafted from 00dc45d0f9
)
2013-09-20 23:28:10 +02:00
Desire NUENTSA
2a0ca0131d
Fix assert bug in sparseQR
...
(grafted from bd21c82a94
)
2013-09-20 18:49:32 +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
6f7f0ab6c2
Removed unnecessary parentheses
2013-08-20 16:06:13 +09:00
Pavel Holoborodko
e4ffb7729a
Removed unnecessary parentheses
2013-08-20 16:06:13 +09:00
Pavel Holoborodko
68069af969
Added support for custom scalars
2013-08-20 15:00:28 +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
ace2ed7b87
Fix broken link on transforming normals
2013-08-12 13:38:25 +02:00
Gael Guennebaud
956251b738
bug #638 : fix typos in sparse tutorial
2013-08-12 13:37:47 +02:00
Hauke Heibel
6f5f488a80
Switched to MPL2 license.
2013-08-12 07:39:24 +02:00
Gael Guennebaud
916d29e58f
Backout parts of changeset 6719e56b5b
...
(these changes were not intended to be commited)
2013-08-11 19:26:41 +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
Jitse Niesen
c13e9bbabf
QuickReference.dox: std::tan(array) --> tan(array), same for other functions.
2013-08-11 10:17:23 +01: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
306ce33e1c
BDCSVD: Streamline compute() and copyUV()
2013-08-07 16:34:34 +01: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
Jitse Niesen
2f0faf117e
Remove LinearLeastSquares.dox , which should not have been added.
...
Accidentally included in changeset e37ff98bbb
.
2013-08-06 08:03:39 +01:00
Hauke Heibel
8710440951
Removed errornous swap for stack storage.
2013-08-03 10:09:31 +02:00
Jitse Niesen
8fdffdd573
Move inheritance from Eigen example in stand-alone file.
...
Also fix a small mistake (Vector3d instead of VectorXd).
2013-08-02 22:33:12 +01:00
Hauke Heibel
3444f06f68
Removed a warning when rvalue references are not unsed.
2013-08-02 22:54:01 +02:00
Hauke Heibel
8f4d93a4b7
Fix compilation.
...
The Matrix is required to be mutable but it also needs to be a reference and
temporaries do not bind to non-const references - thus we need a hack and
cast away the constness.
2013-08-02 22:40:36 +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
e90229a429
reduce cancellation probablity
2013-08-02 00:36:06 +02:00
Hauke Heibel
cf884a9815
Added build name support for VC11 and its service packs.
2013-08-01 16:38:05 +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
Hauke Heibel
222eedf5f3
Removed unused testing files.
2013-08-01 12:14:03 +02:00
Gael Guennebaud
d0e543be26
Remove superfluous testing files (as changeset e41bc6cbbf
...
but more complete)
2013-07-31 23:11:43 +02:00
Hauke Heibel
8e6d0cba5f
Added a pattern which forces LF line endings for *.sh files.
2013-07-31 18:20:58 +02:00
Hauke Heibel
32d46dd9b8
Backed out changeset: e41bc6cbbf
2013-07-31 18:03:34 +02:00
Hauke Heibel
e41bc6cbbf
Removed unused test files.
2013-07-31 17:21:32 +02:00
Gael Guennebaud
55b57fcba6
Disable some shortcuts with nvcc
2013-07-31 16:56:31 +02:00
Hauke Heibel
39491e3b75
Enable support for minimal rebuilds.
2013-07-31 16:16:08 +02:00
Jitse Niesen
68168e9eae
MatrixFunctions: replace eval() by nested.
...
This eliminates an unnecessary copy in some situations, e.g. Map.
2013-07-31 14:57:20 +01: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
af74b16b0f
Removed non-standard conforming (17.4.3.1.2/1) leading underscore.
...
(grafted from b1f4601bf9
)
2013-07-30 08:05:10 +02:00
Gael Guennebaud
f707f15842
Fix elimination tree and SparseQR with rows<cols
...
(grafted from 1b4623e713
)
2013-09-12 22:16:35 +02:00
Gael Guennebaud
a443b3d98d
Fix bug #654 : allow implicit transposition in Array to Matrix and Matrix to Array constructors
...
(grafted from 07417bd03f
)
2013-09-07 00:01:04 +02:00
Gael Guennebaud
811ec5bfcb
Another compilation fix with ICC/MSVC combo
...
(grafted from eda2f8948a
)
2013-09-03 21:42:59 +02:00
Gael Guennebaud
31d40ebc9d
Fix compilation with ICC/MSVC combo
...
(grafted from 1b8394f71f
)
2013-08-21 15:28:53 +02:00
Gael Guennebaud
0c5f4fd8da
Make FullPivHouseholderQR::solve returns the least-square solution instead of aborting if no exact solution exist
...
(grafted from 150c9fe536
)
2013-08-20 11:52:48 +02:00
Gael Guennebaud
2b50ade6ca
Fix bug #642 : add vectorization of sqrt for doubles, and make sqrt really safe if EIGEN_FAST_MATH is disabled
...
(grafted from d4dd6aaed2
and c47010e3d2
)
2013-08-19 16:02:27 +02:00
Gael Guennebaud
f9149f9ba0
Fix broken link on transforming normals
...
(transplanted from ace2ed7b87
)
2013-08-12 13:38:25 +02:00
Gael Guennebaud
76d05e8236
bug #638 : fix typos in sparse tutorial
...
(transplanted from 956251b738
)
2013-08-12 13:37:47 +02:00
Gael Guennebaud
fa81676d64
Fix cost evaluation of partial reduxions -> improve performance of vectorwise/replicate expressions involving partial reduxions
...
(transplanted from bffdc491b3
)
2013-08-11 19:21:43 +02:00
Gael Guennebaud
b56348046f
Ref<> objects must be nested by reference because they potentially store a temporary object
...
(transplanted from 6719e56b5b
)
2013-08-11 17:52:43 +02:00
Jitse Niesen
47a7de7b53
QuickReference.dox: std::tan(array) --> tan(array), same for other functions.
...
(transplanted from c13e9bbabf
)
2013-08-11 10:17:23 +01:00
Jitse Niesen
8607779757
Remove LinearLeastSquares.dox , which should not have been added.
...
Accidentally included in changeset e37ff98bbb
.
(transplanted from 2f0faf117e
)
2013-08-06 08:03:39 +01:00
Gael Guennebaud
be71c46a3c
Fix bug #635 : add isCompressed to MappedSparseMatrix for compatibility
...
(transplanted from b72a686830
)
2013-08-02 11:11:21 +02:00
Gael Guennebaud
4219db123e
reduce cancellation probablity
...
(transplanted from e90229a429
)
2013-08-02 00:36:06 +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
Hauke Heibel
9ef3645cc7
Removed 'T' prefix from types and thus fixed compilation for GCC.
2013-07-29 12:08:50 +02: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
Jitse Niesen
6d86cd7224
merge
2013-07-26 14:30:28 +01:00
Hauke Heibel
75dab1ce5e
Fixed floating point warning.
...
Fixed evaluation of matrix_exp_computeUV.
2013-07-26 15:13:54 +02:00
Jitse Niesen
e43934d60f
MatrixFunctions: Clean up StemFunction.h
2013-07-26 13:51:10 +01:00
Hauke Heibel
75edc7cc8b
Fixed VC11 compilation.
...
The typedefs Lhs/Rhs in the base class are now accessible by derived classes.
2013-07-26 11:05:21 +02:00
Hauke Heibel
5897695e8a
Merged simple geometry asserts.
2013-07-25 21:21:21 +02:00
Jitse Niesen
a3a55357db
Clean up MatrixFunction and MatrixLogarithm.
2013-07-25 15:08:53 +01:00
Gael Guennebaud
f003a6df38
Added tag 3.2.0 for changeset 56f9b810ab
2013-07-23 18:49:47 -07:00
Gael Guennebaud
56f9b810ab
bump to 3.2
2013-07-23 18:48:35 -07:00
Jitse Niesen
084dc63b4c
Clean-up of MatrixSquareRoot.
2013-07-22 13:56:15 +01:00
Jitse Niesen
463343fb37
Clean-up of MatrixExponential:
...
* put internal stuff in the internal namespace
* replace member functions by free functions
2013-07-21 21:31:15 +01: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
Chen-Pang He
01190b3544
Directly code failing example, or it breaks make doc.
2013-07-21 18:09:11 +08:00
Chen-Pang He
c00f688c64
Fix doc. (It is also used by computeFracPower)
2013-07-21 05:40:56 +08:00
Chen-Pang He
51573da3a4
Warn about power of a matrix with non-semisimple 0 eigenvalue.
2013-07-21 01:00:36 +08:00
Chen-Pang He
1191949e87
Improve documentation on Kronecker product module.
2013-07-21 00:19:46 +08:00
Chen-Pang He
3d94ed9fa0
Document on MatrixExponential::ScalingOp
2013-07-21 00:18:19 +08:00
Chen-Pang He
ede27f5780
Apply argument-dependent lookup on user-defined types. (using std::)
2013-07-20 23:30:37 +08:00
Chen-Pang He
dda869051d
Optimize MatrixPower::computeIntPower
2013-07-20 18:47:54 +08:00
Chen-Pang He
2320073e41
Comment on private members of MatrixPower.
2013-07-20 17:58:12 +08:00
Chen-Pang He
c587e63631
Simplify MatrixPower::split
2013-07-20 17:49:38 +08:00
Gael Guennebaud
12815309a6
Added tag 3.2-rc2 for changeset 207747a518
2013-07-19 16:59:01 +02:00
Gael Guennebaud
207747a518
Bump to 3.2-rc2
2013-07-19 16:58:51 +02:00
Gael Guennebaud
660b905e12
Fix ICE with ICC 11
2013-07-19 11:46:54 +02:00
Gael Guennebaud
5ecfdf2c00
Fix ICE with ICC 11
...
(transplanted from 660b905e12
)
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
Gael Guennebaud
e788869cf5
Previous isFinite->hasNonFinite change was broken. After discussion let's rename it to allFinite
...
(transplanted from 4f0bd557a4
)
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
9df04bcede
Rename isFinite to hasNonFinite to avoid future naming collisions.
...
(transplanted from 6fab4012a3
)
2013-07-17 21:13:45 +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
c31606c88a
Added tag 3.2-rc1 for changeset 2872d964f4
2013-07-17 10:00:51 +02:00
Gael Guennebaud
2872d964f4
Remove Evaluators in 3.2 branch.
2013-07-17 10:00:36 +02:00
Gael Guennebaud
2c288b3949
Bump to 3.2-rc1
2013-07-17 09:37:52 +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
Gael Guennebaud
e3774e93b7
Fix vompilation of bdcsvd with ICC.
2013-07-17 09:20:30 +02:00
Gael Guennebaud
db8e88c936
Fix testing issues with x87 extra precision.
2013-07-16 17:35:08 +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
f2aba7a768
Remove obsolete sentence on LPGL in MKL doc.
2013-07-15 23:25:01 +02:00
Gael Guennebaud
d02e329218
Fix adjoint unit test: test_isApproxWithRef works for positive quantities only.
2013-07-15 21:21:14 +02:00
Gael Guennebaud
c76990664b
Add bdcsvd unit test in CMakeLists
2013-07-15 21:16:57 +02:00
Chen-Pang He
4b780553e0
Eliminate unnecessary copying for sparse Kronecker product.
2013-07-15 09:10:17 +08:00
Chen-Pang He
9be658f701
generateTestMatrix can use processTriangularMatrix
2013-07-15 00:43:14 +08:00
Chen-Pang He
b8f0364a1c
Test singular matrix power with square roots. Exponent laws are too unstable.
2013-07-15 00:10:17 +08: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
Chen-Pang He
cbe92de2b5
Fix typo in testSingular.
2013-07-14 17:27:44 +08:00
Chen-Pang He
eeb744dc8d
Add test3dRotation.
2013-07-14 02:00:50 +08:00
Gael Guennebaud
4bb0fff151
Rationalize assignment to sparse vectors
2013-07-13 19:45:05 +02:00
Chen-Pang He
d5501d3a90
Document on MatrixPowerAtomic.
2013-07-13 23:13:07 +08:00
Chen-Pang He
3c423ccfe2
Document on complex matrix power.
2013-07-13 22:12:09 +08:00
Chen-Pang He
738d75d3eb
Document on the return type of MatrixPower::operator()
2013-07-13 22:11:36 +08:00
Gael Guennebaud
9a16519d62
Extend the "functions taking Eigen type" doc page to present the Ref<> option.
2013-07-13 12:36:55 +02:00
Gael Guennebaud
06a5bcecf6
Stabilize eulerangle unit test.
2013-07-13 10:55:04 +02:00
Gael Guennebaud
7ee378d89d
Fix various scalar type conversion warnings.
2013-07-12 16:40:02 +02:00
Gael Guennebaud
61c3f55362
Relax slerp unit test
2013-07-12 14:30:28 +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
71cccf0ed8
Rename map unit test to mapped_matrix: without splitting unit tests, this created a "map" binary file in the include path, not a good idea!
2013-07-10 23:26:35 +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
a992fa74eb
Make non-conversion unary constructors explicit.
2013-07-11 02:31:13 +08:00
Chen-Pang He
4466875d54
The only(?) way to test complex matrix power.
2013-07-10 02:59:16 +08:00
Chen-Pang He
5c95892b83
Test power of singular matrices.
2013-07-10 02:57:54 +08:00
Chen-Pang He
639d03d900
These casts are unnecessary because isApprox already casts them.
2013-07-10 02:53:15 +08:00
Chen-Pang He
d204bb57d0
Remove unused struct definition in test.
2013-07-10 02:48:17 +08:00
Chen-Pang He
c52cbd9de9
Write doc for positive power of a matrix with a semisimple zero eigenvalue.
2013-07-10 02:44:38 +08:00
Chen-Pang He
159a3bed9e
Write doc for complex power of a matrix.
2013-07-10 02:43:10 +08:00
Chen-Pang He
25544dbec3
Add assertion against undefined matrix power.
2013-07-10 02:36:34 +08:00
Jitse Niesen
f850550e3e
merge
2013-07-08 14:11:25 +01:00
Chen-Pang He
04bd1e3fc0
Slightly optimize atanh2.
2013-07-08 16:49:27 +08:00
Gael Guennebaud
0567cf96cc
Ease setting build options when running ctest -D
2013-07-07 17:25:58 +02:00
Chen-Pang He
00e30a5fc4
We need not prohibit assignment here. Thanks to changeset 3edd4681f2
...
.
2013-07-07 19:57:23 +08:00
Chen-Pang He
55ec3cc6d5
Prevent copying with internal::noncopyable.
2013-07-07 19:34:13 +08:00
Gael Guennebaud
4f28ccdd0e
Rationalize the use of Index type in iterators
2013-07-06 22:05:49 +02:00
Gael Guennebaud
9b833aff42
Use numeric_limits to get NaN and inf
2013-07-06 22:01:14 +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
8ba7ccf16a
bug #63 : add lapack unit tests. They are automatically downloaded and configured if EIGEN_ENABLE_LAPACK_TESTS is ON.
2013-07-06 15:08:42 +02:00
Gael Guennebaud
cc03c9d683
bug #556 : workaround mingw bug with -O3 or -fipa-cp-clone
2013-07-05 23:47:40 +02:00
Gael Guennebaud
4f14b3fa72
Fix bug #611 : diag * sparse * diag
2013-07-05 22:42:46 +02:00
Chen-Pang He
9e2b4eeac0
Const-correct the scaling functor.
2013-07-05 23:28:57 +08:00
Gael Guennebaud
9b9177f1ce
Fix a couple of warnings in unit tests.
2013-07-05 13:35:34 +02:00
Gael Guennebaud
7d8823c8b7
Use true compile-time branching in SparseVector::assign to handle automatic transposition.
2013-07-05 09:14:32 +02:00
Chen-Pang He
c273a6c37c
Avoid pow(Scalar, int) for C++11 conformance.
2013-07-05 03:33:56 +08:00
Chen-Pang He
04a9ad6e10
Let complex power fall back to "log, scale, exp".
2013-07-05 00:28:28 +08:00
Chen-Pang He
4e26057f66
Remove unused declarations for MatrixPowerProduct.
2013-07-05 00:08:11 +08:00
Desire NUENTSA
edba612f68
Fix unresolved typename bug for MSVC
2013-07-04 16:56:01 +02:00
Chen-Pang He
cce68d4e91
Remove unused inclusions.
2013-07-04 18:39:33 +08:00
Chen-Pang He
75b3391e3f
Enable singular matrix power using unitary similarities.
2013-07-04 18:37:46 +08:00
Gael Guennebaud
4020d4286f
Fix bug in sparse documentation.
2013-07-04 06:49:24 +02:00
Chen-Pang He
3cda1deb52
Simplify class hierarchy.
2013-07-04 05:10:43 +08:00
Chen-Pang He
eaf92ef48c
Remove unreachable MatrixPowerTriangular, paving the way to future cleanups.
2013-07-04 04:42:02 +08:00
Gael Guennebaud
155fa0ca83
Add missing namespace prefix in pconj
2013-07-03 11:36:12 +02:00
Jitse Niesen
4e458d309c
Fix some doxygen errors and warnings.
2013-07-02 14:08:12 +01:00
Jitse Niesen
419b5cff44
doc: Mention vec=vec.head(n) in aliasing page.
2013-07-02 13:35:36 +01:00
Gael Guennebaud
1caeb814f0
Fix bicgstab for complexes, and avoid a duplicate computation
2013-07-02 08:14:10 +02:00
Gael Guennebaud
f8e325356a
It's better to check that eigen_assert does raise an assert rather than testing the definition of NDEBUG
2013-07-01 13:48:21 +02:00
Gael Guennebaud
65cc51288a
On windows CE, assert.h defines NDEBUG if DEBUG is not defined
2013-07-01 13:47:25 +02:00
Gael Guennebaud
22820e950e
Improve BiCGSTAB robustness: fix a divide by zero and allow to restart with a new initial residual reference.
2013-07-01 11:49:23 +02:00
Gael Guennebaud
99bef0957b
Add missing sparse matrix constructor from sparse self-adjoint views, and add documentation for sparse time selfadjoint matrix
2013-06-28 22:56:26 +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
a915f0292e
Fix bug #626 : add assertion on input ranges for coeff* and insert members for sparse objects
2013-06-28 16:16:02 +02:00
Gael Guennebaud
4cf742525f
bug #626 : add compiletime check of the Options template parameter of SparseMatrix and SparseVector. Fix eval and plain_object for sparse objects.
2013-06-28 15:56:43 +02:00
Gael Guennebaud
487d94f495
Fix bug #623 : inlining test_is_equal leads to failures with x87
2013-06-27 22:30:46 +02:00
Gael Guennebaud
74beb218d2
Fix bug #554 : include unistd.h before checking the presence of posix_memalign.
2013-06-26 22:49:14 +02:00
Jitse Niesen
ffbe04ae78
Merged in jdh8/eigen (pull request PR-27): Matrix power cleanup
2013-06-25 13:05:37 +01:00
Gael Guennebaud
95f8a738ea
Introduce a TEST_SET_BUT_UNUSED_VARIABLE macro for initialized but unused variables in the unit tests and also fix a few other warnings.
2013-06-25 11:42:04 +02:00
Gael Guennebaud
231d4a6fda
Workarounf nvcc not being able to find RowMajor when declaring a Matrix<...> inside another namespace.
2013-06-25 10:08:50 +02:00
Chen-Pang He
7b6e94fb58
Clean namespace pollution.
2013-06-25 02:56:30 +08:00
Chen-Pang He
b9543ce237
Matrix square root can process 0 eigenvalue.
2013-06-24 23:57:57 +08:00
Chen-Pang He
b9fc9d8f32
Remove mat.pow * vec specialization, which causes segfault for mat.pow * mat.pow
2013-06-24 23:56:17 +08:00
Gael Guennebaud
4cc9377941
fix casting from double* to void* in SuperLU and Cholmod support
2013-06-24 17:24:32 +02:00
Chen-Pang He
ee8a28fb85
Fix segfault and bug with equal eivals in matrix power (bug #614 ).
2013-06-24 13:58:51 +01:00
Gael Guennebaud
1330ca611b
CwiseUnaryView should not inherit no_assignment_operator!
2013-06-24 13:45:33 +02:00
Gael Guennebaud
c21a04bcf9
fix compilation of ArrayBase::transposeInPlace
2013-06-24 13:35:13 +02:00
Gael Guennebaud
c695cbf0fa
fix compilation of ArrayBase::transposeInPlace
2013-06-24 13:33:44 +02:00
Gael Guennebaud
8bbde351e7
bug #620 : fix robustness issue in JacobiSVD::solve (also fix a perf. issue)
2013-06-24 13:08:09 +02:00
Gael Guennebaud
d1d7a1ade9
Workaround a bunch of stupid warnings in unit tests
2013-06-23 19:11:32 +02:00
Simon Pilgrim
fab0235369
Fix bug #590 : NEON Duplicate lane load
2013-06-23 14:13:21 +02:00
Gael Guennebaud
bea4a67c92
that's getting harder and harder to make ICC, GCC and clang all happy: one wants type_name to be static and if it is so then the other one triggers 'unused function' warnings -> a forward declaration seems to do the trick
2013-06-22 10:51:45 +02:00
Gael Guennebaud
260a923334
explicit template specialization cannot have a storage class
2013-06-22 10:30:26 +02:00
Gael Guennebaud
3ed919e0ed
Fix an shut down a few ICC's remarks
2013-06-22 10:19:50 +02:00
Gael Guennebaud
dd964ec08c
Fix a couple of warnings
2013-06-21 19:06:45 +02:00
Gael Guennebaud
620e4277bc
Disable ASM comments on non x86 architecture and do not redfine if EIGEN_ASM_COMMENT is already defined
2013-06-21 17:49:36 +02:00
Gael Guennebaud
8cc9b12589
Add missing using std::pow in lpNorm.
2013-06-21 11:37:33 +02:00
Gael Guennebaud
cf5c5ed725
Fix warning typedef XXX locally defined but not used
2013-06-21 09:27:38 +02:00
Gael Guennebaud
7adfca5af2
Shutdown clang warning: argument unused during compilation: '-ansi' at linking time
2013-06-21 09:24:57 +02:00
Gael Guennebaud
c0cad44da6
Reduce maximum number of warnings/errors. (they took GBs even for limited period of time)
2013-06-20 17:39:15 +02:00
Gauthier Brun
8105b5ed3f
new unsupported and not finished SVD, using a divide and conquert algorithm, with tests and benchmark
2013-06-19 00:03:27 +02:00
Gael Guennebaud
ba79e39c5c
bug #71 : enable vectorization of diagonal products in more cases.
2013-06-18 17:44:25 +02:00
Gael Guennebaud
eef8d98139
Fix bug #542 : fix detection of compiler version on systems without the head command.
2013-06-18 17:25:37 +02:00
Jitse Niesen
4e6d746514
Avoid phrase "static allocation" for local storage on stack (bug #615 ).
2013-06-18 14:35:12 +01:00
Jitse Niesen
e37ff98bbb
Implement mixed static/dynamic-size .block() (bug #579 )
2013-06-18 14:29:15 +01:00
Kolja Brix
05da15bf40
bug #230 , fix compilation issues and wrong static assertions
2013-06-18 09:44:40 +02:00
Gael Guennebaud
33788b97dd
Fix compilation issue with some compilers (when doing using Base::foo;, foo must be visible in the direct base class)
2013-06-18 00:48:47 +02:00
Jitse Niesen
79bd6fa5ee
Require at least cmake version 2.8.2 (bug #606 ).
2013-06-17 22:12:01 +01:00
Jitse Niesen
a8494787f4
Merged in RhysU/eigen//fix-documentation-typo-1371479301909 (pull request PR-25)
...
Fix documentation typo
2013-06-17 15:35:44 +01:00
Rhys Ulerich
437e26d000
Fix documentation typo
2013-06-17 14:28:42 +00:00
Gael Guennebaud
55365566b2
Fix HouseholderSequence::conjugate() and ::adjoint() and add respective unit tests.
2013-06-17 00:14:42 +02:00
Gael Guennebaud
9f11f80db1
Make psqrt works with numeric_limits<float>::min
2013-06-14 10:55:05 +02:00
Gael Guennebaud
5f178e54e9
Extend sparse-block unit test to explicitly cover bug #584
2013-06-14 10:52:19 +02:00
Jeff Dean
d5fa5001a7
Fix bug #613 : psqrt was incorrect for small numbers
2013-06-13 18:17:27 +02:00
Gael Guennebaud
3352b8d873
Extend the magnitude range of tested numbers in packet math unit tests
2013-06-13 18:12:58 +02:00
Gael Guennebaud
d541765e85
Fix copy constructor signature
2013-06-12 18:02:13 +02:00
Gael Guennebaud
f75419c711
Add missing changes.
2013-06-12 17:56:15 +02:00
Gael Guennebaud
f3a029e957
Remove meaningless explicit qualifier
2013-06-12 13:05:23 +02:00
Gael Guennebaud
1b92d2ca33
Suppress warning #2304 : non-explicit constructor with single argument may cause implicit type conversion
2013-06-12 13:02:30 +02:00
Gael Guennebaud
f6c1841316
compilation fixes in unsupported
2013-06-12 12:52:41 +02:00
Gael Guennebaud
65c59307e2
Fix sparse_basic unit test conflict
2013-06-12 10:37:15 +02:00
Gael Guennebaud
62670c83a0
Fix bug #314 : move remaining math functions from internal to numext namespace
2013-06-10 23:40:56 +02:00
Gael Guennebaud
827843bbbd
Complete the lapack interface to make it complete enough for suitesparse QR.
2013-06-12 10:12:50 +02:00
Gael Guennebaud
76f4820560
Improve SuiteSparse cmake scripts
2013-06-12 10:12:05 +02:00
Gael Guennebaud
f0efe60924
Fix implicit conversion warnings
2013-06-12 09:25:58 +02:00
Gael Guennebaud
92eb807c30
Fix warning: explicitely initialize all member of IOFormat
2013-06-12 09:24:07 +02:00
Gael Guennebaud
7742eacfeb
Add default value for IsRepeatable in functor_traits
2013-06-12 09:22:59 +02:00
Gael Guennebaud
f3af423c70
Add missing dependency in SparseSholesky header
2013-06-11 21:13:30 +02:00
Desire NUENTSA
1bf18bd57f
Fix bug in SparseLU dfs for dense matrices
2013-06-11 14:48:04 +02:00
Desire NUENTSA
9266f65318
Fix bug #588 : Compute a determinant using SparseLU
2013-06-11 14:46:13 +02:00
Desire NUENTSA
4cd8245c96
Add support with unit test for off-diagonal sparse matrix views
2013-06-11 14:42:29 +02:00
Desire NUENTSA
b3fff170a0
Restore internal math functions for unit tests
2013-06-11 14:31:31 +02:00
Gael Guennebaud
18e476107e
Fix bug #583 : add compile-time check that DenseIndex is signed
2013-06-10 17:16:16 +02:00
Simon Pilgrim
ca67c60150
Fix bug #591 : minor optimization in NEON vectorization support
2013-06-10 15:59:03 +02:00
Gael Guennebaud
05c9be65ce
Fix bug #595 : typo
2013-06-10 13:10:36 +02:00
Gael Guennebaud
a4a575e2a3
fix bug #597 : typo in sparse documentation
2013-06-10 12:13:31 +02:00
Gael Guennebaud
26c35b95c7
Fix bug #598 : add explicit cast to Scalar type
2013-06-10 12:03:55 +02:00
Gael Guennebaud
0525874a03
Fix bug #599 : add missing documentation of some members in QR module.
2013-06-10 11:58:28 +02:00
Gael Guennebaud
2b6528effc
HouseholderSequence should expose standard enums (Rows/Cols, etc.))
2013-06-10 11:42:14 +02:00
Gael Guennebaud
47e89026d0
Check sparse matrices with short indices
2013-06-10 10:34:03 +02:00
Gael Guennebaud
e8c963568c
Simplify and generalize assign_selector logic
2013-06-10 10:32:29 +02:00
Gael Guennebaud
b6d3fcf6f2
Fix bug #605 : ambiguous call to std::min when calling .diagonal() on a sparse matrix with non default index type
2013-06-10 10:11:29 +02:00
Gael Guennebaud
e392948548
Fix bug #607 : handle implicit transposition from sparse vector to dense vector
2013-06-10 00:06:40 +02:00
Gael Guennebaud
4811b4526c
Add regression test for bug #608
2013-06-09 23:30:04 +02:00
Gael Guennebaud
a69b4b092b
Fix bug #608 : the sign computation in LDLT was broken
2013-06-09 23:19:32 +02:00
Gael Guennebaud
c98fd7a6ca
Fix bug #609 : avoid if statement and improve consistency of eulerAngles method
2013-06-09 23:14:45 +02:00
Gael Guennebaud
e04b59929e
fix unused variable warning
2013-06-09 21:03:32 +02:00
Gael Guennebaud
64054ee396
Add nvcc support for normalize, initializers, and fuzzy comparisons
2013-06-05 15:38:33 +02:00
Gael Guennebaud
b3adc4face
Add missing pconj specializations
2013-05-17 17:25:29 +02:00
Thomas Capricelli
62e337eb01
fix a weird typo I commited in ae76c97704
...
(Nov 10th, 2009)
2013-06-03 23:09:33 +02:00
Desire NUENTSA
d7cd957f10
Include misc struct declarations
2013-05-29 10:15:40 +02:00
Desire NUENTSA
e0566a817f
Delete unneeded resize in SparseQR
2013-05-22 10:44:12 +02:00
Desire NUENTSA
8e050bd681
Optimize Sparse setIdentity and add a unit test
2013-05-22 10:43:12 +02:00
Desire NUENTSA
cf939f154f
Fix bug #596 : Recover plain SparseMatrix from SparseQR matrixQ()
2013-05-21 17:35:10 +02:00
Gael Guennebaud
bd7511fc36
Fix return type of TriangularView::ReverseInnerIterator::operator++
2013-05-17 14:40:32 +02:00
Gael Guennebaud
bd0474adbb
Fix A=A with A a SparseMatrix
2013-05-17 14:39:31 +02:00
Gael Guennebaud
9ab3811cc5
Disallow implicit scalar conversion of SparseMatrix
2013-05-17 14:02:20 +02:00
Gael Guennebaud
b5e5b6aa57
Fix non const data() member in Array and Matrix wrappers.
2013-05-16 10:18:19 +02:00
Hauke Heibel
12e69ec896
Added asserts to AngleAxis class which verify that the initial axis is
...
normalized.
2013-05-15 12:05:01 +02:00
Hauke Heibel
8556ca3de5
Adapted settings for the eol extension.
2013-05-15 13:45:24 +02:00
Desire NUENTSA
f7bdbf69e1
Add support in SparseLU to solve with L and U factors independently
2013-05-14 17:15:23 +02:00
Desire NUENTSA
83736e9c61
Set back the default ordering method in SPQR support
2013-05-13 13:08:13 +02:00
Desire NUENTSA
122b16d841
fix memory leak from Cholmod data in SPQR support
2013-05-13 13:04:12 +02:00
Gael Guennebaud
43bb942365
Add missing support for x.noalias() = ReturnByValue<...>
2013-05-13 10:39:50 +02:00
Gael Guennebaud
fcdbfabf7a
Fix setFromTripplet with empty inputs
2013-05-03 14:28:37 +02:00
Gael Guennebaud
aa8b897607
document the evaluation order of the comma initializer
2013-04-19 14:03:16 +02:00
Gael Guennebaud
9cd2d14005
merge with default branch
2013-04-19 11:21:39 +02:00
Gael Guennebaud
4e2e615a7c
actually assertion are incompatible with nvcc even on host code
2013-04-19 11:14:17 +02:00
Gael Guennebaud
46755648ec
Add a few missing standard functions for ScalarWithExceptions type.
2013-04-17 10:24:31 +02:00
Gael Guennebaud
41b3c56e61
Disable "operands are evaluated in unspecified order" ICC's remark
2013-04-17 10:23:08 +02:00
Gael Guennebaud
9a4caf2b0f
Extend internal doc of ploaddup and palign
2013-04-17 09:17:34 +02:00
Gael Guennebaud
94e20f485c
Big 564: add hasNaN and isFinite members
2013-04-16 15:10:40 +02:00
Desire NUENTSA
d4b0c19a46
Fix a bug in Supernodal Matrix Iterator
2013-04-15 17:24:49 +02:00
Gael Guennebaud
db43205dc6
Fix ICC warning when defining both -ansi and -strict-ansi
2013-04-12 15:51:40 +02:00
Gael Guennebaud
9816e8532e
Fix bug #482 : pass scalar value by const reference (it remained a few cases)
2013-04-12 15:26:55 +02:00
Gael Guennebaud
43f4fd4d71
generalize testing flags to clang and ICC
2013-04-12 15:24:41 +02:00
Gael Guennebaud
7450b23fbb
Fix bug #563 : assignement to Block<SparseMatrix> is now allowed on non-compressed matrices
2013-04-12 13:20:13 +02:00
Gael Guennebaud
6eaff5a098
Enable SSE with ICC even when it mimics a gcc version lower than 4.2
2013-04-11 19:48:34 +02:00
Gael Guennebaud
1e38928c64
workaround strange compilation issue with ICC and -strict-ansi
2013-04-10 17:30:25 +02:00
Gael Guennebaud
ff661a7b6f
Add temporary check for triangularView += product
2013-04-10 23:13:04 +02:00
Gael Guennebaud
899c0c2b6c
Clean source code and unit tests with respect to -Wunused-local-typedefs
2013-04-10 22:27:35 +02:00
Gael Guennebaud
7e04d7db02
Fix a serious bug in handmade_aligned_realloc: original data have to be moved if the alignment offset differs.
2013-04-10 13:58:20 +02:00
Gael Guennebaud
f7e52d22d4
Fix missuse of unitialized values in unit tests
2013-04-10 09:46:16 +02:00
Gael Guennebaud
84637ca58c
Remove a useless variable in blueNorm
2013-04-10 09:41:42 +02:00
Gael Guennebaud
d7f3cfb56e
bug #564 : document the fact that minCoeff/maxCoeff members have undefined behavior if the matrix contains NaN.
2013-04-09 11:27:54 +02:00
Gael Guennebaud
3cb6e21f80
Fix bug #562 : add vector-wise normalized and normalize functions
2013-04-09 11:12:35 +02:00
Gael Guennebaud
d8f1035355
Fix a couple of int versus Index issues.
2013-04-09 09:43:00 +02:00
Gael Guennebaud
bff264283d
Add missing epsilon/dummy_precision function in NumTraits<Array>
2013-04-09 09:31:26 +02:00
Gael Guennebaud
8f44205671
Fix bug #581 : remove useless piece of code is blueNorm
2013-04-09 09:23:40 +02:00
Desire NUENTSA
d97cd746ae
Replace int by Index
2013-04-08 08:51:58 +02:00
Gael Guennebaud
12439e1249
Port SelfCwiseBinaryOp and Dot.h to nvcc, fix portability issue with std::min/max
2013-04-05 16:35:49 +02:00
Christoph Hertzberg
9b33ab62da
Fixing bug #578 . Thanks to Angelos <filiatra@gmail.com>
2013-04-03 16:29:16 +02:00
Gael Guennebaud
c3a6fa03a2
elif/elseif typo
2013-03-26 11:52:43 +01:00
Gael Guennebaud
0a1d9fb9ae
Fix warning: implicit conversion loses integer precision in SparseMatrix. No need to use std::ptrdiff_t instead of Index since this later is requested to be signed.
2013-03-20 21:58:24 +01:00
Gael Guennebaud
225fd0f579
adapt AutoDiff to scalar_product_traits
2013-03-20 21:20:13 +01:00
Gael Guennebaud
c519be2bac
Allow multiplication like binary operators to be applied on type couples supported by scalar_product_traits
2013-03-20 21:19:16 +01:00
Desire NUENTSA
f350f34560
Add complex support to dgmres and the unit test
2013-03-20 18:38:22 +01:00
Gael Guennebaud
d63712163c
Add SSE4 min/max for integers
2013-03-20 18:28:40 +01:00
Desire NUENTSA
da6219b19d
Bug567 : Fix iterative solvers to immediately return when the initial guess is the true solution and for trivial solution
2013-03-20 16:15:18 +01:00
Desire NUENTSA
22460edb49
Use a template Index for COLAMD ordering
2013-03-20 16:02:03 +01:00
Desire NUENTSA
4107b371e3
Handle zero right hand side in CG and GMRES
2013-03-20 11:22:45 +01:00
Gael Guennebaud
9bfeeba1c5
Add Official/Unsupported labels to unit tests and add a ctest driver to submit subprojects to cdash
2013-03-20 08:40:13 +01:00
Thomas Capricelli
11a9091084
fix a weird bug where a space was missing before a link
2013-03-19 20:09:13 +01:00
Thomas Capricelli
aba50d842e
fixes #568
...
(files from previous build were kept on the server, with outdated/garbled
information)
The documentation update script now wipes build/doc/html
before rebuilding stuff. Most of the time/cpu consuming is spent in
compiling snippets, so we don't loose that much.
2013-03-19 19:18:14 +01:00
Gael Guennebaud
f29b4c435b
Make cpuid not use %%esi -> dangerous if someone is using it.
2013-03-19 14:11:59 +01:00
Michael Schmidt
0d5a418048
Fix bug #566 : rbx register has to be saved when calling cpuid on x84_64 with -fPIC and medium or large code models.
2013-03-19 14:00:42 +01:00
Claas H. Köhler
d6d638c751
Forward compiler flags to Fortran workaround
2013-03-17 14:17:44 +01:00
Christoph Hertzberg
6357fd68da
Patch by Kolja Brix <brix@igpm.rwth-aachen.de> that fixes bug #565 and adds a testcase to verify that.
2013-03-17 13:55:31 +01:00
Desire NUENTSA
f8addac4e1
Include SparseLU and SparseQR
2013-03-13 18:01:47 +01:00
Gael Guennebaud
5d1a74da0a
Update matlab-eigen quick ascii reff
2013-03-11 21:20:12 +01:00
Desire NUENTSA
6c68f1d787
bug #563 : Sparse block assignments should be called on compressed matrices. Uncompressed matrices will be supported later
2013-03-11 19:21:18 +01:00
Jitse Niesen
79f93247c5
Relax tolerances in matrix_power tests to avoid intermittent failures.
2013-03-09 17:20:16 +00:00
Jitse Niesen
97c9e3c74f
Handle special case in atanh2(x,y) when y = 0.
...
This fixes matrix_power unit test on clang.
2013-03-09 16:58:05 +00:00
Gael Guennebaud
03373f41cb
Fix bug #561 : remove useless sign macro
2013-03-07 23:35:26 +01:00
Gael Guennebaud
f82ee241ac
Added tag 3.2-beta1 for changeset 2238592062
2013-03-07 08:51:23 +01:00
Gael Guennebaud
2238592062
bump to 3.2-beta1 (3.1.91)
2013-03-07 08:49:10 +01:00
Desire NUENTSA
4fdae4dda9
Fix bug in SparseLU kernel for 32bits indices
2013-03-06 16:35:12 +01:00
Gael Guennebaud
98ce4455dd
fix sparse vector assignment from a sparse matrix
2013-03-06 11:58:22 +01:00
Desire NUENTSA
69bd334d2b
Fix mismatched free/delete
2013-03-05 16:35:13 +01:00
Desire NUENTSA
a1ddf2e7a8
Update doc for the sparse module
2013-03-05 12:55:03 +01:00
Gael Guennebaud
24d81aeb20
Fix overlaping operands when calling memcpy
2013-03-04 17:47:45 +01:00
Gael Guennebaud
d2e5c9d892
Do not globally disable stupid warnings in our unit test since such warnings do affect user code.
2013-03-01 14:50:20 +01:00
Gael Guennebaud
b9fe79153b
Fix a couple of remaining warnings (missing newlines, inline-noinline, meaningless type qualifiers)
2013-03-01 14:42:36 +01:00
Gael Guennebaud
87142237b5
Fix "missing return statement at end of non-void function"
2013-03-01 14:33:11 +01:00
Gael Guennebaud
210a56ff48
Update to latest mpreal.
2013-03-01 14:31:11 +01:00
Gael Guennebaud
d70366d011
Remove assumption on RowMajorBit==RowMajor and ColMajor==0
2013-03-01 14:23:31 +01:00
Gael Guennebaud
01c6308d6e
Add missing template keyword in evaluators
2013-03-01 00:26:52 +01:00
Gael Guennebaud
858ac9ffe0
Add missing template keyword
2013-03-01 00:03:28 +01:00
Gael Guennebaud
1bb1945078
Fix "explicit instantiation of 'Eigen::Spline' must occur in namespace 'Eigen'" warnings
2013-02-28 20:22:26 +01:00
Gael Guennebaud
3930c9b086
Fix "routine is both "inline" and "noinline"" warnings
2013-02-28 19:31:03 +01:00
Gael Guennebaud
e5bf4440c0
Fix "type qualifiers are meaningless here" warnings
2013-02-28 19:29:32 +01:00
Gael Guennebaud
0fac91ac22
Fix "storage class is not first" warnings
2013-02-28 19:27:53 +01:00
Hauke Heibel
b5d8299ee7
Prevent calling .norm() on integer matrices in the unit tests.
2013-02-28 12:33:34 +01:00
Hauke Heibel
83aac6d54c
MSVC fix; the compiler failed to detect the correct overload.
2013-02-28 11:38:34 +01:00
Hauke Heibel
5882f1631d
Fixed compiler warning.
2013-02-28 10:15:19 +01:00
Hauke Heibel
5e8384df2e
MSVC fix; the base class typedef shadowed the local template parameter.
2013-02-28 08:47:38 +01:00
Gael Guennebaud
6dd93fc76e
The ref unit test cannot be easily written to work with EIGEN_DEFAULT_TO_ROW_MAJOR
2013-02-27 23:52:10 +01:00
Hauke Heibel
c754023e72
Fixed MSVC dashboard (Experimental/Continuous) build scripts.
2013-02-27 15:54:27 +01:00
Gael Guennebaud
455e6e38b6
Fix two numerical issues in unit tests.
2013-02-27 08:07:18 +01:00
Gael Guennebaud
61a2995d03
Remove ICC warning in nomalloc unit test.
2013-02-26 18:10:19 +01:00
Gael Guennebaud
fe2c8e1c36
Fix compilation with ICC that was unable to instanciate Scaling from Eigen's namespace.
2013-02-26 17:38:37 +01:00
Gael Guennebaud
fa17a6da75
Fix compilation with ICC that was unable to instanciate first_aligned
2013-02-26 17:32:42 +01:00
Gael Guennebaud
bb94f0ebc6
Add a unit test for Ref.h and fix an extra copy.
2013-02-26 15:10:00 +01:00
Gael Guennebaud
63135a7350
Fix computation of outer-stride when calling .real() or .imag()
2013-02-26 15:08:50 +01:00
Gael Guennebaud
e8ccd07671
Add the possibility to define a custom build-string suffix
2013-02-26 13:40:13 +01:00
Gael Guennebaud
0b187a40a1
workaround "may be used uninitialized in this function" warning
2013-02-26 12:09:08 +01:00
Gael Guennebaud
5dda7842ca
Add assertion on the input matrix size in factorizations relying on permutations of 32bits int
2013-02-26 11:42:32 +01:00
Gael Guennebaud
b73baa1ea4
Workaround warning: assuming signed overflow does not occur when...
2013-02-26 10:29:24 +01:00
Gael Guennebaud
5108ef01fc
Fix no newline warning.
2013-02-26 10:27:55 +01:00
Gael Guennebaud
b6dc2613ac
Fix bug #552 : disable EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED when compiling with -fsanitize=address, and allow users to manually tell whether EIGEN_MALLOC_ALREADY_ALIGNED.
2013-02-25 19:17:13 +01:00
Gael Guennebaud
12a1313b09
bug #482 : pass scalar arguments by const references. Still remains a few cases that might affect the ABI (see the bug entry)
2013-02-25 18:05:57 +01: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
5a0c5c0393
Fix bug #483 : optimize outer-products to skip setZero and a scalar multiple when not needed.
2013-02-25 13:31:42 +01:00
Gael Guennebaud
96ad13abba
conservative_resize unit test was executed only once
2013-02-25 01:50:58 +01:00
Gael Guennebaud
41aa0fcc3b
Output random generator seed in case of failure so that we have it in CDash.
2013-02-25 01:46:59 +01:00
Gael Guennebaud
698de91c8a
Fix segfault in SparseBlock::InnerIterator
2013-02-25 01:30:18 +01:00
Gael Guennebaud
19bc418f5c
Remove erroneously committed debugging stuff.
2013-02-25 01:17:44 +01:00
Gael Guennebaud
80d2a65465
Fix visitor unit test.
2013-02-25 01:12:07 +01:00
Gael Guennebaud
04367447ac
Fix bug #496 : generalize internal rank1_update implementation to accept uplo(A) += v * w and make A.triangularView() += v * w uses it.
...
Update unit tests and blas interface respectively.
2013-02-24 23:05:42 +01:00
Gael Guennebaud
08388cc712
Remove superfluous cast.
2013-02-24 20:37:52 +01:00
Gael Guennebaud
1c137496c6
Extend sparseqr unit test to check linearly dependent columns
2013-02-24 20:36:54 +01:00
Gael Guennebaud
4eeaff6d38
Cleaning pass on SparseQR
2013-02-24 20:36:28 +01:00
Gael Guennebaud
28e139ad60
Fix another issue related to summing up many signed values.
2013-02-23 23:06:45 +01:00
Gael Guennebaud
42af5870a4
Fix array unit test: isApprox(log(0),log(0)) is false, and summing up signed float value might result in very small values and thus large numerical errors
2013-02-23 22:58:14 +01:00
Gael Guennebaud
274c24c262
Avoid problematic ternary operator ( http://forum.kde.org/viewtopic.php?f=74&t=109486 )
2013-02-23 20:13:21 +01:00
Sebastien Barthelemy
74438f8aa9
Fix EIGEN_INITIALIZE_MATRICES_BY_NAN.
2013-02-22 15:09:03 +01:00
Gael Guennebaud
7fe6419171
remove double parenthesis
2013-02-22 14:50:47 +01:00
Gael Guennebaud
e71bc79f2a
SparseLU does not accept row-major matrices for the destination.
2013-02-22 14:45:42 +01:00
Gael Guennebaud
bd8c9c69e4
Protect min with parenthesis in IncompleteLLT
2013-02-22 14:41:32 +01:00
Gael Guennebaud
d93c1c113b
NVCC: EIGEN_NO_DEBUG must be defined before including Macro.h
2013-02-21 19:05:23 +01:00
Desire NUENTSA
59f9400420
Clarify the doc for column-pivoting QR
2013-02-21 13:33:31 +01:00
Gael Guennebaud
968f7591f8
Make it compile without nvcc
2013-02-21 12:51:58 +01:00
Jitse Niesen
986f60127d
Guard against transposeInPlace on non-square non-resizable matrix.
...
Inspired by question by Martin Drozdik at stackoverflow.com/q/14954983
2013-02-20 14:03:14 +00:00
Jitse Niesen
a054b4ee27
Be more explicit about user-defined functions in Map tutorial.
...
See discussion on mailing list on 18 + 19 Feb 2013.
2013-02-20 13:44:40 +00:00
Desire NUENTSA
febf8e5d7b
Set built-in sparse QR as the default sparse solver and add ComputationInfo for Levenberg Marquardt,
2013-02-20 14:10:14 +01:00
Desire NUENTSA
dca7190e15
Add setPivotThreshold to Sparse QR
2013-02-20 14:00:28 +01:00
Desire NUENTSA
19de016fef
Correct the SPQR backend for rank-deficient matrices and delete some public functions
2013-02-20 13:59:56 +01:00
Desire NUENTSA
bc18e06fe3
Add matrixR() to get the triangular factor from the Householder QR
2013-02-20 13:58:26 +01:00
Desire NUENTSA
962c99d462
Metis ordering backend supports only squared matrices
2013-02-20 13:56:51 +01:00
Jitse Niesen
ba653105a2
Remove confusing transpose() in setLinSpaced() docs.
2013-02-18 17:27:41 +00:00
Jitse Niesen
b4f6aec195
Fix linear vectorized transversal in linspace (fixes bug #526 ).
2013-02-18 17:26:03 +00:00
Desire NUENTSA
1a056b408d
Add a rank-revealing feature to sparse QR
2013-02-15 16:35:28 +01:00
Gael Guennebaud
9fd465ea2b
Fix the following warning: "comparison between signed and unsigned integer expressions"
2013-02-15 14:31:38 +01:00
Gael Guennebaud
cf259ce590
Workaround the following warning: "assuming signed overflow does not occur when assuming that (X + c) < X is always false"
2013-02-15 14:28:20 +01:00
Gael Guennebaud
a1091caa43
Fix some unused or not initialized related warnings.
2013-02-15 14:05:37 +01:00
Gael Guennebaud
19f699ded0
"-Wno-psabi" option is not supported by all gcc version.
2013-02-15 14:01:30 +01:00
Gael Guennebaud
8745da14d8
Fix SSE plog<float> to return -INF on 0
2013-02-14 23:34:05 +01:00
Gael Guennebaud
912ba10efe
Remove the following note made by gcc: "The ABI of passing structure with complex float member has changed in GCC 4.4"
2013-02-14 21:52:12 +01:00
Gael Guennebaud
24e4a3af2b
Add missing using std::sqrt
2013-02-14 21:40:00 +01:00
Gael Guennebaud
a0fb885c82
Update adjoint unit test to avoid instantiating sqrt(int)
2013-02-14 21:33:42 +01:00
Gael Guennebaud
9cc016d3f9
Update basicstuff unit test to avoid instantiating the ambiguous sqrt(int)
2013-02-14 21:15:58 +01:00
Gael Guennebaud
f8407742c1
Fix some implicit int64 to int conversion warnings. However, the real issue
...
is that PermutationMatrix mixes the type of the stored indices and the "Index"
type used for the sizes, coeff indices, etc., which should be DenseIndex.
(transplanted from 66cbfd4d39
)
2013-02-14 18:16:51 +01:00
Gael Guennebaud
25bcbfb10c
Fix bug in aligned_free with windows CE
2013-02-13 19:09:31 +01:00
Gael Guennebaud
a143c5b78c
Fix bug #544 : assertion in JacobiSVD when compiling with EIGEN_NO_AUTOMATIC_RESIZING
2013-02-12 19:56:48 +01:00
Gael Guennebaud
3cd32996f1
Fix bug #551 : compilation issue when using EIGEN_DEFAULT_DENSE_INDEX_TYPE
2013-02-09 09:43:17 +01:00
Gael Guennebaud
5adcc6c7b4
Add support for NVCC5: most of the Core and part of LU are callable from CUDA code.
...
Still a lot to do.
2013-02-07 19:06:14 +01:00
Gael Guennebaud
5115f4c504
add EIGEN_INITIALIZE_MATRICES_BY_NAN
2013-02-07 18:07:07 +01:00
Gael Guennebaud
3c1ccca285
Add missing operator= in RefBase
2013-02-07 17:49:16 +01:00
Gael Guennebaud
e21dc15386
Add missing data member function in CwiseUnaryView
2013-02-07 17:44:24 +01:00
Gael Guennebaud
5154253933
Fix some MPL2/LGPL lisencing confusions
2013-02-06 11:30:33 +01:00
Jitse Niesen
14e2ab02b5
Replace assert() by eigen_assert() (fixes bug #548 ).
2013-02-02 22:04:42 +00:00
Desire NUENTSA
35647b0133
Correct bug in SPQR backend and replace matrixQR by matrixR
2013-01-29 17:48:30 +01:00
Desire NUENTSA
8bc00925e5
Change int to Index type for SparseLU
2013-01-29 16:21:24 +01:00
Hauke Heibel
57e50789f3
Added missing using std::sqrt.
2013-01-27 13:46:06 +01:00
Hauke Heibel
718535ac6c
Added Visual Studio 2012 debug visualizers.
2013-01-26 17:32:14 +01:00
Desire NUENTSA
7f0f7ab5b4
Add additional methods in SparseLU and Improve the naming conventions
2013-01-25 20:38:26 +01:00
Desire NUENTSA
d58056bde4
Merged local branch with main trunk
2013-01-25 19:05:33 +01:00
Desire NUENTSA
81d4bfa8d9
add support for solving with sparse right hand side
2013-01-25 18:17:17 +01:00
Gael Guennebaud
e4ec63aee7
Suppress annoying "may be used uninitialized in this function" warning with gcc >= 4.6
2013-01-24 11:59:17 +01:00
Gael Guennebaud
b74c0a4413
Check that NeedsToAlign is properly sets before checking alignment
2013-01-24 11:42:04 +01:00
Gael Guennebaud
7282a45a0a
Remove dummy code in MPRealSupport
2013-01-24 08:48:26 +01:00
Gael Guennebaud
29d395f769
Relax a bit the precision in mpreal unit test.
2013-01-23 23:57:28 +01:00
Gael Guennebaud
691e607d85
Specialize GEBP traits and kernel for mpreal to by-pass mpreal and remove the costly creation of many temporaries.
2013-01-23 23:56:57 +01:00
Gael Guennebaud
c22f7cef83
Workaround "error: floating-point literal cannot appear in a constant-expression" in mpreal.h when compiling with predantic.
...
(I really don't know how to properly fix this))
2013-01-23 20:51:38 +01:00
Gael Guennebaud
73026eab4d
Fix SparseLU special gemm kernel on 32 bits system w/o SSE
2013-01-23 19:34:01 +01:00
Gael Guennebaud
ee36eaefc6
remove dummy code in ColPivHouseholderQR::solve
2013-01-23 18:34:29 +01:00
Gael Guennebaud
19c78cf510
Workaround gcc-4.7 bug #53900 (too aggressive optimization in our alignment check)
2013-01-22 22:59:09 +01:00
Gael Guennebaud
67b9f42528
Recent UMFPACK library requires to link to libSuiteSparse
2013-01-22 22:53:28 +01:00
Desire NUENTSA
ad798231ec
Fix test for Metis
2013-01-21 15:43:15 +01:00
Desire NUENTSA
3d9150870d
Fix documentation for SparseLU
2013-01-21 15:39:18 +01:00
Desire NUENTSA
d2dd5063b6
Documentation for the ordering methods
2013-01-21 15:37:47 +01:00
Desire NUENTSA
5b9bb00265
Test for the sparse Blue norm
2013-01-21 15:37:06 +01:00
Desire NUENTSA
5dcf6caa36
Unit test for the Metis Ordering package
2013-01-21 15:36:18 +01:00
Gael Guennebaud
392ffce3b9
Fix traits of Map<Quaternion>, and respectively extend the unit tests
2013-01-20 10:21:54 +01:00
Gael Guennebaud
fb89b66229
Some minor documentation fixes in Quaternion
2013-01-20 10:20:39 +01:00
Chen-Pang He
23c87fcde6
I think it's OK to let XprHelper.h determine the nested type.
2012-10-15 00:14:32 +08:00
Chen-Pang He
fe0ef8e609
Remove unused typedef (traits<MatrixPowerProduct>::PlainObject) for brevity.
2012-10-14 22:30:52 +08:00
Chen-Pang He
40fce01648
Simplify traits<MatrixPowerProduct>: StorageKind must be Dense because MatrixPowerProduct is derived from MatrixBase.
2012-10-14 18:36:17 +08:00
Chen-Pang He
c890cf5489
Use the nested type instead of const reference
2012-10-14 03:02:16 +08:00
Chen-Pang He
daa65c5bce
Just tidy up: no need to specify template parameters inside class body.
2012-10-14 01:36:54 +08:00
Chen-Pang He
0017d8c58f
Make MatrixPowerTriangularAtomic::computePade static because it should be.
2012-10-07 02:25:00 +08:00
Chen-Pang He
a5d348e30a
Use simplified return type, trying to work around MSVC.
2012-10-03 19:42:02 +08:00
Chen-Pang He
4cfde4590f
Make use of TRMM (speed up), and remove useless condition (the triangular don't need LU)
2012-10-02 23:04:23 +08:00
Chen-Pang He
21c2b4e327
Make better decision on PartialPivLU vs inverse(): We have specialized inverse() only for FIXED matrices.
2012-10-02 19:53:38 +08:00
Chen-Pang He
e92fe88159
Add test for real MatrixPowerTriangular.
2012-09-30 19:21:53 +08:00
Chen-Pang He
eb33d307af
Avoid Schur decomposition on (quasi-)triangular matrices. (Huge speed up!)
2012-09-30 16:30:18 +08:00
Chen-Pang He
332eb36436
Implement complex MatrixPowerTriangular. There are still problems with real one.
2012-09-30 02:14:16 +08:00
Gael Guennebaud
209199a13e
Move the definition of DenseBase::InnerIterator to Core module. (needed to make blueNorm generic)
2013-01-15 22:03:54 +01:00
Desire NUENTSA
f813e83bc3
Delete unused variable in SparseLU
2013-01-14 16:03:46 +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
a3b94d26c8
Remove TOC numbering, and minor improvement in overview.
2013-01-12 20:34:52 +01:00
Sergey Popov
761b3bbb69
Fix bug #540 : SelfAdjointEigenSolver improperly used the upper triangular part to extract the scaling factor.
2013-01-12 12:07:49 +01:00
Gael Guennebaud
7262cf783c
Cleaning documentation pass in ordering and ILUT
2013-01-12 11:56:56 +01:00
Gael Guennebaud
38fa432e07
Clean inclusion, namespace definition, and documentation of SparseLU
2013-01-12 11:55:16 +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
33febdb48b
Add support for Schur decomposition of matrices in Hessenberg form
2013-01-11 17:36:45 +01:00
Desire NUENTSA
0f94e96342
Add support for sparse blueNorm
2013-01-11 17:27:12 +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
Gael Guennebaud
1ccd90a927
Make the MatrixFunctions documentation page looks a bit better
2013-01-11 10:48:43 +01:00
Gael Guennebaud
cc444bbbf9
update unsupported module documentation to be conformed with new documentation style
2013-01-11 10:41:26 +01:00
Gael Guennebaud
b0cb5e6d48
remove the 'Unsupported Modules' meta module
2013-01-11 10:40:35 +01:00
Gael Guennebaud
109cbb6ad3
typos
2013-01-09 17:44:25 +01:00
Gael Guennebaud
dcc1754f05
update javascript hacks for doxygen 1.8.3
2013-01-09 00:40:48 +01:00
Gael Guennebaud
2abe7d8c6e
Rename the dox files: the number prefixes are not needed anymore
2013-01-06 23:57:54 +01:00
Gael Guennebaud
091a49cad5
Clean the manual page titles, links and intro.
2013-01-06 23:48:59 +01:00
Thomas Capricelli
c71c06b71f
fix typo
2013-01-06 14:39:20 +01:00
Gael Guennebaud
8a50ed86f3
Check that minCoeff(int*)/maxCoeff(int*) always pick the first entry in case of multiple extrema.
2013-01-05 23:49:47 +01:00
Gael Guennebaud
f9927b4aca
Fix _data() versus data() issue in SparseVector, and add a Storage typedef just like SparseMatrix.
2013-01-05 23:04:22 +01:00
Gael Guennebaud
86983fa1ff
Update the overview page to reflect the new organisation
2013-01-05 21:25:41 +01:00
Gael Guennebaud
2de69c2f26
Doc presentation:
...
- remove the "modules|classes" link for module pages (they are already in the TOC)
- fine tune the TOC css
2013-01-05 17:14:14 +01:00
Gael Guennebaud
93ee82b1fd
Big changes in Eigen documentation:
...
- Organize the documentation into "chapters".
- Each chapter include many documentation pages, reference pages organized as modules, and a quick reference page.
- The "Chapters" tree is created using the defgroup/ingroup mechanism, even for the documentation pages (i.e., .dox files for which I added an \eigenManualPage macro that we can switch between \page or \defgroup ).
- Add a "General topics" entry for all pages that do not fit well in the previous "chapters".
- The highlevel struture is managed by a new eigendoxy_layout.xml file.
- remove the "index" and quite useless pages (namespace list, class hierarchy, member list, file list, etc.)
- add the javascript search-engine.
- add the "treeview" panel.
- remove \tableofcontents (replace them by a custom \eigenAutoToc macro to be able to easily re-enable if needed).
- add javascript to automatically generate a TOC from the h1/h2 tags of the current page, and put the TOC in the left side panel.
- overload various javascript function generated by doxygen to:
- remove the root of the treeview
- remove links to section/subsection from the treeview
- automatically expand the "Chapters" section
- automatically expand the current section
- adjust the height of the treeview to take into account the TOC
- always use the default .css file, eigendoxy.css now only includes our modifications
- use Doxyfile to specify our logo
- remove cross references to unsupported modules (temporarily)
2013-01-05 16:37:11 +01:00
Jitse Niesen
eac676ff6c
Set matrix to zero before inserting entries (partially fixes bug #539 ).
2013-01-03 18:00:45 +00:00
Chen-Pang He
8321b7ae74
Make KroneckerProductSparse inherit EigenBase instead of SparseMatrixBase, for it does not provide an InnerIterator.
2012-10-25 02:09:48 +08:00
Chen-Pang He
204a09cb82
Fix compile error caused by incomplete SparseMatrixBase.
2012-10-16 00:06:49 +08:00
Chen-Pang He
0508a0620b
Let KroneckerProduct inherit ReturnByValue to eliminate temporary evaluation. It's uncommon to store the product back to one of the operands.
2012-10-15 19:45:50 +08:00
Chen-Pang He
8284e7134b
Add doc for KroneckerProductSparse.
2012-10-15 00:31:09 +08:00
Chen-Pang He
c4b83461d9
Make kroneckerProduct take two arguments and return an expression, which is more straight-forward.
2012-10-15 00:21:12 +08:00
Chen-Pang He
f34db6578a
KroneckerProduct: we have const_cast_derived so why not use it?
2012-10-14 01:38:38 +08:00
Jitse Niesen
20a984cd2e
Remove #include of removed header file.
2013-01-03 16:44:15 +00:00
Gael Guennebaud
6fb3be9841
Remove useless empty file.
2013-01-03 17:05:20 +01:00
Gael Guennebaud
2ea1e49a08
Doc: replace manual TOC by doxygen's \tableofcontents command
2012-12-28 18:58:07 +01:00
Gael Guennebaud
ded70b8b58
Doc: remove page margins and limits to 60em paragraphes only instaead of the entire page (many declarations and tables are larger than 60em anyway)
2012-12-28 18:57:10 +01:00
Gael Guennebaud
3f82401890
Update doxygen files to doxygen version 1.8
2012-12-28 18:52:53 +01:00
Gael Guennebaud
f41d96deb9
Fix several documentation issues
2012-12-24 13:33:22 +01:00
Gael Guennebaud
f450303321
Fix MSVC compilation: std::log was not accessible.
2012-12-20 18:11:49 +01:00
Gael Guennebaud
85005ffbd1
Make sure sqrt and the likes are not compiled for integer type in cwiseop unit test.
2012-12-20 18:08:26 +01:00
Christoph Hertzberg
b7ea59556d
Fix bug #507 : Mark variable as unused in NDEBUG case
2012-12-20 11:21:47 +01:00
Christoph Hertzberg
0fe264869a
Merge with 6300e8ca02
2012-12-17 17:01:24 +01:00
Christoph Hertzberg
6300e8ca02
replaced compiler specific __attribute__((noinline)) by EIGEN_DONT_INLINE
2012-12-17 16:55:14 +01:00
Christoph Hertzberg
c69577ea31
Fix bug #531 : Empty line in <table> made doxygen render it as paragraphs
2012-12-17 16:13:42 +01:00
Jakob Schwendner
22e6741da9
updated geometry benchmark to handle additional cases
2012-12-17 09:33:22 +01:00
Jakob Schwendner
98798e904b
added benchmark for test vectorization in geometry package
2012-12-16 23:30:56 +01:00
Gael Guennebaud
e90752d252
Fix bug #534 : rm useless initialization of rowSpacer.
2012-12-16 20:32:48 +01:00
Gael Guennebaud
925a5b7d07
Fix bug #535 : unused variable warnings
2012-12-16 20:21:28 +01:00
Gael Guennebaud
6c8cf15c06
Fix compilation of Block/SparseBlock with MSVC
2012-12-16 19:45:48 +01:00
David Harmon
23ce05971b
Add arpack support module file
2012-12-16 19:11:24 +01:00
David Harmon
dbe1ab67ac
Added ARPACK support for standard and generalized eigenvalue problems. Currently self-adjoint only.
2012-10-06 17:18:09 -06:00
Gael Guennebaud
8844f632fa
Move work in progress Levenberg Marquardt module in unsupported
2012-12-08 18:22:23 +01:00
Gael Guennebaud
4cdcb6d793
Add missing minpack copyrights/license.
...
Fix LM header files and credits original MINPACK authors.
Move minimizeOneStep code into its own file to get it more properly credited.
2012-12-08 18:17:18 +01:00
Gael Guennebaud
d85253ccf4
Backed out changeset 363e506776
2012-12-07 20:53:19 +01:00
Desire NUENTSA
363e506776
Rename the old LevenbergMarquardt class to LevenbergMarquardtLegacy
...
Split the levenberg marquardt test and the hybrid nonlinear test
2012-12-07 15:51:25 +01:00
Desire NUENTSA
cc0fef9807
Add tests for dense and sparse levenberg-Marquardt
2012-12-07 15:48:21 +01:00
Desire NUENTSA
2aba6645f4
Move the Levenberg Marquardt to the supported branch
...
Add support for sparse computations... need SPQR module.
2012-12-07 15:47:13 +01:00
Desire NUENTSA
71cb78e1ba
Fix Incomplete Cholesky factorization. Stable but need iterative robust shift
2012-12-07 15:33:26 +01:00
Desire NUENTSA
5afaacedc6
Update SPQR interface
2012-12-07 15:32:04 +01:00
Pavel Holoborodko
895d90d3e1
Fixed mpreal for IA64 architectures
2012-12-04 18:15:46 +09:00
Gael Guennebaud
8719b1bf16
fix geometry tutorial
2012-11-29 22:48:13 +08:00
Desire NUENTSA
36414d1f3e
Update SPQR module for Sparse LM
2012-11-21 19:47:44 +01:00
Desire NUENTSA
9162a8492e
ReverseInnerIterator for SparseBlock
2012-11-16 20:00:34 +01:00
Desire NUENTSA
4acc18f100
Move VectorBlock methods into plugin section
2012-11-16 19:59:11 +01:00
Gael Guennebaud
6a790058f5
remove deprecated InnerVectorSet for the deprecated DynamicSparseMatrix class
2012-11-16 09:03:42 +01:00
Gael Guennebaud
4e60283289
Remove Sparse/InnerVectorSet expression in favor of a more general Block<> specialization for Sparse expression.
...
The specializations for "InnerPanels" are still preserved for efficiency reasons and because they offer additional usefull features.
2012-11-16 09:02:50 +01:00
Gael Guennebaud
3dc8f8536a
Generalize Block<> to support various implementation wrt StorageKind (just like other expression)
2012-11-16 09:00:27 +01:00
Gael Guennebaud
493319ae5f
plugin header files can be included more than once
2012-11-15 14:33:30 +01:00
Desire NUENTSA
b40a5b8b48
Improve the IncompleteLLT ... not yet robust
2012-11-13 18:14:34 +01:00
Desire NUENTSA
0412dff97b
Add more useful functions to SPQR interface
2012-11-13 18:13:13 +01:00
Desire NUENTSA
9cf77ce1d8
Add support for Sparse QR factorization
2012-11-12 15:20:37 +01:00
Desire NUENTSA
474716ec5b
Add restarted GMRES with deflation
2012-11-12 10:47:55 +01:00
Gael Guennebaud
a76fbbf397
Fix bug #314 :
...
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
2012-11-06 15:25:50 +01:00
Gael Guennebaud
959ef37006
Fix FindUmfpack when specifying manually the related cmake variables.
2012-11-05 23:21:02 +01:00
Gael Guennebaud
691fb92690
Disable opengl demo if Qt4 or OpenGL cannot be found.
...
(transplanted from caf24f1c9e
)
2012-10-31 11:36:45 +01:00
Gael Guennebaud
aa858cb43a
add first_multiple helper function
2012-10-30 16:27:52 +01:00
Gael Guennebaud
90fcaf11cf
SparseLU: remove the "snode" path which appears to bring nearly zero speedup
2012-10-30 15:17:58 +01:00
Gael Guennebaud
ac8c694f3e
add missing copyright
2012-10-30 15:16:47 +01:00
Gael Guennebaud
fea4220f37
SparseLU: add a specialized gemm kernel, and add padding to the supernodes such that supernodes columns are all properly aligned
2012-10-30 15:09:48 +01:00
Desire NUENTSA
f7e203fb0c
Fix build error in matrixfunctions on MSVC
2012-10-30 11:30:37 +01:00
Gael Guennebaud
b3254c9af5
fix bug #524 : Pardiso's parameter array does not have to be aligned!
2012-10-24 10:31:04 +02:00
Gael Guennebaud
138897cc06
fix bug #521 : __cpuidex is not available on all architectures supported by MSVC
2012-10-24 10:21:41 +02:00
Gael Guennebaud
9b418afff6
Windows CE does not provide an aligned_malloc function.
2012-10-24 10:12:42 +02:00
Gael Guennebaud
0753463d70
Fix bug #519 : AlignedBox::dim() was wrong for dynamic dimensions
2012-10-24 09:58:35 +02:00
Pavel Holoborodko
7857118f2e
Fixed gcc warnings, John Westwood name and round_style function
2012-10-19 22:51:55 +09:00
Pavel Holoborodko
8b84e05739
Updated multiprecision module to support the most recent version of MPFR C++
2012-10-19 18:12:31 +09:00
Desire NUENTSA
77f92bf0b1
the repeated solves are already present in check_sparse_solving()
2012-10-09 13:30:48 +02:00
dnuentsa
f757034001
MINRES solver
2012-10-09 13:07:09 +02:00
Desire NUENTSA
fe78c86b4a
Discard failing tests in NonlinearOptimization
2012-10-09 12:20:21 +02:00
Desire NUENTSA
b722c405b7
Use Ref instead of VectorBlock
2012-10-09 12:18:47 +02:00
Desire NUENTSA
23e2de3cb6
RealShur for a already Hessenberg matrix
2012-10-09 12:16:54 +02:00
Gael Guennebaud
a67eea05c1
fix comma initializer when inserting empty matrices
2012-10-03 21:58:14 +02:00
Desire NUENTSA
cfa8032ffb
bug #517 : Small typo in AsciiQuickReference
2012-10-03 09:48:33 +02: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
Gael Guennebaud
62b1f75a86
add an assertion when inserting an already existing element
2012-10-02 23:02:23 +02:00
giacomo po
bf81276dad
spd test instead of square test. Still missing complex version of MINRES.
2012-10-01 12:23:03 -07:00
Jitse Niesen
2008f76120
Merge
2012-09-29 17:35:15 +01:00
Chen-Pang He
d7d96f6694
Make testExponentLaws in matrix_power quiet. It was too noisy.
2012-09-29 17:45:59 +08:00
Chen-Pang He
50c07e50e8
Avoid memory manipulation for simplicity, efficiency, and safety.
2012-09-29 17:41:51 +08:00
Chen-Pang He
5814a5f1a0
Abort the extension. MatrixSquareRootTriangular only takes upper triangular matrices.
2012-09-29 17:41:06 +08:00
Chen-Pang He
067a5a98c8
Extend MatrixPowerTriangularAtomic for future implementation for triangular matrix power.
2012-09-29 02:02:12 +08:00
Desire NUENTSA
b68102d9a2
MSVC needs parentheses around min and max
2012-09-28 10:44:25 +02:00
giacomo po
01cb88fff8
compiling (but failing) unit test
2012-09-27 17:44:54 -07:00
Gael Guennebaud
87074d97e5
old gcc versions do not have immintrin.h file...
2012-09-27 23:35:54 +02:00
Chen-Pang He
ed18d6f2ad
Fix doc and tidy up
2012-09-28 02:08:14 +08:00
Desire NUENTSA
82c3ff3784
Fix Build error on MSVC
2012-09-27 12:04:59 +02:00
Desire NUENTSA
72bfed5e20
Add forgotten SparseLUBase
2012-09-27 11:34:56 +02:00
Chen-Pang He
3b88216d42
Move unshared items back to MatrixPower
2012-09-27 17:19:32 +08:00
Gael Guennebaud
8b83e66906
add scalar multiple to diagonal matrices
...
(transplanted from dc5b335f9f
)
2012-09-27 09:37:05 +02:00
Gael Guennebaud
1b004d5794
fix SparseMatrix option bit flag in eval<> helper
2012-09-27 09:22:10 +02:00
Gael Guennebaud
b648484dba
fix bug #515 : missing explicit scalar conversion
...
(transplanted from b0862dcb2f
)
2012-09-27 00:23:19 +02:00
Gael Guennebaud
44374788b5
fix bug #511 : pretty printers on windows
2012-09-26 23:48:48 +02:00
Gael Guennebaud
7c4b55fda9
fix bug #509 : warning with gcc 4.7
2012-09-26 23:32:22 +02:00
Chen-Pang He
73a0bfe261
Write doc on (matrix power) * (matrix expression)
2012-09-27 02:31:18 +08:00
Chen-Pang He
aa5acdb352
Create class MatrixPowerBase for further extension (like specialization for triangular or self-adjoint matrices)
2012-09-27 02:20:36 +08:00
Gael Guennebaud
7e97dd5bd8
we should not directly include the *mmintrin.h headers but include immintrin.h only
2012-09-26 19:28:57 +02:00
Gael Guennebaud
1edb396542
fix minor typo in doc
2012-09-26 19:24:41 +02:00
Desire NUENTSA
357fe3641d
Correct reference to iterative scaling method
2012-09-25 11:55:33 +02:00
Desire NUENTSA
15a9f6b9c1
Doc for sparseLU
2012-09-25 11:48:18 +02:00
Hauke Heibel
5a3f49036b
Removed scaling from the umeyama when it is not requested.
2012-09-25 11:39:40 +02:00
Desire NUENTSA
088379ac2f
Fix MSVC compile error in SparseLU
2012-09-25 09:58:29 +02:00
Desire NUENTSA
a01371548d
Define sparseLU functions as static
2012-09-25 09:53:40 +02:00
giacomo po
fd0441baee
some clean-up and new comments.
2012-09-24 09:20:40 -07:00
Chen-Pang He
d387dfa9dc
Remove unnecessary code. lazyAssign seems to fix all (noalias, initialization, etc.)
2012-09-24 23:36:19 +08:00
giacomo po
18c41aa04f
Some minor optimization.
2012-09-24 08:33:11 -07:00
giacomo po
dd7ff3f493
moved MINRES to unsupported. Made unit test.
2012-09-24 07:47:38 -07:00
Chen-Pang He
334532b7f5
Remove class MatrixPowerEvaluator with enhanced existing MatrixPowerReturnValue to simplicity, but docs are not completed yet.
2012-09-23 23:49:50 +08:00
Chen-Pang He
1d402dac03
Fix bug in MatrixPower(expression) due to destruction of temporary objects. Sorry for ugly pointer manipulation but it prevents copying a PlainObject.
2012-09-23 18:49:44 +08:00
giacomo po
8c5e4fae61
working preconditioned MINRES solver
2012-09-22 15:29:00 -07:00
Chen-Pang He
963794b04a
Eliminate unnecessary evaluations
2012-09-23 00:20:19 +08:00
Chen-Pang He
7e64f78f65
Avoid inefficient 2x2 LU
2012-09-22 22:06:22 +08:00
Chen-Pang He
d7b1049cab
Fix my typo in MatrixPowerBase.h, no effect on the flow.
2012-09-22 19:13:02 +08:00
Chen-Pang He
dd8034bd1c
Fix cost evaluation. (chain product for integral power)
2012-09-22 17:37:14 +08:00
Gael Guennebaud
7740127e3d
Make Ref<> suitable for both Matrix and Array kinds. Note that Matrix kind objects can be implicitely converted to an Array kind Ref<> and vice versa
2012-09-22 11:11:26 +02:00
Chen-Pang He
446d14f6ad
Implement matrix power-matrix product again
2012-09-22 03:26:00 +08:00
Chen-Pang He
87afd99433
Enable saving intermidiate (Schur decomposition) but disable unstable specialization for matrix power-matrix product.
2012-09-21 23:24:28 +08:00
Desire NUENTSA
7e0dd17312
Improve BiCGSTAB : With exact preconditioner, the solution should be found in one iteration
2012-09-19 18:32:02 +02:00
Chen-Pang He
d5d99dd1f0
Optimize matrix functions: m_fT is triangular and trmm is faster than gemm
2012-09-16 14:42:42 +08:00
Gael Guennebaud
48c4d48aec
workaround weird compilation error with MSVC
2012-09-14 09:54:56 +02:00
Gael Guennebaud
0c584dcf4d
fix compilation with m.array().min/max(scalar)
2012-09-12 17:50:07 +02:00
Gael Guennebaud
28528519e9
Merged in jdh8/eigen (pull request PR-17)
2012-09-11 21:36:05 +02:00
Gael Guennebaud
9e80822fc9
fix compilation on freebsd
2012-09-11 13:32:56 +02:00
Desire NUENTSA
45672e724e
Incomplete Cholesky preconditioner... not yet stable
2012-09-11 12:12:19 +02:00
Benoit Jacob
504edbddb1
Replace COPYING.LGPL by a copy of the LGPL 2.1 (instead of LGPL 3).
...
Indeed, all the LGPL code we use, is licensed under LGPL 2.1 (with some files being "2.1 or later").
2012-09-10 13:27:44 -04:00
Desire NUENTSA
2d49d049d1
Clean the Colamd routine and add test for sparselu code
2012-09-10 14:41:17 +02:00
Desire NUENTSA
761fe49f37
Clean the Colamd routine
2012-09-10 14:28:28 +02:00
Desire NUENTSA
2c99d84133
add SparseLU in sparse bench
2012-09-10 12:41:26 +02:00
Chen-Pang He
04f315d692
Fix rank-1 update for self-adjoint packed matrices.
2012-09-10 18:25:30 +08:00
Chen-Pang He
65caa40a3d
Implement packed triangular solver.
2012-09-10 06:29:02 +08:00
Chen-Pang He
3642ca4d46
Implement packed triangular matrix-vector product.
2012-09-09 23:34:45 +08:00
Chen-Pang He
2828c995c5
Use conj_expr_if to clarify what it's doing.
2012-09-09 21:35:28 +08:00
Chen-Pang He
669db3d776
Extend rank-1 updates for different storage orders.
2012-09-09 02:55:10 +08:00
Chen-Pang He
1b8f416408
Implement rank-1 update for self-adjoint packed matrices.
2012-09-08 22:51:40 +08:00
Chen-Pang He
dac5a8a37d
Simplify Rank2Update.h
2012-09-08 22:20:05 +08:00
Chen-Pang He
17c746523e
Comment FIXMEs on Rank2Update.h and remove unused files.
2012-09-08 21:25:09 +08:00
Gael Guennebaud
24f371bdb4
Merged in jdh8/eigen (pull request PR-16)
2012-09-08 12:16:49 +02:00
Gael Guennebaud
721671cc4e
fix bug #501 : remove aggressive mat/scalar optimization (was replaced by mat*(1/scalar) for non integer types)
2012-09-08 11:52:03 +02:00
Chen-Pang He
e4e7585a24
Implement rank-2 update for packed matrices.
2012-09-08 17:29:44 +08:00
Chen-Pang He
b5f9bec8ac
Perform direct calls in xHEMV and xSYMV.
2012-09-08 15:47:33 +08:00
Gael Guennebaud
06d2fe453d
remove stupid assert in blue norm.
2012-09-07 23:19:24 +02:00
Chen-Pang He
1b61aadcbe
Implement SDSDOT with DSDOT and avoid allocating buffers in DSDOT.
2012-09-08 02:06:45 +08:00
Chen-Pang He
b0b9b4d6b2
Implement functors for rank-1 and rank-2 update.
2012-09-08 01:39:16 +08:00
Desire NUENTSA
5433986f5a
multiple warnings for unused variable
2012-09-07 14:01:51 +02:00
Desire NUENTSA
fdd0f0c5fc
merge Sparse LU branch
2012-09-07 13:18:16 +02:00
Desire NUENTSA
063705b5be
Add tutorial for sparse solvers
2012-09-07 13:14:57 +02:00
Chen-Pang He
145f89cd5f
Fix memory leak in DSDOT.
2012-09-07 15:21:57 +08:00
Chen-Pang He
c86d047c2f
BLAS: implement DSDOT and SDSDOT; update test for them.
2012-09-05 18:59:32 +08:00
Desire NUENTSA
2280f2490e
Init perf values
2012-09-04 12:21:07 +02:00
Desire NUENTSA
2e38666d01
correct bug in Blas 3 2D block update
2012-09-04 11:36:57 +02:00
Desire NUENTSA
3a22c47fb5
Bug in blas 3 2D block update
2012-09-03 14:49:03 +02:00
Desire NUENTSA
288e6aab14
Insert XSL styles into output XML files
2012-09-03 10:33:39 +02:00
Chen-Pang He
c4051d3d02
Fix a typo in blas/common.h
2012-09-03 15:31:19 +08:00
giacomo po
751501eade
added preconditioner with preconditioned-Lanczos iteration
2012-09-01 21:59:06 +02:00
Chen-Pang He
d4144583bb
Write dox for assertions
2012-08-31 21:53:02 +08:00
Chen-Pang He
d23134e4a7
Avoid inefficient 2x2 LU. Move atanh to internal for maintainability.
2012-08-30 23:40:30 +08:00
Gael Guennebaud
9da41cc527
forward resize() function from Array/Matrix-Wrapper to the nested expression such that mat.array().resize(a,b) is now allowed.
2012-08-30 16:28:53 +02:00
giacomo po
5f3880c5a8
some optimization in MINRES, not sure about convergence criterion
2012-08-30 13:10:08 +02:00
Gael Guennebaud
c5031edb92
Fix out-of-range memory access in GEMV (the memory was not used for the computation, only to assemble unaligned packets from aligned packet loads)
...
(transplanted from 221f54698c
)
2012-08-30 10:52:15 +02:00
giacomo po
064f3eff95
first working version. Still no preconditioning
2012-08-30 10:01:34 +02:00
Chen-Pang He
d0ee31aea6
Fix dox and tabbing
2012-08-29 01:56:23 +08:00
Chen-Pang He
ba4e886376
Tidy up and write dox.
2012-08-28 01:55:13 +08:00
Chen-Pang He
5252d823c9
Optimize matrix power
2012-08-26 02:15:41 +08:00
Chen-Pang He
1cd4279b03
Fix a lot in MatrixPower.h
2012-08-25 01:09:20 +08:00
Jitse Niesen
edc7a09ee7
merge
2012-08-27 22:57:39 +01:00
Chen-Pang He
bfaa7f4ffe
Add test for matrix power.
...
Use Christoph Hertzberg's suggestion to use exponent laws.
2012-08-27 22:48:37 +01:00
Desire NUENTSA W.
fe9956defe
Read real and complex bench matrices from a unique folder
...
Output and display bench results using XML and XSLT
2012-08-27 22:52:43 +02:00
Chen-Pang He
b55d260ada
Replace atanh with atanh2
2012-08-27 21:43:41 +01:00
Gael Guennebaud
ebe511334f
workaround clang bug (see http://forum.kde.org/viewtopic.php?f=74&t=102653 )
2012-08-27 14:50:45 +02:00
Gael Guennebaud
576d62db64
fix a typo in commit 324ecf153b
...
(regarding MKL on windows)
2012-08-27 13:17:45 +02:00
Gael Guennebaud
75435079ca
fix bug #499 : the image was missing because of a dependency issue when building/executing the "special" examples
2012-08-27 11:11:25 +02:00
Gael Guennebaud
aa1aa36d6d
simplify eigen-doc.tgz file generation, and make it more future proof
2012-08-27 10:56:44 +02:00
Gael Guennebaud
904c2e6cfb
remove EXTRACT_ALL
2012-08-27 10:30:10 +02:00
Thomas Capricelli
edc496f087
add piwik code to documentation (web stats engine)
2012-08-21 22:36:29 +02:00
jdh8
1b4aed7255
Fix toc in dox and claim copyright
2012-08-20 03:04:28 +08:00
jdh8
573d88f81c
Dox in MatrixFunctions
2012-08-19 18:12:04 +08:00
jdh8
15dabd4db7
Bugfix in MatrixLogarithm.h
2012-08-18 21:28:05 +08:00
Hauke Heibel
42c1b9a8dd
Ensured that all branches of MatrixLogarithmAtomic::getPadeDegree return values.
2012-08-18 10:18:31 +02:00
jdh8
f047030104
Add specialization for float and long double
2012-08-18 02:27:47 +08:00
Jitse Niesen
dee866a99a
Undo incorrect fix in previous commit, and fix real mistake instead.
2012-08-17 15:36:37 +01:00
Jitse Niesen
5eefca637e
Documentation fixes. Thanks to Rodney Sparapani for reporting these.
2012-08-17 14:49:18 +01:00
jdh8
2337ea430b
Remove useless code (abort specialization for complex exponent temporarily)
2012-08-15 20:56:03 +08:00
jdh8
4be172d84f
matrix power: MatrixBase::pow(RealScalar) and MatrixBase::pow(T) where T is integral type
2012-08-15 00:34:20 +08:00
jdh8
c5800a2452
using std::frexp instead of frexp
2012-08-08 17:50:56 +08:00
jdh8
8cddcaf839
Optimize getting exponent from IEEE floating points.
2012-08-08 01:27:11 +08:00
Desire NUENTSA
63d2dcfb70
Clean the supernodal matrix class
2012-08-07 17:10:42 +02:00
Desire NUENTSA
43f74cb5b1
Bug in 2D block update, disable it for now
2012-08-07 13:55:50 +02:00
Desire NUENTSA
4d3b7e2a13
Add support for Metis fill-reducing ordering ; it is generally more efficient than COLAMD ordering
2012-08-06 14:55:02 +02:00
Gael Guennebaud
a1b405c92e
Add missing const in some casts
2012-08-05 10:40:46 +02:00
Gael Guennebaud
af824091be
Fix precision regression when attempting to fix underflow issues.
2012-08-05 09:57:31 +02:00
jdh8
93967b0dd6
Fix some typos in MatrixLogarithm to improve accuracy.
2012-08-03 23:54:42 +08:00
Desire NUENTSA
a51806993b
Prefix with glu, the global structure
2012-08-03 16:43:12 +02:00
Desire NUENTSA
70db61c269
Prefix with glu, the global structure
2012-08-03 16:36:00 +02:00
Gael Guennebaud
03509d1387
SparseLU: add leverage level3 ops
2012-08-03 15:37:44 +02:00
Gael Guennebaud
48dc95f1da
factorize column_dfs and panel_dfs
2012-08-02 18:28:16 +02:00
Desire NUENTSA
7dc39b7037
Add unit tests
2012-08-03 13:05:45 +02:00
Desire NUENTSA
6e8aa96e0f
correct bug when solving with multiple Rhs
2012-08-03 13:05:27 +02:00
Gael Guennebaud
c73c3ec2f8
fix bug #495 : remove too aggressive EIGEN_FLATTEN_ATTRIB attribute
...
(after some benchmarking, it was not useful anymore)
2012-08-02 12:22:22 +02:00
Desire NUENTSA
e3ac608e41
bug #493 : multiple calls to FindUmfPack
...
(transplanted from 1914024965
)
2012-08-02 10:00:23 +02:00
Desire NUENTSA
3a0f5a2a7f
Update copyrights sections
2012-08-01 11:40:56 +02:00
Desire NUENTSA
02935b4249
switch to MPL license
2012-08-01 11:38:32 +02:00
Desire NUENTSA
390d6599ba
Add missing .noalias()
2012-08-01 11:35:23 +02:00
Gael Guennebaud
7d98c864ff
fix warning
2012-08-01 10:44:59 +02:00
Gael Guennebaud
22e0ebbc2c
fix lower acceptable bound of SSE pexp for double
2012-07-31 23:11:04 +02:00
Gael Guennebaud
e88817cc51
add another missing .noalias()
2012-07-30 19:28:31 +02:00
Gael Guennebaud
8f6d5eacb4
optimize LU_kernel_bmod for small cases, and add an important .noalias()
2012-07-29 22:26:00 +02:00
Jitse Niesen
696b2f999f
Eigenvalues module: Implement setMaxIterations() methods.
2012-07-28 21:30:09 +01:00
Gael Guennebaud
6f54269829
add an example for GeneralizedEigenSolver
2012-07-28 18:00:54 +02:00
Gael Guennebaud
8ab0e16e27
fix various regressions with MKL support
2012-07-28 16:32:43 +02:00
Alexey Korepanov
d937e67b48
RealQZ: added example and some code comments
2012-07-28 08:24:44 -05:00
Hauke Heibel
52a0e0d65e
Added a default constructor for Splines which creates zero (constant) splines.
2012-07-28 13:37:29 +02:00
Gael Guennebaud
f23dd7c6f1
Fix typo in the doc: s/Succeeded/Success
2012-07-28 13:07:45 +02:00
Gael Guennebaud
e8aa1f00c5
add SSE pexp function for double, make use of _mm_floor_p* for pexp with SSE4.1
2012-07-27 23:40:04 +02:00
Desire NUENTSA W.
ce30d50e3e
Improve the permutation
2012-07-27 16:38:20 +02:00
Gael Guennebaud
6eee2918d9
extend quotient functor to allow for mixed types (complex-real)
2012-07-27 11:56:20 +02:00
Desire NUENTSA W.
c0fa5811ec
Refactoring codes for numeric updates
2012-07-27 11:36:58 +02:00
Gael Guennebaud
9e8d2dea80
Add a preliminary GeneralizedEigenSolver computing the eigenvalues of Av=lBv with A and B general real matrices.
...
Currently only the eigenvalues are reported.
2012-07-26 20:15:17 +02:00
Gael Guennebaud
cfb76b242f
RealSchur: improve speed of computeNormOfT
2012-07-26 18:04:58 +02:00
Gael Guennebaud
4e60e2cdf6
RealQZ: improve computeNorms speed, improve shift accuracy (better to do a/b than a*(1/b)),
...
update API to set the maximum number of iterations
2012-07-26 18:03:10 +02:00
Gael Guennebaud
7518201de8
SparseMatrix: add missing ctor for ReturnByValue
2012-07-25 23:03:10 +02:00
Alexey Korepanov
ea310249f3
RealQZ: bug in pushDownZero fixed too
2012-07-25 12:49:18 -05:00
Alexey Korepanov
a3a9773ab6
RealQZ: bug in splitOffTwoRows fixed
2012-07-25 12:17:00 -05:00
Desire NUENTSA
925ace196c
correct bug in the complex version
2012-07-19 18:15:23 +02:00
Desire NUENTSA
59642da88b
Add exception handler to memory allocation
2012-07-19 18:03:44 +02:00
Desire NUENTSA
b0cba2d988
Add a draft (not clean ) version of the COLAMD ordering implementation
2012-07-18 16:59:00 +02:00
Jitse Niesen
bf7d986af6
Add static assert that objects on stacks are not too big (bug #491 ).
2012-07-17 22:15:42 +01:00
Gael Guennebaud
e75b1eb883
Fix aliasing issue in sparse matrix assignment.
...
(m=-m; or m=m.transpose(); with m sparse work again)
2012-07-25 09:33:50 +02:00
Gael Guennebaud
7b34b5f6f9
do not apply plane rotation when it is exactly the identity
2012-07-24 18:19:56 +02:00
Gael Guennebaud
e7c07de549
RealQZ: optimize general hessenberg to not apply rotations to zero entries.
2012-07-24 18:16:22 +02:00
Gael Guennebaud
c1cab7b8ed
real QZ: update license
2012-07-24 18:11:41 +02:00
Desire NUENTSA
773804691a
working version of sparse LU with unsymmetric supernodes and fill-reducing permutation
2012-07-13 17:32:25 +02:00
Alexey Korepanov
65db91ac2b
Add a RealQZ class: a generalized Schur decomposition for real matrices
2012-07-11 16:38:03 -05:00
Jitse Niesen
ba5eecae53
Allow user to specify max number of iterations (bug #479 ).
2012-07-24 15:17:59 +01:00
Jitse Niesen
b7ac053b9c
Use EISPACK's strategy re max number of iters in Schur decomposition (bug #479 ).
2012-07-22 22:02:50 +01:00
Jitse Niesen
fd5749f51c
LDLT: Report sign consistent with D for indefinite matrices.
...
See http://forum.kde.org/viewtopic.php?f=74&t=106942
2012-07-22 21:39:38 +01:00
Jitse Niesen
907f4562ac
Fix some illegal memory access in sparse conservativeResize()
2012-07-20 22:51:51 +01:00
Benjamin Piwowarski
6bf49ceac2
bug #449 : add SparseMatrix::conservativeResize feature
2012-07-19 00:07:06 +02:00
Benoit Jacob
3f08a6a126
add COPYING.MINPACK
2012-07-15 11:46:22 -04:00
Benoit Jacob
df06e5662d
MINPACK license is OK for MPL2 after all
2012-07-15 10:30:57 -04:00
Benoit Jacob
f28e95500b
add COPYING.README
2012-07-15 10:29:09 -04:00
Benoit Jacob
9bf3ec134e
add COPYING.MPL2
2012-07-15 10:20:59 -04:00
Benoit Jacob
b596f6c10c
remove outdated "Eigen itself is part of the KDE project" outside of eigen2 files
2012-07-15 10:33:40 -04:00
Jitse Niesen
d3998de472
Silence clang warning about && inside ||
2012-07-14 15:50:56 +01:00
Jitse Niesen
4ae3e0a9b8
Evaluators: Fixed bug caused by Diagonal dynamic index change.
...
This caused the evaluators unit test to fail.
2012-07-14 14:55:04 +01:00
Gael Guennebaud
79214745c7
clean Eigen2Support wrt KDE mentions
2012-07-14 10:15:45 +02:00
Gael Guennebaud
e59f95a9a0
clean old KDE mention and related
2012-07-14 10:04:26 +02:00
Gael Guennebaud
54559094ec
document EIGEN_MPL2_ONLY
2012-07-14 09:56:03 +02:00
Gael Guennebaud
46b1c7a0ce
fix bug #485 : conflict between a typedef and template type parameter
2012-07-13 20:54:38 +02:00
Benoit Jacob
269be00925
Add a EIGEN_MPL2_ONLY build option to generate compiler errors when including non-MPL2 modules
2012-07-13 14:42:47 -04:00
Benoit Jacob
0733e622a3
Manual MPL2 relicensing fixes
2012-07-13 14:42:47 -04:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Keir Mierle
d4ca0963bc
Add preliminary script to relicense Eigen to MPL2.
2012-07-11 11:29:52 -07:00
Gael Guennebaud
904ecdf9d8
Add a DynamicIndex constant for signed quantities and use it to fix the conflict
...
between Diagonal<S,-1> (the first sub diagonal) and a runtime super/sub diagonal which is now:
Diagonal<S,DynamicIndex>
2012-07-10 23:04:17 +02:00
Gael Guennebaud
3e6329a0d9
fix computation of fixed size sub/super diagonal size
2012-07-10 22:39:05 +02:00
Desire NUENTSA
e529bc9cc1
correct bug when applying column permutation
2012-07-10 19:18:50 +02:00
Desire NUENTSA
de2544cc9b
working version of sparse LU without fill-reducing permutation
2012-07-10 19:16:57 +02:00
Gael Guennebaud
a2c3003be2
Fix possible underflow issues in SelfAdjointEigenSolver
2012-07-10 09:51:26 +02:00
Desire NUENTSA
3095e4a5f9
Correct bug for triangular solve within supernodes
2012-07-09 19:09:48 +02:00
Gael Guennebaud
ff12a6cd43
fix include path
2012-07-08 16:18:51 +02:00
Desire NUENTSA
b5a83867ca
Update Ordering interface
2012-07-06 20:18:16 +02:00
Jitse Niesen
b1b6864c88
Evaluators: Remove member variables if known at compile-time.
...
Also, use composition instead of inheritance in EvalToTemp evaluator.
2012-07-06 14:50:03 +01:00
Desire NUENTSA
203a0343fd
Update Ordering interface
2012-07-06 13:34:06 +02:00
Gael Guennebaud
7bfd8eabff
fix compilation with MSVC
2012-07-05 21:58:01 +02:00
Gael Guennebaud
5dbdde0420
Fix bug #480 : workaround the Android NDK defining isfinite as a macro
2012-07-05 17:22:25 +02:00
Gael Guennebaud
23df2eed46
bug #481 step 1: add a new Ref<> class for non templated function arguments
2012-07-05 17:00:28 +02:00
Jitse Niesen
60edf02f6f
doc: Typo in CustomizingEigen, introduced in previous commit.
...
Thanks to Christoph Hertzberg for noting this.
2012-07-05 13:56:28 +01:00
Jitse Niesen
37d5825c5a
merge
2012-07-05 13:39:06 +01:00
Jitse Niesen
b582b2ebdc
doc: Add constructor to example for inheritance.
...
See "Error in Inheriting Eigen::Vector3d" on forum.
2012-07-05 13:36:02 +01:00
Gael Guennebaud
0a7ce6ad69
fix bug #486 : template speacialization of member functions must be declared inline to avoid duplicate references
2012-07-05 13:32:23 +02:00
Jitse Niesen
cb9f3685d3
Move implementation of coeff() &c to Matrix/Array evaluator.
2012-07-05 11:09:42 +01:00
Christoph Hertzberg
03fe095622
bug #488 : Add setShift method (and functionality) to Cholmod classes
...
Also check for Success of numerical factorization
2012-07-04 18:46:14 +02:00
Gael Guennebaud
54d55aeaf6
fix bug #487 : isometry * scaling was not compiling
2012-07-04 18:25:07 +02:00
Konstantinos Margaritis
d878cf2227
fix typo
2012-07-04 11:28:59 +03:00
Konstantinos Margaritis
f737536744
fix NEON port, use vget_lane_*() instead of temporary variables (saves extra
...
load/store), following advice by Josh Bleecher Snyder <josharian@gmail.com >.
Also implement pmadd() using vmla instead of nested padd/pmul.
2012-07-04 11:12:02 +03:00
Gael Guennebaud
9a97dac4d9
Doc: add an example for HouseholderQR::householderQ()
2012-07-02 16:33:32 +02:00
Gael Guennebaud
eee34f2da4
workaround compilation issue with MSVC 2005
2012-07-02 10:20:44 +02:00
Desire NUENTSA
15f1563533
Before moving to the new building
2012-06-29 17:45:10 +02:00
Jitse Niesen
746378868a
Implement A.noalias() = B * C without temporaries
...
* Wrap expression inside EvalToTemp in copy_using_evaluators() if we
assume aliasing for that expression (that is, for products)
* Remove temporary kludge of evaluating expression to temporary in
AllAtOnce traversal
* Implement EvalToTemp expression object
2012-06-29 13:54:09 +01:00
Jitse Niesen
d0b873822f
Make product eval-at-once.
...
* Make product EvalAtOnce in cases OuterProduct, GemmProduct and
GemvProduct
* Ensure that product evaluators are nested inside EvalToTemp
evaluator
* As temporary kludge, evaluate expression to temporary in AllAtOnce
traversal and pass expression operator to evalTo()
2012-06-29 13:49:25 +01:00
Jitse Niesen
2393ceb380
Implement eval-at-once in evaluator.
...
- Add evaluator_traits with HasEvalTo flag, which is true if evaluator
has evalTo() function.
- Add AllAtOnce traversal, which calls evalTo() in evaluator.
- If source evaluator in copy_using_evaluator has HasEvalTo set, then
use AllAtOnce traversal.
2012-06-29 13:32:12 +01:00
Jitse Niesen
c1eb820e50
Implement interface for NoAlias assignments.
...
* Rename the old copy_using_evaluators to noalias_copy_using_evaluators.
* Write a new copy_using_evaluators which strips NoAlias expression, if present,
and calls noalias_copy_using_evaluators; in future, it will also take care of
aliasing in products.
* Add expression() getter to NoAlias.
2012-06-29 13:24:04 +01:00
Jitse Niesen
069fd0e4be
Move (part of) evaluation of products to evaluator objects.
...
* Copy implementation from CoeffBasedProduct.
* Copy implementation from GeneralProduct in InnerProduct case.
* For GeneralProduct in other cases, call the evalTo() member function with
expression objects in constructor of evaluator.
2012-06-29 13:07:21 +01:00
Gael Guennebaud
9629ba361a
bug #482 : pass scalar by const ref - pass on the sparse module
...
(also fix a compilation issue due to previous pass)
2012-06-28 21:01:02 +02:00
Jitse Niesen
23184527fa
Resize lhs automatically in copy_using_evaluator().
2012-06-28 15:25:25 +01:00
Gael Guennebaud
139c91bf30
fix implicit scalar conversion
2012-06-28 13:12:49 +02:00
Gael Guennebaud
a2ace4b79a
bug #482 : pass scalar arguments by const references. This changeset only concerns the Core and Geometry modules
2012-06-28 02:08:59 +02:00
Gael Guennebaud
cc964b6caf
fix performance regression due to check_rows_cols_for_overflow and add appropriate assertions in the PlainObjectBase::resize() functions.
...
The fix consists in disabling this useless test for statically allocated objects.
2012-06-26 22:16:07 +02:00
Gael Guennebaud
57b5804974
remove dynamic allocation for fixed size object and triangular matrix-matrix products
2012-06-26 17:45:01 +02:00
Jitse Niesen
8994f9962a
Fix bug in {Matrix,Array}Wrapper evaluator
2012-06-24 17:35:27 +01:00
Jitse Niesen
d0d077b212
Fix bug in evaluators with sliced vectorization.
2012-06-24 17:33:21 +01:00
Jitse Niesen
172af9facc
Fix an evaluator test which was wrong and failed in debug builds.
2012-06-24 17:31:19 +01:00
Gael Guennebaud
7c32904766
typo
2012-06-24 10:13:28 +02:00
Gael Guennebaud
e46fc8c05c
fix GMRES
2012-06-23 19:29:21 +02:00
Gael Guennebaud
cc6dd55028
put the resurected files into the Eigen namespace
2012-06-22 16:35:20 +02:00
Gael Guennebaud
62c504e7bf
fix most of the shadow warnings in Core/*.h
2012-06-22 16:32:45 +02:00
Gael Guennebaud
5fae6c7848
resurrect expression evaluators
2012-06-22 09:39:35 +02:00
Gael Guennebaud
81e39e1bc6
bump default branch to 3.1.90
2012-06-22 09:27:24 +02:00
Gael Guennebaud
b737850d38
Added tag 3.1.0-rc2 for changeset dd86165c13
2012-06-21 22:00:32 +02:00
Gael Guennebaud
dd86165c13
bump to 3.1.0-rc2
2012-06-21 22:00:13 +02:00
Gael Guennebaud
110cf8bbf5
fix compilation issue with MKL's backend
2012-06-21 17:03:15 +02:00
Gael Guennebaud
d428b620aa
add the multithreading topic in the topic list
2012-06-21 10:54:16 +02:00
Gael Guennebaud
eb626877d7
fix sparse benchmark help
2012-06-21 10:53:36 +02:00
Gael Guennebaud
6f3057f624
extend documentation of *Support modules
2012-06-21 10:51:22 +02:00
Gael Guennebaud
5b5f3ecafa
MPreal: extended unit test, remove useless internal overloads, add support for internal::cast (needed for printing)
2012-06-21 10:02:32 +02:00
Gael Guennebaud
7380592bc2
patch mpfr c++ copy to fix warnings and min/max issues
2012-06-21 09:59:44 +02:00
Gael Guennebaud
b5093e2585
update internal mpfr C++ copy
2012-06-21 09:56:54 +02:00
Jitse Niesen
8c71d7314b
Fix some typos in sparse tutorial.
2012-06-20 09:52:45 +01:00
Gael Guennebaud
b96b429aa2
fix bug #478 : RealSchur failed on a zero matrix.
2012-06-20 10:08:32 +02:00
Gael Guennebaud
c8346abcdd
fix bug #477 : warning with gcc 4.7
2012-06-20 09:54:52 +02:00
Gael Guennebaud
52dce0c126
significantly extend the tutorial of sparse matrices
2012-06-20 09:28:32 +02:00
Gael Guennebaud
882912b85f
comment two tests in nomalloc (there is no regression here, it's just I've been too optimistic when adding them recently)
2012-06-20 08:58:26 +02:00
Gael Guennebaud
1727373706
fix geometry tutorial about scalings.
2012-06-18 22:07:13 +02:00
Gael Guennebaud
47a77d3e38
update custom scalar type doc
2012-06-18 21:49:55 +02:00
Gael Guennebaud
791e28f25d
update adolc support wrt "new" NumTraits mechanism
2012-06-18 21:32:56 +02:00
Jitse Niesen
148587e229
Update custom scalar example, based on unstable/Eigen/AdolcForward .
2012-06-16 20:35:59 +01:00
Gael Guennebaud
3c9289129b
prevent the allocation of the two preconditioner, only one is needed
2012-06-15 23:22:34 +02:00
Desire NUENTSA
f0c34c6822
Build finished... start debugging
2012-06-15 17:23:54 +02:00
Gael Guennebaud
aa3daad883
fix a warning and formatting
2012-06-15 09:16:10 +02:00
Gael Guennebaud
3fd2beebc8
Matrix-Market: fix perf issue and infinite loop
2012-06-15 09:07:13 +02:00
Gael Guennebaud
c858fb353f
fix a few warnings
2012-06-15 09:06:32 +02:00
Gael Guennebaud
37d367a231
fix typo in unsupported/NumericalDiff
2012-06-15 07:56:55 +02:00
Gael Guennebaud
12e9f3b0fc
Added tag 3.1.0-rc1 for changeset 4ca5735de4
2012-06-14 21:26:11 +02:00
Gael Guennebaud
4ca5735de4
bump to 3.1.0-rc1
2012-06-14 21:25:50 +02:00
Desire NUENTSA
0c9b08e46e
build complete... almost
2012-06-14 18:45:04 +02:00
Gael Guennebaud
b9f25ee656
bug #466 : better fix for the race condition: this new patch add an initParallel()
...
function which must be called at the initialization time of any multi-threaded
application calling Eigen from multiple threads.
2012-06-14 14:24:15 +02:00
Gael Guennebaud
a3e700db72
fix bug #475 : .exp() now returns +inf when overflow occurs (SSE)
2012-06-14 10:38:39 +02:00
Gael Guennebaud
324ecf153b
disable the MKL's vm*powx functions on windows
2012-06-14 09:49:57 +02:00
Desire NUENTSA
f8a0745cb0
Build process...
2012-06-13 18:26:05 +02:00
Desire NUENTSA
c0ad109499
Checking Data structures and function prototypes
2012-06-12 18:19:59 +02:00
Gael Guennebaud
9c7b62415a
simplify and clean a bit the Pastix support module
2012-06-12 16:47:14 +02:00
Gael Guennebaud
4e8523b835
update blas interface for trsm
2012-06-12 14:33:03 +02:00
Gael Guennebaud
88e051019b
extend nomalloc unit test to test the solve calls
2012-06-12 13:12:47 +02:00
Gael Guennebaud
cd48254a87
fix inclusion order
2012-06-12 11:40:33 +02:00
Gael Guennebaud
924c7a9300
avoid dynamic allocation for fixed size triangular solving
2012-06-12 11:33:50 +02:00
Desire NUENTSA
bccf64d342
Checking Syntax...
2012-06-11 18:52:26 +02:00
Gael Guennebaud
bc580bbffb
fix typo
2012-06-11 18:49:30 +02:00
Desire NUENTSA W.
0591011d5c
Sparse LU - End Triangular solve... start debugging
2012-06-10 23:36:38 +02:00
Gael Guennebaud
f2849fac20
Fix bug #466 : race condition destected by helgrind in manage_caching_sizes.
...
After all, the solution based on threadprivate is not that costly.
2012-06-08 17:29:02 +02:00
Desire NUENTSA
7bdaa60f6c
triangular solve... almost finished
2012-06-08 17:23:38 +02:00
Gael Guennebaud
28d0a8580e
workaround ICC 11.1 compilation issue
2012-06-08 14:13:28 +02:00
Gael Guennebaud
7e36d32b32
fix ambiguous calls in the functors by prefixing function calls with internal::
2012-06-08 09:53:50 +02:00
Desire NUENTSA
f091879d77
Memory management
2012-06-07 19:06:22 +02:00
Gael Guennebaud
5cec86cb1e
BTL: add missing TRMM plots, update Eigen's interface
2012-06-07 18:35:38 +02:00
Gael Guennebaud
512e0b151b
clean the support for testing existing sparse problems
2012-06-07 18:31:09 +02:00
Gael Guennebaud
83c932ed15
fix a warning
2012-06-07 18:22:13 +02:00
Gael Guennebaud
1e5e66b642
For consistency, Simplicial* now factorizes P A P^-1 (instead of P^-1 A P).
...
Document how is applied the permutation in Simplicial* .
2012-06-07 16:24:46 +02:00
Gael Guennebaud
63c6ab3e42
fix documentaion of twistedBy
2012-06-07 16:18:00 +02:00
Gael Guennebaud
c1edb7fd95
Added tag 3.1.0-beta1 for changeset b7a7285909
2012-06-06 22:34:08 +02:00
Gael Guennebaud
b7a7285909
bump to beta1
2012-06-06 22:33:39 +02:00
Gael Guennebaud
5a697e495c
fix installation path
2012-06-06 22:32:44 +02:00
Desire NUENTSA
268ba3b521
Memory expansion and few bugs
2012-06-06 18:23:39 +02:00
Gael Guennebaud
05af70a958
make sure we do not solve with a null right hand side
2012-06-06 17:11:50 +02:00
Gael Guennebaud
fd32697074
Fix stopping criteria of CG
2012-06-06 17:11:16 +02:00
Gael Guennebaud
b9f0eabd93
discourage users to user developer preprocessor directives
2012-06-06 15:36:08 +02:00
Gael Guennebaud
84d20720b2
fix umfpack for row-major
2012-06-06 09:44:53 +02:00
Gael Guennebaud
9d2b6dd71a
test block objects for sparse solving
2012-06-06 09:40:01 +02:00
Gael Guennebaud
c58b759865
Fix bug #454 : allow Block/Map objects for solving with SuperLU
2012-06-06 09:37:59 +02:00
williami
fc5f21903b
Fixed RVCT 3.1 compiler errors.
2012-06-04 10:21:16 -05:00
Gael Guennebaud
cb64e587c5
Fix kdBVH unit test
2012-06-04 22:01:06 +02:00
Gael Guennebaud
945179b26c
CholmodDecomposition now has explicit variants. These variants will allow to provide access to the underlying factors.
2012-06-04 13:24:41 +02:00
Gael Guennebaud
5f5a4d4546
make Simplicial* non-copyable, and fix return type of Simplicial*::compute()
2012-06-04 13:22:44 +02:00
Gael Guennebaud
a2ae063491
add a noncopyable base class for decompositions
2012-06-04 13:21:15 +02:00
Gael Guennebaud
1b20e16546
extend umfpack support
2012-06-04 10:39:57 +02:00
Desire NUENTSA
4e5655cc03
Supernodal Matrix
2012-06-01 18:44:51 +02:00
Gael Guennebaud
b509cf0742
Fix bug #468 : generalize UmfPack support to accept any input at the cost of an implicit copy.
2012-06-01 16:31:36 +02:00
Gael Guennebaud
7f63169f09
SimplicialCholesky: avoid multiple twisting of the same matrix when calling compute()
2012-06-01 15:51:03 +02:00
Desire NUENTSA
b26d6b02de
Eliminate and prune columns in a panel
2012-05-31 17:10:29 +02:00
Desire NUENTSA
8608d08d65
Symbolic and numeric updates within the panel
2012-05-30 18:09:26 +02:00
Desire NUENTSA
8ab820b5b8
Symbolic and numeric update on a whole panel
2012-05-29 17:55:38 +02:00
kmargar
97cdf6ce9e
ARM NEON supports multiply-accumulate instruction vmla, use that in pmadd().
2012-05-28 14:55:23 +03:00
Desire NUENTSA
b6267507ea
Add preliminary files for SparseLU
2012-05-25 18:17:57 +02:00
Desire NUENTSA
b202c5ed2f
The sparse quick reference guide is not ready
2012-05-25 18:02:38 +02:00
Desire NUENTSA
1b9097644d
Add common options to the benchmark interface
2012-05-25 17:58:43 +02:00
Desire NUENTSA
5cbe6a5fbf
Read header of Hermitian matrices
2012-05-25 17:53:37 +02:00
Desire NUENTSA
2fecd818c4
Add a preliminary reference guide on sparse interface
2012-05-25 17:52:11 +02:00
Gael Guennebaud
695a7ab9d7
protect min/max with parenthesis
2012-05-15 08:18:39 +02:00
Jitse Niesen
b5f70814c1
Warn users against dangerous macros.
...
Also, mark EIGEN_DEFAULT_TO_ROW_MAJOR as internal (see also bug #422 ).
2012-05-13 21:42:45 +01:00
Gael Guennebaud
ce2e2fe336
bug #455 : add support for c++11 in aligned_allocator
2012-05-03 11:55:30 +02:00
Jitse Niesen
823c44e4e5
merge
2012-05-02 17:21:29 +01:00
Philip Avery
cb3b1bb73e
AutoDiffScalar: fix bug with operator/, add missing functions
2012-05-02 17:17:12 +02:00
clusty
d062a8bd31
Got rid of a warning message by doing an explicit cast
2012-05-02 10:50:44 -04:00
Gael Guennebaud
8f47246475
fix lmdif1 with Scalar!=double
2012-05-01 14:46:02 +02:00
Jitse Niesen
65fb0d43ff
Define NoChange as enum constant (bug #450 ).
...
This gets rid of some warnings on Intel Composer XE, apparently.
2012-04-29 15:37:44 +01:00
Gael Guennebaud
1741dbce1a
fix more warnings in MKL support
2012-04-18 18:36:25 +02:00
Jitse Niesen
57b5767fe2
Fix infinite recursion in ProductBase::coeff() (bug #447 )
...
Triggered by product of dynamic-size 1 x n and n x 1 matrices.
Also, add regression test.
2012-04-18 15:23:28 +01:00
Gael Guennebaud
5cab18976b
cleaning pass: rm unused variables in MKL stuff, fix a few namespace issues, MarketIO needs iostream
2012-04-18 10:09:46 +02:00
Gael Guennebaud
1198ca0284
remove debug output
2012-04-17 08:38:42 +02:00
Jitse Niesen
5d56f9f763
Remove unused file EigenvaluesCommon.h
2012-04-16 13:47:48 +01:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Hauke Heibel
84c93b048e
Added spline interpolation with pre-defined knot parameters.
2012-04-13 12:50:05 +02:00
Gael Guennebaud
f6a5508392
remove an extra ';' and suppress a 'variable used before its value is set' warning
2012-04-11 09:49:52 +02:00
Gael Guennebaud
a3ddb14426
remove use of GSL in polynomialsolver unit test
2012-04-11 09:48:01 +02:00
Gael Guennebaud
51410975ac
suppress extra ',' and ';'
2012-04-10 17:32:21 +02:00
Gael Guennebaud
b0cf95619e
fix compilation of "somedensematrix.llt().matrixL().transpose()" (missing constness on the return types)
2012-04-10 15:40:36 +02:00
Gael Guennebaud
311c5b87a3
Replicate now makes use of the cost model to evaluate its nested expression
2012-04-06 00:22:13 +02:00
Thomas Capricelli
3018e80c59
uniformize eigen_gen_docs between branches / cleaning
2012-04-03 14:24:20 +02:00
Gael Guennebaud
a060e0b486
does not include MatrixMaketIterator on win32,
...
no "using whatever" in global scope in a header file
2012-03-31 18:01:43 +02:00
Gael Guennebaud
daaeddd581
rm unused gsl_helper file
2012-03-31 17:37:46 +02:00
Gael Guennebaud
48f0bbb586
fix bug #362 and add missing specialization for affine-compact * projective
2012-03-30 23:22:29 +02:00
Gael Guennebaud
63ea667ed7
fix compilation with ICC
2012-03-30 11:22:23 +02:00
Desire NUENTSA
5dbb646190
Add private copy constructors to sparse solvers backends
2012-03-29 19:19:12 +02:00
Desire NUENTSA
2d35f88bcf
Cholmod does not compute a determinant
2012-03-29 19:07:13 +02:00
Desire NUENTSA
22cd65ee33
Adding a householder-GMRES implementation from Kolja Brix
2012-03-29 15:00:55 +02:00
Desire NUENTSA
f776c061a1
Correct a small bug in sparse_solver
2012-03-29 14:53:42 +02:00
Desire NUENTSA
f804a319c8
modify the unit tests of sparse linear solvers to enable tests on real matrices, from MatrixMarket for instance
2012-03-29 14:32:54 +02:00
Desire NUENTSA
ada9e79145
add a benchmark routine for all sparse linear solvers in Eigen
2012-03-29 14:29:55 +02:00
Gael Guennebaud
caecaf9c9e
add missing forward declaration
2012-03-29 13:45:01 +02:00
Gael Guennebaud
c172abdcc7
add sparse * permutation products with assiciated unit tests
2012-03-29 11:29:43 +02:00
Gael Guennebaud
8ff882aa4c
add sparse-selfadjoint to sparse-selfadjoint assignment operators
...
(no need to use .twistedBy(I) anymore)
2012-03-29 11:28:43 +02:00
Gael Guennebaud
fd2f399c18
fix bug #439 : add Quaternion::FromTwoVectors() static constructor
2012-03-26 18:30:04 +02:00
Gael Guennebaud
6c3b8b2ebc
we have a new server for hosting CDash reports.
2012-03-22 19:15:47 +01:00
Desire NUENTSA
afeddd80ab
Algorithm to equilibrate rows and columns of a square matrix
2012-03-22 16:18:34 +01:00
Desire NUENTSA
0d52b965c8
Add simple API to set Pastix parameters
2012-03-22 15:54:52 +01:00
Desire NUENTSA
f6cd3389a2
compress loaded market matrix
2012-03-22 15:53:25 +01:00
Gael Guennebaud
daad446d5d
workaround stupid gcc 4.7 warning
2012-03-22 00:01:03 +01:00
Gael Guennebaud
f0a1652113
s/__SSE3__/EIGEN_VECTORIZE_SSE3
2012-03-21 23:50:43 +01:00
Gael Guennebaud
b0fd94aa85
improve FindFFTW cmake module
2012-03-15 15:18:22 +01:00
Kolja Brix
30dee7d235
Add some documentation to existing methods in the Householder module.
2012-03-08 12:42:10 +01:00
Gael Guennebaud
77b05d5b7d
remove parenthesis suggestion warning
2012-03-14 17:38:21 +01:00
Gael Guennebaud
60daf70a20
add 2 missing ReverseInnerIterators
2012-03-14 17:37:28 +01:00
Hauke Heibel
dd9365e089
Fixed division by zero corner case in array unit test.
2012-03-09 14:04:13 +01:00
Gael Guennebaud
d7da6f63a8
declare Block::m_outerStride as Index (instead of int)
2012-03-09 13:54:22 +01:00
Gael Guennebaud
728ca6ad9c
export IsRowMajor in MappedSparseMatrix
2012-03-09 13:52:35 +01:00
Gael Guennebaud
9b1ad5e5bd
rm cC++11 features
2012-03-09 12:08:06 +01:00
Gael Guennebaud
fe9b7c2564
typo in variable name not revealed by ICC
2012-03-08 21:45:00 +01:00
Gael Guennebaud
48a3e0ed55
fix conversion warning
2012-03-08 21:31:49 +01:00
Desire NUENTSA
0d8466d317
Adding an interface to PaStiX, the multithreaded and distributed linear solver
2012-03-08 18:59:08 +01:00
Desire NUENTSA
37d2efd4f6
Adding support to read and write complex matrices in Matrix Market format
2012-03-08 18:45:47 +01:00
Hauke Heibel
c08521ea6b
Improved the unit tests for setLinSpaced.
...
Provide a default constructed step size as opposed to an int when the size is 1.
2012-03-07 16:18:35 +01:00
Hauke Heibel
ef022da28e
Fixed setLinSpaced for size==1.
2012-03-07 15:34:39 +01:00
Hauke Heibel
81c1336ab8
Added support for component-wise pow (equivalent to Matlab's operator .^).
2012-03-07 08:58:42 +01:00
Hauke Heibel
aee0db2e2c
Moved the operator/(Scalar,ArrayBase) into the Eigen namespace.
2012-03-02 16:58:12 +01:00
Hauke Heibel
8cb3e36e14
Added support for scalar / array division.
2012-03-02 16:27:27 +01:00
Hauke Heibel
8a7d16d523
Replicate ctor now uses Index instead of int.
2012-03-02 16:27:08 +01:00
Gael Guennebaud
553a0ae924
simplify and speedup sparse * dense matrix products
2012-03-01 10:13:13 +01:00
Desire NUENTSA
85b358097d
allow null elements in sparse assignments
2012-02-29 15:51:23 +01:00
Gael Guennebaud
fc85f91df0
fix MKL interface with LLT::rankUpdate
2012-02-28 16:19:40 +01:00
Gael Guennebaud
309b27b545
update unit test for Simplicial-Cholesky
2012-02-28 14:21:54 +01:00
Gael Guennebaud
0d3d46573e
fix assertion condition
2012-02-27 19:04:34 +01:00
Gael Guennebaud
5effdba2c6
SimplicialCholesky*: s/LLt/LLT and s/LDLt/LDLT for consistency with dense names
2012-02-27 14:28:07 +01:00
Gael Guennebaud
ece30e9e6f
fix a couple of warnings
2012-02-27 14:27:12 +01:00
Gael Guennebaud
eb168ef8ed
add analyzePattern/factorize API to iterative solvers and basic preconditioners
2012-02-27 14:10:26 +01:00
Gael Guennebaud
122f28626c
fix and clean Pardiso solver and s/PARDISOSupport/PardisoSupport
2012-02-27 13:23:21 +01:00
Gael Guennebaud
b240a3fad9
add unit tests for analyzePatter/factorize API
2012-02-27 13:22:38 +01:00
Gael Guennebaud
bc8188f6a1
fix symmetric permuatation for mixed storage orders
2012-02-27 13:21:41 +01:00
Gael Guennebaud
128ff9cf07
declare a ReverseInnerIterator in sparse CwiseBinaryOp. These ReverseInnerIterator should probably be removed anyway since we currently don't have real use cases for them. The only one in TriangularSolver could be advantageously replaced by a binary search.
2012-02-23 11:38:18 +01:00
Christoph Hertzberg
1edfa64f44
bug #419 : Add spaces between adjacent > in template arguments
2012-02-15 14:14:29 +01:00
Gael Guennebaud
eff167d2c8
SSOR is not there yet
2012-02-19 16:01:13 +01:00
Gael Guennebaud
4cc6d7aa62
clean a bit the ILUT code
2012-02-14 22:07:19 +01:00
Rhys Ulerich
ef448da57b
add Eigen::Array support to GDB pretty printers
2012-02-11 20:50:21 -06:00
Gael Guennebaud
7de3478027
<complex> must be included first
2012-02-10 22:49:09 +01:00
Gael Guennebaud
ef7f1371b2
some cleaning and add copyrights
2012-02-10 19:38:31 +01:00
Desire NUENTSA
16da7299dd
Add test in BiCGSTAB for ILUT
2012-02-10 18:57:38 +01:00
Desire NUENTSA
edbebb14de
Split the computation of the ILUT into two steps
2012-02-10 18:57:01 +01:00
Desire NUENTSA
a815d962da
Add the implementation of the Incomplete LU preconditioner with dual threshold (ILUT)
...
Modify the BiCGSTAB function to check the residual norm of the initial guess
2012-02-10 10:59:39 +01:00
Desire NUENTSA
9ed6a267a3
Modify the LinSpaced function to take only the two bounds
2012-02-10 10:21:11 +01:00
Desire NUENTSA
2ea98594c4
Modify the symmetric permutation to deal with nonsymmetric matrices
2012-02-10 10:18:38 +01:00
Gael Guennebaud
70284b7eff
suppress generation of TEMPLATE_RELATIONS: they are useful but take much too much space
2012-02-09 21:42:58 +01:00
Gael Guennebaud
8dd3ae282d
fix bug #417 : Map should be nested by value, not by reference
2012-02-09 15:25:42 +01:00
Tim Holy
44b19b432c
Add a tutorial page on the Map class, and add a section to FunctionsTakingEigenTypes about multiple-argument functions and the pitfalls when using Map/Expression types.
2012-02-08 22:11:12 +01:00
Gael Guennebaud
5bb34fd14c
fix bug #415 : wrong return in Rotation2D::operator*=
2012-02-08 21:50:51 +01:00
Desire NUENTSA
a1c7b5aa48
Adding support for twistedby on SparseMatrixBase
2012-02-08 18:22:48 +01:00
Gael Guennebaud
3836402631
Improve performance of some Transform<> operations by better preserving the alignment status.
...
There probably many other places in Transform.h where such optimizations could be done.
2012-02-07 17:12:15 +01:00
Gael Guennebaud
ff67676c0b
Added tag 3.1.0-alpha2 for changeset fe0350cf1b
2012-02-06 16:39:51 +01:00
Gael Guennebaud
fe0350cf1b
bump
2012-02-06 16:39:26 +01:00
Gael Guennebaud
99c694623a
fix a dozen of warnings with MSVC, and get rid of some useless throw()
2012-02-06 15:57:51 +01:00
Gael Guennebaud
6ad48c5d92
fix conjugation in packet_lhs
2012-02-05 18:18:38 +01:00
Gael Guennebaud
4ed87c59c7
Update the PARDISO interface to match other sparse solvers.
...
- Add support for Upper or Lower inputs.
- Add supports for sparse RHS
- Remove transposed cases, remove ordering method interface
- Add full access to PARDISO parameters
2012-02-04 14:20:56 +01:00
Gael Guennebaud
1763f86364
add the recent setFromTriplets() feature in the manual
2012-02-04 10:44:07 +01:00
Gael Guennebaud
fe85b7ebc6
fix several const qualifier issues: double ones, meaningless ones, some missing ones, etc.
...
(note that const qualifiers are set by internall::nested)
2012-02-03 23:18:26 +01:00
Gael Guennebaud
bc7b251cd9
fix compilation errors with ICC
2012-02-03 23:16:52 +01:00
Gael Guennebaud
a594d7ffd7
stop disabling this legitimate warning, recall that in the following the const on FooRef is really meaningless:
...
typedef Foo& FooRef;
const FooRef foo;
2012-02-03 23:16:11 +01:00
Gael Guennebaud
ad4aa7873f
remove unused variables
2012-02-03 13:30:48 +01:00
Gael Guennebaud
fd4aefadcd
fix ctest -D Foo with MSVC 2008
2012-02-03 10:50:49 +01:00
Zuiquan
a64407f086
Enable Eigen to compile on 'pure C/C++' Gcc environment (with no inline assembly or asm directive). Required if we want to use Eigen with Adobe Alchemy.
2012-02-02 12:05:02 +01:00
Gael Guennebaud
13abb37721
shutup floating point underflow warning for this specific unit test
2012-01-31 23:18:17 +01:00
Gael Guennebaud
7002639844
the default ctor had no sense because of the const reference member
2012-01-31 23:12:04 +01:00
Gael Guennebaud
13e46ad847
add missing return *this
2012-01-31 23:11:13 +01:00
Gael Guennebaud
9a954d29ec
rm non standard and useless overloads of is_arithmetic for long long
2012-01-31 21:45:03 +01:00
Gael Guennebaud
634fedaf68
proper C++ casting
2012-01-31 18:56:25 +01:00
Gael Guennebaud
10cd52350f
fix a few warnings: change of sign and missing return statement
2012-01-31 13:05:44 +01:00
Gael Guennebaud
9c86ee2695
fix static inline versus inline static issues (the former is the correct order)
2012-01-31 12:58:52 +01:00
Gael Guennebaud
8d6e394b06
workaround "empty macro argument" warning
2012-01-31 12:46:14 +01:00
Gael Guennebaud
670e3af5a8
add .data() member to Diagonal<>
2012-01-31 12:44:59 +01:00
Gael Guennebaud
18e3ac0f0d
fix some compilation errors with ICC and -strict-ansi
2012-01-31 09:14:01 +01:00
Gael Guennebaud
87138075da
add the possibility to assemble a SparseMatrix object from a random list of triplets that may contain duplicated elements. It works in linear time, with O(1) re-allocations.
2012-01-28 11:13:59 +01:00
Gael Guennebaud
fc2d85d139
fix memory leak in SuperLUSupport
2012-01-27 10:07:09 +01:00
Gael Guennebaud
27d222d23e
honor nested types in dense * sparse
2012-01-27 09:39:36 +01:00
Jitse Niesen
ed244e9c1a
Document that JacobiSVD also handles complex matrices.
...
Thanks to 'Jazzdude' for noting this on IRC.
2012-01-26 13:16:50 +00:00
Gael Guennebaud
0251bb6c1d
add missing inline keyword (linking issue)
2012-01-26 10:53:42 +01:00
Gael Guennebaud
65d5311c68
SimplicialCholesky: the shift offset must be real, and fix a comparison issue for complexes
2012-01-26 10:34:45 +01:00
Gael Guennebaud
d9f5840f7a
simple compilation fix
2012-01-26 08:52:20 +01:00
Gael Guennebaud
a108216af1
fix bug #410 : fix a possible out of range access in EigenSolver
2012-01-25 19:02:31 +01:00
Christoph Hertzberg
362fcabc44
Check for positive definiteness in SimplicialLLT
2012-01-14 22:34:18 +01:00
Gael Guennebaud
5e4dfa4a09
fix a nesting type issue in Sparse/TriangularView
2012-01-25 18:16:48 +01:00
Gael Guennebaud
606e204f6d
fix bug #406 : Using OpenMP and Eigen causes infinite loop/deadlock
...
(transplanted from fd52daae87
)
2012-01-25 17:42:22 +01:00
Gael Guennebaud
c68616b3b5
fix warning with gcc 4.6
2012-01-25 15:48:50 +01:00
Gael Guennebaud
87f2af5930
workaround ICC compilation error with -strict-ansi
2012-01-25 15:45:01 +01:00
Gael Guennebaud
d615d39af0
determine windows version from major.minor only, the patch number is irrelevant.
2012-01-23 21:56:46 +01:00
Gael Guennebaud
0d03492e1e
std::isfinite is non standard
2012-01-23 21:49:00 +01:00
Gael Guennebaud
ee9f3e34b0
LLT: improve rankUpdate to support downdates,
...
LDLT: add the missing info() function,
improve unit testing of rankUpdate()
2012-01-23 17:28:23 +01:00
Abraham Bachrach
039408cd66
added functions to allow for cwise min/max operations with scalar argument (bug #400 ).
...
added function for array.min(), array.max(), matrix.cwiseMin(), matrix.cwiseMax().
The matrix.cwiseMin/Max functions required the definition of the ConstantReturnType typedef.
However, it wasn't defined until after MatrixCwiseBinaryOps was included in Eigen/src/SparseCore/SparseMatrixBase.h,
so I moved those includes after the definition of the typedefs.
tests for both the regular and scalar min/max functions were added as well
2012-01-11 11:00:30 -05:00
Gael Guennebaud
238999045c
optimize the packing of lhs blocks for matrix-matrix products => significant speedup for small products
2012-01-21 19:34:28 +01:00
Jitse Niesen
0e1e0a2a58
Make sure that now-fixed assert is not triggered.
2012-01-19 14:30:44 +00:00
Keir Mierle
274f8a0947
Fix broken asserts releaved by Clang.
2012-01-18 15:03:27 -08:00
Gael Guennebaud
589cc627f8
fixe one more VC10 ICE
2012-01-18 17:45:22 +01:00
Gael Guennebaud
db8f528737
fix VC10 ICE
2012-01-18 17:42:13 +01:00
Jitse Niesen
d6bf9f848a
Correct description of rankUpdate() in quick reference guide.
...
Thanks to Sameer Agarwal for pointing out this mistake.
(transplanted from bc0fc5d21e
)
2012-01-09 12:57:11 +00:00
Keir Mierle
2d4fee0b40
Fix out-of-range int constant in 4x4 inverse.
...
(transplanted from 45bcad41b4
)
2012-01-05 23:15:09 -08:00
Gael Guennebaud
e7ef367db1
suppress unused variable warnings
2012-01-06 09:02:06 +01:00
Gael Guennebaud
bdee0c9baa
set the default number of iteration to the size of the problem
2011-12-27 16:38:05 +01:00
Gael Guennebaud
15ea999f84
pushed too fast the previous one
2011-12-23 23:22:31 +01:00
Gael Guennebaud
901bcdd2a8
the previous test works for Dynamic sizes only
2011-12-23 23:16:43 +01:00
Gael Guennebaud
96a18ef230
add a reconstruction test
2011-12-23 23:15:08 +01:00
Gael Guennebaud
8171adb7ff
fix bug #398 , the quaternion returned by slerp was not always normalized,
...
add a proper unit test for slerp
2011-12-23 22:39:32 +01:00
Gael Guennebaud
67ae94f3a2
fix compilation of sparse_basic unit test for complexes
2011-12-23 09:41:14 +01:00
Gael Guennebaud
e3e39ea26d
suppress an 'unused variable' warning
2011-12-22 14:06:16 +01:00
Gael Guennebaud
2c03e6fccc
evaluate 1D sparse expressions into SparseVector and make the sparse operator<< and dot honor nested types
2011-12-22 14:01:06 +01:00
Gael Guennebaud
7f04845023
fix assignment of a row-major sparse vector to a column major sparse one
2011-12-22 11:53:47 +01:00
Gael Guennebaud
e4cea957df
fix bug #391 : prune was for compressed format only, now it also turns the matrix into compressed form
2011-12-20 18:37:24 +01:00
Gael Guennebaud
7e866c447f
fix bug #391 : improper stream output for uncompressed mode, also avoid double debugging outputs for column major matrices
2011-12-20 18:31:00 +01:00
Gael Guennebaud
6f92b75874
add aliasing test for sparse*sparse product
2011-12-20 18:10:22 +01:00
Gael Guennebaud
50d756b9ea
fix bug #394 : innerVector::nonZeros() was broken for uncompressed mode
2011-12-20 18:10:02 +01:00
Gael Guennebaud
15d781b64c
we need to define EXTRACT_ALL to YES to get doxygen see the whole hierarchy. Exclude internal::* from the doc.
2011-12-20 10:25:54 +01:00
Gael Guennebaud
fcc966b40d
workaround doxygen limitation to follow the base class of PlainObjectBase
2011-12-19 22:13:11 +01:00
Gael Guennebaud
33e52a3943
rm local fill-in ratio estimation (was broken sometimes)
2011-12-16 16:29:46 +01:00
Gael Guennebaud
732a50d043
implement a more optimistic heuristic to predict the nnz of a saprse*sparse product
2011-12-16 15:59:44 +01:00
Gael Guennebaud
40c0f3af57
fig bug #396 : add a static assertion on the storage order of a sparse-sparse coeff-wise binary op
2011-12-15 19:23:20 +01:00
Jitse Niesen
3db6455896
Remove evaluators for 2.1 release.
...
We plan to re-instate them when we branch 2.2 (see bug #388 ).
2011-12-14 21:23:43 +00:00
Gael Guennebaud
0308c11849
remove a file that was not intended to be committed
2011-12-13 08:42:48 +01:00
Jitse Niesen
1e7712771e
Remove asserts that eigenvalue computation has converged (bug #354 ).
2011-12-12 17:17:38 +00:00
Gael Guennebaud
1aa6c7f122
fix sparse insertion example
2011-12-11 17:18:14 +01:00
Gael Guennebaud
d738bedc5b
remove redundant declaration (fix compilation with clang 3.0)
2011-12-11 11:45:03 +01:00
Gael Guennebaud
f60e6f5ee8
s/compressed()/isCompressed()
2011-12-10 23:08:10 +01:00
Gael Guennebaud
594fd2d11d
Cholmod: add support for uncompressed SparseMatrix objects
2011-12-10 22:53:31 +01:00
Gael Guennebaud
9d7d634897
add cholmod_support unit tests
2011-12-10 19:32:17 +01:00
Gael Guennebaud
f35708d2e0
enforce weak linking of xerbla
2011-12-10 19:30:36 +01:00
Gael Guennebaud
105e170d8b
trivial compilation fix
2011-12-10 16:17:12 +01:00
Gael Guennebaud
2600ba1731
feature 297: s/intersectionPoint/pointAt, fix documentation, add a unit test
2011-12-10 12:17:42 +01:00
Andy Somerville
c06ae325a4
feature 297: add ParametrizedLine::intersectionPoint() and intersectionParam()
...
-> intersection() is deprecated
2011-12-10 11:58:38 +01:00
Igor Krivenko
36457178f9
bug #352:properly cast constants
2011-12-09 23:38:41 +01:00
Gael Guennebaud
d400a6245e
fix compilation with EIGEN_NO_DEBUG
2011-12-09 23:42:39 +01:00
Gael Guennebaud
38277e8a9b
feature 319: fix LDLT::rankUpdate for complex/upper, simply the algortihm, update copyrights
2011-12-09 23:08:38 +01:00
Tim Holy
2d7c3eea53
feature 319: Add update and downdate functionality to LDLT
2011-12-09 21:04:44 +01:00
Gael Guennebaud
37f304a2e6
add a "using MKL" documentation page, add a minimal documentation of PARDISO wrapper classes, refine a bit the EIGEN_USE_* logic
2011-12-09 16:52:37 +01:00
Sebastian Lipponer
fff25a4b46
Fix MSVC integer overflow warning
2011-12-09 10:39:10 +00:00
Gael Guennebaud
57c6bfba08
add missing CMakeLists.txt
2011-12-09 10:53:12 +01:00
Gael Guennebaud
081abb701d
add user defined CXX and LINKER flag cmake variables for the unit tests
2011-12-09 10:50:13 +01:00
Gael Guennebaud
10447a7b57
mv blas.h to src/misc such that it would be possible to use any blas libraries,
...
however, this requires some more works:
- add const qualifiers in the declarations of blas.h
- add the possibility to add a suffix to blas function names
2011-12-09 10:40:35 +01:00
Gael Guennebaud
43cdd242d0
- split and rename defined tokens to enable the use of BLAS/Lapack/VML/etc
...
- include MKL headers outside the Eigen namespace.
2011-12-09 10:06:49 +01:00
karturov
015c331252
Intel(R) MKL support added.
...
* * *
License disclaimer changed to BSD license for MKL_support.h
* * *
Pardiso support fixed, test added.
blas/lapack tests fixed: Scalar parameter was added in Cholesky, product_matrix_vector_triangular remaned to triangular_matrix_vector_product.
* * *
PARDISO test was added physically.
2011-12-05 14:52:21 +07:00
Gael Guennebaud
e270a5656a
fix min/max clash with clang's header by including fstream beforehand
2011-12-08 23:27:10 +01:00
Gael Guennebaud
86bb20c431
remove dead code
2011-12-08 23:22:28 +01:00
Gael Guennebaud
e36a4c880a
suppress deprecated warning when compiling legacy tests
2011-12-08 23:15:07 +01:00
Gael Guennebaud
06450882ab
add missing CMakeLists.txt in Splines
2011-12-08 23:12:39 +01:00
Jitse Niesen
dd232e30b0
Document QuaternionBase, minor doc improvements.
...
* Document class QuaternionBase so that docs for members are displayed.
* Remove obsolete \redstar refering to Array module
* Fix typo in Constants.h
* Document EIGEN_NO_AUTOMATIC_RESIZING
2011-12-08 14:22:06 +00:00
Gael Guennebaud
a1fa05f14e
improve compiler name and version detection
2011-12-07 13:20:52 +01:00
Gael Guennebaud
a0da96e2f4
fix detection of ICC version
2011-12-06 22:07:20 +01:00
Gael Guennebaud
80f8ed9f9c
improve compiler and architecture detection
2011-12-06 19:54:34 +01:00
Thomas Capricelli
c3ad1f9382
eigen_gen_docs: dont try to update permissions on server
2011-12-06 15:55:20 +01:00
Gael Guennebaud
6ec0af6dc7
Added tag 3.1.0-alpha1 for changeset e017f798eb
2011-12-06 15:53:46 +01:00
Gael Guennebaud
e017f798eb
bump
2011-12-06 15:53:17 +01:00
Hauke Heibel
accae638b2
Fixed a typo.
2011-12-06 15:42:05 +01:00
Gael Guennebaud
84cf1b5b1d
fix QuaternionBase::cast.
...
It did not work with clang, and I'm unsure how it worked for gcc/msvc since QuaternionBase was introduced
2011-12-05 14:13:59 +01:00
Gael Guennebaud
9ca673daed
fix compilation with clang
2011-12-05 12:50:43 +01:00
Gael Guennebaud
dd504d6aae
fix bug #223 : SparseMatrix::Flags no longer encode triangularness information
2011-12-05 10:17:09 +01:00
Gael Guennebaud
59576014a9
fig bug #373 : compilation error with clang 2.9 when exceptions are disabled (cannot reproduce with clang 3.0 or 3.1)
2011-12-05 09:44:25 +01:00
Gael Guennebaud
b60624dc2a
fix bug #384 : add a static assertion on the Index type which has to be signed
2011-12-04 22:14:53 +01:00
Gael Guennebaud
82f9aa194d
fix bug #294 : add a diagonal() method to SparseMatrix (const)
2011-12-04 21:49:21 +01:00
Gael Guennebaud
69966e90e1
fix bug #221 : remove the dense to SparseVector conversion ctor.
2011-12-04 21:15:46 +01:00
Gael Guennebaud
5dc9650f11
fix bug #281 : replace csparse macros by template functions
2011-12-04 19:15:23 +01:00
Hauke Heibel
a8a2bf3b5a
Added docs to the spline module.
2011-12-04 18:44:01 +01:00
Gael Guennebaud
9bd902ed9c
fix bug #341 : trisove on MappedSparseMatrix
2011-12-04 14:57:43 +01:00
Gael Guennebaud
9353bbac4a
fix bug #356 : fix TriangularView::InnerIterator for unit diagonals
2011-12-04 14:39:24 +01:00
Gael Guennebaud
32917515df
make the accessors to internal sparse storage part of the public API and remove their "_" prefix.
2011-12-04 12:19:26 +01:00
Gael Guennebaud
1cdbae62db
add SparseVector::ReverseInnerIterator
2011-12-04 09:56:40 +01:00
Gael Guennebaud
91e392a042
add ReverseInnerIterators to loop over the elements in reverse order,
...
and partly fix bug #356 (issue in trisolve for upper-column major))
2011-12-03 23:49:37 +01:00
Gael Guennebaud
a09cc5d4c0
fix bug #282 : add the possibiliry to shift the diagonal coefficients via a linear function.
2011-12-03 18:26:08 +01:00
Gael Guennebaud
c861e05181
fix matrix names in the insertion example
2011-12-03 18:14:51 +01:00
Gael Guennebaud
9ae606866c
Eigen2sSupport: import some fixes from the 3.0 branch (MSVC fix)
2011-12-03 17:45:07 +01:00
Gael Guennebaud
950eeab4d7
RandomSetter: turns the matrix into compressed form before the filling
2011-12-03 17:35:21 +01:00
Gael Guennebaud
c0e36516f3
add a command to fix the permission of the uploaded documentation
2011-12-03 11:18:20 +01:00
Gael Guennebaud
3f56de2628
improve sparse manual
2011-12-03 10:26:00 +01:00
Gael Guennebaud
e759086dcd
improve documentation of some sparse related classes
2011-12-02 19:02:49 +01:00
Gael Guennebaud
4ca89f32ed
Sparse matrix insertion:
...
- automatically turn a SparseMatrix to uncompressed mode when calling insert(i,j).
- now coeffRef insert a new element when it does not already exist
2011-12-02 19:00:16 +01:00
Gael Guennebaud
f10bae74e8
- move CompressedStorage and AmbiVector into internal namespace
...
- remove innerVectorNonZeros(j) => use innerVector(j).nonZeros()
2011-12-02 10:00:24 +01:00
Jitse Niesen
a0bcaa88af
Extend tutorial page on broadcasting to reflect recent changes.
2011-12-01 21:16:07 +00:00
Gael Guennebaud
b85bcd91bf
remove GSL dependency in the unit tests
2011-12-01 18:17:19 +01:00
Gael Guennebaud
7aaae9d6df
remove useless blas reference code
2011-12-01 18:10:12 +01:00
Gael Guennebaud
3a4c78b588
add code for band triangular problems:
...
- currently available from the BLAS interface only
- and for vectors only
2011-12-01 18:06:28 +01:00
Gael Guennebaud
9fdb6a2ead
output error messages in blas unit tests
2011-12-01 18:04:01 +01:00
Hauke Heibel
b00a33bc70
Integrated spline class and simple spline fitting
2011-11-25 14:53:40 +01:00
Gael Guennebaud
49d652c600
fix assigment from uncompressed
2011-11-30 21:55:54 +01:00
Gael Guennebaud
6b8d6887ac
bug fix in SparseSelfAdjointTimeDenseProduct for empty rows or columns
2011-11-30 19:39:20 +01:00
Gael Guennebaud
00d4a360ba
bug fix in SparseView::incrementToNonZero
2011-11-30 19:31:11 +01:00
Gael Guennebaud
d1b54ecfa3
add more support for uncompressed mode
2011-11-30 19:24:43 +01:00
Gael Guennebaud
cda397b117
cleanning pass on the sparse modules:
...
- remove outdated/deprecated code
- improve a bit the documentation
2011-11-28 16:36:37 +01:00
Gael Guennebaud
2d621d235d
fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
...
(transplanted from dcb36e3d49
)
2011-11-28 13:43:10 +01:00
Marc Glisse
a2810aa32f
bug #383 - another c++11-user-defined-literal fix
2011-11-27 15:27:25 -05:00
Marc Glisse
8107b3da75
bug #383 - EIGEN_ASM_COMMENT broken in C++11
...
this is due to the new user-defined literals syntax.
2011-11-26 17:55:18 -05:00
Gael Guennebaud
f56316f7ed
add two alternative solutions to the problem of fixed size members
2011-11-25 13:46:48 +01:00
Gael Guennebaud
70206ab1e1
draft of the new sparse manual reflecting the new sparse module
2011-11-24 17:32:30 +01:00
Gael Guennebaud
57d1ccb2dc
fix compilation of doc (broken by changeset bc6d78982f
...
- General tightening/testing of vectorwise ops)
2011-11-24 17:30:55 +01:00
Gael Guennebaud
2d4fe54b73
fix CG example
2011-11-24 08:19:13 +01:00
Gael Guennebaud
01b4b6e456
improve accuracy of 3x3 direct eigenvector extraction
2011-11-23 22:43:40 +01:00
Gael Guennebaud
be9b87377f
typo
2011-11-23 08:30:10 +01:00
Jitse Niesen
63dcdb65fd
Install eigen3.pc in default directory if pkgconfig not found (bug #358 ).
2011-11-22 17:30:35 +00:00
Benoit Jacob
ffe6d1f901
Alignment fixes:
...
* Fix AlignedBit computation for Plain Objects
* use it for the conditional alignment of operator new
* only overload new in PlainObjectBase, don't overload again in Matrix and Array
2011-11-22 09:04:31 -05:00
Gael Guennebaud
f278a3eaba
stop fill pivoting LU only if the pivot is exactly 0
2011-11-22 09:18:54 +01:00
Benoit Jacob
bc6d78982f
Bugs 157 and 377 - General tightening/testing of vectorwise ops:
...
* add lots of static assertions making it very explicit when all these ops
are supposed to work:
** all ops require the rhs vector to go in the right direction
** all ops already require that the lhs and rhs are of the same kind
(matrix vs vector) otherwise we'd have to do complex work
** multiplicative ops (introduced Kibeom's patch) are restricted to arrays, if only because for matrices they could be ambiguous.
* add a new test, vectorwiseop.cpp.
* these compound-assign operators used to be implemented with for loops:
for(Index j=0; j<subVectors(); ++j)
subVector(j).array() += other.derived().array();
This didn't seem to be needed; replaced by using expressions like operator+ and operator- did.
2011-11-18 11:10:27 -05:00
Kibeom Kim
de22ad117c
bug #157 - Implemented *= /= * / operations for VectorwiseOp (e.g. mat.colwise())
2011-11-17 17:57:45 -05:00
Jitse Niesen
08c0edae86
Move EIGEN_USING_MATRIX_TYPEDEFS macros to Eigen2Support.
2011-11-16 14:32:50 +00:00
Dennis Schridde
db36e4204f
[Geometry/AlignedBox] New typedefs, like for Core/Matrix
...
Includes 1-4 and dynamic sized boxes for int, float and double type.
Also changes the tests to use these typedefs.
2011-11-09 22:12:28 +01:00
Gael Guennebaud
8fbbbe7521
fix some include paths
2011-11-16 09:27:38 +01:00
Gael Guennebaud
cb2f1944e2
add the new module headers
2011-11-12 15:22:35 +01:00
Gael Guennebaud
53fa851724
move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning
2011-11-12 14:11:27 +01:00
Gael Guennebaud
dcb66d6b40
fix ei_add_property
2011-11-12 10:54:16 +01:00
Gael Guennebaud
3e4a68cc60
optimize vectorized reductions by peeling the loop:
...
- x2 for squaredNorm() on double
- peeling the loop with a peeling factor of 4 leads to even better perf
for large vectors (e.g., >64) but it makes more difficult to keep good performance on smaller ones.
2011-11-12 09:19:48 +01:00
Gael Guennebaud
c110abb7d2
fix performance issue with SPMV
2011-11-11 06:04:31 +01:00
Gael Guennebaud
9d82a7e204
merge with hauke/eigen-cdash-improvements branch
2011-11-09 21:19:05 +01:00
Dennis Schridde
3a82aa1133
[Core/Matrix] Fix: Clear the right typedef macro
2011-11-09 12:25:55 +00:00
Gael Guennebaud
fb3aa7220f
reimplement abs2 not to use std::norm which is incredibly slow.
2011-11-08 22:42:51 +01:00
Jitse Niesen
45a6bb34c3
Add simple example on how to compute Cholesky decomposition.
2011-11-07 17:14:06 +00:00
Marton Danoczy
f422668d39
Patches to support ARM NEON with Clang 3.0 and LLVM-GCC
2011-11-04 16:37:10 +01:00
Benoit Jacob
1b98b73472
Refactor force-inlining macros and use EIGEN_ALWAYS_INLINE to force inlining of the integer overflow helpers, whose non-inlining caused major performance problems, see the mailing list thread 'Significant perf regression probably due to bug #363 patches'
2011-11-06 16:27:41 -05:00
Benoit Jacob
aa3e420df5
Add test for Matrix(x, y) ctor static assert added in previous changeset
2011-11-06 00:44:04 -04:00
Benoit Jacob
ab3f138b23
In the Matrix constructor taking (rows, cols), statically assert that the types are integer.
...
The 2D vector ctor taking (x, y) is not concerned.
2011-11-05 23:56:48 -04:00
Gael Guennebaud
478de03bd8
fix a couple of warnings in the unit tests
2011-11-05 23:30:49 +01:00
Gael Guennebaud
cdd3e85060
Automatically produce a tgz archive of the documentation.
2011-11-05 21:59:36 +01:00
Gael Guennebaud
b4d1d4a2e0
completely remove EIGEN_BUILD_BLAS_LAPACK option
2011-11-05 13:26:53 +01:00
Gael Guennebaud
c5ddaf0c87
fix compilation
2011-11-05 10:54:05 +01:00
Gael Guennebaud
1de769d122
remove deprecated assert
2011-11-04 14:42:54 +01:00
Gael Guennebaud
05de3dddca
use runtest.sh script iif /bin/bash does exist
2011-11-03 17:37:25 +01:00
Gael Guennebaud
94d87abbdb
fix fftw cmake stuff
2011-11-03 15:33:42 +01:00
Jitse Niesen
a594ac3966
Allow for more iterations in SelfAdjointEigenSolver (bug #354 ).
...
Add an assert to guard against using eigenvalues that have not converged.
Add call to info() in tutorial example to cover non-convergence.
2011-11-02 14:18:20 +00:00
Gael Guennebaud
57207239f3
Mention that the axis in AngleAxis have to be normalized.
2011-11-01 09:40:51 +01:00
Jan Oberländer
fa7c08a831
bug #365 - Rename B0 in GeneralBlockPanelKernel.h to avoid name clash
...
with termios.h on POSIX systems.
2011-10-31 10:44:09 -04:00
Benoit Jacob
0cf2a05f3e
bug #365 - Add test for non-usage of B0
2011-10-31 10:44:06 -04:00
Benoit Jacob
9df2f5c923
bug #369 - Quaternion alignment is broken
...
The problem was two-fold:
* missing aligned operator new
* Flags were mis-computed, the Aligned constant was misused
2011-10-31 09:23:41 -04:00
Benoit Jacob
0609dbeec6
fix more variable-set-but-not-used warnings on gcc 4.6
2011-10-31 00:51:36 -04:00
Benoit Jacob
6a1caf0351
Fix some unused-variable warnings with GCC 4.6
2011-10-30 23:55:20 -04:00
Adolfo Rodriguez Tsourouksdissian
4477843bdd
bug #206 - part 4: Removes heap allocations from JacobiSVD and its preconditioners
2011-10-30 23:55:20 -04:00
Adolfo Rodriguez Tsourouksdissian
5e431779f3
bug #206 - part 3: Reimplement FullPivHouseholderQR<T>::matrixQ() using ReturnByValue
2011-03-08 19:04:31 +01:00
Adolfo Rodriguez Tsourouksdissian
7bf0e8cd82
bug #206 - part 2: For HouseholderSequence objects, added non-allocating versions of evalTo() and applyThisOnTheRight/Left that take additional working vector parameters.
2011-10-30 23:55:16 -04:00
Benoit Jacob
bca18a13ea
The most important inline keyword ever? Without it, gcc failed to inline this function, which is called by all matrix constructors...
2011-10-25 20:45:26 -04:00
Gael Guennebaud
d7e70edfb3
remove the MSVC specific blas/lapack option
2011-10-24 13:40:01 +02:00
Gael Guennebaud
e44c19d1cc
hopefully this workaround of cmake bug #9220 works for MSVC too
2011-10-24 13:36:49 +02: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
a997dacc67
mark deprecated sparse solvers as so.
2011-10-24 09:51:02 +02:00
Gael Guennebaud
39d4585bff
add the possiibility to disable deprectated warnings (useful for deprecated unit tests!)
2011-10-24 09:40:37 +02:00
Gael Guennebaud
5d43b4049d
factorize solving with guess
2011-10-24 09:33:24 +02:00
Gael Guennebaud
70df09b76d
move DynamicSparseMatrix to SparseExtra
2011-10-24 09:31:33 +02:00
Gael Guennebaud
a2d414f568
move the blas.h header to blas/ and remove declaration of function returning a complex
2011-10-19 16:29:43 +02:00
Benoit Jacob
de69129f56
forgot inline keyword
2011-10-17 08:49:59 -04:00
Benoit Jacob
16b638c159
Throw std::bad_alloc even when exceptions are disabled, by doing new int[size_t(-1)].
...
Don't throw exceptions on aligned_malloc(0) (just because malloc's retval is null doesn't mean error, if size==0).
Remove EIGEN_NO_EXCEPTIONS option, use only compiler standard defines. Either exceptions are enabled or they aren't.
2011-10-17 08:44:44 -04:00
Benoit Jacob
dcbc985a28
bug #363 - add test for integer overflow in size computations
2011-10-16 16:12:19 -04:00
Benoit Jacob
739559b08a
bug #363 - check for integer overflow in size=rows*cols computations
2011-10-16 16:12:19 -04:00
Benoit Jacob
0c6055c285
bug #363 - check for integer overflow in byte-size computations
2011-10-16 16:12:19 -04:00
Gael Guennebaud
c1170d2e93
update the decomposition catalogue
2011-10-14 21:21:38 +02:00
Gael Guennebaud
3fce43a704
add a basic ILU preconditioner
2011-10-11 20:41:43 +02:00
Gael Guennebaud
a5761d6dd7
fix sparse tri-solve for full matrices
2011-10-11 20:35:52 +02:00
Gael Guennebaud
15cb4f5b09
extend BiCGSTAB to arbitrary rhs
2011-10-11 19:53:18 +02:00
Gael Guennebaud
21d27c6f71
add proper bicgstab unit test
2011-10-11 19:38:36 +02:00
Gael Guennebaud
cd3c2451b6
add a unit test for permutation applied to sparse objects
2011-10-11 13:45:27 +02:00
Gael Guennebaud
3172749f32
refactor sparse solving unit tests
2011-10-11 11:32:26 +02:00
Gael Guennebaud
4f237f035c
extend SimplicialCholesky for sparse rhs, and add determinant
2011-10-11 11:31:12 +02:00
Gael Guennebaud
5dc8458293
extend CG for multiple right hand sides
2011-10-11 11:29:50 +02:00
Gael Guennebaud
b94c00226f
make it compatible with Diagonal<>
2011-10-11 11:28:13 +02:00
Gael Guennebaud
ae9c96a32d
fix assignment to a set of sparse inner vectors
2011-10-10 16:16:37 +02:00
Gael Guennebaud
4e7f38ffc7
fix nesting
2011-10-09 22:19:01 +02:00
Gael Guennebaud
e97879857b
DiagonalPrecond: fix potential segfault in case the diagonal contains explciit zeros
2011-10-09 22:17:37 +02:00
Gael Guennebaud
1beb8a6564
add a generic unit test for sparse SPD problems
2011-10-09 21:50:02 +02:00
Gael Guennebaud
2fc1b58cd2
split SimplicialCholesky into SimplicialLLt and SimplicialLDLt classes and add specific factor access functions
2011-10-09 21:45:55 +02:00
Hauke Heibel
e1dec359ba
Configured unsupported/test/mpreal/*.* as CRLF files.
2011-10-04 11:57:49 +02:00
Hauke Heibel
b96d0bd240
Added a flag to build blas/lapack.
2011-10-04 11:23:55 +02:00
Gael Guennebaud
683ea3c93f
fix superLU when the salver is called multiple times
2011-09-27 18:30:53 +02:00
Jitse Niesen
ac3ad9c1e7
Convert tabs to spaces.
2011-09-27 15:47:04 +01:00
Jitse Niesen
17c321617d
Fix bug #286 : Infinite loop in JacobiSVD with denormals
2011-09-27 14:25:02 +01:00
Bram de Jong
961a825b97
Add method which returns worst time (and make some methods const).
2011-09-26 14:39:23 +01:00
Gael Guennebaud
9bba0e7ba1
clean sparse LU tests
2011-09-24 17:15:37 +02:00
Gael Guennebaud
b2988375e8
fix a couple of issues in SuperLU support (memory and determinant)
2011-09-24 14:20:31 +02:00
Gael Guennebaud
6799fabba9
port umfpack support to new API
2011-09-24 14:19:39 +02:00
Gael Guennebaud
d8ae978b65
fix some compilation issues
2011-09-23 16:28:26 +02:00
Gael Guennebaud
823b2105b6
fix atan2 when tmp4==0
2011-09-22 17:34:25 +02:00
Gael Guennebaud
b0adbfbae7
BiCGSTAB does not like starting from 0...
2011-09-21 18:08:08 +02:00
Gael Guennebaud
c331c092d5
no comment
2011-09-21 14:20:41 +02:00
Gael Guennebaud
7301f4345c
quick workaround of MSVC9' ICE in pset1
2011-09-21 14:18:41 +02:00
Gael Guennebaud
83563dee3c
find macport' umfpack/cholmod
2011-09-21 10:28:09 +02:00
Gael Guennebaud
ebfed5a512
Enable incomplete BLAS/Lapack builds when no fortran compiler has been found.
...
Works here with gcc. Hopefully this will work for MSVC too.
2011-09-21 10:27:38 +02:00
Gael Guennebaud
1d796acb05
fix status after initialization
2011-09-20 18:45:50 +02:00
Gael Guennebaud
5d1836b182
accept both STL and Eigen's containers for reserve()
2011-09-20 02:04:03 +02:00
Jitse Niesen
e0a6ce50dd
Typo in geometry tutorial.
2011-09-19 21:57:26 +01:00
Jitse Niesen
2092b45d0d
Bug fix for matrix1 * matrix2 * scalar1 * scalar2.
...
See report on http://forum.kde.org/viewtopic.php?f=74&t=96947 .
2011-09-19 15:07:19 +01:00
Chen-Pang He
16b13596a6
mainly enhance MatrixLogarithm's performance for RealScalar != double
2011-09-17 21:00:55 +08:00
Gael Guennebaud
edf4c4b217
add support for macosx
2011-09-17 10:57:27 +02:00
Gael Guennebaud
9053729d68
add a bi conjugate gradient stabilized solver
2011-09-17 10:54:14 +02:00
Gael Guennebaud
f4122e9f94
add tan, acos, asin
2011-09-14 08:35:54 +02:00
Jitse Niesen
6b006772f1
Fix LDLT::solve() if matrix singular but solution exists (bug #241 ).
...
Clarify this in docs and add regression test.
2011-09-11 06:30:53 +01:00
Jitse Niesen
59b83c14fd
Write page on template and typename keywords in C++.
...
After yet another question on the forum, I decided to write something on this
common issue. Now we just need to link to this and get people to read it.
Thanks to mattb on the forum for some links. Caveat: IANALL (I am not a
language lawyer).
2011-09-10 09:18:18 +01:00
Gael Guennebaud
3e7aaadb1d
fix bench_gemm
2011-09-09 10:36:20 +02:00
Gael Guennebaud
d52d8e4a53
reactivate the sorting in the experimental sparse-sparse product
2011-09-08 13:43:32 +02:00
Gael Guennebaud
7706bafcfd
add the possibility to reserve room for inner vector in SparseMatrix
2011-09-08 13:42:54 +02:00
Jitse Niesen
7898281b2b
Put docs for unsupported modules in right place.
...
Doxygen was confused by the unsupported modules being partly in the doc/
directly, instead of completely in unsupported/doc/ . Thus, the link to
the unsupported modules on the server did not work (I think this manifested
itself after doxygen was upgraded on the server).
2011-09-07 04:19:12 +01:00
Jitse Niesen
b38d3b360e
Define log2() on FreeBSD (fixes bug #343 ).
2011-09-06 06:52:04 +01:00
Gael Guennebaud
f1d98aad1b
add atan2 support in AutoDiff and remove superfluous std:: specializations
2011-09-05 17:47:58 +02:00
Gael Guennebaud
063042bca3
Merged in trevorw/eigen (pull request PR-7)
2011-09-05 10:55:49 +02:00
Jitse Niesen
477d3e5726
Update docs of PlainObjectBase::Map(); fixes bug #335 .
...
Also fix some typos.
2011-09-03 15:18:21 +01:00
Jitse Niesen
a2feb6f3c7
Add defensive assert to MatrixExponential,
2011-09-03 04:58:06 +01:00
Chen-Pang He
dd598ef8ce
enhance efficacy via avoiding exception handling
2011-09-02 00:15:02 +08:00
Trevor Wennblom
6b31aa4bd1
resolve pkgconfig destination - #338
2011-08-30 19:15:16 -05:00
Jitse Niesen
7ee084f82f
Leverage triangular square root in matrix log.
2011-08-25 07:42:32 +01:00
Jitse Niesen
c01ed935dd
Split code for (quasi)triangular matrices from MatrixSquareRoot.
...
This way, (quasi)triangular matrices can avoid the costly Schur decomposition.
2011-08-25 07:42:21 +01:00
Chen-Pang He
8ddd1e390b
fix: <ctime> is necessary for srand(time(NULL))
2011-08-24 18:26:38 +08:00
Gael Guennebaud
8414be739b
fix bug #330 : Index to int conversion warning
2011-08-23 11:02:10 +02:00
Gael Guennebaud
b3f5fbbd9a
oops EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION now perfroms full specialization,
...
no need for the typename keywords
2011-08-22 10:48:04 +02:00
Gael Guennebaud
b85c89c313
fix bug #262 : Compilation error of stdvector_overload test with GCC 4.6
...
Now our aligned allocator is automatically activatived only when the user
did not specified an allocator (or specified the default std::allocator).
2011-08-22 10:12:10 +02:00
Jitse Niesen
9bf4d709e4
Fix failures in redux test caused by underflow in .prod() test.
2011-08-21 00:51:15 +01:00
Jitse Niesen
9e667e28f5
Add coverage for long double to matrix_exponential test.
2011-08-21 00:20:29 +01:00
Chen-Pang He
6d7a32231d
add compatibility with long double
2011-08-20 12:33:51 +08:00
Gael Guennebaud
ea4a1960f0
mv the mpreal copy in its own folder
2011-08-19 15:08:29 +02:00
Gael Guennebaud
79ad55a901
update to latest mpreal and fix a min/max issue in mprel.h
2011-08-19 15:03:45 +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
5734ee6df4
add the possibility to specialize assign_impl and still call the default implementations.
...
(yes I know this change will be deprecated as soon as the evaluators will be in shape but I need this now)
2011-08-18 10:19:25 +02:00
Gael Guennebaud
ca7d3dca79
fix linking issue
2011-08-12 22:38:53 +02:00
Gael Guennebaud
f162f7c323
fix a numerical issue in the direct 3x3 eigenvector extraction
2011-08-08 10:46:26 +02:00
Thomas Capricelli
a660e6425c
fix a bug where some rotations were not initialized
...
They actually were in the original minpack code, this is a bug introduced
by our migration.
Reported on #322 and
http://forum.kde.org/viewtopic.php?f=74&t=96197#p201158
2011-08-04 05:02:04 +02:00
Thomas Capricelli
5748d3c96f
wa2 was computed twice because of a confustion between changesets
...
746c787a76
and ee0e39284c
.
Reported on forum:
http://forum.kde.org/viewtopic.php?f=74&t=96197#p201158
2011-08-04 03:27:01 +02:00
Jitse Niesen
b12522f696
Remove unnecessary template keywords (breaks compilation under MSVC).
...
Thanks to Hauke for finding this.
2011-07-28 13:55:56 +01:00
Hauke Heibel
3431c052c6
Improved compilation errors for Transform initialization/assignment with different numeric types.
2011-07-28 09:35:17 +02:00
Gael Guennebaud
3a2cabc275
compilation fix with conjugate_gradient_solve_retval_with_guess
2011-07-26 14:43:20 +02:00
Gael Guennebaud
51f706b916
add the possibility to configure the preconditioner
2011-07-26 09:22:18 +02:00
Gael Guennebaud
66fa6f39a2
add a naive IdentityPreconditioner
2011-07-26 09:17:18 +02:00
Gael Guennebaud
80b1d1371d
add a conjugate gradient solver
2011-07-26 09:04:10 +02:00
Gael Guennebaud
8fa7e92e77
fix sparse selfadjoint time dense such that the other triangular part is not used at all
2011-07-26 09:02:41 +02:00
Gael Guennebaud
97ac0fd192
fix eigen2 support min/max garbage
2011-07-22 11:37:41 +02:00
Gael Guennebaud
e8313364c1
simplify a bit the 2x2 direct eigenvalue solver
2011-07-22 11:21:43 +02:00
Gael Guennebaud
47a2bca89f
integrate Hauke's 2x2 direct symmetric eigenvalues solver
2011-07-22 09:43:14 +02:00
Gael Guennebaud
26d7dad138
add a computeDirect method to SelfAdjointEigenSolver for fast eigen decomposition
2011-07-21 19:07:52 +02:00
Gael Guennebaud
22bff949c8
protect calls to min and max with parentheses to make Eigen compatible with default windows.h
...
(transplanted from 49b6e9143e
)
2011-07-21 11:19:36 +02:00
Gael Guennebaud
d4bd8bddb5
fix bug #320 (pretty gdb printer on mingw)
2011-07-20 11:15:42 +02:00
Hauke Heibel
705023fd85
Translation * RotationBase now returns an isometric transformation.
2011-07-19 11:13:40 +02:00
Gael Guennebaud
3fb65734ab
fix triangular unit test: it only accepts small matrices
2011-07-19 10:45:42 +02:00
Gael Guennebaud
22cc2b727b
fix trmv unit test
2011-07-19 10:44:44 +02:00
Gael Guennebaud
38a4e3053d
fix LLT rank one update for "upper" hermitian matrices
2011-07-19 10:09:43 +02:00
Gael Guennebaud
0d02182ae8
add an "InvalidInput" enum, used by the SuperLU interface
2011-07-18 13:37:41 +02:00
Gael Guennebaud
a8f66fec65
add the possibility to configure the maximal matrix size in the unit tests
2011-07-12 14:41:00 +02:00
Gael Guennebaud
bdb545ce3b
enable instalation of blas and lapack libs
2011-07-11 17:02:09 +02:00
Gael Guennebaud
5fdebc2fa5
fix bug #316 - SelfAdjointEigenSolver::compute does not handle matrices of size (1,1) correctly
2011-07-09 07:15:14 +02:00
Thomas Capricelli
08074843ac
fix few warnings reported by clang
2011-07-07 22:20:04 +02:00
Gael Guennebaud
c52268c649
suppress polluting EMPTY macro defined by SuperLU
2011-07-07 16:42:51 +02:00
Gael Guennebaud
2489c81562
add new interface to SuperLU
2011-07-07 14:19:42 +02:00
Gael Guennebaud
c98cd5e564
fix constness of intersection methods (bug #309 )
2011-06-27 13:15:01 +02:00
Jitse Niesen
0b308e79c4
Add DenseStorage specializations for dynamic size with MaxSize = 0 (bug #288 ).
...
This is necessary for instantiations like Matrix<float,Dynamic,Dynamic,0,0,0>.
2011-06-24 13:47:11 +01:00
Jitse Niesen
16db255333
Fix compilation of cholesky rank update test.
2011-06-24 13:41:23 +01:00
Thomas Capricelli
9b52fe0432
fix typo in doc for ParametrizedLine
2011-06-23 00:36:24 +02:00
Gael Guennebaud
3ecf7e8f6e
add a KroneckerProduct module (unsupported) from Kolja Brix and Andreas Platen materials.
2011-06-22 14:39:11 +02:00
Gael Guennebaud
7aabce7c76
rm confusing sentence
2011-06-17 09:46:05 +02:00
Tim Holy
16a2d896bc
Relatively straightforward changes to wording of documentation, focusing particularly on the sparse and (to a lesser extent) geometry pages.
2011-06-20 22:47:58 -05:00
Tim Holy
4a95badf74
A first tiny test commit: fix a spelling error in the documentation.
2011-06-19 14:39:19 -05:00
Gael Guennebaud
2f32e48517
New feature: add rank one update in Cholesky decomposition
2011-06-20 15:05:50 +02:00
Gael Guennebaud
a55c27a15f
fix documentation of norm
2011-06-18 08:30:34 +02:00
Zach Ploskey
642d452921
Suggest placing Eigen directory in system include path.
2011-06-17 15:46:50 -07:00
Zach Ploskey
e3491beb48
Fixed a few typos and cleaned up some language.
2011-06-17 15:42:15 -07:00
Benoit Jacob
a871f3cdb8
adapt test to the change reverting normalize() to returning void
2011-06-15 10:00:43 -04:00
Benoit Jacob
aedccbf52f
back out 842881cfb1
2011-06-15 09:59:10 -04:00
Benoit Jacob
d2673d89bd
add test for normalize() and normalized()
2011-06-15 00:30:46 -04:00
Andy Somerville
842881cfb1
bug #298 - let normalize() return a reference to *this
2011-06-15 00:30:11 -04:00
Gael Guennebaud
40287d2fd9
remove the use of non standard long long
2011-06-14 10:56:47 +02:00
Gael Guennebaud
f82b3ea241
fix aligned_allocator::allocate interface
2011-06-14 08:50:25 +02:00
Thomas Capricelli
cf04a7c682
fix typo in constant name
2011-06-12 23:54:28 +02:00
Gael Guennebaud
6d3dee1b66
introduce a smart_copy internal function and fix sparse matrices with non POD scalar type
2011-06-09 19:04:06 +02:00
Jitse Niesen
8c8ab9ae10
Implement matrix logarithm + test + docs.
...
Currently, test matrix_function_1 fails due to bug #288 .
2011-06-07 14:44:43 +01:00
Jitse Niesen
a6d42e28fe
Decouple MatrixFunction and MatrixFunctionAtomic
...
in preparation for implementation of matrix log.
2011-06-07 14:40:27 +01:00
Jitse Niesen
86ca35ccff
Fix and test MatrixSquareRoot for 1-by-1 matrices.
2011-06-07 14:32:16 +01:00
Gael Guennebaud
91fe1507d1
Sparse: more fixes regarding long int as index type
2011-06-07 11:28:16 +02:00
Gael Guennebaud
421ece38e1
Sparse: fix long int as index type in simplicial cholesky and other decompositions
2011-06-06 10:17:28 +02:00
Jitse Niesen
7a61a564ef
Fix snippets for operator|| and && by adding pair of parens.
2011-06-03 11:17:08 +01:00
Gael Guennebaud
5bc4abc45e
fix compilation with MinGW
2011-06-01 12:16:21 +02:00
Gael Guennebaud
562d3ea91d
forgot to include this file in previous commit
2011-06-01 10:49:36 +02:00
Gael Guennebaud
35c1158ee3
add boolean || and && operators
2011-05-31 22:17:34 +02:00
Gael Guennebaud
b495203310
update URL
2011-05-31 19:07:15 +02:00
Gael Guennebaud
5830f90983
add read/write routines for sparse matrices in the Market format
2011-05-31 18:58:04 +02:00
Jitse Niesen
9d6fdbced7
Fix truncated instructions for printers.py
...
... as noted by kp0987 on forum
2011-05-30 16:15:11 +01:00
Gael Guennebaud
5b71d44e18
fix bug #278 : geometry tutorial
...
(transplanted from 3cd1641dac
)
2011-05-28 22:12:15 +02:00
Gael Guennebaud
9464745385
do not directly call std::ceil
2011-05-28 16:46:38 +02:00
Gael Guennebaud
7b46d7ed0f
finish to fix bug #270 : we have to use EIGEN_ALIGN_STATICALLY and not EIGEN_DONT_ALIGN_STATICALLY...
2011-05-28 11:38:53 +02:00
Jitse Niesen
d23845c4cc
Fix typo ('using namespace' instead of 'using').
2011-05-26 09:52:36 +01:00
Gael Guennebaud
87ac09daa8
Simplify the use of custom scalar types, the rule is to never directly call a standard math function using std:: but rather put a using std::foo before and simply call foo:
...
using std::max;
max(a,b);
2011-05-25 08:41:45 +02:00
Gael Guennebaud
5541bcb769
bug #225 : add a unit test for memory leak
2011-05-23 14:20:49 +02:00
Gael Guennebaud
117d17ee58
bug #271 : fix copy/paste mistakes in doc
...
(transplanted from 145b9cad63101ee46924d446fa8b08ffb48c7f3a)
2011-05-23 13:39:26 +02:00
Gael Guennebaud
46bee5682f
clean a bit previous patch (ctor vs static_cast and a few bits)
2011-05-23 13:34:04 +02:00
David H. Bailey
074b067624
fix implicit scalar conversions (needed to support fancy scalar types, see bug #276 )
2011-05-23 11:20:13 +02:00
Gael Guennebaud
7209d6a126
fix gemv_static_vector_if on architectures that cannot aligned on the stack (e.g., ARM NEON)
2011-05-21 22:15:11 +02:00
Gael Guennebaud
96464f8563
clean several other assertion checking tests
2011-05-20 09:59:15 +02:00
Gael Guennebaud
501bc602ec
fix vectorization_logic when EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT
2011-05-19 21:52:40 +02:00
Gael Guennebaud
f2837aebc4
NEON: fix plset
2011-05-18 21:12:08 +02:00
Gael Guennebaud
8170ef0b2d
add unit test for plset
2011-05-18 21:11:03 +02:00
Gael Guennebaud
7f2a88c91f
NEON: disable unaligned assertion checking for non vectorized types
2011-05-18 14:11:40 +02:00
Gael Guennebaud
85c137ccd4
NEON: fix ploaddup
2011-05-18 08:15:47 +02:00
Gael Guennebaud
179d42bb2b
fix bug #267 : alloca is not aligned on arm
2011-05-17 21:30:12 +02:00
Gael Guennebaud
d4fd298fbb
Autodiff: fix scalr - active_scalar
2011-05-14 22:38:41 +02:00
Jitse Niesen
9a06055870
Store light-weight objects in evaluators by value.
...
This resolves failure in unit test caused by dying temporaries.
2011-05-13 14:05:59 +01:00
Gael Guennebaud
a34a216e82
AutoDiff: add one missing operator- version
2011-05-12 23:40:19 +02:00
Gael Guennebaud
3de2f4b75a
AutoDiff: fix most of bug #234 (missing operators, used old internal math function interface, etc)
2011-05-12 23:36:33 +02:00
Gael Guennebaud
ae3b6cc324
AutoDiff: fix unary operator-
2011-05-12 22:27:51 +02:00
Jitse Niesen
e22a523021
Remove Eigen::internal::sqrt(), see bug #264 .
2011-05-12 16:52:56 +01:00
John Tytgat
0aa7425f15
fix bug #260 : broken Qt support for Transform
...
(transplanted from 84c8b6d5c5
)
2011-05-11 22:31:36 +02:00
Jitse Niesen
0c463a21c4
Forgot to 'hg add' example file in last commit.
2011-05-10 09:59:58 +01:00
Jitse Niesen
d7e3c949be
Implement and document MatrixBase::sqrt().
2011-05-09 22:20:20 +01:00
Jitse Niesen
dac4bb640a
Fix compilation error under GCC 4.5.
...
That version is stricter in forcing function prototype and definition
to match.
2011-05-09 13:57:06 +01:00
Jitse Niesen
837db08cbd
Add test for sqrt() on complex Arrays.
...
From Gael's dashboard output of matrix_square_root test, I suspect the
test committed here may fail on old gcc.
2011-05-09 10:17:41 +01:00
Jitse Niesen
6e1573f66a
Implement square root for real matrices via Schur.
2011-05-08 22:18:37 +01:00
Jitse Niesen
6b4e215710
Implement matrix square root for complex matrices.
...
I hope to implement the real case soon, but it's a bit more
complicated due to the 2-by-2 blocks in the real Schur decomposition.
2011-05-07 22:57:46 +01:00
Jitse Niesen
0896c6d97d
Get rid of wrong "subscript above bounds" warning (bug #149 ).
2011-05-07 18:44:11 +01:00
Gael Guennebaud
4e7e5d09e1
s/n=n/EIGEN_UNUSED_VARIABLE(n)
2011-05-06 21:29:19 +02:00
Gael Guennebaud
fb76452cbc
add missing .data() members to MatrixWrapper and ArrayWrapper
2011-05-06 21:15:05 +02:00
Gael Guennebaud
97b6d26f5b
fix compilation on ARM NEON (missing AlignedOnScalar)
2011-05-06 09:03:48 +02:00
Thomas Capricelli
883219041f
better fix for gcc 4.6.0 / ptrdiff_t, as suggested by Benoit
2011-05-05 18:48:18 +02:00
Thomas Capricelli
a18a1be42d
Fix compilation with gcc-4.6.0, patch provided by Anton Gladky <gladky.anton@gmail.com>,
...
working on debian packaging.
2011-05-05 00:44:24 +02:00
Jitse Niesen
012419166e
Bail out if preprocessor symbol Success is defined (bug #253 ).
2011-05-04 14:28:45 +01:00
Jitse Niesen
781e75cbd7
Document some more preprocessor symbols:
...
EIGEN_NO_MALLOC, EIGEN_RUNTIME_NO_MALLOC, eigen_assert.
2011-05-04 14:13:20 +01:00
Jitse Niesen
cc23b0a3d9
Remove unused enums in Constants.h .
2011-05-03 17:20:54 +01:00
Jitse Niesen
a96c849c20
Document enums in Constants.h (bug #248 ).
...
To get the links to work, I also had to document the Eigen namespace.
Unfortunately, this means that the word Eigen is linked whenever it appears
in the docs.
2011-05-03 17:08:14 +01:00
Gael Guennebaud
1947da39ab
fix bug #258 : asin/acos copy paste mistake
2011-05-02 13:26:44 +02:00
Hauke Heibel
10426b7647
Final working fix for the EOL extension.
...
MSVC debugger tools are now forced to CRLF.
2011-04-30 18:10:17 +02:00
Hauke Heibel
0358a8247c
This should fix the eol extension.
2011-04-30 17:46:40 +02:00
Hauke Heibel
9e0c8549ce
Fixed Unix script line ending conversions.
2011-04-30 17:35:51 +02:00
Jitse Niesen
06fb7cf470
Implement compound assignments using evaluator of SelfCwiseBinaryOp.
2011-04-28 16:57:35 +01:00
Jitse Niesen
3b60d2dbc4
Implement swap using evaluators.
2011-04-28 15:52:15 +01:00
Jitse Niesen
2d11041e24
Use copyCoeff/copyPacket in copy_using_evaluator.
2011-04-22 22:36:45 +01:00
Jitse Niesen
3457965bf5
Implement evaluator for Diagonal.
2011-04-22 22:36:45 +01:00
Jitse Niesen
f924722f3b
Implement evaluators for Reverse.
2011-04-22 22:36:45 +01:00
Jitse Niesen
bb2d70d211
Implement evaluators for ArrayWrapper and MatrixWrapper.
2011-04-22 22:36:45 +01:00
Gael Guennebaud
6441e8727b
fix aligned_stack_memory_handler for null pointers
2011-04-21 09:00:55 +02:00
Mathieu Gautier
392eb9fee8
Quaternion : add Flags on Quaternion's traits with the LvalueBit set if needed
...
Quaternion : change PacketAccess to IsAligned to mimic other traits
test : add a test and 4 failtest on Map<const Quaternion> based on Eigen::Map ones
2011-04-12 14:49:50 +02:00
Gael Guennebaud
f85db18c1c
I doubt this change was intented to be committed
...
ss: Enter commit message. Lines beginning with 'HG:' are removed.
2011-04-20 08:15:09 +02:00
Thomas Capricelli
50c00d14c8
be nice with the server : dont use -j3
2011-04-19 17:41:59 +02:00
Gael Guennebaud
e87f653924
fix bug #250 : compilation error with gcc 4.6 (STL header files no longer include cstddef)
2011-04-19 16:34:25 +02:00
Gael Guennebaud
67d50f539b
fix bug #242 : vectorization was wrongly enabled on MSVC 2005
2011-04-19 15:25:00 +02:00
Eamon Nerbonne
e48bc0dfe3
WIN32 isn't defined ?? but _WIN32 is.
2011-04-19 14:37:04 +02:00
Jitse Niesen
0b40b36d10
Make MapBase(PointerType) constructor explicit (fixes bug #251 )
2011-04-19 12:13:04 +01:00
Benoit Jacob
820545cddb
fix unaligned-array-assert link
2011-04-18 06:35:54 -04:00
Jitse Niesen
c9b5531d6c
Normalize eigenvectors returned by EigenSolver (fixes bug #249 )
...
because the documentation says that we do this.
Also, add a unit test to cover this.
2011-04-15 17:39:59 +01:00
Jitse Niesen
e654405900
Implement unrolling in copy_using_evaluator() .
2011-04-13 11:49:48 +01:00
Jitse Niesen
7e86324898
Implement evaluator for PartialReduxExpr as a dumb wrapper.
2011-04-13 09:49:10 +01:00
Jitse Niesen
11164830f5
Implement evaluator for Replicate.
2011-04-12 22:54:31 +01:00
Jitse Niesen
12a30a982f
Implement evaluator for Select.
2011-04-12 22:34:16 +01:00
Jitse Niesen
88b3116b99
Decouple AssignEvaluator.h from assign_traits from Assign.h
2011-04-12 13:35:08 +01:00
Gael Guennebaud
0c146bee1b
enforce no inlining of the GEBP product kernel: this is a big
...
function that makes no sense to inline, though GCC was thinking
the opposite. This even slighlty improve the perf. And as a side
effect this workaround a weird GCC-4.4 linking bug (see
"Problem with g++-4.4 -O2 and Eigen3" in the ML)
2011-04-07 18:49:45 +02:00
Jitse Niesen
eae5a6bb09
Decouple Cwise*Op evaluators from expression objects
2011-04-05 18:30:51 +01:00
Jitse Niesen
11ea81858a
Implement evaluator for CwiseUnaryView
2011-04-05 18:20:43 +01:00
Jitse Niesen
cca7b146a2
Implement evaluator for Map
2011-04-05 18:15:59 +01:00
Gael Guennebaud
a6b5314c20
Performance tunning for TRMM products
2011-04-05 11:20:50 +02:00
Jitse Niesen
ae06b8af5c
Make evaluators for Matrix and Array inherit from common base class.
...
This gets rid of some code duplication.
2011-04-04 15:35:14 +01:00
Jitse Niesen
afdd26f229
Do some of the actual work in evaluator for Block.
...
Also, add simple accessor methods to Block expression class.
2011-04-04 13:44:50 +01:00
Gael Guennebaud
0d58c36ffd
std::min/max are not implemented and they cannot be implemented easily
2011-04-04 16:26:43 +02:00
Jitse Niesen
70d5837e00
Correct typo in QuickReference doc, plus typographical improvements.
2011-04-01 16:58:51 +01:00
Gael Guennebaud
77a1373c3a
fix trmm unit test
2011-03-31 15:32:21 +02:00
Jitse Niesen
d90a8ee8bd
Evaluators: add Block evaluator as dumb wrapper, add slice vectorization.
2011-03-31 13:50:52 +01:00
Gael Guennebaud
b471161f28
fix typo and remove unused declaration.
2011-03-31 10:02:02 +02:00
Adam Szalkowski
969e92261d
fix bug #239 : the essential part was left uninitialized in some cases
2011-03-31 09:54:52 +02:00
Jitse Niesen
10dae8dd4d
Add directory containing split_test_helper.h to include path.
2011-03-29 14:17:49 +01:00
Jitse Niesen
8175fe43e0
Evaluators: Make inner vectorization more similar to default traversal.
2011-03-28 21:29:47 +01:00
Gael Guennebaud
00991b5b64
extend trmm/trmv unit test to thoroughly check all configurations
2011-03-28 17:45:16 +02:00
Gael Guennebaud
4f1419e9c3
add the possibility to specify a list of sub-test suffixes in a compact way
2011-03-28 17:43:59 +02:00
Gael Guennebaud
6feb1d3c0b
fix trmv for Strictly* triangular matrices and trapezoidal matrices
2011-03-28 17:42:26 +02:00
Gael Guennebaud
568478ffe5
fix trmm for some unusual trapezoidal cases (a dense set of columns or rows is zero)
2011-03-28 17:41:46 +02:00
Gael Guennebaud
f4ac7d2b43
automatically generate the CALL_SUBTEST_* macros
2011-03-28 17:39:05 +02:00
Jitse Niesen
b175bc464f
Evaluators: Implement linear traversal, better testing.
2011-03-27 22:08:48 +01:00
Jitse Niesen
1b17a674dd
Evaluators: Implement inner vectorization.
...
The implementation is minimal (I only wrote the functions called by
the unit test) and ugly (lots of copy and pasting).
2011-03-27 13:49:15 +01:00
Jitse Niesen
5c204d1ff7
Evaluators: Implement LinearVectorizedTraversal, packet ops in evaluators.
2011-03-25 16:30:41 +00:00
Gael Guennebaud
e6fa4a267a
improve computation of the sub panel width
2011-03-24 23:42:25 +01:00
Gael Guennebaud
931814d7c0
improve performance of trsm
2011-03-24 23:19:53 +01:00
Jitse Niesen
c6ad2deead
Bug fix in linspace_op::packetOp(row,col). Fixes bug #232 .
...
Also, add regression test.
2011-03-24 10:42:11 +00:00
Gael Guennebaud
42bc1f77be
impl basic product evaluator on top of previous one
2011-03-24 09:33:36 +01:00
Gael Guennebaud
abc8c0821c
makes evaluator test use VERIFY_IS_APPROX
2011-03-23 17:23:56 +01:00
Gael Guennebaud
4ada45bc76
BTL: add eigen2 backend
2011-03-23 16:59:12 +01:00
Gael Guennebaud
7d24cf283a
do not confuse Eigen3 or beta versions of Eigen3 with Eigen2
2011-03-23 16:58:45 +01:00
Gael Guennebaud
7bb4f6ae2f
BTL: do not enable GOTO1 if GOTO2 was found
2011-03-23 16:28:43 +01:00
Gael Guennebaud
3ef0da6efb
fix tridiagonalization action
2011-03-23 16:28:09 +01:00
Gael Guennebaud
816541d82c
add a stupid Product<A,B> expression produced by prod(a,b), and implement a first version of its evaluator
2011-03-23 16:12:21 +01:00
Gael Guennebaud
cfd5c2d74e
import evaluator works
2011-03-23 11:54:00 +01:00
Gael Guennebaud
611fc17894
add support for ublas
2011-03-23 11:39:35 +01:00
Gael Guennebaud
ec32d2c807
BTL: by default use current Eigen headers, and disable the novec version
2011-03-23 11:08:10 +01:00
Gael Guennebaud
b3e43246bc
BTL: add a Eigen-blas backend
2011-03-23 11:00:31 +01:00
Gael Guennebaud
f9da1ccc3b
BTL: clean the BLAS implementation
2011-03-23 10:35:54 +01:00
Gael Guennebaud
e35b1ef3f3
BTL: rm stupid backends
2011-03-23 10:07:24 +01:00
Gael Guennebaud
fe595e91ae
update plot settings
2011-03-23 10:03:01 +01:00
Gael Guennebaud
9cca79f5ca
update aat action to do a syrk operation, and remove (comment) ata action
2011-03-23 10:02:00 +01:00
Gael Guennebaud
da3f3586e0
BTl: GMM++ LU is not a full pivoting LU
2011-03-22 15:39:23 +01:00
Gael Guennebaud
22c7609d72
extend sparse product unit tests
2011-03-22 11:58:22 +01:00
Gael Guennebaud
5fda8cdfb3
fix 228 (ei_aligned_stack_delete does not exist anymore)
2011-03-21 21:59:42 +01:00
Benoit Jacob
eb9c6b6cfd
merge
2011-03-21 06:46:27 -04:00
Benoit Jacob
bb8a25e94b
fix typos
2011-03-21 06:45:57 -04:00
Gael Guennebaud
535a61ede8
port sparse LLT/LDLT to new stack allocation API
2011-03-20 17:10:43 +01:00
Benoit Jacob
eba023d082
make compile_snippet use Eigen/Dense
2011-03-20 11:48:53 -04:00
Gael Guennebaud
b8ecda5c66
clean a bit the stack allocation mechanism
2011-03-19 10:27:47 +01:00
Gael Guennebaud
bbb4b35dfc
test the new stack allocation mechanism
2011-03-19 08:51:38 +01:00
Gael Guennebaud
290205dfc0
fix memory leak when a custom scalar throw an exception
2011-03-19 01:06:50 +01:00
Benoit Jacob
5991d247f9
bump
2011-03-18 05:27:58 -04:00
Gael Guennebaud
37c5341d64
fix compilation for old but not so old versions of glew
2011-03-18 10:26:21 +01:00
Gael Guennebaud
2359486129
disable testing of aligned members when aligned static allocation is not enabled (e.g., for gcc 3.4)
2011-03-15 09:53:23 +01:00
Gael Guennebaud
dd2e4be741
fix array_for_matrix unit test
2011-03-15 09:42:22 +01:00
Benoit Jacob
c5ef8f9027
Added tag 3.0-rc1 for changeset 4931a719f4
2011-03-14 14:10:12 -04:00
Benoit Jacob
4931a719f4
bump
2011-03-14 14:10:05 -04:00
Jitse Niesen
27f34269d5
Document EIGEN_DEFAULT_DENSE_INDEX_TYPE.
...
Also, expand description of EIGEN_DONT_ALIGN.
2011-03-11 11:15:44 +00:00
Jitse Niesen
e7d2376688
Change int to Index in equalsIdentity().
...
This fixes compilation errors in nullary test on 64-bits machines.
2011-03-11 11:06:13 +00:00
Benoit Jacob
dc36efbb8f
fix bug #219 : Map Flags AlignedBit was miscomputed, didn't account for EIGEN_ALIGN
2011-03-10 10:17:17 -05:00
Benoit Jacob
9a47fb289b
add test for EIGEN_DONT_ALIGN and EIGEN_DONT_ALIGN_STATICALLY, cf recent bugs (214 etc) and changeset 56818d907e
2011-03-10 09:44:59 -05:00
Jitse Niesen
151e3294cf
Fix equalsIdentity() for rectangular matrices.
2011-03-10 13:49:06 +00:00
Oliver Ruepp
5d1263e7c5
bug #37 : fix resizing when the destination sparse matrix is row major
2011-03-08 16:37:59 +01:00
Gael Guennebaud
c6c6c34909
repeat nullary tests, and fix some tests
2011-03-07 16:41:59 +01:00
Jitse Niesen
931edea57d
Tweak geo_quaternion test to squash intermittent failures.
2011-03-07 11:42:55 +00:00
Benoit Jacob
bfcad536e8
* bug #206 : correctly forward computationOptions and work towards avoiding mallocs after preallocation, with unit test.
...
* added EIGEN_RUNTIME_NO_MALLOC and new set_is_malloc_allowed() function to implement that test
2011-03-06 20:59:25 -05:00
Benoit Jacob
b464fc19bc
try to fix a ICC 11.1 compiler error (bug #217 )
2011-03-06 19:27:31 -05:00
Benoit Jacob
c541d0a62e
disable ICC 12 warning 279 - controlling expression is constant
2011-03-06 19:06:44 -05:00
Benoit Jacob
b43d92a5a2
The Eigen2 intrusive std::vector hack really can't be supported in eigen3 (bug #215 )
2011-03-04 10:24:41 -05:00
Benoit Jacob
56818d907e
Make EIGEN_ALIGN16 always align to fix crashes with EIGEN_DONT_ALIGN_STATICALLY. New macro EIGEN_USER_ALIGN16 had the old behavior i.e. honors user preference.
2011-03-04 09:57:49 -05:00
Sameer Sheorey
e9868f438b
Changed debug/gdb/printers.py to correctly display variable sized matrices.
...
There is no python error now.
2011-03-02 10:47:54 -06:00
Gael Guennebaud
4f0909b5f0
fix bug #212 (installation of Eigen2Support/Geometry)
2011-03-04 14:16:58 +01:00
Jitse Niesen
6cac61ca3e
Copy fix of unit test when GSL is enabled to eigen2 test suite.
2011-03-04 11:04:07 +00:00
Jitse Niesen
1180ede36d
Escape hash character in docs as required by doxygen.
2011-03-03 15:19:11 +00:00
Jitse Niesen
99fa279ed1
Use copy_bool() workaround in Eigen2 test suite.
...
See bug #89 and changeset 59596efdf7
.
2011-03-03 14:17:23 +00:00
Jitse Niesen
dbab12d6b0
Fix bug #205 : eigen2_adjoint_5 test fails.
2011-03-02 22:00:48 +00:00
Gael Guennebaud
dc727d86f1
extend unit tests of Transform * MatrixBase and Transform * Homogeneous
2011-03-02 19:34:39 +01:00
Gael Guennebaud
5cec29162b
fix compilation in the case of 1D Transform
2011-03-02 19:29:55 +01:00
Gael Guennebaud
703c8a0cc6
fix compilation when mixing CompactAffine with Homogeneous objects
2011-03-02 19:27:13 +01:00
Gael Guennebaud
d30f0c0953
fix transform * matrix products: in particular it now truely considers the rhs as a set of (homogeneous) points and do not neglect the homogeneous coordinates in the case of affine transform
2011-03-02 19:26:38 +01:00
Gael Guennebaud
adacacb285
fix bug #204 : limit integer values to numbers which are representable using float
2011-03-02 14:24:26 +01:00
Gael Guennebaud
c8e1b679fa
re-enable fast pset1-pstore by introducing a new higher level pstore1 function
2011-03-02 10:55:44 +01:00
Gael Guennebaud
951e238430
now fixing "unsupported" "legacy" code...
2011-03-01 16:45:46 +01:00
Benoit Jacob
9c5c8d8916
Added tag 3.0-beta4 for changeset 77fc6a9914
2011-02-28 00:55:59 -05:00
Benoit Jacob
77fc6a9914
bump
2011-02-28 00:55:52 -05:00
Benoit Jacob
eef03525b8
fix bug #203 : revert to using _mm_set1_p[sd]
2011-02-28 00:04:05 -05:00
Benoit Jacob
31621ff0ef
relax condition in matrix_exponential test for clang
2011-02-27 23:25:14 -05:00
Benoit Jacob
0b44893b4e
fix umeyama test
2011-02-27 23:20:45 -05:00
Benoit Jacob
8cad73072e
fix stable_norm test: the |small| value was 0 on clang with complex<float>.
2011-02-27 22:35:49 -05:00
Benoit Jacob
9be2712bf7
remove now-useless comments
2011-02-27 22:35:17 -05:00
Benoit Jacob
0612768c1c
fix bug #201 : Clang too has intrinsics bugs preventing us to use custom unaligned loads
2011-02-27 21:59:07 -05:00
Benoit Jacob
32025a2510
disable BVH test on Clang++. Looks like there's a good reason why BVH is unsupported. It seems to have a very weird usage pattern, relying on an externally defined bounding_box function in a naive way.
2011-02-27 21:37:34 -05:00
Benoit Jacob
771e64200f
fix compilation of unit tests with clang
2011-02-27 20:33:58 -05:00
Benoit Jacob
4846c76d9d
shut up a stupid clang 2.8 warning
2011-02-27 20:18:03 -05:00
Benoit Jacob
afc9efca15
fix compilation with clang 2.8
2011-02-27 20:17:47 -05:00
Benoit Jacob
ea7d872181
documentation fixes
2011-02-27 17:43:10 -05:00
Benoit Jacob
b6299c974f
add option to build in 32bit mode
2011-02-27 17:27:23 -05:00
Benoit Jacob
b3544ce2ae
bug #195 - fix this once and for all: just never use _mm_load_sd on gcc/i386, it generates redundant x87 ops
2011-02-27 17:26:59 -05:00
Jitse Niesen
a8f5ef9388
Document (non)sorting of eigenvalues.
...
Also, update docs for (Generalized)SelfAdjointEigenSolver to reflect that these
two classes were split apart.
2011-02-27 14:06:55 +00:00
Jitse Niesen
58abf0eb98
Use absolute error to test sum in which cancellation may occur.
2011-02-25 08:56:37 +00:00
Gael Guennebaud
ef73265987
to ease debugging let's catch invalid template options in Transform
2011-02-25 09:03:24 +01:00
Gael Guennebaud
4fbd78d993
fix compilation with gcc 3.4
2011-02-25 09:02:15 +01:00
Benoit Jacob
5dfae4524b
fix bug #195 : fast unaligned load for integer using _mm_load_sd failed when the value interpreted as a NaN
2011-02-24 10:31:57 -05:00
Hauke Heibel
2064c59878
Improved docs of PlainObjectBase::conservativeResize methods.
2011-02-24 15:48:41 +01:00
Gael Guennebaud
bb9a465c5a
fix AltiVec ploaddup
2011-02-24 00:23:50 +03:00
Gael Guennebaud
28d17c5390
bounds the range of random integers for AltiVec
2011-02-24 00:22:53 +03:00
Gael Guennebaud
4bfe38eda2
extend testing of ploaddup
2011-02-24 00:22:10 +03:00
Gael Guennebaud
23aae0d63e
fix pset1 for complex
2011-02-23 21:24:47 +03:00
Gael Guennebaud
0dfea7fce4
improve packetmath unit test
2011-02-23 21:24:26 +03:00
Gael Guennebaud
c121e6f390
implement ploaddup for complex and SSE/NEON even though they are not used in practice
2011-02-23 16:31:42 +01:00
Gael Guennebaud
955c099eb5
implement ploaddup for altivec and add respective unit test
2011-02-23 18:20:55 +03:00
Gael Guennebaud
a00aaf7f7e
fix overflow in packetmath unit test
2011-02-23 17:57:18 +03:00
Gael Guennebaud
6e01780541
fix a couple of issues with pcplxflip
2011-02-23 17:51:40 +03:00
Gael Guennebaud
939f0327b6
mention reverse and replicate in the quick ref
2011-02-23 15:31:16 +01:00
Gael Guennebaud
78e1a62c54
implement pcplxflip for altivec
2011-02-23 14:20:58 +01:00
Gael Guennebaud
59eeb67187
add unit test for pcplxflip
2011-02-23 14:20:33 +01:00
Gael Guennebaud
b8374aec00
implement workarounds for MSVC IDEs and the Experimental target
2011-02-23 11:53:20 +01:00
Gael Guennebaud
7dc18b20bb
same for neon
2011-02-23 09:41:55 +01:00
Gael Guennebaud
32e7dae776
Altivec: fix infinite loop (ei_ -> internal:: change)
2011-02-23 09:41:02 +01:00
Gael Guennebaud
9ab503903e
suppress unused warning
2011-02-23 09:32:55 +01:00
Gael Guennebaud
14b164b00e
do not try to use Eigen's blas/lapack if they cannot be compiled
2011-02-23 09:25:32 +01:00
Gael Guennebaud
c78b5fd9aa
fix no newline warning
2011-02-23 09:23:11 +01:00
Gael Guennebaud
2fb5567e08
add missing AlignedOnScalar
2011-02-22 21:25:47 +01:00
Benoit Jacob
3df134dec2
fix icc warning #68
2011-02-22 10:11:03 -05:00
Benoit Jacob
c58a2ff03a
add EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS non-default option. Use it in our own CMakeLists. also add a include-guard-like mechanism to prevent doing unmatched #pragma warning push/pop.
2011-02-22 10:05:41 -05:00
Benoit Jacob
9e1127619c
merge
2011-02-22 09:33:01 -05:00
Benoit Jacob
720767ae40
ICC 12 / linux only defined __INTEL_COMPILER, not __intel_compiler
2011-02-22 09:32:39 -05:00
Benoit Jacob
d8e97aee89
shut up stupid ICC warnings
2011-02-22 09:31:22 -05:00
Benoit Jacob
625814464e
fix legitimate ICC 12 warning
2011-02-22 09:30:54 -05:00
Gael Guennebaud
39b27fb656
altivec compilation fix
2011-02-22 15:26:28 +01:00
Benoit Jacob
25579df2d4
'fix' a couple of clang -Wconstant-logical-operand warnings (still not convinced about the pertinence of that warning)
2011-02-22 08:54:55 -05:00
Benoit Jacob
3884308da7
__attribute__((flatten)) seems to be recognized by neither clang nor icc despite these compilers defining __GNUC__.
2011-02-22 08:40:37 -05:00
Gael Guennebaud
68631e28d4
also test non_projective_only with row major transformations
2011-02-22 14:26:32 +01:00
Benoit Jacob
39d3bc2394
fix bug #190 : directly pass Transform Options to Matrix, allowing to use RowMajor. Fix issues in Transform with non-default Options.
2011-02-22 08:14:38 -05:00
Gael Guennebaud
659c97ee49
gcc 4.4 also defines float32_t as a special type
2011-02-22 10:04:09 +01:00
Gael Guennebaud
769eeac35e
disable output compression since this feature seems to be broken
2011-02-21 21:19:38 +01:00
Gael Guennebaud
51da67f211
more compilation fixes for altivec
2011-02-21 20:36:20 +01:00
Gael Guennebaud
05545d0197
fix compilation
2011-02-21 17:47:31 +01:00
Gael Guennebaud
8bee573a78
workaround ICC aggressive optimization
2011-02-21 16:17:58 +01:00
Gael Guennebaud
fb1a29fed5
fix ICE and warning with gcc 4.2.4
2011-02-21 16:11:18 +01:00
Gael Guennebaud
e129e985c3
link to blas/lapack only when needed, and use the static versions to hopefully workaround weird linking issues to gfortranbegin (see jitse dashboard)
2011-02-21 15:48:37 +01:00
Gael Guennebaud
2d5ea82807
fix bug #176 (workaround a too aggressive optimization made by ICC)
2011-02-21 11:00:07 +01:00
Hauke Heibel
50a3cd678a
Improved site and buildname generation.
2011-02-20 11:54:07 +01:00
Gael Guennebaud
3c00e3da03
enable some tests that have been commented out
2011-02-18 18:08:58 +01:00
Gael Guennebaud
434817164e
fix umfpack with complexes
2011-02-18 18:07:59 +01:00
Gael Guennebaud
2c1ac23c62
remove unused code
2011-02-18 17:54:48 +01:00
Gael Guennebaud
a0e5b00280
forgot that one, again
2011-02-18 17:50:36 +01:00
Gael Guennebaud
6456b74a89
merge
2011-02-18 17:40:31 +01:00
Gael Guennebaud
86ca05b324
remove largeEps in adjoint unit test and use a more accurate test_isApproxWithRef test.
2011-02-18 17:39:04 +01:00
Gael Guennebaud
8f8c67b8bd
fix bug #186 (in 32 bits mode, gcc 4.3 messed up with pfirst for complex<float>)
2011-02-18 15:47:17 +01:00
Benoit Jacob
aa966ca319
fix bug #187 : stable norm test was quite broken
2011-02-18 09:46:49 -05:00
Gael Guennebaud
f7cd63b964
fix bug #189 (issue with fortran concentions to return COMPLEX values)
2011-02-18 15:11:31 +01:00
Gael Guennebaud
69cecc45e5
extend mapstride unit test to test unaligned configurations
2011-02-18 14:41:40 +01:00
Gael Guennebaud
abce49ea21
fix a segfault in "slice vectorization" when the destination might not be aligned on a scalar (complex<double>)
2011-02-18 14:20:36 +01:00
Gael Guennebaud
d271ad38ce
back to brute force linking to sparse libraries (fix cmake when these libs are not found)
2011-02-18 11:35:45 +01:00
Gael Guennebaud
3e2314dd67
forgot to include this file in previous commit (needed for lapack)
2011-02-18 11:32:39 +01:00
Gael Guennebaud
444c1bc55b
now cholmod, umfpack, and superlu uses our own BLAS and LAPACK libs
2011-02-18 11:26:31 +01:00
Gael Guennebaud
390724b4b6
add lapack interface to real symmetric eigenvalue dec and enable building of the lapack shared library
2011-02-18 11:25:04 +01:00
Gael Guennebaud
d8ca948148
it is now up to user of these Find* module to find and link to BLAS and/or LAPACK
2011-02-18 11:23:27 +01:00
Gael Guennebaud
3345ea0ddd
clean a bit SuperLU declarations
2011-02-18 10:23:32 +01:00
Gael Guennebaud
9195a224f3
fix division by zero if the matrix is exactly zero
2011-02-17 19:39:57 +01:00
Gael Guennebaud
b8ef48c46d
for consistency forward declare tan, asin, acos functors
2011-02-17 18:23:04 +01:00
Gael Guennebaud
a53a7d6e6a
use C linkage for umfpack (might fix some linking issues)
2011-02-17 18:19:28 +01:00
Gael Guennebaud
eda59ffc1b
mention std::ptr_fun in the quickref guide
2011-02-17 18:07:21 +01:00
Gael Guennebaud
6f86c12339
typo
2011-02-17 17:48:16 +01:00
Gael Guennebaud
aea630a98a
factorize implementation of standard real unary math functions, and add acos, asin
2011-02-17 17:37:11 +01:00
Gael Guennebaud
2ba55e90db
make check no test everything - also rm the EigenTesting cmake sub-project
2011-02-17 16:58:18 +01:00
Benoit Jacob
d0b8ce8f2a
fix unused var warning
2011-02-17 09:41:17 -05:00
Gael Guennebaud
1c4e85ac7e
forgot to include this file in one pretty old commit (missing EXCLUDE_FROM_ALL)
2011-02-17 15:33:35 +01:00
Jitse Niesen
78fa34e8ff
Add blas tests for buildtests target.
2011-02-17 13:53:20 +00:00
Benoit Jacob
8fb27fad36
remove #include <iostream> at the wrong place
2011-02-17 07:47:05 -05:00
Jitse Niesen
be224d93f4
Include necessary header files when working around bug #89 .
...
Fixes bug #188 .
2011-02-17 11:51:48 +00:00
Benoit Jacob
11402edfd3
with old gcc (bug #89 ), only include iostream in debug mode
2011-02-16 12:01:47 -05:00
Gael Guennebaud
fe8a710a21
properly report OpenGL as a disabled backend
2011-02-16 18:01:06 +01:00
Gael Guennebaud
03d86ea736
fix intallation of unsupported modules
2011-02-16 17:59:35 +01:00
Benoit Jacob
13a5582835
undo debugging change
2011-02-16 09:18:48 -05:00
Benoit Jacob
59596efdf7
Fix bug #89 : on GCC <= 4.3, use a custom assert implementation to work around a compiler bug
2011-02-16 08:50:19 -05:00
Jitse Niesen
6db8fa7d04
Replace unset() by set() with no value specified; this does the same.
...
unset() was introduced in CMake 2.6.3 but we require only 2.6.2.
2011-02-16 10:16:47 +00:00
Gael Guennebaud
2f15f74218
CTEST_CUSTOM_* parameter have to be put in a CTestCustum.cmake file which itself has to be in the build directory
2011-02-15 12:39:45 +01:00
Gael Guennebaud
578d6f7ced
now ctest does compile the test even though they are not in the "all" target
2011-02-15 11:40:43 +01:00
Gael Guennebaud
a1d7e9051e
fix bug #184 (warning)
2011-02-14 15:41:00 +01:00
Gael Guennebaud
8e0a42350d
fix stupid warning (bug #185 )
2011-02-14 15:33:26 +01:00
Hauke Heibel
ac465a0891
Improve the Transform interface in order to prevent T.rotation() = R from compiling.
2011-02-14 12:00:47 +01:00
Jitse Niesen
211e1f8044
Improve documentation of plugins.
2011-02-13 22:50:57 +00:00
Benoit Jacob
d09b94e2ad
Added tag 3.0-beta3 for changeset 58986ac832
2011-02-12 18:57:10 -05:00
Benoit Jacob
58986ac832
bump
2011-02-12 18:57:04 -05:00
Jitse Niesen
8bca23bbec
Mention comma initializer can be used to concatenate vectors
...
(inspired by a question on IRC)
2011-02-12 23:17:31 +00:00
Hauke Heibel
1a6597b8e4
MSVC does not like using uninitialized SSE variables, so we have to pass all zeros.
2011-02-12 21:29:16 +01:00
Hauke Heibel
509ca63543
Merge
2011-02-12 18:50:53 +01:00
Hauke Heibel
beb03032b7
Disabled warning regarding the use of uninitialized variables on MSVC.
2011-02-12 18:48:57 +01:00
Jitse Niesen
9ac68e40a0
Write topic page for storage orders.
2011-02-12 17:43:29 +00:00
Hauke Heibel
7015aa00a9
Added configuration file for the 'eol' extension.
2011-02-12 18:38:56 +01:00
Gael Guennebaud
9d2bf35a05
implement optimized ploadu for MSVC10: this also fix bad code generation in gebp_kernel :)
2011-02-12 16:40:09 +01:00
Gael Guennebaud
ec7409b16e
since gebp_kernel handled the scaling by alpha it used too many packets, this patch fix that.
2011-02-12 14:17:52 +01:00
Benoit Jacob
f7e4602a40
doc fixes
2011-02-11 09:55:54 -05:00
Hauke Heibel
bf79a3199c
Reduced error traces when mixing matrices with different scalar types.
2011-02-11 09:41:48 +01:00
Gael Guennebaud
fe70113fab
fix Transform documention regarding Mode
2011-02-10 18:58:37 +01:00
Benoit Jacob
f3b81302cd
fix typo
2011-02-10 11:06:01 -05:00
Benoit Jacob
57b22204db
document the eigen2 support stages
2011-02-10 10:55:22 -05:00
Benoit Jacob
6a5a13e394
The pfirst hack is needed also on msvc 2010 as it gets completely nuts, even though it doesnt segfault as msvc 2008 did
2011-02-09 15:13:23 -05:00
Benoit Jacob
63626bb966
remove debug #error
2011-02-09 14:37:52 -05:00
Benoit Jacob
85f9fab003
back out changeset efdf2e4056
...
. It turns out that the SSE3 header is always included, even without any SSE enabled, so it was making us wrongly use SSE3 paths. Backing this out fixes msvc related crashes, at least bug #165 .
2011-02-09 14:01:26 -05:00
Gael Guennebaud
d6c4ca4845
fix redundancy
2011-02-09 13:44:05 +01:00
Gael Guennebaud
c0d5131435
workaround gcc 4.2.1 ICE (fix bug #145 )
2011-02-09 13:04:35 +01:00
Gael Guennebaud
40526e24b4
fix memory leak (when conservatively resizing vectors of dynamically allocated scalar types such as bugnums)
2011-02-07 19:52:16 +01:00
Benoit Jacob
ba9f6a2c3b
now random<integer types> spans over 0..RAND_MAX, or -RAND_MAX/2..RAND_MAX/2 for signed types, or the most significant bits for smaller integer types.
2011-02-07 10:55:41 -05:00
Benoit Jacob
3386a946f8
fix unit tests for integer types in preparation for next changeset making random<int> span over a much bigger range
2011-02-07 10:54:50 -05:00
Benoit Jacob
68a2e04a96
fix fuzzy compares for integer types, using a selector
2011-02-07 10:53:17 -05:00
Gael Guennebaud
c5c8efa575
workaround gcc 4.2 and 4.3 compilation issue with NEON
2011-02-07 16:41:21 +01:00
Benoit Jacob
9105e62d0a
introduce EIGEN_MAKING_DOCS to tell whether we're compiling the docs examples
2011-02-06 12:51:42 -05:00
Benoit Jacob
02ee26a3a5
fix build of class Block examples
2011-02-06 12:43:01 -05:00
Benoit Jacob
182ed9ba6c
merge
2011-02-06 11:57:31 -05:00
Benoit Jacob
bc6625ab87
fix const correctness in Diagonal::coeffRef (fix found by failtests)
2011-02-06 11:57:04 -05:00
Benoit Jacob
dab4e583cb
fix EIGEN_STATIC_ASSERT_LVALUE (fix found by failtests)
2011-02-06 11:56:33 -05:00
Benoit Jacob
80500b693c
add more failtests
2011-02-06 11:55:51 -05:00
Hauke Heibel
d975b82105
Removed internal::as_argument. This fixes the alignment issues of bug #165 .
2011-02-06 17:33:04 +01:00
Hauke Heibel
7ea6ac79a3
Exposed failtetst publicly.
2011-02-06 13:43:08 +01:00
Gael Guennebaud
ea99880760
fix under- and overflow
2011-02-06 08:23:10 +01:00
Benoit Jacob
9ce08b352f
add more failtests
2011-02-06 01:44:51 -05:00
Benoit Jacob
9b13e9aece
failtest: a new cmake-based test suite for testing stuff that should fail to build. This first batch imports some const correctness checks from bug #54 .
2011-02-05 18:57:29 -05:00
Hauke Heibel
8aee724274
Made MatrixBase::BasisReturnType const.
2011-02-05 15:53:17 +01:00
Hauke Heibel
6c3dc0d243
Fix Diagonal related const correctness issues.
2011-02-05 14:19:53 +01:00
Hauke Heibel
e20f1a44bb
Fixed hidden const correctness issue.
2011-02-05 13:52:18 +01:00
Jitse Niesen
e2d46eac42
Remove all references to EIGEN_TUNE_CPU_CACHE_SIZE.
...
This macro is no longer used as of revision 0212eec23f
.
2011-02-04 22:33:53 +01:00
Thomas Capricelli
0b555a4a3d
fix misc warnings
2011-02-04 13:55:12 +01:00
Thomas Capricelli
0ed604583f
turnaround for a compiler bug in gcc 3.4.6
2011-02-04 12:09:30 +01:00
Gael Guennebaud
aee4e950d3
extend ctest script for SSSE3 and above
2011-02-03 18:04:43 +01:00
Gael Guennebaud
5887a086cf
fix SSE3 issue (infinite loop after the ei_ => internal change) - this fix bug #174
2011-02-03 17:55:24 +01:00
Gael Guennebaud
1526de96a0
fix compilation with MSVC
2011-02-03 17:23:33 +01:00
Benoit Jacob
4489c56c9e
add Map static methods taking Strides, add test checking for compilation errors
2011-02-03 10:05:45 -05:00
Gael Guennebaud
2e2614b0fd
fix MSVC8 compilation
2011-02-03 15:40:48 +01:00
Gael Guennebaud
2f71277105
add global tan function
2011-02-03 14:45:21 +01:00
Jason Newton
d028262e06
add tan function in Array world
2011-02-03 14:34:40 +01:00
Gael Guennebaud
1eae6d0fb9
an even more stable procedure
2011-02-03 11:25:34 +01:00
Gael Guennebaud
5beb2f4f0d
slightly more stable eigen vector computation
2011-02-03 10:31:45 +01:00
Gael Guennebaud
a617d7f2ad
fix compilation with MSVC2005 (strange, stupid fixes for MSVC9 confuse MSVC8....)
2011-02-02 17:47:48 +01:00
Gael Guennebaud
52e0a44034
implement GBMV
2011-02-02 11:39:13 +01:00
Gael Guennebaud
d5f6819761
split BandMatrix to a base and a wrapper class
2011-02-02 11:38:08 +01:00
Gael Guennebaud
8915d5bd22
fix 168 : now TriangularView::solve returns by value making TriangularView::solveInPlace less important.
...
Also fix the very outdated documentation of this function.
2011-02-01 17:21:20 +01:00
Gael Guennebaud
59af20b390
extend nomalloc test
2011-02-01 16:46:35 +01:00
Gael Guennebaud
ffc8386fdb
mark the packet access methods as internal
2011-02-01 16:14:53 +01:00
Gael Guennebaud
a486d5590a
implement optimized path for selfadjoint rank 1 update (safe regarding dynamic alloc)
2011-02-01 15:49:10 +01:00
Benoit Jacob
3eb74cf9fc
forgot hg add
2011-02-01 07:51:55 -05:00
Gael Guennebaud
fa32ce0fc5
fix alignment issue
2011-02-01 13:51:56 +01:00
Benoit Jacob
2d09b11a97
relax Matrix/Array(Index) ctors to allow size 0, add test.
2011-02-01 07:46:02 -05:00
Gael Guennebaud
faa1284c12
fix compilation of snippets
2011-02-01 13:28:14 +01:00
Gael Guennebaud
4cb9d0f943
notify the creation of manual temporaries
2011-02-01 11:41:52 +01:00
Gael Guennebaud
c60818fca8
fix trmv regarding strided vectors and static allocation of temporaries
2011-02-01 11:38:46 +01:00
Gael Guennebaud
0fdd01fe24
operator(int) and the likes are not only fine for linear storage
2011-02-01 11:09:02 +01:00
Gael Guennebaud
f4a7679904
fix packing criterion
2011-02-01 10:41:12 +01:00
Gael Guennebaud
f46ace61d3
fix dynamic allocation for fixed size objects in matrix-vector product
2011-01-31 21:30:27 +01:00
Benoit Jacob
5ca407de54
update .hgignore
2011-01-31 09:21:31 -05:00
Benoit Jacob
dc22ae101f
kill stage 15, it's useless
2011-01-31 09:18:49 -05:00
Benoit Jacob
df06f0be31
eigen2 support: pass remaining 2 tests
2011-01-31 08:55:38 -05:00
Benoit Jacob
7032ec80ae
eigen2support: disable sparse tests, and do not require to define YES_I_KNOW_NOT_STABLE
2011-01-31 08:44:49 -05:00
Benoit Jacob
374deaed5f
make eigen2 eigensolver test pass
2011-01-31 08:36:14 -05:00
Gael Guennebaud
e2642ed620
clean the script to generate the plots
2011-01-31 12:45:18 +01:00
Gael Guennebaud
3874e6a72b
include cblas.h header file to ease configuration
2011-01-31 11:02:59 +01:00
Gael Guennebaud
476cb4c65c
fix name collision
2011-01-31 10:54:21 +01:00
Gael Guennebaud
9a73bfeb85
add GOTO2 and clean a bit the cmake macros
2011-01-31 10:45:03 +01:00
Gael Guennebaud
6e67d15795
now gemv supports strides
2011-01-30 08:17:46 +01:00
Hauke Heibel
157a5040d5
Added the /bigobj flag in order to enable compilation with MSVC when EIGEN_SPLIT_LARGE_TESTS is not set.
2011-01-29 14:35:24 +01:00
Benoit Jacob
a1f5ea8954
make eigen2 cholesky test pass
2011-01-28 13:04:23 -05:00
Benoit Jacob
e001db2a15
fix bug in triangular matrix-vector produce found by eigen2 tests!
2011-01-28 13:04:11 -05:00
Gael Guennebaud
852077fbc9
still test fftw even if the binary for long double is not available
2011-01-28 16:54:01 +01:00
Gael Guennebaud
c478e0039e
disable broken determinant for complexes and SuperLU
2011-01-28 16:30:21 +01:00
Benoit Jacob
6f2ba1f52b
typo reported by Don Lorenzo
2011-01-28 10:00:34 -05:00
Gael Guennebaud
817d86cbaf
really fix permute_symm_to_symm for sparse complex matrix
2011-01-28 15:51:55 +01:00
Gael Guennebaud
6ec660ca7e
fix crash in autodiff
2011-01-28 15:30:33 +01:00
Gael Guennebaud
af712e80e6
fix bug #73 : weird compilation error in HouseholderSequence where double and float were mixed. Hopefuly this also solve bug #91...
2011-01-28 12:35:32 +01:00
Gael Guennebaud
d76ed18a9f
rm useless ctor
2011-01-28 11:25:11 +01:00
Gael Guennebaud
1731a432e7
fix BTL cholesky action and output errors if the factorization failed
2011-01-28 11:24:18 +01:00
Gael Guennebaud
837f1ae59c
fix compilation with old gcc
2011-01-28 11:23:02 +01:00
Gael Guennebaud
ddfd288dc9
start nighlty builds at 00:00:00 UTC
2011-01-28 10:33:02 +01:00
Gael Guennebaud
42d512d33c
fix compilation with gcc 4.2 and older
2011-01-28 10:26:05 +01:00
Gael Guennebaud
97801e5e0e
Eigen/Eigen should not include Sparse until it is API stable
2011-01-28 10:04:02 +01:00
Gael Guennebaud
736d00ab87
typo
2011-01-28 09:57:35 +01:00
Gael Guennebaud
162d29e696
fix compilation of sparse module with ICC
2011-01-28 09:55:32 +01:00
Thomas Capricelli
22db1a6e82
fix fftw test
2011-01-27 18:25:41 +01:00
Benoit Jacob
b2b8c6a89c
dot() now always uses eigen3 convention, even in eigen2 support mode, even stage 10. Didn't have a choice as lots of eigen code is using it.
2011-01-27 12:04:26 -05:00
Gael Guennebaud
e761ba68f7
merge
2011-01-27 18:03:13 +01:00
Gael Guennebaud
3d8e179aa2
fix MaxCols in ComplexEigenSolver which was causing memory allocation instead of static allocation in the nomalloc test. Uncomment commenetd parts of the nomalloc test since now matrix-matrix products are safe.
2011-01-27 18:02:49 +01:00
Gael Guennebaud
32124bc64a
EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET must be defined to use Eigen/Sparse
2011-01-27 17:36:58 +01:00
Benoit Jacob
52fed69baa
add test for geometry with eigen2_ prefixes. fix that stuff.
2011-01-27 11:21:38 -05:00
Gael Guennebaud
955e096277
add an Options template parameter to Hyperplane and ParametrizedLine
2011-01-27 17:17:06 +01:00
Hauke Heibel
d5e81d866a
Added regression tests for bug #148 .
2011-01-27 16:37:06 +01:00
Benoit Jacob
fd400ffffb
reverse order of testing for eigen2 support stages. Higher stages now have priority. So if your whole project builds with say stage 10, you can manually enable stage 20 for selected files.
2011-01-27 10:34:44 -05:00
Benoit Jacob
b69b6a9db2
add Threshold API to FullPivHouseholderQR
2011-01-27 10:17:52 -05:00
Gael Guennebaud
a954a0fbd5
Add an Options template paramter to Transform to enable/disable alignment
2011-01-27 16:07:33 +01:00
Jakob Schwendner
e3306953ef
test case for unaligned quaternion
2011-01-27 09:14:30 -05:00
Christoph Hertzberg
0aa752fc4f
add quaternion Options, add unaligned possibility
2011-01-27 09:14:22 -05:00
Gael Guennebaud
9ccd16609c
fix twisted selfadjoint to selfadjoint (conjugation issue)
2011-01-27 14:39:01 +01:00
Gael Guennebaud
f5d0f115b4
EigenSolver is now in the Eigenvalues modules, not QR !
...
: Enter commit message. Lines beginning with 'HG:' are removed.
2011-01-27 13:56:03 +01:00
Gael Guennebaud
255f2a1379
fix various compilations issues
2011-01-27 13:51:39 +01:00
Gael Guennebaud
999678c3f0
fix mixingtypes unit test
2011-01-27 13:51:17 +01:00
Eamon Nerbonne
40998f5e86
fix const-related compiler error on MSC.
2011-01-27 07:43:07 -05:00
Gael Guennebaud
5f03cbd44f
fix many missing const in return types
2011-01-27 12:12:24 +01:00
Gael Guennebaud
e8d6a5ca87
fix cross product for complexes and add support for mixed real-complex cross products
2011-01-27 11:33:37 +01:00
Gael Guennebaud
0bfb78c824
allow mixed complex-real and real-complex dot products
2011-01-27 09:59:19 +01:00
Benoit Jacob
fe3bb545e0
allow matrix[index] in EIGEN2_SUPPORT
2011-01-26 20:22:33 -05:00
Gael Guennebaud
c90d0c363b
improve automatic handling of gotoblas and atlas
2011-01-26 19:39:10 +01:00
Gael Guennebaud
0e8a532f87
always link to gfortran for gotoblas, it seems to be harmless for 1.x but needed for 2.x
2011-01-26 19:16:06 +01:00
Gael Guennebaud
240bfdd142
finish the move to Eigen3 in BTL, and let's use our own FindEigen3.cmake script
2011-01-26 19:12:35 +01:00
Gael Guennebaud
86acb46518
pass to eigen3 ;)
2011-01-26 18:41:06 +01:00
Gael Guennebaud
faeae169dd
fix compilation
2011-01-26 17:58:17 +01:00
Gael Guennebaud
210a280daf
update FindMKL to match the default installation behavior of MKL 11
2011-01-26 17:58:01 +01:00
Gael Guennebaud
1eb85b4cf1
allow the possibility to automatically call or not the ctors on a per scalar type basis, and disable automatic initialization of std::complex<>
2011-01-26 17:56:49 +01:00
Gael Guennebaud
4783748953
do not include reference lapack files if they are not there
2011-01-26 17:10:05 +01:00
Benoit Jacob
162cb8ff42
import back LeastSquares into eigen2support. Pass most of eigen2's 'regression' test, except for regression_4 which is about complex numbers.
2011-01-26 11:05:41 -05:00
Gael Guennebaud
98285ba81c
merge
2011-01-26 16:36:07 +01:00
Gael Guennebaud
7ef9d82b39
add a minimalistict lapack wrapper
2011-01-26 16:34:45 +01:00
Gael Guennebaud
15ef62ca43
extend PermutationMatrix and Transpositions to support arbitrary interger types and to support the Map/Wrapper model via base and derived classes
2011-01-26 16:33:23 +01:00
Benoit Jacob
76c630d185
eigen2 support: import SVD back, pass SVD tests
2011-01-26 10:33:03 -05:00
Benoit Jacob
313eea8f10
fix the remainder of bug #159
2011-01-26 10:01:18 -05:00
Benoit Jacob
f88ca0ac79
fix the eigen3 part of bug #159 - build issue with selfadjointview
2011-01-26 09:49:06 -05:00
Benoit Jacob
9a5ded3e1d
fix bug #160 - forgot hg add
2011-01-25 21:31:27 -05:00
Benoit Jacob
c350f6f12c
fix bug #161
2011-01-25 21:28:20 -05:00
Benoit Jacob
39536d44da
fix build
2011-01-25 21:24:31 -05:00
Benoit Jacob
1d98cc5e5d
eigen2 support: implement part<SelfAdjoint>, mimic eigen2 behavior braindeadness-for-braindeadness
2011-01-25 21:22:04 -05:00
Benoit Jacob
4fbadfd230
merge
2011-01-25 11:19:54 -05:00
Benoit Jacob
07e3ef4f38
eigen2: pass QR decomposition and hyperplane tests
2011-01-25 11:19:26 -05:00
Gael Guennebaud
6896cab5b9
one more const missing
2011-01-25 16:52:40 +01:00
Gael Guennebaud
28d6e84150
fix compilation after recent const change in return types
2011-01-25 16:33:02 +01:00
Benoit Jacob
b1d6a9945c
eigen2: pass the inverse test
2011-01-25 10:05:29 -05:00
Benoit Jacob
09d1923f61
eigen2: pass lu test
2011-01-25 10:02:36 -05:00
Benoit Jacob
3e2469f951
eigen2: split tests
2011-01-25 09:02:59 -05:00
Benoit Jacob
b04591fbb4
disable eigen2_first_aligned test, it's completely internal stuff
2011-01-25 08:38:22 -05:00
Benoit Jacob
acd2c82655
fix eigen2_bug_132 test
2011-01-25 08:37:32 -05:00
Benoit Jacob
8acd43bbdb
let eigen2 tests use the same ei_add_test macro, which required to prefix them with eigen2_ ; rename buildtests_eigen2 to eigen2_buildtests, etc.
2011-01-25 08:37:18 -05:00
Benoit Jacob
dcfb58f529
eigen2: fix USING_PART_OF_NAMESPACE_EIGEN
2011-01-25 08:03:12 -05:00
Gael Guennebaud
84448b058c
fix USING_PART_OF_NAMESPACE_EIGEN to export ei_ prefixed math functions
2011-01-25 09:35:49 +01:00
Gael Guennebaud
7dd4aaba9f
fix missing const qualifier in cwiseEqual
2011-01-24 18:49:18 +01:00
Benoit Jacob
bd12ac4ffc
import eigen2 Geometry module into Eigen2Support.
...
fix build of geometry tests
2011-01-24 11:21:58 -05:00
Benoit Jacob
5bfde30e48
fix compilation of array tests
2011-01-24 09:38:50 -05:00
Benoit Jacob
9089488210
fix compilation of Eigen/Geometry with EIGEN2_SUPPORT: was including non-existent header
2011-01-24 08:59:47 -05:00
Benoit Jacob
c3a4f6b5c5
const-qualify template parameters representing const arguments to expressions.
...
needed to fix docs compile issue.
2011-01-24 08:27:06 -05:00
Benoit Jacob
5331fa3033
fix compilation of LU class example
2011-01-24 07:41:47 -05:00
Benoit Jacob
1dabd133cc
pass eigen2's triangular test
2011-01-23 21:53:28 -05:00
Benoit Jacob
5c82fd7f40
Move part() to EIGEN2_SUPPORT (had been deprecated for a long time)
2011-01-23 18:49:36 -05:00
Benoit Jacob
1cf4996d3c
make eigen2 visitor test pass
2011-01-23 18:34:30 -05:00
Benoit Jacob
8df5bca979
rename build stages to multiples of 10; old stage 2 becomes stage 15, while stage 20 generates errors (instead of warnings) on conflicting API.
2011-01-23 18:22:18 -05:00
Benoit Jacob
cc1f70abc3
make eigen2 dynalloc test pass (add to eigen2 support some internal stuff that some users may have been relying on)
2011-01-21 10:47:31 -05:00
Benoit Jacob
30de1651d3
relax Map const correctness in eigen2 support stages <= 3
...
introduce new 'strict' stage 4
2011-01-21 10:42:19 -05:00
Benoit Jacob
54dfcdf86e
remove eigen2 vectorization_logic test, it's not an API test
2011-01-21 10:29:43 -05:00
Benoit Jacob
5be269db88
make eigen2 submatrices test pass
2011-01-21 10:24:59 -05:00
Benoit Jacob
cc2b7a5397
introduce the 3 stages of eigen2 support, writing to the mailing list about that in Eigen2 to Eigen3 Migration Path thread
2011-01-21 09:51:03 -05:00
Benoit Jacob
34d93686db
lots more EIGEN2_SUPPORT fixes. Now several of the most important core tests build and succeed.
2011-01-20 10:36:32 -05:00
Benoit Jacob
66a2ffa9bd
Completely disable Eigen/Array in Eigen3; completely enable in EIGEN2_SUPPORT.
2011-01-20 08:12:24 -05:00
Benoit Jacob
96f08213f7
big eigen2support fix, aimed at users who relied on internal eigen2 stuff: now we dont need customizations in test/eigen2/main.h anymore.
...
These tests already build:
eigen2_basicstuff
eigen2_adjoint
eigen2_linearstructure
eigen2_prec_inverse_4x4
2011-01-19 11:01:07 -05:00
Benoit Jacob
bf0cffa897
restore the behavior of defaulting to Release build type
2011-01-19 10:15:36 -05:00
Benoit Jacob
1f6bd2915d
import eigen2 test suite. enable by defining EIGEN_TEST_EIGEN2
...
only test_prec_inverse4x4 is fixed at the moment. now need to go over all those tests.
2011-01-19 10:10:54 -05:00
Benoit Jacob
604afc9aca
fix bug #155 , const-related compilation error
2011-01-18 09:14:14 -05:00
Hauke Heibel
9b2546fea8
Added remaining const coeffRef accessors to Array- and MatrixWrapper.
2011-01-18 13:19:13 +01:00
Benoit Jacob
c7eaca50a0
__cpuidex is not (always) present in VS 2008 + SP1, it seems
2011-01-17 11:17:45 -05:00
hamelin.philippe
5e28f34005
Replace CMAKE_SOURCE_DIR with PROJECT_SOURCE_DIR to allow the cmake project to be included by a root project.
2011-01-17 09:59:40 -05:00
Gael Guennebaud
5010033d88
do not stop the factorization if one pivot is exactly 0, and return the
...
index of the first zero pivot if any
2011-01-17 11:11:22 +01:00
Gael Guennebaud
ef3e690a0c
return the index of the first non positive diagonal entry (more useful than simply true or false)
2011-01-17 11:09:03 +01:00
Gael Guennebaud
8b6c1caa3e
fix compilation of rowmajor sparse time diagonal
2011-01-14 20:29:55 +01:00
Thomas Capricelli
dcbf091e60
fix EIGEN_TEST_NOQT (reported by Philippe Hamelin)
2011-01-14 14:30:06 +01:00
Jose Luis Blanco
cbfab7204f
Update of CPUID macros to fix segfaults in amd64 code.
2011-01-05 02:43:43 +01:00
Benoit Jacob
98f0274305
third pass of const-correctness fixes (bug #54 ), hopefully the last one...
2011-01-07 05:16:01 -05:00
Gael Guennebaud
c7baf07a3e
add plugin mechanism to sparse objects
2011-01-07 15:53:02 +01:00
Jitse Niesen
9111d73017
Fix compilation error in HouseholderSequence introduced in my previous commit.
2011-01-07 13:46:23 +00:00
Romain Bossart
4abb772b52
Fix bug #38
...
* address of temporaries were passed to umfpack_zi_* functions. It is ok with g++-4.4 or 4.5, but not with the -std=c++0x in both versions. This patch makes it work for c++98 and c++0x versions
2011-01-07 10:27:22 +01:00
Jitse Niesen
2cc75f4922
Make HouseholderSequence::setTrans() protected (cf. bug #50 ).
...
Users can call .transpose() instead.
2011-01-06 11:30:19 +00:00
Manuel Yguel
934720c4ba
Decrease the degree of the polynomials being tested to reduce time spent during the tests.
2011-01-05 19:49:13 +01:00
Hauke Heibel
4ba0ec5e0e
Fixed #148 where a const-accessor for coefficients was missing in the MatrixWrapper.
2011-01-04 15:35:50 +01:00
Gael Guennebaud
d7e1eeaece
fix compilation when defaulting to row major
2011-01-04 14:40:06 +01:00
Gael Guennebaud
3a4d56171d
fix openglsupport unit test when defaulting to row major
2011-01-04 14:34:17 +01:00
Gael Guennebaud
64356a622d
fix vectorization_logic unit test when defaulting to row major
2011-01-04 14:18:07 +01:00
Jitse Niesen
004488a31d
Fix bug in symmetric rank-2 update for row-major matrices (bug #144 ).
2011-01-04 10:35:39 +00:00
Jitse Niesen
fb023b871f
Const-correctness fix for gemv_selector<OnTheRight,ColMajor,true> (bug #144 ).
2011-01-04 10:35:10 +00:00
Benoit Jacob
fd4e366d7e
fix severe perf bug: coeff-based matrix products were not considered aligned, typically preventing vectorization.
...
added unit test.
2011-01-02 12:07:39 -05:00
Jitse Niesen
47a9d2ed54
Document HouseholderSequence.
...
Incomplete: I did not explain the difference between OnTheLeft and OnTheRight,
and there is only one example.
2011-01-02 16:59:44 +00:00
Gael Guennebaud
583f963517
make the table fit within 80 characters
2011-01-01 12:02:55 +01:00
Gael Guennebaud
e7318148b5
an attempt to fix a compilation issue with -std=c++0x
2011-01-01 11:40:30 +01:00
Jose Luis Blanco
7feb644620
Switched "MESSAGE(" -> "MESSAGE(STATUS " in CMake script, since otherwise they may look like errors to the user.
2010-12-29 22:02:01 +01:00
Gael Guennebaud
902af035d3
merge
2010-12-31 17:26:48 +01:00
Gael Guennebaud
25efcdd042
fix sparse time dense product with a rowmajor lhs
2010-12-31 17:11:17 +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
13867c15cc
fix compilation of code using e.g. Transpose<const Foo>::data() non-const-qualified. Same problem existed for coeffRef() and also in MapBase.h.
2010-12-30 07:47:51 -05:00
Benoit Jacob
26c2afd55a
fix compile errors in Tridiagonalization and in doc examples
2010-12-30 04:52:20 -05:00
Benoit Jacob
dbd9c5fd50
fix HouseholderSequence API, bug #50 :
...
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
2010-12-30 04:18:40 -05:00
Trevor Irons
e112ad8124
In QuickRefPage LinSpaced is improperly documented.
2010-12-29 10:08:41 -07:00
Jitse Niesen
d6a5ba5a08
Rename EIGEN_DENSESTORAGEBASE_PLUGIN to EIGEN_PLAINOBJECTBASE_PLUGIN.
2010-12-29 19:12:39 +00:00
Jose Luis Blanco
3ca31a8b74
fixed msvc9 build errors.
2010-12-29 19:42:01 +01:00
Jitse Niesen
d84b135ed3
Enable GSL tests (reverts part of changeset 6628534eb5
...
).
2010-12-29 17:45:18 +00:00
Jose Luis Blanco
97c54ad220
fix MSVC warnings, bug #143
2010-12-29 06:15:41 -05:00
Thomas Capricelli
7a29ae0b5c
fix preprocessor checks for availability of cpuid
2010-12-28 13:46:39 +01:00
Jitse Niesen
657013c974
Mention ptr_fun in docs for .unaryExpr()
2010-12-27 16:35:25 +00:00
Jitse Niesen
265e1ef4ef
Extend doc page on preprocessor directives.
2010-12-27 16:34:58 +00:00
Jitse Niesen
8db9acbc16
Move doxygen comments for EIGEN_NO_DEBUG from source to I14.
...
This reverts changeset 76fbe94279
. Benoit and I agree that my
approach there (to use doxygen comments) pollutes the code too much.
2010-12-27 15:07:11 +00:00
Jitse Niesen
840c4e1ab5
Move section on preprocessor directives from I00 to its own page.
2010-12-27 15:07:07 +00:00
Jitse Niesen
42a050dc68
Finish doc page on aliasing.
2010-12-27 15:06:55 +00:00
Benoit Jacob
dc3618a557
move BandMatrix and TridiagonalMatrix to the internal:: namespace
2010-12-25 17:17:10 -05:00
Benoit Jacob
8d2a10c5c1
more renaming to make this file matrix-or-array-agnostic
2010-12-25 17:04:36 -05:00
Benoit Jacob
e8768251db
rename macro
2010-12-25 17:01:01 -05:00
Benoit Jacob
86d3711fb7
remove EIGEN_REF_TO_TEMPORARY, clarify docs
2010-12-25 16:45:25 -05:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05:00
Hauke Heibel
3b6d97b51a
Re-enabled the BLAS compilation on non-MSVC systems.
2010-12-17 10:52:57 +01:00
Hauke Heibel
5e46f7a499
Switched back to the old behaviour where EIGEN_SPLIT_LARGE_TESTS was ON per default on MSVC systems.
...
Without splitting these tests, some do not compile
2010-12-17 09:42:17 +01:00
Gael Guennebaud
a21d56b766
disable blas if C++ compiler is MSVC
2010-12-16 20:51:44 +01:00
Hauke Heibel
efdf2e4056
Added automatic SSE3/4.1/4.2 support for MSVC.
2010-12-16 20:08:22 +01:00
Hauke Heibel
b31e1246e1
Re-enabled the missing tests, again...
2010-12-16 19:07:23 +01:00
Hauke Heibel
83e3c4582f
Improved the array unit test - internal::isApprox needs to use the same precision as VERIFY_IS_NOT_APPROX.
...
Removed debug code from test_isApprox.
2010-12-16 18:53:02 +01:00
Hauke Heibel
2d0dfe5d60
Uups - re-enabled subtests 1 to 5.
2010-12-16 17:36:10 +01:00
Hauke Heibel
f578dc7aff
Fixed compound subtraction in ArrayBase where the assignment needs to be carried out on the derived type.
...
Added unit tests for map based component wise arithmetic.
2010-12-16 17:34:13 +01:00
Hauke Heibel
dbfb53e8ef
Added unit test for matrix creation from const raw data.
2010-12-15 15:28:43 +01:00
Hauke Heibel
6f5c45ceff
Fixed ctor from const raw data for Matrices and added the missing implementation for Arrays.
...
Fixed a warning regarding the conversion from int to bool in MapBase.
2010-12-15 15:19:51 +01:00
Gael Guennebaud
6a9a6bbc78
fix warning
2010-12-13 10:18:33 +01:00
Gael Guennebaud
68fe80861c
Fix bug #133 : remove the EIGEN_RESTRICT which was useless here anyway
2010-12-13 09:56:13 +01:00
Jitse Niesen
f2c18f2e37
merge
2010-12-12 21:24:24 +00:00
Jitse Niesen
4a5ebcd1ce
Fix compilation of Tridiagonalization_diagonal example.
...
After changeset 0d63212257
, matrixT() is a real matrix even if the matrix
which is decomposed is complex.
2010-12-12 13:53:42 +00:00
Gael Guennebaud
c7f01157dd
enforce compilation of blas unit tests when running ctest
2010-12-12 13:10:00 +01:00
Jitse Niesen
9cd4f67e7f
Specify root namespace for fftw_plan from FFTW3 library.
...
After changeset 4716040703
(the ei_ --> internal:: change), there are two symbols
called fftw_plan, one from the FFTW3 library and one from Eigen.
2010-12-12 11:44:30 +00:00
Konstantinos Margaritis
e05c79cbd8
Fixed NEON compilation errors, changed float-abi back to softfp (which is the most used right now).
...
Some complex tests appear to segfault, needs a more careful look.
2010-12-10 20:27:46 +02:00
Benoit Jacob
b11343e15c
fix intermittend failure of schur_real test: there only is an iterative process if size>2
2010-12-10 02:10:03 -05:00
Benoit Jacob
74cc42b22f
bug #54 - The big Map const-correctness changes
2010-12-10 02:09:58 -05:00
Gael Guennebaud
e736df3edd
suppress stupid warning
2010-12-10 15:53:13 +01:00
Gael Guennebaud
79cc86f701
fix compilation
2010-12-10 13:52:47 +01:00
Gael Guennebaud
67c28570e3
fix compilation with ICC (template keyword on a non template method)
2010-12-10 10:05:52 +01:00
Gael Guennebaud
5bc21c25c5
fix ICE with gcc 3.4 and 4.0.1
2010-12-10 09:59:44 +01:00
Gael Guennebaud
bacd531862
fix bug #128 : tridiagonalization failed for 1x1 matrices
2010-12-09 19:56:20 +01:00
Gael Guennebaud
17de59278b
simplification
2010-12-09 19:47:02 +01:00
Gael Guennebaud
147a63c4b5
compilation fix
2010-12-09 19:46:26 +01:00
Gael Guennebaud
0b32c5bdda
fix compilation of sparse_basic for DynamicSparseMatrix
2010-12-09 19:39:15 +01:00
Benoit Jacob
aec0782719
fix the build of eigensolver_complex test.
...
it was calling the .value() method on an inner product, and that was blocked in bad zero-sized case.
fixed by adding the .value() method to DenseBase for all 1x1 expressions, and allowing coeff accessors in ProductBase for 1x1 expressions.
2010-12-09 03:47:35 -05:00
Benoit Jacob
1be6449f2e
fix bug #127 . our product selection logic was flawed in that it used the Max-sized to determine whether the size is 1.
...
+ test.
2010-12-09 02:38:07 -05:00
Benoit Jacob
819bcbed19
fix comment
2010-12-07 02:17:15 -05:00
Eamon Nerbonne
7a7ca99a31
[mq]: Mingw32 fix
...
intrin.h is not required nor supported by mingw32. It is present (and supported) on mingw-w64 builds, even those for 32-bit systems, but here too it's not required on 32-bit systems. So if we're on mingw, and it's 64-bit, then and only then is the intrin.h inclusion necessary.
2010-12-03 23:24:06 +01:00
Gael Guennebaud
c49c013c47
add main ei_* functions into Eigen2Support
2010-12-03 11:22:35 +01:00
Gael Guennebaud
14208eb478
add a word about the ei_ prefix change in Eigen2 -> Eigen3 doc page.
2010-12-03 10:54:16 +01:00
Hauke Heibel
a289065c73
Applied a fix to our std::vector specialization which prevents the usage of workaround_msvc_stl_support when T is not a class.
2010-12-02 12:33:15 +01:00
Benoit Jacob
59b944cb50
add is_const
2010-12-01 09:22:54 -05:00
Benoit Jacob
46387cc180
remove makeconst_return_type
2010-12-01 09:22:50 -05:00
Hauke Heibel
f0ba513f41
Fixed compilation of tridiagonalization related unit tests.
2010-11-27 15:41:46 +01:00
Hauke Heibel
3899857e08
Removed remove_const_on_value_type since the meaning is unclear and it is in fact unused.
...
Extened the meta unit tests.
2010-11-26 18:06:08 +01:00
Hauke Heibel
60a544c879
Added STL like (add|remove)_const. Fixed add_const_on_value_type for "const T* const".
2010-11-26 16:56:03 +01:00
Hauke Heibel
bf9d25ce58
Postfixed add_const and remove_const by _on_value_type to express the differences to the STL.
2010-11-26 16:30:45 +01:00
Benoit Jacob
139392488d
dos2unix
2010-11-26 10:10:26 -05:00
Jitse Niesen
e868b6736a
Merge.
2010-11-26 14:37:58 +00:00
Gael Guennebaud
d551e99644
make HessenbergDecompositionMatrixHReturnType internal
2010-11-26 15:39:01 +01:00
Gael Guennebaud
e06c6553e0
make TridiagonalizationMatrixTReturnType internal and only export a public MatrixTReturnType typedef
2010-11-26 15:36:29 +01:00
Gael Guennebaud
0d63212257
add a TridiagonalizationMatrixTReturnType class to make Tridiagonalization::matrixT() more efficient and future proof.
2010-11-26 15:31:47 +01:00
Jitse Niesen
9bad7c7edb
Compilation fix in case EIGEN_DEBUG_ASSERTS is defined.
2010-11-26 14:21:57 +00:00
Gael Guennebaud
421b2b5ff7
fix a couple of issues with TridiagonalMatrix
2010-11-26 13:04:20 +01:00
Gael Guennebaud
d8b26cfeec
s/id/p to avoid name clash
2010-11-26 08:36:16 +01:00
Gael Guennebaud
156a31b0e9
fully implement scalar_fuzzy_impl<bool> as, e.g., the missing isMuchSmallerThan is convenient to filter out false values.
2010-11-25 18:00:30 +01:00
Jitse Niesen
010ed9510b
Remove parentheses for compatibility with cmake 2.6.2
2010-11-24 22:26:13 +00:00
Benoit Jacob
cd1225ef14
make example compile
2010-11-24 09:18:49 -05:00
Benoit Jacob
f84cbba52a
minor fixes
2010-11-24 09:16:30 -05:00
Benoit Jacob
07f2406dc1
some dox tweaks
2010-11-24 08:23:17 -05:00
Gael Guennebaud
f1690fb9fa
fix bug #122 : rank 2 update test and scalar multiple extraction were both wrong
2010-11-23 19:19:04 +01:00
Benoit Jacob
0ab9a0a2f7
make UpperBidiagonalization internal: don't want to support it, it's not used.
...
Keeping it because it tests BandMatrix.
2010-11-23 11:12:42 -05:00
Benoit Jacob
ee38dbf1e6
Rework nested<> to be cleaner, see bug #76 .
2010-11-23 11:11:40 -05:00
Frederic Gosselin
4c5932f8f5
Improves the filter for hidden files in "Eigen" and "Eigen/src".
...
This generic solution prevent cmake from having an error .svn folders when the source folder is under subversion.
2010-11-22 10:47:07 -05:00
Gael Guennebaud
5a65d7970a
now the full blas folder requires a fortran compiler
2010-11-22 19:07:29 +01:00
Gael Guennebaud
3976a66889
fix bug #120 : compilation issue of trsolve unit test
2010-11-22 18:59:56 +01:00
Gael Guennebaud
f5f288b741
split level 1 and 2 implementation files into smaller ones and fix a couple of numerical and tricky issues discovered by the lapack test suite
2010-11-22 18:49:12 +01:00
Gael Guennebaud
a6f483e86b
import reference BLAS routines which are not already implemented in Eigen : modified givens rotations, and packed and banded storages
2010-11-22 18:05:09 +01:00
Gael Guennebaud
7213dd1e6b
this product still badly read the imaginary part on the diagonal
2010-11-22 18:00:47 +01:00
Benoit Jacob
a3f214ade9
holy crap, i had disabled all static asserts in 71f023de3e
2010-11-22 08:21:30 -05:00
Gael Guennebaud
d8396a8da0
fix compilation of product_mmtr
2010-11-21 10:23:06 +01:00
Gael Guennebaud
fb6d9ca951
add missing non const data() method to MapBase
2010-11-21 10:17:25 +01:00
Gael Guennebaud
0020ea544a
implement HEMV level2 blas routine
2010-11-21 10:09:33 +01:00
Gael Guennebaud
12bfe5e718
make sure our internal selfadjoint*vector product does not use the imaginary part of the diagonal entries
2010-11-21 10:08:48 +01:00
Gael Guennebaud
e88901daf4
implement SYMV level2 blas routines
2010-11-21 09:34:41 +01:00
Gael Guennebaud
1ac9124fac
implements TRMV level 2 blas routine
2010-11-20 23:29:20 +01:00
Gael Guennebaud
d72a8f1e50
make trmv uses direct access
2010-11-20 22:42:24 +01:00
Gael Guennebaud
437dff80ee
fix issue 114: workaround cmake enable_language bug
2010-11-20 12:01:17 +01:00
Gael Guennebaud
86474115f5
IBM XL C compiler supports __attribute__((aligned(n))) syntax
2010-11-19 17:33:51 +01:00
Gael Guennebaud
8ad1f64e0a
some cleaning in blas level 2
2010-11-19 17:22:43 +01:00
Thomas Capricelli
94f59a92cb
fix typo
2010-11-19 17:16:28 +01:00
Gael Guennebaud
ed1ecb24d2
implement GERC and GERU blas routines
2010-11-19 17:05:24 +01:00
Gael Guennebaud
458637f097
implement GER blas routine
2010-11-19 17:02:24 +01:00
Gael Guennebaud
68f8519327
implement HER and HER2 blas routines
2010-11-19 16:51:52 +01:00
Gael Guennebaud
5ce199b1dd
update rank 2 update doc
2010-11-19 16:50:49 +01:00
Gael Guennebaud
f369b5a711
makes rank 2 update function conformant to BLAS HER2
2010-11-19 16:50:15 +01:00
Gael Guennebaud
e14f14642d
implement SYR and SYR2
2010-11-19 16:09:25 +01:00
Gael Guennebaud
661ef6c127
add regression unit test
2010-11-19 15:38:37 +01:00
Gael Guennebaud
3f24dbf6f5
fix compilation of transform * scaling
2010-11-19 14:45:45 +01:00
Gael Guennebaud
3e99356b59
clean a bit AMD and SimplicialCholesky and add support for partly stored selfadjoint matrices
2010-11-18 10:30:52 +01:00
Gael Guennebaud
1618df55df
Add support for sparse symmetric permutations
2010-11-18 10:28:39 +01:00
Gael Guennebaud
fb71b737e4
update blas lib wrt recent change of general_matrix_matrix_triangular_product
2010-11-16 19:19:33 +01:00
Jitse Niesen
e54c8d20cb
Docs: aliasing and component-wise operations.
2010-11-16 17:28:59 +00:00
Gael Guennebaud
da05b6af0e
fix some remainign issue with ei_ -> internal change
2010-11-16 15:54:48 +01:00
Gael Guennebaud
9a3ec637ff
new feature: copy from a sparse selfadjoint view to a full sparse matrix
2010-11-15 14:14:05 +01:00
Gael Guennebaud
5a3a229550
fix return type of rightHouseholderSequence()
2010-11-15 11:11:22 +01:00
Jitse Niesen
cad73d9cdc
Correct std::map fix (two commits ago); copy fix to aligned_allocator doc.
2010-11-12 12:06:24 +00:00
Thomas Capricelli
d64e68c8bc
fix doc compilation
2010-11-12 11:33:09 +01:00
Jose Luis Blanco
9ba15cd63c
Docs: correct declaration of aligned std::map in TopicStlContainers.
2010-11-12 10:05:41 +00:00
Gael Guennebaud
b4fa8261b1
properly use nested types
2010-11-10 19:06:20 +01:00
Gael Guennebaud
05ed9be639
prevent warning
2010-11-10 18:59:16 +01:00
Gael Guennebaud
2577ef90c0
generalize our internal rank K update routine to support more general A*B product while evaluating only one triangular part and make it available via, e.g.:
...
R.triangularView<Lower>() += s * A * B;
2010-11-10 18:58:55 +01:00
Gael Guennebaud
c810d14d4d
add missing specialization
2010-11-09 12:03:20 +01:00
Gael Guennebaud
39477e697a
extend unit test to cover previous bug
2010-11-05 14:37:42 +01:00
Gael Guennebaud
572b5585e3
fix Eigen's trsv for complexes
2010-11-05 14:36:34 +01:00
Gael Guennebaud
0e30c4ae3f
blas level2: gemv and trsv are green
2010-11-05 14:14:50 +01:00
Gael Guennebaud
3fdea699b8
trsv: simplifications/cleaning
2010-11-05 12:54:32 +01:00
Gael Guennebaud
0e6c1170ab
trsv: add support for inner-stride!=1, reduce code instanciation, move implementation to a new products/XX.h file
2010-11-05 12:43:14 +01:00
Gael Guennebaud
fe1353080e
fix error handling of level 1 routines
2010-11-04 22:25:59 +01:00
Gael Guennebaud
15e8ad686c
add a minimum degree ordering routine based on CSparse (LGPL) and a new built-in sparse cholesky decomposition
2010-11-04 09:58:22 +01:00
Gael Guennebaud
5a4f77716d
fix bug #107 : SelfAdjointEigenSolver and RowMajor (and add unit test)
2010-11-04 09:33:05 +01:00
Gael Guennebaud
20fcef9656
fixes related to ei_ -> internal change
2010-11-04 08:38:16 +01:00
Gael Guennebaud
62a51184d7
merge
2010-11-04 08:32:52 +01:00
Gael Guennebaud
fd88d721d2
implement proper error handling in level 3 routines
2010-11-03 22:03:12 +01:00
Gael Guennebaud
a8fb6b0ad3
improve detection of erros
2010-11-03 22:02:44 +01:00
Gael Guennebaud
1eea88bff7
fix matrix product bug with OpenMP
2010-11-03 16:12:37 +01:00
Gael Guennebaud
8d27f55eb3
rm auto normalization in favor of clamping
2010-11-03 15:32:40 +01:00
Hauke Heibel
d204ec491d
Additional fix to enforce the compiler to use the correct prunning method.
2010-11-02 14:33:33 +01:00
Hauke Heibel
3a3f163e31
Fix bug #65 .
...
In order to prevent compilation errors, the default functor "struct func" must not be defined inside the function scope. I just moved it into a private section of SparseMatrix.
2010-11-02 14:32:41 +01:00
Hauke Heibel
b3007db131
Added a comment on why is_arithmetic is used in DenseCoeffsBase.
2010-11-02 10:11:22 +01:00
Hauke Heibel
96e4a4b59c
Fixed compilation due to lacking Transform definitions.
2010-11-01 16:53:39 +01:00
Gael Guennebaud
d2e257cb5d
oops (rm commented code)
2010-11-01 09:40:33 +01:00
Gael Guennebaud
c7eda0d866
Let's be safe: enable auto normalization is quaternion to angle-axis code since a slight numerical issue may trigger NaN. The overhead is small and I doubt the perf of this function could be critival for any application !
2010-10-31 23:26:01 +01:00
Benoit Jacob
006c9a5105
implement VERIFY in a function so it doesn't get compiled thousands of times.
2010-10-29 10:27:20 -04:00
Benoit Jacob
7d441260db
on test failure, abort instead of exit, so we can get a stack trace
2010-10-29 10:07:30 -04:00
Benoit Jacob
99ccb26cfe
add eigen2support Transform typedefs, add Eigen2To3 section on Transform
2010-10-29 09:00:35 -04:00
Benoit Jacob
bd249d1121
fix bug #92 - we were doing stupid things when passing the list of libraries to link to.
2010-10-28 10:44:20 -04:00
Benoit Jacob
868f753d10
document LvalueBit better
2010-10-28 09:40:20 -04:00
Gael Guennebaud
1d4e80f09d
generalize the prune function
2010-10-28 11:39:31 +02:00
Gael Guennebaud
02c8b6af82
fix sparse rankUpdate and triangularView iterator
2010-10-27 15:13:03 +02:00
Gael Guennebaud
241e5ee3e7
add the possibility to solve for sparse rhs with Cholmod
2010-10-27 14:31:23 +02:00
Hauke Heibel
5d4ff3f99c
Fixed bug #95 by changing _M_IX64 to _M_X64 as proposed by Jan Schlicht.
2010-10-27 11:07:38 +02:00
Hauke Heibel
3efff8c69e
Merge
2010-10-26 16:48:12 +02:00
Gael Guennebaud
f4a6a8e295
rm the useless SparseSolverBase class and provide more compile time traits
2010-10-26 16:47:47 +02:00
Hauke Heibel
c738cd56eb
Renamed cleantype to remove_all since it is close to remove_{const|pointer|reference}.
2010-10-26 16:47:01 +02:00
Gael Guennebaud
2fbb9932b0
fix compilation (bad internal:: stuff)
2010-10-26 16:38:51 +02:00
Gael Guennebaud
5e95ee6662
fix compilation and unit test of adolc
2010-10-26 16:26:20 +02:00
Gael Guennebaud
92044fcc2b
fix bug #94 : add #include src/misc/Solve.h in SparseExtra
2010-10-26 15:51:06 +02:00
Gael Guennebaud
666c16cf63
add new API for Cholmod preserving the legacy one for now
2010-10-26 15:48:33 +02:00
Hauke Heibel
7bc8e3ac09
Initial fixes for bug #85 .
...
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Hauke Heibel
597b2745e1
Allow unset ${CMAKE_BUILD_TYPE} which is required for some targets and corresponding to using default values.
2010-10-25 18:49:39 +02:00
Benoit Jacob
724af13540
make polynomialsolver test compile faster
2010-10-25 10:15:22 -04:00
Benoit Jacob
a94f216487
error out on bad build type
2010-10-25 10:15:22 -04:00
Benoit Jacob
fdaa3f311a
adapt mpreal to eigen3 mathfunctions system
2010-10-25 10:15:22 -04:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Benoit Jacob
ca85a1f6c5
remove build type tweaking
2010-10-23 10:00:43 -04:00
Jitse Niesen
dbdf7ee942
Use 'Release' as default when build type is not specified.
...
Otherwise, "cmake /path/to/eigen/" in an empty build directory, as specified
on the CMake page on the wiki, yields a fatal error.
2010-10-22 12:23:35 +01:00
Benoit Jacob
bfd46eacad
don't change the build type, fatal error if bad build type
2010-10-21 08:55:48 -04:00
Hauke Heibel
969518f99d
Improved I13_FunctionsTakingEigenTypes.dox.
...
Removed the r-value reference part and focused on EIGEN_REF_TO_TEMPORARY only.
2010-10-21 10:14:23 +02:00
Hauke Heibel
ba86d3ef65
Fixed bug #84 .
2010-10-21 10:13:17 +02:00
Hauke Heibel
9bbaff6b41
Fixed the unit test splitting for MSVC.
2010-10-21 07:39:06 +02:00
Benoit Jacob
ee60fc2062
fix typo and rephrase sentence
2010-10-20 09:43:16 -04:00
Benoit Jacob
8c17fab8f5
renaming: ei_matrix_storage -> DenseStorage
...
DenseStorageBase -> PlainObjectBase
2010-10-20 09:34:13 -04:00
Hauke Heibel
9cf748757e
Improved the fixed size array display.
2010-10-20 11:56:29 +02:00
Benoit Jacob
e259f71477
rename PlanarRotation -> JacobiRotation
2010-10-19 21:56:26 -04:00
Benoit Jacob
9044c98cff
work around stupid msvc error when constructing at compile time an expression
...
that involves a division by zero, even if the numeric type has floating point
2010-10-19 21:56:11 -04:00
Gael Guennebaud
e5073746f3
allows blocks of code to be larger than the page body (like tables)
2010-10-19 16:55:49 +02:00
Gael Guennebaud
e19c6b89f5
update the position of the owl
2010-10-19 16:07:04 +02:00
Gael Guennebaud
54814eb05b
factorize CSS code, make use of the "manual" class when appropriate, clean the style of the big linear algebra table
2010-10-19 15:25:00 +02:00
Benoit Jacob
70f95ef80d
increase css max-width
2010-10-19 09:40:23 -04:00
Benoit Jacob
b1604ea553
merge
2010-10-19 09:32:19 -04:00
Benoit Jacob
b8dfc62f3c
specify max-width in em not px
2010-10-19 09:31:22 -04:00
Gael Guennebaud
6d8e7d68e4
factorize CSS code, make use of the "manual" class when appropriate, clean the style of the big linear algebra table
2010-10-19 15:25:00 +02:00
Benoit Jacob
9e3005d552
css update: max-width and margins
2010-10-19 09:18:06 -04:00
Benoit Jacob
9fa54d4cc9
move tables from class "tutorial_code" to "example"
...
also remove a align="center" in the Aliasing page -- it doesn't make sense to have 1 centered table page when all others are left aligned.
2010-10-19 08:42:49 -04:00
Gael Guennebaud
ca4bd5851c
update style of the quick ref guide
2010-10-19 11:59:11 +02:00
Gael Guennebaud
f66fe2663f
update CSS to doxygen 1.7.2, new CSS and cleaning of the tutorial
2010-10-19 11:40:49 +02:00
Hauke Heibel
9f8b6ad43e
Fixed bug #79 .
2010-10-19 09:43:54 +02:00
Benoit Jacob
3481f10e7a
re-fix the broken msvc warning in JacobiSVD
2010-10-18 09:46:22 -04:00
Benoit Jacob
3404d5fb14
improvements in pages 5 and 7 of the tutorial.
2010-10-18 09:09:30 -04:00
Benoit Jacob
1c15a6d96f
improvements in tutorial page 4 : block operations
2010-10-18 08:44:27 -04:00
Benoit Jacob
4b0fb968ea
fixed table html
2010-10-18 07:23:48 -04:00
Benoit Jacob
597bb61c23
fix stupid msvc warning in jacobisvd
2010-10-18 06:54:11 -04:00
Benoit Jacob
6628534eb5
fix bug i just introduced in ei_add_test_internal
2010-10-17 11:47:59 -04:00
Benoit Jacob
19ae4362bd
ah ok, we want to build this even without GSL.
...
so the bug is in FindGSL.cmake.
2010-10-17 11:31:58 -04:00
Benoit Jacob
4e3feb023d
more unsupported/ CMake fixes
2010-10-17 11:21:10 -04:00
Benoit Jacob
1e3a035275
Fix general linking issue for tests linking to multiple libs, and explicitly link mpfr_real test to GMP.
2010-10-17 11:04:43 -04:00
Benoit Jacob
8356bc8d06
add jacobiSvd() method, update test & docs
2010-10-17 09:40:52 -04:00
Hauke Heibel
cd3a9d1ccb
Fixed bug #74 .
2010-10-17 12:33:47 +02:00
Hauke Heibel
c19b965730
Added stddeque unit test dervied from the stdlist test.
2010-10-16 10:45:30 +02:00
Benoit Jacob
6f6400e488
Added tag 3.0-beta2 for changeset 3f79884f03
2010-10-15 09:46:45 -04:00
Benoit Jacob
3f79884f03
bump to 2.92.0
2010-10-15 09:46:20 -04:00
Benoit Jacob
26129229ec
doc updates/improvements
2010-10-15 09:44:43 -04:00
Benoit Jacob
fcee1903be
update the porting guide
2010-10-15 08:48:44 -04:00
Benoit Jacob
6dc478fd77
doc typo
2010-10-14 10:19:46 -04:00
Benoit Jacob
65c01e2bf7
JacobiSVD doc fix
2010-10-14 10:17:40 -04:00
Benoit Jacob
8f0e80fe30
JacobiSVD:
...
* fix preallocating constructors, allocate U and V of the right size for computation options
* complete documentation and internal comments
* improve unit test, test inf/nan values
2010-10-14 10:14:43 -04:00
Gael Guennebaud
e85a3857f0
import BLAS test suite
2010-10-14 13:46:01 +02:00
Gael Guennebaud
47197065da
compilation fix
2010-10-14 10:19:55 +02:00
Benoit Jacob
bcb9068268
fix bug #44 : use VERIFY_IS_APPROX instead of exact comparison to please x87 extended precision
2010-10-13 09:40:57 -04:00
Benoit Jacob
c8ecc897c0
add EIGEN_TEST_X87 option
2010-10-13 09:04:59 -04:00
Gael Guennebaud
3a2bb7f782
fix compilation and warnings with fcc 4.0.1
2010-10-13 10:21:28 +02:00
Gael Guennebaud
bf402dd9b8
add the possibility to disable OpenGL testing
2010-10-12 20:23:52 +02:00
Benoit Jacob
8eb0fc1e72
remove SVD class (was bad code taked from elsewhere)
...
Use JacobiSVD for now.
We do plan to reintroduce a bidiagonalizing SVD asap.
2010-10-12 10:19:59 -04:00
Benoit Jacob
dbedc70012
Jacobi improvements:
...
* add fixed-size vectorized path
* add missing restrict keywords
* use innerStride()
* allow vectorization even if innerStride()>1, if PacketSize==1
(think of the case of rows of std::complex<double>)
2010-10-12 09:58:53 -04:00
Benoit Jacob
12a152031d
fix the Jacobi bug, expand unit test
2010-10-12 09:43:40 -04:00
Benoit Jacob
75e60121f4
add Jacobi unit test. jacobi_5 fails, exposing bug #39 .
2010-10-12 09:12:36 -04:00
Gael Guennebaud
0308f64515
add support for uniform of double
2010-10-12 11:04:19 +02:00
Gael Guennebaud
fb30bb9e59
uncomment commented line for debug
2010-10-12 10:40:42 +02:00
Gael Guennebaud
20be8ad91e
add support for uniforms
2010-10-12 10:39:28 +02:00
Benoit Jacob
b8bb804007
set ColPivHouseholderQR as default preconditioner for JacobiSVD
2010-10-11 21:00:42 -04:00
Benoit Jacob
5c3d21693b
implement JacobiSVD::solve() and expand the unit test
2010-10-11 15:36:04 -04:00
Gael Guennebaud
0cae73d1eb
add the prototype of all level2 functions
2010-10-08 23:31:57 +02:00
Gael Guennebaud
eb105cace8
compilation fix
2010-10-08 22:51:10 +02:00
Benoit Jacob
d229f99ba2
adapt Quaternion to JacobiSVD API changes.
2010-10-08 10:42:41 -04:00
Benoit Jacob
8ba8d90063
add option to compute thin U/V.
...
By default nothing is computed. You have to ask explicitly for thin/full U/V if you want them.
2010-10-08 10:42:40 -04:00
Benoit Jacob
6fad2eb97b
Rework JacobiSVD api / template parameters.
...
There is now an integer QRPreconditioner template parameter, defaulting to full-piv QR.
Since we have to special-case each QR dec anyway, a template template parameter didn't add much value here.
There is an option NoQRPreconditioner if you know your matrices are already square (auto-detected for fixed-size matrices).
2010-10-08 10:42:32 -04:00
Benoit Jacob
58e0cce0f7
merge backout
2010-10-08 10:42:25 -04:00
Benoit Jacob
4a98cada26
Backed out changeset 2334291157
...
Sorry Thomas, these doc fixes are no longer relevant with the JacobiSVD API changes, and they are preventing me from applying my patches cleanly.
2010-10-08 10:42:06 -04:00
Gael Guennebaud
a76ce042e6
MSVC for windows mobile does not have the errno.h file
2010-10-07 18:09:15 +02:00
Gael Guennebaud
af22364988
an attempt to fix compilation on windows mobile
2010-10-07 17:54:46 +02:00
Gael Guennebaud
d9c131de5b
remove the Taucs backend : Taucs is not maintained anymore and the backend was crap anyway
2010-10-06 17:42:17 +02:00
Gael Guennebaud
423f88aa1e
improve FindCholmod
2010-10-06 17:38:02 +02:00
Romain Bossart
c6503e03eb
Updates to the Sparse unsupported solvers module.
...
* change Sparse* specialization's signatures from <..., int Backend> to <..., typename Backend>. Update SparseExtra accordingly to use structs instead of the SparseBackend enum.
* add SparseLDLT Cholmod specialization
* for Cholmod and UmfPack, SparseLU, SparseLLT and SparseLDLT now use ei_solve_retval and have the new solve() method (to be closer to the 3.0 API).
* fix doc
2010-10-04 20:56:54 +02:00
Gael Guennebaud
e3d01f85b2
extend OpenGL support module with true unit tests and support for Transform, Translation, etc.
2010-10-06 13:28:13 +02:00
Gael Guennebaud
b5f32830fd
fix geometry tutorial regarding the need to specify the "mode"
2010-10-06 13:27:14 +02:00
Gael Guennebaud
01fad14d78
mark LLT/LDLT solveInPlace func internal and rm their boolean returned value
2010-10-05 15:56:50 +02:00
Thomas Capricelli
2334291157
fix doc
2010-10-04 04:08:32 +02:00
Benoit Jacob
71f023de3e
fix compilation on ubuntu 9.04's version of gcc 4.3 (yes, wtf)
2010-09-27 09:57:57 -04:00
Radu Bogdan Rusu
94ea1eed9a
fix warning
2010-09-27 09:56:54 -04:00
Hauke Heibel
327ed3d1d3
Added a note to the Gram Schmidt code and improved some formatting.
2010-09-25 14:15:35 +02:00
Hauke Heibel
72d4d45133
Merge.
2010-09-24 17:34:49 +02:00
Hauke Heibel
316dadc8e4
Fixed some SVD issues.
...
Make the SVD's output unitary.
Improved unit tests.
Added an assert to the SVD ctor to check whether rows>=cols.
2010-09-24 17:32:44 +02:00
Hauke Heibel
053261de88
Make the SVD's output unitary and improved unit tests.
2010-09-24 16:28:20 +02:00
Benoit Jacob
1c54514bfc
merge
2010-09-23 09:53:21 -04:00
Benoit Jacob
c253cc3d53
SVD:
...
* fix unit test for rectangular matrices.
* enforce that rows >= cols since various places in the code assume that.
2010-09-23 09:51:08 -04:00
Hauke Heibel
947f84633b
Fixed bad memory access in the SVD.
2010-09-23 11:15:36 +02:00
Hauke Heibel
62bf04b339
Fixed bad memory access in the SVD.
2010-09-23 11:15:36 +02:00
Gael Guennebaud
82e4a16759
remove superfluous #ifdef
2010-09-15 15:24:21 +02:00
Benoit Jacob
77c943670e
add cmakelists for 2 subdirs and make sure all subdirs are installed (GLOB)
2010-09-14 04:11:15 -04:00
Gael Guennebaud
91e9344be9
fix vectorization logic and code of cross3 which was never enabled..
2010-09-08 14:10:01 +02:00
Gael Guennebaud
f9123df772
fix unitialized quaternion
2010-09-08 12:57:33 +02:00
Gael Guennebaud
d591b0466d
add a bench to compare various transformation methods
2010-09-07 18:21:36 +02:00
Gael Guennebaud
9bb75937cc
fix += return by value like operations
2010-09-06 11:51:42 +02:00
Gael Guennebaud
62eb4dc99b
noalias was wrongly skipping automatic transposition
2010-09-02 19:18:34 +02:00
Gael Guennebaud
4824db6444
add the possibility to extend QuaternionBase
2010-09-02 17:28:07 +02:00
Eamon Nerbonne
d17bb02ccd
Fixes mingw32 compile issues
2010-09-02 10:38:23 +02:00
Gael Guennebaud
e0ea25fc21
add missing copyrights
2010-09-01 12:59:38 +02:00
Gael Guennebaud
b49dde01dc
fix bad mat * mat * scalar when the implicit conversion operator to a Matrix is used
2010-08-31 09:54:38 +02:00
Hauke Heibel
dd94f10442
Docs: Improved the docs for writing functions taking Eigen types.
...
- Removed the wrong statement about the MSVC compiler.
- Reformulated "simple functions" usage.
- Reformulated the summary paragraph about writable parameters.
2010-08-27 08:19:09 +02:00
Gael Guennebaud
dcff9ba785
fix bad "using typename"
2010-08-25 13:34:35 +02:00
Gael Guennebaud
cb7a72d5b0
Fix Sun CC parsing of Eigen/Core. In particular,
...
I moved all the block related methods to a plugin file. This also
significantly reduce code verbosity.
2010-08-25 13:09:56 +02:00
Benoit Jacob
e17d17cea3
didn't want to commit that bench change.
2010-08-24 10:57:22 -04:00
Benoit Jacob
bd8d06033d
make a couple of typedefs public so stuff compiles
2010-08-24 10:53:33 -04:00
Gael Guennebaud
a47bbf664c
fix 4x4 SSE inversion when storage orders don't match
2010-08-24 13:00:59 +02:00
Gael Guennebaud
548ecc2fe5
update inverse unit test to highlight another bug in SSE 4x4 inversion code
2010-08-24 12:38:20 +02:00
Gael Guennebaud
ad9a7c69bc
fix inversion of 4x4 unaligned matrices
2010-08-24 12:28:42 +02:00
Benoit Jacob
6924d4eec5
update this test to build against current eigen.
...
remove the 'normal' path as it was not compiling anymore and I couldn't see the point of it (?)
2010-08-23 23:21:25 -04:00
Gael Guennebaud
6261f4629f
add TriangularMatrix::conjugate to be consistent since we have adjoint
2010-08-23 23:38:35 +02:00
Jitse Niesen
474c2996bd
Docs: add section on resolving the aliasing issue.
2010-08-23 17:23:30 +01:00
Jitse Niesen
d1111d625c
Docs: Typos in ArrayBase doxygen comments
2010-08-23 11:44:51 +01:00
Jitse Niesen
103b9351fd
Docs: Add references to TopicClassHierarchy
2010-08-22 18:28:19 +01:00
Jitse Niesen
a6da803873
Document DenseCoeffsBase
2010-08-22 17:30:31 +01:00
Hauke Heibel
60aad09878
Fixed DiagonalMatrix assignment.
2010-08-21 16:34:46 +02:00
Hauke Heibel
92b1674c79
Fixed typos.
2010-08-19 20:11:06 +02:00
Hauke Heibel
610d79e686
Simplified to product templates to a minimum of template parameters.
...
Removed the ei_is_any_projective helper and added ei_transform_traits.
2010-08-19 20:02:46 +02:00
Hauke Heibel
a64aabf73c
Removed unused code.
2010-08-19 19:33:13 +02:00
Hauke Heibel
55c7848877
Matrix product refactoring (rhs products only).
...
Added strong inlines required for MSVC for proper inlining.
Added specializations for DiagonalMatrix products to RotationBase.
Added left- and righ-hand-side products with DiagonalMatrix to Transform.
RHS Transform products now return Matrix objects only.
Split the geo_transformations unit test. Some tests were not made for projectivities.
Removed unused variables from main.h that caused warnings.
2010-08-19 19:25:35 +02:00
Gael Guennebaud
d4b664c4cd
fix ugly conversion from double[2] to complex
2010-08-19 14:47:58 +02:00
Gael Guennebaud
5354ffbb4f
add missing specialization for vector * selfadjoint
2010-08-19 14:05:21 +02:00
Gael Guennebaud
6264755dd3
merge
2010-08-18 15:34:55 +02:00
Gael Guennebaud
ab41c18d60
quickly mention how to solve a sparse problem
2010-08-18 15:33:58 +02:00
Benoit Jacob
216c9125e9
disable NonLinearOptimization test until it's fixed
2010-08-18 09:11:01 -04:00
Gael Guennebaud
ddbbd7065d
* disable unalignment detection when vectorization is not enabled
...
* revert MapBase unalignment detection
2010-08-18 09:35:55 +02:00
Hauke Heibel
85fdcdf055
Fixed Geometry module failures.
...
Removed default parameter from Transform.
Removed the TransformXX typedefs.
Removed references to TransformXX from unit tests and docs.
Assigning Transforms to a sub-group is now forbidden at compile time.
Products should now properly support the Isometry flag.
Fixed alignment checks in MapBase.
2010-08-17 20:03:50 +02:00
Benoit Jacob
87aafc9169
fix Transform() constructor taking a Transform with other mode.
...
Not really tested as the geometry tests are currently busted.
2010-08-16 12:30:33 -04:00
Benoit Jacob
19d9c835e0
fix warnings
2010-08-16 11:11:43 -04:00
Gael Guennebaud
b37551f62a
further improve compilation error message for array+=matrix
2010-08-16 11:13:02 +02:00
Gael Guennebaud
c625a6a85b
improve compilation error message for array+=matrix and the likes
2010-08-16 11:07:17 +02:00
Gael Guennebaud
453d54325e
fix declaration of AffineTransformType in Translation
2010-08-16 10:44:27 +02:00
Gael Guennebaud
ba212aeaa9
fix missdetection of GLUT
2010-08-16 09:50:24 +02:00
Gael Guennebaud
aa2b46aa91
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Gael Guennebaud
853c0e15df
slightly generalize the alignment assert in MapBase
2010-08-16 09:41:07 +02:00
Gael Guennebaud
8566ef805b
remove the aligned bit flag for non vectorizable types
2010-08-16 09:38:49 +02:00
Benoit Jacob
3a30a2bc3e
forgot to remove a #endif
2010-08-13 14:03:38 -04:00
Benoit Jacob
b80d9dd42e
fix determination of number of registers on sse:
...
__i386__ was not defined by MSVC 2010.
fixed as (2*sizeof(void*)).
also move that to SSE/ and let the default for unknown arch's be just 8.
2010-08-13 13:55:28 -04:00
Benoit Jacob
8bbe556e35
merge the backout
2010-08-11 00:06:31 -04:00
Benoit Jacob
97ced33b33
Backed out changeset 40f6e26a24
...
See thread on mailing list: "InnerPanel change mis-detects alignment?"
2010-08-11 00:04:06 -04:00
Jitse Niesen
76fbe94279
Document EIGEN_NO_DEBUG macro.
...
I needed some doxygen tricks to get this to work, so it may not be worth it.
2010-08-10 11:37:23 +01:00
Jitse Niesen
530b328769
Aliasing doc: explain that some cases are detected, reverse order examples.
2010-08-08 21:20:14 +01:00
Hauke Heibel
3dd8225862
Added more detailed docs to the QR decompositions classes.
2010-08-05 08:56:19 +02:00
Benoit Jacob
976d7c19e8
some small improvements to the page on functions taking eigen objects.
...
- make the beginning more precise
- make the first example be a full selfcontained compiled example, no need for all the others, but having the first one doesn't hurt.
2010-08-04 21:42:32 -04:00
Hauke Heibel
5c7cb3c05c
Added more examples to the function writing tutorial including EigenBase, DenseBase, etc.
2010-08-04 17:50:46 +02:00
Hauke Heibel
d558e84f0b
Fixed some typos and reformulated a few sentences.
2010-08-04 16:40:33 +02:00
Hauke Heibel
224dd66e10
Added a tutorial on writing functions taking Eigen types.
2010-08-04 12:01:19 +02:00
Benoit Jacob
d90d7a006f
fix warnings. The one in Reverse was potentially serious: coeff() methods should return CoeffReturnType, not "Scalar", if the expression is potentially a Lvalue.
2010-08-03 10:38:48 -04:00
Hauke Heibel
cc25edd5de
Fixed Affine transform typedef.
2010-08-02 21:33:48 +02:00
Jitse Niesen
508b51cb62
Add page giving an overview of the class hierarchy.
...
This is mostly copied from the wiki, which in turn copies Benoit's email at
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/06/msg00576.html
I used ASCII art for the inheritance diagrams for now, but I don't mind
moving to GraphViz/dot as discussed earlier.
2010-08-02 11:36:44 +01:00
Jitse Niesen
a9fe75efc4
Documentation: Start special topic page on aliasing.
2010-07-31 21:37:29 +01:00
Hauke Heibel
7cefa75901
Added static method Identity() to the Translation class.
2010-07-29 17:30:37 +02:00
Hauke Heibel
e92993d7b9
Safeguarded some Transform functions with compile time asserts.
...
Added missing static Identity() to Rotation2D, AngleAxis.
2010-07-29 16:17:42 +02:00
Hauke Heibel
6b89ee0095
Transform is now per default Projective.
...
Improved invert() in the Transform class.
RotationBase offers matrix() to be conform with Transform's naming scheme.
Added Translation::translation() to be conform with Transform's naming scheme.
2010-07-29 15:54:32 +02:00
Hauke Heibel
2f0e8904f1
Removed debug outputs.
2010-07-28 10:47:58 +02:00
Kenneth Riddile
b038a4bb71
* added EIGEN_ALIGNED_ALLOCATOR macro to allow specifying a different aligned allocator
...
* attempted to add support for std::deque by copying and modifying the std::vector implementation...MSVC still fails to compile with the std::deque::resize() "will not be aligned" error...probably missing something simple but I'm not sure how to make it work
2010-07-26 19:06:47 -04:00
Jitse Niesen
1420f8b3a1
Several changes in comments to keep Doxygen happy.
2010-07-25 20:29:07 +01:00
Jitse Niesen
3d9764ee24
Add some more examples for the API documentation.
...
The only missing examples now are for homogeneous() and hnormalized();
I don't know what they're used for ...
2010-07-24 16:43:07 +01:00
Jitse Niesen
425444428c
Add examples for API documentation of block methods in DenseBase.
2010-07-23 22:20:00 +01:00
Jitse Niesen
2b5a0060b4
Add examples for API documentation of MatrixBase::cwiseXxx() methods.
2010-07-23 20:32:33 +01:00
Jitse Niesen
072ee3c07d
Set Doxygen config variable INCLUDE_PATH to plugins directory.
...
This is necessary to get functions like MatrixBase::cwiseAbs() documented;
otherwise doxygen can't find the include file in which they are defined.
2010-07-23 19:57:21 +01:00
Jitse Niesen
ae8425c74c
Tutorial page 7: more typical example for .all(), minor copy-editing.
2010-07-23 19:20:10 +01:00
User Martin Senst
145830e067
Add newline at the end of Dense.
2010-07-23 19:00:02 +02:00
Gael Guennebaud
40f6e26a24
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Jitse Niesen
d0f6b1c21f
Tutorial page 6: Fix typo, add table of contents.
2010-07-22 21:52:04 +01:00
Gael Guennebaud
9daa66f262
fix merge conflicts
2010-07-22 17:23:11 +02:00
Gael Guennebaud
5d98fa235d
merge with complex branch
2010-07-22 16:57:14 +02:00
Jitse Niesen
403e672587
Extend tutorial page 5: Advanced initialization.
2010-07-22 15:53:21 +01:00
Gael Guennebaud
7020f30da3
sync with default branch
2010-07-22 16:29:35 +02:00
Gael Guennebaud
b9edd6fb85
oops
2010-07-22 16:24:01 +02:00
Gael Guennebaud
96ba7cd655
add an OpenGL module simplifying the way you can pass Eigen's objects to GL
2010-07-22 16:08:58 +02:00
Gael Guennebaud
fa6d36e0f7
fix SparseView: clean the nested matrix type
2010-07-22 15:57:01 +02:00
Hauke Heibel
734469e43f
Unified LinSpaced in order to be conform with other setter methods as e.g. Constant.
2010-07-22 14:04:00 +02:00
Gael Guennebaud
c7f40e522e
merge
2010-07-22 13:21:06 +02:00
Gael Guennebaud
06250a154c
add matlab-like mixed product
2010-07-22 13:19:09 +02:00
Gael Guennebaud
bec3f9bfe4
rename indices to a common scheme
2010-07-22 13:17:39 +02:00
Gael Guennebaud
0916d69ca5
fix inner vectorization logic
2010-07-22 13:17:12 +02:00
Gael Guennebaud
0dfc5b296b
fix strict aliasing issue
2010-07-22 13:16:53 +02:00
Gael Guennebaud
8a96b0080d
now that we properly support mixing real-complex: clean mixingtypes test
2010-07-22 13:15:49 +02:00
Thomas Capricelli
8e21cef80a
fix typo
2010-07-22 13:15:15 +02:00
Gael Guennebaud
4393f20fea
fix compilation of quaternion demo
2010-07-21 17:34:32 +02:00
Gael Guennebaud
f1104a3b0f
fix mandelbrot compilation, and make it use Array instead of Matrix
2010-07-21 17:13:02 +02:00
Gael Guennebaud
35f0bc70d8
fix a strict aliasing issue with gcc 4.3
2010-07-20 22:43:55 +02:00
Gael Guennebaud
b5f2b7d087
fix storage order request
2010-07-20 22:08:48 +02:00
Gael Guennebaud
7dbbc6ffd1
fix static allocation of workspace
2010-07-20 17:06:14 +02:00
Gael Guennebaud
ced1a45f82
add NEON ploaddup and pcplxflip functions
2010-07-20 14:24:01 +02:00
Gael Guennebaud
193eedbfe2
one more fix for openmp
2010-07-20 14:19:00 +02:00
Gael Guennebaud
d7fa09bf05
improve block-size heuristic
2010-07-20 13:23:50 +02:00
Gael Guennebaud
4824ac1363
fix openmp version
2010-07-20 13:23:19 +02:00
Gael Guennebaud
b551a2d77a
fix declaration of pack_lhs in trsm
2010-07-20 12:58:22 +02:00
Gael Guennebaud
10a7668035
uncomment commented code for debug
2010-07-20 12:57:46 +02:00
Gael Guennebaud
7b23fad4c9
report a true assert when not checking for an assertion
2010-07-20 12:54:53 +02:00
Gael Guennebaud
44cb1e4802
it appears only the "on the left" case was tested
2010-07-20 10:32:56 +02:00
Gael Guennebaud
872523844a
fix trmm and symm wrt lhs packing
2010-07-20 10:06:41 +02:00
Gael Guennebaud
76eb9c9fd9
fix compilation by including file in correct order
2010-07-19 23:32:13 +02:00
Gael Guennebaud
70b1ce11c6
* fix SelfCwiseBinaryOp traits and handling of mixed types
...
* improve compilation error in case of type mismatch
2010-07-19 23:31:08 +02:00
Gael Guennebaud
8b0b121c9e
explicitely disable vectorization for mixed coeff based products
2010-07-19 23:28:57 +02:00
Gael Guennebaud
08c841eb87
fix lhs packing in the case of real * complex products
2010-07-19 23:16:03 +02:00
Gael Guennebaud
1ed4233fd2
port Jacobi to new ei_pset1/ei_pload API
2010-07-19 16:51:38 +02:00
Gael Guennebaud
c2ee454df4
* fix compilation of mixed scalar product
...
* optimize mixed scalar products
2010-07-19 16:49:09 +02:00
Gael Guennebaud
6e157dd7c6
* fix a couple of remaining issues with previous commit,
...
* merge ei_product_blocking_traits into ei_gepb_traits
2010-07-19 15:45:13 +02:00
Gael Guennebaud
f8aae7a908
* _mm_loaddup_pd is slow
...
* optimize SSE ei_ploaddup<Packet4f>
2010-07-19 15:43:27 +02:00
Gael Guennebaud
cd0e5dca9b
wip: extend the gebp kernel to optimize complex and mixed products
2010-07-19 08:50:59 +02:00
Gael Guennebaud
45362f4eae
update mixing type test
2010-07-15 08:40:09 +02:00
Gael Guennebaud
3f532edc6d
update unit test for new API
2010-07-15 08:38:31 +02:00
Gael Guennebaud
1dc9aaaf36
add support for mixing type in trsv
2010-07-13 16:03:49 +02:00
Gael Guennebaud
36d9b51a44
optimize non fused MADD, and add a flatten attribute macro to enforce
...
inlining within a function
2010-07-13 15:16:34 +02:00
Gael Guennebaud
b72b7ab76f
matrix product: move the alpha factor to gebp instead of the packing,
...
clean some temporaries, etc.
2010-07-12 16:31:46 +02:00
Gael Guennebaud
f8678272a4
mixing types step 3:
...
- improve support of colmajor by vector and matrix - matrix
- now all configurations are well handled, but the perf are not always very good
2010-07-11 23:57:23 +02:00
Gael Guennebaud
8e3c4283f5
make colmaj * vector uses pointers only
2010-07-11 16:01:48 +02:00
Gael Guennebaud
ff96c94043
mixing types in product step 2:
...
* pload* and pset1 are now templated on the packet type
* gemv routines are now embeded into a structure with
a consistent API with respect to gemm
* some configurations of vector * matrix and matrix * matrix works fine,
some need more work...
2010-07-11 15:48:30 +02:00
Gael Guennebaud
4161b8be67
sync
2010-07-10 22:58:51 +02:00
Gael Guennebaud
e5bc9526f1
* generalize rowmajor by vector
...
* fix weird compilation error when constructing a matrix with a row by matrix product
2010-07-10 22:53:27 +02:00
Gael Guennebaud
c4ef69b5bd
fix compilation: make the check_coordinates* functions const
2010-07-10 22:37:16 +02:00
Benoit Jacob
6dcd373b9d
let ei_pset1 use _mm_loaddup_pd. Not a significant speed improvement, but also not a speed regression, and replaces 3 instructions by 1 single instruction.
2010-07-09 18:51:17 -04:00
Konstantinos Margaritis
6ad3f1ab1f
Added NEON/Complex.h, ~3.5x faster than scalar std::complex<float>
...
minor fix in AltiVec Complex.h
2010-07-10 00:09:29 +03:00
Gael Guennebaud
96f9015807
disable MSVC optimization when the underlying compiler is ICC
2010-07-09 19:33:43 +02:00
Gael Guennebaud
b2effa2b2c
move ei_conj_if to a more appropriate file
2010-07-09 18:05:57 +02:00
Konstantinos Margaritis
642cc27eb1
forgot to commit ei_p4f_FORWARD;
2010-07-09 18:08:18 +03:00
Konstantinos Margaritis
f6bd508351
forgot to add the Complex.h include for AltiVec.
2010-07-09 17:56:53 +03:00
Konstantinos Margaritis
d9e134c73c
Altivec port of Complex.h.
...
Note: For some reason g++ 4.4 is >200% slower than g++ 4.3 on altivec code.
The same benchmark (bench_gemm) was tested, on the same hardware/OS (G4/Debian testing),
with same CFLAGS. With some code reorganizing I managed to get some minor gain
on 4.4, but I just could not reach 4.3 speed. This is most likely a bug, but I'm waiting
to see if it's fixed on 4.5. I'll look into this a bit more.
2010-07-09 17:54:41 +03:00
Jitse Niesen
26cfe5a958
Be consistent in how the tutorial pages link together.
2010-07-09 11:59:29 +01:00
Jitse Niesen
2c03ca3325
Small changes to tutorial page 2 (matrix arithmetic):
...
* slightly more extensive discussion of aliasing
* layout: put example code and output side-by-side
* add some links, etc
2010-07-09 11:46:07 +01:00
Gael Guennebaud
b1a17dbfe4
fix a few weird issues with gcc 4.3 32bits and complex<float>
2010-07-09 08:27:58 +02:00
Thomas Capricelli
551cb9b7b4
bench: use of Eigen/Array is deprecated + fix includes for iostream
2010-07-09 03:59:36 +02:00
Gael Guennebaud
504d3a3586
fix SliceVectorizedTraversal for packetsize==1
2010-07-08 23:31:14 +02:00
Gael Guennebaud
51ec188da0
extend vectorization_logic
2010-07-08 23:30:16 +02:00
Carlos Becker
951da96f14
Added more redux types/examples in tutorial and fixed some display issues
2010-07-08 18:16:39 +01:00
Carlos Becker
cb3aad1d91
Reductions/Broadcasting/Visitor Tutorial added to index
2010-07-08 17:45:25 +01:00
Carlos Becker
9852e7b9cb
Reductions/Broadcasting/Visitor Tutorial added
2010-07-08 17:42:23 +01:00
Gael Guennebaud
300a226ffa
scalars fitting in a single packet requires more work, step 1
...
* add a, Alignable trait
* update LinearVectorization assignment
2010-07-08 14:27:47 +02:00
Gael Guennebaud
2a1500915a
compilation fix
2010-07-08 14:26:00 +02:00
Gael Guennebaud
2066ed91de
enabling aligned loads/store for complex<double> is much more tricky,
...
so the temporary fix is to always perform unaligned load/store
2010-07-07 22:50:19 +02:00
Gael Guennebaud
d89925e6de
an attempt to fix wrong unaligned store
2010-07-07 22:35:06 +02:00
Gael Guennebaud
02fd3acd81
update to support mixin types
2010-07-07 19:49:48 +02:00
Gael Guennebaud
31a36aa9c4
support for real * complex matrix product - step 1 (works for some special cases)
2010-07-07 19:49:09 +02:00
Gael Guennebaud
fc3fd8ab57
mention that array = matrix is fine too
2010-07-07 18:10:11 +02:00
Gael Guennebaud
861962c55f
sync
2010-07-07 16:44:05 +02:00
Gael Guennebaud
0f2d480af0
add support for complex
2010-07-07 16:41:29 +02:00
Gael Guennebaud
a2415388ef
optimized conjugate products for SSE3
2010-07-07 16:37:20 +02:00
Gael Guennebaud
65257f6b29
optimize for SSE3 => significant speed up !!
2010-07-07 15:34:46 +02:00
Gael Guennebaud
dd18b22f0b
optimize pmul for complex<double>
2010-07-07 15:29:04 +02:00
Gael Guennebaud
845994f18f
optimize gemv for complex<double> and fix gcc alignment issue in 32bits
2010-07-07 15:28:41 +02:00
Gael Guennebaud
e07c0f6bb5
cleanning
2010-07-07 11:41:29 +02:00
Gael Guennebaud
3a7f16a655
typo
2010-07-07 11:13:30 +02:00
Gael Guennebaud
b0896382a3
s/IsVectorized/Vectorizable
2010-07-07 11:10:46 +02:00
Gael Guennebaud
74cf12cbe0
add a compile time error if someone call packet on Diagonal (instead of infinite runtime loop)
2010-07-07 11:07:12 +02:00
Gael Guennebaud
d5e0efaf69
fix vectorization rule of diagonal-product
2010-07-07 11:06:31 +02:00
Gael Guennebaud
c851044eae
fix row cwise-prod column in coeff based products...
...
I really don't know why this worked so far...
2010-07-07 10:52:59 +02:00
Gael Guennebaud
55495dcbae
extend product unit tests
2010-07-07 10:50:40 +02:00
Gael Guennebaud
e38fc9692d
add a conj_product functor and optimize dot products
2010-07-07 10:00:08 +02:00
Gael Guennebaud
f8d3b4c060
fix mixing types in DiagonalProduct
2010-07-07 09:43:29 +02:00
Gael Guennebaud
bfa606d16f
* add a IsVectorized mechanism (instead of packet-size>1...)
...
* vectorize complex<double>
2010-07-06 23:36:00 +02:00
Gael Guennebaud
38d0a0d5d6
add a unit test for previous bug
2010-07-06 20:54:35 +02:00
Gael Guennebaud
2dba4b7ce7
add a unit test for conj_helper and ei_pconj
2010-07-06 20:54:14 +02:00
Gael Guennebaud
bc57c68cf5
bug fix forgot to conjugate the scalar factor when needed
2010-07-06 20:53:48 +02:00
Gael Guennebaud
e04c3f2cc0
reduce code generation and minor speed up
2010-07-06 19:15:02 +02:00
Gael Guennebaud
d6454788d9
add support for vectorized conjugated products
2010-07-06 19:10:24 +02:00
Gael Guennebaud
291fef5760
fix range
2010-07-06 19:09:31 +02:00
Jitse Niesen
49747fa4a9
Various documentation improvements.
...
* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
2010-07-06 13:10:08 +01:00
Jitse Niesen
3428d80d20
Small changes to tutorial page 1.
2010-07-06 10:48:25 +01:00
Jens Mueller
d849bc4401
Avoid calling resizeLike, if EIGEN_NO_AUTOMATIC_RESIZING is defined
2010-07-06 10:11:18 +02:00
Jens Mueller
5322b670c8
Add all unsupported modules and fix header file paths
2010-07-06 10:25:52 +02:00
Gael Guennebaud
7d23e7f9f1
indentation
2010-07-06 11:02:01 +02:00
Benoit Jacob
d1243b393e
Added tag 3.0-beta1 for changeset 8cfbf33f60
2010-07-06 00:50:30 -04:00
Benoit Jacob
8cfbf33f60
fix the overview page and add mention that the wrong stack alignment issue may have been solved by gcc 4.5
2010-07-06 00:50:16 -04:00
Gael Guennebaud
c69a226192
* extend the Has* packet traits and makes all functor use it
...
* extend the packing routines to support conjugation
2010-07-05 23:27:54 +02:00
Gael Guennebaud
8db60afb47
oops I did not see that
2010-07-05 21:27:15 +02:00
Gael Guennebaud
e1eccfad3f
add intitial support for the vectorization of complex<float>
2010-07-05 16:18:09 +02:00
Konstantinos Margaritis
1505221263
add check for non x86 platforms, we get a compile error on arm/powerpc without the check
...
(there is no known -yet- method to get cpuid, without resolving to kernel /sys interface)
2010-07-05 16:44:41 +03:00
Konstantinos Margaritis
1daf9b11ba
check for !x86 platforms, otherwise the BTL benchmark doesn't compile on arm/powerpc
2010-07-05 16:42:11 +03:00
Jitse Niesen
9fa4e9a098
Improve documentation, mostly by adding links to Quick Start Guide.
2010-07-05 10:59:29 +01:00
Gael Guennebaud
efb79600b9
fix warning "type qualifiers ignored on function return type" for long long scalar types
2010-07-05 11:23:05 +02:00
Gael Guennebaud
15a421ef63
char is not necessarily signed....
2010-07-05 11:15:08 +02:00
Gael Guennebaud
6249d60715
improve packetmath unit test for sum reductions
2010-07-05 10:54:24 +02:00
Gael Guennebaud
fffaa58ac2
fix unaligned workspace in sybb
2010-07-05 10:12:30 +02:00
Gael Guennebaud
8a38047ec5
fix nomalloc_2 issues with ICC and gcc 4.0.1 (and speed up compilation ;) )
2010-07-04 15:35:21 +02:00
Gael Guennebaud
c201aabf3e
comment the workaround of the EIGEN_EMPTY_STRUCT_CTOR workaround for gcc 4.3
2010-07-04 15:26:58 +02:00
Hauke Heibel
282b5614ed
Relaxed precision test.
2010-07-04 14:04:07 +02:00
Gael Guennebaud
0c25f868c7
update topic page on products
2010-07-04 10:37:32 +02:00
Gael Guennebaud
41ea92d355
* update the general TOC
...
* integrate the old geometry/sparse tutorial into the new one (they are better than nothing)
* remove the old tutorial on the core module
2010-07-04 10:14:47 +02:00
Gael Guennebaud
11329f49f4
suppress warning and add a fixme about this transpose argument
2010-07-03 19:39:29 +02:00
Gael Guennebaud
be1fdbf3af
fix openmp for row major destination
2010-07-03 12:52:39 +02:00
Hauke Heibel
0d9dc578dd
Adapted the MSVC visualizer to the new Dynamic value.
2010-07-03 12:26:53 +02:00
Gael Guennebaud
b4ef323e90
fix bug with openmp
2010-07-03 12:20:13 +02:00
Hauke Heibel
d6791e8f3d
Fixed annoying CMake - Qt warning.
2010-07-03 11:52:46 +02:00
Benoit Jacob
5a52f2833f
simplify and polish a bit the page 4 / block ops
2010-07-01 20:52:40 -04:00
Benoit Jacob
08c17c412e
polish the Array tutorial page
2010-07-01 20:29:13 -04:00
Benoit Jacob
ba7e9a760d
actually remove 3.0-beta1 tag
2010-07-01 10:49:25 -04:00
Benoit Jacob
51fae7e57d
Removed tag 3.0-beta1
2010-07-01 10:47:03 -04:00
Hauke Heibel
ce1e5e52dd
Enable OpenMP testing for MSVC.
...
Added CMake comments.
2010-07-01 07:28:16 +02:00
Thomas Capricelli
b212227418
shut one more warning
2010-07-01 04:27:45 +02:00
Thomas Capricelli
1399fd9cbd
fix compilation issue with clang
2010-07-01 04:26:07 +02:00
Thomas Capricelli
d414ab51f0
oops... fix it better
2010-07-01 03:39:19 +02:00
Thomas Capricelli
2874101b62
fix compilation with icc. Anyway, the use of an enum instead of a
...
'const bool' is more consistent with the code around.
2010-07-01 03:23:47 +02:00
Thomas Capricelli
04648becf7
fix warnings with old gcc
2010-07-01 03:22:09 +02:00
Jitse Niesen
7d72d4f3c7
Bug fix for NumTraits<T>::lowest() .
...
std::numeric_limits<T>::min() is the lowest *positive* normalized number
for floating point types.
This fixes the test failure for geo_alignedbox8 for me.
2010-07-01 01:42:31 +01:00
Benoit Jacob
6326f4623a
slightly raise the threshold used in this test to accomodate results obtained with gcc 4.1
2010-06-30 19:55:43 -04:00
Benoit Jacob
532aeba308
s/struct/class/g ; bug reported by Thomas
2010-06-30 19:47:26 -04:00
Benoit Jacob
962b30d75e
fix linalg tut; remove the old one
2010-06-30 19:27:30 -04:00
Carlos Becker
97f3c7f282
Fixed nullary test not passing on Core Duo
2010-06-30 19:17:29 +01:00
Hauke Heibel
34d79b6a63
Firefox specific style fix.
2010-06-30 18:31:31 +02:00
Hauke Heibel
7b74d376d3
More style fixes.
2010-06-30 18:27:27 +02:00
Hauke Heibel
e1348b9cc9
Slight pimping of the "Basic matrix manipulation" table.
...
More CSS simplifications.
2010-06-30 18:04:36 +02:00
Manoj Rajagopalan
c64c0f382f
Examples for DenseBase::middle{Rows,Cols}()
2010-06-30 11:26:31 -04:00
Benoit Jacob
63287ff08f
Added tag 3.0-beta1 for changeset 73db507d15
2010-06-30 10:16:55 -04:00
Benoit Jacob
73db507d15
merge.
...
first time i see this: someone pushed *between*
my hg pull -u and my hg push ! I guess that means we have very high activity these days. good!
2010-06-30 10:14:09 -04:00
Benoit Jacob
4d4a23cd3e
nearly complete page 6 / linear algebra + examples
...
fix the previous/next links
2010-06-30 10:11:55 -04:00
Carlos Becker
b83225edfb
Fixed small typo in arithmetic tutorial
2010-06-30 15:08:25 +01:00
Hauke Heibel
b1741c1dc6
Fixed some doc appearance issue.
...
Started cleaning up the CSS.
2010-06-30 15:52:00 +02:00
Hauke Heibel
56fe64c15d
Fix hover background color for H2.
...
Align tutorial tables at the top.
2010-06-30 14:05:37 +02:00
Gael Guennebaud
21d940fbe4
fix unsupported module doc
2010-06-30 13:19:54 +02:00
Hauke Heibel
1688b86823
Followed Benoit's comment and removed the Mainpage.dox too.
2010-06-30 13:04:50 +02:00
Gael Guennebaud
020bf9e922
clean the class hierarchy
2010-06-30 13:05:07 +02:00
Hauke Heibel
af9f452299
Removed old doxygen config file.
2010-06-30 12:57:33 +02:00
Hauke Heibel
c66c4b3293
Added exclusion filters.
2010-06-30 12:57:00 +02:00
Jitse Niesen
096c13ea6d
Fill in open entries in decompositions table.
2010-06-30 10:41:23 +01:00
Gael Guennebaud
1b8277fc2a
update the big linear algebra table (fixes, add notes and definitions)
2010-06-30 10:37:23 +02:00
Gael Guennebaud
a06cd0fb13
it remains only to set the status of RealSchur and EigenSolver
2010-06-29 20:59:23 +02:00
Gael Guennebaud
1f4927a28c
update the big table and add an Optimization column
2010-06-29 20:44:51 +02:00
Manoj Rajagopalan
5c58582a08
Renamed DenseBase::{row,col}Range() to DenseBase::middle{Rows,Cols}()
2010-06-29 14:31:39 -04:00
Manoj Rajagopalan
6e5bed69dc
Included tests for middleRows() and middleCols()
2010-06-29 12:39:58 -04:00
Gael Guennebaud
82c4a755af
disable empty struct trick for buggy gcc 4.3
2010-06-29 18:17:17 +02:00
Benoit Jacob
e5de9e5226
Remove \nonstable yet. The stability rules for Eigen3 are much simpler:
...
- all what's not in unsupported/ is considered stable API
(except internal stuff e.g. expression templates).
2010-06-29 10:10:47 -04:00
Benoit Jacob
76152e9844
start linear algebra tutorial
2010-06-29 10:02:33 -04:00
Benoit Jacob
3bd421e073
fix potential warning
2010-06-29 10:02:10 -04:00
Carlos Becker
deba829911
Added Block tutorial to docs index
2010-06-29 14:23:49 +01:00
Jitse Niesen
3070164525
Fix name clash in "m.block(i,j,m,n)" where m has two meanings.
...
Fix simple typos in tutorial.
2010-06-29 11:42:51 +01:00
Konstantinos Margaritis
cf3616b2c0
AltiVec signed integer pmadd removed, proved to be 2x slower than the scalar trait(!).
2010-06-28 21:24:55 +03:00
Carlos Becker
97889a7f46
Added Block Operations tutorial and code examples
2010-06-28 18:42:59 +01:00
Carlos Becker
82e2e8b13a
Modified Array Class tutorial, added examples
2010-06-28 18:42:09 +01:00
Carlos Becker
bdef7eb656
Added doxygen info for .matrix() and .array()
2010-06-28 18:38:28 +01:00
Benoit Jacob
086ad93295
start a topic page on decompositions, with a big table.
...
still have to write the _tutorial_ on decompositions.
2010-06-28 10:43:11 -04:00
Gael Guennebaud
dbefd7aafb
* update redux section
...
* fix output precision to 3 for the snippets
2010-06-28 13:30:10 +02:00
Gael Guennebaud
768bdd08c8
fix bad tests
2010-06-28 01:01:29 +02:00
Gael Guennebaud
75da254fc3
* use transpose() instead of row vectors (more common use case)
...
* add a word about noalias and performance for BLAS users
2010-06-28 00:42:57 +02:00
Gael Guennebaud
aae5994b9e
mv comma initializer to page 1
2010-06-28 00:22:47 +02:00
Gael Guennebaud
de1220aa62
add a Transposition section in page 2
2010-06-28 00:05:11 +02:00
Gael Guennebaud
ca29620e25
fix filename
2010-06-27 23:45:37 +02:00
Gael Guennebaud
f98c758f61
fix link
2010-06-27 20:21:12 +02:00
Gael Guennebaud
b5659dc9cf
show a more fancy example for the getting started tut
2010-06-27 19:37:16 +02:00
Gael Guennebaud
189d4b51c2
fix unused warning when EIGEN_HAS_FUSE_CJMADD
2010-06-27 17:42:03 +02:00
Benoit Jacob
25f44266a2
fix #146
2010-06-27 08:44:21 -04:00
Gael Guennebaud
f096452dfd
Fix cache computation on old Intel CPUs which do not
...
support the cpuid function 0x4
2010-06-27 00:17:38 +02:00
Gael Guennebaud
5e7bd967cc
add the manual Intel's way to query cache info
2010-06-26 23:37:42 +02:00
Manoj Rajagopalan
464fc297cf
Included definitions for rowRange() and colRange() member functions of DenseBase
2010-06-26 17:37:17 -04:00
Martin Senst
4b474fdb34
Relax assertion to allow for matrices with cols() == 0 and/or rows() == 0.
2010-07-20 21:25:43 +02:00
Gael Guennebaud
95f2e7f3f5
introduce a new LvalueBit flag and split DenseCoeffBase into three level of accessors
2010-07-21 10:57:01 +02:00
Jitse Niesen
3abbdfd621
Add (set)LinSpaced to quick reference guide.
2010-07-20 21:55:22 +01:00
Jitse Niesen
abd5faf784
Require at least MPFR version 2.3.0, because we use mpfr_signbit.
...
Code in FindMPFR.cmake is taken from FindEigen2.cmake .
2010-07-19 12:26:52 +01:00
Gael Guennebaud
cac147ba10
add support for determinant on empty matrix
2010-07-19 10:45:06 +02:00
Gael Guennebaud
78d3c54631
add a small bench demoing the possibilities of a direct 3x3 eigen decomposition
2010-07-18 17:26:06 +02:00
Gael Guennebaud
ea27678153
fix compilation of ei_tridiagonalization_inplace_selector for 1x1 matrix
2010-07-18 17:10:11 +02:00
Gael Guennebaud
2a820d41df
finish/fix level1 blas, all test pass
2010-07-17 13:49:43 +02:00
Gael Guennebaud
dd27e10360
fix level3 blas: it now passes all computational tests
2010-07-17 11:59:09 +02:00
Gael Guennebaud
2d78023815
fix hemm to not use the imaginary part of the diagonal entries
2010-07-17 11:57:54 +02:00
Gael Guennebaud
cbd6fe323c
fix a couple a issue with blas (new TRMM api, and enforece column major)
2010-07-16 23:30:06 +02:00
Gael Guennebaud
f59226e901
fix compilation of blas lib
2010-07-16 22:27:24 +02:00
Gael Guennebaud
4c19024fbf
re-enable writing to reversed objects
2010-07-16 22:26:07 +02:00
Gael Guennebaud
fb041c260c
fix for empty matrices
2010-07-16 22:25:35 +02:00
Gael Guennebaud
883a8cbb2c
disable the optimized 3x3 path for complexes which was not working at all
2010-07-16 18:22:00 +02:00
Gael Guennebaud
6ab9e8632f
fix bad fuzzy comparison in 3x3 tridiagonalization
2010-07-16 16:38:58 +02:00
Gael Guennebaud
044424b0e2
fix sum()/prod() on empty matrix making sure this does not affect fixed sized object, extend related unit tests including partial reduction
2010-07-16 14:02:20 +02:00
Gael Guennebaud
6a370f50c7
MPRealSupport was missing
2010-07-15 20:45:45 +02:00
Gael Guennebaud
b08c26aefa
merge
2010-07-15 20:41:33 +02:00
Gael Guennebaud
84fdbded4d
add support for strictly triangular matrix in trmm though it is not really useful
2010-07-15 20:39:20 +02:00
Gael Guennebaud
87e89fea4e
add a support module for MPFR C++ with basic unit testing
2010-07-15 16:29:04 +02:00
Gael Guennebaud
bfbe61454e
merge
2010-07-15 09:54:31 +02:00
Gael Guennebaud
cf9edd9958
fix compilation for non trivial types
2010-07-14 23:31:38 +02:00
Gael Guennebaud
b6fac91998
merge
2010-07-14 22:51:53 +02:00
Gael Guennebaud
d4d4382b18
use dummy_precision by default instead of 0
2010-07-14 22:50:03 +02:00
Gael Guennebaud
90d6fc0e28
fix ei_aligned_delete for null pointers and non trivial dtors
2010-07-14 22:49:34 +02:00
Jitse Niesen
b0bd1cfa05
Tutorial page 4: add some text, diversify examples.
...
Use \verbinclude for output text to disable syntax highlighting.
Give tables consistent look.
2010-07-14 10:16:12 +01:00
Gael Guennebaud
e4f3759c4d
add a bench for quaternion multiplication
2010-07-13 13:29:35 +02:00
Jitse Niesen
c36316f284
Change EXPAND_AS_DEFINED doxygen configuration option.
...
Add macros so that MatrixBase::cwiseProduct() and ArrayBase::min() are
documented, and remove one macro which is no longer used.
2010-07-13 10:14:58 +01:00
Jitse Niesen
140ad0908d
Tutorial page 3: add more cwise operations, condense rest.
2010-07-12 22:45:57 +01:00
Christoph Hertzberg
6ba5d2c90c
Implemented SSE optimized double-precision Quaternion multiplication
2010-07-12 23:30:47 +02:00
Jitse Niesen
8e776c94c1
Tutorial page 1: Put code and output side-by-side.
2010-07-12 12:02:31 +01:00
Gael Guennebaud
19a70ae939
fix doc compilation on non 32bits systems
2010-07-11 11:01:17 +02:00
Gael Guennebaud
850c6d8a2b
fix unused warning
2010-07-11 10:58:58 +02:00
Gael Guennebaud
931027f31b
add a utilility to debug cpuid, and makes sure we get 0 if we query an unsupported cpuid function
2010-06-26 23:15:06 +02:00
Gael Guennebaud
d8b1ce664b
update the main page and add a TOC
2010-06-26 22:42:14 +02:00
Gael Guennebaud
f3c64c7cce
improve ref tables
2010-06-26 22:19:03 +02:00
Benoit Jacob
e078bb2637
big improvements to tutorial, especially page 2 (matrix arithmetic).
...
add placeholders for some 'special topic' pages.
2010-06-26 14:00:00 -04:00
Gael Guennebaud
1c783e252f
extend the quick ref table page
2010-06-26 18:49:50 +02:00
Gael Guennebaud
5c866f2d8c
started the quick reference tables
2010-06-26 16:59:18 +02:00
Benoit Jacob
85c2c468df
rename file
2010-06-25 20:19:17 -04:00
Carlos Becker
9d44005916
add initial versions of pages 2 and 3 of the tutorial: matrix arithmetic and the array class
2010-06-25 20:16:12 -04:00
Benoit Jacob
4338834e33
add tutorial page 1 - the Matrix class
...
+ 3 examples
2010-06-25 10:04:35 -04:00
Benoit Jacob
a90575514a
int main() is a standard main() prototype, and makes for cleaner examples
2010-06-25 10:04:10 -04:00
Benoit Jacob
67d79c6751
adapt to change: lu() now gives partial piv LU, here we want fullPivLu()
2010-06-25 10:02:39 -04:00
Gael Guennebaud
eb4095d41a
extend the eigen 2 to 3 guide
2010-06-25 15:32:01 +02:00
Gael Guennebaud
ec07c4109d
add default parameters for InnerStride/OuterStride to be
...
able to simply write OuterStride<> instead of OuterStride<Dynamic>
2010-06-25 14:48:16 +02:00
Gael Guennebaud
4056db01e7
use const Scalar& instead of Scalar for function arguments
2010-06-25 13:52:23 +02:00
Gael Guennebaud
686689e9cf
comment all disabled MSVC warnings
2010-06-25 13:31:07 +02:00
Gael Guennebaud
75b6d2b2f8
fix very annoying warning (gcc 4.3): type qualifiers ignored on function return type
2010-06-25 13:20:34 +02:00
Gael Guennebaud
01553c419e
fox blcok size computation for fixed size objects
2010-06-25 11:44:55 +02: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
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Gael Guennebaud
002f7114d1
add support for oski
2010-06-24 23:21:45 +02:00
Gael Guennebaud
88e7a572fd
makes sure to test small sizes
2010-06-24 23:06:21 +02:00
Gael Guennebaud
99e4afd43e
makes SparseView a true sparse expression and fix use of nesting types
2010-06-24 22:48:48 +02:00
Gael Guennebaud
f3b875e434
fix infinite loop
2010-06-24 22:18:09 +02:00
Gael Guennebaud
566867428c
- add a low level mechanism to provide preallocated memory to gemm
...
- ensure static allocation for the product of "large" fixed size matrix
2010-06-24 21:44:24 +02:00
Gael Guennebaud
e039edcb42
fix temporary creation rule
2010-06-24 19:21:25 +02:00
Gael Guennebaud
b22fc6cdc3
bug fix in gemv:
...
solution always use a temporary in dst.innerStride != 1
even though this is not needed when packet_size == 1....
2010-06-24 17:51:25 +02:00
Gael Guennebaud
7e836ccb4c
unit test fix for default to row major
2010-06-24 17:49:51 +02:00
Gael Guennebaud
6be06745df
block householder : minor optimization
2010-06-24 17:48:38 +02:00
Gael Guennebaud
905beb0953
fix symm
2010-06-24 16:42:43 +02:00
Gael Guennebaud
af38bccd3d
fix syrk
2010-06-24 16:26:27 +02:00
Gael Guennebaud
e499646c74
fix vectorization logic test
2010-06-24 15:38:14 +02:00
Gael Guennebaud
19f2f53e2c
fix compilation when default to row major
2010-06-24 15:13:41 +02:00
Gael Guennebaud
d44fce501b
fix computation of blocking sizes for small triangular matrices
2010-06-24 11:50:28 +02:00
Hauke Heibel
0068d3ccf6
Added version testing for MSVC.
2010-06-24 10:05:24 +02:00
Hauke Heibel
22a6cb2dc0
Fix compilation when the memory layout is RowMajor.
2010-06-24 09:56:59 +02:00
Hauke Heibel
83f1b747e7
Fixed MSVC cpuid.
2010-06-24 09:55:53 +02:00
Gael Guennebaud
0a42f8c876
fix compilation when EIGEN_CPUD is not defined
2010-06-24 09:45:17 +02:00
Gael Guennebaud
8beb60bf63
fix EIGEN_CPUID for i386 & PIC, still remains to fix the MSVC version
2010-06-24 09:29:43 +02:00
Gael Guennebaud
98fec45d3c
btl: add a trmm action and update eigen interface
2010-06-23 22:10:49 +02:00
Gael Guennebaud
546587c7d3
default to Intel's API by default
2010-06-23 17:14:06 +02:00
Gael Guennebaud
e1a6bad087
fix cache queries for non core2 CPU ;)
2010-06-23 16:34:51 +02:00
Gael Guennebaud
37dcdb1ed6
add missing typename
2010-06-22 23:43:12 +02:00
Gael Guennebaud
b284bb8bba
add a spmv mini becnhmark for Eigen, GMM++, ublas, mtl4, and oski
2010-06-22 21:39:55 +02:00
Gael Guennebaud
b4fe53f561
* makes all product use the new API to set the blocking sizes
...
* fix an issue preventing multithreading (now Dynamic = -1 ...)
2010-06-22 16:08:35 +02:00
Gael Guennebaud
fd9a9fa0ae
slightly optimize computeProductBlockingSizes by explicitely precomputing what is known at compile time
2010-06-22 11:10:38 +02:00
Hauke Heibel
3ae0eee0b8
merge
2010-06-22 09:31:26 +02:00
Hauke Heibel
d132b5b061
Correct the options computation for RowMajor matrices.
2010-06-22 09:30:08 +02:00
Gael Guennebaud
6ff28eb3cf
forgot to include this file in my previous commit
2010-06-22 08:59:02 +02:00
Gael Guennebaud
98686ab86c
fix in case we don't know how to query the L1/L2 cache sizes
2010-06-21 23:44:20 +02:00
Gael Guennebaud
0212eec23f
simplify and optimize block sizes computation for matrix products. They
...
are now automatically computed from the L1 and L2 cache sizes which are
themselves automatically determined at runtime.
2010-06-21 23:28:50 +02:00
Hauke Heibel
4bac6fbe1e
The intrin.h header needs to be included after cmath in order to prevent warnigns.
...
Fixed (hopefully) final Index realted warnings.
2010-06-21 18:39:24 +02:00
Hauke Heibel
80b6e5f278
Added include reuqired for __cpuid.
2010-06-21 16:43:31 +02:00
Gael Guennebaud
4cd38b333c
make bench_gemm print out the queried cache sizes
2010-06-21 12:07:05 +02:00
Gael Guennebaud
e54635da11
add functions to query the L1 and L2/L3 cache sizes
2010-06-21 11:59:37 +02:00
Hauke Heibel
7196777b74
Added missing typename.
2010-06-21 11:39:11 +02:00
Hauke Heibel
dc6ad5e25b
More Index related stuff.
2010-06-21 11:36:00 +02:00
Hauke Heibel
5f65a89f49
Compilation fix.
2010-06-21 08:58:23 +02:00
Hauke Heibel
a1af6e1151
This does hopefully really raise the warning/error limit.
2010-06-21 07:41:40 +02:00
Hauke Heibel
8239c3b85b
Fix compilation.
2010-06-21 07:37:59 +02:00
Hauke Heibel
bb46a45340
Finally fixed the matrix function/exponential warning.
...
Index fixes.
2010-06-20 23:13:24 +02:00
Hauke Heibel
69b50047d6
Raise the error/warning limit.
2010-06-20 22:38:36 +02:00
Gael Guennebaud
52165ba55a
compilation fix
2010-06-20 22:27:35 +02:00
Hauke Heibel
f34eaa2628
Next try - more Index fixes.
2010-06-20 21:44:25 +02:00
Hauke Heibel
546b802b77
Still fixing warnings.
2010-06-20 20:16:45 +02:00
Hauke Heibel
cb11f2f8a6
Fix compilation of some tests as well as more warnings.
2010-06-20 18:59:15 +02:00
Hauke Heibel
f1679c7185
Utilize Index in all unit tests.
2010-06-20 17:37:56 +02:00
Hauke Heibel
e402d34407
More Index realted warnings.
2010-06-20 15:52:34 +02:00
Hauke Heibel
7548708848
Silence index warnings in triangular unit test.
...
Silence index warnings in FFT module.
2010-06-20 14:00:14 +02:00
Hauke Heibel
9a6967d9ba
Attempt to fix MatrixExponential/Function related warnings.
2010-06-20 13:17:57 +02:00
Hauke Heibel
aeb12b417d
Silence indexing warning.
2010-06-20 13:17:37 +02:00
Gael Guennebaud
e3853353fb
fix array_comp *= array_real
2010-06-20 00:35:33 +02:00
Gael Guennebaud
7fd8418b19
finish to merge Array into Core:
...
- mv Array/* into Core/
- merge Functors.h files, and move Norms.h into Dot.h
2010-06-19 23:36:38 +02:00
Gael Guennebaud
575ac5409c
add missing support for std::pow(array,scalar)
2010-06-19 23:17:07 +02:00
Gael Guennebaud
eba418a458
remove reference to the dead Array module
2010-06-19 23:00:22 +02:00
Gael Guennebaud
17af8c763d
fix compilation of sparse tests
2010-06-19 15:24:39 +02:00
Hauke Heibel
b1103c5767
Fixed spare unit test.
2010-06-19 13:58:07 +02:00
Gael Guennebaud
6db6e358f5
add the possibility to set the cache size at runtime
2010-06-18 23:25:57 +02:00
Gael Guennebaud
f85a1cf5df
optimize SparseMatrix iterator
2010-06-18 16:47:41 +02:00
Benoit Jacob
f0a6d56f07
fix linking errors with multiply defined functions
2010-06-18 09:01:34 -04:00
Jitse Niesen
9d4b16c1d1
QuickStart examples: shorten var names, remove superfluous 'using'.
2010-06-18 10:43:22 +01:00
Gael Guennebaud
729960e465
add missing files
2010-06-18 11:36:30 +02:00
Gael Guennebaud
ece48a6450
split the Sparse module into multiple ones, and move non stable parts to unsupported/
...
(see the ML for details)
2010-06-18 11:28:30 +02:00
Gael Guennebaud
22d07ec2e3
Add blocking inside HouseholderQR based on code from Vincent Lejeune.
...
This is all internal stuff for now.
2010-06-17 18:30:47 +02:00
Gael Guennebaud
bc99c82d17
add an inplace householder QR dec function in preparation for a block version
2010-06-17 17:27:52 +02:00
Gael Guennebaud
3acd007f9d
more compilation fixes for ICC
2010-06-17 17:25:18 +02:00
Gael Guennebaud
9637574e2b
compilation fix for ICC
2010-06-17 16:56:42 +02:00
Gael Guennebaud
ab6a044d0d
eigenvalues: documentation fixes
2010-06-17 14:34:10 +02:00
Jitse Niesen
9196b6b659
Add second example to QuickStart guide.
...
Also, some changes suggested by Keir and Benoit on mailing list.
2010-06-17 12:12:40 +01:00
Gael Guennebaud
7fdf218951
makes trmv works with the triangular matrix on the right
2010-06-17 10:17:22 +02:00
Gael Guennebaud
6bff339cc5
add unit tests for other generalized variants
2010-06-17 10:16:15 +02:00
Gael Guennebaud
43086d12d2
implement other variants
2010-06-17 10:11:38 +02:00
Gael Guennebaud
db160f2e0b
warn users other variants are not implemented yet... (will do it very soon)
2010-06-16 23:55:08 +02:00
Gael Guennebaud
74006a9fe9
* decouple the generalized selfadjoint eigenvalue problem to the standard one
...
* uses named values instead of bools
2010-06-16 23:48:16 +02:00
Gael Guennebaud
197ce96c00
typo
2010-06-16 17:23:39 +02:00
Benoit Jacob
42c62c8876
fix #126 , part 2/2: the checkTransposeAliasing() assertion was always compiled, for all expressions,
...
even for expressions that are known at compile time to not need it because they don't involve any transposing.
This gave 'controlling condition is constant' warnings on ICC, and potentially worse, this could generate a lot
of useless code per-expression if the compiler failed to realize that the condition was constant.
2010-06-16 09:23:32 -04:00
Benoit Jacob
2d1ae6fa08
fix #126 , part 1/2: fix the return type of coeff() on direcaccess xprs: was amounting to
...
const (const Scalar&)
which really doesn't make sense.
2010-06-16 09:21:14 -04:00
Benoit Jacob
d0d62e4437
fix #139 , exactly the same issue as #138 , this time in Assign.h: const Index is not a compile-time constant, must use enum.
2010-06-16 07:37:52 -04:00
Benoit Jacob
404aa963d9
fix #138 : const bool is (rightly) not considered a compile-time constant by ICC, use enum.
2010-06-16 07:32:44 -04:00
Jitse Niesen
8438719111
Compilation fix for matrix_exponential test: add 'typename'.
2010-06-16 11:07:40 +01:00
Gael Guennebaud
9726824f7c
improve trmm unit test and fix several bugs in trmm
2010-06-15 23:38:21 +02:00
Gael Guennebaud
2e792d1f42
* make the triangular matrix * matrix product works with trapezoidal matrices
...
* extend the trmm unit test for unit diagonal
2010-06-15 22:00:34 +02:00
Benoit Jacob
134ca4acb3
packet math functions:
...
- take const Packet& args like the other packet funcs
- SSE specializations: make them be actual template specializations
2010-06-15 08:29:21 -04:00
Hauke Heibel
7958797648
Ups, fixed a little ugly bug.
2010-06-15 12:37:54 +02:00
Hauke Heibel
99d952466f
This scalar needs to be passed by ref to preserve its alignment.
2010-06-15 10:26:12 +02:00
Hauke Heibel
e5aa6a466b
Fixed 64bit/Index related warnings in the matrix functions module.
2010-06-15 09:57:41 +02:00
Hauke Heibel
0afb1e80c7
Really fix #123 .
2010-06-14 23:02:49 +02:00
Gael Guennebaud
3cabd0c417
fix issue 135 (SparseBlock::operator= for SparseMatrix)
2010-06-14 16:26:33 +02:00
Benoit Jacob
2d65f5d3cd
remove extra semicolon;
2010-06-14 09:06:27 -04:00
Benoit Jacob
d788627b54
rename:
...
EIGEN_SIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_DYNAMIC
EIGEN_MAXSIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_FIXED
and make sure to use the latter in products xprs to determine the inner size.
2010-06-14 09:05:08 -04:00
Hauke Heibel
a54772250f
Fixes bug #123 .
2010-06-14 14:33:10 +02:00
Daniel Lowengrub
8673f68fd8
merged
2010-06-14 14:17:19 +03:00
Jitse Niesen
c2f6cbab8d
Fix compilation of docs after changes in Eigenvalues module.
...
Clean-up after revision 469382407c
.
2010-06-14 10:16:01 +01:00
Daniel Lowengrub
af5117dbd5
fixed a bug in the DenseBase InnerIterator ctor.
2010-06-14 02:18:36 +03:00
Daniel Lowengrub
dcd39a96e1
added the SparseView class.
2010-06-14 02:16:46 +03:00
Jitse Niesen
9e00697ccc
First draft for the 5-minute quick start guide to kick off discussions.
2010-06-13 22:39:27 +01:00
Gael Guennebaud
9ffc0f6975
an attempt to fix 133
2010-06-13 23:29:44 +02:00
Gael Guennebaud
f159613210
compilation fix
2010-06-13 22:53:53 +02:00
Hauke Heibel
eb95c57a9f
Fixed another enum related warning.
2010-06-12 19:42:16 +02:00
Hauke Heibel
058f7d3486
Fixed another enum related warning.
2010-06-12 15:21:11 +02:00
Hauke Heibel
91c7af28a8
Remove printouts.
2010-06-12 15:16:39 +02:00
Hauke Heibel
340ac9ea9d
Fixed warnings regarding enums.
2010-06-12 13:24:02 +02:00
Gael Guennebaud
03331552a9
add a info() function in LLT to report on succes/faillure
2010-06-12 10:12:22 +02:00
Gael Guennebaud
a25749ade9
add missing overload of operator= in SparseVector
2010-06-12 01:01:12 +02:00
Benoit Jacob
f5b1b6b351
undo 314bfa1375
...
, the right fix was made as part of the Dynamic -> -1 change, the bug was that in Map, the InnerStrideAtCompileTime could be 0, which doesn't make sense. The 0 value in Stride should not have been forwarded as-is.
2010-06-11 08:38:30 -04:00
Benoit Jacob
d72d538747
merge my Dynamic -> -1 change
2010-06-11 08:04:06 -04:00
Benoit Jacob
bdd7c6c88a
change the value of Dynamic to -1, since the index type is now configurable.
...
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
2010-06-11 07:56:50 -04:00
Benoit Jacob
52e8c42a00
unsplit this test: was compiling 16 times the same thing! Need to find another way. Suggestion: should compile the stuff once into a binary library, or properly split into different tests with different code.
2010-06-11 07:15:34 -04:00
Hauke Heibel
00267e3a47
Added some verbosity on failures in order to get an idea of what is goind wrong on GCC 4.3.
2010-06-11 12:13:29 +02:00
Hauke Heibel
f48af91c7e
For 1x1 matrices we really need to check the abs diff of the determinants.
2010-06-11 08:08:12 +02:00
Hauke Heibel
cedea2aba4
Fixed warnings regarding missing assignment operator.
2010-06-11 07:59:59 +02:00
Gael Guennebaud
988aaed964
merge
2010-06-10 23:30:43 +02:00
Gael Guennebaud
5b192930b6
add runtime API to control multithreading
2010-06-10 23:30:15 +02:00
Jitse Niesen
4d597e4654
Merge.
2010-06-10 21:28:10 +01:00
Jitse Niesen
fcab4c951d
Add line to prevent compiler warning on unused variables.
2010-06-10 21:26:23 +01:00
Gael Guennebaud
842b54fe80
make the cache size mechanism future proof by adding level 2 parameters
2010-06-10 22:11:31 +02:00
Jitse Niesen
54235879a9
Make test slightly fuzzy to account for effect of extended precision.
2010-06-10 19:18:19 +01:00
Gael Guennebaud
986f65c402
merge
2010-06-10 16:44:24 +02:00
Gael Guennebaud
469382407c
* Make HouseholderSequence::evalTo works in place
...
* Clean a bit the Triadiagonalization making sure it the inplace
function really works inplace ;), and that only the lower
triangular part of the matrix is referenced.
* Remove the Tridiagonalization member object of SelfAdjointEigenSolver
exploiting the in place capability of HouseholdeSequence.
* Update unit test to check SelfAdjointEigenSolver only consider
the lower triangular part.
2010-06-10 16:39:46 +02:00
Gael Guennebaud
d2d7465bcf
merge
2010-06-10 11:00:47 +02:00
Gael Guennebaud
d2779a1a8e
fix warning with gcc 4.3
2010-06-10 10:59:06 +02:00
Gael Guennebaud
dad19c4173
compilation fix for gcc 4.2
2010-06-10 10:55:49 +02:00
Hauke Heibel
941ca80b80
Adapted the determinant test for rank 1 matrices with zero determinant.
2010-06-10 10:06:14 +02:00
Gael Guennebaud
f8683c409f
generalized eigendecomposition doc
2010-06-10 09:44:52 +02:00
Gael Guennebaud
41e5625f96
clean general symm eigensolver
2010-06-10 09:34:49 +02:00
Hauke Heibel
3f388282ae
Fixes geo_transformations_3 unit test.
2010-06-10 00:23:11 +02:00
Gael Guennebaud
8855c4e264
fix unit test when GSL is enabled
2010-06-10 00:19:45 +02:00
Gael Guennebaud
8692ccc5fb
Fix generalized symm eigensolver (I don't know why the eigenvectors were normalized)
2010-06-10 00:04:33 +02:00
Hauke Heibel
bcf738811e
Added missing return statement.
2010-06-10 00:02:10 +02:00
Hauke Heibel
56e585efcc
Fixed language issue.
2010-06-09 17:20:31 +02:00
Hauke Heibel
2b7b549e9e
Fix #131 .
2010-06-09 17:16:05 +02:00
Gael Guennebaud
e242ac9345
fix LDLT, now it really only uses a given triangular part!
2010-06-09 14:01:06 +02:00
Gael Guennebaud
201bd253ad
fix ldlt unit test
2010-06-09 13:18:10 +02:00
Hauke Heibel
8cc02169fd
Fix devision by zero warning.
2010-06-09 09:48:06 +02:00
Hauke Heibel
45d3b405eb
Fixed many MSVC warnings.
2010-06-09 09:30:22 +02:00
Gael Guennebaud
50e43bc75a
* add Transpositions to PermutationMatrix conversion
...
* make PartialPivLu uses the Transpositions class
2010-06-08 22:23:11 +02:00
Trevor Irons
684656d41c
added inline to setL1Cache functions to avoid shared object compile error
2010-06-08 10:56:50 -06:00
Hauke Heibel
fb3fcd0919
Disabled warning caused by declspec(align()).
2010-06-08 20:21:55 +02:00
Hauke Heibel
8b0da2de64
Fix stable_norm compilation.
2010-06-08 20:09:39 +02:00
Hauke Heibel
1c9b7a8d9f
Fighting for a green dashboard! Next warning's gone.
2010-06-08 16:02:22 +02:00
Hauke Heibel
4c5778d29d
Made the supression of unused variables portable.
...
EIGEN_UNUSED is not supported on non GCC systems.
2010-06-08 15:52:00 +02:00
Hauke Heibel
2a64fa4947
Eigen types must always be passed by reference in order to retain memory alignment.
2010-06-08 13:49:40 +02:00
Gael Guennebaud
4b5d359c3a
improve/fix stable_norm unit test
2010-06-08 13:29:27 +02:00
Hauke Heibel
626afe8b62
Fixed integer type warnings.
2010-06-08 10:06:14 +02:00
Hauke Heibel
bda40da002
Fixed GCC compilation.
2010-06-08 09:37:13 +02:00
Hauke Heibel
f6d26bf6dc
Fixed more warnings.
2010-06-08 00:41:33 +02:00
Hauke Heibel
04274f6793
Fixed eigensolver warning.
2010-06-08 00:05:20 +02:00
Gael Guennebaud
f3a568c81d
remove ei_ prefix of public global functions, and s/cpu/l1
2010-06-07 19:05:30 +02:00
Gael Guennebaud
727376b5f4
compilation fix (std::sqrt(int) does not exist)
2010-06-07 18:55:39 +02:00
Gael Guennebaud
88cd6885be
Add a proof concept API to configure the blocking parameters at runtime.
...
After validation of the final API I'll update the other products to use it.
2010-06-07 16:35:25 +02:00
Gael Guennebaud
7726cc8a29
clean old stuff used to support precompilation inside a binary lib
2010-06-07 14:47:20 +02:00
Gael Guennebaud
bfeba41174
Add a Transpositions class to ease the representation and
...
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
2010-06-04 23:17:57 +02:00
Jitse Niesen
1ff1bd69ac
Schur decomposition of 1-by-1 always converges.
2010-06-04 09:40:35 +01:00
Jitse Niesen
9178e2bd54
Add info() method which can be queried to check whether iteration converged.
2010-06-03 22:59:57 +01:00
Jitse Niesen
ed73a195e0
Refactor compute() by splitting off two smaller private methods.
2010-06-03 22:29:11 +01:00
Gael Guennebaud
e64460d5d0
LDLT: make it honors the Lower/Upper directive and make it works inplace
2010-06-03 22:22:14 +02:00
Gael Guennebaud
4159db979d
make LDLT uses only the lower triangular part
2010-06-03 21:33:47 +02:00
Gael Guennebaud
d92de9574a
fix sparse LDLT with complexes
2010-06-03 11:56:08 +02:00
Gael Guennebaud
8350ab9fb8
* remove ei_index, and let ei_traits propagate the index types
...
* add an Index type template parapeter to sparse objects
2010-06-03 08:41:11 +02:00
Hauke Heibel
e40852d282
Fixes #104 .
2010-06-02 19:17:41 +02:00
Jitse Niesen
38d8352b7b
Add field m_maxIterations; break loop when this limit is exceeded.
2010-06-02 17:31:02 +01:00
Gael Guennebaud
9ff0d67156
fix typos (oops)
2010-06-02 17:56:35 +02:00
Gael Guennebaud
8710bd23e7
clean the ambiguity with insertBack and add a insertBackByOuterInner function
2010-06-02 13:32:13 +02:00
Gael Guennebaud
143e6ab9d0
improve aliasing detection for inverse and add unit test
2010-06-02 10:12:13 +02:00
Gael Guennebaud
4ebb80490a
implicit conversion to scalar for inner product
2010-06-02 09:45:57 +02:00
Gael Guennebaud
314bfa1375
fix issue #128 : inner stride can also be 0 in which case it means 1...
2010-06-01 22:51:47 +02:00
Jitse Niesen
ab2b33e802
Add cast to aliasing check.
...
Otherwise, one of the geo tests fails to compile. Now there are some compiler
warnings about aliasing and type-punned pointers that I don't understand.
2010-06-01 17:45:58 +01:00
Jitse Niesen
e3e2380548
Make all compute() methods return a reference to *this.
2010-06-01 17:40:51 +01:00
Trevor Irons
4c6d182c42
Addressess small compile error with OpenMP
2010-06-01 07:09:40 -06:00
Benoit Jacob
e54faba198
merge the backing-out of the stupid RetByVal change, and implement a simple
...
aliasing check in inverse, that catches simple cases like x = x.inverse()
2010-06-01 09:17:50 -04:00
Benoit Jacob
3e95609cd4
Backed out changeset 641d968a9a
2010-06-01 09:01:39 -04:00
Benoit Jacob
6ce22a61b3
oops, remove extra 'typename'
2010-05-30 16:41:16 -04:00
Benoit Jacob
aaaade4b3d
the Index types change.
...
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Benoit Jacob
faa3ff3be6
tests:
...
* change test_is_equal so it just checks for equality, doesn't try anymore to allow to ignoring the difference between col and row vectors.
(needed for the upcoming Index types change)
* in ei_assert, don't report on cerr if we're inside of VERIFY_RAISES_ASSERT
2010-05-30 16:00:09 -04:00
Benoit Jacob
42f1b7d470
finish the change of adding .sh extensions to scripts
2010-05-30 15:58:11 -04:00
Benoit Jacob
641d968a9a
* Make ReturnByValue have the EvalBeforeAssigningBit and explicitly
...
enforce this mechanism (otherwise ReturnByValue bypasses it).
(use .noalias() to get the old behavior.)
* Remove a hack in Inverse, futile optimization for 2x2 expressions.
2010-05-30 13:43:08 -04:00
Anton Gladky
09a1b7f7e1
Fixes the problem, described here:
...
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/05/msg00154.html
2010-05-28 10:18:37 +02:00
Gael Guennebaud
39c568445c
simplify a using statement
2010-06-01 13:59:21 +02:00
Gael Guennebaud
0116261407
make BenchTimer compatible with 2.0 branch
2010-06-01 13:57:38 +02:00
Gael Guennebaud
e2097c55f8
fix issue #125 - *norm() return RealScalar and not Scalar
2010-05-31 22:46:18 +02:00
Jitse Niesen
8dc947821b
Allow user to compute only the eigenvalues and not the eigenvectors.
2010-05-31 18:17:47 +01:00
Jitse Niesen
609941380a
Change skipU argument to computeU - this reverses the meaning.
...
See "skipXxx / computeXxx parameters in Eigenvalues module" on mailing list.
2010-05-31 16:48:41 +01:00
Jitse Niesen
c21390a611
Define non-const operator() in Reverse; enable test for this.
...
Introduction of DenseCoeffBase (revision bfdc1c4973
) meant that non-const
operator() is only defined if DirectAccess is set. This caused the line
"m.reverse()(1,0) = 4;" in MatrixBase_reverse.cpp to fail at compile-time.
Not sure this is correct solution; perhaps we should disallow this? Or make
Reverse DirectAccess with a negative stride - would that break something?
2010-05-31 14:42:04 +01:00
Jitse Niesen
07a65dd02b
Fix stupid compilation error in test.
2010-05-31 11:48:47 +01:00
Jitse Niesen
db8631b66a
Guard with assert against using decomposition objects uninitialized.
2010-05-30 21:49:35 +01:00
Jens Mueller
48b8ace517
Fix SparseMatrix/SparseVector::sum()
...
SparseMatrix/SparseVector::sum() uses Map to compute the sum. But Map expects a
pointer.
2010-05-27 17:02:24 +02:00
Manoj Rajagopalan
a240f83216
Fix to ProductBase::evalTo() in order to get matrix multiplication working for numeric
...
types that don't have implicit conversion from int
2010-05-26 13:00:55 -04:00
Thomas Capricelli
4a2d6ece2e
fix readcost for complex types
2010-05-26 02:33:28 +02:00
Jitse Niesen
e7dc772554
Respect MaxRowsAtCompileTime in HouseholderSequence::evalTo().
...
This fixes the failing test nomalloc_4.
Also remove a print inserted for debugging in schur_real test.
2010-05-25 12:40:42 +01:00
Jitse Niesen
e7d809d434
Update eigenvalues() and operatorNorm() methods in MatrixBase.
...
* use SelfAdjointView instead of Eigen2's SelfAdjoint flag.
* add tests and documentation.
* allow eigenvalues() for non-selfadjoint matrices.
* they no longer depend only on SelfAdjointEigenSolver, so move them to
a separate file
2010-05-24 17:43:50 +01:00
Jitse Niesen
8a3f552e39
Return matrices by constant reference where possible.
...
This changes the return type of:
* eigenvectors() and eigenvalues() in ComplexEigenSolver
* eigenvalues() in EigenSolver
* eigenvectors() and eigenvalues() in SelfAdjointEigenSolver
2010-05-24 17:43:27 +01:00
Jitse Niesen
7a43a4408b
Replace local variables by member variables in compute() methods.
...
This is to avoid dynamic memory allocations in the compute() methods of
ComplexEigenSolver, EigenSolver, and SelfAdjointEigenSolver where possible.
As a result, Tridiagonalization::decomposeInPlace() is no longer used.
Biggest remaining issue is the allocation in HouseholderSequence::evalTo().
2010-05-24 17:43:06 +01:00
Jitse Niesen
68820fd4e8
Use ReturnByValue mechanism for HessenbergDecomposition::matrixH().
2010-05-24 17:36:13 +01:00
Jitse Niesen
eb3ca68684
Change return type of matrixH() method to HouseholderSequence.
...
This method is a member of Tridiagonalization and HessenbergDecomposition.
2010-05-24 17:35:54 +01:00
Thomas Capricelli
76dd0e5314
fix some warnings
2010-05-22 19:17:04 +02:00
Thomas Capricelli
79e9e3f24c
erm.. use EIGEN_ONLY_USED_FOR_DEBUG() as it already exists.
2010-05-21 18:13:59 +02:00
Thomas Capricelli
618640bf2b
fix another warning
2010-05-21 02:14:46 +02:00
Thomas Capricelli
00a3d07795
display actual/expected warning if ei_isApprox() fails
2010-05-21 02:13:50 +02:00
Thomas Capricelli
aadea5ae56
fix a warning
2010-05-21 02:13:16 +02:00
Thomas Capricelli
c1d005e976
introduce a new macro EIGEN_ARG_UNUSED(arg) and use it in some places to
...
silent some warnings (from clang)
2010-05-21 02:05:25 +02:00
Thomas Capricelli
742bbdfa57
clang/llvm is now good enough. I can compile a project using those (one of
...
the binary segfaults though, and i think it's related..)
2010-05-21 02:03:43 +02:00
Thomas Capricelli
4daba0750e
fix some warnings with clang
2010-05-21 01:46:17 +02:00
Thomas Capricelli
2ab446695b
fix some compilation issues with clang (and hopefully bring eigen more
...
close to std ?)
2010-05-21 01:39:33 +02:00
Thomas Capricelli
17d080edf2
clang shocks on this.
...
According to people on #llvm, this is indeed not allowed by c++ standard:
[01:33] <coppro> what good would mutable do on a reference?
[01:33] <dgregor> orzel: gcc is wrong to allow "mutable" on references
[01:33] <coppro> just remove mutable; it won't damage the code at all
[01:34] <dgregor> "The mutable specifier can be applied only to names of
class data members (9.2) and cannot be applied to
[01:34] <dgregor> names declared const or static, and cannot be applied to
reference members."
[01:34] <coppro> constness is not passed from an object to the referents of
its members anyways
2010-05-21 01:37:48 +02:00
Thomas Capricelli
b9bcd93ddc
fix a compilation pb with clang (it's actually surprising gcc did not complain)
2010-05-20 03:53:09 +02:00
Hauke Heibel
cec297f77b
Disabled to __forceinline warning - it creates too many spurious errors and we disabled it only for the unit test (see also the code comment).
2010-05-19 19:35:42 +02:00
Hauke Heibel
39edf8e2bf
I was not really aware of the implications on fixed size types when the strong inlining is not present. We really need it on MSVC!
2010-05-19 18:57:38 +02:00
Gael Guennebaud
05910b7996
merge
2010-05-19 16:51:07 +02:00
Gael Guennebaud
188171b991
merge
2010-05-19 16:49:56 +02:00
Gael Guennebaud
64cbd45266
minor chnages in Taucs and Cholmod backends
2010-05-19 16:49:05 +02:00
Hauke Heibel
6c18246a80
DenseBase is implemented as a class, not a struct.
2010-05-19 16:44:28 +02:00
Gael Guennebaud
2b6153d3ed
simplify inner product
2010-05-19 16:37:17 +02:00
Gael Guennebaud
bf09fe55ed
fix selfadjoint to dense
2010-05-19 16:35:34 +02:00
Hauke Heibel
f0283c13e8
Applied tiny Qt related fixes.
2010-05-19 16:32:47 +02:00
Benoit Jacob
08fbfa93e0
make the cmake options EIGEN_DEFAULT_TO_ROW_MAJOR and disabling EIGEN_SPLIT_LARGE_TESTS work also for unsupported tests
2010-05-18 08:59:39 -04:00
Benoit Jacob
1c04484a01
bug fix, since the last storage order changes, this InnerSize calculation was wrong
2010-05-18 08:24:06 -04:00
Benoit Jacob
5250c4395c
compilation fix: const T ---> typename ei_makeconst<T>::type
...
(error was appearing when building tests with alignmnet disabled)
What is this stuff still doing in MatrixBase.h? Shouldn't it move to DenseBase.h? How are Array blocks compiling?
2010-05-18 08:19:23 -04:00
Gael Guennebaud
cf6d3162cc
cache outer size in Block => x1.5 speed up for a.block() = b.block()
2010-05-17 16:54:17 +02:00
Gael Guennebaud
0f3bcf853f
fix mixing types in inner product
2010-05-14 08:55:56 +02:00
Gael Guennebaud
6d08301dcc
add regression test for previous fix
2010-05-13 23:34:04 +02:00
Gael Guennebaud
42a1c983c1
fix bug in sliced redux
2010-05-13 23:22:18 +02:00
Gael Guennebaud
c55761e015
make inner product return a 1x1 matrix
2010-05-12 18:11:05 +02:00
Benoit Jacob
82d898083f
fix compilation error thanks to test case by Trevor Irons, and expand unit test
2010-05-09 13:20:46 -04:00
Benoit Jacob
6624b93d67
add important comment and move stride helpers to DenseCoeffsBase.h
2010-05-09 09:41:54 -04:00
Cyrille Berger
8f076f6817
fix installation of global headers in case the src path contains 'src'
2010-05-08 17:55:55 -04:00
Benoit Jacob
0928c40f68
rename Coeffs.h -> DenseCoeffsBase.h
2010-05-08 16:02:13 -04:00
Benoit Jacob
7cbb84b046
move the strides API to DenseCoeffsBase,
...
and various fixes to make stuff compile after my big changes
2010-05-08 16:00:05 -04:00
Benoit Jacob
0e2a480466
use CoeffReturnType
2010-05-08 15:58:27 -04:00
Benoit Jacob
eda2795f51
use modern ei_first_aligned function, dont try compiling coeffRef() on rvalue expressions.
2010-05-08 15:57:56 -04:00
Benoit Jacob
5deda97413
remove bogus test that was failing
2010-05-08 15:56:52 -04:00
Benoit Jacob
65bd1652b1
let Diagonal have the DirectAccessBit, using an inner stride
2010-05-08 14:19:04 -04:00
Benoit Jacob
bfdc1c4973
introduce DenseCoeffsBase: this is where the coeff / coeffRef / etc... methods go.
...
Rationale: coeffRef() methods should only exist when we have DirectAccess. So a natural thing to do would have been to use enable_if, but since there are many methods it made more sense to do the "enable_if" for the whole group by introducing a new class. And that also that the benefit of not changing method prototypes.
2010-05-08 13:45:31 -04:00
Benoit Jacob
d03779f75f
fix CwiseUnaryView: it shouldn't have the AlignedBit, but it should have the DirectAccessBit and corresponding strides API.
2010-05-08 13:42:41 -04:00
Jitse Niesen
2d74f1ac92
Document SelfAdjointEigenSolver and add examples.
2010-05-04 17:11:32 +01:00
Hauke Heibel
6ea6276f20
Quiet MSVC.
2010-05-04 14:06:41 +02:00
Jitse Niesen
38021b08c1
Merge.
2010-05-02 21:51:27 +01:00
Jitse Niesen
afed0ef90d
Document Tridiagonalization class, remove unused types.
2010-05-01 17:52:16 +01:00
Benoit Jacob
8f249e8b54
fix compilation: const (T&) != const T& , use ei_makeconst
2010-04-30 14:28:35 -04:00
Benoit Jacob
cf4f90ccea
fix #116 and remove debug cout's
2010-04-30 11:58:17 -04:00
Benoit Jacob
38facbd55b
kill the LeastSquares module.
...
I didn't even put it in Eigen2Support because it requires several other modules. But if you want we can always create a new module, Eigen2Support_LeastSquares...
2010-04-29 10:40:52 -04:00
Benoit Jacob
664f2d4508
dont try passing --version to qcc
2010-04-29 08:04:42 -04:00
Benoit Jacob
d3f97f7582
forgot hg add
2010-04-29 07:30:00 -04:00
Benoit Jacob
5d63d2cc4b
* kill the retval typedefs, instead introduce ei_xxx_retval which does the job automatically in 99% cases and can be specialized
...
* add real/imag/abs2 global functions for Array
* document ei_global_math_functions_filtering_base
* improve unit tests
2010-04-28 22:42:34 -04:00
Benoit Jacob
e277586958
Complete rework of global math functions and NumTraits.
...
* Now completely generic so all standard integer types (like char...) are supported.
** add unit test for that (integer_types).
* NumTraits does no longer inherit numeric_limits
* All math functions are now templated
* Better guard (static asserts) against using certain math functions on integer types.
2010-04-28 18:51:38 -04:00
Jitse Niesen
d9c1224133
Simplify computation of eigenvectors in EigenSolver.
...
* reduce scope of declarations
* use that low = 0 and high = size-1
* rename some variables
* rename hqr2_step2() to computeEigenvectors()
* exploit that ei_isMuchSmallerThan takes absolute value of arguments
2010-04-26 17:43:16 +01:00
Jitse Niesen
024995dbca
Use topRows() and rightCols() in ComplexSchur and RealSchur.
2010-04-26 16:59:18 +01:00
Jitse Niesen
4f83d6ad19
Remove doc/snippets/MatrixBase_minor.cpp because minor() was removed.
2010-04-26 16:35:38 +01:00
Carlos Becker
34b3cdb82c
Added EIGEN_DONT_PARALLELIZE preprocessor directive
2010-04-26 17:08:54 +02:00
Hauke Heibel
bf71b466e9
Removed ambiguity between Map and Matrix Options template parameter.
2010-04-26 16:59:04 +02:00
Hauke Heibel
17dbe6c743
Added file extensions to our unit test scripts to prevent MSVC from failing to build because of name clashes.
2010-04-26 13:31:58 +02:00
Hauke Heibel
18c70b12d7
Fixed a warning.
2010-04-26 13:31:16 +02:00
Carlos Becker
c4dda79904
Fixed stablenorm test, condition was not met when running tests
2010-04-26 00:20:20 +02:00
Benoit Jacob
ce09b4ddfc
compile
2010-04-25 17:10:28 -04:00
Konstantinos Margaritis
9337f371d2
(proper commit this time)
...
replaced _mm_prefetch in GeneralBlockPanelKernel.h, with ei_prefetch() inline function.
Implemented NEON and AltiVec versions, copied SSE version over from GeneralBlockPanelKernel.h.
Also in GCC case (or rather !_MSC_VER) it's implemented using __builtin_prefetch().
NEON managed to give a small but welcome boost, 0.88GFLOPS -> 0.91GFLOPS.
2010-04-24 00:58:44 +03:00
Konstantinos Margaritis
5acf46bd12
Backed out changeset 6972c140f7
2010-04-24 00:57:10 +03:00
oem
6972c140f7
replaced _mm_prefetch in GeneralBlockPanelKernel.h, with ei_prefetch() inline function.
...
Implemented NEON and AltiVec versions, copied SSE version over from GeneralBlockPanelKernel.h.
Also in GCC case (or rather !_MSC_VER) it's implemented using __builtin_prefetch().
NEON managed to give a small but welcome boost, 0.88GFLOPS -> 0.91GFLOPS.
2010-04-24 00:44:14 +03:00
Benoit Jacob
e3e34b5920
remove MakeBase, use ei_dense_xpr_base instead
...
(yes, it was only used in dense xprs anyway)
2010-04-23 12:16:30 -04:00
Benoit Jacob
a16ba80bfa
* remove ei_block_direct_access_status
...
* remove HasDirectAccess / NoDirectAccess constants
2010-04-23 11:36:22 -04:00
Benoit Jacob
58e7297859
* remove class DenseDirectAccessBase
...
* remove member XprBase typedefs, use ei_dense_xpr_base
* remove member _HasDirectAccess typedefs, use ei_has_direct_access
2010-04-23 10:27:15 -04:00
Benoit Jacob
1dd27ce280
merge
2010-04-23 09:06:28 -04:00
Benoit Jacob
f22ade8ee4
restrict operator[] to vectors, not matrices.
2010-04-23 09:05:46 -04:00
Benoit Jacob
c29b431ad9
remove eigen_gen_credits script
2010-04-22 20:59:19 -04:00
Benoit Jacob
4502afeedf
remove disabled/ directory. It's useless. It remains in the hg history anyways.
2010-04-22 20:56:33 -04:00
Benoit Jacob
a4f9ca44ab
add minor to Eigen2Support
2010-04-22 20:49:01 -04:00
Benoit Jacob
2362eadcdd
remove Minor
...
adapt 3x3 and 4x4 (non-SSE) inverse paths
2010-04-22 20:40:31 -04:00
Benoit Jacob
abbe260905
remove USING_PART_OF_NAMESPACE_EIGEN, leaving it in Eigen2Support.
...
improve porting-Eigen2-to-3 docs
2010-04-22 18:27:13 -04:00
Benoit Jacob
ef789fe0d2
forgot to hg add...
2010-04-22 14:32:28 -04:00
Benoit Jacob
bc22f4da9d
* fix Eigen2Support, was not including VectorBlock.h
...
* move the corners support stuff to a new Block.h there
* expand the unit test
2010-04-22 14:31:39 -04:00
Benoit Jacob
00c716d20e
merge
2010-04-22 14:11:44 -04:00
Benoit Jacob
9962c59b56
* implement the corner() API change: new methods topLeftCorner() etc
...
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
2010-04-22 14:11:18 -04:00
Hauke Heibel
27a4a748cb
MSVC runs into problems when a forward declaration is using a different template type name than the actual declaration.
...
This fixes the recent issues we observed on MSVC systems.
2010-04-22 13:56:06 +02:00
Adolfo Rodriguez Tsouroukdissian
28dde19e40
- Added problem size constructor to decompositions that did not have one. It preallocates member data structures.
...
- Updated unit tests to check above constructor.
- In the compute() method of decompositions: Made temporary matrices/vectors class members to avoid heap allocations during compute() (when dynamic matrices are used, of course).
These changes can speed up decomposition computation time when a solver instance is used to solve multiple same-sized problems. An added benefit is that the compute() method can now be invoked in contexts were heap allocations are forbidden, such as in real-time control loops.
CAVEAT: Not all of the decompositions in the Eigenvalues module have a heap-allocation-free compute() method. A future patch may address this issue, but some required API changes need to be incorporated first.
2010-04-21 17:15:57 +02:00
Benoit Jacob
faf8f7732d
merge
2010-04-21 12:31:04 -04:00
Benoit Jacob
e33953b888
fix compilation in Sparse (error introduced yesterday)
2010-04-21 12:28:51 -04:00
Hauke Heibel
2db5387488
Fixed two bad errors on std::vector.
...
First, MSVC 2010 does not ship a 'fixed'/'adapted' STL.
Second, only under very rare cases we do not even need the aligned_allocator.
2010-04-21 18:21:46 +02:00
Daniel Lowengrub
028bb7ea48
Changed the gdb display format of vectors and added support for quaternions.
2010-04-21 00:10:03 +03:00
Benoit Jacob
4ba032c9ab
fix grave bug introduced by me: the low-level matrix-vector product functions can't be fed strided vectors, only strided matrices.
2010-04-20 15:59:17 -04:00
Benoit Jacob
941a7e4ebd
oos, remove eval() used for debugging
2010-04-19 13:31:29 -04:00
Benoit Jacob
84d1b2ae3a
add platform check for how to link to the standard math library.
...
This allows to support QNX.
2010-04-19 11:19:22 -04:00
Benoit Jacob
40b2aaa8b1
merge
2010-04-18 22:15:20 -04:00
Benoit Jacob
504a31f643
renaming (MatrixType ---> whatever appropriate)
...
and documentation improvements
2010-04-18 22:14:55 -04:00
Benoit Jacob
34b14c48f3
shut up stupid gcc 4.5.0 warning
2010-04-18 22:14:03 -04:00
Thomas Capricelli
29a3aec483
erf() is really non standard, better dont pollute eigen with it.
2010-04-19 02:06:11 +02:00
Hauke Heibel
086d5f1ac6
Fixed indentation and removed debug code.
2010-04-18 20:16:39 +02:00
Hauke Heibel
214d5a892d
Added support for STL lists with aligned Eigen types.
2010-04-18 20:10:43 +02:00
Hauke Heibel
031932b4ec
Disabled erf also for Cygwin where it is not supported and causes errors.
2010-04-18 20:08:56 +02:00
Hauke Heibel
7db0f242ef
Disabled unsupported erf on MSVC machines.
2010-04-18 14:37:44 +02:00
Thomas Capricelli
63eaa8948e
tests for nonlinear module : use different slots + misc cleaning
2010-04-18 03:47:23 +02:00
Thomas Capricelli
f1deab0e5a
introduce ei_erf() for various scalar type
2010-04-18 03:39:22 +02:00
Benoit Jacob
ce32f90fdd
clarify help message about make install
2010-04-17 12:10:53 -04:00
Benoit Jacob
ba5b5f6a4b
fix compilation
2010-04-17 11:29:25 -04:00
Hauke Heibel
cc33a56140
Added MSVC stack allocation support.
2010-04-17 16:08:17 +02:00
Gael Guennebaud
0326a51f89
fix use of uninitialzed calues
2010-04-17 05:23:23 +02:00
Benoit Jacob
797f63044a
oops, forgot to add DenseDirectAccessBase
2010-04-16 14:46:55 -04:00
Benoit Jacob
d9ee28851e
fix ei_blas_traits directaccess check: in the case of vectors, having a nontrivial inner stride is OK.
2010-04-16 14:12:53 -04:00
Benoit Jacob
04c663840b
* add some 1x1 tests
...
* temporarily disable tests that strangely fail, with a big FIXME
2010-04-16 12:32:33 -04:00
Benoit Jacob
0ab431d7b8
* merge with mainline
...
* adapt Eigenvalues module to the new rule that the RowMajorBit must have the proper value for vectors
* Fix RowMajorBit in ei_traits<ProductBase>
* Fix vectorizability logic in CoeffBasedProduct
2010-04-16 11:25:50 -04:00
Benoit Jacob
ff6a46105d
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
...
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
2010-04-16 10:13:32 -04:00
Gael Guennebaud
ea1a2df370
taucs: make SupernodalMultifrontal the default mode
2010-04-15 12:42:17 +02:00
Gael Guennebaud
0b6b316f18
an attempt to fix compilation with MSVC
2010-04-15 12:36:28 +02:00
Gael Guennebaud
a2324d6265
fix sparse squared norm
2010-04-13 10:40:55 +02:00
Jitse Niesen
614fbe497d
Merge.
2010-04-12 18:55:27 +01:00
Jitse Niesen
574ad9efbd
Move computation of eigenvalues from RealSchur to EigenSolver.
2010-04-12 18:54:15 +01:00
Jitse Niesen
73d3a27667
RealSchur: Make sure zeros are really zero (cont'd); add default ctor, docs.
2010-04-12 18:14:32 +01:00
Gael Guennebaud
0b0366a53d
cholmod: assume selfadjoint matrix by default since selfadjoint flag has been removed
2010-04-09 13:37:05 +02:00
Jitse Niesen
872df22ca4
RealSchur: Make sure zeros are really zero; simplify initFrancisQRStep().
2010-04-09 11:23:17 +01:00
Gael Guennebaud
1ad6c79467
merge
2010-04-08 13:29:31 +02:00
Gael Guennebaud
7a59f9ae01
make sure that changing CMAKE_INSTALL_PREFIX is properly taken into account
2010-04-08 13:28:21 +02:00
Jitse Niesen
7dea3a33a5
RealSchur: change parameter lists; minor rewrite of computeShift().
2010-04-07 17:29:12 +01:00
Jitse Niesen
b6829e1d5b
RealSchur: use makeHouseholder() to construct the transformation.
2010-04-07 10:27:27 +01:00
Jitse Niesen
cc57df9bea
RealSchur: Rename l and n to il and iu.
2010-04-06 18:26:30 +01:00
Jitse Niesen
9fad1e392b
RealSchur: split computation in smaller functions.
2010-04-06 17:45:46 +01:00
Jitse Niesen
7dc56b3dfb
RealSchur: Use Householder module in Francis QR step.
2010-04-06 16:43:07 +01:00
Jitse Niesen
86df74c765
RealSchur: reduce scope of temporary variables in hqr2().
2010-04-06 15:26:09 +01:00
Jitse Niesen
dad50338b8
RealSchur: Use PlanarRotation in "found two real eigenvalues" branch.
2010-04-06 15:12:21 +01:00
Jitse Niesen
d88d1cfa62
Merge.
2010-04-02 21:33:34 +01:00
Jitse Niesen
79e1ce6093
RealSchur and EigenSolver: some straightforward renames.
2010-04-02 21:05:32 +01:00
Jitse Niesen
a16a36ecf2
Add tests for real and complex Schur; extend test for Hessenberg.
...
Make a minor correction to the ComplexSchur class.
2010-04-02 14:32:20 +01:00
Hauke Heibel
9d6afdeb22
ei_psqrt fix for zero input
2010-04-01 15:10:52 +02:00
Jitse Niesen
3a14a13533
Split computation of real Schur form in EigenSolver to its own class.
...
This is done with the minimal amount of work, so the result is very rough.
2010-04-01 12:32:56 +01:00
Jitse Niesen
8cfa672fe0
Use HessenbergDecomposition in EigenSolver.
2010-03-31 21:50:18 +01:00
Jitse Niesen
1b3f7f2fee
Extend documentation and add examples for EigenSolver class.
2010-03-31 11:59:11 +01:00
Benoit Jacob
338ec0390f
let the cast functor use the new ei_cast()
2010-03-30 14:51:47 -04:00
Benoit Jacob
16e416b8d7
generalize the idea of the previous commit to all kinds of casts, see this forum thread:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
this is important to allow users to support custom types that don't have the needed conversion operators.
2010-03-30 14:47:45 -04:00
Benoit Jacob
9e0d8697c7
add ei_cast_to_int, we are indeed somethings (e.g. in IO.h) casting scalars to int and the only way to allow users to extend that to their own scalar types that don't have int cast operators, was to allow them specialize ei_cast_to_int_impl.
2010-03-30 14:16:54 -04:00
Benoit Jacob
8f99ae5ea4
move the computation of the number of significant digits to a templated helper struct, that can be specialized to custom types if needed. Should address this request:
...
http://forum.kde.org/viewtopic.php?f=74&t=86914
2010-03-30 11:38:09 -04:00
Jitse Niesen
e6300efb5c
Extend documentation for HessenbergDecomposition.
2010-03-28 17:33:56 +01:00
Thomas Capricelli
0a5c2d8a54
fix misc warnings, more importantly when NDEBUG is defined, assert() is a
...
nop.
2010-03-27 18:58:29 +01:00
Jitse Niesen
af08770890
Center version number on main page of API documentation.
2010-03-26 12:36:42 +00:00
Manuel Yguel
eb0c921a58
Fix some doc typos.
2010-03-25 16:54:00 +01:00
Thomas Capricelli
df1cbe8c3d
fix display of modules list in documentation
2010-03-25 08:50:23 +01:00
Manuel Yguel
671cfb7ad0
Fix wrong header and warnings in polynomialutils.cpp
2010-03-25 03:31:33 +01:00
Manuel Yguel
89f2d5667f
Add the possibility to use the polynomial solver of the gsl.
2010-03-25 03:25:47 +01:00
Manuel Yguel
5ef83d6a6c
Add missing test files for Polynomials module.
2010-03-25 03:21:52 +01:00
Manuel Yguel
9a4a08da46
Creation of the Polynomials module with the following features:
...
* convenient functions:
- Horner and stabilized Horner evaluation
- polynomial coefficients from a set of given roots
- Cauchy bounds
* a QR based polynomial solver
2010-03-25 03:15:05 +01:00
Gael Guennebaud
4e871c6c80
blas: fix compilation and build both a shared and static lib
2010-03-24 19:34:18 +01:00
Jitse Niesen
c68098b9be
Clean up ComplexSchur::compute() .
2010-03-24 14:10:33 +00:00
Jitse Niesen
13a1b0ba27
Add snippets file which should have been added in the previous commit.
2010-03-24 13:04:03 +00:00
Jitse Niesen
37e17938e9
Extend documentation of ComplexSchur and add examples.
2010-03-23 12:49:09 +00:00
Jitse Niesen
307c428253
Move documentation of MatrixBase methods in MatrixFunctions to module page.
...
I think that because MatrixFunctions is in unsupported/ and MatrixBase is
not, doxygen does not include the MatrixBase methods defined and documented
in the MatrixFunctions module with the other MatrixBase methods. This is a
kludge, but at least the documentation is not lost.
2010-03-22 13:58:19 +00:00
Jitse Niesen
525d6b655f
Merge.
2010-03-21 21:59:00 +00:00
Jitse Niesen
8e5d2b6fc4
Rename Complex in ComplexSchur and ComplexEigenSolver to ComplexScalar
...
for consistency with the RealScalar type; correct ComplexEigenSolver
docs to take non-diagonalizable matrices into account; refactor
ComplexEigenSolver::compute().
2010-03-21 21:57:34 +00:00
Benoit Jacob
1803db6e84
merge
2010-03-21 11:28:31 -04:00
Benoit Jacob
92da574ec2
* allow matrix dimensions to be 0 (also at compile time) and provide a specialization
...
of ei_matrix_array for size 0
* adapt many xprs to have the right storage order, now that it matters
* add static assert on expressions to check that vector xprs
have the righ storage order
* adapt ei_plain_matrix_type_(column|row)_major
* implement assignment of selfadjointview to matrix
(was before failing to compile) and add nestedExpression() methods
* expand product_symm test
* in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type
* fix VectorBlock and Block mistakes
2010-03-21 11:28:03 -04:00
Gael Guennebaud
8b093dd2df
oops, fix symv (innerStride instead of outerStride)
2010-03-20 20:51:44 +01:00
Jitse Niesen
d91ffffc37
Allow ComplexEigenSolver and ComplexSchur to work with real matrices.
...
Add a test which covers this case.
2010-03-20 17:04:40 +00:00
Hauke Heibel
fbdf16d425
Added x()/y() and z() access functions to translations.
2010-03-19 20:11:40 +01:00
Jitse Niesen
d3e271c47e
Extend documentation and add examples for ComplexEigenSolver.
2010-03-19 18:23:36 +00:00
Benoit Jacob
547269da35
fix the flags and matrix options, to always have the right RowMajor bit in the vector case
2010-03-19 02:12:23 -04:00
Benoit Jacob
9dba86df0b
merge
2010-03-18 20:11:38 -04:00
Benoit Jacob
089bd89512
compile with gcc 4.5
2010-03-18 20:10:24 -04:00
Jitse Niesen
0ee10f7da4
Document member functions and types of ComplexEigenSolver.
2010-03-18 13:42:17 +00:00
Jitse Niesen
04a4e22c58
API change: ei_matrix_exponential(A) --> A.exp(), etc
...
As discussed on mailing list; see
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html
2010-03-16 17:26:55 +00:00
Gael Guennebaud
d536fef1bb
fix and extend replicate optimization, and add the packet method though it is currently disabled
2010-03-15 10:39:00 +01:00
Hauke Heibel
d68b85744f
Replaced strong with weak inlines in CwiseUnaryOp.
2010-03-14 13:01:10 +01:00
Hauke Heibel
6d08f71a2d
Removed strong inlines which cannot always be inlined.
2010-03-14 12:09:29 +01:00
Hauke Heibel
0e5a232dae
Ups - again a missing typename.
2010-03-14 11:58:44 +01:00
Hauke Heibel
fc20e6fd55
Try to avoid modulo operations in Replicate if possible.
2010-03-13 14:33:39 +01:00
Hauke Heibel
b9644f3323
Propagate fixed size dimensions if available (on MSVC it leads >2.5x speedup for some reductions).
2010-03-13 13:15:27 +01:00
Benoit Jacob
3e08c22028
attempt to fix #101
2010-03-11 12:41:46 -05:00
Hauke Heibel
2a82b162d7
Nest expression within MatrixWrapper by value.
2010-03-10 17:13:07 +01:00
Hauke Heibel
b20b393a4e
Enable resizing of Arrays.
2010-03-10 17:12:45 +01:00
Hauke Heibel
dd9ff1b9a6
Fix MSVC warnings.
2010-03-09 09:04:21 +01:00
Benoit Jacob
74a7c5caee
implement the idea that row-vectors have the RowMajorBit and col-vectors don't.
2010-03-09 00:16:07 -05:00
Benoit Jacob
b81351cb07
nomalloc: minor cleanup
2010-03-08 21:30:06 -05:00
Adolfo Rodriguez Tsouroukdissian
5a36f4a8d1
Propagate all five matrix template parameters to members and temporaries of decomposition classes. One particular advantage of this is that decomposing matrices with max sizes known at compile time will not allocate.
...
NOTE: The ComplexEigenSolver class currently _does_ allocate (line 135 of Eigenvalues/ComplexEigenSolver.h), but the reason appears to be in the implementation of matrix-matrix products, and not in the decomposition itself.
The nomalloc unit test has been extended to verify that decompositions do not allocate when max sizes are specified. There are currently two workarounds to prevent the test from failing (see comments in test/nomalloc.cpp), both of which are related to matrix products that allocate on the stack.
2010-03-08 19:31:27 +01:00
Gael Guennebaud
898762529e
update the product selection logic to use the Max* sizes
2010-03-08 22:55:58 +01:00
Gael Guennebaud
2af9468dd1
update the product selection logic to use the Max* sizes
2010-03-08 22:54:31 +01:00
Gael Guennebaud
9a3b00c040
add missing cmake directives for arch/Default
2010-03-08 22:15:35 +01:00
Thomas Capricelli
b2e7329356
tests : fix compilation issues, adding <iostream> and removing
...
<Eigen/Array>
2010-03-08 20:34:24 +01:00
Benoit Jacob
89343a38af
* Fix #97 : Householder operations on 1x1 matrices
...
* Fix VectorBlock on 1x1 "vectors"
* remove useless makeTrivialHouseholder function
2010-03-08 12:37:04 -05:00
Benoit Jacob
4293a4d1af
* let a = foo() work when a is a row-vector xpr and foo() returns a ReturnByValue col-vector
...
* remove a few useless resize() in evalTo() implementations
2010-03-08 10:34:59 -05:00
Mark Borgerding
3565e89be2
minor edit
2010-03-07 23:57:02 -05:00
Mark Borgerding
101cc03176
merge
2010-03-07 23:46:26 -05:00
Mark Borgerding
e31929337e
needed different proxy return types for fwd,inv to work around static asserts
2010-03-07 22:05:48 -05:00
Mark Borgerding
5b2c8b77df
created FFT::fwd and FFT::inv with ReturnByValue
2010-03-07 21:31:06 -05:00
Hauke Heibel
9fe040ad29
Reintroduced the if-clause for MSVC ei_ploadu via _loadu_.
2010-03-07 14:05:26 +01:00
Gael Guennebaud
aeea00a9cf
fix compilation
2010-03-07 12:32:24 +01:00
Gael Guennebaud
3130b7a722
bugcount--, this time trmm
2010-03-06 22:57:50 +01:00
Gael Guennebaud
1958b7eccc
stride() => inner/outerStride()
2010-03-06 22:39:15 +01:00
Gael Guennebaud
4402034678
pff I introduced much too many bugs latey, count--
2010-03-06 22:24:50 +01:00
Gael Guennebaud
61ce1de048
fix symm
2010-03-06 22:15:59 +01:00
Gael Guennebaud
a7d199bf9a
fix trsolve
2010-03-06 21:37:14 +01:00
Gael Guennebaud
6f0b96dcf4
fix issue #100 (fix syrk)
2010-03-06 21:16:43 +01:00
Gael Guennebaud
271fc84e47
bugfix in gebp for 32bits x86
2010-03-06 20:52:20 +01:00
Benoit Jacob
c4f8afdf49
#undef minor at the right place
2010-03-06 14:44:57 -05:00
Benoit Jacob
7e2afe7e95
remove the __ARM_NEON__ check there since Konstantinos said he removed it but apparently didn't commit :)
2010-03-06 12:11:08 -05:00
Benoit Jacob
bf0a21a695
* disable static alignment on QCC
...
* remove obsolete #error
2010-03-06 09:28:58 -05:00
Benoit Jacob
2bd31d3fbc
* include Macros.h much earlier: since it takes care of the alignment platform detection, it is needed before we do the vectorization stuff in Eigen/Core !!
...
* kill EIGEN_DONT_ALIGN_HEAP option (one should use EIGEN_DONT_ALIGN)
* rename EIGEN_DONT_ALIGN_STACK to EIGEN_DONT_ALIGN_STATICALLY. hope it's a better name.
2010-03-06 09:05:15 -05:00
Hauke Heibel
61a14539c7
merge
2010-03-06 11:48:19 +01:00
Benoit Jacob
f03d95348d
introduce EIGEN_DONT_ALIGN_STACK (disables alignment attributes) and EIGEN_DONT_ALIGN_HEAP (disables aligned malloc)...
...
you can still use EIGEN_DONT_ALIGN to do both at once.
2010-03-06 02:17:37 -05:00
Gael Guennebaud
afd7ee759b
fix copy pasted comment
2010-03-05 21:35:11 +01:00
Konstantinos Margaritis
273b236f72
Altivec brought up to date. Most tests pass and performance is better than before too!
2010-03-05 22:28:49 +02:00
Hauke Heibel
51b0159c96
Fixed line endings.
2010-03-05 18:11:54 +01:00
Gael Guennebaud
f2a246c225
add a small program to bench all combinations of small products
2010-03-05 17:16:19 +01:00
Gael Guennebaud
c442208358
clean a bit the bench_gemm files
2010-03-05 11:35:43 +01:00
Gael Guennebaud
5f172cd01f
add a FIXME
2010-03-05 10:45:29 +01:00
Gael Guennebaud
48d0595c29
* dynamically adjust the number of threads
...
* disbale parallelisation if we already are in a parallel session
2010-03-05 10:44:31 +01:00
Gael Guennebaud
dd961f8c60
add an option to test ompenmp
2010-03-05 10:22:27 +01:00
Gael Guennebaud
62ac021606
fix openmp version for scalar types different than float
2010-03-05 10:16:25 +01:00
Gael Guennebaud
d13b877014
remove the 1D and 2D parallelizer, keep only the GEMM specialized one
2010-03-05 10:04:17 +01:00
Gael Guennebaud
24ef5fedcd
minor cleaning
2010-03-05 09:57:04 +01:00
Gael Guennebaud
279ad44509
merge
2010-03-05 09:46:58 +01:00
Gael Guennebaud
620bd28480
enable posix_memalign for QNX
2010-03-05 09:44:21 +01:00
Gael Guennebaud
7e2683dc39
merge
2010-03-04 18:59:56 +01:00
Gael Guennebaud
0964810fba
merge
2010-03-04 18:59:03 +01:00
Gael Guennebaud
ea8cad5151
make the number of registers easier to configure per architectures
2010-03-04 18:58:12 +01:00
Gael Guennebaud
cefd9b8888
merge with default branch
2010-03-04 18:47:52 +01:00
Hauke Heibel
1723068694
Moved x()/y()/z() and w() access functions to DenseBase; they are now available for Arrays as well.
2010-03-04 18:33:51 +01:00
Gael Guennebaud
8ed1ef4469
add a minor FIXME
2010-03-04 18:30:28 +01:00
Benoit Jacob
68d94d914e
integer division is vectorizable on no SIMD platform, not just SSE.
2010-03-04 09:03:06 -05:00
Konstantinos Margaritis
710bc073a7
arm_neon.h is a standard header file, fixed
2010-03-03 12:15:34 -06:00
Benoit Jacob
6c89fd4df0
minor cleanup
2010-03-03 13:16:21 -05:00
Gael Guennebaud
7dd81aad74
factorize default performance related settings to a single file
...
included after the architecture specific files such that they
can be adapted by each platform.
2010-03-03 18:47:58 +01:00
Konstantinos Margaritis
112c550b4a
Added initial NEON support, most tests pass however we had to use some hackish workarounds
...
as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to
ensure proper alignment with __attribute__((aligned(16))). This has to be
fixed upstream to remove the workarounds.
2010-03-03 11:25:41 -06:00
Benoit Jacob
45d19afb18
cleanup/simplification in computation of matrix flags
2010-03-03 09:58:43 -05:00
Benoit Jacob
7dbe806711
merge
2010-03-03 09:55:46 -05:00
Benoit Jacob
6a92168915
Backed out changeset 2f3d685e0c
...
This was implementing deep changes that after discussion on the mailing list seem to need further discussion/thinking.
2010-03-03 09:54:50 -05:00
Hauke Heibel
aa6570c3a3
Added a missing inline hints.
...
Removed a useless Nested temporary.
2010-03-03 15:24:58 +01:00
Gael Guennebaud
b0ffd9bf04
clean #defined tokens, and use clock_gettime for the real time
2010-03-03 09:41:29 +01:00
Gael Guennebaud
2f3d685e0c
a matrix (or array) does not always have the LinearAccessBit!
...
=> fixes in outerStride and matrix flags
2010-03-02 15:31:39 +01:00
Gael Guennebaud
0ed5edd24d
blas: add a default implementation of xerbla
2010-03-02 14:50:41 +01:00
Gael Guennebaud
a76c296e7f
blas: fix most of level1 functions
2010-03-02 14:45:43 +01:00
Benoit Jacob
bca04bd983
fix compilation
2010-03-02 08:41:35 -05:00
Gael Guennebaud
a2d7c239f5
blas: fix HEMM and HERK
2010-03-02 12:44:40 +01:00
Gael Guennebaud
7fd6458fec
selfadjoint: do not reference the imaginary part of the diagonal
2010-03-02 12:43:55 +01:00
Gael Guennebaud
abfed301cb
blas: fix SYRK
2010-03-02 09:37:10 +01:00
Eamon Nerbonne
ff6b94d6d0
BenchTimer: avoid warning about symbol redefinition on win32, and include <Eigen/Core> (required to compile)
2010-03-02 08:46:11 +01:00
Gael Guennebaud
f1d3101956
blas: add warnings for non implemented functions
2010-03-03 09:32:10 +01:00
Hauke Heibel
32823caa62
Adapted the comment and removed it from the public dox.
2010-03-03 07:52:19 +01:00
Gael Guennebaud
3295c1c3e6
product selector: the symmetric case
2010-03-02 23:18:13 +01:00
Hauke Heibel
afad108b5f
Added a comment to prevent placing an EIGEN_STRONG_INLINE where it makes no sense.
2010-03-02 19:36:21 +01:00
Eamon Nerbonne
3efb3cc828
Changed product type selector to fix perf regression.
2010-03-02 12:08:49 +01:00
Gael Guennebaud
c7828ac45c
add missing implementation of uniform scaling products
2010-03-02 17:38:40 +01:00
Hauke Heibel
3cc9e3f5bb
Fixes a compilation issue for MSVC.
2010-03-01 19:56:24 +01:00
Gael Guennebaud
a7b9250ad0
blas interface: fix compilation, fix GEMM, SYMM, TRMM, and TRSM,
...
i,e., they all pass the blas test suite. More to come
2010-03-01 19:06:07 +01:00
Jitse Niesen
a1ac56a7c7
Add (failing) test for computing HouseholderQR of a 1x1 matrix.
2010-03-01 13:46:41 +00:00
Gael Guennebaud
65eba35f98
rm useless omp shared directive
2010-03-01 13:34:44 +01:00
Gael Guennebaud
1710c07f63
remove Qt's atomic dependency, I don't know what I was doing wrong...
2010-03-01 13:09:47 +01:00
Jitse Niesen
2d7bd1ec91
Make MatrixFunctions tests more robust.
...
* Use absolute error instead of relative error.
* Test on well-conditioned matrices.
* Do not repeat the same test g_repeat times (bug fix).
* Correct diagnostic output in matrix_exponential.cpp .
2010-03-01 12:05:57 +00:00
Gael Guennebaud
31aa17e4ef
GEMM: move the first packing of A' before the packing of B'
2010-03-01 11:10:30 +01:00
Gael Guennebaud
aeff3ff391
make Aron's idea work using Qt's atomic implementation for the synchronisation
2010-03-01 10:57:32 +01:00
Benoit Jacob
f1f3c30ddc
remove the hack to make the static assertion on types actually show up.
...
indeed, now that we use the meta selector for transposing as needed, the static asserts work very well.
2010-02-28 11:10:13 -05:00
Benoit Jacob
07023b94d8
forgot defined(...)
2010-02-28 10:11:28 -05:00
Benoit Jacob
9334ed4444
on 64-bit systems, glibc's malloc returns 16-byte aligned ptrs, and we now take advantage of that.
2010-02-28 10:10:53 -05:00
Benoit Jacob
a480e7e60f
* fix ei_handmade_aligned_realloc (was calling realloc on wrong ptr)
...
* add missing std:: (at least for QNX compatibility)
* add big comments to "structure" the file
2010-02-28 09:10:41 -05:00
Hauke Heibel
ff8c2149c1
Added a generic reallocation implementation based on ei_aligned_malloc/_free.
...
Rewrote ei_handmade_aligned_realloc such that it is now using std::realloc.
Reorganized functions in Memory.h for better readability.
Add missing <cerrno> include to Core (it's now required in Memory.h).
2010-02-28 14:32:57 +01:00
Hauke Heibel
40bd69fbaa
Hide some internal stuff from the docs.
2010-02-28 12:56:37 +01:00
Benoit Jacob
1d9c18a8f3
comment out cerr's
2010-02-28 00:53:06 -05:00
Thomas Capricelli
eb3a3351cc
misc cleaning
2010-02-28 02:51:35 +01:00
Benoit Jacob
27f5250258
Only include <iosfwd> unless either EIGEN_DEBUG_ASSIGN is defined or we're in eigen2 support mode
2010-02-27 19:04:22 -05:00
Benoit Jacob
e84f7e07e9
add ei_posix_memalign_realloc
2010-02-27 18:57:07 -05:00
Benoit Jacob
22fabb8940
add missing inline keyword, thanks to Eamon.
2010-02-27 17:51:48 -05:00
Thomas Capricelli
e0830cb1b7
Use a specialization of test_is_equal() instead of defining COMPARE()
2010-02-27 17:56:22 +01:00
Hauke Heibel
6c9eb36222
Added support for realloc based conservative resizing.
2010-02-27 17:25:07 +01:00
Hauke Heibel
78b2c7e16e
Fixed a typo.
2010-02-27 17:24:42 +01:00
Benoit Jacob
3f393490ad
dot: handle the rowvector.dot(colvector) case where one needs to transpose.
2010-02-27 11:19:14 -05:00
Thomas Capricelli
15a33622ac
* define COMPARE(,), which prints expected/actual results in case of failure
...
* use it in test/NonLinearOptimization.cpp
2010-02-27 16:30:15 +01:00
Benoit Jacob
d9f6380499
Remove the dot product's separate implementation and use cwiseProduct.sum instead.
...
Also take special care to get nicely working static assertions.
2010-02-27 10:03:27 -05:00
Benoit Jacob
b5c79e7291
add examples
2010-02-26 22:26:21 -05:00
Benoit Jacob
2c9a91812e
merge
2010-02-26 21:47:54 -05:00
Benoit Jacob
814e40c72a
let redux use the new ByOuterInner accessors
2010-02-26 21:46:43 -05:00
Benoit Jacob
4927841cba
Document Map and Stride, add examples.
2010-02-26 21:29:04 -05:00
Benoit Jacob
b1f666d007
Fix Map-with-Stride and cover it by new unit tests.
2010-02-26 20:12:51 -05:00
Gael Guennebaud
6924bf2e99
implement Aron's idea of interleaving the packing with the first computations
2010-02-26 15:58:22 +01:00
nerbonne
c72a5074e6
Fixed perf problems for vector subtraction: inlining wasn't always happening when necessary.
2010-02-26 15:46:43 +01:00
Benoit Jacob
32115bff1e
* add VERIFY_IS_EQUAL, should compile faster and it's natural when no arithmetic is involved.
...
* rename 'submatrices' test to 'block'
* add block-inside-of-block tests
* remove old cruft
* split diagonal() tests into separate file
2010-02-26 09:03:13 -05:00
Gael Guennebaud
ac425090f3
BTL: allow to bench real time
2010-02-26 14:57:49 +01:00
Gael Guennebaud
8d4a0e6753
fix compilation without openmp
2010-02-26 14:57:22 +01:00
Gael Guennebaud
c05047d28e
fix some BTL issues
2010-02-26 12:51:20 +01:00
Gael Guennebaud
3ac2b96a2f
implement a smarter parallelization strategy for gemm avoiding multiple
...
paking of the same data
2010-02-26 12:32:00 +01:00
Jitse Niesen
d86f5339b2
ComplexSchur: fix bug introduced in my previous commit.
...
The value of c is actually used a few lines later.
2010-02-26 09:47:17 +00:00
Benoit Jacob
f56ac04c34
DenseBase::IsRowMajor now takes the special case of vectors into account.
2010-02-25 21:24:42 -05:00
Benoit Jacob
b1c6c215a4
merge
2010-02-25 21:07:30 -05:00
Benoit Jacob
769641bc58
* Implement the ByOuterInner accessors
...
* use them (big simplification in Assign.h)
* axe (Inner|Outer)StrideAtCompileTime that were just introduced
* ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h
* add rowStride() / colStride() in DenseBase
* implement innerStride() / outerStride() everywhere needed
2010-02-25 21:01:52 -05:00
Jitse Niesen
90e4a605ef
ComplexSchur: compute shift more stably, introduce exceptional shifts.
...
Both the new computation of the eigenvalues of a 2x2 block and the
exceptional shifts are taken from EISPACK routine COMQR.
2010-02-25 22:33:38 +00:00
Gael Guennebaud
53bae6b3f8
update matrix product selection rules for 1xSmallxLarge and the transposed case
2010-02-25 21:59:25 +01:00
Gael Guennebaud
959a1b5d63
detect and implement inplace permutations
2010-02-25 16:30:58 +01:00
Gael Guennebaud
d9ca0c0d36
optimize inverse permutations
2010-02-25 15:31:15 +01:00
Benoit Jacob
77c922bf05
* move the 's': InstructionsSet ---> InstructionSets
...
* proper capitalization: SSE, AltiVec
2010-02-25 06:43:45 -05:00
Thomas Capricelli
50a5ac3c4b
oops, fix typo
2010-02-25 05:31:22 +01:00
Thomas Capricelli
00bc535b66
provide a static method to describe which SIMD instructions are used
2010-02-24 21:52:08 +01:00
Thomas Capricelli
0f3d69b65e
Provide "eigen" defines to decide which instruction set is used
...
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
2010-02-24 21:43:30 +01:00
Gael Guennebaud
7c98c04412
add reconstructedMatrix() to LLT, and LUs
...
=> they show that some improvements have still to be done
for permutations, tr*tr, trapezoidal matrices
2010-02-24 19:16:10 +01:00
Gael Guennebaud
a7e4c0f825
make testsuite aware of EIGEN_CTEST_ARGS
2010-02-24 11:28:38 +01:00
Gael Guennebaud
f7aa9873ca
* fix LDLT's default ctor use
...
* add a reconstructedMatrix() function to LDLT for debug purpose
2010-02-24 10:40:16 +01:00
Benoit Jacob
60325b8330
actually, this is not even meant to be a termination criterion. so the proper fix is this.
2010-02-23 16:10:26 -05:00
Benoit Jacob
3d066f4bc7
LDLT:
...
* fix bug thanks to Ben Goodrich: we were terminating at the wrong place, leaving some matrix coefficients with wrong values.
* don't use Higham's formula here: we're not trying to be rank-revealing.
2010-02-23 16:05:37 -05:00
Benoit Jacob
d92df336ad
Further LU test improvements. I'm not aware of any test failures anymore, not even with huge numbers of repetitions.
...
Finally the createRandomMatrixOfRank() function is renamed to createRandomPIMatrixOfRank, where PI stands for 'partial isometry', that is, a matrix whose singular values are 0 or 1.
2010-02-23 15:40:24 -05:00
Gael Guennebaud
a1e1103328
add a 2D parallelizer
2010-02-23 21:40:15 +01:00
Gael Guennebaud
022e2f5ef4
fix typo
2010-02-23 18:24:15 +01:00
Gael Guennebaud
68eaefa5d4
update BTL (better timer, eigen2 => eigen3, etc)
2010-02-23 18:23:12 +01:00
Benoit Jacob
7dc75380c1
* FullPivLU: replace "remaining==0" termination condition (from Golub) by a fuzzy compare
...
(fixes lu test failures when testing solve())
* LU test: set appropriate threshold and limit the number of times that a specially tricky test
is run. (fixes lu test failures when testing rank()).
* Tests: rename createRandomMatrixOfRank to createRandomProjectionOfRank
2010-02-23 09:04:59 -05:00
Gael Guennebaud
4a0d41c5fb
merge
2010-02-23 14:34:55 +01:00
Hauke Heibel
1fd8d7b96a
Attempt to fix PGI compilation issue.
2010-02-23 11:35:51 +01:00
Mark Borgerding
b528b747c1
merge
2010-02-22 21:44:30 -05:00
Mark Borgerding
5d530e0373
enable caller to supply FFT length for Eigen Matrix interface functions to effect zero pad or source shrink at Nyquist bin
2010-02-22 21:43:30 -05:00
Gael Guennebaud
3beedba244
merge
2010-02-22 21:32:29 +01:00
Thomas Capricelli
d3b314569b
provide default values for CXX, remove duplicate define
2010-02-22 15:39:17 +01:00
Jitse Niesen
e6f0cd7121
Merge.
2010-02-22 16:17:43 +00:00
Gael Guennebaud
d2b0eadf52
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
...
(transplanted from 2ed88ebbf1995be90b8d0c25ff10248c8f56d023)
2010-02-22 16:35:05 +01:00
Gael Guennebaud
51a4b929a1
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
...
(transplanted from 9a5643551fe068497f84a81cd8986febf1918382)
2010-02-22 15:18:29 +01:00
Hauke Heibel
3e6ab8f93b
ups
2010-02-22 11:34:25 +01:00
Hauke Heibel
d5af5ab92b
Added getRealTime() for windows.
2010-02-22 11:23:27 +01:00
Gael Guennebaud
f797ba0abe
extend the bench timer to allow benchmarking of parallel code,
...
improvements are welcome
2010-02-22 11:04:35 +01:00
Gael Guennebaud
801440c519
fix BTL's eigen interface
...
(transplanted from 437f40acc1
)
2010-02-22 09:32:16 +01:00
Gael Guennebaud
eb905500b6
significant speedup in the matrix-matrix products
2010-02-23 13:06:49 +01:00
Gael Guennebaud
d579d4cc37
oops
2010-02-22 17:57:15 +01:00
Gael Guennebaud
fc4a85ecd5
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
2010-02-22 16:35:05 +01:00
Gael Guennebaud
dd569c7d0f
merge
2010-02-22 15:19:19 +01:00
Gael Guennebaud
e00f1fd125
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
2010-02-22 15:18:29 +01:00
Hauke Heibel
6730fd9f3f
Port BenchTimer fix.
2010-02-22 11:42:58 +01:00
Gael Guennebaud
4ba25a8d5c
merge
2010-02-22 11:30:36 +01:00
Gael Guennebaud
aaaf855a88
add a small benchmark to quickly bench/compare SMP support
2010-02-22 11:09:57 +01:00
Gael Guennebaud
1c6bdb4060
merge
2010-02-22 11:09:05 +01:00
Gael Guennebaud
3e62fafce8
clean a bit the parallelizer
2010-02-22 11:08:37 +01:00
Gael Guennebaud
b20935be9b
add initial openmp support for matrix-matrix products
...
=> x1.9 speedup on my core2 duo
2010-02-22 09:40:34 +01:00
Gael Guennebaud
437f40acc1
fix BTL's eigen interface
2010-02-22 09:32:16 +01:00
Thomas Capricelli
1a70f3b48d
fix compilation
2010-02-21 19:30:11 +01:00
Hauke Heibel
a901bed33a
Added IsRowMajor enum to DenseBase.
2010-02-21 18:26:14 +01:00
Hauke Heibel
e2a059863e
Added missing precision/eps functions to AutoDiffScalar.
2010-02-21 15:44:34 +01:00
Hauke Heibel
f079f52b58
merge
2010-02-21 15:25:28 +01:00
Hauke Heibel
f75e6773b0
Added ei_traits<Quaternion>::PlainObject.
2010-02-21 15:24:10 +01:00
Hauke Heibel
ac8ff44278
Tried to get rid of MSVC warning D9025.
2010-02-21 15:23:51 +01:00
Thomas Capricelli
a7d085eb4e
NonLinearOptimization : clean 'mode' handling from the old minpack code :
...
* this is actually a boolean, not an int
* use a better name
* can be set at initialization time instead of bloating all methods signatures
2010-02-21 12:41:37 +01:00
Gael Guennebaud
608959aa6f
compilation fix in ldlt() for non matrix types
2010-02-21 10:29:19 +01:00
Gael Guennebaud
71fecd2371
add missing return value
2010-02-20 18:19:34 +01:00
Hauke Heibel
6b4cecc1c6
CMake cleanup.
2010-02-20 17:39:58 +01:00
Jitse Niesen
4e389b195d
Change MatrixFunction::separation() parameter from 0.01 to 0.1 .
...
The latter is actually the value used in the literature.
2010-02-20 16:27:04 +00:00
Hauke Heibel
abc8c01080
Renamed PlainMatrixType to PlainObject (Array != Matrix).
...
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
2010-02-20 15:53:57 +01:00
Jitse Niesen
67ce07ea83
matrix_function test: replace expm(A).inverse() by expm(-A)
...
The latter is more stable. This fixes one of the issues with the test.
Also, make typedef's in MatrixFunctionReturnValue public; this is
necessary to get the test to compile.
2010-02-20 14:45:50 +00:00
Hauke Heibel
f0c8dcf1e2
Renamed AnyMatrixBase to EigenBase.
2010-02-20 15:26:02 +01:00
Gael Guennebaud
4f8773c23a
fix stupid enum values
2010-02-19 17:46:36 +01:00
Benoit Jacob
5491531a81
add Stride.h
2010-02-18 20:44:17 -05:00
Benoit Jacob
b73e22905d
miserable half-working state, commiting to a fork just in case, just to perfect
...
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
2010-02-18 20:42:38 -05:00
Jitse Niesen
39d9f0275b
Update matrix_exponential test after API change in ei_matrix_function
...
Apologies for forgetting this yesterday and not testing properly.
2010-02-17 09:50:11 +00:00
Mark Borgerding
2cd1ad2ded
typo in merge
2010-02-16 22:06:23 -05:00
Mark Borgerding
f200c84d9f
merge
2010-02-16 21:41:04 -05:00
Mark Borgerding
8f51a4ac90
found out about little-documented FFTW_PRESERVE_INPUT which has effect on c2r transforms
2010-02-16 20:44:48 -05:00
Jitse Niesen
319bf3130b
Use ReturnByValue to return result of ei_matrix_function(), ...
2010-02-16 16:43:11 +00:00
Jitse Niesen
25019f0836
Use ReturnByValue to return result of ei_matrix_exponential() .
2010-02-15 19:17:25 +00:00
Gael Guennebaud
a9096b626b
not all versions of gcc support -Wno-variadic-macros
2010-02-15 11:39:57 +01:00
Gael Guennebaud
016943f870
avoid 2 redundant calls to resize
2010-02-15 11:31:36 +01:00
Gael Guennebaud
dcb395c6f5
explicitly disable the use of evalTo for dense object
2010-02-15 11:09:33 +01:00
Gael Guennebaud
21d0eb3f11
the default implementation should really call evalTo
2010-02-15 11:01:55 +01:00
Gael Guennebaud
d00bff91ad
workaround weird gcc 4.0.1 compilation error
2010-02-15 11:00:30 +01:00
Hauke Heibel
8519558d11
Workaround for compounds affected by #94 .
2010-02-15 10:11:10 +01:00
Jitse Niesen
b18f737aa1
Test matrix functions with matrices with clustered imaginary eivals.
...
The idea is that these test MatrixFunction::swapEntriesInSchur(),
which is not covered by existing tests. This did not work out as
expected, but nevertheless it is a good test so I left it in.
2010-02-13 22:49:01 +00:00
Jitse Niesen
a4a2671fd0
Refactor matrix_function test in preparation of next commit.
2010-02-13 22:38:27 +00:00
Benoit Jacob
9251cfed9b
this had to be done here, not at the end.
2010-02-12 09:03:16 -05:00
Benoit Jacob
37ca4200b2
Piotr's patch was missing many occurences of size_t. So,
...
using std::size_t;
This is the only way that we can ensure QCC support in the long term without having to think about it everytime.
2010-02-12 08:58:29 -05:00
Gael Guennebaud
a76950bdab
fix a couple of ICE with gcc 4.0.1
2010-02-12 09:41:56 +01:00
Piotr Trojanek
1701a5d1f8
std:: namespace fixup for more restricive compilers such as QNX's QCC
2010-02-10 13:24:47 +01:00
Hauke Heibel
ae0a17d30b
Here is the proper fix.
2010-02-11 11:39:02 +01:00
Hauke Heibel
13ce92f5ba
Fixed notemporary unit test.
2010-02-11 11:31:36 +01:00
Hauke Heibel
93e86b0884
Fixed typos.
...
Replace NumTraits<bool>::dummy_precision() (three locations) by false in order to suppress warnings.
2010-02-11 11:31:22 +01:00
Gael Guennebaud
48f5980669
fix compilation (cwise and epsilon)
2010-02-11 09:24:29 +01:00
Thomas Capricelli
602778ea26
also fix tests for NumTraits<double>::epsilon()
2010-02-11 01:49:27 +01:00
Thomas Capricelli
fd19dd57d8
fix usage of epsilon wrt to latest API change
2010-02-11 01:43:36 +01:00
Thomas Capricelli
ccc58e935e
fix usage of epsilon wrt to latest API change
2010-02-11 01:43:03 +01:00
Jitse Niesen
fc5fa77743
unsupported/Eigen/AlignedVector3: dummy_precision is now in NumTraits
2010-02-10 17:59:27 +00:00
Hauke Heibel
d0e8342a04
Fixed warning.
2010-02-10 18:00:36 +01:00
Gael Guennebaud
0ca67afe6a
finally here is a simple solution making (a*b).diagonal() even faster than a.lazyProduct(b).diagonal() !!
2010-02-10 14:08:47 +01:00
Mark Borgerding
1d342e135c
changed destination argument to reference
2010-01-22 22:52:13 -05:00
Mark Borgerding
141c746fc7
if the src.stride() != 1, then the layout is not continuous -- need to copy to temporary
2010-01-22 01:17:36 -05:00
Mark Borgerding
cd7912313d
changed FFT function vector and Matrix args to pointer as Benoit suggested
...
implemented 2D Complex FFT for FFTW impl
2010-01-22 00:35:03 -05:00
Mark Borgerding
a30d42354f
updated comments and played around with Map
2010-01-21 21:10:16 -05:00
Mark Borgerding
7a6cb2a39c
added benchmark for unscaled and half-spectrum FFTs
2010-01-21 21:09:26 -05:00
Hauke Heibel
f1a025185a
Added array() to ArrayBase and matrix() to MatrixBase().
2010-01-21 17:55:09 +01:00
Jitse Niesen
dbf3af866e
Remove some Array #includes.
2010-01-21 12:31:03 +00:00
Hauke Heibel
7bf5930496
Adapted Geometry includes.
...
Adapted the decomposition documentation regarding the solve signature.
2010-01-21 09:43:30 +01:00
Hauke Heibel
ecc71abdda
Added the Array include's warning for GCC.
2010-01-20 21:36:50 +01:00
Hauke Heibel
26df0609e2
Corrected the Array include's deprecation warning for MSVC.
2010-01-20 20:56:52 +01:00
Hauke Heibel
85d80d0fcd
merge
2010-01-20 20:51:42 +01:00
Hauke Heibel
5d48cc1f5b
Moved the Array module to Core.
2010-01-20 20:51:01 +01:00
Manuel Yguel
71b64d3498
Updated tests for enhanced AlignedBox with volume, diagonal and better handling of integral types.
2010-01-20 14:55:10 +01:00
Gael Guennebaud
8918d18e21
Improved patch from Manuel Yguel:
...
Enhance AlignedBox to accept integral types and add some usefull methods: diagonal, volume, sample.
2010-02-10 11:40:55 +01:00
Gael Guennebaud
bb290977b8
add highest and lowest functions to NumTraits
2010-02-10 11:11:21 +01:00
Gael Guennebaud
fe0827495a
* move dummy_precision and epsilon to NumTraits
...
* make NumTraits inherits std::numeric_limits
2010-02-10 10:52:28 +01:00
Hauke Heibel
c11df02f0d
Deactivated test which requires variadic macros.
2010-02-09 20:52:15 +01:00
Hauke Heibel
5da3049b80
Regression tests for number of nested temporaries.
...
Moved EIGEN_DEBUG_MATRIX_CTOR to ei_matrix_storage to capture resize related allocations.
2010-02-09 20:32:48 +01:00
Gael Guennebaud
f96e6a6944
merge
2010-02-09 16:41:48 +01:00
Gael Guennebaud
71e580c4aa
fix nesting in Arraywrapper and nesting_ops
2010-02-09 16:38:36 +01:00
Hauke Heibel
04333c6ace
Now variadic macro related warnings should be supressed as well under Linux.
2010-02-09 16:37:24 +01:00
Gael Guennebaud
905050b239
extend sparse product benchmark with ublas
2010-02-09 15:55:36 +01:00
Gael Guennebaud
285bc336d5
document lazyProduct
2010-02-09 14:45:17 +01:00
Gael Guennebaud
840977529f
* as promised, remove the "optimization" for Product::diagonal()
...
* add MatrixBase::lazyProduct
2010-02-09 14:34:31 +01:00
Gael Guennebaud
9ce1212d7c
For the record, here is a solution for (a*b).diagonal, at the cost of extra copies
...
if a and/or b as to be evaluated. So in the next commit I'll remove it. A nice
solution would be to evaluate the lhs/rhs into member of the initial product,
but that would be overkill.
2010-02-09 14:28:22 +01:00
Hauke Heibel
0a680a9857
Added a non-diagonal product nesting test.
2010-02-09 14:24:17 +01:00
Hauke Heibel
dd283b3f82
Fixed paste© error.
2010-02-09 14:12:41 +01:00
Hauke Heibel
928ae382b4
Added debug only unit test for nesting ops - just run ./check nesting.
2010-02-09 14:07:37 +01:00
Gael Guennebaud
8185a3c6cf
fix one useless temp & copy
2010-02-09 13:16:29 +01:00
Gael Guennebaud
1cb59e4781
fix nesting lazy prod by ref
2010-02-09 11:27:30 +01:00
Gael Guennebaud
d104d2cd29
add accessors to coeff based product
2010-02-09 11:13:22 +01:00
Gael Guennebaud
5686eca7b1
* fix multiple temporary copies for coeff based products
...
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
2010-02-09 11:05:39 +01:00
Gael Guennebaud
0398e21198
s/UnrolledProduct/CoeffBasedProduct
2010-02-09 10:02:26 +01:00
Gael Guennebaud
c076fec734
fix the multiple temporary issue for nested products
2010-02-09 09:58:34 +01:00
Gael Guennebaud
8b016e717f
get rid of NestParentByRefBit
2010-02-08 16:51:41 +01:00
Hauke Heibel
871698d3aa
Introduced NestParentByRefBit and NestByRefBit - this should fix temporaries related to nested products.
...
Fixed a few typos and a few warnings.
2010-02-06 17:43:32 +01:00
Gael Guennebaud
6f3f857897
make noalias works for coefficient based products
2010-02-05 23:44:24 +01:00
Gael Guennebaud
52167be4c8
make sure the correct diagoanl() function is called in trace()
2010-02-04 18:51:29 +01:00
Gael Guennebaud
73eb0e633c
* resurected Flagged from Eigen2Support
...
* reimplement .diagonal() for ProductBase to make (A*B).diagonal() more efficient!
2010-02-04 18:28:09 +01:00
Gael Guennebaud
b44240180f
optiization: make hybrid small/large outer products use the unrolled path
2010-02-04 17:17:57 +01:00
Hauke Heibel
d0b4ef81f0
Prevent temporaries for reductions.
2010-02-04 14:26:03 +01:00
Hauke Heibel
1a77334d54
Silenced type conversion warnings.
2010-02-03 19:20:25 +01:00
Hauke Heibel
05837be8fb
Fixed a warning.
...
Transform::Identity() is now returning a Transform.
2010-02-03 09:46:27 +01:00
Hauke Heibel
8861dce7ee
Fixed 32bit builds.
2010-02-03 09:07:17 +01:00
Hauke Heibel
7b2dd988fa
Fixes #89 .
...
Added regression test.
2010-02-02 09:27:41 +01:00
Gael Guennebaud
7c41fb66f8
fix compilation on 32bits systems
2010-02-01 11:45:08 +01:00
Gael Guennebaud
08f154b93a
remove some trailing nestbyvalue
2010-02-01 11:44:44 +01:00
Gael Guennebaud
dd817361f5
use unrolled product path for small outer product
2010-01-31 12:28:16 +01:00
Hauke Heibel
15c0a78c6e
One warning less...
2010-01-30 17:24:18 +01:00
Gael Guennebaud
43f0c0cbb3
fix triangular view assignment
2010-01-30 09:02:18 +01:00
Gael Guennebaud
b6521b799f
add specialization of ei_ref_selector for Array (fix a big perf issue \!)
2010-01-29 21:28:23 +01:00
Hauke Heibel
6dee5440e4
Adapted mean to work with complex numbers.
...
Added regression test.
2010-01-29 12:12:02 +01:00
Hauke Heibel
42b88983ff
Fixed mean reduction leading to unresolved symbol.
2010-01-29 11:48:16 +01:00
Hauke Heibel
ae06365bbd
Disable variadic macro warning when compiling at full warning level.
...
I was not able to get a macro version running and thus I opted for a cmake patch.
2010-01-29 09:53:19 +01:00
Thomas Capricelli
2b2fcc9460
erm.... using nxn is the actual purpose of this variant, fix this.
2010-01-29 08:59:25 +01:00
Jitse Niesen
375b5faa8a
Fix copy-paste error in first_aligned test.
2010-01-28 17:06:20 +00:00
Benoit Jacob
13b078efc9
remove reference to dead option
2010-01-28 08:46:01 -05:00
Hauke Heibel
33abe75afa
Fixed Quaternion operator*= added regression test.
2010-01-28 10:32:44 +01:00
Thomas Capricelli
98a584ceb8
Put the Status outside of the class, it really does not depend on the
...
FunctorType or Scalar template parameters.
2010-01-28 10:29:26 +01:00
Thomas Capricelli
27cf1b3a97
eigenization of ei_r1updt()
2010-01-28 04:28:52 +01:00
Thomas Capricelli
40eac2d8a0
misc cleaning / eigenization
2010-01-28 04:19:39 +01:00
Thomas Capricelli
fcd074c928
silent warning of icc
2010-01-27 23:43:32 +01:00
Thomas Capricelli
bd732986bc
fix compilation
2010-01-27 23:43:15 +01:00
Gael Guennebaud
0ce5bc0d14
add support for global math function for array
2010-01-27 23:23:59 +01:00
Hauke Heibel
7d92b7ad5f
Modified license header.
2010-01-27 20:47:37 +01:00
Hauke Heibel
3bfba8c9a9
Added the missing unit test file.
2010-01-27 20:34:42 +01:00
Hauke Heibel
5b9cc65418
Added EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION macro including unit tests and documentation.
2010-01-27 20:34:05 +01:00
Benoit Jacob
828d058b4b
EIGEN_ENUM_MIN ---> EIGEN_SIZE_MIN
2010-01-27 11:42:04 -05:00
Benoit Jacob
dcbf104bcc
add EIGEN_DEFAULT_TO_ROW_MAJOR cmake option for the tests.
2010-01-27 07:48:48 -05:00
Benoit Jacob
35bacf7cb8
*forward port fix in MapBase::coeff(int) and coeffRef(int)
...
*forward port expanded map.cpp unit test
*fix unused variable warnings
2010-01-27 07:11:49 -05:00
Thomas Capricelli
7ba9dc07ed
port ei_rwupdt to c++, and misc cleaning
2010-01-27 09:01:13 +01:00
Thomas Capricelli
e97529c2e3
doc : update code, mention examples
2010-01-27 08:14:50 +01:00
Hauke Heibel
4365a48748
Added an ei_linspaced_op to create linearly spaced vectors.
...
Added setLinSpaced/LinSpaced functionality to DenseBase.
Improved vectorized assignment - overcomes MSVC optimization issues.
CwiseNullaryOp is now requiring functors to offer 1D and 2D operators.
Adapted existing functors to the new CwiseNullaryOp requirements.
Added ei_plset to create packages as [a, a+1, ..., a+size].
Added more nullaray unit tests.
2010-01-26 19:42:17 +01:00
Thomas Capricelli
afb9bf6281
use PlanarRotation<> instead of handmade givens rotation in cminpack code
...
+ cleaning.
This results in some more memory being used, but not much.
2010-01-26 17:40:55 +01:00
Thomas Capricelli
c04a93df31
clean r1mpyq: remove fortran leftovers
2010-01-26 14:08:52 +01:00
Thomas Capricelli
55f328b264
misc cleaning
2010-01-26 13:20:24 +01:00
Thomas Capricelli
71f513e250
forgot to commit this: qform.h is not used anymore
2010-01-26 13:08:29 +01:00
Thomas Capricelli
69f11c08a1
more eigenization, dropped 'ipvt' in lm
2010-01-26 12:09:52 +01:00
Thomas Capricelli
8a690299c6
fix possible segfault
2010-01-26 11:48:32 +01:00
Thomas Capricelli
d791b51112
remove spaces
2010-01-26 10:50:43 +01:00
Thomas Capricelli
113995355b
get rid of ei_qform + lot of other cleaning, now that we do not depend on
...
minpack qr factorization.
2010-01-26 08:42:48 +01:00
Thomas Capricelli
ba2a9cce03
some more eigenization
2010-01-26 07:36:15 +01:00
Thomas Capricelli
a3034ee079
cleaning
2010-01-26 06:05:01 +01:00
Thomas Capricelli
91561cded4
use a plain matrix to store the upper triangular matrix 'R', instead
...
of the "compact inside a vector" scheme used by fortran/minpack.
The most difficult part is to fix all related code. Tests pass.
2010-01-26 05:59:58 +01:00
Thomas Capricelli
4b859c8554
cleaning
2010-01-26 01:59:32 +01:00
Thomas Capricelli
c759814f11
some more (thoroughly checked) eigenization
2010-01-26 01:43:58 +01:00
Jitse Niesen
bdb0e9fcd0
Clean up one compilation error and two warnings.
2010-01-26 16:02:19 +00:00
Thomas Capricelli
1403cea087
fix a bug introduced between the cminpack version of Manolis Lourakis and
...
the one from Frédéric Devernay.
Here, we want to compute the max over the column, the -1 is not needed in
fortran because indices start at 1, contrary to c/c++.
2010-01-26 04:55:36 +01:00
Thomas Capricelli
9651e0c503
Use eigen methods for solving triangular systems. We loose again very
...
slightly on both speed and precision on some tests.
2010-01-25 11:34:52 +01:00
Thomas Capricelli
92be7f461b
define ei_lmpar2() that takes a ColPivHouseholderQR as argument. We still
...
need to keep the old one around, though.
2010-01-25 07:23:38 +01:00
Thomas Capricelli
ee0e39284c
Replace the qr factorization from (c)minpack (qrfac) by Eigen's own stuff.
...
Results as checked by unit tests are very slightly worse, but not much.
2010-01-25 07:22:28 +01:00
Thomas Capricelli
1cb0be05b0
useful cleaning
2010-01-25 07:08:08 +01:00
Thomas Capricelli
cbf6022e5a
useless cleaning
2010-01-25 07:07:31 +01:00
Benoit Jacob
6ae7d842a3
generate a compilation error when using ReturnByValue::coeff() or coeffRef(),
...
instead of doing an infinite recursion
2010-01-24 21:44:18 -05:00
Jitse Niesen
858539a6af
Use matrices with clustered eigenvalues in matrix function test.
...
This is in order to get better code coverage.
Test matrix_function_3 now fails regularly because ComplexSchur
reaches the max number of iterations; further study needed.
2010-01-24 22:56:28 +00:00
Thomas Capricelli
d08035f3e1
fix the script again (definitely?) + cleaning
2010-01-22 19:26:29 +01:00
Gael Guennebaud
be11a254ac
rm ExpressionMaker stuff (weird as I was pretty sure that I had already removed them)
2010-01-22 10:17:43 +01:00
Gael Guennebaud
d40c110053
lot of cleaning:
...
- clean the *_PUBLIC_INTERFACE_*
- update Diagonal, ReturnByValue, ForceAlignedAccess, UnaryView, etc. to support array
- many other small stuff
2010-01-22 10:15:41 +01:00
Jitse Niesen
e78e3cd41b
Fix bug in MatrixBase::setIdentity(int, int).
2010-01-20 12:07:46 +00:00
Jitse Niesen
e0c2c6385f
Add small test for Matrix::setIdentity()
...
This is to exhibit the bug that makes the jacobisvd_7 test fail.
2010-01-20 10:51:59 +00:00
Hauke Heibel
89ee9f092f
Fixed compilation of MatrixFunctions module.
2010-01-20 11:32:13 +01:00
Gael Guennebaud
d5d5417062
add SSE code (from Intel) for the fast inversion of 4x4 matrices of double
2010-01-19 16:04:04 +01:00
Gael Guennebaud
60b0ddc3e1
update the fast 4x4 SSE inversion code from more recent Intel's code
2010-01-19 15:33:45 +01:00
Jitse Niesen
a13ffbd836
Get rid off GCC warning on comparing enums from different types.
2010-01-19 11:05:52 +00:00
Mark Borgerding
dacfa97e82
merge
2010-01-18 19:53:44 -05:00
Mark Borgerding
adb2170eb8
removed Eigen::Complex class since it offered insufficient advantage over std::complex when sane real,imag structure packing is assumed.
...
for more info see:
http://www.cpptalk.net/portable-complex-numbers-between-c-c--vt46432.html
2010-01-18 19:39:22 -05:00
Thomas Capricelli
c8b9097740
erm.. forgot to test after previous commit. Now it's ok (tm).
2010-01-19 01:00:59 +01:00
Gael Guennebaud
9f899808d7
fix scalar - matrix
2010-01-18 22:56:47 +01:00
Gael Guennebaud
0158d78906
extend CwiseNullaryOp to support Array
2010-01-18 22:56:25 +01:00
Gael Guennebaud
c70d54257b
add unit tests for true array objects
2010-01-18 22:54:20 +01:00
Thomas Capricelli
c436abd0ac
fix both compilation and previous fix : now 'basicstuff' passes again.
...
(Gael: i dont think you meant removing this setIdentity(), did you?)
2010-01-18 10:29:11 +01:00
Gael Guennebaud
6b380992b5
fix !=
2010-01-18 08:18:48 +01:00
Thomas Capricelli
0c89475317
unit tests for == / != operators
2010-01-17 23:57:59 +01:00
Gael Guennebaud
71630b2160
fix MatrixBaseAddons example
2010-01-17 20:04:49 +01:00
Benoit Jacob
b5a6f382ca
work around warning about /* inside of a comment (gcc 4.4)
2010-01-16 11:50:09 -05:00
Hauke Heibel
37d4505228
More documentation improvements.
2010-01-16 15:43:11 +01:00
Hauke Heibel
90d5a7c0dd
Adapted doxygen's new style sheet.
...
Added documentation to some of the typedefs.
2010-01-15 15:45:07 +01:00
Gael Guennebaud
dd4b2f044d
forgot to include this file in previous commit
2010-01-15 13:36:09 +01:00
Gael Guennebaud
d62ee0668f
remove useless using comp. assignment operators
2010-01-15 13:34:28 +01:00
Gael Guennebaud
76a355817b
fix a warning
2010-01-15 13:26:39 +01:00
Benoit Jacob
bfe6fdde24
allow to multiply a householder sequence and a matrix when one is real and one is complex.
...
This is especially important as in bidiagonalization, the band matrix is real.
2010-01-15 00:35:26 -05:00
Benoit Jacob
ddc32adb0e
New UpperBidiagonalization class
2010-01-14 22:30:58 -05:00
Benoit Jacob
f1d1756cdd
Introduce third template parameter to HouseholderSequence: int Side.
...
When it's OnTheRight, we read householder vectors as rows above the diagonal.
With unit test. The use case will be bidiagonalization.
2010-01-14 19:16:49 -05:00
Gael Guennebaud
5d796e363c
compilation fix for UmfPack
2010-01-14 22:31:06 +01:00
Hauke Heibel
814659c201
Changed parts of the documentation.
...
The param keyword is now tparam (in Matrix).
Made PlainMatrixType non-internal (currently MatrixBase only); I think this is an important typedef in particular when writing your own template methods.
2010-01-14 10:10:07 +01:00
Hauke Heibel
624902f559
Enabled class diagrams (requires dot, i.e. graphviz).
...
Adapted the style sheet in order to center class diagrams.
2010-01-13 17:59:42 +01:00
Hauke Heibel
c0b2aa0ace
Added some minor comments.
...
Adapted some of the doc/snippets.
2010-01-13 17:51:09 +01:00
Thomas Capricelli
a33b2dfeb3
introduce new state, "Not started"
2010-01-13 05:17:58 +01:00
Hauke Heibel
a87c0a5ed8
Fixes #83 .
2010-01-12 17:13:46 +01:00
Hauke Heibel
553fb31f7e
Using operator*= is not required in MapBase. Since no other operator*= is present, none of the base class operator*='s may be hidden and all of them should be visible. As far as I was able to verify, this is not affecting GCC. This fixes #84 .
2010-01-12 16:30:03 +01:00
Hauke Heibel
ffaea1d995
merge
2010-01-12 13:38:46 +01:00
Hauke Heibel
e48c3faf25
Fixed the ProductReturnType (at least for UnrolledProducts).
...
Fixed operator= (MSVC specific) in Array.
2010-01-12 13:38:04 +01:00
Hauke Heibel
a8ea2c8cef
Fixes #81 .
2010-01-12 10:07:06 +01:00
Hauke Heibel
caa9ced853
Add a real plain matrix type to the ei_nested declaration used in product return type.
2010-01-12 09:41:06 +01:00
Jitse Niesen
65cd1c7639
Add support for matrix sine, cosine, sinh and cosh.
2010-01-11 18:05:30 +00:00
Hauke Heibel
a05d42616b
Fixed DenseStorageBase typedef (MSVC specific).
...
Unified the ei_plain_matrix_type.
2010-01-11 18:16:59 +01:00
Benoit Jacob
24a09ceae8
* Fix a bug in HouseholderQR with mixed fixed/dynamic size: must use EIGEN_SIZE_MIN instead of EIGEN_ENUM_MIN, and there are many other occurences throughout Eigen!
...
* HouseholderSequence:
- add shift parameter
- add essentialVector() method to start abstracting the direction
- add unit test in householder.cpp
2010-01-11 08:48:39 -05:00
Hauke Heibel
325da2ea3c
Fixed conservativeResize.
...
Fixed multiple overloads for operator=.
Removed debug output.
2010-01-11 13:57:50 +01:00
Jitse Niesen
376341de4a
Eigen/src/Core/DenseStorageBase.h: add 'typename'
2010-01-11 10:04:39 +00:00
Hauke Heibel
83d21d5ff6
Fixes unit test swap_3. Friends are not inherited.
2010-01-10 23:15:36 +01:00
Hauke Heibel
3d5912d458
Backed out the removal of the actual resize like implementation. Now, resizing by dimension is optional.
2010-01-10 23:11:05 +01:00
Hauke Heibel
350c7beb92
Fixed swapping and corresponding MSVC compilation.
2010-01-10 20:02:26 +01:00
Hauke Heibel
e0f5b4add3
Fixed MSVC compilation.
2010-01-10 15:36:28 +01:00
Jitse Niesen
3eb80eecde
doc/A05_PortingFrom2To3.dox: fix typos
2010-01-09 18:54:31 +00:00
Jitse Niesen
3407e8a67e
triangularView<UpperTriangular> --> triangularView<Upper>
...
Necessary after c5d7c9f0de
(big delete of "triangular").
2010-01-08 12:49:46 +00:00
Jitse Niesen
ef0ed5b271
test/triangular.cpp: isUpper() --> isUpperTriangular()
...
Necessary to get the test to compile after c5d7c9f0de
.
I'm assuming that isUpperTriangular() is the name we want; the alternative
is to change Eigen/src/Core/{MatrixBase,TriangularMatrix}.h
2010-01-08 12:46:24 +00:00
Benoit Jacob
0fb0307377
implement BandMatrix::evalTo (thus avoid infinite recursion when assigning a BandMatrix to a Matrix)
2010-01-07 22:08:18 -05:00
Benoit Jacob
44ed79fc3c
finally, undo this
2010-01-07 22:03:58 -05:00
Benoit Jacob
b05f59ee07
Backed out changeset 58fb27cd56
2010-01-07 22:00:45 -05:00
Benoit Jacob
58fb27cd56
undo
2010-01-07 21:53:52 -05:00
Benoit Jacob
7befc8d6f3
undo my last commit
2010-01-07 21:51:40 -05:00
Trevor Irons
5f0cf1d7f6
Added std::sqrt(std::complex<float>) and std::sqrt(std::complex<double>) support to MathFunctions.h
2010-01-07 15:03:51 -07: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
Benoit Jacob
82ec250a0f
make applyHouseholderOnTheRight take a row vector, not a column vector:
...
this is how it's used in practice.
2010-01-07 12:50:02 -05:00
Gael Guennebaud
c24de5b413
typo
2010-01-06 17:43:11 +01:00
Gael Guennebaud
2fbe8da7a1
improved a bit the list of API changes
2010-01-06 17:35:22 +01:00
Gael Guennebaud
7d3fe69eff
Various documentation updates:
...
- update the tutorial
- update doc of deprecated cwise function
- update cwise doc snippets
2010-01-06 17:18:38 +01:00
Gael Guennebaud
c11300dbd5
a couple of fixes
2010-01-06 17:16:30 +01:00
Thomas Capricelli
a0efdd843c
actually stop on failure
2010-01-06 17:14:31 +01:00
Benoit Jacob
e77748ef96
merge
2010-01-06 08:24:42 -05:00
Benoit Jacob
f287ad651a
fix comments
2010-01-06 08:23:19 -05:00
Gael Guennebaud
95c00ca8ff
started a page on the porting from Eigen2 to 3, updated a bit the tutorial
2010-01-06 13:56:04 +01:00
Gael Guennebaud
023e0dfb4e
improve the new experimental sparse product
2010-01-05 19:56:59 +01:00
Gael Guennebaud
eda4e98c61
merge
2010-01-05 16:04:36 +01:00
Gael Guennebaud
801e601ff1
a couple of improvements in the Autodiff module
2010-01-05 16:04:05 +01:00
Gael Guennebaud
c3823dce72
extend benchmark for sparse products
2010-01-05 16:03:35 +01:00
Gael Guennebaud
d8534be728
add a novel, experimental sparse product
2010-01-05 15:57:16 +01:00
Gael Guennebaud
1837b65b28
add operators *= and /= (bis)
2010-01-05 15:41:01 +01:00
Gael Guennebaud
39209edd71
port unsupported modules to new API
2010-01-05 15:38:20 +01:00
Gael Guennebaud
cab85218db
add missing operators: /, /=, *=
2010-01-05 15:36:32 +01:00
Gael Guennebaud
3e22e3907f
fix types of scalar constants
2010-01-05 15:35:44 +01:00
Gael Guennebaud
97f0f02e10
forgot to hg add this file
2010-01-05 14:36:55 +01:00
Gael Guennebaud
9d9e00b608
merge and add start/end to Eigen2Support
2010-01-05 13:07:32 +01:00
Gael Guennebaud
90d2ae7fec
fix aliasing detection
2010-01-05 12:46:07 +01:00
Gael Guennebaud
37851cfe11
fix a coupe of warnings
2010-01-05 10:15:29 +01:00
Benoit Jacob
51b8f014f3
merge
2010-01-04 21:26:15 -05:00
Benoit Jacob
39ac57fa6d
Big renaming:
...
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
2010-01-04 21:24:43 -05:00
Benoit Jacob
78ba523d30
Make snippet run successfully again:
...
the snippet for 'eval' was taking m=m.transpose() as an example of code
that needs an explicit call to eval(), but that doesn't work anymore now
that we have the clever assert detecting aliasing issues.
2010-01-04 21:23:37 -05:00
Thomas Capricelli
e9724c8ea2
accessor for the levenberg-marquardt parameter
2010-01-05 01:22:53 +01:00
Jitse Niesen
708e6629e2
Further refactoring of MatrixFunction<MatrixType, 1>
...
* move some data to member variables
* split and/or rename member functions
* document all members
2010-01-04 23:13:15 +00:00
Thomas Capricelli
fd19e0a9ea
unimportant small fix
2010-01-04 23:25:00 +01:00
Thomas Capricelli
57275b2b8c
make some changes to please clang, fix some warnings too.
2010-01-04 23:21:04 +01:00
Thomas Capricelli
95d9cb77f8
fix compilation in some cases
2010-01-04 22:45:33 +01:00
Gael Guennebaud
71a171c267
s/asMatrix()/matrix()
2010-01-04 19:13:08 +01:00
Gael Guennebaud
b6898996d4
fix dirty triangular unit test
2010-01-04 19:02:43 +01:00
Gael Guennebaud
8eab9fb87e
port VectorwiseOp and Swap to the novel mechanisms, and various cleanning
2010-01-04 19:00:16 +01:00
Gael Guennebaud
826bff58c6
Fix #69 for the second time, and add the respective regression test
2010-01-04 17:36:26 +01:00
Benoit Jacob
80d1f9e966
remove debug output. sorry!
2010-01-02 18:01:39 -05:00
Benoit Jacob
ff94eaa4ae
clarify docs as requested on forum
2010-01-02 12:55:32 -05:00
Benoit Jacob
25f8adfa6c
* Fix bug #79 : ei_alignmentOffset was assuming that ptr is multiple of
...
sizeof(Scalar), and that assumption breaks with double on linux x86-32.
* Rename ei_alignmentOffset to ei_first_aligned
* Rewrite its documentation and part of its body
* The variant taking a MatrixBase doesn't need a separate size argument.
2010-01-02 12:38:16 -05:00
Benoit Jacob
ed5c972801
put the assign assert and debug info before the assignment itself
2010-01-01 21:47:53 -05:00
Benoit Jacob
c436d94f18
Instead of EIGEN_JOBS, introduce EIGEN_MAKE_ARGS and EIGEN_CTEST_ARGS. This is much more powerful!
...
Notice that CTest 2.8 supports the -j argument, although that is undocumented.
Last commit of 2009! Happy new year to all!
2009-12-31 16:13:56 -05:00
Benoit Jacob
2038f9cc8d
* The 'check' and 'buildtests' scripts no longer take a jobs parameter.
...
Instead, they honor the EIGEN_JOBS environment variable if defined.
* The syntax ${BLABLA} in bash scripts was conflicting with CMake configured
file syntax. Resolved by using the @ONLY option and the @BLABLA@ syntax.
2009-12-30 15:07:05 -05:00
Jitse Niesen
233540e58a
Refactoring of MatrixFunction: Simplify handling of fixed-size case.
2009-12-30 17:34:48 +00:00
Jitse Niesen
fcf821b77d
Rename test per naming convention.
2009-12-28 22:30:08 +00:00
Jitse Niesen
d35cc381fe
Refactor MatrixFunction class: Split new class MatrixFunctionAtomic off.
2009-12-27 20:44:19 +00:00
Jitse Niesen
a25c9b1e46
Simplify and document Sylvester equation solver in MatrixFunction.
2009-12-27 18:09:50 +00:00
Gael Guennebaud
72b6c05bf0
sorry for committing this mess
2009-12-23 13:30:25 +01:00
Gael Guennebaud
24302ad5cd
fix #76 , MayLinearVectorize depends on MaxSizeAtCompileTime and not on MaxInnerSize
2009-12-23 13:19:28 +01:00
Gael Guennebaud
0b5853d917
fix the xpr analyzer for Transpose
2009-12-23 13:17:46 +01:00
Gael Guennebaud
c90ccd089a
clean a bit Hessenberg and make sure the subdiagonal coeff is real even for 2x2 matrices
2009-12-23 12:30:05 +01:00
Gael Guennebaud
791bac25f2
fix #75 , and add a basic unit test for Hessenberg
...
(it was indirectly tested by the eigenvalue decomposition)
2009-12-23 12:18:54 +01:00
Gael Guennebaud
d65c8cb60a
fix #69 and extend unit tests or triangular solvers
2009-12-23 11:48:53 +01:00
Gael Guennebaud
5adfe934c8
add checks for on the right triangular solving with matrices
2009-12-23 10:24:13 +01:00
Gael Guennebaud
fcc3be5dce
a couple of fixes after thye merge
2009-12-23 09:07:01 +01:00
Gael Guennebaud
eaaba30cac
merge with default branch
2009-12-22 22:51:08 +01:00
Gael Guennebaud
e182e9c616
extend the DenseStorageMatrix mechanism to all expressions
2009-12-22 17:37:11 +01:00
Jitse Niesen
eeec7d842e
merge
2009-12-21 19:13:31 +00:00
Jitse Niesen
f54a2a0484
Add support for general matrix functions.
...
This does the job but it is only a first version. Further plans:
improved docs, more tests, improve code by refactoring, add convenience
functions for sine, cosine, sinh, cosh, and (eventually) add the matrix
logarithm.
2009-12-21 18:53:00 +00:00
Benoit Jacob
4ec99bbc0c
support gcc 4.5
2009-12-21 13:49:43 -05:00
Jitse Niesen
9f1fa6ea5e
Fix compilation error in doc/examples/class_CwiseBinaryOp.cpp .
...
This is a follow-up of 9d54783036
(better work around for empty structs).
2009-12-21 18:16:01 +00:00
Jitse Niesen
32f6242b60
Set default for second argument for check script.
...
Otherwise, buildtests will be run with a second argument of "" if check
is called with only one argument, which leads to infinitely many jobs.
2009-12-21 11:35:08 +00:00
Gael Guennebaud
02beaea2f8
add missing inclusion of LU/arch, thanks to J.B. Rouault
2009-12-19 13:49:00 +01:00
Gael Guennebaud
f8cb9a6230
oops, remove duplicated ctor
2009-12-19 13:45:14 +01:00
Gael Guennebaud
9d54783036
much better workaround for empty struct (the previous one caused GCC 4.3 to generate wrong code leading to segfaults)
2009-12-18 17:08:59 +01:00
Gael Guennebaud
af4d8c5cec
a couple of fixes, now Array passes the linearstructure test
2009-12-17 19:28:54 +01:00
Gael Guennebaud
4b70b47998
clean a bit Matrix and fix static Map functions
2009-12-17 14:48:26 +01:00
Gael Guennebaud
5ca90e1b0c
some cleaning in DenseStorageBase
2009-12-17 13:56:33 +01:00
Gael Guennebaud
ebb2878829
finally add a Array class with storage via the introduction of a DenseStorageBase
...
base class shared by both Matrix and Array
2009-12-17 13:37:00 +01:00
Gael Guennebaud
4e9c227bd5
partial LU optimization: noalias
2009-12-17 11:43:42 +01:00
Gael Guennebaud
30d47860dd
more fixes
2009-12-17 10:43:46 +01:00
Gael Guennebaud
34c95029ca
a couple of fixes and cleaning
2009-12-17 10:00:35 +01:00
Jitse Niesen
945cbc3bc6
Add test for issue #75 (Hessenberg of 1x1 matrix).
...
Also remove an superfluous #include in matrixExponential test.
2009-12-16 22:24:24 +00:00
Gael Guennebaud
2033903376
a trivial compilation fix
2009-12-16 19:21:10 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Gael Guennebaud
22a6ab1f4b
add an eigen2support test and a few fixes
2009-12-16 17:37:21 +01:00
Benoit Jacob
5cb779e5e1
* introduce ei_alignmentOffset(MatrixBase&,Integer)
...
couldnt put it in Memory.h as it needs the definition of MatrixBase
* make Redux use it
2009-12-16 08:53:14 -05:00
Gael Guennebaud
e0aa29121f
this really fix the previous warning
2009-12-16 13:06:47 +01:00
Gael Guennebaud
c35fcf3bbd
fix warning by making ei_empty_struct::_ei_dummy_ private
2009-12-16 12:53:55 +01:00
Gael Guennebaud
bb59c22dc9
fix compilation when mixing types
2009-12-16 12:48:15 +01:00
Gael Guennebaud
6db6774c46
* fix aliasing checks when the lhs is also transposed. At the same time,
...
significantly simplify the code of these checks while extending them
to catch much more expressions!
* move the enabling/disabling of vectorized sin/cos to the architecture traits
2009-12-16 11:41:16 +01:00
Gael Guennebaud
7a9988ebb6
fix spasre triangular solve for row major lower matrices
2009-12-14 10:25:21 +01:00
Thomas Capricelli
0d8ffe5240
ignore more build*/ directories
2009-12-11 02:39:49 +01:00
Gael Guennebaud
a314814a6e
suppress unused variable warnings
2009-12-15 13:59:02 +01:00
Benoit Jacob
949f14e1e4
no, this wasn't equivalent to ei_pload at all, after all!
2009-12-15 07:43:05 -05:00
Benoit Jacob
805eb9cc8b
Gael, who is a man of few words^Winstructions, is right, as usual.
2009-12-15 06:50:40 -05:00
Hauke Heibel
3ea1f97f69
Suppressed the warning for missing assignment generators (forgot that in the last submission).
...
Commented Quake3's fast inverser sqrt in SSE's MathFunction header.
2009-12-15 08:09:14 +01:00
Benoit Jacob
46a9cac7fb
silence 'statement has no effect' warning with gcc 4.4
2009-12-14 23:31:00 -05:00
Benoit Jacob
4948448939
*use scalar instructions, packet not needed here
...
*remove unused var warning
2009-12-14 23:13:54 -05:00
Benoit Jacob
39095c8faa
only include SSE path if SSE enabled
2009-12-14 22:52:11 -05:00
Benoit Jacob
d02eccf584
add SSE path for Matrix4f inverse, taken from Intel except that we do a kosher
...
division instead of RCPPS-followed-by-Newton-Raphson. The rationale for that is
that elsewhere in Eigen we dont allow ourselves this approximation (which throws
2 bits of mantissa), so there's no reason we should allow it here.
2009-12-14 22:47:14 -05:00
Benoit Jacob
d5f3b2dc94
change the Arch constants: const int ---> enum, more explicit names, and use
...
of a namespace instead of Prefix_Name.
2009-12-14 17:26:24 -05:00
Hauke Heibel
832045d363
Warning 4512 (assignment operators could not be generated) is now simply disabled.
...
All unimplemented assignment operators have been removed.
2009-12-14 10:32:43 +01:00
Hauke Heibel
4498864fc8
Fixed a bad type conversion.
2009-12-13 09:26:57 +01:00
Jitse Niesen
63957ad5d6
Remove //@{ ... //@} for same reason as in changeset 2026ea7ff2
...
.
2009-12-13 00:29:31 +00:00
Jitse Niesen
929521678d
Correct type of ei_solve_retval<LLT,...>::operator=
2009-12-12 23:54:44 +00:00
Hauke Heibel
3dce51bd8e
Removed more warnings.
2009-12-12 14:49:43 +01:00
Hauke Heibel
d088ee35f6
Added to possibility to compile unit tests at maximum warning level.
...
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Hauke Heibel
494a88685e
Fixed the bad fix - now the unsupported examples and snippets work on windows.
2009-12-11 19:39:01 +01:00
Hauke Heibel
9a8c16810b
Reverted Jitse's change - the targets unsupported_examples and unsupported_snippets are unknown over here.
2009-12-11 19:11:01 +01:00
Jitse Niesen
2026ea7ff2
Coax doxygen in producing better docs for MatrixFunctions.
...
The //@{ ... //@} in unsupported/Eigen/MatrixFunctions for some reason
caused doxygen to list the constructor of the MatrixExponential class
as a separate function in the MatrixFunctions module without any reference
to the class; very confusing.
2009-12-11 15:54:21 +00:00
Thomas Capricelli
7d444375e7
fix compilation (for some reason the pb happens only under windows)
2009-12-11 02:38:28 +01:00
Gael Guennebaud
9facdaf7b9
some compilation fixes
2009-12-10 22:15:22 +01:00
Gael Guennebaud
7caf751fdd
adapt select, replicate and reverse
2009-12-10 22:00:35 +01:00
Benoit Jacob
d2e44f2636
* 4x4 inverse: revert to cofactors method
...
* inverse tests: use createRandomMatrixOfRank, use more strict precision
* tests: createRandomMatrixOfRank: support 1x1 matrices
* determinant: nest the xpr
* Minor: add comment
2009-12-09 12:43:25 -05:00
Benjamin Schindler
f0315295e9
Handle row and col major matrices in the gdb pretty printer
2009-12-08 19:12:26 +01:00
Benjamin Schindler
4da991eaa8
Display the data ptr as part of the header
2009-12-08 18:40:36 +01:00
Benjamin Schindler
a4c162dbdc
Correct license header of the gdb pretty printer
2009-12-08 18:18:05 +01:00
Benjamin Schindler
f2304f3b88
Adding __init__.py so the printers can be used directly from the checkout
2009-12-08 18:17:46 +01:00
Hauke Heibel
64beff03b6
Added a 'pretty printer' for the msvc debugger (tested on Visual Studio 2008).
2009-12-08 18:09:00 +01:00
Benjamin Schindler
097cab26fb
Added a pretty printer python script for Eigen::Matrix (gdb-7.0 and later).
2009-12-08 18:06:03 +01:00
Jitse Niesen
8bfa354ee3
Documentation clean up.
...
* remove non-existant reference to CwiseAll
* define \householder_module (used in HouseholderSequence.h)
* update I01_TopicLazyEvaluation.dox - Product is now called GeneralProduct
* remove reference to list of examples which was deleted ages ago
* rename PartialLU_solve.cpp snippet to PartialPivLU_solve.cpp
2009-12-08 15:12:27 +00:00
Jitse Niesen
a682a0eeb1
C05_TutorialLinearAlgebra.dox: Correct file name
2009-12-08 11:08:04 +00:00
Jitse Niesen
39ceba409b
Various improvements to the docs for unsupported.
...
* Enable compilation of examples for unsupported.
* Fix use of std::vector in BVH example.
* Add an example for the matrix exponential.
* Bug fixes in unsupported/doc/{examples,snippets}/CMakeLists.txt .
2009-12-07 19:10:11 +00:00
Gael Guennebaud
8e05f9cfa1
add a DenseBase class for MAtrixBase and ArrayBase and more code factorisation
2009-12-04 23:17:14 +01:00
Gael Guennebaud
36969cc2a5
add a slerp benchmark (for accuracy and speed))
2009-12-04 15:02:38 +01:00
Gael Guennebaud
c68c695b87
Fix poor Quaternion::slerp snapping
2009-12-04 15:01:17 +01:00
Gael Guennebaud
ea684af6b4
merge
2009-12-04 12:40:29 +01:00
Gael Guennebaud
7aad434160
fix compilation and clean a bit Map<Quaternion>
2009-12-04 12:26:56 +01:00
Marton Danoczy
ffaea19a70
Fixed compilation warnings in MSVC with Scalar==float
2009-12-03 14:01:34 +01:00
bjornpiltz
af17770680
Fix compilation for MSVC.
2009-12-03 09:27:15 +01:00
Mark Borgerding
012cd62c81
explicitly cast to use the acos(long double)
2009-12-02 22:58:34 -05:00
Mark Borgerding
e5c91b4e95
removed troublesome M_PI and M_PIl constants
2009-12-02 17:23:09 -05:00
Gael Guennebaud
e12f5adbde
fix MSVC10 compilation
2009-12-02 19:32:54 +01:00
Benoit Jacob
de25059502
* Remove test_ prefix in tests
...
* tests now honor EIGEN_REPEAT and EIGEN_SEED if no arguments were passed
2009-12-02 12:07:47 -05:00
Benoit Jacob
b0100a336a
merge
2009-12-02 11:12:02 -05:00
Benoit Jacob
3e73f6036c
* HouseholderSequence:
...
* be aware of number of actual householder vectors
(optimization in non-full-rank case, no behavior change)
* fix applyThisOnTheRight, it was using k instead of actual_k
* QR: rename matrixQ() to householderQ() where applicable
2009-12-02 11:11:09 -05:00
Hauke Heibel
e3b5a90611
Removed unused 'benchmark'.
2009-12-02 16:51:40 +01:00
Benoit Jacob
3279e39340
* fix include for case-sensitive filesystem
...
* on GNU, clock_gettime requires linking -lrt
2009-12-02 10:03:16 -05:00
Mathieu Gautier
26ea7c9801
* remove empty destructors in Matrix.h and MatrixStorage.h
2009-12-02 11:09:56 +01:00
Hauke Heibel
84551d067e
merge
2009-12-02 11:08:44 +01:00
Hauke Heibel
95861fbd6c
Added NestByValue and .nestByValue() again for the sake of backwards compatibility.
2009-12-02 10:53:30 +01:00
Hauke Heibel
e3612bc0b8
Removed unnecessary code.
2009-12-02 09:11:24 +01:00
Mark Borgerding
c05ae35441
merge with tip
2009-12-01 18:03:15 -05:00
Mark Borgerding
ff1e9542f6
added comments to help vim understand the header files are c++.
2009-12-01 18:00:29 -05:00
Mark Borgerding
d1e06721a2
instruction to remove CMakeCache.txt for out-of-source build
2009-12-01 17:39:29 -05:00
Mark Borgerding
0e8cd8de4d
quieted signed/unsigned comparison warning
2009-12-01 17:38:23 -05:00
Mark Borgerding
8fce0b5459
added newline at the end of file to quiet gcc warning
2009-12-01 17:37:33 -05:00
Thomas Capricelli
291fd4f8da
merge
2009-12-01 21:07:20 +01:00
Benoit Jacob
68117c267c
ColPivQR: now the unit tests even succeeds:
...
* with random matrices multiplied by 1e+8 (i.e. fixed wrong absolute fuzzy compare)
* with 10,000 repetitions (i.e. the fuzzy compare is really clever)
and when it occasionnally fails, less than once in 10,000 repeats, it is only on the exact rank computation.
2009-12-01 13:51:35 -05:00
Benoit Jacob
95d88e1327
Big reworking of ColPivQR and its unit test, which now passes even with thousands of repetitions and correctly tests matrices of all sizes. Several surprises along the way: for example, a major cause of trouble was the optimized "table of column squared norms" where the accumulation of imprecision was a serious issue; another surprise is that tests like "x!=0" before dividing by x really benefit from being replaced by fuzzy tests, as i hit real cases where i got wrong results in 1/epsilon.
2009-12-01 13:26:29 -05:00
Benoit Jacob
49c0986d86
minor cleanup
2009-12-01 13:22:14 -05:00
Hauke Heibel
d3250cb38f
That's it NestByValue and .nestByValue() are both gone!
2009-12-01 13:29:08 +01:00
Hauke Heibel
b08d5b2d2c
Even more NestByValue cleanup...
2009-12-01 13:16:51 +01:00
Hauke Heibel
2bf354da80
Much more NestByValue cleanup.
2009-12-01 11:51:22 +01:00
Hauke Heibel
3091be5134
Removed NestByValue dependency from Cholesky, Eigenvalues, LU and QR.
2009-12-01 10:22:54 +01:00
Hauke Heibel
7b3e205ebd
Removed NestByValue dependency from VectorwiseOp.
2009-12-01 09:56:40 +01:00
Hauke Heibel
88be826791
Removed NestByValue dependency from MatrixBase::select().
2009-12-01 09:49:15 +01:00
Hauke Heibel
82971a5dcd
Adapted the number of test runs.
2009-12-01 09:29:56 +01:00
Hauke Heibel
1fc5fdea25
Added missing typedef (will I ever learn it!?)
...
Removed unsupported directories that do not provide CMakeList.txt (CMake 2.8 warning).
The BenchTimer is now also working on Cygwin.
2009-12-01 09:20:05 +01:00
Hauke Heibel
052742e6f9
merge
2009-12-01 07:55:07 +01:00
Hauke Heibel
7af1ee0b6c
Added the profiling test to unsupported.
2009-12-01 07:53:09 +01:00
Gael Guennebaud
b2a5fb874f
add specialization ei_ref_selector for sparse matrix types
2009-12-01 06:21:29 +01:00
Thomas Capricelli
120882c4f1
fix another 'duplicated content in doxygen pages' bug : exclude *.orig
...
files
2009-11-30 19:42:00 +01:00
Hauke Heibel
e6c560aedf
Removed wrong typename.
2009-11-30 19:06:07 +01:00
Hauke Heibel
1c2e476fa7
Initial commit for a modified ei_nested logic.
2009-11-30 18:56:56 +01:00
Hauke Heibel
66534b782c
Some of our unit tests require mathematical constants and thus we rely on non-ansi code.
...
It seems as if the new standard removed pow(T,int).
M_PIL is only defined when _GNU_SOURCE is defined.
2009-11-30 16:54:04 +01:00
Thomas Capricelli
21ff296652
Adapted a mail from Mark about some design and add it as documentation for
...
the FFT module.
2009-11-30 16:21:21 +01:00
Thomas Capricelli
a255336e4f
fix doc
2009-11-28 02:42:05 +01:00
Benoit Jacob
4b1aca2288
precision ---> dummy_precision
2009-11-26 22:05:02 -05:00
Thomas Capricelli
c245054aa8
cleaning
2009-11-26 08:30:38 +01:00
Thomas Capricelli
f948df5a72
cleaning
2009-11-26 07:37:37 +01:00
Thomas Capricelli
db39f892a3
kill yet another un-needed parameter
2009-11-26 05:48:38 +01:00
Thomas Capricelli
905aecf803
make qrsolv use eigen types
2009-11-26 04:29:51 +01:00
Thomas Capricelli
e18caf7a01
clean qrsolv
2009-11-26 04:06:40 +01:00
Thomas Capricelli
e95f736402
reduce ei_qrsolv() signature, wa is actually a 'working array'
2009-11-26 03:26:41 +01:00
Benoit Jacob
5923bcb1b9
improve the scripts for building unit tests:
...
* support unsupported/
* use egrep instead of grep, properly escape special chars.
2009-11-25 21:26:37 -05:00
Thomas Capricelli
746c787a76
computes column norms outside of ei_qrfac()
2009-11-26 02:53:58 +01:00
Thomas Capricelli
9cbfdbad22
cleaning
2009-11-26 02:42:27 +01:00
Thomas Capricelli
f795681da0
export stableNorm(), blueNorm() and hypotNorm() to colwise() and rowwise()
...
+ rudimentary test
2009-11-26 02:28:13 +01:00
Thomas Capricelli
dca80b5f22
use typedef
2009-11-25 23:08:46 +01:00
Thomas Capricelli
a6380ae272
silent warnings
2009-11-25 23:08:39 +01:00
Benoit Jacob
40ce7589de
Added tag actual-start-from-scratch for changeset 1dabb45d94
2009-11-25 10:57:32 -05:00
Benoit Jacob
1e2bcba5e4
forward port slight changes in the 4x4 inverse test
2009-11-25 09:08:03 -05:00
Benoit Jacob
684d76eba3
add SSE4 support, start with integer multiplication
2009-11-24 15:12:43 -05:00
Benoit Jacob
abdb2a2bd5
fix assert and handle Unit shapes
2009-11-24 12:14:40 -05:00
Benoit Jacob
e6ea9e401c
improve precision test
2009-11-23 11:24:06 -05:00
Benoit Jacob
44d0d667cd
4x4 inverse:
...
* change block selection threshold from 1e-2 to 1e-1
* add rigorous precision test
2009-11-23 10:13:21 -05:00
Thomas Capricelli
06f11f3379
fix important typo
2009-11-21 02:00:47 +01:00
Gael Guennebaud
80ebeae48d
Add the concept of base class plugins, and started to write the ArrayBase class.
...
Sorry for this messy commit but I have to commit it...
2009-11-20 18:20:55 +01:00
Gael Guennebaud
4af1753b6f
* remove EnforceAlignedAccess option to Block, VectorBlock, Map and MapBase
...
because thanks to the previous commit this is not needed anymore
* add a more general ForceAlignedAccess expression which can be used for any expression.
It is already used by StableNorm.h.
2009-11-20 16:30:14 +01:00
Benoit Jacob
3c5e32f0da
improvements in FindEigen*.cmake, ported from changes in CMakeLists.txt:
...
- better regular expression
- grep the whole file, not expensive anyway, more robust
2009-11-20 10:17:59 -05:00
Gael Guennebaud
eb8f450071
Hey, finally the copyCoeff stuff is not only used to implement swap anymore :)
...
Add an internal pseudo expression allowing to optimize operators like +=, *= using
the copyCoeff stuff.
This allows to easily enforce aligned load for the destination matrix everywhere.
2009-11-20 15:39:38 +01:00
Jitse Niesen
34be9d4537
Replace toDense() by toDenseMatrix() in tests.
2009-11-20 12:22:46 +00:00
Jitse Niesen
b0baf43114
Eigen/CMakeLists.txt: remove parens from if.
...
Only CMake 2.6.3 and later recognize this syntax, and at the moment we
require 2.6.2. CMake uses the right precendence, per its man page, so the
parentheses are not necessary.
2009-11-20 11:26:26 +00:00
Benoit Jacob
6cbf662f14
* don't laugh, but these bugs took me forever to fix.
...
* expand unit tests to make sure to catch them: they nearly escaped the existing tests as these memory violations were highly dependent on the numbers of rows and cols.
2009-11-19 22:01:13 -05:00
Benoit Jacob
eac3232095
minor improvements in triangular stuff
2009-11-19 20:50:50 -05:00
Benoit Jacob
88b551e89b
* fix compilation of unit-tests (sorry, had tested only 1 channel)
...
* remove buggy (superfluous?) specialization in the meta-unroller
2009-11-19 19:20:19 -05:00
Benoit Jacob
a20a744adc
TriangularMatrix: extend to rectangular matrices
2009-11-19 17:07:55 -05:00
Benoit Jacob
2275f98d7b
move signature file to root directory, where it belongs
2009-11-19 12:41:28 -05:00
Benoit Jacob
bbf0eb35a7
* in Eigen/CMakeLists.txt, finally do a globbing to we no longer will have problems with "oops forgot to install new module".
...
* add a file Eigen/signature_of_eigen3_matrix_library, use it to make FindEigen3.cmake more solid: able to find Eigen in either eigen3/ or eigen/ and not mix it up with Eigen2.
2009-11-19 12:31:11 -05:00
Benoit Jacob
b5f4636d42
* eigen2->eigen3
...
* bump version to 2.91.0
* add FindEigen3.cmake
2009-11-19 12:09:04 -05:00
Benoit Jacob
abb2a1bb15
simplification
2009-11-18 17:44:20 -05:00
Benoit Jacob
126a8e6a69
fix remaining bug in ColPivHouseholderQR, so now all tests pass again
2009-11-18 17:40:45 -05:00
Benoit Jacob
40865fa28c
fix bugs, old and new:
...
* old bug: in CwiseBinaryOp: only set the LinearAccessBit if both sides have the same storage order.
* new bug: in Assign.h, only consider linear traversal if both sides have the same storage order.
2009-11-18 17:20:39 -05:00
Benoit Jacob
11fa2ae2c6
temporarily disable linear traversal.
...
Actually I don't think it's buggy. But it probably triggers existing bugs, I suspect that
some xprs have LinearAccessBit and shouldn't have it.
Also this fixes the "bugs" with JacobiSVD ---> now it works again
2009-11-18 16:31:14 -05:00
Benoit Jacob
8860203e6a
fix stuff after the PermutationMatrix changes.
...
I still have JacobiSVD errors when cols>rows
2009-11-18 12:41:24 -05:00
Gael Guennebaud
e3d890bc5a
Another big refactoring change:
...
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
2009-11-18 18:15:19 +01:00
Benoit Jacob
94c706d04f
Assign.h: add LinearTraversal (non-vectorized index-based traversal)
...
Rename some constants to make names match more closely what they mean.
2009-11-18 11:57:07 -05: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
9f21e2aab7
port the QR module to PermutationMatrix
2009-11-17 08:14:54 -05:00
Gael Guennebaud
63bcc1c0fb
adapt CwiseBinaryOp and the Sparse counter part
2009-11-17 10:11:27 +01:00
Benoit Jacob
30b610a10f
vade retro
2009-11-16 21:45:01 -05:00
Benoit Jacob
ac00902f84
for consistency: PlainMatrixType ---> DenseMatrixType
2009-11-16 21:43:15 -05:00
Benoit Jacob
984c000778
addToDense ---> addTo
...
subToDense ---> subTo
2009-11-16 21:33:41 -05:00
Benoit Jacob
07412b2075
PermutationMatrix: add setIdentity and transpositions methods
...
LU: make use of that
2009-11-16 21:28:26 -05:00
Benoit Jacob
b90744dc05
Port FullPivLU to PermutationMatrix
2009-11-16 17:05:12 -05:00
Benoit Jacob
76c614f9bd
PartialPivLU: port to PermutationMatrix
...
PermutationMatrix: add resize()
2009-11-16 15:36:07 -05:00
Benoit Jacob
eb6df28c6c
DiagonalMatrix: release-quality documentation
...
BandMatrix: rename toDense() ---> toDenseMatrix() for consistency
2009-11-16 15:25:58 -05:00
Benoit Jacob
e8d0dbf82e
PermutationMatrix:
...
* make multiplication order not be reversed
* release-quality documentation
2009-11-16 15:07:33 -05:00
Benoit Jacob
8a1bada43d
initialize-by-zero: remember that when the newsize==oldsize, resize() must remain a NOP
2009-11-16 13:45:06 -05:00
Gael Guennebaud
1c9a2d246f
adapt CwiseUnaryOp and CwiseUnaryView
2009-11-16 19:39:29 +01:00
Gael Guennebaud
2a3a6fe45e
Experiment the ET refactoring on Transpose for Dense and Sparse storages.
...
All tests work fine.
2009-11-16 18:19:08 +01:00
Benoit Jacob
307898e84b
merge
2009-11-16 09:39:59 -05:00
Benoit Jacob
b25eb5fdaa
PermutationMatrix: add inverse() and product of permutations
2009-11-16 09:39:07 -05:00
Benoit Jacob
e09768e3bc
handle make errors ---> exit, don't run ctest
2009-11-16 09:38:44 -05:00
Thomas Capricelli
a89b22f352
rename test for coherency with previous renaming of the module
2009-11-16 04:34:04 +01:00
Thomas Capricelli
f7e73f1bf9
don't be shy and test them all
2009-11-16 04:20:13 +01:00
Benoit Jacob
955cd7f884
* add PermutationMatrix
...
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
2009-11-15 21:12:15 -05:00
Benoit Jacob
1aaa9059c0
maketests -> buildtests
2009-11-15 19:26:28 -05:00
Benoit Jacob
9aa37f3108
prevent in-source builds. hope it's ok with you... it's still possible, of course, to have the build dir as a subdir of the source dir.
2009-11-15 00:11:33 -05:00
Benoit Jacob
3f04a14d7c
there's no reason why we should follow the FSF's stupid recommendation for the naming of these files, right? This could give the wrong impression that Eigen is only GPL-licensed.
2009-11-14 23:26:07 -05:00
Benoit Jacob
c4dacabcc8
add workaround for Guillaume
2009-11-14 22:04:55 -05:00
Mathieu Gautier
6680fa42ee
* add Map<Quaternion> test based on Map from test/map.cpp
...
* replace implicit constructor AngleAxis(QuaternionBase&) by an explicit one, it seems ambiguous for the compiler
* remove explicit constructor with conversion type quaternion(Quaternion&): conflict between constructor.
* modify EIGEN_INHERIT_ASSIGNEMENT_OPERATORS to suit Quaternion class
2009-11-13 16:41:51 +01:00
Jitse Niesen
d07c05b3a5
Build tests for unsupported modules if EIGEN_LEAVE_TEST_IN_ALL_TARGET
2009-11-13 13:05:57 +00:00
Benoit Jacob
7e3c4096d8
xargs ---> xargs echo
...
(xargs alone doesnt seem to be documented in the man page, while xargs echo is documented)
2009-11-12 15:37:50 -05:00
Benoit Jacob
9b7708f660
introduce check target, and some renaming
2009-11-12 15:02:52 -05:00
Benoit Jacob
8b563d7163
ouch, avoid infinite loop!
...
optimization is not so important here, so a for loop will do.
2009-11-12 14:08:47 -05:00
Benoit Jacob
5266a78aca
also optionnally initialize by zero after resizing
2009-11-12 12:49:00 -05:00
Benoit Jacob
8132ee3908
* add non-default option to initialize matrices by 0
...
(useful for porting)
* maketests really has to be in test/
2009-11-12 12:39:22 -05:00
Benoit Jacob
358452bbe6
* add ./debug and ./release scripts
...
* update the messages
* rename EIGEN_CMAKE_RUN_FROM_CTEST to something saner
2009-11-12 12:07:18 -05:00
Benoit Jacob
fc492b6264
add mctestr script. In your build directory, just do:
...
./mctestr ^qr 5
and it will build all tests matching ^qr with 5 jobs and then do `ctest -R ^qr`
2009-11-12 09:35:10 -05:00
Benoit Jacob
bc18ba7e49
* add maketests script. It is like make but takes a regexp allowing to build selected targets. Next step will be a "mctestr" script doing that and then calling ctest -R.
...
* in runtest.sh, don't override the default number of repeats. If one thinks the default should be changed, let's change it at the source.
2009-11-11 21:25:21 -05:00
Benoit Jacob
ff7fbc9431
* use standard CMAKE_BUILD_TYPE
...
* remove debug_xxx targets
* runtest.sh: don't run make
2009-11-11 16:11:33 -05:00
Jitse Niesen
343eec7ca8
Compilation fix: makeHousholderInPlace now uses references.
2009-11-11 16:23:09 +00:00
Benoit Jacob
bf691cc3f1
fix PowerPC platform detection
2009-11-11 10:52:00 -05:00
Thomas Capricelli
b53c2fcc99
fix for *.pc install dir (suggested by Ingmar Vanhassel on IRC)
2009-11-11 15:28:39 +01:00
Benoit Jacob
a440385b41
*adapt Householder to the convention that we now favor refs over ptrs for output. Keep "workspace" as pointer because it is an array (which is now more obvious).
...
*rename makeHouseholderSequence to householderSequence, because that's what it returns.
2009-11-10 21:22:20 -05:00
Thomas Capricelli
e06aa749a4
doxygen : exclude diff files
2009-11-10 22:17:23 +01:00
Thomas Capricelli
2612bbdf8b
make the complex module appear in doxygen + small documentation
2009-11-10 22:02:10 +01:00
Thomas Capricelli
d47a723a6e
make FFT appear in doxygen doc, and provide a mininum of documentation
2009-11-10 21:58:17 +01:00
Thomas Capricelli
2c9f46d151
fix Skyline module doxygen stuff
2009-11-10 21:47:57 +01:00
Thomas Capricelli
df117a64c7
merge with main repository
2009-11-10 21:34:43 +01:00
Thomas Capricelli
ae76c97704
documentation fixes
2009-11-10 21:33:36 +01:00
Gael Guennebaud
f647fb8dd4
fix compilation and removed some unused stuff in skyline
2009-11-10 21:22:55 +01:00
Thomas Capricelli
6a56262bf4
merge with main repository
2009-11-10 20:31:07 +01:00
Gael Guennebaud
58632c1652
fix #68 I did not see the skyline matrix patch contained that
2009-11-10 14:19:03 +01:00
Gael Guennebaud
1879403562
mv the Skyline module to unsupported/
2009-11-10 12:47:42 +01:00
Thomas Capricelli
42b92c2022
merge with main repository
2009-11-09 19:02:52 +01:00
Thomas Capricelli
77fd44a246
revert previous commit on the matter : once doxygen cache is flushed
...
this gives very bad results
2009-11-09 19:00:48 +01:00
Benoit Jacob
92749eed11
* merge
...
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
2009-11-09 09:08:03 -05:00
Benoit Jacob
4b366b07be
add missing includes
2009-11-09 08:04:20 -05:00
Benoit Jacob
9a0900e33e
last round of changes, mainly to return derived types instead of base types, and fix various compilation issues
2009-11-09 07:51:31 -05:00
Gael Guennebaud
670651e2e0
Quaternion: fix compilation, cleaning
2009-11-09 10:48:18 +01:00
Thomas Capricelli
087df89e20
few doc fixes
2009-11-09 06:45:27 +01:00
Thomas Capricelli
d1cc2745f7
Reduce general diff with eigen-tip. Moreover, this test now seems to pass
...
again.
2009-11-09 05:12:50 +01:00
Thomas Capricelli
17f3e8571c
more documentatin
2009-11-09 04:52:47 +01:00
Thomas Capricelli
3e17046668
only define groups once in unsupported, in order to prevent ambiguity for
...
the group names.
2009-11-09 04:36:01 +01:00
Thomas Capricelli
de195e0e78
some more documentation
2009-11-09 04:21:45 +01:00
Thomas Capricelli
ac8f7d8c9c
various fixes in headers
2009-11-09 03:32:40 +01:00
Thomas Capricelli
71a3e96b49
rename NonLinear to NonLinearOptimization
2009-11-09 03:27:15 +01:00
Thomas Capricelli
09cb27c587
documentation + move "namespace eigen" to the main file, as others do.
2009-11-09 03:25:21 +01:00
Thomas Capricelli
cddc83752c
starting documentation
2009-11-09 03:07:36 +01:00
Thomas Capricelli
ecbcdafb0f
include NonLinearOptimization_Module and NumericalDiff_Module
...
+ cleaning
2009-11-09 03:06:23 +01:00
Benoit Jacob
e4e58e8337
simplifications in the ei_solve_impl system, factor out some boilerplate code
2009-11-08 16:51:41 -05:00
Thomas Capricelli
751a333491
merge with main repository
2009-11-08 22:27:32 +01:00
Benoit Jacob
ba7bfe110c
port the qr module to ei_solve_xxx.
2009-11-08 10:21:26 -05:00
Gael Guennebaud
aa0974286f
fix compilation adding a makeconst helper struct
2009-11-07 09:07:23 +01:00
Gael Guennebaud
5dc02fe5e9
improve a bit AutoDiffVector, but it still not working
2009-11-06 11:34:58 +01:00
Gael Guennebaud
6647a58847
update product bench
2009-11-06 11:33:18 +01:00
Gael Guennebaud
771c0507fb
back out previous back out, and this time don't forget
...
to include the NumTraits.h file in the commit ;)
2009-11-06 11:23:18 +01:00
Jitse Niesen
1470afda5b
Backed out previous changeset: Does not compile.
...
There is no member Nested in NumTraits.
2009-11-06 09:16:25 +00:00
Gael Guennebaud
fe81b3f651
Add the possibility to control the storage mode of scalar value (by value or reference)
...
in order to avoid unecessary copies when using complex scalar types (e.g., a AutoDiffScalar)
2009-11-05 18:06:33 +01:00
Jitse Niesen
daa4574a43
Add regression test for issue #66 (ComplexSchur of zero matrix).
2009-11-05 03:46:18 +00:00
Benoit Jacob
68210b03c1
port svd to the ei_xxx_return_value thing
...
this commit made in caltrain from Palo Alto to SF
2009-11-04 21:00:12 -05:00
Benoit Jacob
4c456d4211
fix bug in svd solve reported on forum, was apparently assuming square matrix, not sure how the unit test could work.
2009-11-04 11:46:17 -05:00
Hauke Heibel
3979f6d8aa
Let's try to stick to the original code, thus activate the fix of #62 only for 64 bit builds.
2009-11-04 15:49:22 +01:00
Hauke Heibel
e2170b9f7e
Direct access of the packet structs fixes bug #62 and doe not seem to
...
influence compiler optimization.
2009-11-04 15:38:11 +01:00
kayhman
1333fe651d
Added basic SkylineMatrix.
2009-11-04 15:18:12 +01:00
Mark Borgerding
103f741619
initialize Eigen::Complex arrays
2009-11-09 14:08:44 -05:00
Gael Guennebaud
a7bebe0aeb
an attempt to fix a compilation issue with MSVC
2009-11-04 09:04:50 +01:00
Benoit Jacob
0182695204
move cholesky to ei_xxx_return_value
2009-11-03 11:34:45 -05:00
Benoit Jacob
a77872dd6c
move partial-pivoting lu to ei_solve_impl
2009-11-03 03:06:34 -05:00
Benoit Jacob
da363d997f
introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,impl
...
put them in a new internal 'misc' directory
2009-11-03 02:18:10 -05:00
Gael Guennebaud
979431b987
fix #66 : upper triangular checks in ComplexSchur
2009-11-02 10:46:40 +01:00
Benoit Jacob
5ba19a53a6
rephrase tutorial on Map
2009-10-31 14:37:11 -04:00
Benoit Jacob
3ae4e3880f
fix compilation
2009-10-31 14:36:31 -04:00
Benoit Jacob
48261fc773
* default MatrixBase ctor: make it protected, make it a static assert, only do the check when debugging eigen to avoid slowing down compilation for everybody (this check is paranoiac, it's very seldom useful)
...
* add private MatrixBase ctors to catch cases when the user tries to construct MatrixBase objects directly
2009-10-31 11:50:15 -04:00
Mark Borgerding
ec70f8006b
added inlines to a bunch of functions
2009-10-31 00:13:22 -04:00
Mark Borgerding
4c3345364e
moved half-spectrum logic to Eigen::FFT
2009-10-30 23:38:13 -04:00
Mark Borgerding
d659fd9b14
moved real-half-spectrum reflection into Eigen::FFT
2009-10-30 20:26:30 -04:00
Mark Borgerding
a26b729cc9
moved scaling to Eigen::FFT
2009-10-30 19:50:11 -04:00
Mark Borgerding
0fa68b9e50
switched to BenchUtil.h
2009-10-30 19:46:45 -04:00
Benoit Jacob
f975b9bd3e
SVD::solve() : port to new API and improvements
2009-10-30 08:51:33 -04:00
Benoit Jacob
6b48e932e9
*port the Cholesky module to the new solve() API
...
*improve documentation
2009-10-29 21:11:05 -04:00
Benoit Jacob
a2268ca6b3
properly implement BenchTimer on POSIX
...
(may require a platform check for the clock name on non-linux platforms)
2009-10-29 15:47:56 -04:00
Hauke Heibel
d0562bd473
corrected the computation cost of mean
2009-10-29 19:58:54 +01:00
Hauke Heibel
c70a603e34
added mean() reduction
2009-10-29 19:56:58 +01:00
Gael Guennebaud
e513cc75c4
oops I forgot to include that file in the previous commit (fixing #65 )
2009-10-29 14:24:09 +01:00
Gael Guennebaud
541eac0828
fix #65 : MatrixBase::nonZero()
2009-10-29 14:22:02 +01:00
Mark Borgerding
7911df4b6e
improved selftest for Eigen::Complex -- mainly a documentation of what does not work
2009-10-28 23:22:10 -04:00
Mark Borgerding
288ba155f1
forgot Complex test file
2009-10-28 23:05:18 -04:00
Mark Borgerding
938f03e5cf
added many inlines and attempted to fix castable pointer so it works with std::vector
2009-10-28 23:02:18 -04:00
Benoit Jacob
e8dd552257
sync with mainline
2009-10-28 19:06:45 -04: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
Benoit Jacob
6219f9acfa
* rename new Quat class to Quaternion, remove existing Quaternion
...
* add Copyright line for Mathieu
* cast() was broken (compile errors) and needed anyway to be in QuaternionBase
* it's VectorBlock<T,3>, don't pass additional parameter 1, it has different meaning!!
* make it compile with GCC (put 'typename' at the right location)
2009-10-27 15:45:24 -04:00
Mathieu Gautier
611d2b0b1d
Quaternion could now map an array of 4 scalars :
...
new classes :
* QuaternionBase
* Map<Quaternion>
2009-10-27 13:19:16 +00:00
Hauke Heibel
427f8a87d1
Added dox for the new typedefs.
2009-10-27 16:02:36 +01:00
Hauke Heibel
dbaba9019b
Added more common typedefs.
2009-10-27 15:57:21 +01:00
Hauke Heibel
7cc9fb5d0a
Umeyama is now working with fixed size src and dst points.
2009-10-27 15:29:12 +01:00
Benoit Jacob
1f1c04cac1
sync the documentation examples
2009-10-26 14:37:43 -04:00
Benoit Jacob
44cdbaba4d
* make inverse() do a ReturnByValue
...
* add computeInverseWithCheck
* doc improvements
* update test
2009-10-26 14:16:50 -04:00
Benoit Jacob
07d1bcffda
remove 1 useless layer of functions
2009-10-26 12:30:29 -04:00
Benoit Jacob
ec02388a5d
big rewrite in Inverse.h
...
in particular, the API is essentially finalized and the 4x4 case is fixed to be numerically stable.
2009-10-26 11:18:23 -04:00
Hauke Heibel
66fe5a5f36
It is just not that easy and requires more work to get it done right.
2009-10-24 14:48:34 +02:00
Gael Guennebaud
a382963b04
* extend Map to allow the user to specify whether the mapped data
...
is aligned or not. This is done using the Aligned constant:
Map<MatrixType,Aligned>::Map(data);
* rename ForceAligned to EnforceAlignedAccess, and update its doc,
and emphasize this is mainly an internal stuff.
2009-10-23 14:26:14 +02:00
Mark Borgerding
0167f5ef43
added inline to many functions
2009-10-22 23:06:19 -04:00
Benoit Jacob
83a7b7c44c
support gcc 3.3
2009-10-22 15:56:10 -04:00
Hauke Heibel
99bb29abcf
demeaning with colwise expression
2009-10-22 10:11:26 +02:00
Mark Borgerding
e3d08443dc
inlining,all namespace declaration moved to FFT, removed preprocessor definitions,
2009-10-21 20:53:05 -04:00
Benoit Jacob
68d48511b2
move PartialLU to the new API
2009-10-21 17:06:42 -04:00
Mark Borgerding
78a53574b7
merge branches
2009-10-21 10:28:56 -04:00
Mark Borgerding
85f8d1f0c6
renamed 'Traits' to 'Impl', added vim modelines for syntax highlighting
2009-10-21 10:27:17 -04:00
Benoit Jacob
c3180b7ffb
MatrixBase:
...
* support resize() to same size (nop). The case of FFT was another case where that make one's life far easier.
hope that's ok with you Gael. but indeed, i don't use it in the ReturnByValue stuff.
FFT:
* Support MatrixBase (well, in the case with direct memory access such as Map)
* adapt unit test
2009-10-20 23:25:49 -04:00
Benoit Jacob
471b4d5092
handle mark's first commits before he configured his id
2009-10-20 21:53:54 -04:00
Mark Borgerding
902b6dcd6c
added Eigen::FFT and
...
Eigen::Complex
2009-10-20 21:33:48 -04:00
Hauke Heibel
5e3e6ff71a
Added Windows support to the BenchTimer.
2009-10-20 22:08:13 +02:00
Mark Borgerding
d9b418bf12
merged eigen2_for_fft into eigen2 mainline
2009-10-20 15:18:01 -04:00
Benoit Jacob
13f31b8daf
* make PartialLU avoid to generate inf/nan when given a singular matrix
...
(result undefined, but at least it won't take forever on intel 387)
* add lots of comments, especially to LU.h
* fix stuff I had broken in Inverse.h
* split inverse test
2009-10-20 00:36:07 -04:00
Benoit Jacob
d1db1352f5
update doc snippets
2009-10-19 17:22:04 -04:00
Benoit Jacob
890bff977e
* proper check for Make
...
* fix documentation of ei_add_test
2009-10-19 15:56:03 -04:00
Benoit Jacob
6c1b91678b
kill ei_add_test_multi. Now the macro ei_add_test does all that automatically, by parsing the source file. No risk anymore to specify the wrong number of tests! Also, introduce CALL_SUBTESTX for X=1..10 that allows to port existing code much quicker. And port already the product* and eigensolver* files.
2009-10-19 14:40:35 -04:00
Benoit Jacob
580672ea43
Add new default option EIGEN_SPLIT_LARGE_TESTS and cmake macro ei_add_test_multi.
...
When enabled, large tests are split into smaller executables.
This needs minimal changes in the unit tests.
Updated the LU test to use it.
2009-10-19 13:29:00 -04:00
Benoit Jacob
9a700c2974
* LU unit test: finally test fixed sizes
...
* ReturnByValue: after all don't eval to temporary for generic MatrixBase impl
2009-10-19 10:56:37 -04:00
Benoit Jacob
47eeb40380
remove the m_originalMatrix member. Instead, image() now takes the original matrix as parameter. It was the only method to use it anyway. Introduce m_isInitialized.
2009-10-18 15:21:19 -04:00
Benoit Jacob
d71c7f42d3
* useThreshold -> setThreshold
...
* remove defaultThreshold()
2009-10-18 14:20:14 -04:00
Benoit Jacob
0255f28279
oops, didn't want to commit that
2009-10-18 01:35:07 -04:00
Benoit Jacob
8332c232db
big huge changes in LU!
...
* continue the decomposition until a pivot is exactly zero;
don't try to compute the rank in the decomposition itself.
* Instead, methods such as rank() use a new internal parameter
called 'threshold' to determine which pivots are to be
considered nonzero.
* The threshold is by default determined by defaultThreshold()
but the user can override that by calling useThreshold(value).
* In solve/kernel/image, don't assume that the diagonal of U
is sorted in decreasing order, because that's only approximately
true. Additional work was needed to extract the right pivots.
2009-10-18 00:47:40 -04:00
Gael Guennebaud
7b0c4102fa
* add a Make* expression type builder to allow the
...
construction of generic expressions working
for both dense and sparse matrix. A nicer solution
would be to use CwiseBinaryOp for any kind of matrix.
To this end we either need to change the overall design
so that the base class(es) depends on the kind of matrix,
or we could add a template parameter to each expression
type (e.g., int Kind = ei_traits<MatrixType>::Kind)
allowing to specialize each expression for each kind of matrix.
* Extend AutoDiffScalar to work with sparse vector expression
for the derivatives.
2009-10-16 13:22:38 +02:00
Gael Guennebaud
44ba4b1d6d
add operator+ scalar to AutoDiffScalar
2009-10-16 11:27:04 +02:00
Benoit Jacob
3c4a025a54
merge
2009-10-15 16:09:43 -04:00
Benoit Jacob
41e942d3fb
don't try to finish early
2009-10-15 16:09:17 -04:00
Hauke Heibel
d177c1f3ac
Inlining fixes + fixed typo.
...
Removed ei_assert in presence of static assert.
2009-10-15 21:07:14 +02:00
Gael Guennebaud
1503043981
autodiff:
...
* fix namespace issue
* simplify Jacobian code
* fix issue with "Dynamic derivatives"
2009-10-15 18:43:15 +02:00
Hauke Heibel
0927ba1fd3
More warning fixes.
2009-10-14 19:55:23 +02:00
Hauke Heibel
c37cfc32b3
Fixed more W4 warnings.
2009-10-14 11:08:00 +02:00
Hauke Heibel
f4661e696e
Resize is only defined in Matrix and not in MatrixBase.
...
I am not sure whether the better fix is to move the resize functions to MatrixBase.
2009-10-14 11:07:11 +02:00
Hauke Heibel
949582c809
Added prod() reduction to the AsciiQuickReference.
2009-10-14 09:40:22 +02:00
Gael Guennebaud
8c37b1b5b7
add missing PartialReduxExpr::coeff(index) function
2009-10-13 14:41:57 +02:00
Gael Guennebaud
1443094072
compilation fix: make the generic template ctor explicit
2009-10-13 09:23:09 +02:00
Gael Guennebaud
2049f742e4
trivial compilation fix
2009-10-13 08:53:01 +02:00
Benoit Jacob
c4ab6a2032
also test that the matrix Q is unitary
2009-10-12 22:33:51 -04:00
Thomas Capricelli
456f7d094d
merge with eigen-tip
2009-10-13 01:14:19 +02:00
Hauke Heibel
e5bf72679c
Fixed nmake parameter.
...
Disabled debug_* targets for MSVC_IDE (they already exist).
Removed the make usage message for MSVC_IDE.
2009-10-09 14:09:25 +02:00
Gael Guennebaud
81a70cef5c
merge
2009-10-07 14:26:42 +02:00
Gael Guennebaud
8f3e33581e
extend the sparse matrix assembly benchmark
2009-10-07 14:25:53 +02:00
Gael Guennebaud
af31345df3
really fix stable norm compilation for older gcc
2009-10-07 14:25:12 +02:00
Gael Guennebaud
075830ddb0
- remove the debug_test_* targets from "all"
...
(otherwise they are compiled when you simply run
make in test/ or when enforcing "test" to be part of "all")
- add linking libraries to the debug_test_* targets
2009-10-07 14:22:44 +02:00
Benoit Jacob
9115d33fae
the answer to the ultimate question in life is: 664
2009-10-06 11:44:57 -04:00
Benoit Jacob
24e1d3266a
merge
2009-10-06 09:27:01 -04:00
Benoit Jacob
80ede36b24
allow arbitrary resulttype, fixes Xuewen's issue, and this stuff is going to get deeply refactored soon anyway.
2009-10-06 09:26:28 -04:00
Gael Guennebaud
4cf7366027
fix compilation in stable norm, move a platform check to the unit tests
2009-10-06 10:24:41 +02:00
Gael Guennebaud
904f35d194
discard vectorization in matrix-vector product when data is not even
...
aligned on the scalar type size (e.g., for double on 32 bits system without -malign-double)
2009-10-05 17:22:16 +02:00
Benoit Jacob
bb1cc0d092
after all we're not aligning to 8byte boundary
...
keep most of the changes though as they make the code more extensible
2009-10-05 10:55:42 -04:00
Benoit Jacob
f01a8112d6
merge
2009-10-05 10:11:50 -04:00
Benoit Jacob
d41577819b
we were already aligning to 16 byte boundary fixed-size objects that are multiple of 16 bytes;
...
now we also align to 8byte boundary fixed-size objects that are multiple of 8 bytes.
That's only useful for now for double, not e.g. for Vector2f, but that didn't seem to hurt. Am I missing something? Do you prefer that we don't align Vector2f at all?
Also, improvements in test_unalignedassert.
2009-10-05 10:11:11 -04:00
Hauke Heibel
a7d51435e1
added cygwin specific stuff
2009-10-05 14:00:32 +02:00
Benoit Jacob
a9a9ba8453
remove unneeded stuff
2009-10-05 07:58:53 -04:00
Benoit Jacob
fa9fc1397b
next attempt ... introduce EIGEN_CMAKE_RUN_FROM_CTEST, in that case don't EXCLUDE_FROM_ALL
2009-10-05 07:42:31 -04:00
Benoit Jacob
b78b2ede5f
finally, the right fix: set CTEST_BUILD_TARGET.
...
So this is the come-back of btest target, and the default target is empty again.
2009-10-04 20:27:44 -04:00
Benoit Jacob
7956fc49a0
dd first-time tip, to warn against doing "make".
...
now i think we're reasonably safe.
2009-10-03 22:11:30 -04:00
Thomas Capricelli
5f32088443
use provided $USER if available, let the caller do the update (safer)
2009-10-04 03:35:02 +02:00
Benoit Jacob
d040c9fc9e
add INSTALL and message about no need to do "make"
2009-10-03 17:19:14 -04:00
Benoit Jacob
a1d9b76dd5
add debug targets like debug_qr to build a specific test with debug info
...
remove the btest target, instead just do "make" since anyway we have to let "make" build the tests
2009-10-03 16:50:50 -04:00
Benoit Jacob
3e4cb08054
fix #59 , can't EXCLUDE_FROM_ALL the test directory
2009-10-03 15:51:42 -04:00
Hauke Heibel
7d2ca0e05e
Added cmake project definitions.
2009-10-02 18:45:24 +02:00
Benoit Jacob
71f19d90d0
forgot to hg add this file
2009-10-02 12:40:19 -04:00
Benoit Jacob
57e1c5b0aa
fix permissions 666->660
2009-10-02 11:32:36 -04:00
Benoit Jacob
2b810ea818
finally, actually purge the Main Page
2009-10-02 11:22:47 -04:00
Gael Guennebaud
bcdeb68b63
merge
2009-10-01 13:28:22 +02:00
Gael Guennebaud
9a3cae4655
better fix for (v * v') * v, we still have to find a way to reorder it
2009-10-01 13:27:03 +02:00
Benoit Jacob
3529179376
merge
2009-10-01 07:26:47 -04:00
Hauke Heibel
5409ce1625
Fixed wrong line endings.
2009-10-01 07:20:09 +02:00
Benoit Jacob
3a315fdc9a
make Replicate ctor require the exact expected type
2009-09-30 15:47:11 -04:00
Gael Guennebaud
d7a2a37a4c
bugfix in the eigenvalue solvers (forgot to resize the eigen vectors)
2009-09-30 16:48:02 +02:00
Benoit Jacob
4b04a9bcfa
*add test to prevent future regression
2009-09-29 21:00:13 -04:00
Benoit Jacob
fa65b09661
add outerproduct coeff(int,int) method.
...
This is needed to make this expression work:
(vec1*vec2.transpose())*vec3
Gael, no objection? Seems to make sense as that's fast.
2009-09-29 20:30:28 -04:00
Thomas Capricelli
977ed615a6
be sure that there's no name clash between NumericalDiff::df and the
...
original functor df()
2009-09-28 17:45:45 +02:00
Benoit Jacob
457b7cba96
more message improvements, tell the user about building a specific test
2009-09-28 11:08:31 -04:00
Benoit Jacob
eeabd18afc
Fix compilation of HouseholderQR and ColPivotingHouseholderQR for non-square fixed-size matrices.
...
For Colpiv that was just changing MatrixQType to MatrixType in the instantiation of HouseholderSequence.
For HouseholderQR I also re-ported the solve method from Colpiv as there were multiple issues.
2009-09-28 10:49:55 -04:00
Benoit Jacob
67bf7c90c5
* update test to expose bug #57
...
* update createRandomMatrixOfRank to support fixed size
2009-09-28 09:40:18 -04:00
Thomas Capricelli
7968737247
fix tests : we perform slightly worse because we do use one more function
...
evaluation in our numericaldiff than what (c)minpack did
2009-09-28 04:13:57 +02:00
Thomas Capricelli
d912034565
fdjac2 is not needed anymore
2009-09-28 03:49:23 +02:00
Thomas Capricelli
d3850641a1
remove some duplicated code LevenbergMarquardt::minimizeNumericalDiff*() by
...
using the generic Eigen NumericalDiff recently introduced.
LevenbergMarquardt::lmdif1(), which is provided as a convenience method for
people porting code from (c)minpack, is now a static function
2009-09-28 03:26:42 +02:00
Thomas Capricelli
87be19de4a
central sheme for numerical diff
2009-09-28 02:55:30 +02:00
Thomas Capricelli
206b5e3972
starting work on a Numerical differenciation module
2009-09-28 02:43:07 +02:00
Thomas Capricelli
a453298322
cleaning doc
2009-09-28 02:42:19 +02:00
Thomas Capricelli
52026eb800
cleaning
2009-09-28 02:35:42 +02:00
Thomas Capricelli
de942a44c2
default argument for _jac in functor operator() : this way, we can use
...
AutoDiffJacobian::operator()(x,value) exactly as the original functor
2009-09-28 01:28:48 +02:00
Thomas Capricelli
8e8997d403
use dynamic type in functor, as NonLinear only knows about this currently
2009-09-28 01:19:29 +02:00
Thomas Capricelli
bee14ee8e6
use operator() so that to be coherent with eigen AutoDiff functor
2009-09-28 00:32:31 +02:00
Thomas Capricelli
956d65ea63
define a generic functor and makes other ones inherit it
2009-09-28 00:18:14 +02:00
Benoit Jacob
765600458b
* bump to 2.90.0 now that it's agreed that we're doing eigen3
...
---> question: do we change the prefix eigen2/ to eigen3/ now?
no, better wait until we've also changed the repository name
* more message improvements: "Install Eigen" was unclear as it left
out other things like the BLAS library
2009-09-27 18:05:54 -04:00
Benoit Jacob
2e4be5a75c
improve message
2009-09-27 17:55:58 -04:00
Thomas Capricelli
251c0f45ac
remove references to adolc and split tests functions for clarity
2009-09-27 23:54:06 +02:00
Benoit Jacob
92480ffd26
* Introduce make targets btest (build tests), blas (build blas lib), demos (build demos).
...
* remove EIGEN_BUILD_TESTS and siblings
* add summary at the end of cmake run, hopefully not too verbose
* fix build of quaternion demo
* kill remnants of old binary library option
2009-09-27 17:48:53 -04:00
Benoit Jacob
6b23cb2101
remove the hack we made to allow api.kde.org to generate the dox. Update the error help page.
2009-09-27 11:39:51 -04:00
Hauke Heibel
e115fa3cea
Ok, too many class bodies - it was only required for ei_svd_precondition_2x2_block_to_be_real.
2009-09-27 17:18:19 +02:00
Hauke Heibel
3c74d6b7d4
Added private, non-implemented assignment operators to functions that don't need them (fixes VC warning on /W4).
2009-09-27 17:03:02 +02:00
Hauke Heibel
13545eab9b
Fixed VC compilation error on the JacobiSVD module.
2009-09-27 17:00:10 +02:00
Benoit Jacob
924b55e9a9
when copying a ReturnByValue into a MatrixBase, first eval it to a PlainMatrixType.
...
This allows to limit the number of instantiations of the big template method evalTo.
Also allows to get rid of the dummy MatrixBase::resize().
See "TODO" comment.
2009-09-26 22:48:16 -04:00
Thomas Capricelli
b1637df4f4
update URL for adol-c
2009-09-27 01:56:50 +02:00
Benoit Jacob
e82ab8a5dd
move also inverse() to ReturnByValue, by doing a solve on NestByValue<Identity>.
...
also: adding resize() to MatrixBase was really needed ;)
2009-09-26 11:40:29 -04:00
Gael Guennebaud
c532f42a0e
update the sparse tutorial wrt not so recent changes about the filling API
2009-09-25 16:30:44 +02:00
Hauke Heibel
104f9954e1
Removed implicit type conversion (VC warning fix).
2009-09-25 14:58:20 +02:00
Hauke Heibel
21d2533723
Matrix::conservativeResize, resize only when necessary.
2009-09-25 14:44:48 +02:00
Gael Guennebaud
04dc63776a
add a wip blas library built on top of Eigen. TODO:
...
- write extentive unit tests (maybe this already exist in other projects)
- the level2 functions still have to be implemented
2009-09-25 13:08:39 +02:00
Gael Guennebaud
bdf603caec
remove some dirty lines
2009-09-25 12:58:41 +02:00
Gael Guennebaud
e12bd2e8d2
extend the support for bool
2009-09-25 12:58:04 +02:00
Hauke Heibel
3d6e4ab879
Uuups that was not yet intended for a commit.
2009-09-25 10:14:16 +02:00
Hauke Heibel
2fbf5ce7df
Fixed issue #57 .
2009-09-25 10:12:09 +02:00
Benoit Jacob
e58e9c842e
remove (changesets), it's enough numbers like this
2009-09-24 15:14:45 -04:00
Benoit Jacob
ddfd23a13e
* sort by last name alphabetically
...
* replace (no own changesets) by (no information)
2009-09-24 13:56:33 -04:00
Thomas Capricelli
68988e4ad0
use -f so that the script is happy even if the log file is not there
2009-09-24 13:26:23 +02:00
Benoit Jacob
905b3b9379
oops, don't append, overwrite
2009-09-24 07:18:31 -04:00
Benoit Jacob
64648b4b35
improvements, especially: automatically flush the server side cache
2009-09-24 07:04:55 -04:00
Benoit Jacob
a279a277e3
fix typo
2009-09-23 21:01:14 -04:00
Benoit Jacob
51db7ab0df
add eigen_gen_credits script
2009-09-23 20:58:20 -04:00
Hauke Heibel
b347075936
Removed unnecessary MSVC check.
2009-09-22 10:03:40 +02:00
Benoit Jacob
176c26feb5
allow to do xpr = solve(b) etc... just by adding a dummy MatrixBase::resize()
2009-09-22 01:41:09 -04:00
Benoit Jacob
4f9e270343
* make LU::kernel() and LU::image() also use ReturnByValue
...
* make them return zero vector in the degenerate case, instead of asserting
(let's stick to the principle that we only assert on memory errors)
2009-09-22 00:16:51 -04:00
Benoit Jacob
0ad3494bd3
fix docs
2009-09-22 21:51:23 -04:00
Benoit Jacob
ab5cc8284a
convert LU::solve() to the new API
2009-09-22 20:58:29 -04:00
Benoit Jacob
c1c780a94f
* ReturnByValue:
...
-- simpplify by removing the 2nd template parameter
-- rename Functor to Derived, as now it's a usual CRTP
* Homogeneous:
-- in products, honor the Max sizes etc.
2009-09-22 12:20:45 -04:00
Hauke Heibel
c6822d6723
Added EIGEN_REF_TO_TEMPORARY define for rvalue support.
...
Allowed VC10 to make use of static_assert.
2009-09-21 19:59:58 +02:00
Benoit Jacob
1df54e3ac2
fix bug #42 , add missing Transform::Identity()
2009-09-19 19:59:49 -04:00
Benoit Jacob
828a79ac78
allow to override EIGEN_RESTRICT, to satisfy a smart ass blogger who claims
...
that eigen2 owes all its performance to nonstandard restrict keyword.
well, this can also improve portability in case some compiler doesn't have __restrict.
2009-09-19 19:45:58 -04:00
Benoit Jacob
3c780fd472
add legalese
2009-09-20 06:00:39 -04:00
Benoit Jacob
bd491a89c5
add demo of how to mix eigen with C code
2009-09-20 05:49:17 -04:00
Gael Guennebaud
0b60027f3c
implement __gnuc_forget_about_setZero_its_over_now
2009-09-18 15:36:05 +02:00
Benoit Jacob
6b5f96cb03
undef B0
2009-09-19 19:14:28 -04:00
Gael Guennebaud
3b5a9acba8
fix stable_norm unit test
2009-09-18 11:41:38 +02:00
Benoit Jacob
0b426ea00d
update page to explain how to get rid of it
2009-09-18 22:01:49 -04:00
Gael Guennebaud
add5381be7
finish my evalToDense => evalTo change
2009-09-17 23:51:16 +02:00
Gael Guennebaud
5ba7fe3bee
clean the commented asm instructions because now I'm sure
...
the previous fix is ok
2009-09-17 23:34:00 +02:00
Gael Guennebaud
f2737148b0
merge
2009-09-17 23:21:48 +02:00
Benoit Jacob
760636a237
fix bug #52 : Transform::inverse() should return a Transform
2009-09-18 18:45:45 -04:00
Gael Guennebaud
9395326e44
fix #53 : performance regression, hopefully I did not resurected another
...
perf. issue...
2009-09-17 23:18:21 +02:00
Gael Guennebaud
fcae32cc3f
compilation fixes
2009-09-17 15:11:13 +02:00
Gael Guennebaud
24950bdfcb
make ColPivotingQR use HouseholderSequence
2009-09-16 15:56:20 +02:00
Gael Guennebaud
49dd5d7847
* add a HouseholderSequence class (not good enough yet for Triadiagonalization and HessenbergDecomposition)
...
* rework a bit AnyMatrixBase, and mobe it to a separate file
2009-09-16 14:35:42 +02:00
Gael Guennebaud
77f858f6ab
improve ComplexShur api and doc
2009-09-16 14:34:08 +02:00
Benoit Jacob
a4fd0aa25b
* fix bug in col-pivoting qr, forgot to swap the colNorms when swapping cols
...
* add Gael a copyright line
2009-09-16 14:19:59 -04:00
Benoit Jacob
46be9c9ac1
* fix super nasty bug: vector.maxCoeff(&index) didn't work when 'vector'
...
was a row-vector. Fixed by splitting the vector version from the matrix version.
* add unit test, the visitors weren't covered by any test!!
2009-09-16 14:18:30 -04:00
Gael Guennebaud
4a6e5694d6
disable warning 279: controlling expression is constant for ICC
2009-09-15 13:03:24 +02:00
Gael Guennebaud
9e9abab2b9
bugfixes for ICC (compilation and runtime)
2009-09-15 11:53:24 +02:00
Gael Guennebaud
432fcefcb1
fix warning with gcc 4.2
2009-09-15 11:27:31 +02:00
Gael Guennebaud
d5319f4ba8
fix warning in stable norm
2009-09-15 11:16:58 +02:00
Thomas Capricelli
7a8ec4ba26
cleaning
2009-09-15 04:17:11 +02:00
Thomas Capricelli
6d8baa757e
fix indentation (and only that)
2009-09-14 23:47:44 +02:00
Mark Borgerding
a39de276a9
added the test case for FFTW
2009-09-14 01:52:26 -04:00
Thomas Capricelli
ab88ba6f7f
provide some default values for important results. So that we can read them
...
even before *Init() and do no get random values.
2009-09-13 23:55:08 +02:00
Thomas Capricelli
8c3f7d8e94
cleaning
2009-09-13 01:44:34 +02:00
Thomas Capricelli
8b84c3733a
functors need not be const
2009-09-11 20:50:01 +02:00
Jitse Niesen
9f14d72927
Remove no-op statement in AlignedVector3.
2009-09-10 09:22:06 +01:00
Thomas Capricelli
72746838ad
merge with tip
2009-09-10 02:37:08 +02:00
Jitse Niesen
2a6db40f10
Re-factor matrix exponential.
...
Put all routines in a class. I think this is a cleaner design.
2009-09-08 14:51:34 +01:00
Jitse Niesen
220ff54131
Fix LaTeX error in doxygen comment.
2009-09-08 14:41:54 +01:00
Hauke Heibel
26ed19e4cf
Fixed if clause.
2009-09-08 10:20:26 +02:00
Hauke Heibel
3a2499fb11
Fixed conservative_resize compilation errors.
2009-09-08 10:02:19 +02:00
Hauke Heibel
e6cac85333
Added missing casts.
2009-09-08 08:27:18 +02:00
Hauke Heibel
437a79e1ab
Fixed unit test and improved code reusage for resizing.
2009-09-07 17:48:42 +02:00
Hauke Heibel
e49236bac6
Ups - that was not intended to be part of the commit.
2009-09-07 17:23:29 +02:00
Hauke Heibel
64095b6610
Changed the AnyMatrixBase / ei_special_scalar_op inheritance order as proposed by Gael.
...
Added conservativeResizeLike as discussed on the mailing list.
2009-09-07 17:22:01 +02:00
Gael Guennebaud
8f4bf4ed7f
add optional compile flags to enable coverage testing
2009-09-07 14:05:27 +02:00
Gael Guennebaud
ae1d1c8f6c
improve coverage of matrix-vector product
2009-09-07 14:04:56 +02:00
Gael Guennebaud
fb5f546161
improve coverage of unitOrthogonal
2009-09-07 12:53:25 +02:00
Gael Guennebaud
b56bb441dd
add a stable_norm unit test
2009-09-07 12:46:16 +02:00
Gael Guennebaud
bdcc0bc157
fix compilation of swap for ICC
2009-09-07 11:37:41 +02:00
Gael Guennebaud
a921292381
uncomment stuff commented for debugging (sorry for the noise)
2009-09-07 11:26:20 +02:00
Gael Guennebaud
225ec02b06
fix another .stride() issue in Cholmod support
2009-09-07 11:15:38 +02:00
Gael Guennebaud
61fe2b6a56
bug fix in SuperLU support: the meaning of Matrix::stride() changed for vectors
2009-09-07 10:55:33 +02:00
Jitse Niesen
5eea8f1824
Typos in tutorial 1.
2009-09-05 19:46:33 +01:00
Gael Guennebaud
e4f94b8c58
enable ILU in super LU only if the super version supports it
2009-09-04 18:19:34 +02:00
Thomas Capricelli
e3db42611b
fix warning about unused variable
2009-08-29 02:48:44 +02:00
Thomas Capricelli
982a146a67
merge with tip
2009-08-29 02:47:12 +02:00
Thomas Capricelli
c990938415
eigenization of fcn_chkder + bugfix
2009-08-29 02:46:19 +02:00
Thomas Capricelli
c1265ebbfe
fix bounds using c standard instead of fortran's
2009-08-29 02:36:13 +02:00
Thomas Capricelli
4f7daf942c
fix indentation for fcn_chkder
2009-08-29 02:30:18 +02:00
John Smith
aacada1662
Force release builds on Windows machines in the test suite.
...
Added an IGNORE_CVS flag to the test suite (allows submitting local and modified repositories).
Fixed the EI_OFLAG for MSVC.
2009-08-28 20:14:18 +02:00
John Smith
227f6cbce0
Fixed SSE related build warning on 64-bit windows systems.
2009-08-28 00:05:44 +02:00
Jitse Niesen
76fa46c6db
Typos in tutorial
2009-08-26 18:53:56 +01:00
Thomas Capricelli
16d08b2b0f
check number of evaluation even in the case of *1(), now we have it..
2009-08-26 14:47:10 +02:00
Thomas Capricelli
458947af5e
move Parameters as a class member, simplify calling sequence. Convenience
...
methods from minpack ( "*1()" ) get their original name back : they are
only useful when porting, anyway. Still, i prefer to keep them.
2009-08-26 14:23:05 +02:00
Thomas Capricelli
c1be96967e
remove printfs, they are of no use and may prevent compilation
2009-08-26 01:09:23 +02:00
Gael Guennebaud
3705498721
add coeff(int,int), coeff(int) and value() functions to the inner product specialization
2009-08-26 00:24:22 +02:00
Thomas Capricelli
a1e9e8d082
merge with tip
2009-08-25 23:49:48 +02:00
Thomas Capricelli
6de3f5f0e7
cleaning
2009-08-25 23:47:22 +02:00
Thomas Capricelli
eac9293449
split every algorithm in *Init() + while(running) { *OneStep() }
2009-08-25 23:43:33 +02:00
Thomas Capricelli
bbd44ef0ad
move more stuff into Parameters
2009-08-25 23:37:27 +02:00
Thomas Capricelli
a2abb4afb6
cleaning
2009-08-25 23:26:36 +02:00
Thomas Capricelli
baec4f39ab
reduce local variables so that we can split algorithms
2009-08-25 22:49:05 +02:00
Thomas Capricelli
be368c33bb
cleaning
2009-08-25 22:15:09 +02:00
Thomas Capricelli
470ea55834
put nfev/njev as internal variables as well
2009-08-25 22:13:08 +02:00
Thomas Capricelli
41b6ea81db
oops... fixing return values, some copy/paste was done far too quickly
2009-08-25 22:06:58 +02:00
Thomas Capricelli
3bca4bba87
if mode==2, the user is supposed to supply diag: do some basic check.
2009-08-25 22:02:19 +02:00
Thomas Capricelli
fa0183e7c7
make diag be an internal variable too
2009-08-25 21:59:10 +02:00
Thomas Capricelli
e465ea82e1
define and use struct Parameters
2009-08-25 21:50:01 +02:00
Thomas Capricelli
d13bcdc891
those are actually bools
2009-08-25 20:01:30 +02:00
Thomas Capricelli
84f2c451e5
cleaning
2009-08-25 19:57:42 +02:00
Thomas Capricelli
d38d4709bc
use an enum for status reporting
2009-08-25 19:48:53 +02:00
Thomas Capricelli
d0a5da95b1
fix installation for recently added files
2009-08-25 18:57:59 +02:00
Thomas Capricelli
d59cc0ad82
merge files
2009-08-25 17:25:56 +02:00
Thomas Capricelli
493c72ac38
rename files
2009-08-25 17:21:16 +02:00
Thomas Capricelli
858acfcc64
remove the boring, old-school nprint option, we'll have a dedicated
...
method for 'one iteration' anyway.
2009-08-25 17:11:14 +02:00
Thomas Capricelli
613a464320
cleaning
2009-08-25 16:48:09 +02:00
Thomas Capricelli
6c1a9703b1
move most of results vectors/matrices inside respective classes.
2009-08-25 16:08:09 +02:00
Thomas Capricelli
38fc6c8553
cleaning
2009-08-25 14:28:19 +02:00
Thomas Capricelli
201f58e528
merge both c methods lmstr/lmstr1 into one class
...
LevenbergMarquardtOptimumStorage with two methods.
2009-08-25 14:18:38 +02:00
Thomas Capricelli
3f1b81e129
merge both c methods lmdif/lmdif1 into one class
...
LevenbergMarquardtNumericalDiff with two methods.
2009-08-25 14:09:19 +02:00
Thomas Capricelli
a736378331
cleaning
2009-08-25 14:03:30 +02:00
Thomas Capricelli
d880e6f774
merge both c methods hybrj1/hybrj into one class HybridNonLinearSolver with
...
two methods. hybrd stuff renamed to HybridNonLinearSolverNumericalDiff.
2009-08-25 13:56:25 +02:00
Thomas Capricelli
a043708e87
merge both c methods hybrd/hybrd1 into one class HybridNonLinearSolver with
...
two methods.
2009-08-25 13:48:25 +02:00
Thomas Capricelli
602b13815f
merge both c methods lmder/lmder1 into one class LevenbergMarquardt with
...
two methods.
2009-08-25 13:40:45 +02:00
Thomas Capricelli
86cb9364c9
clean fortran stuff in fdjac*
2009-08-24 21:53:08 +02:00
Thomas Capricelli
45442b8d41
some more work on Functors
2009-08-24 21:48:22 +02:00
Benoit Jacob
191d5275a7
modernize HouseholderQR too, uniformize all that stuff, update tests
2009-08-24 13:46:14 -04:00
Thomas Capricelli
15d2c3af90
playing with functors
2009-08-24 19:45:35 +02:00
Thomas Capricelli
6f567f10be
cleaning
2009-08-24 19:19:30 +02:00
Jitse Niesen
7e4bd70157
Fix comment which may cause latex to hang when generating docs
2009-08-24 18:01:18 +01:00
Gael Guennebaud
078a870a87
fix issue #43
2009-08-24 18:56:27 +02:00
Thomas Capricelli
4e62e29869
cleaning covar
2009-08-24 17:49:37 +02:00
Thomas Capricelli
17905c7399
eigenization of ei_covar()
2009-08-24 17:47:35 +02:00
Benoit Jacob
0eb142f559
bring the modern comfort also to ColPivotingHouseholderQR
...
+ some fixes in FullPivotingHouseholderQR
2009-08-24 11:11:41 -04:00
Benoit Jacob
3288e5157a
finally, the correct way of dealing with zero matrices in solve()
2009-08-24 10:51:07 -04:00
Thomas Capricelli
f69869c42a
covar : cleaning, removing goto's
2009-08-24 16:49:38 +02:00
Thomas Capricelli
312ab1abb3
further cleaning/ goto removing
2009-08-24 16:39:49 +02:00
Thomas Capricelli
92a5bb4539
clean debug stuff
2009-08-24 16:14:42 +02:00
Thomas Capricelli
c6d7da6edc
cleaning some more
2009-08-24 16:08:13 +02:00
Thomas Capricelli
63071ac968
cleaning, removing goto's, uniformization (try to reduce diff between
...
hybr[dj].h or lm[der,dif,str].h as much as possible), for future merging.
2009-08-24 16:05:57 +02:00
Benoit Jacob
b8106e97b4
add logAbsDeterminant()
...
move log and exp functors from Array to Core
update documentation
2009-08-24 09:46:17 -04:00
Thomas Capricelli
91a2145cb3
clean, remove goto's
2009-08-24 15:32:06 +02:00
Thomas Capricelli
d4968cd059
cleaning, fixing most goto's
2009-08-24 15:13:12 +02:00
Thomas Capricelli
e65a7c7c70
misc cleaning
2009-08-24 09:28:29 +02:00
Thomas Capricelli
6e41f15fea
use a local variable for qrfac
2009-08-24 09:13:06 +02:00
Thomas Capricelli
dff5135026
merge with head
2009-08-24 08:55:27 +02:00
Thomas Capricelli
88f5d06b08
move ipvt/fortran fixing deeper
2009-08-24 08:45:06 +02:00
Thomas Capricelli
950eb4a254
various cleaning and homogeneization
2009-08-24 08:28:31 +02:00
Benoit Jacob
f31b5a7114
add test for absDeterminant()
2009-08-24 00:35:42 -04:00
Benoit Jacob
c9a307f330
give FullPivotingHouseholderQR all the modern comfort
2009-08-24 00:23:35 -04:00
Benoit Jacob
154bdac9f4
small improvements
2009-08-24 00:09:01 -04:00
Benoit Jacob
b37ab9b324
clarifications in LU::solve() and in LU documentation
2009-08-24 00:02:49 -04:00
Benoit Jacob
0926549659
fix bug: with complex matrices, the condition (ei_imag(c0)==RealScalar(0)) being wrong could bypass the other condition in the &&.
...
at least that's my explanation why the test_lu was often failing on complex matrices (it uses that via createRandomMatrixOfRank)
and why that's fixed by this diff.
also gcc 4.4 gave a warning about tailSqNorm potentially uninitialized
2009-08-24 00:02:22 -04:00
Benoit Jacob
d38624b1ad
merge
2009-08-23 18:05:33 -04:00
Benoit Jacob
97bc1af1f1
add ColPivotingHouseholderQR
...
rename RRQR to fullPivotingHouseholderQR
2009-08-23 18:04:33 -04:00
Gael Guennebaud
47fda1f3b2
hm, forgot to conjugate the arguments in applyJacobiOnTheLeft
2009-08-24 00:01:02 +02:00
Gael Guennebaud
e86dbd5255
fix apply Jacobi for complexes and add documentation for some *Jacobi* functions
2009-08-23 23:49:44 +02:00
Benoit Jacob
a848ed02ad
let createRandomMatrixOfRank support fixed-size!
2009-08-23 17:33:31 -04:00
Thomas Capricelli
930651ff9a
dogleg, lmpar : use more eigen features
2009-08-23 21:52:39 +02:00
Thomas Capricelli
4958c53bfb
trivial fixes
2009-08-23 21:47:55 +02:00
Thomas Capricelli
5e8dee7a19
eigenize dogleg()
2009-08-23 21:39:47 +02:00
Thomas Capricelli
f793dbe45c
only indentation fixes (this eases porting)
2009-08-23 21:06:57 +02:00
Thomas Capricelli
feb5af3ede
porting lmpar() to eigen : both api and some of the code
2009-08-23 21:04:55 +02:00
Thomas Capricelli
9a8c5cbd2c
misc cleaning
2009-08-23 06:16:05 +02:00
Thomas Capricelli
264e61932c
cleaning fdjac*()
2009-08-23 06:04:06 +02:00
Thomas Capricelli
f01332043b
only indentation
2009-08-23 05:56:12 +02:00
Thomas Capricelli
8b9b671e83
some eigenization in main algorithms
2009-08-23 05:55:43 +02:00
Thomas Capricelli
134dea76d3
beautify functors for lmdif, lmstr, hybrj, hybrd
2009-08-23 04:57:48 +02:00
Thomas Capricelli
acd757737a
beautify Functor for lmder : we now have f,df,debug methods
2009-08-23 04:39:22 +02:00
Thomas Capricelli
878f15b8a5
* use eigen object for callbacks for hybrd and lmdif
...
* use Functor instead of argument for ei_fdjac*()
2009-08-23 04:06:16 +02:00
Thomas Capricelli
f2fcbb0207
use eigen objects for ei_fdjac*(), this is a prerequisite before porting
...
hybrd/lmdif..
2009-08-23 03:54:40 +02:00
Thomas Capricelli
8a27e774f8
use eigen objects for hybrj and lmstr
2009-08-23 03:14:42 +02:00
Thomas Capricelli
3251e12258
use eigen objects for the lmder callback
2009-08-23 03:02:03 +02:00
Thomas Capricelli
2727099906
remove redundant code, fix bounds in those loops that still come from
...
fortran
2009-08-23 02:32:08 +02:00
Thomas Capricelli
1225704753
we do not need/use the 'void *p' parameter
2009-08-23 01:59:20 +02:00
Jitse Niesen
90735b6a9c
Rewrite tutorial section on solving linear systems
2009-08-22 20:12:47 +01:00
Benoit Jacob
37dede6077
fix typo
2009-08-22 10:40:39 -04:00
Thomas Capricelli
a3e8a14e3a
forgot to clean this one
2009-08-22 07:40:43 +02:00
Thomas Capricelli
c5218c7d38
ei_lmpar : use a reference for the parameter
2009-08-22 07:37:23 +02:00
Thomas Capricelli
b3f8d02df4
use const for machine constants
2009-08-22 07:31:14 +02:00
Thomas Capricelli
bb6ffafdb9
keep on cleaning f2c mess
2009-08-22 07:27:17 +02:00
Thomas Capricelli
a35586504e
cleaning f2c mess / trivial stuff
2009-08-22 07:14:17 +02:00
Benoit Jacob
7bedf5e9cb
add initial, rough, full-pivoting RRQR decomposition
...
lots of room for improvement!
and add Gael a (c) line in Householder.h
2009-08-22 01:13:21 -04:00
Thomas Capricelli
93fabbff5e
use blueNorm() instead of norm()
2009-08-22 07:05:10 +02:00
Thomas Capricelli
aa3a7c3303
raw import of covar() : this is the last one, and we now do not depend on
...
the cminpack library anymore.
2009-08-22 06:44:41 +02:00
Thomas Capricelli
16061a46db
Now that the main algorithms are imported into eigen, we import subroutines
...
used by those algorithms (aka "second level").
This is a row import : we copy/paste the files from cminpack and make
very few changes :
* template<Scalar> them (replace double)
* dpmpar() replaced by c++ standard equivalent
* abs/fabs/sqrt/min/max replaced by ei_* or std::*
* use eigen norms instead of enorm()
Important Notes:
* The use of stableNorm() was not enough in some cases, but using
blueNorm() instead fixed the problems (some tests gave bad results,
either in number of iterations or precision of the results)
* As a whole, the only test that changed is testNistMGH17() : it now takes
some few steps less to get the same result. So this is a small improvement.
After this commit, the only remaining dependency from the cminpack
static library is 'covar', only used from the tests.
2009-08-22 06:40:22 +02:00
Thomas Capricelli
783f355904
cleaning defines from f2c (use std::min and such instead of own ones)
2009-08-22 05:32:17 +02:00
Thomas Capricelli
11c3762068
cleaning : removing #define, use std:min() and such
2009-08-22 05:29:33 +02:00
Marcus D. Hanwell
ef582933c1
Proper fix for linking to the Qt libraries (and others)
...
My initial fix was incorrect, the libraries must be quoted when being
passed to the add test macro, but must be unquoted when passed to the
target_link_libraries function.
2009-08-21 14:04:17 -04:00
Benoit Jacob
2f0b4e1abc
fix compilation with gcc 4.1. Indeed the path for recent gcc doesn't work with gcc 4.1, and looking at the implementation of vector in g++ 4.1, it was exactly our fallback case, so use that.
2009-08-21 12:16:37 -04:00
Peter Román
80179e9549
Added support for SuperLU's ILU factorization
2009-08-21 11:14:45 +02:00
Gael Guennebaud
b0aa2520f1
* add real scalar * complex matrix, real matrix * complex scalar,
...
and complex scalar * real matrix overloads
* allows the inner and outer product specialisations to mix real and complex
2009-09-04 11:22:32 +02:00
Gael Guennebaud
6902ef0824
extend mixingtype test to check diagonal products and fix the later for real*complex products
2009-09-04 10:17:28 +02:00
Gael Guennebaud
a7ed998d52
bug fix in novel makeGivens for real
2009-09-04 10:05:22 +02:00
Gael Guennebaud
3fbf71d6b9
compilation fix for conservativeResize
2009-09-04 09:26:00 +02:00
Gael Guennebaud
68b28f7bfb
rename the EigenSolver module to Eigenvalues
2009-09-04 09:23:38 +02:00
Hauke Heibel
7f5256f628
Added conservativeResize + unit test.
2009-09-03 17:27:51 +02:00
Gael Guennebaud
82ad37c730
implement the continuous generation algorithm of Givens rotations by Anderson (2000)
2009-09-03 17:08:38 +02:00
Hauke Heibel
41aea9508e
This seems to be important for MSVC to optimize the size of empty base classes.
2009-09-03 13:46:44 +02:00
Gael Guennebaud
3eb37fe1fb
update mixingtype unit test to reflect current status, but it is still clear
...
we should allow matrix products between complex and real ?
2009-09-03 13:03:26 +02:00
Gael Guennebaud
00f4b46908
typo in sqrt(complex)
2009-09-03 11:50:06 +02:00
Gael Guennebaud
a54b99fa72
move eigen values related stuff of the QR module to a new EigenSolver module.
...
- perhaps we can find a better name ?
- note that the QR module still includes the EigenSolver module for compatibility
2009-09-03 11:39:44 +02:00
Gael Guennebaud
9515b00876
remove the \addexample tags
2009-09-03 11:22:42 +02:00
Gael Guennebaud
16c7b1daab
add examples for makeJacobi and makeGivens
2009-09-03 11:17:16 +02:00
Gael Guennebaud
c893917d65
Fix serious bug discovered with gcc 4.2
2009-09-03 10:45:32 +02:00
Hauke Heibel
8d449bd80e
Removed debug cout.
...
Disabled MSVC inconsistent DLL linkage.
2009-09-02 21:23:09 +02:00
Hauke Heibel
e6c9d6c528
Remove last lazyness warnings.
2009-09-02 20:59:57 +02:00
Hauke Heibel
2abd5eeffd
Added support to overwrite the generator type.
...
Eigen'fied the new variables.
2009-09-02 20:57:41 +02:00
Benoit Jacob
7aa6fd3625
big reorganization in JacobiSVD:
...
- R-SVD preconditioning now done with meta selectors to avoid compiling useless code
- SVD options now honored, with options to hint "at least as many rows as cols" etc...
- fix compilation in bad cases (rectangular and fixed-size)
- the check for termination is now done on the fly, no more goto (should have done that earlier!)
2009-09-03 02:53:51 -04:00
Benoit Jacob
89557ac41d
introduce EIGEN_SIZE_MIN
...
now we should check if some EIGEN_ENUM_MIN usage needs to be replaced by that... potential bug when using mixed-size matrice
2009-09-03 02:50:42 -04:00
Benoit Jacob
7d18c30641
finally the first version was the good one...
2009-09-03 01:25:40 -04:00
Gael Guennebaud
7586f7f706
fix #51 (bad use of std::complex::real)
2009-09-02 15:18:11 +02:00
Gael Guennebaud
b83654b5d0
* rename JacobiRotation => PlanarRotation
...
* move the makeJacobi and make_givens_* to PlanarRotation
* rename applyJacobi* => apply*
2009-09-02 15:04:10 +02:00
Gael Guennebaud
496ea63972
fix wrong assert
2009-09-02 14:08:33 +02:00
Gael Guennebaud
4a8258369a
much simpler fix for Matrix::swap
2009-09-02 13:37:15 +02:00
Benoit Jacob
ec20d58317
* add serious unit test for swap
...
* fix my stupidity in Matrix::swap()
2009-09-02 16:56:48 -04:00
Benoit Jacob
cc375e2f79
merge
2009-09-02 06:37:41 -04:00
Benoit Jacob
e6b77bcc6b
JacobiSVD: implement general R-SVD using full-pivoting QR, so we now support any rectangular matrix size by reducing to the smaller of the two dimensions (which is also an optimization)
2009-09-02 06:36:55 -04:00
Benoit Jacob
c16d65f015
fix compilation errors in swap (could not swap with anything else than the exact same Matrix type)
2009-09-02 06:35:01 -04:00
Hauke Heibel
59f5bce41c
fix issue #49
2009-09-01 23:15:30 +02:00
Hauke Heibel
05ddd32849
added missing JacobiRotation's ...
2009-09-01 23:12:40 +02:00
Gael Guennebaud
5b8ffa4d46
clean a bit the previous commit which came from a patch queue,
...
and since it was my first try of the patch queue feature I did not
managed to apply it with a good commit message, so here you go:
* Add a ComplexSchur decomposition class built on top of HessenbergDecomposition
* Add a ComplexEigenSolver built on top of ComplexSchur
There are still a couple of FIXME but at least they work for any reasonable matrices,
still have to extend the unit tests to stress them with nasty matrices...
2009-09-01 16:35:23 +02:00
Gael Guennebaud
4d91229bdc
[mq]: eigensolver
2009-09-01 16:20:56 +02:00
Gael Guennebaud
67ccc6b851
I've been too fast (again)
2009-09-01 13:44:21 +02:00
Gael Guennebaud
1e7a9ea70a
fix issue #47 : now m.noalias() = XXX properly resize m if needed
2009-09-01 13:35:44 +02:00
Gael Guennebaud
8392373d96
add a JacobiRotation class wrapping the cosine-sine pair with
...
some convenient features (transpose, adjoint, product)
2009-09-01 13:18:03 +02:00
Jitse Niesen
32f95ec267
Bug fix in MatrixExponential.h
...
Initialize matrices for intermediate results to correct dimension
2009-09-01 10:50:54 +01:00
Benoit Jacob
6e4e94ff32
* JacobiSVD:
...
- support complex numbers
- big rewrite of the 2x2 kernel, much more robust
* Jacobi:
- fix weirdness in initial design, e.g. applyJacobiOnTheRight actually did the inverse transformation
- fully support complex numbers
- fix logic to decide whether to vectorize
- remove several clumsy methods
fix for complex numbers
2009-08-31 22:26:15 -04:00
Benoit Jacob
29c6b2452d
simplifications
2009-08-31 22:09:44 -04:00
Benoit Jacob
5339db6164
add VERIFY_IS_UNITARY
2009-08-31 22:08:43 -04:00
Gael Guennebaud
a16599751f
fix Matrix::stride for vectors, add a unit test for Block::stride
...
and make use of it where it was relevant
2009-08-31 17:39:56 +02:00
Hauke Heibel
ab6eb6a1a4
Adaptions from .lazy() towards .noalias().
...
Added missing casts.
2009-08-31 17:29:37 +02:00
Hauke Heibel
bc7aec0ef5
ifdef removed from MapBase and warning disabled
2009-08-31 17:24:38 +02:00
Gael Guennebaud
095809edda
fix issue #45 and document the .data() and .stride() functions
2009-08-31 17:07:54 +02:00
Gael Guennebaud
27c9ecc50f
fix copy/paste issue
2009-08-31 16:41:13 +02:00
Hauke Heibel
0a0a805569
Fixed a cast warning in scaleAndAddTo.
...
Fixed lazyness in umeyama.
Added a few missing casts.
2009-08-31 15:34:57 +02:00
Hauke Heibel
32a9aee286
Added MSVC guards to assignment operators.
2009-08-31 14:40:53 +02:00
Hauke Heibel
99bfab6dcf
Removed redundant assignment operators.
2009-08-31 13:47:32 +02:00
Gael Guennebaud
9005eb0788
compilation fix in AmbiVector<int>
2009-08-31 09:32:46 +02:00
Thomas Capricelli
20480a5438
merging ei_lmdif() and lmdif_template()
2009-08-21 04:24:59 +02:00
Thomas Capricelli
2e3d17c3ce
be (hopefully) smarter with indices convention : we keep the c convention
...
(0->n-1) as much as possible, and only convert at borders with
fortran-expecting methods, that will eventually dissapear.
2009-08-21 04:16:37 +02:00
Thomas Capricelli
524e112ee5
merging ei_lmstr() and lmstr_template()
2009-08-21 03:41:19 +02:00
Thomas Capricelli
e48b6ad905
merging ei_hybrj() and hybrj_template()
2009-08-21 03:26:28 +02:00
Thomas Capricelli
f2ff0d3903
merging ei_hybrd() and hybrd_template()
2009-08-21 03:13:42 +02:00
Thomas Capricelli
1715e2cb3b
merging ei_lmder and lmder_template into ei_lmder() which takes eigen
...
argument, but still uses f2c code inside.
2009-08-21 02:34:40 +02:00
Thomas Capricelli
6a8b52b3aa
simplifying
2009-08-21 01:24:04 +02:00
Thomas Capricelli
0abb148b7d
use ei_sqrt instead of sqrt
2009-08-21 00:27:11 +02:00
Thomas Capricelli
1ad042c981
rename i__ to i. i really wonder how f2c can produce such things
2009-08-21 00:26:37 +02:00
Thomas Capricelli
9294d33a11
use references intead of pointers for njev/nfev
2009-08-21 00:23:26 +02:00
Thomas Capricelli
054652b789
use math function adapted to the Scalar type instead of hardcoding float or
...
double
2009-08-21 00:04:41 +02:00
Thomas Capricelli
d05af200a5
some more trivial fixes to f2c generated code
2009-08-20 23:56:13 +02:00
Thomas Capricelli
9e71c2827a
nothing more than indentation fixes (using vim '=' command)
2009-08-20 23:36:03 +02:00
Thomas Capricelli
b1e0662785
cleaning f2c mess
2009-08-20 23:33:45 +02:00
Thomas Capricelli
275a658ec5
porting chkder to eigen
2009-08-20 23:26:40 +02:00
Thomas Capricelli
2e3fa34b9f
cleaning a little bit the f2c mess for chkder
2009-08-20 23:07:16 +02:00
Thomas Capricelli
b09ebe01da
* porting lmdif1 to eigen
...
* qtf was missing in lmdif signature (this is an output of the method)
2009-08-20 22:59:09 +02:00
Thomas Capricelli
8d2f6ad7e1
iwa is not really an argument, but just an old fashioned 'work array' :
...
remove it from the eigen API
2009-08-20 22:46:38 +02:00
Thomas Capricelli
b423e640a6
porting hybrj1 to eigen
2009-08-20 22:41:56 +02:00
Thomas Capricelli
6027c4bedf
porting hybrd1 to eigen
2009-08-20 22:36:24 +02:00
Thomas Capricelli
de7d14b2b3
porting lmstr1 to eigen
2009-08-20 22:16:30 +02:00
Thomas Capricelli
980c40f72c
porting lmder1 to eigen (no more wrapper)
2009-08-20 22:09:05 +02:00
Thomas Capricelli
a84dc9a5c1
coherency for scalar typename : use "Scalar" everywhere
2009-08-20 21:10:28 +02:00
Thomas Capricelli
df98e66019
oops fix hardcoded typename, which is actually provided as template
...
parameter
2009-08-20 21:06:26 +02:00
Thomas Capricelli
9a876806e1
use eigen stableNorm() instead of cminpack 'enorm'. The results are mostly
...
slightly better in tests (one test needs 15 iterations intead of 16, for
the same result). Some numerical results have improved slightly, too.
If one uses blueNorm() instead, an assert for 'overflow' is raised from
blueNorm()
2009-08-20 21:04:38 +02:00
Benoit Jacob
72b002eab9
work around internal compiler error with gcc 4.1 and 4.2, reported on the forum
2009-08-20 12:19:15 -04:00
Benoit Jacob
c7ae261ac0
adapt to API changes
2009-08-20 01:29:38 -04:00
Thomas Capricelli
6953cad81d
remove unneeded "Eigen::", we already 'use' Eigen namespace
2009-08-19 20:06:34 +02:00
Thomas Capricelli
369693aa1c
oops, forgot those ones
2009-08-19 20:02:49 +02:00
Thomas Capricelli
01622e9855
use machine precision from eigen instead of the one from cminpack. The test
...
pass though they would not if using a value of 2.220e-16 (the real value
for 'double' is 2.22044604926e-16). How sensitive those tests are :)
2009-08-19 19:56:51 +02:00
Thomas Capricelli
3093e92da5
machine_epsilon is now called epsilon in latest eigen
2009-08-19 19:53:08 +02:00
Thomas Capricelli
47ac354190
merge with the main dev branch
2009-08-19 19:46:37 +02:00
Thomas Capricelli
fb54cfb013
import main files from cminpack as *.h files:
...
* function names are changed by appending _template
* it uses basic templating : template<typename T>
* wrappers now use those versions instead of the ones from cminpack
* lot of external methods from cminpack are still used
* tests pass though they are unchanged (they use wrappers)
2009-08-19 18:38:45 +02:00
Thomas Capricelli
703198a1a6
wrapper for chkder() : this was the last wrapper missing
2009-08-19 18:32:37 +02:00
Jitse Niesen
59a0c4a0d2
Add new unsupported modules to doc/unsupported_modules.dox
2009-08-18 15:30:38 +01:00
Jitse Niesen
7262716b78
Correct syntax error in doxygen comment.
2009-08-18 11:09:20 +01:00
Gael Guennebaud
d56be9c128
* make HessenbergDecomposition uses the Householder module
...
* bugfix in ei_blas_traits for .conjugate().conjugate()
2009-08-17 17:41:01 +02:00
Gael Guennebaud
ff0f005d4c
change the make householder algorithm so that the remaining coefficient
...
is real, and make Tridiagonalization use it
2009-08-17 17:04:32 +02:00
Gael Guennebaud
e125c199bb
add EIGEN_TRANSFORM_PLUGIN
2009-08-17 09:16:41 +02:00
Gael Guennebaud
737bed19c1
make HouseholderQR uses the Householder module
2009-08-16 19:22:15 +02:00
Gael Guennebaud
ef13c3e754
add normalize and normalized overloads in AlignedVector3
2009-08-16 11:51:46 +02:00
Gael Guennebaud
5274c5c326
quick update of TopicLazyEvaluation
2009-08-16 11:01:32 +02:00
Gael Guennebaud
fc9480cbb3
bugfix in compute_matrix_flags, optimization in LU,
...
improve doc, and workaround aliasing detection in MatrixBase_eval snippet
(not very nice but I don't know how to do it in a better way)
2009-08-16 10:55:10 +02:00
Benoit Jacob
ee982709d3
in all decs, make the compute() methods return *this
...
(implements feature request #18 )
2009-08-15 23:12:39 -04:00
Gael Guennebaud
65fe5f76fd
rename back MayAliasBit to EvalBeforeAssigningBit
2009-08-16 00:14:05 +02:00
Gael Guennebaud
f5f2b222a3
make SVD reuses applyJacobi
2009-08-16 00:02:36 +02:00
Gael Guennebaud
044dd0c1dd
revert previous change in Quaternion::setFromTwoVectors
2009-08-15 23:37:20 +02:00
Benoit Jacob
03c1e79f35
svd: sort in decreasing order, remove unused code
2009-08-15 19:20:48 -04:00
Gael Guennebaud
239ada95b7
add overloads of lazyAssign to detect common aliasing issue with
...
transpose and adjoint
2009-08-15 22:19:29 +02:00
Benoit Jacob
a3e6047c25
fix and improve docs
2009-08-15 15:29:44 -04:00
Gael Guennebaud
50c703f0c7
As proposed on the list:
...
- rename EvalBeforeAssignBit to MayAliasBit
- make .lazy() remove the MayAliasBit only, and mark it as deprecated
- add a NoAlias pseudo expression, and MatrixBase::noalias() function
Todo:
- we have to decide whether += and -= assume no aliasing by default ?
- once we agree on the API: update the Sparse module and the unit tests respectively.
2009-08-15 18:35:51 +02:00
Gael Guennebaud
13a8956188
bugfix in inner-product specialization,
...
compilation fix in stable norm,
optimize apply householder
2009-08-15 13:12:50 +02:00
Gael Guennebaud
7b60713e87
my previous fix was not very good
2009-08-15 11:52:50 +02:00
Gael Guennebaud
0da31a6e1d
bugfix and compilation fix in ProductBase
2009-08-15 10:55:11 +02:00
Gael Guennebaud
bff4238d15
fix setFromTwoVectors because of the change in sorting of the the singular values
2009-08-15 10:24:27 +02:00
Gael Guennebaud
109a4f650b
fix a couple of warnings
2009-08-15 10:20:01 +02:00
Gael Guennebaud
d2becb9612
add a "rot" benchmark in BTL
2009-08-15 10:19:16 +02:00
Gael Guennebaud
846e8b49ba
fix compilation of unit tests
2009-08-15 10:18:05 +02:00
Benoit Jacob
2f027b0d2c
only append the changeset to the version if we're in the default branch
2009-08-14 21:58:41 -04:00
Thomas Capricelli
5fe0c30811
new script that update from mercurial, make the doc, and upload the result
...
to tuxfamily.org
2009-08-15 03:36:37 +02:00
Benoit Jacob
62748a0963
new script to generate and upload the docs for a given branch
...
needs cleanup by a better shell scripter!!
2009-08-14 19:07:01 -04:00
Benoit Jacob
8372bd12bd
update snippet
2009-08-14 20:23:13 -04:00
Benoit Jacob
fe4a86443f
fix warning
2009-08-14 20:16:04 -04:00
Benoit Jacob
a5f820b873
forgot to update this
2009-08-14 20:03:14 -04:00
Benoit Jacob
2f74801ca4
as discussed on list: default to align cols, reorganize parameters accordingly so that the default corresponds to 0 flag,
...
and implement FullPrecision output (non-default).
2009-08-14 16:31:42 -04:00
Benoit Jacob
16abc0ba7f
try to support 16 bit platforms... optimistic, but can't hurt
2009-08-14 15:49:14 -04:00
Benoit Jacob
22ae236d4e
machine_epsilon -> epsilon as wrapper around numeric_traits
2009-08-14 15:12:32 -04:00
Thomas Capricelli
3f63d6f97f
fix BoxBOD in the first case : now all tests pass
2009-08-14 19:04:09 +02:00
Thomas Capricelli
3856c2d84d
oops, i missed one : real last difficult nist test : Eckerle4
2009-08-14 18:54:28 +02:00
Thomas Capricelli
93627fefcf
last 'hard' test from Nist : ratkowsky3
2009-08-14 18:31:04 +02:00
Thomas Capricelli
91f61f7679
fix bad urls
2009-08-14 17:48:04 +02:00
Thomas Capricelli
d8c671f475
yet another (difficult) Nist test : Thurber
2009-08-14 17:46:28 +02:00
Thomas Capricelli
e057d1ef47
tweak precision for Chwirut2 test
2009-08-14 17:25:39 +02:00
Thomas Capricelli
56127cfb1a
add yet another easy Nist test : Chwirut2
2009-08-14 17:21:31 +02:00
Gael Guennebaud
6373c3cd00
oops bis, I forgot that SelfAdjointEigneSolver directly called the selector...
2009-08-14 13:49:29 +02:00
Gael Guennebaud
8abec72259
oops forgot to remove the #include in Core
2009-08-14 09:49:33 +02:00
Gael Guennebaud
13e95f7f68
optimize "apply Jacobi" for small sizes, and move it to Jacobi.h
2009-08-14 00:17:14 +02:00
Benoit Jacob
f2536416da
* remove EIGEN_DONT_INLINE that harm performance for small sizes
...
* normalize left Jacobi rotations to avoid having to swap rows
* set precision to 2*machine_epsilon instead of machine_epsilon, we lose 1 bit of precision
but gain between 10% and 100% speed, plus reduce the risk that some day we hit a bad matrix
where it's impossible to approach machine precision
2009-08-13 14:56:39 -04:00
Thomas Capricelli
f7cd4c8923
cleaning : wa1 used in 'covar' needs not be the same as in lmder* and all.
...
it's just an old-fashioned way to re-use memory without allocation...
2009-08-13 16:29:17 +02:00
Benoit Jacob
76a3089a43
oops, don't set the precision to -1 !!
2009-08-13 09:56:53 -04:00
Benoit Jacob
13b191d94b
apply Koldo's workaround for MSVC bug
2009-08-13 09:53:47 -04:00
Gael Guennebaud
1b257a7620
add an optimized "apply in place a rotation in the plane",
...
and make Jacobi and SelfAdjointEigenSolver use it
=> ~ x1.75 speedup for JacobiSVD and x2 for SelfAdjointEigenSolver
2009-08-13 11:42:02 +02:00
Benoit Jacob
1d80f561ad
apply change discussed on the list :
...
* new default precision "-1" means use the current stream precision
* otherwise, save and restore the stream precision
2009-08-13 22:50:55 -04:00
Benoit Jacob
99802094e4
do without an empirical homemade formula that i wasn't comfortable about...
...
turns out it's not needed anymore and removing it seems to only increase the precision
2009-08-12 18:30:37 -04:00
Benoit Jacob
6bb6810c5e
merge
2009-08-12 18:25:13 -04:00
Benoit Jacob
2b618a2c16
make jacobi SVD more robust after experimenting with very nasty matrices...
...
it turns out to be better to repeat the jacobi steps on a given (p,q) pair until it
is diagonal to machine precision, before going to the next (p,q) pair. it's also
an optimization as experiments show that in a majority of cases this allows to find out
that the (p,q) pair is already diagonal to machine precision.
2009-08-12 18:23:39 -04:00
Jitse Niesen
f71f878bab
Add support for matrix exponential of floats and complex numbers.
2009-08-12 15:44:22 +01:00
Benoit Jacob
309d540d4a
add parentheses; hopefully this solves Koldos MSVC compilation issue...
2009-08-12 10:14:15 -04:00
Benoit Jacob
22d65d47d0
finally, the good approach was two-sided Jacobi. Indeed, it allows
...
to guarantee the precision of the output, which is very valuable.
Here, we guarantee that the diagonal matrix returned by the SVD is
actually diagonal, to machine precision.
Performance isn't bad at all at 50% of the current householder SVD
performance for a 200x200 matrix (no vectorization) and we have
lots of room for improvement.
2009-08-12 02:35:07 -04:00
Thomas Capricelli
7b922eb634
BoxBOD : oops.. shame on me, i did a mistake in the derivative.... now we need 16
...
iterations instead of 7693 ;-)
the first test still fails though.
2009-08-12 02:34:22 +02:00
Thomas Capricelli
fd307b8f3f
fix a bug in BoxBOD Nist test : we now get the actual value for 'start 2'
...
'start 1' still fails though :/
2009-08-12 02:27:44 +02:00
Thomas Capricelli
3c675609bf
add another Nist test of 'hard' difficutly : Bennett5
2009-08-12 02:13:04 +02:00
Thomas Capricelli
54d09a8122
add another Nist test of 'hard' difficutly : MGH09
2009-08-12 01:50:56 +02:00
Benoit Jacob
ce033ebdfe
add EIGEN_DEBUG_VAR
2009-08-11 16:12:34 -04:00
Thomas Capricelli
5ac17b4680
add another Nist test of medium difficutly : MGH17
2009-08-11 20:24:02 +02:00
Gael Guennebaud
afbd73b5cd
overload operartor* with a ProductBase such that "scalar * (mat * mat)" is optimized
...
as one could naturally expect
2009-08-11 15:15:06 +02:00
Gael Guennebaud
a4f6642518
fix issue #36 (missing return *this in Rotation2D
2009-08-11 15:11:47 +02:00
Gael Guennebaud
ea884e6f48
remove #include Bidiagonalization, and add missing ";"
2009-08-11 15:08:03 +02:00
Thomas Capricelli
d1bc9144cb
wrapper for lmstr1 and lmstr + eigenization of calling tests
2009-08-10 17:37:27 +02:00
Thomas Capricelli
bb1204a145
wrapper for lmdif1 + eigenization of calling test
2009-08-10 17:16:43 +02:00
Thomas Capricelli
80372c18ee
wrapper for lmdif (+test call eigenization)
2009-08-10 16:54:53 +02:00
Thomas Capricelli
4a26baa718
wrapper for hybrj1
2009-08-10 16:32:45 +02:00
Thomas Capricelli
1d53ce8d48
wrapper for hybrj
2009-08-10 16:21:22 +02:00
Thomas Capricelli
120235deef
add another (actuallY) difficult NIST test : BoxBOD.
...
The first try fails, the second one passes, but with a very bad accuracy
(~4 digits only).
anyway, my aim is to check we do not change cminpack while portint, so i
keep this test.
2009-08-10 14:11:55 +02:00
Thomas Capricelli
bcfe874968
add another 'difficult'-rated NIST test, which passes
2009-08-10 13:47:18 +02:00
Thomas Capricelli
7d65bd42eb
fix testNistHahn1 : i had swapped x[] and y[].... :/
2009-08-10 13:46:43 +02:00
Thomas Capricelli
b71aa34946
a Nist test rated 'difficult', which passes.
2009-08-10 13:05:30 +02:00
Thomas Capricelli
9b1130b82a
another nist test with difficulty 'leverage', it passes.
2009-08-10 12:49:44 +02:00
Thomas Capricelli
7ecbbc9aa4
another nist test with difficulty 'leverage', this one passes
2009-08-10 12:34:51 +02:00
Thomas Capricelli
1045bc17f5
another nist test ('average' difficulty), which fails. It is disabled until
...
further notice.
2009-08-10 12:08:31 +02:00
Thomas Capricelli
c7a72958ba
add an easy test from the NIST set :
...
http://www.itl.nist.gov/div898/strd/nls/data/misra1a.shtml
2009-08-10 10:47:55 +02:00
Thomas Capricelli
ec2b9f90a3
hybrd : wrapper + eigenize test
2009-08-10 03:39:50 +02:00
Gael Guennebaud
35b4077a5d
merge
2009-08-09 23:11:25 +02:00
Gael Guennebaud
ef55e7f4ce
make custom asm directive volatile
2009-08-09 23:09:46 +02:00
Benoit Jacob
216ee335ac
LinearVectorization: If the destination isn't aligned,
...
we have to do runtime checks and we don't unroll, so it's only good for large enough sizes
2009-08-09 22:19:12 +02:00
Benoit Jacob
1f1705868b
now you can #define EIGEN_DEBUG_ASSIGN, and all the values in ei_assign_traits are printed
2009-08-09 21:35:13 +02:00
Benoit Jacob
527557672a
disable the assembly for fast unaligned stores. indeed, there is a strange bug that is triggered by this code:
...
#include<Eigen/Core>
int main()
{
Eigen::Matrix4f m;
m <<1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;
m.col(0).swap(m.col(1));
std::cout << m << std::endl;
}
when the fast unaligned stores are used, the column is copied instead of being swapped.
2009-08-09 20:49:55 +02:00
Benoit Jacob
8e08680119
don't depend on uninitialized value
2009-08-09 17:18:42 +02:00
Benoit Jacob
3ed83fa681
* add Jacobi transformations
...
* add Jacobi (Hestenes) SVD decomposition for square matrices
* add function for trivial Householder
2009-08-09 16:58:13 +02:00
Thomas Capricelli
953c37f8e5
i wonder how useful this really is, but others do this way. Probably
...
related to doxygen.
2009-08-09 05:14:45 +02:00
Thomas Capricelli
50c192961c
eigenize lmder + some other small fixes
2009-08-09 05:07:59 +02:00
Thomas Capricelli
a6625f22d4
eigenize the test for lmder1, clean functor stuff.
...
(and check the tests still pass, of course, that's the whole point..)
2009-08-09 03:54:36 +02:00
Thomas Capricelli
5e4cf6cae1
oops.. use the template paramater instead of hard coding 'double'
2009-08-09 03:34:32 +02:00
Thomas Capricelli
ceeb023ff2
use template parameter Scalar instead of VectorType, fix a segfault.
2009-08-09 03:33:04 +02:00
Thomas Capricelli
7db4052749
eigenize the test a little more
2009-08-09 03:16:24 +02:00
Thomas Capricelli
f19eda7cf6
first test for a basic wrapper (and only wrapper!) for cminpack functions
2009-08-09 03:07:34 +02:00
Thomas Capricelli
2b9f110639
actually use eigen include file
2009-08-09 01:12:14 +02:00
Gael Guennebaud
fe813911f2
make LU::solve() not to crash when rank=0
2009-08-09 00:06:53 +02:00
Benoit Jacob
5f8d58f36a
fix bug in sorting of singular values
2009-08-09 00:05:38 +02:00
Thomas Capricelli
b695113a81
Add all other file from cminpack/examples as tests.
...
Important : one test was failing because cminpack-1.0.2 does x[3]=1. on x
which is of size 3. Probably because fortran indices are shifted wrt to C
indices and someone forgot to fix this one.
This is correct in this commit and this is the only change I've done on files
from cminpack examples.
(i've also reported the bug to cminpack author)
2009-08-08 23:41:54 +02:00
Thomas Capricelli
d646d99366
Start of module "NonLinear". We start out of cminpack-1.0.2
...
(http://devernay.free.fr/hacks/cminpack.html )
The first test is adapted from the example/ directory.
Some stuff is hard coded for our initial tests.
2009-08-08 22:18:48 +02:00
Thomas Capricelli
b10637be50
add basic .hgignore file for most common generated/temporary files
2009-08-08 21:42:14 +02:00
Gael Guennebaud
f5e1c896c7
replace custom rank one update in LU by an expression
2009-08-08 00:01:43 +02:00
Gael Guennebaud
d1dc088ef0
* implement a second level of micro blocking (faster for small sizes)
...
* workaround GCC bad implementation of _mm_set1_p*
2009-08-07 11:09:34 +02:00
Gael Guennebaud
543a785756
Fix compilation in sparse module
2009-08-06 17:28:49 +02:00
Gael Guennebaud
2707a6b87c
fix determinant in PartialLU
2009-08-06 17:28:31 +02:00
Gael Guennebaud
1d1e4884da
oops, one more bug fix in homogeneous
2009-08-06 16:56:10 +02:00
Gael Guennebaud
9822493aaf
fixes in determinant and homogeneous
2009-08-06 16:54:55 +02:00
Gael Guennebaud
3ac01b1400
compilation fix in EigenSolver,
...
bugfix in PartialLU
2009-08-06 16:41:54 +02:00
Gael Guennebaud
e82e30862a
typo
2009-08-06 15:04:42 +02:00
Gael Guennebaud
03febf00a0
fix VS compilation issue in MapBase::operator+= and -=
2009-08-06 15:03:37 +02:00
Gael Guennebaud
2e46e9f2b4
shame on me
2009-08-06 14:57:38 +02:00
Gael Guennebaud
d34c5ef509
fix my bad fix of Hauke's fix ;)
2009-08-06 14:54:25 +02:00
Gael Guennebaud
1d4fea48b5
fix a couple of compilations issues
2009-08-06 14:10:02 +02:00
Hauke Heibel
c2861dd41a
fixed inversion for AffineCompact matrices
2009-08-06 12:25:18 +02:00
Gael Guennebaud
56d00779db
more product refactoring
2009-08-06 12:20:02 +02:00
Hauke Heibel
6b2ab13ac5
fix vs.net compilation issue
2009-08-06 11:40:25 +02:00
Hauke Heibel
8163757cf0
fix vs.net compilation issue
2009-08-06 11:27:25 +02:00
Gael Guennebaud
fa55cf5ce7
fix compilation and segfault issues
2009-08-06 11:19:36 +02:00
Gael Guennebaud
b9b17ea5a5
add the missing Affine Transform * set of column vectors products...
2009-08-06 11:02:03 +02:00
Benoit Jacob
0744638b6f
remove remnant of MultiplierBase
2009-08-06 10:35:13 +02:00
Gael Guennebaud
84a7659bef
implement the missing outer product,
...
and attempt to workaround a gcc internal error
2009-08-05 17:39:11 +02:00
Gael Guennebaud
88147e0a91
big refactoring in Product.h:
...
- all specialized products now inherits ProductBase
- the default product evaluated by Assign is still here,
but it is currently enabled for small fixed sizes only
- => this significantly speed up compilation for large matrices
- I left the OuterProduct specialization empty as an exercise...
2009-08-05 15:23:35 +02:00
Benoit Jacob
014c581a5b
fix assertions, improve docs.
...
we never assert on conditions that depend on the result of a computation!!
also the assertion that rank>0 amounts to matrix!=0 which we have to leave under the responsibility of the user.
2009-08-05 10:15:28 +02:00
Benoit Jacob
b183a4f879
merge
2009-08-04 17:47:27 +02:00
Gael Guennebaud
ab6302376c
merge
2009-08-04 17:12:00 +02:00
Benoit Jacob
c20236ea75
remove the FORCE
2009-08-04 17:06:54 +02:00
Gael Guennebaud
7d607048a9
implement a ProductBase class and, as a proof of concept, update TriangularProduct
...
and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
2009-08-04 16:54:17 +02:00
Gael Guennebaud
f3a6bc48c4
fix a couple of compilation issue due to the removal of MultiplierBase
2009-08-04 13:16:40 +02:00
Gael Guennebaud
2089a263f8
merge
2009-08-04 11:31:25 +02:00
Gael Guennebaud
c2a92e92a6
add ger and lu with partial pivoting in BTL
2009-08-04 11:30:33 +02:00
Gael Guennebaud
4bec101470
implement two levels of blocking in PartialLU => high speedup
2009-08-04 11:28:02 +02:00
Benoit Jacob
4436a4d68c
use explicit Block/VectorBlock xprs to make sure that compile-time known sizes are used
2009-08-04 00:27:58 +02:00
Benoit Jacob
523cdedf58
make the dot product linear in the second variable, not the first variable
2009-08-03 17:20:45 +02:00
Gael Guennebaud
912da9fade
merge with special_matrix branch
2009-08-03 16:17:32 +02:00
Gael Guennebaud
a8f943127c
merge
2009-08-03 16:11:30 +02:00
Benoit Jacob
d10c710b15
add new Householder module
2009-08-03 16:06:57 +02:00
Gael Guennebaud
3cf5bb31f6
* Bye bye MultiplierBase, extend a bit AnyMatrixBase to allow =, +=, and -=
...
* This probably makes ReturnByValue needless
2009-08-03 16:05:15 +02:00
Benoit Jacob
66ee2044ce
small fixes
2009-08-03 16:05:07 +02:00
Benoit Jacob
3cde9c0e35
apply Gael's idea for auto transpose in mixed fixed/dynamic case
2009-08-03 16:04:15 +02:00
Gael Guennebaud
ce1dc1ab16
implements a blocked version of PartialLU
2009-08-03 12:11:18 +02:00
Gael Guennebaud
0103de8512
bugfix in trsm
2009-08-02 15:32:43 +02:00
Benoit Jacob
cd49780143
apply patch from Marcus Hanwell: Improved quoting of tests when added to the build
2009-08-02 15:09:34 +02:00
Gael Guennebaud
48fc64458c
add blocked LLT, and bugfix in trsm asserts
2009-08-01 23:42:51 +02:00
Gael Guennebaud
18429156a1
add selfadjointView from a trinagularView
2009-07-31 17:35:55 +02:00
Gael Guennebaud
2796bcabb1
some cleaning
2009-07-31 17:35:20 +02:00
Gael Guennebaud
a156f5a869
faster trsm kernel and fix a couple of issues
2009-07-31 13:18:19 +02:00
Gael Guennebaud
21f686846b
s/std::atan2/ei_atan2
2009-07-31 10:08:23 +02:00
Manuel Yguel
ae5e26a363
add missing ei_atan2 without painfull warnings
2009-07-31 09:21:31 +02:00
Gael Guennebaud
2e9f7f80bf
compilation fixes for sun CC
2009-07-31 10:04:34 +02:00
Benoit Jacob
d8bfd151d1
forward-port Anthony Truchet's changeset 8eab0bccbf
2009-07-30 16:05:38 +02:00
Gael Guennebaud
ff20a2ba94
add explicit "on the right" triangular solving,
...
=> no temporary when the rhs/unknows is row major
2009-07-30 16:03:06 +02:00
Gael Guennebaud
62d9b9b7b5
fix typo
2009-07-29 09:26:20 +02:00
Gael Guennebaud
864171df5c
fix a couple of issues related to recent products
2009-07-28 18:11:30 +02:00
Gael Guennebaud
1ba35248e9
synch with main branch
2009-07-28 17:37:22 +02:00
Gael Guennebaud
54804eb626
synch with main branch
2009-07-28 17:35:07 +02:00
Gael Guennebaud
264fe82c65
add a debug mechanism to compute the number of intermediate evaluations (only for dynamic size)
2009-07-28 17:13:13 +02:00
Gael Guennebaud
508f06ac0f
update doc
2009-07-28 17:11:15 +02:00
Gael Guennebaud
de8b795895
compilation fixes in BTL
2009-07-28 17:10:34 +02:00
Gael Guennebaud
7ed7ec64b5
improve the expression analyzer to bypass Transpose expression
2009-07-28 14:02:12 +02:00
Gael Guennebaud
6713c75fac
update doc
2009-07-28 12:08:26 +02:00
Gael Guennebaud
7579360672
fix compilation of the doc and started a page dedicated to high performance and or BLAS users
2009-07-27 18:50:39 +02:00
Gael Guennebaud
5f3606bce9
bug fix in inverse for 1x1 matrix,
...
some compilation fixes in sparse_solvers
2009-07-27 18:09:56 +02:00
Gael Guennebaud
94cc30180e
compilation fixes
2009-07-27 13:50:23 +02:00
Gael Guennebaud
0590c18555
various compilation and bug fixes in selfadjoint stuff
2009-07-27 13:17:39 +02:00
Gael Guennebaud
b5e4064289
cleaning and fix a perf issue
2009-07-27 12:13:53 +02:00
Gael Guennebaud
f95b77be62
trmm is now fully working and available via TriangularView::operator*
2009-07-27 11:42:54 +02:00
Gael Guennebaud
6aba84719d
trmm is now working in all storage order configurations
2009-07-27 10:27:01 +02:00
Gael Guennebaud
1d4d9a37fd
some cleaning
2009-07-26 13:53:24 +02:00
Gael Guennebaud
f3fde74695
finalize trsm: works in all situations, and it is now used by solve() and solveInPlace()
2009-07-26 13:01:37 +02:00
Gael Guennebaud
282e18da49
ok, now trsm works very well for upper triangular matrices
...
TODO: link it with the meta triangular_solve_selector and handle
the case where the rhs is row major by copying it to a col-major
temporary + handle right solving: X = B * M^-1
2009-07-26 00:49:17 +02:00
Gael Guennebaud
f4112dcff3
The new trsm is working very very well (read very fast) for
...
lower triangular matrix and row or col major lhs.
TODO: handle upper triangular and row major rhs cases
2009-07-25 21:41:01 +02:00
Gael Guennebaud
35927e78c2
add WIP trsm
2009-07-24 16:21:52 +02:00
Gael Guennebaud
c6d06c22ac
some cleaning
2009-07-24 10:53:31 +02:00
Gael Guennebaud
6076173f0b
add a simplified version of the sybb kernel built on top of gebp
2009-07-24 10:08:21 +02:00
Gael Guennebaud
82c5438c95
split and add unit tests for symm and syrk,
...
the .rank*update() functions now returns a reference to *this
2009-07-23 21:22:51 +02:00
Gael Guennebaud
b67abe22b3
oops,, update SYRK so that the rhs can be non-square²
2009-07-23 20:56:04 +02:00
Gael Guennebaud
a81388fae9
Implement efficient sefladjoint product (aka SYRK) : C += alpha * U U^T
...
It is currently available via SelfAdjointView::rankKupdate.
TODO: allows to write SelfAdjointView += u * u.adjoint()
2009-07-23 19:01:20 +02:00
Gael Guennebaud
713c92140c
improve SYMV it is now faster and ready for use
2009-07-23 14:20:45 +02:00
Gael Guennebaud
eee14846e3
formating
2009-07-23 10:19:58 +02:00
Gael Guennebaud
ddb3ac98a2
addd matrix * self adjoint high level API
2009-07-23 10:05:38 +02:00
Hauke Heibel
8d2cd744b0
Added an explicit cast from int to bool to suppress MSVC warnings.
2009-07-23 00:11:25 +02:00
Gael Guennebaud
f696efc00e
bugfix in SYMM
2009-07-22 23:48:42 +02:00
Gael Guennebaud
0cb4f32e12
implement high level API for SYMM and fix a couple of bugs related to complex
2009-07-22 23:12:22 +02:00
Gael Guennebaud
e7f8e939e2
* GEMM enhencement: no need to pre-transpose the rhs
...
=> faster a * b.transpose() product
=> this also fix a bug in a so far untested situation
* SYMM is now ready for use => still have to write the high level
stuff to convert natural expressions into a call to SYMM
2009-07-22 18:04:16 +02:00
Gael Guennebaud
d6475ea390
more refactoring in the level3 products
2009-07-22 11:54:58 +02:00
Gael Guennebaud
d6627d540e
* refactoring of the matrix product into multiple small kernels
...
* started an efficient selfadjoint matrix * general matrix product
based on the generic kernels ( => need a very little LOC)
2009-07-21 16:58:35 +02:00
Gael Guennebaud
afa8f2ca95
* various fixes related to sub diagonals and band matrix
...
* allows 0 sized objects in Block/Map
2009-07-21 11:19:52 +02:00
Gael Guennebaud
562864bcfb
enable our own ctest dashboard
2009-07-20 23:06:04 +02:00
Gael Guennebaud
a012aecbc4
bugfix in SVD
2009-07-20 13:44:52 +02:00
Gael Guennebaud
4375c043ac
minor compilation fixes for Sun CC and ICC
2009-07-20 13:27:41 +02:00
Gael Guennebaud
4c85fa8c73
compilation fix (sun CC)
2009-07-20 10:57:31 +02:00
Gael Guennebaud
c10b919edb
compilation fix
2009-07-20 10:56:03 +02:00
Gael Guennebaud
b3ad796d40
bugfix in operator*= (matrix product)
2009-07-20 10:44:07 +02:00
Gael Guennebaud
a551107cce
bugfix for a = a * b; when a has to be resized
2009-07-20 10:35:47 +02:00
Gael Guennebaud
32b08ac971
re-implement stableNorm using a homemade blocky and
...
vectorization friendly algorithm (slow if no vectorization)
2009-07-17 16:22:39 +02:00
Gael Guennebaud
15ed32dd6e
add other stable norm impl. in the benchmark
2009-07-16 16:21:26 +02:00
Gael Guennebaud
525da6a464
bugfix in blueNorm
2009-07-16 14:20:36 +02:00
Gael Guennebaud
65fc70b750
add a benchmark for the different norms
2009-07-16 11:33:56 +02:00
Gael Guennebaud
34490f1493
* bugfixes in Product, and test/product_selfadjoint
...
* speed up in the extraction of the matrix Q in Tridiagonalization
2009-07-16 00:03:17 +02:00
Gael Guennebaud
97c9445c60
synch with main devel branch
2009-07-15 19:54:31 +02:00
Gael Guennebaud
079fa81d84
add a TridiagonalMatrix wrapper arround BandMatrix, and extend this latter
2009-07-15 19:53:08 +02:00
Gael Guennebaud
4f792583c7
add BandMatrix::col()
2009-07-15 18:00:11 +02:00
Gael Guennebaud
df6561a73f
change the implementation of BandMatrix to follow the BLAS/LAPACK storage scheme
2009-07-15 17:00:49 +02:00
Gael Guennebaud
1578421ed1
fix issue #25 : the problem was that we assumed Dynamic was a multiple of a packet size
...
(also disable the test of blueNorm)
2009-07-15 14:20:45 +02:00
Gael Guennebaud
587029a612
started an implementation of BandMatrix: at least the read/write access
...
to the main/sub/super diagonals seems to work well.
2009-07-14 23:27:37 +02:00
Gael Guennebaud
8120a5cecd
synch with main devel branch
2009-07-14 23:06:25 +02:00
Gael Guennebaud
7a9519a9be
fix typo in blue norm
2009-07-14 23:00:53 +02:00
Gael Guennebaud
279cedc1ce
some cleaning/renaming is Triangular/SelfadjointView
2009-07-14 22:38:21 +02:00
Gael Guennebaud
f5d2317b12
add a blueNorm() function implementing the Blues's stable norm
...
algorithm. it is currently provided for experimentation
purpose only.
2009-07-13 21:14:47 +02:00
Gael Guennebaud
ddbaaebf9e
one more fix of the previous commit (forgot to update ei_must_nest_by_value)
2009-07-13 15:27:01 +02:00
Gael Guennebaud
bd506d837c
fix typo in previous commit
2009-07-13 15:21:32 +02:00
Gael Guennebaud
1e7b1a8a85
add a SparseNestByValue expression and fix issue in sparse adjoint evaluation
2009-07-13 14:55:03 +02:00
Gael Guennebaud
a2cf7ba955
add triangular * vector product
2009-07-13 13:17:55 +02:00
Gael Guennebaud
a2087cd7a3
Add an efficient rank2 update function (like the level2 blas xSYR2 routine).
...
Note that it is already used in Tridiagonalization.
2009-07-11 21:14:59 +02:00
Gael Guennebaud
ab17f92728
more sun studio fixes
2009-07-10 16:27:01 +02:00
Gael Guennebaud
ec5c608aa3
Set of fixes and workaround to make sun studio more happy.
...
Still remains the problem of alignment and vectorization.
2009-07-10 16:10:03 +02:00
Gael Guennebaud
b47dea8b7a
add a meta unroller for the triangular solver (only for vectors as rhs)
2009-07-10 11:30:46 +02:00
Gael Guennebaud
1a1b2e9f27
finally directly calling the low-level products is faster
2009-07-10 10:41:26 +02:00
Gael Guennebaud
1c52985aa7
merge
2009-07-10 08:21:57 +02:00
Gael Guennebaud
629e083d81
slight change in the comparison to -1
2009-07-10 08:21:20 +02:00
Gael Guennebaud
8885d56928
commit woking versions of triangular solvers naturally
...
handling conjuagted expression. still have to bench whether it
is faster (runtime and compile time) to directly call the
cache friendly functions, whence all the commented piece of code...
2009-07-09 23:59:18 +02:00
Gael Guennebaud
fa60c72398
started to simplify the triangular solvers
2009-07-09 17:11:03 +02:00
Gael Guennebaud
96e7d9f896
ok now all the complex mat-mat and mat-vec products involving conjugate,
...
adjoint, -, and scalar multiple seems to be well handled. It only remains
the simpler case: C = alpha*(A*B) ... for the next commit
2009-07-08 18:24:37 +02:00
Gael Guennebaud
13b2dafb50
conjugate expressions are now properly caught by Product
...
=> significant speedup in expr. like a.adjoint() * b,
for complex scalar type (~ x3)
2009-07-07 21:30:20 +02:00
Gael Guennebaud
5ed6ce90d3
started to catch scalar multiple and conjugate xpr in Product
2009-07-07 16:55:51 +02:00
Gael Guennebaud
ea23f36c78
* change the nesting order of adjoint_return_type to
...
1 - make it easier to catch conjugate expressions
2 - make sure there is no unecessary copy (we had NestByValue<Derived> which seems to be very bad)
* update eigensolver wrt recent changes
2009-07-07 15:56:13 +02:00
Gael Guennebaud
79877a9917
* take advantage of new possibilies in LLT (mat -= product)
...
* fix Block::operator+= product which was not optimized
* fix some compilation issues
2009-07-07 15:32:21 +02:00
Gael Guennebaud
92a35c93b2
* extended the cache friendly products to support C = alpha * A * M and C += alpha * A * B
...
* this allows to optimize xpr like C -= lazy_product, still have to catch "scalar_product_of_lazy_product"
* started to support conjugate in cache friendly products (very useful to evaluate A * B.adjoint() without
evaluating B.adjoint() into a temporary
* compilation fix
2009-07-07 11:39:19 +02:00
Gael Guennebaud
544888e342
add a generic mechanism to copy a special matrix to a dense matrix so that
...
we don't need to add other specialization of MatrixBase::operator=, Matrix::=,
and Matrix::Matrix(...)
2009-07-07 09:05:20 +02:00
Gael Guennebaud
1aea45335f
* bybye Part, welcome TriangularView and SelfAdjointView.
...
* move solveTriangular*() to TriangularView::solve*()
* move .llt() to SelfAdjointView
* add a high level wrapper to the efficient selfadjoint * vector product
* improve LLT so that we can specify which triangular part is meaningless
=> there are still many things to do (doc, cleaning, improve the matrix products, etc.)
2009-07-06 23:43:20 +02:00
Benoit Jacob
889726bf7c
add matrixQR() method exposing the storage. that's where the householder thing impacts the API.
2009-07-06 17:24:11 +02:00
Benoit Jacob
e057beee4e
fix some search-and-replace damage
2009-07-06 17:20:07 +02:00
Benoit Jacob
e093b43b2c
* rename QR to HouseholderQR because really that impacts the API, not just the impl.
...
* rename qr() to householderQr(), for same reason.
* clarify that it's non-pivoting, non-rank-revealing, so remove all the rank API, make solve() be void instead of bool, update the docs/test, etc.
* fix warning in SVD
2009-07-06 17:12:10 +02:00
Gael Guennebaud
f84bd3e7b1
include the fixes of the third edition
2009-07-06 15:01:30 +02:00
Gael Guennebaud
0c2232e5d9
quick reimplementation of SVD from the numeral recipes book:
...
this is still not Eigen style code but at least it works for
n>m and it is more accurate than the JAMA based version. (I needed
it now, this is why I did that)
2009-07-06 13:47:41 +02:00
Gael Guennebaud
0cd158820c
switch from eigensolver to SVD which seems to be more accurate with float
2009-07-06 11:15:38 +02:00
Gael Guennebaud
90f1e24579
significantly improve the accuracy of setFromTwoVectors ( fixes #21 )
2009-07-06 10:35:20 +02:00
Gael Guennebaud
ecc4f07af5
fix doc of Quaternion::setFromTwoVectors
2009-07-06 09:17:25 +02:00
Gael Guennebaud
c6f610093b
add a VectorBlock expr as a specialization of Block
2009-07-05 11:33:55 +02:00
Gael Guennebaud
eec334c604
fixes a segfault
2009-07-05 10:48:57 +02:00
Benoit Jacob
60467e54a5
some docs improvements
2009-07-05 01:52:42 +02:00
Manuel Yguel
c398d0edcf
another test in the non invertible case
2009-07-04 14:55:25 +02: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
Gael Guennebaud
d457ec5810
fix #20 : SVD::solve() now resize the result
2009-07-04 09:28:11 +02:00
Benoit Jacob
7b750182f2
* polish computeInverseWithCheck to share more code, fix documentation, fix coding style
...
* add snippet for computeInverseWithCheck documentation
* expand unit-tests to cover computeInverseWithCheck
2009-06-29 22:07:37 +02:00
Manuel Yguel
126a031a39
computeInverseWithCheck method added to matrix base (specialization for 1D to 4D)
2009-06-29 20:47:37 +02:00
Benoit Jacob
632cb7a4a1
patch by Myguel from the forum: fix documentation
2009-06-29 19:26:20 +02:00
Benoit Jacob
2de9b7f537
fully vectorize DiagonalProduct
...
(it used to be partially vectorized and that had been lost in the big changes from the previous commit)
2009-06-29 04:01:31 +02:00
Benoit Jacob
bf91003d37
FreeBSD: determine precisely when malloc is 16-byte aligned
2009-06-29 00:08:34 +02:00
Benoit Jacob
5eabf2b75d
double precision() : change to 1e-12 instead of 1e-11 (as discussed several times on the list)
2009-06-29 00:00:29 +02:00
Benoit Jacob
6809f7b1cd
new implementation of diagonal matrices and diagonal matrix expressions
2009-06-28 21:27:37 +02:00
Benoit Jacob
fc9000f23e
only disable the inline ASM if we're NEITHER gcc nor icc. right ??
2009-06-26 05:32:21 +02:00
Benoit Jacob
6ccb97620a
patch by Patrick Mihelich: use empty struct + anonymous namespace for NoChange
2009-06-25 03:33:47 +02:00
Benoit Jacob
60e6ac3178
use system variable instead of custom one
2009-06-25 01:06:53 +02:00
Benoit Jacob
903acf0d5c
add missing code snippets for newer Matrix methods and PartialLU::solve()
2009-06-25 00:57:51 +02:00
Benoit Jacob
03ad303d14
* add resize(int, NoChange) and resize(NoChange, int)
...
* add missing assert in resize(int)
* add examples for all resize variants
* expand docs (part of which is from Tim Hutt's e-mail)
2009-06-24 22:07:03 +02:00
Benoit Jacob
96dca681b0
use <...> for system headers
2009-06-24 16:35:02 +02:00
Gael Guennebaud
a44f7cf440
re-enable the fast unaligned loads for gcc and icc using inline assembly
...
(this allows to avoid incompatible pointer casts and to specify the dependency to the data explicitely)
2009-06-24 10:48:36 +02:00
Gael Guennebaud
aa17b5b514
use the slower unaligned load intrinsics in ei_ploadu because GCC mess up with my tricks
2009-06-23 23:28:34 +02:00
Benoit Jacob
3934a8b5e8
check version number using newer cmake functionality, instead of kde macro
2009-06-23 15:39:46 +02:00
Gael Guennebaud
ec8596f863
update the stack alignment doc
2009-06-22 10:44:09 +02:00
Benoit Jacob
ac9680fb20
document the "wrong stack alignment" issue.
2009-06-21 17:25:57 +02:00
Benoit Jacob
7d48ed4be3
refine the check to disable alignment. now it's disabled on gcc3 (where we don't vectorize anyway)
2009-06-21 04:56:01 +02:00
Benoit Jacob
8be088bfb0
add Eigen/Eigen
2009-06-19 20:46:55 +02:00
Benoit Jacob
fe8ab0147b
add "Dense" header
2009-06-19 19:09:35 +02:00
Benoit Jacob
032594cee2
forward port fix to #12
2009-06-19 18:51:15 +02:00
Benoit Jacob
a57325e971
fix #14 : make llt::solve() and also ldlt::solve() work with uninitialized result
2009-06-19 17:01:32 +02:00
Moritz Lenz
c6e81869d0
fixed typo in SuperLUSupport.h
2009-06-17 11:55:57 +02:00
Mark Borgerding
fb9a15e451
added copyright notice
2009-06-17 00:09:18 -04:00
Mark Borgerding
e577c70e49
candidate header for Eigen/Complex
2009-06-16 23:54:58 -04:00
Mark Borgerding
218711e18b
example file
2009-06-10 23:25:27 -04:00
Mark Borgerding
4d6b962ba4
added FindFFTW, but I don't think it's right yet
2009-06-10 22:16:32 -04:00
Gael Guennebaud
627595ad19
* rename PartialRedux to VectorwiseOp
...
* add VectorwiseOp's +, -, +=, -= operators
2009-06-10 11:20:30 +02:00
Gael Guennebaud
f3fd7fd22b
fix #11 : now the default Transform ctor set the last row in Affine mode.
2009-06-10 09:35:04 +02:00
Gael Guennebaud
d97d307fcf
SparseMatrix::resize() always resets the matrix to an empty one
2009-06-08 14:12:11 +02:00
Gael Guennebaud
55de162cf6
fix #10 : the reallocateSparse function was half coded
2009-06-08 14:05:23 +02:00
Gael Guennebaud
c49d1fd2b5
add a partial LU bench in BTL
2009-06-04 18:16:54 +02:00
Hauke Heibel
f26c691678
Renamed internal helper functions from the Memory header.
2009-06-04 17:25:15 +02:00
Hauke Heibel
5f04f8eb6b
Fixes #9 . Thanks to the (unknown) bug contributor.
2009-06-04 09:11:35 +02:00
Hauke Heibel
6530c8f5b4
A much simplified version of the earlier commit introducing way fewer changes compared to changeset f292d2352e
...
.
The reason of the previous commit was incorrect. The smart pointers issues were actually a result of issue 9.
2009-06-03 22:22:15 +02:00
Hauke Heibel
71e5cbcbc4
Added specializations for DontAlign when using Dynamic matrices.
...
This allows users to store Matrices in smart pointers without the
need for a specialized allocator/de-allocator.
2009-06-03 16:47:38 +02:00
Mark Borgerding
1c54340174
more work on ei_fftw_impl
2009-05-31 15:44:57 -04:00
Mark Borgerding
1fd6dfe428
added ei_fftw_impl
2009-05-30 17:55:47 -04:00
Hauke Heibel
f292d2352e
Relaxed checks againts _MaxRows and _MaxCols in Matrix::_check_template_params().
2009-05-29 09:09:48 +02:00
Mark Borgerding
f13e000b45
various comment changes
2009-05-27 21:32:42 -04:00
Benoit Jacob
ee92009fd8
make Umeyama, and its unit-test, work for me on gcc 4.3
2009-05-27 23:10:24 +02:00
Benoit Jacob
86be59124d
fix the static assert checking the size template parameters.
2009-05-27 23:07:29 +02:00
Hauke Heibel
4d1e492c00
* Umeyama has now similar performance for RowMajor and ColMajor layouts.
...
* Fixed a bug in umeyama for fixed size matrices.
* Fixed the umeyama unit test for fixed size matrices.
* Added XprHelper::ei_plain_matrix_type_row_major.
2009-05-27 19:24:05 +02:00
Ingmar Vanhassel
7a7a3f3570
Fix out of source build
2009-05-27 17:36:46 +02:00
Hauke Heibel
db5647abae
Added Umeyama implementation.
2009-05-26 19:22:25 +02:00
Mark Borgerding
09b4733255
added real-optimized inverse FFT (NFFT must be multiple of 4)
2009-05-25 23:52:21 -04:00
Mark Borgerding
03ed6f9bfb
refactored ei_kissfft_impl to maintain a cache of cpx fft plans
2009-05-25 23:06:49 -04:00
Mark Borgerding
210092d16c
changed name from simple_fft_traits to ei_kissfft_impl
2009-05-25 20:35:24 -04:00
Mark Borgerding
326ea77390
added FFT inverse complex-to-scalar interface (not yet optimized)
2009-05-23 22:50:07 -04:00
Mark Borgerding
3047988172
scalar forward FFT optimized for even size, converts to cpx for odd
2009-05-23 12:50:07 -04:00
Mark Borgerding
9c0fcd0f62
started real optimization, added benchmark for FFT
2009-05-23 10:09:48 -04:00
Gael Guennebaud
9d5728c511
fix #4
...
and also improve performance of Tridiag::diag/subDiag at the same time
2009-05-23 13:31:20 +00:00
Mark Borgerding
8b4afe3deb
added non-optimized real forward fft (no inverse yet)
2009-05-22 22:37:59 -04:00
Benoit Jacob
42848498aa
fixes #5 : freebsd really has aligned malloc
2009-05-22 23:54:52 +02:00
Benoit Jacob
7667a93cbe
merge
2009-05-22 20:31:26 +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
Thomas Capricelli
0ed7c2f6d7
fix typo
2009-05-22 19:46:29 +02:00
Hauke Heibel
c7303a876f
Oops, here the actual LLT and LDLT patch.
2009-05-22 15:58:20 +02:00
Hauke Heibel
0523b64fe9
Eigensolver decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
7435d5c079
LLT and LDLT decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
2c247fc8a8
LU and PartialLU decomposition interface unification.
...
Added default ctor and public compute method as well
as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
5c5789cf0f
QR and SVD decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Benoit Jacob
c7baddb132
add internal comment (mostly a pretext to test the eigen-commits list)
2009-05-20 16:54:40 +02:00
Gael Guennebaud
dd45c4805c
* add a writable generic coeff wise expression (CwiseUnaryView)
...
* add writable .real() and .imag() functions
2009-05-20 15:41:23 +02:00
Gael Guennebaud
6ecd02d7ec
merge
2009-05-20 00:05:28 +02:00
Gael Guennebaud
56aad5aafb
* add a FindEigen2.cmake file for reference
...
* parse the version number from the Macro.h header file
2009-05-20 00:04:08 +02:00
Benoit Jacob
a697cb4094
fix comments (old comments that were copied from LU)
2009-05-19 21:54:29 +02:00
Rhys Ulerich
066acca179
Added pkgconfig support
2009-05-19 11:48:50 -05:00
Gael Guennebaud
65181df1f9
update CTestConfig file for my.cdash.org
2009-05-19 10:21:24 +02:00
Gael Guennebaud
93123bc021
merge
2009-05-19 09:41:27 +02:00
Gael Guennebaud
510029f2bc
* optimize sum() for sparse matrices and vectors
...
* fix the row()/col() functions of some InnerVector
2009-05-19 09:40:00 +02:00
Gael Guennebaud
f47c4b5da8
update cdash testsuite file to use mercurial
2009-05-19 09:24:22 +02:00
Mark Borgerding
68cad98bc9
indent level change
2009-05-19 00:34:38 -04:00
Mark Borgerding
be1b2ad4ec
removed unused code
2009-05-19 00:26:19 -04:00
Mark Borgerding
92ca9fc032
initial pass of FFT module -- includes complex 1-d case only
2009-05-19 00:21:04 -04:00
Jitse Niesen
72f66d717d
Evaluate argument of matrix exponential only once.
2009-05-18 23:14:53 +01:00
Gael Guennebaud
b83d9b48fa
fix compilation with ICC
2009-05-18 18:26:45 +02:00
Gael Guennebaud
c8629e12f4
fix #3 , remove inline keywords in QtAlignedMalloc (MSVC fix)
2009-05-18 18:09:21 +02:00
Gael Guennebaud
e186728867
fix #1 : need to nest by value the affine part in homogeneous product
2009-05-18 17:55:50 +02:00
Gael Guennebaud
e0832d5d93
fix bug reported by Moritz Lenz about random setter
2009-05-18 17:26:01 +02:00
Jitse Niesen
e3d64cb418
Fix compilation error in createRandomMatrixOfRank()
2009-05-17 21:17:45 +01:00
Hauke Heibel
6358c12998
* introduced method createRandomMatrixOfRank (R = U*D*V where U,V unitary, D r-by-c diag. with rank non-zero values)
...
* switched lu/qr tests to be using createRandomMatrixOfRank
* removed unused methods doSomeRankPreservingOperations
* removed NOTE about doSomeRankPreservingOperations
2009-05-17 16:07:12 +02:00
Benoit Jacob
934d6b4749
fix #2 , bug in Diagonal::MaxRowsAtCompileTime when Index==Dynamic
2009-05-17 16:00:56 +02:00
Hauke Heibel
6ea7cbdc87
* added missing project definition (see doc of add_subdirectory and EXCLUDE_FROM_ALL) to fix a win build issue
...
* commented out non-existing unsupported-snippets and -examples
2009-05-17 12:12:39 +02:00
Thomas Capricelli
36c9c2597f
Added tag after-hg-migration for changeset cd6c258f44
2009-05-16 17:23:50 +02:00
Thomas Capricelli
cd6c258f44
Fix a previous mistake in moving the 2.0-beta5 in svn for some last-minute
...
fixes.
2009-05-16 17:23:42 +02:00
Thomas Capricelli
bd9c32e2f1
Remove this old file. It was stalling in history because of a bug in svn,
...
which did not prevent the commit (svn r722564) to 'svn copy' a directory
called 'Core/' on top of an existing file 'Core'
see http://websvn.kde.org/?view=rev&revision=722564
2009-05-16 17:20:44 +02:00
convert-repo
e0554752d8
update tags
2009-05-16 14:05:54 +00:00
Benoit Jacob
dd390470e1
simplification (no reason anymore to write that in that convoluted way)
2009-05-15 16:05:45 +00:00
Benoit Jacob
5ee9f1a705
argh, forgot to re-add the throw()
2009-05-15 15:54:52 +00:00
Benoit Jacob
126284d08b
* fix bugs in EigenTesting.cmake: it didn't work with -DEIGEN_NO_ASSERTION_CHECKING=ON
...
* only try...catch if exceptions are enabled
2009-05-15 15:53:26 +00:00
Benoit Jacob
7c14e1eac4
add partial-pivoting LU decomposition
...
the name 'PartialLU' is not meant to be definitive!
make inverse() and determinant() use it, so it's *almost* considered
well tested.
2009-05-13 02:02:22 +00:00
Gael Guennebaud
877c3c00a2
enable testing of complex numbers for taucs
2009-05-12 13:43:40 +00:00
Gael Guennebaud
159c99a288
fix adolc unit test for dynamic sizes
2009-05-12 07:38:46 +00:00
Gael Guennebaud
f5b5571a5a
compilation fixes
2009-05-12 07:32:34 +00:00
Gael Guennebaud
9b256d997e
various minor updates of some unit tests
2009-05-11 11:09:41 +00:00
Gael Guennebaud
6a4e94f349
bugfix from Jens Mueller (s/RowMajor/IsRowMajor)
2009-05-11 10:59:27 +00:00
Benoit Jacob
9afd1324fd
constant Diagonal ---> DiagonalBits
...
introduce ei_is_diagonal to check for it
DiagonalCoeffs ---> Diagonal and allow Index to by Dynamic
-> add MatrixBase::diagonal(int) with unittest and doc
2009-05-10 16:24:39 +00:00
Benoit Jacob
eac79b6d2e
CREDIT Hauke Heibel, fix MSVC warnings
2009-05-09 03:41:17 +00:00
Benoit Jacob
3b79d99f71
*make coeff() return a const reference (required with the recent change with CoeffReturnType)
...
*fix a unused variable warning
2009-05-09 03:39:31 +00:00
Benoit Jacob
c500415e18
result of our experiments with LU tuning: implement very simple formula, that
...
turns out to be similar to Higham's formula already in use in LDLt
2009-05-07 20:35:26 +00:00
Gael Guennebaud
b6c76c30cd
apply patch from Hauke Heibel cleaning overloaded operator new/detete
2009-05-07 20:33:48 +00:00
Benoit Jacob
47fc3858b9
oops, didn't want to commit that
2009-05-07 18:40:06 +00:00
Benoit Jacob
c8a22dbc08
CREDIT Hauke Heibel, more std::vector::insert fixes
2009-05-07 18:38:07 +00:00
Benoit Jacob
159ab4a043
CREDIT Hauke Heibel, windows compatibility fixes in MatrixExponential
2009-05-07 18:11:49 +00:00
Gael Guennebaud
7080282a6d
forgot a svn add CMakeLists.txt
2009-05-07 14:49:56 +00:00
Gael Guennebaud
6dffdca123
fix realloc when initial size was 0 (bug reported by Jens Mueller)
2009-05-07 13:13:42 +00:00
Benoit Jacob
4f0af00e51
*add missing overloads of setZero, etc... that were mentioned in the tutorial
...
--->they go into Matrix as they resize.
*add isConstant() alias to isApproxToConstant()
*extend unit-test
*change an assert into a static assert
2009-05-06 21:40:24 +00:00
Benoit Jacob
0c0d38272e
add copyright on two public headers that are not so trivial...
2009-05-06 15:48:28 +00:00
Benoit Jacob
e1abffa513
add missing function, thanks to Hauke Heibel
2009-05-06 13:33:35 +00:00
Gael Guennebaud
3361ad4589
one more gcc 3.3 fix
2009-05-06 10:51:46 +00:00
Gael Guennebaud
db079f3a8c
fix internal error with gcc 3.3 (all tests are now ok with 3.3 !)
2009-05-06 09:37:30 +00:00
Gael Guennebaud
1e286464ab
* compilation fixes for gcc 3.3
...
* test Part::swap
2009-05-06 08:43:38 +00:00
Gael Guennebaud
23f073625d
add -Wextra only if compiler supports it
2009-05-06 08:15:54 +00:00
Benoit Jacob
834eb5bfc8
new unsupported module by Jitse Niesen: matrix exponential
2009-05-05 20:46:55 +00:00
Benoit Jacob
66f059b99d
remove unused member remean that was just initialized
2009-05-05 17:29:44 +00:00
Benoit Jacob
46e1162a39
reimplement linearRegression on top of fitHyperplane which is much better
2009-05-05 17:15:35 +00:00
Benoit Jacob
2b2f0c0220
fix linearRegression, fix doc, add unit test (it was untested since the change
...
making fitHyperplane no longer use it)
2009-05-05 16:50:58 +00:00
Gael Guennebaud
5b364a68cb
oops
2009-05-04 14:53:21 +00:00
Gael Guennebaud
2829314284
new simplified API to fill sparse matrices (the old functions are
...
deprecated). Basically there are now only 2 functions to set a
coefficient:
1) mat.coeffRef(row,col) = value;
2) mat.insert(row,col) = value;
coeffRef has no limitation, insert assumes the coeff has not already
been set, and raises an assert otherwise.
In addition I added a much lower level, but more efficient filling
mechanism for
internal use only.
2009-05-04 14:25:12 +00:00
Thomas Capricelli
ddb6e96d48
fix warnings with recent gcc
2009-05-04 13:55:21 +00:00
Benoit Jacob
dec09a618d
fix warning, unused variable dummy
2009-05-04 13:01:23 +00:00
Benoit Jacob
b60571a193
fix warnings with unused static functions
2009-05-04 12:49:56 +00:00
Benoit Jacob
8aa8854bbf
fix SSE2 detection on win64, reported by 'kajala'
2009-05-04 12:13:37 +00:00
Gael Guennebaud
c25fc50d54
add an AlignedVector3 module suitable for vectorization of 3D vectors
2009-05-03 17:19:19 +00:00
Gael Guennebaud
469b8aa380
"forgot to commit the required changes in stdvector unit test"
2009-05-03 15:39:37 +00:00
Benoit Jacob
95bda5e6ab
let the user disable alignment altogether by #defining EIGEN_DONT_ALIGN.
...
Until now, the user had to edit the source code to do that.
Internally, add EIGEN_ALIGN that takes into account both EIGEN_DONT_ALIGN.and
EIGEN_ARCH_WANTS_ALIGNMENT. From now on, only EIGEN_ALIGN should be used to
test whether we want to align.
2009-05-03 13:50:56 +00:00
Gael Guennebaud
facee57b8d
add auto transposition for vectors
2009-04-30 12:09:45 +00:00
Gael Guennebaud
7029ed6b88
ok, this time cast should really work ; sorry for the noise
2009-04-29 17:39:39 +00:00
Gael Guennebaud
428a12902a
fixed my mistake in cast
2009-04-29 17:05:19 +00:00
Benoit Jacob
746079f75d
gni, forgot to call the new subtest
2009-04-29 17:01:10 +00:00
Gael Guennebaud
9e9e99a42e
casting to the same type no longer generates a CwiseUnaryOp
2009-04-29 14:57:18 +00:00
Benoit Jacob
8b1e7c2792
add cast<>() tests. including a vectorization_logic test that currently fails (casting to same type should not prevent vectorization)
2009-04-29 14:51:19 +00:00
Gael Guennebaud
e722f55382
fix the Matrix(int,int)/vector 2D ctors issue so that we really
...
have a Matrix(Scalar,Scalar) ctor. (useful for std::complex, user
defined types, etc.
2009-04-24 14:38:40 +00:00
Benoit Jacob
32e9801890
CREDIT Ross Smith: fix posix_memalign detection
2009-04-24 13:26:36 +00:00
Gael Guennebaud
e201091d89
remove unsupported/doc from make's "all" target
2009-04-23 12:22:10 +00:00
Gael Guennebaud
acb32c69d4
* update BVH to explicitely use aligned_allocator
...
* fix warning in StdVector
2009-04-23 11:33:36 +00:00
Gael Guennebaud
c7bb7436f9
make the ei_p* math functions overloads instead of template
...
specializations
2009-04-22 21:35:50 +00:00
Gael Guennebaud
e0904a70ce
update STL vector doc
2009-04-22 21:29:42 +00:00
Gael Guennebaud
6f6b5ad016
add a generic version of std::vector::resize for other stl
...
implementations
2009-04-21 21:40:33 +00:00
Gael Guennebaud
2697877fac
std::vector now explicitely requires the use of Eigen::aligned_allocator
...
CREDIT Hauke Heibel
2009-04-21 21:30:38 +00:00
Gael Guennebaud
c5c384cf06
add missing vector ctor reported by Markus Moll on the ML
2009-04-21 11:52:25 +00:00
Gael Guennebaud
5e5bac52d7
this should fix the linking issue with StdVector without any user
...
changes... I cross my fingers...
2009-04-21 11:44:58 +00:00
Gael Guennebaud
4efcc14b91
fix ctor issues with ei_workaround_msvc_std_vector
2009-04-21 08:12:07 +00:00
Christian Ehrlicher
b14d1139df
not compilable with msvc :(
2009-04-15 17:13:23 +00:00
Gael Guennebaud
c744960984
patch from Ilya Baran: This small patch fixes a potential initialization
...
bug in BVAlgorithms and slightly corrects the BVH doc.
2009-04-15 05:54:07 +00:00
Benoit Jacob
6ee4eb94fb
fix the 4x4 inverse -- unit test passes again
2009-04-14 13:42:23 +00:00
Benoit Jacob
2bb1c9e8dc
finally commit Rohit's work as the start of a new (currently
...
unsupported) module, MoreVectorization.
CCMAIL:rpg.314@gmail.com
2009-04-14 13:15:53 +00:00
Gael Guennebaud
804a239d30
patch from Moritz Lenz to allow solving transposed problem with superlu
2009-04-10 19:54:43 +00:00
Gael Guennebaud
fb3078fb62
fix memory leak in superlu backend
2009-04-10 18:49:38 +00:00
Gael Guennebaud
7254201632
bugfix when the diagonal is not stored and assumed to be 1
2009-04-10 18:13:37 +00:00
Gael Guennebaud
22edf77470
add a 4x4 inverse case which is not handled by the current
...
ei_compute_inverse_in_size4_case (reported by mikola on IRC)
2009-04-09 21:55:29 +00:00
Gael Guennebaud
ea41a18b80
clean asm comments
2009-04-09 21:29:31 +00:00
Gael Guennebaud
d78eb02627
add aligned_allocator operator == and != as suggested by Hauke Heibel
2009-04-09 21:22:02 +00:00
Benoit Jacob
0c99de5a17
more patches from Hauke Heibel: compilation/warning fixes from VC++
2009-04-09 17:19:17 +00:00
Benoit Jacob
e6332cba4b
forward-port r951449: patch by Hauke Heibel: compile fix with VS 9
2009-04-09 12:06:13 +00:00
Gael Guennebaud
e8329f9f45
relicence Julien Pommier's SSE code to Eigen's licenses
2009-04-09 06:03:51 +00:00
Gael Guennebaud
aabca5a44f
stupid typo
2009-04-06 13:35:48 +00:00
Benoit Jacob
502bf4a81d
* fix the binary bloat issue, Rohit's idea was the good one
...
* a few dox fixes (alloc routines do return 0 on error) and forgot to update version number in CMakeLists
2009-04-06 13:33:42 +00:00
Gael Guennebaud
38f501a596
fix computation of aligned_bit (has been broken by the change of
...
AutoAlign/DontAlign)
2009-04-05 17:34:59 +00: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
Jos van den Oever
5a628567b0
Compile fix.
2009-04-05 14:26:47 +00:00
Kenneth Frank Riddile
9a8096dd1d
* fixed truncation warnings caused by MatrixBase::CoeffReturnType under MSVC
2009-04-03 20:19:07 +00:00
Gael Guennebaud
ff3a3209ca
add an assertion in sparse LLT for invalid input matrix
2009-04-03 08:30:15 +00:00
Gael Guennebaud
adf5104bae
oops, bad copy paste in ei_psqrt, thanks to Jitse Niesen
2009-04-02 06:29:05 +00:00
Benoit Jacob
40432c84b9
CwiseUnaryOp -> SparseCwiseUnaryOp
2009-04-01 14:47:56 +00:00
Gael Guennebaud
0170eb0dbe
add an auto-diff module in unsupported. it is similar to adolc's forward
...
mode but the advantage of using Eigen's expression template to compute
the derivatives (unless you nest an AutoDiffScalar into an Eigen's
matrix).
2009-04-01 14:43:37 +00:00
Benoit Jacob
0f8e692b3f
* Find SuperLU also when it is installed without a superlu/ prefix
...
* Some more CoeffReturnType changes
2009-04-01 14:07:38 +00:00
Benoit Jacob
113fc3a260
now if Derived has the DirectAccess flag, then MatrixBase<Derived>::coeff() const returns a const Scalar& and not a Scalar as before.
...
useful for people doing direct access. + 1 bugfix thanks to Patrick Mihelich, forgot a & in MapBase::coeff(int).
2009-04-01 00:39:56 +00:00
Benoit Jacob
2f45eeb0c6
More Cholesky fixes.
...
* Cholesky decs are NOT rank revealing so remove all the rank/isPositiveDefinite etc stuff.
* fix bug in LLT: s/return/continue/
* introduce machine_epsilon constants, they are actually needed for Higman's formula determining
the cutoff in Cholesky. Btw fix the page reference to his book (chat with Keir).
* solve methods always return true, since this isn't a rank revealing dec. Actually... they already did always return true!! Now it's explicit.
* updated dox and unit-test
2009-04-01 00:21:16 +00:00
Benoit Jacob
8e2b191acf
fix typo found by noir.sender from KDE forums
2009-03-31 17:00:30 +00:00
Benoit Jacob
1e6097a810
fix mistake in static assertion, patch by Markus Moll.
2009-03-31 16:07:12 +00:00
Benoit Jacob
bf596d0b3a
add adjointInPlace() and add documentation warnings on adjoint() and transpose() about aliasing effects.
2009-03-31 13:55:40 +00:00
Benoit Jacob
a1ba995f05
Many improvements in LLT and LDLT:
...
* in LDLT, support the negative semidefinite case
* fix bad floating-point comparisons, improves greatly the accuracy of methods like
isPositiveDefinite() and rank()
* simplifications
* identify (but not resolve) bug: claim that only triangular part is used, is inaccurate
* expanded unit-tests
2009-03-30 21:45:45 +00:00
Gael Guennebaud
df9dfa1455
fix superLU backend: missing operator=
2009-03-27 19:25:22 +00:00
Gael Guennebaud
e9f6167485
make special ei_p functions static to avoid linking issues (they are too
...
complex to be inlined)
2009-03-27 14:55:46 +00:00
Gael Guennebaud
49fc1e3e84
add vectorization of sqrt for float
2009-03-27 14:41:46 +00:00
Gael Guennebaud
3499f6eccd
fix Taucs support (it appears Taucs does not return sorted matrices)
2009-03-26 17:11:43 +00:00
Benoit Jacob
1b7b538e05
The ABI break:
...
* set AutoAlign=0, DontAlign!=0
* set Dynamic=33331
* add check on fixed sizes
* bump version to 2.0.52
2009-03-26 16:30:54 +00:00
Gael Guennebaud
ce5669dbf9
* enable vectorization of sin, cos, etc. by default with an option to
...
disable them (-DEIGEN_FAST_MATH=0)
* add a specialization of MatrixBase::operator*(RealScalar) for fast
"matrix of complex" times scalar products (even more useful for
autodiff scalar types)
2009-03-26 12:50:24 +00:00
Gael Guennebaud
62de40f8bb
oops forgot to include a file in previous commit (I had other local
...
changes I did not want to commit yet...)
2009-03-26 07:10:59 +00:00
Gael Guennebaud
a22ef7e1f3
for some reason passing the argument by const reference killed the perf
...
(in the packet version of sin, cos, exp, lop), so let's pass them by
value. Also, improve the perf of ei_plog by reducing dependencies.
2009-03-25 18:33:36 +00:00
Gael Guennebaud
17860e578c
add SSE2 versions of sin, cos, log, exp using code from Julien
...
Pommier. They are for float only, and they return exactly the same
result as the standard versions in about 90% of the cases. Otherwise the max error
is below 1e-7. However, for very large values (>1e3) the accuracy of sin and cos
slighlty decrease. They are about 3 or 4 times faster than 4 calls to their respective
standard versions. So, is it ok to enable them by default in their respective functors ?
2009-03-25 12:26:13 +00:00
Andrew Coles
64fbd93cd9
As values may be used uninitialised, they have now been given
...
sensible defaults; or, in other words, if worse comes to worst,
we'll get a guaranteed segfault rather than a heisenburg.
2009-03-23 21:15:33 +00:00
Gael Guennebaud
70c0174bf9
* allows fixed size matrix with size==0 (via a specialization of
...
MatrixStorage returning a null pointer). For instance this is very
useful to make Tridiagonalization compile for 1x1 matrices
* fix LLT and eigensolver for 1x1 matrix
2009-03-23 14:44:44 +00:00
Gael Guennebaud
f4cf5e9b26
split and extend eigen-solver tests
2009-03-23 14:38:59 +00:00
Konstantinos A. Margaritis
fe00e864a1
ei_pnegate implemented for AltiVec
2009-03-20 17:26:50 +00:00
Gael Guennebaud
fbf415c547
add vectorization of unary operator-() (the AltiVec version is probably
...
broken)
2009-03-20 10:03:24 +00:00
Gael Guennebaud
4bb5221d22
Add BVH module in unsupported (patch from Ilya Baran)
...
(I thought I committed it a week ago but it seems the command failed)
2009-03-18 20:06:06 +00:00
Gael Guennebaud
3d385ae968
angle-axis doc: make it more clear the axis must be normalized
2009-03-18 19:38:55 +00:00
Gael Guennebaud
dcf49e5a28
more MSVC fixes: restrict keywords (sorry for all these commits)
2009-03-17 13:32:26 +00:00
Gael Guennebaud
718af05517
more MSVC fixes (asm comments...)
2009-03-17 13:25:26 +00:00
Gael Guennebaud
497d77b08c
fix compilation MSVC
2009-03-17 13:18:53 +00:00
Gael Guennebaud
312994fa98
opengl demo: add aligned operator new where appropriate and remove my
...
mess...
2009-03-13 13:17:19 +00:00
Gael Guennebaud
c6264d9b7e
add affine * homogeneous vector for backward compatibility (e.g.,
...
kgllib)
2009-03-11 14:32:03 +00:00
Gael Guennebaud
02e97ac0ae
minor changes in AlignedBox needed for BVH module
2009-03-11 14:21:55 +00:00
Gael Guennebaud
b8f46090ff
add optimized cross3 function (code from Rohit Garg)
2009-03-11 14:20:36 +00:00
Gael Guennebaud
3298320007
fix doxygen generation of unsupported modules
2009-03-11 13:11:38 +00:00
Gael Guennebaud
f697ea6d30
fix a few compilation errors and warnings (ICC)
2009-03-11 08:45:53 +00:00
Gael Guennebaud
14691d6836
fix compilation with old, and future gcc
2009-03-10 11:55:50 +00:00
Gael Guennebaud
3e4307d8a8
compilation fix in MapBase
2009-03-10 09:06:38 +00:00
Gael Guennebaud
caa1ef7515
various BTL updates (disable Cholesky for MTL, add new plot settings,
...
etc)
2009-03-09 23:28:46 +00:00
Gael Guennebaud
8aa5aa269a
add "slice vectorization" of redux (eg. m.block().minCoeff() is now
...
vectorized)
2009-03-09 23:16:39 +00:00
Gael Guennebaud
c087373968
because of a missing specialization, operator/(scalar) was not vectorized
2009-03-09 23:14:53 +00:00
Gael Guennebaud
db6c3d0197
fix MapBase's ForceAligned concept which was not working at all....
2009-03-09 19:23:31 +00:00
Gael Guennebaud
3f80c68be5
add the vectorization of abs
2009-03-09 18:40:09 +00:00
Gael Guennebaud
bd8107c90c
forgot to include a file in previous commit
2009-03-09 14:18:29 +00:00
Gael Guennebaud
8a424efb11
add an option to bench eigen without GCC's auto vec (might conflict with
...
Eigen's auto vec)
2009-03-09 14:16:05 +00:00
Gael Guennebaud
314aff875e
fix warning in Tridiag
2009-03-09 10:41:37 +00:00
Gael Guennebaud
44f218988c
add a small note in Transform doc.
2009-03-08 11:38:45 +00:00
Gael Guennebaud
3ac42fed94
big rework of the Transform class:
...
* add Projective and AffineCompact modes as an optional third template
argument
* extend Transform::operator* to support more use cases
2009-03-08 11:35:30 +00:00
Gael Guennebaud
7718a8ed83
slight optimization of SSE base integer mul (thanks to Rohit Garg)
2009-03-08 10:14:07 +00:00
Jure Repinc
f9790a649c
Install the newly added eigen2/Eigen/src/Geometry/arch/Geometry_SSE.h
2009-03-08 06:21:21 +00:00
Gael Guennebaud
e4f64ce098
add optimized quaternion * quaternion product specialization for
...
float/SSE using code from Rohit Garg
2009-03-07 13:52:44 +00:00
Gael Guennebaud
6f95270ede
significantly reduce the default stack allocation limit which was much
...
too high
2009-03-06 16:52:43 +00:00
Gael Guennebaud
2c78ca62a6
patch from Stjepan Rajko (MSVC fix in RotationBase)
2009-03-06 11:45:39 +00:00
Andrew Coles
093e3cd5b5
Commented out duplicate definition of TransformTraits - was causing
...
compile-time errors.
2009-03-05 22:35:06 +00:00
Gael Guennebaud
fa9f7708d4
add efficient matrix product specializations for Homogeneous
2009-03-05 16:40:56 +00:00
Gael Guennebaud
31332fca0b
remove bad #include of SelfadjointRank2Update.h
2009-03-05 10:29:20 +00:00
Gael Guennebaud
0be89a4796
big addons:
...
* add Homogeneous expression for vector and set of vectors (aka matrix)
=> the next step will be to overload operator*
* add homogeneous normalization (again for vector and set of vectors)
* add a Replicate expression (with uni-directional replication
facilities)
=> for all of them I'll add examples once we agree on the API
* fix gcc-4.4 warnings
* rename reverse.cpp array_reverse.cpp
2009-03-05 10:25:22 +00:00
Gael Guennebaud
d710ccd41e
BTL: add syr2 action
2009-03-05 08:15:32 +00:00
Gael Guennebaud
a72ff5abc1
BTL: - patch from Victor (add ACML support)
...
- fix overflow issues
2009-03-05 08:11:47 +00:00
Gael Guennebaud
6a26506341
add ReturnByValue pseudo expression for in-place evaluation with a
...
return-by-value API style (will soon use it for the transform products)
2009-03-04 13:00:00 +00:00
Gael Guennebaud
45136ac3b6
various update of of BTL
2009-03-04 07:21:17 +00:00
Gael Guennebaud
3288e9e168
add much faster versions of unaligned stores (and slightly faster
...
unaligned loads)
2009-03-03 14:01:30 +00:00
Gael Guennebaud
c4601314be
cleaned Tridiagonalization impl, with improved performance
2009-03-02 15:07:39 +00:00
Gael Guennebaud
ed134a0ce5
performance improvement: rewrite of the matrix-matrix product following
...
Goto's paper => x1.4 speedup with more consistent perf results
2009-03-02 13:15:15 +00:00
Gael Guennebaud
8ed186b9ab
improve WIP new matrix product
2009-02-27 17:18:52 +00:00
Gael Guennebaud
40774c625e
add a proof of concept autodiff jacobian helper class based on adolc
...
with unit test and FindAdolc cmake module
2009-02-27 16:19:13 +00:00
Gael Guennebaud
170128770a
compilation fix + test orho methods for complex
2009-02-26 10:09:23 +00:00
Gael Guennebaud
91af389a9a
fix unitOrthogonal() for size > 3
2009-02-25 09:23:09 +00:00
Laurent Montel
2d6d14a3d3
Add COMPONENT Devel
2009-02-23 07:50:56 +00:00
Laurent Montel
8e7c4df0db
Fix install header
2009-02-22 10:28:31 +00:00
Gael Guennebaud
de014efdaf
* split CacheFriendlyProduct into multiple smaller files
...
* add an efficient selfadjoint * vector implementation (= blas symv)
perf are inbetween MKL and GOTO
=> the interface is still missing (have to be rethougth)
2009-02-21 20:20:38 +00:00
Gael Guennebaud
3d86dcf473
oops, got confused by the preprocessor directives around
...
posix_memalign...
2009-02-21 16:35:57 +00:00
Gael Guennebaud
7c4f9ecf0c
fix posix_memalign return value warning
2009-02-21 16:23:18 +00:00
Benoit Jacob
177500f37e
fix typo found by markusfroeb (forum)
2009-02-21 14:30:49 +00:00
Daniel Gomez Ferro
032880074e
Added new product implementation.
...
Just works for square, power of 2 matrices of floats.
2009-02-20 22:23:25 +00:00
Gael Guennebaud
7485aa6d57
add symv bench
2009-02-20 21:05:19 +00:00
Keir Mierle
22b9de1849
Fix some formatting in quick ref. Add references to headers.
2009-02-19 16:46:35 +00:00
Gael Guennebaud
e2ee7a6a58
increase version number for step
2009-02-19 15:46:10 +00:00
Gael Guennebaud
752d95c20e
eventually c++ does not provide any optimized pow(int,int) function,
...
so here you go :) (should also fix Timothy's troubles)
2009-02-18 18:24:31 +00:00
Gael Guennebaud
747d83a05a
add size, rows, cols, (), (,) functions in ASCII ref
2009-02-18 16:35:16 +00:00
Gael Guennebaud
eb2cc8f502
patch from Jitse Niesen: fix ascii quick ref matlab operator '
2009-02-18 16:24:15 +00:00
Gael Guennebaud
8f83b37b2a
fix install of IterativeSolvers module
2009-02-18 13:11:29 +00:00
Gael Guennebaud
23f543ee5e
add the ASCII quick reference made by Kier
2009-02-18 10:27:18 +00:00
Gael Guennebaud
21161d8bcf
fix typo in FindTaucs.cmake
2009-02-17 10:34:17 +00:00
Gael Guennebaud
ee04c5c874
add tests showing bug in unitOrthogonal such that we don't forget it!
2009-02-17 09:57:32 +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
67b4fab4e3
fix assertion issue in slice vectorization
2009-02-16 10:17:21 +00:00
Gael Guennebaud
c5245a3388
update vectorization_logic unit test wrt previous sum/redux change
2009-02-13 08:45:19 +00:00
Konstantinos A. Margaritis
349557db9a
no reason for 3 vec_mins, 2 are enough apparently in ei_predux_min
2009-02-12 22:03:30 +00:00
Konstantinos A. Margaritis
ad2bf14dbb
modified ei_predux_min/max to actually use altivec instructions
2009-02-12 21:58:44 +00:00
Gael Guennebaud
3b12f48aa3
compilation fix for SuperLU 3.1
2009-02-12 17:50:51 +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
59a1ed0932
fix bug in MapBase found by myguel
2009-02-12 15:29:20 +00:00
Gael Guennebaud
51c991af45
* exit Sum.h, exit Prod.h, welcome vectorization of redux() !
...
* add vectorization for minCoeff and maxCoeff
2009-02-12 15:18:59 +00:00
Gael Guennebaud
dc97d483fd
update of the Array module doc
2009-02-12 07:55:35 +00:00
Gael Guennebaud
deb6254702
some ICC fixes
2009-02-12 07:55:03 +00:00
Gael Guennebaud
7954f7709a
add ei_predux_mul for AltiVec
2009-02-10 18:26:59 +00:00
Gael Guennebaud
cbbc6d940b
* add ei_predux_mul internal function
...
* apply Ricard Marxer's prod() patch with fixes for the vectorized path
2009-02-10 18:06:05 +00:00
Gael Guennebaud
a0cc5fba0a
fix ICC internal compilation error
2009-02-10 14:15:32 +00:00
Gael Guennebaud
40ad661183
added an experimental IterativeSolvers module (currently in unsupported)
...
with a constrained conjugate gradient algorithm adapted from GMM++/ITL.
This algorithm is needed for Step.
2009-02-10 10:02:41 +00:00
Gael Guennebaud
e75bef9523
various minor fixes in Sparse module
2009-02-10 10:00:00 +00:00
Gael Guennebaud
169696a078
fix doxygen \ingroup for the array module
2009-02-09 10:13:06 +00:00
Gael Guennebaud
9c14d20656
add select snippet
2009-02-09 10:01:42 +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
Gael Guennebaud
e0be020622
add DiagonalMatrix setZero and resize functions
2009-02-09 09:55:54 +00:00
Gael Guennebaud
666ade0c93
add "remap" snippet using placement new
2009-02-09 09:54:48 +00:00
Thomas Capricelli
5b4c3b21f3
documentation about inheriting from Eigen::Matrix
2009-02-08 22:36:28 +00:00
Konstantinos A. Margaritis
15e40b1099
fixed preserve_mask definition for AltiVec (needed __vector keyword)
2009-02-08 18:43:57 +00:00
Konstantinos A. Margaritis
505bdbb9ef
should be __powerpc__ instead of __ppc__
2009-02-08 18:22:34 +00:00
Gael Guennebaud
d8b7283a98
remove remaining debug stuff in Reverse.h
2009-02-08 12:56:47 +00:00
Vincenzo Di Massa
a385de080d
fix build
2009-02-07 16:14:46 +00:00
Gael Guennebaud
6c4b6c2da8
forgot to commit the deletion of StdVector directory
2009-02-07 15:47:13 +00:00
Gael Guennebaud
17fd619430
more fixes in StdVector, sorry for the noise
2009-02-07 12:51:58 +00:00
Gael Guennebaud
365ec0744c
disable vector::resize() workaround for gcc < 4.1 (they already use a const
...
reference)
2009-02-07 12:46:04 +00:00
Gael Guennebaud
671398372b
arf... s/_MSVC_VER/_MSC_VER
2009-02-07 11:49:33 +00:00
Gael Guennebaud
4dd2efa113
little fix in new StdVector
2009-02-07 11:30:19 +00:00
Gael Guennebaud
3009d79a1f
* allow Matrix to be resized to 0 (solve a lot of troubles with
...
some containers)
* new workaround for std::vector which is supposed to work for any
classes having EIGEN_MAKE_ALIGNED_OPERATOR_NEW as discussed on ML
2009-02-07 11:16:15 +00:00
Gael Guennebaud
24808dc090
force the use of debug version of QtCore unless it is not available
2009-02-06 21:50:18 +00:00
Gael Guennebaud
1c24f5bbc5
eventually MSVC does not like my /O2 flags (incompatibility with other option set by default)
2009-02-06 15:29:40 +00:00
Gael Guennebaud
19b035ee11
s/cholesky/llt in precompiled lib and BTL
2009-02-06 14:01:01 +00:00
Gael Guennebaud
cc90495e30
add bench_reverse, draft of a reverse vectorization for AltiVec, make
...
global Scaling function static
2009-02-06 13:28:55 +00:00
Gael Guennebaud
f5d96df800
Add vectorization of Reverse (was more tricky than I thought) and
...
simplify the index based functions
2009-02-06 12:40:38 +00:00
Gael Guennebaud
4dc4ab3abb
Reverse::coeff*(int) functions are for vector only
2009-02-06 09:13:04 +00:00
Gael Guennebaud
6fbca94803
apply Ricard patch for Reverse with minor modifications
2009-02-06 09:01:50 +00:00
Gael Guennebaud
dc97079905
add optimization flag for MSVC and heavy tests
...
remove unsupported namespace
2009-02-05 22:13:50 +00:00
Gael Guennebaud
a4487ef198
add snippet for sub/super diagonal
...
fix a few doc issues
2009-02-05 21:19:40 +00:00
Gael Guennebaud
e80f0b6c4e
update doc of DiagonalCoeffs
2009-02-05 18:39:23 +00:00
Gael Guennebaud
910b387438
Add sub/super-diagonal expression (read/write) as a trivial extension of
...
DiagonalCoeffs. The current API is simply:
m.diagonal<1>() => 1st super diagonal
m.diagonal<-2>() => the 2nd sub diagonal
I'll add a code snippet once we agree on this API.
2009-02-05 18:37:21 +00:00
Gael Guennebaud
9637af5ecf
undo an unecessary change in cache-friendly product made for MSVC
2009-02-05 11:37:57 +00:00
Gael Guennebaud
7c374394ee
remove explicit fortran dependency in FindCholmod
2009-02-05 10:34:41 +00:00
Gael Guennebaud
8a6f38c638
forgot to commit changes in main CMakeLists.txt
...
(add unsupported folder)
2009-02-05 09:37:53 +00:00
Gael Guennebaud
da45184635
add custom FindBLAS FindLAPACK working for c++ compiler
...
fix issues in Cholmod/Taucs supports
2009-02-05 09:36:52 +00:00
Gael Guennebaud
1119f846cf
fix various Taucs and Cholmod issues (they have not been tested for a while)
2009-02-04 22:14:09 +00:00
Gael Guennebaud
41f80b26cb
bugfix in LDLt for size==1
2009-02-04 20:20:34 +00:00
Gael Guennebaud
5e6707d7f7
forgot to add EigenTesting.cmake file
2009-02-04 17:11:04 +00:00
Benoit Jacob
5d69c5102b
oops, #ifdef instead of #if ---> bug
2009-02-04 16:57:28 +00:00
Benoit Jacob
f81479d392
forgot to update this unit test...
2009-02-04 16:55:38 +00:00
Benoit Jacob
93a089adc8
disable alignment altogether outside of the platforms which potentially have SSE or AltiVec
...
This should remove most portability issues to other platforms where data alignment issues (including
overloading operator new and new[]) can be tricky, and where data alignment is not needed in the first place.
2009-02-04 16:53:03 +00:00
Gael Guennebaud
c26dc9ab1b
nothing interesting to see
2009-02-04 16:22:56 +00:00
Gael Guennebaud
82e0cbbac5
extend unsupported/README.txt file
2009-02-04 15:44:59 +00:00
Gael Guennebaud
95db32fcdc
setup the unsupported directory structure.
...
The unsupported module documentation is automatically generated in:
build/doc/unsupported/
with bidirectional cross references.
I leave a class Foo in AdolcForward module to illustrate the
cross-reference behavior. I will remove it in the next commit.
2009-02-04 15:37:00 +00:00
Gael Guennebaud
44a527dfa5
* classify and sort the doxygen "related pages"
...
by tweaking the filename and adding 2 categories:
Troubleshooting and Advanced
* use the EXCLUDE_SYMBOLS to clean the class list
(insteaded of a homemade bash script)
* remove the broken "exemple list"
* re-structure the unsupported directory as mentionned in the ML and
integrate the doc as follow:
- snippets of the unsupported directory are directly imported from the
main snippets/CMakefile.txt (no need to duplicate code)
- add a top level "Unsupported modules" group
- unsupported modules have to defined their own sub group and nest it
using \ingroup Unsupported_modules
- then a pair of //@{ //@} will put everything in the submodule
- this is just a proposal !
2009-02-04 09:44:44 +00:00
Gael Guennebaud
b0dd22cc72
update cholesky benchmark
2009-02-03 19:05:10 +00:00
Keir Mierle
b9a82be727
Add full pivoting to LDLT decomposition.
2009-02-03 17:50:35 +00:00
Gael Guennebaud
6c5868cc99
add a short unsupported/readme file
2009-02-03 09:02:55 +00:00
Gael Guennebaud
42fa03948c
add unsupported/ directory with a first contribution from myself:
...
a header file providing support for adolc's adouble type in forward
mode. (adolc is an automatic differentiation library)
2009-02-03 08:34:09 +00:00
Keir Mierle
b4777379d4
Add Matrix::resizeLike(other) convenience function and test.
2009-02-03 01:43:59 +00:00
Benoit Jacob
bc9a276b78
call it "Eigen 2.0.50-unstable" to make things clear, and update EIGEN_MINOR_VERSION to 50
2009-02-02 17:15:01 +00:00
Benoit Jacob
61e45ed500
* label Cholesky and solveTriangular.* as experimental
...
* improve Experimental.dox
* update urls from /api/ to /dox/
2009-02-02 14:21:35 +00:00
Benoit Jacob
f3d5ba0c1f
the BSD's don't have aligned malloc after all
2009-02-02 13:22:19 +00:00
Gael Guennebaud
42c4bc0ecf
fix tutorial abs/abs2 (thanks to Keir)
2009-02-01 22:38:51 +00:00
Gael Guennebaud
4111316104
forgot to commit QR_solve snippet
2009-02-01 20:47:19 +00:00
Benoit Jacob
37cceeeaca
add missing inline keywords
2009-01-30 23:08:47 +00:00
Gael Guennebaud
82e70fbcae
fix duplicated geometry module in the doc
2009-01-29 23:10:16 +00:00
Gael Guennebaud
13d0a310fd
fix MSVC internal compilation error
2009-01-29 22:49:24 +00:00
Gael Guennebaud
8e0ec3c62b
reduce epsilon in QR
2009-01-29 16:11:46 +00:00
Gael Guennebaud
cf0857c44d
fix MSVC stupid warnings
2009-01-29 09:45:25 +00:00
Gael Guennebaud
1752a3a677
more MSVC fixes, and more code factorization in Geometry module
2009-01-29 09:36:48 +00:00
Gael Guennebaud
36c8a64923
add MatrixBase::stableNorm() avoiding over/under-flow
...
using it in QR reduced the error of Keir test from 1e-12 to 1e-24 but
that's much more expensive !
2009-01-28 22:11:56 +00:00
Gael Guennebaud
42b237b83a
* make sum and redux honor EvalBeforeNestingBit too
...
* fix MSVC issues (hopefully)
2009-01-28 21:09:08 +00:00
Gael Guennebaud
cc6159743d
make dot() honor EvalBeforeNestingBit
2009-01-28 20:53:27 +00:00
Gael Guennebaud
dde729379a
various updates in the (still messy) sparse benchmarks
2009-01-28 20:32:28 +00:00
Gael Guennebaud
9b594ab0fb
fix overflow in sparse product
2009-01-28 18:21:38 +00:00
Benoit Jacob
9bc44094c5
add EIGEN_NO_AUTOMATIC_RESIZING
...
if defined, already initialized matrices won't be automatically resized in assignments
uninitialized matrices may still be initialized
2009-01-28 16:44:03 +00:00
Gael Guennebaud
1b194193ef
Big change in DiagonalMatrix and Geometry/Scaling:
...
* previous DiagonalMatrix expression is now DiagonalMatrixWrapper
* DiagonalMatrix class is now for storage
* add the DiagonalMatrixBase class to factorize code of the
two previous classes
* remove Scaling class (it is now a global function)
* add UniformScaling helper class
(don't use it directly, use the Scaling function)
* add the Scaling global function to simplify the creation
of scaling objects
There is still a lot to do, in particular about DiagonalProduct for which
the goal is to get rid of the "if()" in the coeff() function. At least
it is not worse than before ! Also need to uptade the tutorial and add more doc.
2009-01-28 16:26:06 +00:00
Gael Guennebaud
da555585e2
Patch from Frank fixing stupid MSVC internal crash
2009-01-28 12:52:26 +00:00
Gael Guennebaud
22bfc77124
move EIGEN_DEPRECATED to the begining of the function (pb with MSVC)
2009-01-28 12:48:19 +00:00
Gael Guennebaud
0f15a8d829
QR: add isInjective(), isSurjective(),
...
mark isFullRank() deprecated,
add solve() (mix of Keir's patch and LU::solve())
=> there is big problem with complex which are not working
2009-01-28 09:45:53 +00:00
Gael Guennebaud
cf89d9371a
LLT: makes the non positive definite test less strict, but we still need
...
something better.
2009-01-27 23:01:53 +00:00
Gael Guennebaud
8ce4503494
add support for read/write sub sets of inner vectors (sparse module)
2009-01-27 22:48:17 +00:00
Benoit Jacob
d384671793
now these tests succeed with 10,000 repeats
2009-01-27 20:47:12 +00:00
Gael Guennebaud
4ac8cabf8a
fix my previous commit with EIGEN_EMPTY macro bug
2009-01-27 19:08:20 +00:00
Benoit Jacob
9b06e072a5
fix type mismatch caught by new static assert
2009-01-27 17:42:04 +00:00
Gael Guennebaud
d700343632
fix "empty macro arguments are undefined in ISO C90 and ISO C++98"
...
warning found by gcc-svn
2009-01-27 17:40:14 +00:00