Commit Graph

  • bff4238d15 fix setFromTwoVectors because of the change in sorting of the the singular values Gael Guennebaud 2009-08-15 10:24:27 +02:00
  • 109a4f650b fix a couple of warnings Gael Guennebaud 2009-08-15 10:20:01 +02:00
  • d2becb9612 add a "rot" benchmark in BTL Gael Guennebaud 2009-08-15 10:19:16 +02:00
  • 846e8b49ba fix compilation of unit tests Gael Guennebaud 2009-08-15 10:18:05 +02:00
  • 2f027b0d2c only append the changeset to the version if we're in the default branch Benoit Jacob 2009-08-14 21:58:41 -04:00
  • 5fe0c30811 new script that update from mercurial, make the doc, and upload the result to tuxfamily.org Thomas Capricelli 2009-08-15 03:36:37 +02:00
  • 62748a0963 new script to generate and upload the docs for a given branch needs cleanup by a better shell scripter!! Benoit Jacob 2009-08-14 19:07:01 -04:00
  • 8372bd12bd update snippet Benoit Jacob 2009-08-14 20:23:13 -04:00
  • fe4a86443f fix warning Benoit Jacob 2009-08-14 20:16:04 -04:00
  • a5f820b873 forgot to update this Benoit Jacob 2009-08-14 20:03:14 -04:00
  • 2f74801ca4 as discussed on list: default to align cols, reorganize parameters accordingly so that the default corresponds to 0 flag, and implement FullPrecision output (non-default). Benoit Jacob 2009-08-14 16:31:42 -04:00
  • 16abc0ba7f try to support 16 bit platforms... optimistic, but can't hurt Benoit Jacob 2009-08-14 15:49:14 -04:00
  • 22ae236d4e machine_epsilon -> epsilon as wrapper around numeric_traits Benoit Jacob 2009-08-14 15:12:32 -04:00
  • 3f63d6f97f fix BoxBOD in the first case : now all tests pass Thomas Capricelli 2009-08-14 19:04:09 +02:00
  • 3856c2d84d oops, i missed one : real last difficult nist test : Eckerle4 Thomas Capricelli 2009-08-14 18:54:28 +02:00
  • 93627fefcf last 'hard' test from Nist : ratkowsky3 Thomas Capricelli 2009-08-14 18:31:04 +02:00
  • 91f61f7679 fix bad urls Thomas Capricelli 2009-08-14 17:48:04 +02:00
  • d8c671f475 yet another (difficult) Nist test : Thurber Thomas Capricelli 2009-08-14 17:46:28 +02:00
  • e057d1ef47 tweak precision for Chwirut2 test Thomas Capricelli 2009-08-14 17:25:39 +02:00
  • 56127cfb1a add yet another easy Nist test : Chwirut2 Thomas Capricelli 2009-08-14 17:21:31 +02:00
  • 6373c3cd00 oops bis, I forgot that SelfAdjointEigneSolver directly called the selector... Gael Guennebaud 2009-08-14 13:49:29 +02:00
  • 8abec72259 oops forgot to remove the #include in Core Gael Guennebaud 2009-08-14 09:49:33 +02:00
  • 13e95f7f68 optimize "apply Jacobi" for small sizes, and move it to Jacobi.h Gael Guennebaud 2009-08-14 00:17:14 +02:00
  • f2536416da * remove EIGEN_DONT_INLINE that harm performance for small sizes * 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 Benoit Jacob 2009-08-13 14:56:39 -04:00
  • f7cd4c8923 cleaning : wa1 used in 'covar' needs not be the same as in lmder* and all. it's just an old-fashioned way to re-use memory without allocation... Thomas Capricelli 2009-08-13 16:29:17 +02:00
  • 76a3089a43 oops, don't set the precision to -1 !! Benoit Jacob 2009-08-13 09:56:53 -04:00
  • 13b191d94b apply Koldo's workaround for MSVC bug Benoit Jacob 2009-08-13 09:53:47 -04:00
  • 1b257a7620 add an optimized "apply in place a rotation in the plane", and make Jacobi and SelfAdjointEigenSolver use it => ~ x1.75 speedup for JacobiSVD and x2 for SelfAdjointEigenSolver Gael Guennebaud 2009-08-13 11:42:02 +02:00
  • 1d80f561ad apply change discussed on the list : * new default precision "-1" means use the current stream precision * otherwise, save and restore the stream precision Benoit Jacob 2009-08-13 22:50:55 -04:00
  • 99802094e4 do without an empirical homemade formula that i wasn't comfortable about... turns out it's not needed anymore and removing it seems to only increase the precision Benoit Jacob 2009-08-12 18:30:37 -04:00
  • 6bb6810c5e merge Benoit Jacob 2009-08-12 18:25:13 -04:00
  • 2b618a2c16 make jacobi SVD more robust after experimenting with very nasty matrices... 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. Benoit Jacob 2009-08-12 18:23:39 -04:00
  • f71f878bab Add support for matrix exponential of floats and complex numbers. Jitse Niesen 2009-08-12 15:44:22 +01:00
  • 309d540d4a add parentheses; hopefully this solves Koldos MSVC compilation issue... Benoit Jacob 2009-08-12 10:14:15 -04:00
  • 22d65d47d0 finally, the good approach was two-sided Jacobi. Indeed, it allows 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. Benoit Jacob 2009-08-12 02:35:07 -04:00
  • 7b922eb634 BoxBOD : oops.. shame on me, i did a mistake in the derivative.... now we need 16 iterations instead of 7693 ;-) the first test still fails though. Thomas Capricelli 2009-08-12 02:34:22 +02:00
  • fd307b8f3f fix a bug in BoxBOD Nist test : we now get the actual value for 'start 2' 'start 1' still fails though :/ Thomas Capricelli 2009-08-12 02:27:44 +02:00
  • 3c675609bf add another Nist test of 'hard' difficutly : Bennett5 Thomas Capricelli 2009-08-12 02:13:04 +02:00
  • 54d09a8122 add another Nist test of 'hard' difficutly : MGH09 Thomas Capricelli 2009-08-12 01:50:56 +02:00
  • ce033ebdfe add EIGEN_DEBUG_VAR Benoit Jacob 2009-08-11 16:12:34 -04:00
  • 5ac17b4680 add another Nist test of medium difficutly : MGH17 Thomas Capricelli 2009-08-11 20:24:02 +02:00
  • afbd73b5cd overload operartor* with a ProductBase such that "scalar * (mat * mat)" is optimized as one could naturally expect Gael Guennebaud 2009-08-11 15:15:06 +02:00
  • a4f6642518 fix issue #36 (missing return *this in Rotation2D Gael Guennebaud 2009-08-11 15:11:47 +02:00
  • ea884e6f48 remove #include Bidiagonalization, and add missing ";" Gael Guennebaud 2009-08-11 15:08:03 +02:00
  • d1bc9144cb wrapper for lmstr1 and lmstr + eigenization of calling tests Thomas Capricelli 2009-08-10 17:37:27 +02:00
  • bb1204a145 wrapper for lmdif1 + eigenization of calling test Thomas Capricelli 2009-08-10 17:16:43 +02:00
  • 80372c18ee wrapper for lmdif (+test call eigenization) Thomas Capricelli 2009-08-10 16:54:53 +02:00
  • 4a26baa718 wrapper for hybrj1 Thomas Capricelli 2009-08-10 16:32:45 +02:00
  • 1d53ce8d48 wrapper for hybrj Thomas Capricelli 2009-08-10 16:21:22 +02:00
  • 120235deef add another (actuallY) difficult NIST test : BoxBOD. 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. Thomas Capricelli 2009-08-10 14:11:55 +02:00
  • bcfe874968 add another 'difficult'-rated NIST test, which passes Thomas Capricelli 2009-08-10 13:47:18 +02:00
  • 7d65bd42eb fix testNistHahn1 : i had swapped x[] and y[].... :/ Thomas Capricelli 2009-08-10 13:46:43 +02:00
  • b71aa34946 a Nist test rated 'difficult', which passes. Thomas Capricelli 2009-08-10 13:05:30 +02:00
  • 9b1130b82a another nist test with difficulty 'leverage', it passes. Thomas Capricelli 2009-08-10 12:49:44 +02:00
  • 7ecbbc9aa4 another nist test with difficulty 'leverage', this one passes Thomas Capricelli 2009-08-10 12:34:51 +02:00
  • 1045bc17f5 another nist test ('average' difficulty), which fails. It is disabled until further notice. Thomas Capricelli 2009-08-10 12:08:31 +02:00
  • c7a72958ba add an easy test from the NIST set : http://www.itl.nist.gov/div898/strd/nls/data/misra1a.shtml Thomas Capricelli 2009-08-10 10:47:55 +02:00
  • ec2b9f90a3 hybrd : wrapper + eigenize test Thomas Capricelli 2009-08-10 03:39:50 +02:00
  • 35b4077a5d merge Gael Guennebaud 2009-08-09 23:11:25 +02:00
  • ef55e7f4ce make custom asm directive volatile Gael Guennebaud 2009-08-09 23:09:46 +02:00
  • 216ee335ac LinearVectorization: If the destination isn't aligned, we have to do runtime checks and we don't unroll, so it's only good for large enough sizes Benoit Jacob 2009-08-09 22:19:12 +02:00
  • 1f1705868b now you can #define EIGEN_DEBUG_ASSIGN, and all the values in ei_assign_traits are printed Benoit Jacob 2009-08-09 21:35:13 +02:00
  • 527557672a disable the assembly for fast unaligned stores. indeed, there is a strange bug that is triggered by this code: Benoit Jacob 2009-08-09 20:49:55 +02:00
  • 8e08680119 don't depend on uninitialized value Benoit Jacob 2009-08-09 17:18:42 +02:00
  • 3ed83fa681 * add Jacobi transformations * add Jacobi (Hestenes) SVD decomposition for square matrices * add function for trivial Householder Benoit Jacob 2009-08-09 16:58:13 +02:00
  • 953c37f8e5 i wonder how useful this really is, but others do this way. Probably related to doxygen. Thomas Capricelli 2009-08-09 05:14:45 +02:00
  • 50c192961c eigenize lmder + some other small fixes Thomas Capricelli 2009-08-09 05:07:59 +02:00
  • a6625f22d4 eigenize the test for lmder1, clean functor stuff. (and check the tests still pass, of course, that's the whole point..) Thomas Capricelli 2009-08-09 03:54:36 +02:00
  • 5e4cf6cae1 oops.. use the template paramater instead of hard coding 'double' Thomas Capricelli 2009-08-09 03:34:32 +02:00
  • ceeb023ff2 use template parameter Scalar instead of VectorType, fix a segfault. Thomas Capricelli 2009-08-09 03:33:04 +02:00
  • 7db4052749 eigenize the test a little more Thomas Capricelli 2009-08-09 03:16:24 +02:00
  • f19eda7cf6 first test for a basic wrapper (and only wrapper!) for cminpack functions Thomas Capricelli 2009-08-09 03:07:34 +02:00
  • 2b9f110639 actually use eigen include file Thomas Capricelli 2009-08-09 01:12:14 +02:00
  • fe813911f2 make LU::solve() not to crash when rank=0 Gael Guennebaud 2009-08-09 00:06:53 +02:00
  • 5f8d58f36a fix bug in sorting of singular values Benoit Jacob 2009-08-09 00:05:38 +02:00
  • b695113a81 Add all other file from cminpack/examples as tests. Thomas Capricelli 2009-08-08 23:41:54 +02:00
  • d646d99366 Start of module "NonLinear". We start out of cminpack-1.0.2 (http://devernay.free.fr/hacks/cminpack.html) The first test is adapted from the example/ directory. Some stuff is hard coded for our initial tests. Thomas Capricelli 2009-08-08 22:18:48 +02:00
  • b10637be50 add basic .hgignore file for most common generated/temporary files Thomas Capricelli 2009-08-08 21:42:14 +02:00
  • f5e1c896c7 replace custom rank one update in LU by an expression Gael Guennebaud 2009-08-08 00:01:43 +02:00
  • d1dc088ef0 * implement a second level of micro blocking (faster for small sizes) * workaround GCC bad implementation of _mm_set1_p* Gael Guennebaud 2009-08-07 11:09:34 +02:00
  • 543a785756 Fix compilation in sparse module Gael Guennebaud 2009-08-06 17:28:49 +02:00
  • 2707a6b87c fix determinant in PartialLU Gael Guennebaud 2009-08-06 17:28:31 +02:00
  • 1d1e4884da oops, one more bug fix in homogeneous Gael Guennebaud 2009-08-06 16:56:10 +02:00
  • 9822493aaf fixes in determinant and homogeneous Gael Guennebaud 2009-08-06 16:54:55 +02:00
  • 3ac01b1400 compilation fix in EigenSolver, bugfix in PartialLU Gael Guennebaud 2009-08-06 16:41:54 +02:00
  • e82e30862a typo Gael Guennebaud 2009-08-06 15:04:42 +02:00
  • 03febf00a0 fix VS compilation issue in MapBase::operator+= and -= Gael Guennebaud 2009-08-06 15:03:37 +02:00
  • 2e46e9f2b4 shame on me Gael Guennebaud 2009-08-06 14:57:38 +02:00
  • d34c5ef509 fix my bad fix of Hauke's fix ;) Gael Guennebaud 2009-08-06 14:54:25 +02:00
  • 1d4fea48b5 fix a couple of compilations issues Gael Guennebaud 2009-08-06 14:10:02 +02:00
  • c2861dd41a fixed inversion for AffineCompact matrices Hauke Heibel 2009-08-06 12:25:18 +02:00
  • 56d00779db more product refactoring Gael Guennebaud 2009-08-06 12:20:02 +02:00
  • 6b2ab13ac5 fix vs.net compilation issue Hauke Heibel 2009-08-06 11:40:25 +02:00
  • 8163757cf0 fix vs.net compilation issue Hauke Heibel 2009-08-06 11:27:25 +02:00
  • fa55cf5ce7 fix compilation and segfault issues Gael Guennebaud 2009-08-06 11:19:36 +02:00
  • b9b17ea5a5 add the missing Affine Transform * set of column vectors products... Gael Guennebaud 2009-08-06 11:02:03 +02:00
  • 0744638b6f remove remnant of MultiplierBase Benoit Jacob 2009-08-06 10:35:13 +02:00
  • 84a7659bef implement the missing outer product, and attempt to workaround a gcc internal error Gael Guennebaud 2009-08-05 17:39:11 +02:00
  • 88147e0a91 big refactoring in Product.h: - all specialized products now inherits ProductBase - the default product evaluated by Assign is still here, but it is currently enabled for small fixed sizes only - => this significantly speed up compilation for large matrices - I left the OuterProduct specialization empty as an exercise... Gael Guennebaud 2009-08-05 15:23:35 +02:00
  • 014c581a5b fix assertions, improve docs. we never assert on conditions that depend on the result of a computation!! also the assertion that rank>0 amounts to matrix!=0 which we have to leave under the responsibility of the user. Benoit Jacob 2009-08-05 10:15:28 +02:00