Nicolas Mellado
ad5fdc7ddd
Fix double to Scalar unwanted promotions
2015-06-21 20:21:23 +02:00
Christoph Hertzberg
58af8bf90c
bug #982 : Make sure numext::maxi and numext::mini are called correctly, in case Scalar expressions return expression templates.
2015-03-30 16:47:22 +02:00
Gael Guennebaud
8580eb6808
bug #949 : add static assertion for incompatible scalar types in dense end-user decompositions.
2015-03-13 21:06:20 +01:00
Gael Guennebaud
cc641aabb7
Remove deprecated usage of expr::Index.
2015-02-16 14:46:51 +01: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
36448c9e28
Make constructors explicit if they could lead to unintended implicit conversion
2014-09-23 14:28:23 +02: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
0587db8bf5
bug #793 : fix overflow in EigenSolver and add respective regression unit test
2014-04-14 11:43:08 +02:00
Gael Guennebaud
2f593ee67c
merge with main branch
2013-07-17 13:21:35 +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
9cd2d14005
merge with default branch
2013-04-19 11:21:39 +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
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
Jitse Niesen
14e2ab02b5
Replace assert() by eigen_assert() (fixes bug #548 ).
2013-02-02 22:04:42 +00: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
Jitse Niesen
696b2f999f
Eigenvalues module: Implement setMaxIterations() methods.
2012-07-28 21:30:09 +01:00
Gael Guennebaud
e7c07de549
RealQZ: optimize general hessenberg to not apply rotations to zero entries.
2012-07-24 18:16:22 +02:00
Jitse Niesen
ba5eecae53
Allow user to specify max number of iterations (bug #479 ).
2012-07-24 15:17:59 +01:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04: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
Gael Guennebaud
a108216af1
fix bug #410 : fix a possible out of range access in EigenSolver
2012-01-25 19:02:31 +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
Jitse Niesen
1e7712771e
Remove asserts that eigenvalue computation has converged (bug #354 ).
2011-12-12 17:17:38 +00:00
Igor Krivenko
36457178f9
bug #352:properly cast constants
2011-12-09 23:38:41 +01: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
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
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
Jitse Niesen
0896c6d97d
Get rid of wrong "subscript above bounds" warning (bug #149 ).
2011-05-07 18:44:11 +01: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
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
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04: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
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02: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
8dc947821b
Allow user to compute only the eigenvalues and not the eigenvectors.
2010-05-31 18:17:47 +01: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
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
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
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
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
Jitse Niesen
574ad9efbd
Move computation of eigenvalues from RealSchur to EigenSolver.
2010-04-12 18:54:15 +01:00
Jitse Niesen
79e1ce6093
RealSchur and EigenSolver: some straightforward renames.
2010-04-02 21:05:32 +01: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
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