aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Eigenvalues/EigenSolver.h
Commit message (Collapse)AuthorAge
* bug #982: Make sure numext::maxi and numext::mini are called correctly, in ↵Gravatar Christoph Hertzberg2015-03-30
| | | | case Scalar expressions return expression templates.
* bug #949: add static assertion for incompatible scalar types in dense ↵Gravatar Gael Guennebaud2015-03-13
| | | | end-user decompositions.
* Remove deprecated usage of expr::Index.Gravatar Gael Guennebaud2015-02-16
|
* bug #701: workaround (min) and (max) blocking ADL by introducing ↵Gravatar Gael Guennebaud2014-10-20
| | | | numext::mini and numext::maxi internal functions and a EIGEN_NOT_A_MACRO macro.
* Make constructors explicit if they could lead to unintended implicit conversionGravatar Christoph Hertzberg2014-09-23
|
* bug #793: detect NaN and INF in EigenSolver instead of aborting with an assert.Gravatar Gael Guennebaud2014-04-14
|
* bug #793: fix overflow in EigenSolver and add respective regression unit testGravatar Gael Guennebaud2014-04-14
|
* merge with main branchGravatar Gael Guennebaud2013-07-17
|\
| * Fix bug #314: move remaining math functions from internal to numext namespaceGravatar Gael Guennebaud2013-06-10
| |
* | merge with default branchGravatar Gael Guennebaud2013-04-19
|\|
* | Port SelfCwiseBinaryOp and Dot.h to nvcc, fix portability issue with ↵Gravatar Gael Guennebaud2013-04-05
| | | | | | | | std::min/max
| * bug #482: pass scalar arguments by const references. Still remains a few ↵Gravatar Gael Guennebaud2013-02-25
| | | | | | | | cases that might affect the ABI (see the bug entry)
| * Replace assert() by eigen_assert() (fixes bug #548).Gravatar Jitse Niesen2013-02-02
|/
* Fix bug #314:Gravatar Gael Guennebaud2012-11-06
| | | | | - 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
* Eigenvalues module: Implement setMaxIterations() methods.Gravatar Jitse Niesen2012-07-28
|
* RealQZ: optimize general hessenberg to not apply rotations to zero entries.Gravatar Gael Guennebaud2012-07-24
|
* Allow user to specify max number of iterations (bug #479).Gravatar Jitse Niesen2012-07-24
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* Remove unused file EigenvaluesCommon.hGravatar Jitse Niesen2012-04-16
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* fix bug #410: fix a possible out of range access in EigenSolverGravatar Gael Guennebaud2012-01-25
|
* Make sure that now-fixed assert is not triggered.Gravatar Jitse Niesen2012-01-19
|
* Fix broken asserts releaved by Clang.Gravatar Keir Mierle2012-01-18
|
* Remove asserts that eigenvalue computation has converged (bug #354).Gravatar Jitse Niesen2011-12-12
|
* bug #352:properly cast constantsGravatar Igor Krivenko2011-12-09
|
* protect calls to min and max with parentheses to make Eigen compatible with ↵Gravatar Gael Guennebaud2011-07-21
| | | | | | | default windows.h (transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c )
* Simplify the use of custom scalar types, the rule is to never directly call ↵Gravatar Gael Guennebaud2011-05-25
| | | | | | | a standard math function using std:: but rather put a using std::foo before and simply call foo: using std::max; max(a,b);
* clean a bit previous patch (ctor vs static_cast and a few bits)Gravatar Gael Guennebaud2011-05-23
|
* fix implicit scalar conversions (needed to support fancy scalar types, see ↵Gravatar David H. Bailey2011-05-23
| | | | bug #276)
* Get rid of wrong "subscript above bounds" warning (bug #149).Gravatar Jitse Niesen2011-05-07
|
* Normalize eigenvectors returned by EigenSolver (fixes bug #249)Gravatar Jitse Niesen2011-04-15
| | | | | because the documentation says that we do this. Also, add a unit test to cover this.
* Document (non)sorting of eigenvalues.Gravatar Jitse Niesen2011-02-27
| | | | | Also, update docs for (Generalized)SelfAdjointEigenSolver to reflect that these two classes were split apart.
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* Remove \nonstable yet. The stability rules for Eigen3 are much simpler:Gravatar Benoit Jacob2010-06-29
| | | | | - all what's not in unsupported/ is considered stable API (except internal stuff e.g. expression templates).
* email changeGravatar Gael Guennebaud2010-06-24
|
* Add info() method which can be queried to check whether iteration converged.Gravatar Jitse Niesen2010-06-03
|
* Allow user to compute only the eigenvalues and not the eigenvectors.Gravatar Jitse Niesen2010-05-31
|
* the Index types change.Gravatar Benoit Jacob2010-05-30
| | | | As discussed on the list (too long to explain here).
* Return matrices by constant reference where possible.Gravatar Jitse Niesen2010-05-24
| | | | | | | This changes the return type of: * eigenvectors() and eigenvalues() in ComplexEigenSolver * eigenvalues() in EigenSolver * eigenvectors() and eigenvalues() in SelfAdjointEigenSolver
* Replace local variables by member variables in compute() methods.Gravatar Jitse Niesen2010-05-24
| | | | | | | 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().
* Simplify computation of eigenvectors in EigenSolver.Gravatar Jitse Niesen2010-04-26
| | | | | | | | * 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
* - Added problem size constructor to decompositions that did not have one. It ↵Gravatar Adolfo Rodriguez Tsouroukdissian2010-04-21
| | | | | | | | | | | 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.
* * merge with mainlineGravatar Benoit Jacob2010-04-16
|\ | | | | | | | | | | * 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
| * Move computation of eigenvalues from RealSchur to EigenSolver.Gravatar Jitse Niesen2010-04-12
| |
| * RealSchur and EigenSolver: some straightforward renames.Gravatar Jitse Niesen2010-04-02
| |
| * Split computation of real Schur form in EigenSolver to its own class.Gravatar Jitse Niesen2010-04-01
| | | | | | | | This is done with the minimal amount of work, so the result is very rough.
| * Use HessenbergDecomposition in EigenSolver.Gravatar Jitse Niesen2010-03-31
| |
| * Extend documentation and add examples for EigenSolver class.Gravatar Jitse Niesen2010-03-31
| |
* | fix the flags and matrix options, to always have the right RowMajor bit in ↵Gravatar Benoit Jacob2010-03-19
|/ | | | the vector case
* Propagate all five matrix template parameters to members and temporaries of ↵Gravatar Adolfo Rodriguez Tsouroukdissian2010-03-08
| | | | | | | 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.