Commit Graph

  • 6de3f5f0e7 cleaning Thomas Capricelli 2009-08-25 23:47:22 +02:00
  • eac9293449 split every algorithm in *Init() + while(running) { *OneStep() } Thomas Capricelli 2009-08-25 23:43:33 +02:00
  • bbd44ef0ad move more stuff into Parameters Thomas Capricelli 2009-08-25 23:37:27 +02:00
  • a2abb4afb6 cleaning Thomas Capricelli 2009-08-25 23:26:36 +02:00
  • baec4f39ab reduce local variables so that we can split algorithms Thomas Capricelli 2009-08-25 22:49:05 +02:00
  • be368c33bb cleaning Thomas Capricelli 2009-08-25 22:15:09 +02:00
  • 470ea55834 put nfev/njev as internal variables as well Thomas Capricelli 2009-08-25 22:13:08 +02:00
  • 41b6ea81db oops... fixing return values, some copy/paste was done far too quickly Thomas Capricelli 2009-08-25 22:06:58 +02:00
  • 3bca4bba87 if mode==2, the user is supposed to supply diag: do some basic check. Thomas Capricelli 2009-08-25 22:02:19 +02:00
  • fa0183e7c7 make diag be an internal variable too Thomas Capricelli 2009-08-25 21:59:10 +02:00
  • e465ea82e1 define and use struct Parameters Thomas Capricelli 2009-08-25 21:50:01 +02:00
  • d13bcdc891 those are actually bools Thomas Capricelli 2009-08-25 20:01:30 +02:00
  • 84f2c451e5 cleaning Thomas Capricelli 2009-08-25 19:57:42 +02:00
  • d38d4709bc use an enum for status reporting Thomas Capricelli 2009-08-25 19:48:53 +02:00
  • d59cc0ad82 merge files Thomas Capricelli 2009-08-25 17:25:56 +02:00
  • 493c72ac38 rename files Thomas Capricelli 2009-08-25 17:21:16 +02:00
  • 858acfcc64 remove the boring, old-school nprint option, we'll have a dedicated method for 'one iteration' anyway. Thomas Capricelli 2009-08-25 17:11:14 +02:00
  • 613a464320 cleaning Thomas Capricelli 2009-08-25 16:48:09 +02:00
  • 6c1a9703b1 move most of results vectors/matrices inside respective classes. Thomas Capricelli 2009-08-25 16:08:09 +02:00
  • 38fc6c8553 cleaning Thomas Capricelli 2009-08-25 14:28:19 +02:00
  • 201f58e528 merge both c methods lmstr/lmstr1 into one class LevenbergMarquardtOptimumStorage with two methods. Thomas Capricelli 2009-08-25 14:18:38 +02:00
  • 3f1b81e129 merge both c methods lmdif/lmdif1 into one class LevenbergMarquardtNumericalDiff with two methods. Thomas Capricelli 2009-08-25 14:09:19 +02:00
  • a736378331 cleaning Thomas Capricelli 2009-08-25 14:03:30 +02:00
  • d880e6f774 merge both c methods hybrj1/hybrj into one class HybridNonLinearSolver with two methods. hybrd stuff renamed to HybridNonLinearSolverNumericalDiff. Thomas Capricelli 2009-08-25 13:56:25 +02:00
  • a043708e87 merge both c methods hybrd/hybrd1 into one class HybridNonLinearSolver with two methods. Thomas Capricelli 2009-08-25 13:48:25 +02:00
  • 602b13815f merge both c methods lmder/lmder1 into one class LevenbergMarquardt with two methods. Thomas Capricelli 2009-08-25 13:40:45 +02:00
  • 86cb9364c9 clean fortran stuff in fdjac* Thomas Capricelli 2009-08-24 21:53:08 +02:00
  • 45442b8d41 some more work on Functors Thomas Capricelli 2009-08-24 21:48:22 +02:00
  • 15d2c3af90 playing with functors Thomas Capricelli 2009-08-24 19:45:35 +02:00
  • 6f567f10be cleaning Thomas Capricelli 2009-08-24 19:19:30 +02:00
  • 4e62e29869 cleaning covar Thomas Capricelli 2009-08-24 17:49:37 +02:00
  • 17905c7399 eigenization of ei_covar() Thomas Capricelli 2009-08-24 17:47:35 +02:00
  • f69869c42a covar : cleaning, removing goto's Thomas Capricelli 2009-08-24 16:49:38 +02:00
  • 312ab1abb3 further cleaning/ goto removing Thomas Capricelli 2009-08-24 16:39:49 +02:00
  • 92a5bb4539 clean debug stuff Thomas Capricelli 2009-08-24 16:14:42 +02:00
  • c6d7da6edc cleaning some more Thomas Capricelli 2009-08-24 16:08:13 +02:00
  • 63071ac968 cleaning, removing goto's, uniformization (try to reduce diff between hybr[dj].h or lm[der,dif,str].h as much as possible), for future merging. Thomas Capricelli 2009-08-24 16:05:57 +02:00
  • 91a2145cb3 clean, remove goto's Thomas Capricelli 2009-08-24 15:32:06 +02:00
  • d4968cd059 cleaning, fixing most goto's Thomas Capricelli 2009-08-24 15:13:12 +02:00
  • e65a7c7c70 misc cleaning Thomas Capricelli 2009-08-24 09:28:29 +02:00
  • 6e41f15fea use a local variable for qrfac Thomas Capricelli 2009-08-24 09:13:06 +02:00
  • dff5135026 merge with head Thomas Capricelli 2009-08-24 08:55:27 +02:00
  • 88f5d06b08 move ipvt/fortran fixing deeper Thomas Capricelli 2009-08-24 08:45:06 +02:00
  • 950eb4a254 various cleaning and homogeneization Thomas Capricelli 2009-08-24 08:28:31 +02:00
  • 930651ff9a dogleg, lmpar : use more eigen features Thomas Capricelli 2009-08-23 21:52:39 +02:00
  • 4958c53bfb trivial fixes Thomas Capricelli 2009-08-23 21:47:55 +02:00
  • 5e8dee7a19 eigenize dogleg() Thomas Capricelli 2009-08-23 21:39:47 +02:00
  • f793dbe45c only indentation fixes (this eases porting) Thomas Capricelli 2009-08-23 21:06:57 +02:00
  • feb5af3ede porting lmpar() to eigen : both api and some of the code Thomas Capricelli 2009-08-23 21:04:55 +02:00
  • 9a8c5cbd2c misc cleaning Thomas Capricelli 2009-08-23 06:16:05 +02:00
  • 264e61932c cleaning fdjac*() Thomas Capricelli 2009-08-23 06:04:06 +02:00
  • f01332043b only indentation Thomas Capricelli 2009-08-23 05:56:12 +02:00
  • 8b9b671e83 some eigenization in main algorithms Thomas Capricelli 2009-08-23 05:55:43 +02:00
  • 134dea76d3 beautify functors for lmdif, lmstr, hybrj, hybrd Thomas Capricelli 2009-08-23 04:57:48 +02:00
  • acd757737a beautify Functor for lmder : we now have f,df,debug methods Thomas Capricelli 2009-08-23 04:39:22 +02:00
  • 878f15b8a5 * use eigen object for callbacks for hybrd and lmdif * use Functor instead of argument for ei_fdjac*() Thomas Capricelli 2009-08-23 04:06:16 +02:00
  • f2fcbb0207 use eigen objects for ei_fdjac*(), this is a prerequisite before porting hybrd/lmdif.. Thomas Capricelli 2009-08-23 03:54:40 +02:00
  • 8a27e774f8 use eigen objects for hybrj and lmstr Thomas Capricelli 2009-08-23 03:14:42 +02:00
  • 3251e12258 use eigen objects for the lmder callback Thomas Capricelli 2009-08-23 03:02:03 +02:00
  • 2727099906 remove redundant code, fix bounds in those loops that still come from fortran Thomas Capricelli 2009-08-23 02:32:08 +02:00
  • 1225704753 we do not need/use the 'void *p' parameter Thomas Capricelli 2009-08-23 01:59:20 +02:00
  • a3e8a14e3a forgot to clean this one Thomas Capricelli 2009-08-22 07:40:43 +02:00
  • c5218c7d38 ei_lmpar : use a reference for the parameter Thomas Capricelli 2009-08-22 07:37:23 +02:00
  • b3f8d02df4 use const for machine constants Thomas Capricelli 2009-08-22 07:31:14 +02:00
  • bb6ffafdb9 keep on cleaning f2c mess Thomas Capricelli 2009-08-22 07:27:17 +02:00
  • a35586504e cleaning f2c mess / trivial stuff Thomas Capricelli 2009-08-22 07:14:17 +02:00
  • 93fabbff5e use blueNorm() instead of norm() Thomas Capricelli 2009-08-22 07:05:10 +02:00
  • aa3a7c3303 raw import of covar() : this is the last one, and we now do not depend on the cminpack library anymore. Thomas Capricelli 2009-08-22 06:44:41 +02:00
  • 16061a46db Now that the main algorithms are imported into eigen, we import subroutines used by those algorithms (aka "second level"). Thomas Capricelli 2009-08-22 06:40:22 +02:00
  • 783f355904 cleaning defines from f2c (use std::min and such instead of own ones) Thomas Capricelli 2009-08-22 05:32:17 +02:00
  • 11c3762068 cleaning : removing #define, use std:min() and such Thomas Capricelli 2009-08-22 05:29:33 +02:00
  • 80179e9549 Added support for SuperLU's ILU factorization Peter Román 2009-08-21 11:14:45 +02:00
  • b0aa2520f1 * add real scalar * complex matrix, real matrix * complex scalar, and complex scalar * real matrix overloads * allows the inner and outer product specialisations to mix real and complex Gael Guennebaud 2009-09-04 11:22:32 +02:00
  • 6902ef0824 extend mixingtype test to check diagonal products and fix the later for real*complex products Gael Guennebaud 2009-09-04 10:17:28 +02:00
  • a7ed998d52 bug fix in novel makeGivens for real Gael Guennebaud 2009-09-04 10:05:22 +02:00
  • 3fbf71d6b9 compilation fix for conservativeResize Gael Guennebaud 2009-09-04 09:26:00 +02:00
  • 68b28f7bfb rename the EigenSolver module to Eigenvalues Gael Guennebaud 2009-09-04 09:23:38 +02:00
  • 7f5256f628 Added conservativeResize + unit test. Hauke Heibel 2009-09-03 17:27:51 +02:00
  • 82ad37c730 implement the continuous generation algorithm of Givens rotations by Anderson (2000) Gael Guennebaud 2009-09-03 17:08:38 +02:00
  • 41aea9508e This seems to be important for MSVC to optimize the size of empty base classes. Hauke Heibel 2009-09-03 13:46:44 +02:00
  • 3eb37fe1fb update mixingtype unit test to reflect current status, but it is still clear we should allow matrix products between complex and real ? Gael Guennebaud 2009-09-03 13:03:26 +02:00
  • 00f4b46908 typo in sqrt(complex) Gael Guennebaud 2009-09-03 11:50:06 +02:00
  • a54b99fa72 move eigen values related stuff of the QR module to a new EigenSolver module. - perhaps we can find a better name ? - note that the QR module still includes the EigenSolver module for compatibility Gael Guennebaud 2009-09-03 11:39:44 +02:00
  • 9515b00876 remove the \addexample tags Gael Guennebaud 2009-09-03 11:22:42 +02:00
  • 16c7b1daab add examples for makeJacobi and makeGivens Gael Guennebaud 2009-09-03 11:17:16 +02:00
  • c893917d65 Fix serious bug discovered with gcc 4.2 Gael Guennebaud 2009-09-03 10:45:32 +02:00
  • 8d449bd80e Removed debug cout. Disabled MSVC inconsistent DLL linkage. Hauke Heibel 2009-09-02 21:23:09 +02:00
  • e6c9d6c528 Remove last lazyness warnings. Hauke Heibel 2009-09-02 20:59:57 +02:00
  • 2abd5eeffd Added support to overwrite the generator type. Eigen'fied the new variables. Hauke Heibel 2009-09-02 20:57:41 +02:00
  • 7aa6fd3625 big reorganization in JacobiSVD: - R-SVD preconditioning now done with meta selectors to avoid compiling useless code - SVD options now honored, with options to hint "at least as many rows as cols" etc... - fix compilation in bad cases (rectangular and fixed-size) - the check for termination is now done on the fly, no more goto (should have done that earlier!) Benoit Jacob 2009-09-03 02:53:51 -04:00
  • 89557ac41d introduce EIGEN_SIZE_MIN now we should check if some EIGEN_ENUM_MIN usage needs to be replaced by that... potential bug when using mixed-size matrice Benoit Jacob 2009-09-03 02:50:42 -04:00
  • 7d18c30641 finally the first version was the good one... Benoit Jacob 2009-09-03 01:25:40 -04:00
  • 7586f7f706 fix #51 (bad use of std::complex::real) Gael Guennebaud 2009-09-02 15:18:11 +02:00
  • b83654b5d0 * rename JacobiRotation => PlanarRotation * move the makeJacobi and make_givens_* to PlanarRotation * rename applyJacobi* => apply* Gael Guennebaud 2009-09-02 15:04:10 +02:00
  • 496ea63972 fix wrong assert Gael Guennebaud 2009-09-02 14:08:33 +02:00
  • 4a8258369a much simpler fix for Matrix::swap Gael Guennebaud 2009-09-02 13:37:15 +02:00
  • ec20d58317 * add serious unit test for swap * fix my stupidity in Matrix::swap() Benoit Jacob 2009-09-02 16:56:48 -04:00
  • cc375e2f79 merge Benoit Jacob 2009-09-02 06:37:41 -04:00
  • e6b77bcc6b JacobiSVD: implement general R-SVD using full-pivoting QR, so we now support any rectangular matrix size by reducing to the smaller of the two dimensions (which is also an optimization) Benoit Jacob 2009-09-02 06:36:55 -04:00
  • c16d65f015 fix compilation errors in swap (could not swap with anything else than the exact same Matrix type) Benoit Jacob 2009-09-02 06:35:01 -04:00