Commit Graph

  • 59f5bce41c fix issue #49 Hauke Heibel 2009-09-01 23:15:30 +02:00
  • 05ddd32849 added missing JacobiRotation's ... Hauke Heibel 2009-09-01 23:12:40 +02:00
  • 5b8ffa4d46 clean a bit the previous commit which came from a patch queue, and since it was my first try of the patch queue feature I did not managed to apply it with a good commit message, so here you go: * Add a ComplexSchur decomposition class built on top of HessenbergDecomposition * Add a ComplexEigenSolver built on top of ComplexSchur There are still a couple of FIXME but at least they work for any reasonable matrices, still have to extend the unit tests to stress them with nasty matrices... Gael Guennebaud 2009-09-01 16:35:23 +02:00
  • 4d91229bdc [mq]: eigensolver Gael Guennebaud 2009-09-01 16:20:56 +02:00
  • 67ccc6b851 I've been too fast (again) Gael Guennebaud 2009-09-01 13:44:21 +02:00
  • 1e7a9ea70a fix issue #47: now m.noalias() = XXX properly resize m if needed Gael Guennebaud 2009-09-01 13:35:44 +02:00
  • 8392373d96 add a JacobiRotation class wrapping the cosine-sine pair with some convenient features (transpose, adjoint, product) Gael Guennebaud 2009-09-01 13:18:03 +02:00
  • 32f95ec267 Bug fix in MatrixExponential.h Initialize matrices for intermediate results to correct dimension Jitse Niesen 2009-09-01 10:50:54 +01:00
  • 6e4e94ff32 * JacobiSVD: - support complex numbers - big rewrite of the 2x2 kernel, much more robust * Jacobi: - fix weirdness in initial design, e.g. applyJacobiOnTheRight actually did the inverse transformation - fully support complex numbers - fix logic to decide whether to vectorize - remove several clumsy methods Benoit Jacob 2009-08-31 22:26:15 -04:00
  • 29c6b2452d simplifications Benoit Jacob 2009-08-31 22:09:44 -04:00
  • 5339db6164 add VERIFY_IS_UNITARY Benoit Jacob 2009-08-31 22:08:43 -04:00
  • a16599751f fix Matrix::stride for vectors, add a unit test for Block::stride and make use of it where it was relevant Gael Guennebaud 2009-08-31 17:39:56 +02:00
  • ab6eb6a1a4 Adaptions from .lazy() towards .noalias(). Added missing casts. Hauke Heibel 2009-08-31 17:29:37 +02:00
  • bc7aec0ef5 ifdef removed from MapBase and warning disabled Hauke Heibel 2009-08-31 17:24:38 +02:00
  • 095809edda fix issue #45 and document the .data() and .stride() functions Gael Guennebaud 2009-08-31 17:07:54 +02:00
  • 27c9ecc50f fix copy/paste issue Gael Guennebaud 2009-08-31 16:41:13 +02:00
  • 0a0a805569 Fixed a cast warning in scaleAndAddTo. Fixed lazyness in umeyama. Added a few missing casts. Hauke Heibel 2009-08-31 15:34:57 +02:00
  • 32a9aee286 Added MSVC guards to assignment operators. Hauke Heibel 2009-08-31 14:40:53 +02:00
  • 99bfab6dcf Removed redundant assignment operators. Hauke Heibel 2009-08-31 13:47:32 +02:00
  • 9005eb0788 compilation fix in AmbiVector<int> Gael Guennebaud 2009-08-31 09:32:46 +02:00
  • aacada1662 Force release builds on Windows machines in the test suite. Added an IGNORE_CVS flag to the test suite (allows submitting local and modified repositories). Fixed the EI_OFLAG for MSVC. John Smith 2009-08-28 20:14:18 +02:00
  • 227f6cbce0 Fixed SSE related build warning on 64-bit windows systems. John Smith 2009-08-28 00:05:44 +02:00
  • 76fa46c6db Typos in tutorial Jitse Niesen 2009-08-26 18:53:56 +01:00
  • 3705498721 add coeff(int,int), coeff(int) and value() functions to the inner product specialization Gael Guennebaud 2009-08-26 00:24:22 +02:00
  • d0a5da95b1 fix installation for recently added files Thomas Capricelli 2009-08-25 18:57:59 +02:00
  • 191d5275a7 modernize HouseholderQR too, uniformize all that stuff, update tests Benoit Jacob 2009-08-24 13:46:14 -04:00
  • 7e4bd70157 Fix comment which may cause latex to hang when generating docs Jitse Niesen 2009-08-24 18:01:18 +01:00
  • 078a870a87 fix issue #43 Gael Guennebaud 2009-08-24 18:56:27 +02:00
  • 0eb142f559 bring the modern comfort also to ColPivotingHouseholderQR + some fixes in FullPivotingHouseholderQR Benoit Jacob 2009-08-24 11:11:41 -04:00
  • 3288e5157a finally, the correct way of dealing with zero matrices in solve() Benoit Jacob 2009-08-24 10:51:07 -04:00
  • b8106e97b4 add logAbsDeterminant() move log and exp functors from Array to Core update documentation Benoit Jacob 2009-08-24 09:46:17 -04:00
  • f31b5a7114 add test for absDeterminant() Benoit Jacob 2009-08-24 00:35:42 -04:00
  • c9a307f330 give FullPivotingHouseholderQR all the modern comfort Benoit Jacob 2009-08-24 00:23:35 -04:00
  • 154bdac9f4 small improvements Benoit Jacob 2009-08-24 00:09:01 -04:00
  • b37ab9b324 clarifications in LU::solve() and in LU documentation Benoit Jacob 2009-08-24 00:02:49 -04:00
  • 0926549659 fix bug: with complex matrices, the condition (ei_imag(c0)==RealScalar(0)) being wrong could bypass the other condition in the &&. at least that's my explanation why the test_lu was often failing on complex matrices (it uses that via createRandomMatrixOfRank) and why that's fixed by this diff. also gcc 4.4 gave a warning about tailSqNorm potentially uninitialized Benoit Jacob 2009-08-24 00:02:22 -04:00
  • d38624b1ad merge Benoit Jacob 2009-08-23 18:05:33 -04:00
  • 97bc1af1f1 add ColPivotingHouseholderQR rename RRQR to fullPivotingHouseholderQR Benoit Jacob 2009-08-23 18:04:33 -04:00
  • 47fda1f3b2 hm, forgot to conjugate the arguments in applyJacobiOnTheLeft Gael Guennebaud 2009-08-24 00:01:02 +02:00
  • e86dbd5255 fix apply Jacobi for complexes and add documentation for some *Jacobi* functions Gael Guennebaud 2009-08-23 23:49:44 +02:00
  • a848ed02ad let createRandomMatrixOfRank support fixed-size! Benoit Jacob 2009-08-23 17:33:31 -04:00
  • 90735b6a9c Rewrite tutorial section on solving linear systems Jitse Niesen 2009-08-22 20:12:47 +01:00
  • 37dede6077 fix typo Benoit Jacob 2009-08-22 10:40:39 -04:00
  • 7bedf5e9cb add initial, rough, full-pivoting RRQR decomposition lots of room for improvement! and add Gael a (c) line in Householder.h Benoit Jacob 2009-08-22 01:13:21 -04:00
  • ef582933c1 Proper fix for linking to the Qt libraries (and others) Marcus D. Hanwell 2009-08-21 14:04:17 -04:00
  • 2f0b4e1abc fix compilation with gcc 4.1. Indeed the path for recent gcc doesn't work with gcc 4.1, and looking at the implementation of vector in g++ 4.1, it was exactly our fallback case, so use that. Benoit Jacob 2009-08-21 12:16:37 -04:00
  • 20480a5438 merging ei_lmdif() and lmdif_template() Thomas Capricelli 2009-08-21 04:24:59 +02:00
  • 2e3d17c3ce be (hopefully) smarter with indices convention : we keep the c convention (0->n-1) as much as possible, and only convert at borders with fortran-expecting methods, that will eventually dissapear. Thomas Capricelli 2009-08-21 04:16:37 +02:00
  • 524e112ee5 merging ei_lmstr() and lmstr_template() Thomas Capricelli 2009-08-21 03:41:19 +02:00
  • e48b6ad905 merging ei_hybrj() and hybrj_template() Thomas Capricelli 2009-08-21 03:26:28 +02:00
  • f2ff0d3903 merging ei_hybrd() and hybrd_template() Thomas Capricelli 2009-08-21 03:13:42 +02:00
  • 1715e2cb3b merging ei_lmder and lmder_template into ei_lmder() which takes eigen argument, but still uses f2c code inside. Thomas Capricelli 2009-08-21 02:34:40 +02:00
  • 6a8b52b3aa simplifying Thomas Capricelli 2009-08-21 01:24:04 +02:00
  • 0abb148b7d use ei_sqrt instead of sqrt Thomas Capricelli 2009-08-21 00:27:11 +02:00
  • 1ad042c981 rename i__ to i. i really wonder how f2c can produce such things Thomas Capricelli 2009-08-21 00:26:37 +02:00
  • 9294d33a11 use references intead of pointers for njev/nfev Thomas Capricelli 2009-08-21 00:23:26 +02:00
  • 054652b789 use math function adapted to the Scalar type instead of hardcoding float or double Thomas Capricelli 2009-08-21 00:04:41 +02:00
  • d05af200a5 some more trivial fixes to f2c generated code Thomas Capricelli 2009-08-20 23:56:13 +02:00
  • 9e71c2827a nothing more than indentation fixes (using vim '=' command) Thomas Capricelli 2009-08-20 23:36:03 +02:00
  • b1e0662785 cleaning f2c mess Thomas Capricelli 2009-08-20 23:33:45 +02:00
  • 275a658ec5 porting chkder to eigen Thomas Capricelli 2009-08-20 23:26:40 +02:00
  • 2e3fa34b9f cleaning a little bit the f2c mess for chkder Thomas Capricelli 2009-08-20 23:07:16 +02:00
  • b09ebe01da * porting lmdif1 to eigen * qtf was missing in lmdif signature (this is an output of the method) Thomas Capricelli 2009-08-20 22:59:09 +02:00
  • 8d2f6ad7e1 iwa is not really an argument, but just an old fashioned 'work array' : remove it from the eigen API Thomas Capricelli 2009-08-20 22:46:38 +02:00
  • b423e640a6 porting hybrj1 to eigen Thomas Capricelli 2009-08-20 22:41:56 +02:00
  • 6027c4bedf porting hybrd1 to eigen Thomas Capricelli 2009-08-20 22:36:24 +02:00
  • de7d14b2b3 porting lmstr1 to eigen Thomas Capricelli 2009-08-20 22:16:30 +02:00
  • 980c40f72c porting lmder1 to eigen (no more wrapper) Thomas Capricelli 2009-08-20 22:09:05 +02:00
  • a84dc9a5c1 coherency for scalar typename : use "Scalar" everywhere Thomas Capricelli 2009-08-20 21:10:28 +02:00
  • df98e66019 oops fix hardcoded typename, which is actually provided as template parameter Thomas Capricelli 2009-08-20 21:06:26 +02:00
  • 9a876806e1 use eigen stableNorm() instead of cminpack 'enorm'. The results are mostly slightly better in tests (one test needs 15 iterations intead of 16, for the same result). Some numerical results have improved slightly, too. Thomas Capricelli 2009-08-20 21:04:38 +02:00
  • 72b002eab9 work around internal compiler error with gcc 4.1 and 4.2, reported on the forum Benoit Jacob 2009-08-20 12:19:15 -04:00
  • c7ae261ac0 adapt to API changes Benoit Jacob 2009-08-20 01:29:38 -04:00
  • 6953cad81d remove unneeded "Eigen::", we already 'use' Eigen namespace Thomas Capricelli 2009-08-19 20:06:34 +02:00
  • 369693aa1c oops, forgot those ones Thomas Capricelli 2009-08-19 20:02:49 +02:00
  • 01622e9855 use machine precision from eigen instead of the one from cminpack. The test pass though they would not if using a value of 2.220e-16 (the real value for 'double' is 2.22044604926e-16). How sensitive those tests are :) Thomas Capricelli 2009-08-19 19:56:51 +02:00
  • 3093e92da5 machine_epsilon is now called epsilon in latest eigen Thomas Capricelli 2009-08-19 19:53:08 +02:00
  • 47ac354190 merge with the main dev branch Thomas Capricelli 2009-08-19 19:46:37 +02:00
  • fb54cfb013 import main files from cminpack as *.h files: * function names are changed by appending _template * it uses basic templating : template<typename T> * wrappers now use those versions instead of the ones from cminpack * lot of external methods from cminpack are still used * tests pass though they are unchanged (they use wrappers) Thomas Capricelli 2009-08-19 18:38:45 +02:00
  • 703198a1a6 wrapper for chkder() : this was the last wrapper missing Thomas Capricelli 2009-08-19 18:32:37 +02:00
  • 59a0c4a0d2 Add new unsupported modules to doc/unsupported_modules.dox Jitse Niesen 2009-08-18 15:30:38 +01:00
  • 7262716b78 Correct syntax error in doxygen comment. Jitse Niesen 2009-08-18 11:09:20 +01:00
  • d56be9c128 * make HessenbergDecomposition uses the Householder module * bugfix in ei_blas_traits for .conjugate().conjugate() Gael Guennebaud 2009-08-17 17:41:01 +02:00
  • ff0f005d4c change the make householder algorithm so that the remaining coefficient is real, and make Tridiagonalization use it Gael Guennebaud 2009-08-17 17:04:32 +02:00
  • e125c199bb add EIGEN_TRANSFORM_PLUGIN Gael Guennebaud 2009-08-17 09:16:41 +02:00
  • 737bed19c1 make HouseholderQR uses the Householder module Gael Guennebaud 2009-08-16 19:22:15 +02:00
  • ef13c3e754 add normalize and normalized overloads in AlignedVector3 Gael Guennebaud 2009-08-16 11:51:46 +02:00
  • 5274c5c326 quick update of TopicLazyEvaluation Gael Guennebaud 2009-08-16 11:01:32 +02:00
  • fc9480cbb3 bugfix in compute_matrix_flags, optimization in LU, improve doc, and workaround aliasing detection in MatrixBase_eval snippet (not very nice but I don't know how to do it in a better way) Gael Guennebaud 2009-08-16 10:55:10 +02:00
  • ee982709d3 in all decs, make the compute() methods return *this (implements feature request #18) Benoit Jacob 2009-08-15 23:12:39 -04:00
  • 65fe5f76fd rename back MayAliasBit to EvalBeforeAssigningBit Gael Guennebaud 2009-08-16 00:14:05 +02:00
  • f5f2b222a3 make SVD reuses applyJacobi Gael Guennebaud 2009-08-16 00:02:36 +02:00
  • 044dd0c1dd revert previous change in Quaternion::setFromTwoVectors Gael Guennebaud 2009-08-15 23:37:20 +02:00
  • 03c1e79f35 svd: sort in decreasing order, remove unused code Benoit Jacob 2009-08-15 19:20:48 -04:00
  • 239ada95b7 add overloads of lazyAssign to detect common aliasing issue with transpose and adjoint Gael Guennebaud 2009-08-15 22:19:29 +02:00
  • a3e6047c25 fix and improve docs Benoit Jacob 2009-08-15 15:29:44 -04:00
  • 50c703f0c7 As proposed on the list: - rename EvalBeforeAssignBit to MayAliasBit - make .lazy() remove the MayAliasBit only, and mark it as deprecated - add a NoAlias pseudo expression, and MatrixBase::noalias() function Todo: - we have to decide whether += and -= assume no aliasing by default ? - once we agree on the API: update the Sparse module and the unit tests respectively. Gael Guennebaud 2009-08-15 18:35:51 +02:00
  • 13a8956188 bugfix in inner-product specialization, compilation fix in stable norm, optimize apply householder Gael Guennebaud 2009-08-15 13:12:50 +02:00
  • 7b60713e87 my previous fix was not very good Gael Guennebaud 2009-08-15 11:52:50 +02:00
  • 0da31a6e1d bugfix and compilation fix in ProductBase Gael Guennebaud 2009-08-15 10:55:11 +02:00