aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/LU
Commit message (Collapse)AuthorAge
* protect calls to min and max with parentheses to make Eigen compatible with ↵Gravatar Gael Guennebaud2011-07-21
| | | | | | | default windows.h (transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c )
* remove the use of non standard long longGravatar Gael Guennebaud2011-06-14
|
* 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)
* mergeGravatar Gael Guennebaud2011-01-26
|\
* | extend PermutationMatrix and Transpositions to support arbitrary interger ↵Gravatar Gael Guennebaud2011-01-26
| | | | | | | | types and to support the Map/Wrapper model via base and derived classes
| * eigen2: pass lu testGravatar Benoit Jacob2011-01-25
|/
* do not stop the factorization if one pivot is exactly 0, and return theGravatar Gael Guennebaud2011-01-17
| | | | index of the first zero pivot if any
* Renamed cleantype to remove_all since it is close to ↵Gravatar Hauke Heibel2010-10-26
| | | | remove_{const|pointer|reference}.
* Initial fixes for bug #85.Gravatar Hauke Heibel2010-10-25
| | | | | | | Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const. Changed boolean type 'ret' member to 'value'. Changed 'ret' members refering to types to 'type'. Adapted all code occurences.
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* fix 4x4 SSE inversion when storage orders don't matchGravatar Gael Guennebaud2010-08-24
|
* fix inversion of 4x4 unaligned matricesGravatar Gael Guennebaud2010-08-24
|
* add support for determinant on empty matrixGravatar Gael Guennebaud2010-07-19
|
* shut one more warningGravatar Thomas Capricelli2010-07-01
|
* email changeGravatar Gael Guennebaud2010-06-24
|
* rename:Gravatar Benoit Jacob2010-06-14
| | | | | | EIGEN_SIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_DYNAMIC EIGEN_MAXSIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_FIXED and make sure to use the latter in products xprs to determine the inner size.
* Fixed warnings regarding enums.Gravatar Hauke Heibel2010-06-12
|
* merge my Dynamic -> -1 changeGravatar Benoit Jacob2010-06-11
|\
* | change the value of Dynamic to -1, since the index type is now configurable.Gravatar Benoit Jacob2010-06-11
| | | | | | | | remove EIGEN_ENUM_MIN/MAX, implement new macros instead
| * fix LDLT, now it really only uses a given triangular part!Gravatar Gael Guennebaud2010-06-09
| |
| * * add Transpositions to PermutationMatrix conversionGravatar Gael Guennebaud2010-06-08
| | | | | | | | * make PartialPivLu uses the Transpositions class
| * * remove ei_index, and let ei_traits propagate the index typesGravatar Gael Guennebaud2010-06-03
| | | | | | | | * add an Index type template parapeter to sparse objects
| * improve aliasing detection for inverse and add unit testGravatar Gael Guennebaud2010-06-02
| |
| * Add cast to aliasing check.Gravatar Jitse Niesen2010-06-01
| | | | | | | | | | Otherwise, one of the geo tests fails to compile. Now there are some compiler warnings about aliasing and type-punned pointers that I don't understand.
| * merge the backing-out of the stupid RetByVal change, and implement a simpleGravatar Benoit Jacob2010-06-01
|/| | | | | | | aliasing check in inverse, that catches simple cases like x = x.inverse()
| * Backed out changeset 641d968a9a7ed57a3b8a3f45dea43c5ee6717f97Gravatar Benoit Jacob2010-06-01
| |
* | the Index types change.Gravatar Benoit Jacob2010-05-30
|/ | | | As discussed on the list (too long to explain here).
* * Make ReturnByValue have the EvalBeforeAssigningBit and explicitlyGravatar Benoit Jacob2010-05-30
| | | | | | enforce this mechanism (otherwise ReturnByValue bypasses it). (use .noalias() to get the old behavior.) * Remove a hack in Inverse, futile optimization for 2x2 expressions.
* Complete rework of global math functions and NumTraits.Gravatar Benoit Jacob2010-04-28
| | | | | | | | * Now completely generic so all standard integer types (like char...) are supported. ** add unit test for that (integer_types). * NumTraits does no longer inherit numeric_limits * All math functions are now templated * Better guard (static asserts) against using certain math functions on integer types.
* remove MinorGravatar Benoit Jacob2010-04-22
| | | | adapt 3x3 and 4x4 (non-SSE) inverse paths
* * implement the corner() API change: new methods topLeftCorner() etcGravatar Benoit Jacob2010-04-22
| | | | | | | | * get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway * add topRows(), leftCols(), bottomRows(), rightCols() * add corners unit-test covering all of that * adapt docs, expand "porting from eigen 2 to 3" * adapt Eigen2Support
* - 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
| * fix misc warnings, more importantly when NDEBUG is defined, assert() is aGravatar Thomas Capricelli2010-03-27
| | | | | | | | nop.
* | 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.
* * let a = foo() work when a is a row-vector xpr and foo() returns a ↵Gravatar Benoit Jacob2010-03-08
| | | | | | ReturnByValue col-vector * remove a few useless resize() in evalTo() implementations
* Added a missing inline hints.Gravatar Hauke Heibel2010-03-03
| | | | Removed a useless Nested temporary.
* Hide some internal stuff from the docs.Gravatar Hauke Heibel2010-02-28
|
* mergeGravatar Benoit Jacob2010-02-25
|\
* | * Implement the ByOuterInner accessorsGravatar Benoit Jacob2010-02-25
| | | | | | | | | | | | | | | | * use them (big simplification in Assign.h) * axe (Inner|Outer)StrideAtCompileTime that were just introduced * ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h * add rowStride() / colStride() in DenseBase * implement innerStride() / outerStride() everywhere needed
| * detect and implement inplace permutationsGravatar Gael Guennebaud2010-02-25
| |
| * 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
| * add missing return valueGravatar Gael Guennebaud2010-02-20
| |
| * Renamed PlainMatrixType to PlainObject (Array != Matrix).Gravatar Hauke Heibel2010-02-20
|/ | | | Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
* fix a couple of ICE with gcc 4.0.1Gravatar Gael Guennebaud2010-02-12
|
* * move dummy_precision and epsilon to NumTraitsGravatar Gael Guennebaud2010-02-10
| | | | * make NumTraits inherits std::numeric_limits