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