Gael Guennebaud
9e885fb766
Add unit tests for CG and sparse-LLT for long int as storage-index
2015-03-09 14:33:15 +01:00
Gael Guennebaud
224a1fe4c6
bug #963 : make IncompleteLUT compatible with non-default storage index types.
2015-03-09 13:55:20 +01:00
Gael Guennebaud
cf9940e17b
Make sparse unit-test helpers aware of StorageIndex
2015-03-09 13:54:05 +01:00
Gael Guennebaud
14a5f135a3
bug #969 : workaround abiguous calls to Ref using enable_if.
2015-03-06 17:51:31 +01:00
Gael Guennebaud
d23fcc0672
bug #978 : add unit test for zero-sized products
2015-03-06 16:12:08 +01:00
Gael Guennebaud
4c8b95d5c5
Rename LSCG to LeastSquaresConjugateGradient
2015-03-05 10:16:32 +01:00
Gael Guennebaud
c43154bbc5
Check for no-reallocation in SparseMatrix::insert (bug #974 )
2015-03-04 10:16:46 +01:00
Gael Guennebaud
05274219a7
Add a CG-based solver for rectangular least-square problems (bug #975 ).
2015-03-04 09:34:27 +01:00
Gael Guennebaud
b10cd3afd2
Re-enbale detection of min/max parentheses protection, and re-enable mpreal_support unit test.
2015-02-27 22:38:00 +01:00
Christoph Hertzberg
052b6b40f1
Fix two trivial warnings
2015-02-22 12:40:51 +01:00
Christoph Hertzberg
6af6cf0c2e
I can reproduce any problems that justified this hack. However it makes builds fail in C++11 mode.
2015-02-21 19:43:56 +01:00
Gael Guennebaud
01b8440579
With C++11 Matrix<float> + Matrix<complex<float>> does not even compile
2015-02-20 09:32:49 +01:00
Gael Guennebaud
b192e29eae
In C++11 destructors do not throw by default (fix CommaInitializer unit test)
2015-02-20 09:28:34 +01:00
Gael Guennebaud
ece6b440f9
Fix a C++11 compilation issue in unit test
2015-02-19 23:31:08 +01:00
Gael Guennebaud
1b7e12847d
Fix some calls to result_of on binary functors as unary ones.
2015-02-19 23:30:41 +01:00
Gael Guennebaud
c7bb1e8ea8
Fix a regression when using OpenMP, and fix bug #714 : the number of threads might be lower than the number of requested ones
2015-02-18 15:19:23 +01:00
Gael Guennebaud
371d3bef36
Workaround dead store warnings in unit tests.
2015-02-18 11:30:44 +01:00
Christoph Hertzberg
24d65ac0b0
Removed redundant typedef which confused old gcc versions.
2015-02-18 01:03:32 +01:00
Gael Guennebaud
9f49f00feb
Extend sparse-determinant unitests
2015-02-16 19:09:48 +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
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
aa6c516ec1
Fix many long to int conversion warnings:
...
- fix usage of Index (API) versus StorageIndex (when multiple indexes are stored)
- use StorageIndex(val) when the input has already been check
- use internal::convert_index<StorageIndex>(val) when val is potentially unsafe (directly comes from user input)
2015-02-16 13:19:05 +01:00
Gael Guennebaud
fc202bab39
Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type.
2015-02-13 18:57:41 +01:00
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
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
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
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
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
Benoit Steiner
c739102ef9
Pulled the latest changes from the trunk
2015-02-06 05:25:03 -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
279786e987
Fix missing evaluator in outer-product
2015-01-13 10:25:50 +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
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
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
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
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
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
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
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
Christoph Hertzberg
04ffb9956e
Replace TEST_SET_BUT_UNUSED_VARIABLE by already defined EIGEN_UNUSED_VARIABLE
2014-10-24 13:18:23 +02:00
Gael Guennebaud
a303b6a733
bug #670 : add unit test for mapped input in sparse solver.
2014-10-20 16:46:47 +02:00
Christoph Hertzberg
c12b7896d0
bug #766 : Check minimum CUDA version
2014-10-20 14:23:11 +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
a370b1f2e2
Fix SparseLU::absDeterminant and add respective unit test
2014-10-17 16:52:56 +02: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
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
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
a991f94c0e
Fixed the thread pool test
2014-10-10 15:20:37 -07: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
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
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
7a17639953
Extend unit tests to check uncompressed sparse inputs in sparse solvers
2014-10-06 11:41:50 +02:00
Christoph Hertzberg
1fa6fe2abd
template keyword not allowed before non-template function call
2014-10-01 14:33:55 +02: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
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
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
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
Konstantinos Margaritis
60e093a9dc
Merged eigen/eigen into default
2014-09-21 14:02:51 +03: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
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
e44d78dab3
workaround ambiguous call
2014-09-16 17:10:25 -07:00
Gael Guennebaud
341ae8665d
avoid division by 0
2014-09-16 16:05:06 -07:00
Benoit Steiner
10a79ca3a3
Merged latest updates from the Eigen trunk.
2014-09-15 09:18:16 -07: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
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
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
Gael Guennebaud
188a13f9fe
Fix compilation of coeff(Index) on sub-inner-panels
2014-09-08 09:50:03 +02:00
Benoit Steiner
1abe4ed14c
Created more regression tests
2014-09-04 20:27:28 -07:00
Gael Guennebaud
80993b95d3
Disable a test which had never worked without evalautors
2014-09-03 22:56:39 +02:00
Gael Guennebaud
b3a0365429
merge with default branch
2014-09-01 18:21:01 +02:00
Gael Guennebaud
fbb53b6cbb
Fix sparse matrix times sparse vector.
2014-09-01 16:53:52 +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
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
Gael Guennebaud
25a3e65a68
In SparseQR, calling factorize() without analyzePattern() was broken.
2014-08-26 23:32:32 +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
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
Benoit Steiner
16047c8d4a
Pulled in the latest changes from the Eigen trunk
2014-08-13 22:25:29 -07: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
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
51b3f558bb
Fix bug #822 : outer products needed linear access, and add respective unit tests
2014-09-08 10:21:22 +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
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
Gael Guennebaud
4dd55a2958
Optimize reduxions for Homogeneous
2014-08-01 17:00:20 +02:00
Gael Guennebaud
51357a6622
Fix geo_orthomethods unit test for complexes
2014-08-01 16:26:23 +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
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
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
Gael Guennebaud
d1e9f39a9a
Ambiguous call fixes for clang.
2014-07-22 18:28:19 +02:00
Gael Guennebaud
922694a2d1
Extend fixed-size ctor unit test and fix conversion warning.
2014-07-22 16:57:14 +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
2a251ffab0
Implement evaluator for sparse-selfadjoint products
2014-07-22 09:32:40 +02:00
Gael Guennebaud
946b99dd5c
Extend qr unit test
2014-07-21 11:45:54 +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
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
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
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
296cb40161
merge with default branch
2014-07-10 22:04:45 +02:00
Gael Guennebaud
23bb592a2d
Fix unit test when using 80bits FPU
2014-07-09 17:21:16 +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
54fbbe7b4e
Add unit test for bug #839 .
2014-07-09 13:06:06 +02:00
Gael Guennebaud
b47ef1431f
Fix many long to int implicit conversions
2014-07-08 16:47:11 +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
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
d4cc1bdc7f
Make the ordering method of SimplicialL[D]LT user configurable.
2014-07-20 14:22:58 +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
61b88d2feb
merge with default branch
2014-07-02 09:35:37 +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
75e574275c
Fix bug #836 : extend SparseQR to support more columns than rows.
2014-07-01 10:24:46 +02:00
Christoph Hertzberg
15c2c083e8
Additional unit tests for bug #826 by Gael
2014-06-23 11:21:40 +02:00
Gael Guennebaud
ec0a8b2e6d
rm conflict
2014-06-20 16:30:34 +02:00
Gael Guennebaud
b29b81a1f4
merge with default branch
2014-06-20 15:55:44 +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
Benoit Steiner
4304c73542
Pulled latest updates from the Eigen main trunk.
2014-06-10 10:23:32 -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
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
Christoph Hertzberg
5811e68dd1
Disabled unused warnings in Eigen2-tests
2014-05-06 12:53:18 +02:00
Christoph Hertzberg
56de8d3816
Fixed unused variable warnings
2014-05-05 15:03:29 +02:00
Gael Guennebaud
6f64b0b487
Fix sizeof unit test
2014-04-25 14:05:54 +02:00
Gael Guennebaud
7388fdf560
pbroadcast4/2 assume aligned memory
2014-04-25 02:46:22 -07:00
Gael Guennebaud
ae4d9434e2
Add unit test for pbroadcast4/2
2014-04-25 11:21:18 +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
934ce93886
merge with default branch
2014-04-22 17:00:38 +02:00
Gael Guennebaud
2606abed53
Fix 128bit packet size assumptions in unit tests.
2014-04-18 21:14:40 +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
d567e3b893
Merged in benoitsteiner/eigen-fixes (pull request PR-55)
...
CUDA fixes
2014-04-14 14:33:50 +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
Benoit Steiner
3b2321e3ab
Updated the geo_parametrizedline_2 test for AVX.
2014-04-04 17:08:47 -07:00
Jitse Niesen
5afcb4965c
Remove out-dated comment in cholesky test.
2014-04-04 16:48:13 +01:00
Gael Guennebaud
82c8163067
Enable repetition in mixing type unit test
2014-03-31 10:41:40 +02: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
Benoit Steiner
8a94cb3edd
Implemented the SSE version of the gather and scatter packet primitives.
2014-03-27 18:29:01 -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
6f123d209e
Fix geo_* unit tests with respect to AVX
2014-03-27 15:29:56 +01: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
Benoit Steiner
8a0845ebd7
Merged latest changes from the parent
2014-03-18 12:58:08 -07: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
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
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
74b1d79d77
merge default and evaluator branches
2014-03-12 16:24:25 +01:00
Benoit Steiner
131027ee0a
Merged eigen/eigen into default
2014-02-24 13:54:07 -08:00
Jitse Niesen
6fecb6f1b6
Fix bug #748 - array_5 test fails for seed 1392781168.
2014-02-24 14:10:17 +00: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
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
463554c254
Merge with default branch
2014-02-18 15:45:39 +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
ed461ba9bc
Fix sparse_product/sparse_extra unit tests
2014-02-17 09:57:47 +01:00
Gael Guennebaud
4b6b3f310f
Fix a few Index to int buggy conversions
2014-02-15 09:35:23 +01:00
Gael Guennebaud
6df3bee687
reduce false negative in the qr unit test
2014-02-14 09:58:30 +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
31c63ef0b4
fix compilation of Transform * UniformScaling
2014-02-12 13:37:23 +01: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
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08: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
Gael Guennebaud
e15cb9f4f8
Make geo_hyperplane unit test more stable (bug #539 )
2014-01-11 20:04:36 +01:00
Gael Guennebaud
ce41b72eb8
Extend sizeof unit test
2014-03-07 23:09: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
Gael Guennebaud
27c068e9d6
Make selfqdjoint products use evaluators
2013-12-13 18:09:07 +01:00
Gael Guennebaud
2ca0ccd2f2
Add support for triangular products with evaluators
2013-12-07 17:17:47 +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
34ca81b1bf
Add direct assignment of products
2013-12-02 16:37:58 +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
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
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
Christoph Hertzberg
e59b38abef
Implement boolean reductions for zero-sized objects
2013-11-13 16:47:02 +01:00
Gael Guennebaud
5c2d1b4710
Add missing nonZeros() overload in Block<SparseMatrixBase<>>
2013-11-10 15:26:07 +01:00
Gael Guennebaud
fe0b44e876
Fix stupid mistake in CMakeLists.txt
2013-11-07 18:48:17 +01:00
Gael Guennebaud
76c230a84d
Add an option to test evaluators globally
2013-11-07 16:38:14 +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
4f572e4c14
Add minimalistic unit tests for NVCC support
2013-11-05 15:41:45 +01:00
Gael Guennebaud
ad1dc50b57
Check for minimal norm solutions
2013-11-03 13:19:55 +01:00
Gael Guennebaud
019dcfc21d
JacobiSVD: move from Lapack to Matlab strategy for the default threshold
2013-11-03 13:18:56 +01: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
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
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
Hauke Heibel
6f5f488a80
Switched to MPL2 license.
2013-08-12 07:39:24 +02:00
Gael Guennebaud
bffdc491b3
Fix cost evaluation of partial reduxions -> improve performance of vectorwise/replicate expressions involving partial reduxions
2013-08-11 19:21:43 +02:00
Gael Guennebaud
6719e56b5b
Ref<> objects must be nested by reference because they potentially store a temporary object
2013-08-11 17:52:43 +02:00
Hauke Heibel
e4acd6e2fd
Added copy constructor and assignment to DenseStorage.
...
Required by the standard even when its not used but elided.
Added a test for DenseStorage copying and assignment.
2013-08-10 19:13:46 +02:00
Hauke Heibel
3444f06f68
Removed a warning when rvalue references are not unsed.
2013-08-02 22:54:01 +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
e90229a429
reduce cancellation probablity
2013-08-02 00:36:06 +02:00
Hauke Heibel
222eedf5f3
Removed unused testing files.
2013-08-01 12:14:03 +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
Hauke Heibel
39491e3b75
Enable support for minimal rebuilds.
2013-07-31 16:16:08 +02:00
Sven Strothoff
5f11db695b
bug #502 : add bool intersects() methods to AlignedBox
2013-07-28 23:59:37 +02:00