Commit Graph

25 Commits

Author SHA1 Message Date
Gael Guennebaud
7726cc8a29 clean old stuff used to support precompilation inside a binary lib 2010-06-07 14:47:20 +02:00
Mark Borgerding
ff1e9542f6 added comments to help vim understand the header files are c++. 2009-12-01 18:00:29 -05:00
Benoit Jacob
4b366b07be add missing includes 2009-11-09 08:04:20 -05:00
Benoit Jacob
2840ac7e94 big huge changes, so i dont remember everything.
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Gael Guennebaud
68b28f7bfb rename the EigenSolver module to Eigenvalues 2009-09-04 09:23:38 +02:00
Gael Guennebaud
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
2009-09-03 11:39:44 +02:00
Gael Guennebaud
4d91229bdc [mq]: eigensolver 2009-09-01 16:20:56 +02:00
Benoit Jacob
191d5275a7 modernize HouseholderQR too, uniformize all that stuff, update tests 2009-08-24 13:46:14 -04:00
Benoit Jacob
97bc1af1f1 add ColPivotingHouseholderQR
rename RRQR to fullPivotingHouseholderQR
2009-08-23 18:04:33 -04:00
Benoit Jacob
7bedf5e9cb add initial, rough, full-pivoting RRQR decomposition
lots of room for improvement!
and add Gael a (c) line in Householder.h
2009-08-22 01:13:21 -04:00
Gael Guennebaud
737bed19c1 make HouseholderQR uses the Householder module 2009-08-16 19:22:15 +02:00
Gael Guennebaud
13e95f7f68 optimize "apply Jacobi" for small sizes, and move it to Jacobi.h 2009-08-14 00:17:14 +02:00
Gael Guennebaud
4375c043ac minor compilation fixes for Sun CC and ICC 2009-07-20 13:27:41 +02:00
Benoit Jacob
a79deafc6d * mark Geometry as experimental
* install QtAlignedMalloc
* finish the renaming Regression->LeastSquares
* install LeastSquares directory (!!!)
* misc dox fixes
2009-01-26 13:53:43 +00:00
Benoit Jacob
8106d35408 Patch by Kenneth Riddile: disable MSVC warnings, reenable them outside
of Eigen, and add a MSVC-friendly path in StaticAssert.
2008-12-18 20:48:02 +00:00
Benoit Jacob
9466e5f94e * doc improvements in Cwise and PartialRedux:
- 33 new snippets
  - unfuck doxygen output in Cwise (issues with function macros)
  - more see-also links from outside, making Cwise more discoverable
* rename matrixNorm() to operatorNorm(). There are many matrix norms
  (the L2 is another one) but only one is called the operator norm.
  Risk of confusion with keyword operator is not too scary after all.
2008-08-19 04:30:28 +00:00
Gael Guennebaud
172000aaeb Add .perpendicular() function in Geometry module (adapted from Eigen1)
Documentation:
 * add an overview for each module.
 * add an example for .all() and Cwise::operator<
2008-07-22 10:54:42 +00:00
Gael Guennebaud
4af7089ab8 * Added a generalized eigen solver for the selfadjoint case.
(as new members to SelfAdjointEigenSolver)
  The QR module now depends on Cholesky.
* Fix Transpose to correctly preserve the *TriangularBit.
2008-06-14 19:42:12 +00:00
Gael Guennebaud
f07f907810 Add QR and Cholesky module instantiations in the lib.
To try it with the unit tests set the cmake variable TEST_LIB to ON.
2008-06-14 13:02:41 +00:00
Gael Guennebaud
e3fac69f19 Added a Hessenberg decomposition class for both real and complex matrices.
This is the first step towards a non-selfadjoint eigen solver.
Notes:
 - We might consider merging Tridiagonalization and Hessenberg toghether ?
 - Or we could factorize some code into a Householder class (could also be shared with QR)
2008-06-08 15:03:23 +00:00
Gael Guennebaud
001b01a290 Rewrite from scratch of the eigen solver for symmetric matrices
which now supports selfadjoint matrix. The implementation follows
Golub's famous book.
2008-06-02 00:30:26 +00:00
Gael Guennebaud
06752b2b77 * added a Tridiagonalization class for selfadjoint matrices
* added MatrixBase::real()
* added the ability to extract a selfadjoint matrix from the
  lower or upper part of a matrix, e.g.:
    m.extract<Upper|SelfAdjoint>()
  will ignore the strict lower part and return a selfadjoint.
  This is compatible with ZeroDiag and UnitDiag.
2008-06-01 17:20:18 +00:00
Benoit Jacob
3eccfd1a78 -fix certain #includes
-fix CMakeLists, public headers weren't getting installed
2008-05-12 21:15:17 +00:00
Gael Guennebaud
45cda6704a * Draft of a eigenvalues solver
(does not support complex and does not re-use the QR decomposition)

* Rewrite the cache friendly product to have only one instance per scalar type !
  This significantly speeds up compilation time and reduces executable size.
  The current drawback is that some trivial expressions might be
  evaluated like conjugate or negate.

* Renamed "cache optimal" to "cache friendly"

* Added the ability to directly access matrix data of some expressions via:
  - the stride()/_stride() methods
  - DirectAccessBit flag (replace ReferencableBit)
2008-05-12 10:23:09 +00:00
Gael Guennebaud
4c92150676 Added Triangular expression to extract upper or lower (strictly or not)
part of a matrix. Triangular also provide an optimised method for forward
and backward substitution. Further optimizations regarding assignments and
products might come later.

Updated determinant() to take into account triangular matrices.

Started the QR module with a QR decompostion algorithm.
Help needed to build a QR algorithm (eigen solver) based on it.
2008-04-26 18:26:05 +00:00