aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* | oops, i missed one : real last difficult nist test : Eckerle4Gravatar Thomas Capricelli2009-08-14
| |
* | last 'hard' test from Nist : ratkowsky3Gravatar Thomas Capricelli2009-08-14
| |
* | fix bad urlsGravatar Thomas Capricelli2009-08-14
| |
* | yet another (difficult) Nist test : ThurberGravatar Thomas Capricelli2009-08-14
| |
* | tweak precision for Chwirut2 testGravatar Thomas Capricelli2009-08-14
| |
* | add yet another easy Nist test : Chwirut2Gravatar Thomas Capricelli2009-08-14
| |
| * oops bis, I forgot that SelfAdjointEigneSolver directly called the selector...Gravatar Gael Guennebaud2009-08-14
| |
| * oops forgot to remove the #include in CoreGravatar Gael Guennebaud2009-08-14
| |
| * optimize "apply Jacobi" for small sizes, and move it to Jacobi.hGravatar Gael Guennebaud2009-08-14
| |
| * * remove EIGEN_DONT_INLINE that harm performance for small sizesGravatar Benoit Jacob2009-08-13
| | | | | | | | | | | | | | * normalize left Jacobi rotations to avoid having to swap rows * set precision to 2*machine_epsilon instead of machine_epsilon, we lose 1 bit of precision but gain between 10% and 100% speed, plus reduce the risk that some day we hit a bad matrix where it's impossible to approach machine precision
* | cleaning : wa1 used in 'covar' needs not be the same as in lmder* and all.Gravatar Thomas Capricelli2009-08-13
| | | | | | | | it's just an old-fashioned way to re-use memory without allocation...
| * oops, don't set the precision to -1 !!Gravatar Benoit Jacob2009-08-13
| |
| * apply Koldo's workaround for MSVC bugGravatar Benoit Jacob2009-08-13
| |
| * add an optimized "apply in place a rotation in the plane",Gravatar Gael Guennebaud2009-08-13
| | | | | | | | | | and make Jacobi and SelfAdjointEigenSolver use it => ~ x1.75 speedup for JacobiSVD and x2 for SelfAdjointEigenSolver
| * apply change discussed on the list :Gravatar Benoit Jacob2009-08-13
| | | | | | | | | | * new default precision "-1" means use the current stream precision * otherwise, save and restore the stream precision
| * do without an empirical homemade formula that i wasn't comfortable about...Gravatar Benoit Jacob2009-08-12
| | | | | | | | turns out it's not needed anymore and removing it seems to only increase the precision
| * mergeGravatar Benoit Jacob2009-08-12
| |\
| * | make jacobi SVD more robust after experimenting with very nasty matrices...Gravatar Benoit Jacob2009-08-12
| | | | | | | | | | | | | | | | | | | | | it turns out to be better to repeat the jacobi steps on a given (p,q) pair until it is diagonal to machine precision, before going to the next (p,q) pair. it's also an optimization as experiments show that in a majority of cases this allows to find out that the (p,q) pair is already diagonal to machine precision.
| | * Add support for matrix exponential of floats and complex numbers.Gravatar Jitse Niesen2009-08-12
| |/
| * add parentheses; hopefully this solves Koldos MSVC compilation issue...Gravatar Benoit Jacob2009-08-12
| |
| * finally, the good approach was two-sided Jacobi. Indeed, it allowsGravatar Benoit Jacob2009-08-12
| | | | | | | | | | | | | | | | | | | | to guarantee the precision of the output, which is very valuable. Here, we guarantee that the diagonal matrix returned by the SVD is actually diagonal, to machine precision. Performance isn't bad at all at 50% of the current householder SVD performance for a 200x200 matrix (no vectorization) and we have lots of room for improvement.
* | BoxBOD : oops.. shame on me, i did a mistake in the derivative.... now we ↵Gravatar Thomas Capricelli2009-08-12
| | | | | | | | | | | | | | need 16 iterations instead of 7693 ;-) the first test still fails though.
* | fix a bug in BoxBOD Nist test : we now get the actual value for 'start 2'Gravatar Thomas Capricelli2009-08-12
| | | | | | | | 'start 1' still fails though :/
* | add another Nist test of 'hard' difficutly : Bennett5Gravatar Thomas Capricelli2009-08-12
| |
* | add another Nist test of 'hard' difficutly : MGH09Gravatar Thomas Capricelli2009-08-12
| |
| * add EIGEN_DEBUG_VARGravatar Benoit Jacob2009-08-11
| |
* | add another Nist test of medium difficutly : MGH17Gravatar Thomas Capricelli2009-08-11
| |
| * overload operartor* with a ProductBase such that "scalar * (mat * mat)" is ↵Gravatar Gael Guennebaud2009-08-11
| | | | | | | | | | | | optimized as one could naturally expect
| * fix issue #36 (missing return *this in Rotation2DGravatar Gael Guennebaud2009-08-11
| |
| * remove #include Bidiagonalization, and add missing ";"Gravatar Gael Guennebaud2009-08-11
| |
* | wrapper for lmstr1 and lmstr + eigenization of calling testsGravatar Thomas Capricelli2009-08-10
| |
* | wrapper for lmdif1 + eigenization of calling testGravatar Thomas Capricelli2009-08-10
| |
* | wrapper for lmdif (+test call eigenization)Gravatar Thomas Capricelli2009-08-10
| |
* | wrapper for hybrj1Gravatar Thomas Capricelli2009-08-10
| |
* | wrapper for hybrjGravatar Thomas Capricelli2009-08-10
| |
* | add another (actuallY) difficult NIST test : BoxBOD.Gravatar Thomas Capricelli2009-08-10
| | | | | | | | | | | | | | The first try fails, the second one passes, but with a very bad accuracy (~4 digits only). anyway, my aim is to check we do not change cminpack while portint, so i keep this test.
* | add another 'difficult'-rated NIST test, which passesGravatar Thomas Capricelli2009-08-10
| |
* | fix testNistHahn1 : i had swapped x[] and y[].... :/Gravatar Thomas Capricelli2009-08-10
| |
* | a Nist test rated 'difficult', which passes.Gravatar Thomas Capricelli2009-08-10
| |
* | another nist test with difficulty 'leverage', it passes.Gravatar Thomas Capricelli2009-08-10
| |
* | another nist test with difficulty 'leverage', this one passesGravatar Thomas Capricelli2009-08-10
| |
* | another nist test ('average' difficulty), which fails. It is disabled untilGravatar Thomas Capricelli2009-08-10
| | | | | | | | further notice.
* | add an easy test from the NIST set :Gravatar Thomas Capricelli2009-08-10
| | | | | | | | http://www.itl.nist.gov/div898/strd/nls/data/misra1a.shtml
* | hybrd : wrapper + eigenize testGravatar Thomas Capricelli2009-08-10
| |
| * mergeGravatar Gael Guennebaud2009-08-09
| |\
| * | make custom asm directive volatileGravatar Gael Guennebaud2009-08-09
| | |
| | * LinearVectorization: If the destination isn't aligned,Gravatar Benoit Jacob2009-08-09
| | | | | | | | | | | | we have to do runtime checks and we don't unroll, so it's only good for large enough sizes
| | * now you can #define EIGEN_DEBUG_ASSIGN, and all the values in ↵Gravatar Benoit Jacob2009-08-09
| | | | | | | | | | | | ei_assign_traits are printed
| | * disable the assembly for fast unaligned stores. indeed, there is a strange ↵Gravatar Benoit Jacob2009-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug that is triggered by this code: #include<Eigen/Core> int main() { Eigen::Matrix4f m; m <<1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; m.col(0).swap(m.col(1)); std::cout << m << std::endl; } when the fast unaligned stores are used, the column is copied instead of being swapped.
| | * don't depend on uninitialized valueGravatar Benoit Jacob2009-08-09
| | |