aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/lu.cpp
Commit message (Collapse)AuthorAge
* Enable unit tests of PartialPivLU on fixed size matrices, and increase ↵Gravatar Gael Guennebaud2019-02-11
| | | | tested matrix size (blocking was not tested!)
* PR 567: makes all dense solvers inherit SoverBase (LU,Cholesky,QR,SVD).Gravatar Patrick Peltzer2019-01-17
| | | | | | | | | | | | | This changeset also includes: * add HouseholderSequence::conjugateIf * define int as the StorageIndex type for all dense solvers * dedicated unit tests, including assertion checking * _check_solve_assertion(): this method can be implemented in derived solver classes to implement custom checks * CompleteOrthogonalDecompositions: add applyZOnTheLeftInPlace, fix scalar type in applyZAdjointOnTheLeftInPlace(), add missing assertions * Cholesky: add missing assertions * FullPivHouseholderQR: Corrected Scalar type in _solve_impl() * BDCSVD: Unambiguous return type for ternary operator * SVDBase: Corrected Scalar type in _solve_impl()
* Fix StorageIndex FIXME in dense LU solversGravatar Gael Guennebaud2019-01-13
|
* Fix noise in lu unit testGravatar Gael Guennebaud2018-12-08
|
* bug #1617: Fix SolveTriangular.solveInPlace crashing for empty matrix.Gravatar Matthieu Vigne2018-10-31
| | | | | This made FullPivLU.kernel() crash when used on the zero matrix. Add unit test for FullPivLU.kernel() on the zero matrix.
* Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with ↵Gravatar Gael Guennebaud2018-07-17
| | | | | | | | | EIGEN_DECLARE_TEST(mytest) { /* code */ }. This provide several advantages: - more flexibility in designing unit tests - unit tests can be glued to speed up compilation - unit tests are compiled with same predefined macros, which is a requirement for zapcc
* Remove local Index typedef from unit-testsGravatar Gael Guennebaud2018-07-12
|
* Addresses comments on Eigen pull request PR-174.Gravatar Rasmus Munk Larsen2016-04-04
| | | | | | | | * Get rid of code-duplication for real vs. complex matrices. * Fix flipped arguments to select. * Make the condition estimation functions free functions. * Use Vector::Unit() to generate canonical unit vectors. * Misc. cleanup.
* Add condition estimation to Cholesky (LLT) factorization.Gravatar Rasmus Munk Larsen2016-04-01
|
* Fix comments in ConditionEstimator and minor cleanup.Gravatar Rasmus Munk Larsen2016-04-01
|
* Add matrix condition estimator module that implements the Higham/Hager ↵Gravatar Rasmus Munk Larsen2016-04-01
| | | | algorithm from http://www.maths.manchester.ac.uk/~higham/narep/narep135.pdf used in LPACK. Add rcond() methods to FullPivLU and PartialPivLU.
* Add LU::transpose().solve() and LU::adjoint().solve() API.Gravatar Gael Guennebaud2015-12-01
|
* Add internal method _solve_impl_transposed() to LU decomposition classes ↵Gravatar Rasmus Munk Larsen2015-11-30
| | | | that solves A^T x = b or A^* x = b.
* Regression test for bug #302Gravatar Christoph Hertzberg2015-04-26
| | | | | | (transplanted from 80fd8fab87d7d65cfeb9b1e64d8b42ee4463ab64 ) Changed DenseIndex to Index
* Clean source code and unit tests with respect to -Wunused-local-typedefsGravatar Gael Guennebaud2013-04-10
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* the min/max macros to detect unprotected min/max were undefined by some std ↵Gravatar Gael Guennebaud2011-08-19
| | | | | | header, so let's declare them after and do the respective fixes ;)
* add the possibility to configure the maximal matrix size in the unit testsGravatar Gael Guennebaud2011-07-12
|
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* Utilize Index in all unit tests.Gravatar Hauke Heibel2010-06-20
|
* Fighting for a green dashboard! Next warning's gone.Gravatar Hauke Heibel2010-06-08
|
* - 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.
* factorize default performance related settings to a single fileGravatar Gael Guennebaud2010-03-03
| | | | | included after the architecture specific files such that they can be adapted by each platform.
* add reconstructedMatrix() to LLT, and LUsGravatar Gael Guennebaud2010-02-24
| | | | | => they show that some improvements have still to be done for permutations, tr*tr, trapezoidal matrices
* Further LU test improvements. I'm not aware of any test failures anymore, ↵Gravatar Benoit Jacob2010-02-23
| | | | | | not even with huge numbers of repetitions. Finally the createRandomMatrixOfRank() function is renamed to createRandomPIMatrixOfRank, where PI stands for 'partial isometry', that is, a matrix whose singular values are 0 or 1.
* * FullPivLU: replace "remaining==0" termination condition (from Golub) by a ↵Gravatar Benoit Jacob2010-02-23
| | | | | | | | | fuzzy compare (fixes lu test failures when testing solve()) * LU test: set appropriate threshold and limit the number of times that a specially tricky test is run. (fixes lu test failures when testing rank()). * Tests: rename createRandomMatrixOfRank to createRandomProjectionOfRank
* Renamed PlainMatrixType to PlainObject (Array != Matrix).Gravatar Hauke Heibel2010-02-20
| | | | Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
* EIGEN_ENUM_MIN ---> EIGEN_SIZE_MINGravatar Benoit Jacob2010-01-27
|
* Port FullPivLU to PermutationMatrixGravatar Benoit Jacob2009-11-16
|
* last round of changes, mainly to return derived types instead of base types, ↵Gravatar Benoit Jacob2009-11-09
| | | | and fix various compilation issues
* introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,implGravatar Benoit Jacob2009-11-03
| | | | put them in a new internal 'misc' directory
* *port the Cholesky module to the new solve() APIGravatar Benoit Jacob2009-10-29
| | | | *improve documentation
* big huge changes, so i dont remember everything.Gravatar Benoit Jacob2009-10-28
| | | | | | | | | | * renaming, e.g. LU ---> FullPivLU * split tests framework: more robust, e.g. dont generate empty tests if a number is skipped * make all remaining tests use that splitting, as needed. * Fix 4x4 inversion (see stable branch) * Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices. * CMakeLists: more robust regexp to parse the version number * misc fixes in unit tests
* kill ei_add_test_multi. Now the macro ei_add_test does all that ↵Gravatar Benoit Jacob2009-10-19
| | | | automatically, by parsing the source file. No risk anymore to specify the wrong number of tests! Also, introduce CALL_SUBTESTX for X=1..10 that allows to port existing code much quicker. And port already the product* and eigensolver* files.
* Add new default option EIGEN_SPLIT_LARGE_TESTS and cmake macro ↵Gravatar Benoit Jacob2009-10-19
| | | | | | | | ei_add_test_multi. When enabled, large tests are split into smaller executables. This needs minimal changes in the unit tests. Updated the LU test to use it.
* * LU unit test: finally test fixed sizesGravatar Benoit Jacob2009-10-19
| | | | * ReturnByValue: after all don't eval to temporary for generic MatrixBase impl
* remove the m_originalMatrix member. Instead, image() now takes the original ↵Gravatar Benoit Jacob2009-10-18
| | | | matrix as parameter. It was the only method to use it anyway. Introduce m_isInitialized.
* oops, didn't want to commit thatGravatar Benoit Jacob2009-10-18
|
* big huge changes in LU!Gravatar Benoit Jacob2009-10-18
| | | | | | | | | | | | | * continue the decomposition until a pivot is exactly zero; don't try to compute the rank in the decomposition itself. * Instead, methods such as rank() use a new internal parameter called 'threshold' to determine which pivots are to be considered nonzero. * The threshold is by default determined by defaultThreshold() but the user can override that by calling useThreshold(value). * In solve/kernel/image, don't assume that the diagonal of U is sorted in decreasing order, because that's only approximately true. Additional work was needed to extract the right pivots.
* move also inverse() to ReturnByValue, by doing a solve on NestByValue<Identity>.Gravatar Benoit Jacob2009-09-26
| | | | also: adding resize() to MatrixBase was really needed ;)
* allow to do xpr = solve(b) etc... just by adding a dummy MatrixBase::resize()Gravatar Benoit Jacob2009-09-22
|
* * make LU::kernel() and LU::image() also use ReturnByValueGravatar Benoit Jacob2009-09-22
| | | | | * make them return zero vector in the degenerate case, instead of asserting (let's stick to the principle that we only assert on memory errors)
* convert LU::solve() to the new APIGravatar Benoit Jacob2009-09-22
|
* small improvementsGravatar Benoit Jacob2009-08-24
|
* * polish computeInverseWithCheck to share more code, fix documentation, fix ↵Gravatar Benoit Jacob2009-06-29
| | | | | | | coding style * add snippet for computeInverseWithCheck documentation * expand unit-tests to cover computeInverseWithCheck
* mergeGravatar Benoit Jacob2009-05-22
|\
| * remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | | | | | it never made very precise sense. but now does it still make any?
* | LU and PartialLU decomposition interface unification.Gravatar Hauke Heibel2009-05-22
|/ | | | | | Added default ctor and public compute method as well as safe-guards against uninitialized usage. Added unit tests for the safe-guards.
* * introduced method createRandomMatrixOfRank (R = U*D*V where U,V unitary, D ↵Gravatar Hauke Heibel2009-05-17
| | | | | | | | r-by-c diag. with rank non-zero values) * switched lu/qr tests to be using createRandomMatrixOfRank * removed unused methods doSomeRankPreservingOperations * removed NOTE about doSomeRankPreservingOperations
* fix a bunch of warnings (actual issues) reported by FrankGravatar Benoit Jacob2009-01-22
|