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
Gael Guennebaud
4f0bd557a4
Previous isFinite->hasNonFinite change was broken. After discussion let's rename it to allFinite
2013-07-18 11:27:04 +02:00
Desire NUENTSA
736fe99fbf
Fix bug #326 : expose tridiagonal eigensolver to end-users through ComputeFromTridiagonal()
2013-07-18 10:32:31 +02:00
Gael Guennebaud
6fab4012a3
Rename isFinite to hasNonFinite to avoid future naming collisions.
2013-07-17 21:13:45 +02:00
Gael Guennebaud
bbaef8ebba
SparseLU: make COLAMDOrdering the default ordering method.
2013-07-17 09:30:25 +02:00
Gael Guennebaud
db8e88c936
Fix testing issues with x87 extra precision.
2013-07-16 17:35:08 +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
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
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
9b833aff42
Use numeric_limits to get NaN and inf
2013-07-06 22:01:14 +02:00
Gael Guennebaud
4f14b3fa72
Fix bug #611 : diag * sparse * diag
2013-07-05 22:42:46 +02:00
Gael Guennebaud
9b9177f1ce
Fix a couple of warnings in unit tests.
2013-07-05 13:35:34 +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
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
487d94f495
Fix bug #623 : inlining test_is_equal leads to failures with x87
2013-06-27 22:30:46 +02: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
c695cbf0fa
fix compilation of ArrayBase::transposeInPlace
2013-06-24 13:33:44 +02:00
Gael Guennebaud
d1d7a1ade9
Workaround a bunch of stupid warnings in unit tests
2013-06-23 19:11:32 +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
cf5c5ed725
Fix warning typedef XXX locally defined but not used
2013-06-21 09:27:38 +02:00
Jitse Niesen
e37ff98bbb
Implement mixed static/dynamic-size .block() (bug #579 )
2013-06-18 14:29:15 +01:00
Gael Guennebaud
55365566b2
Fix HouseholderSequence::conjugate() and ::adjoint() and add respective unit tests.
2013-06-17 00:14:42 +02:00
Gael Guennebaud
5f178e54e9
Extend sparse-block unit test to explicitly cover bug #584
2013-06-14 10:52:19 +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
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
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
47e89026d0
Check sparse matrices with short indices
2013-06-10 10:34:03 +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
c98fd7a6ca
Fix bug #609 : avoid if statement and improve consistency of eulerAngles method
2013-06-09 23:14:45 +02:00
Desire NUENTSA
cf939f154f
Fix bug #596 : Recover plain SparseMatrix from SparseQR matrixQ()
2013-05-21 17:35:10 +02:00
Gael Guennebaud
46755648ec
Add a few missing standard functions for ScalarWithExceptions type.
2013-04-17 10:24:31 +02:00
Gael Guennebaud
94e20f485c
Big 564: add hasNaN and isFinite members
2013-04-16 15:10:40 +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
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
f7e52d22d4
Fix missuse of unitialized values in unit tests
2013-04-10 09:46:16 +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
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
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
Gael Guennebaud
98ce4455dd
fix sparse vector assignment from a sparse matrix
2013-03-06 11:58:22 +01:00
Gael Guennebaud
858ac9ffe0
Add missing template keyword
2013-03-01 00:03:28 +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
5882f1631d
Fixed compiler warning.
2013-02-28 10:15:19 +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
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
bb94f0ebc6
Add a unit test for Ref.h and fix an extra copy.
2013-02-26 15:10:00 +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
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
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
1c137496c6
Extend sparseqr unit test to check linearly dependent columns
2013-02-24 20:36:54 +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
e71bc79f2a
SparseLU does not accept row-major matrices for the destination.
2013-02-22 14:45:42 +01:00
Jitse Niesen
b4f6aec195
Fix linear vectorized transversal in linspace (fixes bug #526 ).
2013-02-18 17:26:03 +00:00
Gael Guennebaud
a1091caa43
Fix some unused or not initialized related warnings.
2013-02-15 14:05:37 +01:00
Gael Guennebaud
8745da14d8
Fix SSE plog<float> to return -INF on 0
2013-02-14 23:34:05 +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
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
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
b74c0a4413
Check that NeedsToAlign is properly sets before checking alignment
2013-01-24 11:42:04 +01:00
Desire NUENTSA
ad798231ec
Fix test for Metis
2013-01-21 15:43:15 +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
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
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
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
Gael Guennebaud
8844f632fa
Move work in progress Levenberg Marquardt module in unsupported
2012-12-08 18:22:23 +01:00
Desire NUENTSA
cc0fef9807
Add tests for dense and sparse levenberg-Marquardt
2012-12-07 15:48:21 +01:00
Desire NUENTSA
36414d1f3e
Update SPQR module for Sparse LM
2012-11-21 19:47:44 +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
Desire NUENTSA
9cf77ce1d8
Add support for Sparse QR factorization
2012-11-12 15:20:37 +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
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
8b83e66906
add scalar multiple to diagonal matrices
...
(transplanted from dc5b335f9f
)
2012-09-27 09:37:05 +02:00
Gael Guennebaud
0c584dcf4d
fix compilation with m.array().min/max(scalar)
2012-09-12 17:50:07 +02:00
Desire NUENTSA
fdd0f0c5fc
merge Sparse LU branch
2012-09-07 13:18:16 +02: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
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
Desire NUENTSA
7dc39b7037
Add unit tests
2012-08-03 13:05:45 +02:00
Jitse Niesen
696b2f999f
Eigenvalues module: Implement setMaxIterations() methods.
2012-07-28 21:30:09 +01: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
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
c1cab7b8ed
real QZ: update license
2012-07-24 18:11:41 +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
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
Benjamin Piwowarski
6bf49ceac2
bug #449 : add SparseMatrix::conservativeResize feature
2012-07-19 00:07:06 +02: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
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
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
Gael Guennebaud
54d55aeaf6
fix bug #487 : isometry * scaling was not compiling
2012-07-04 18:25:07 +02: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
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
Jitse Niesen
23184527fa
Resize lhs automatically in copy_using_evaluator().
2012-06-28 15:25:25 +01: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
172af9facc
Fix an evaluator test which was wrong and failed in debug builds.
2012-06-24 17:31:19 +01:00