51 Commits

Author SHA1 Message Date
Christoph Hertzberg
324e7e8fc9 Removed the deprecated EIGEN2_SUPPORT, as previously announced. A compilation error is raised, if this compile-switch is defined. The documentation references to the corresponding pages from Eigen3.2 now. Also, the Eigen2 testsuite has been removed. 2014-07-01 16:58:11 +02:00
Gael Guennebaud
ddf7753631 Add nvcc support for small eigenvalues decompositions and workaround lack of support for std::swap and std::numeric_limits 2013-08-01 16:26:57 +02:00
Gael Guennebaud
62670c83a0 Fix bug #314: move remaining math functions from internal to numext namespace 2013-06-10 23:40:56 +02:00
Gael Guennebaud
9816e8532e Fix bug #482: pass scalar value by const reference (it remained a few cases) 2013-04-12 15:26:55 +02:00
Benoit Jacob
69124cfca2 Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
Jitse Niesen
3c412183b2 Get rid of include directives inside namespace blocks (bug #339). 2012-04-15 11:06:28 +01:00
Gael Guennebaud
fe85b7ebc6 fix several const qualifier issues: double ones, meaningless ones, some missing ones, etc.
(note that const qualifiers are set by internall::nested)
2012-02-03 23:18:26 +01:00
Gael Guennebaud
9c86ee2695 fix static inline versus inline static issues (the former is the correct order) 2012-01-31 12:58:52 +01:00
Jitse Niesen
a96c849c20 Document enums in Constants.h (bug #248).
To get the links to work, I also had to document the Eigen namespace.
Unfortunately, this means that the word Eigen is linked whenever it appears
in the docs.
2011-05-03 17:08:14 +01:00
Gael Guennebaud
b471161f28 fix typo and remove unused declaration. 2011-03-31 10:02:02 +02:00
Benoit Jacob
f88ca0ac79 fix the eigen3 part of bug #159 - build issue with selfadjointview 2011-01-26 09:49:06 -05:00
Benoit Jacob
1d98cc5e5d eigen2 support: implement part<SelfAdjoint>, mimic eigen2 behavior braindeadness-for-braindeadness 2011-01-25 21:22:04 -05:00
Benoit Jacob
75b7d98665 bug #54 - really fix const correctness except in Sparse 2010-12-22 17:45:37 -05:00
Benoit Jacob
74cc42b22f bug #54 - The big Map const-correctness changes 2010-12-10 02:09:58 -05:00
Thomas Capricelli
94f59a92cb fix typo 2010-11-19 17:16:28 +01:00
Gael Guennebaud
5ce199b1dd update rank 2 update doc 2010-11-19 16:50:49 +01:00
Hauke Heibel
7bc8e3ac09 Initial fixes for bug #85.
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
4716040703 bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
Jitse Niesen
1420f8b3a1 Several changes in comments to keep Doxygen happy. 2010-07-25 20:29:07 +01:00
Jitse Niesen
49747fa4a9 Various documentation improvements.
* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
2010-07-06 13:10:08 +01:00
Benoit Jacob
e5de9e5226 Remove \nonstable yet. The stability rules for Eigen3 are much simpler:
- all what's not in unsupported/ is considered stable API
    (except internal stuff e.g. expression templates).
2010-06-29 10:10:47 -04:00
Gael Guennebaud
28e64b0da3 email change 2010-06-24 23:21:58 +02:00
Gael Guennebaud
e64460d5d0 LDLT: make it honors the Lower/Upper directive and make it works inplace 2010-06-03 22:22:14 +02:00
Benoit Jacob
aaaade4b3d the Index types change.
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Jitse Niesen
e7d809d434 Update eigenvalues() and operatorNorm() methods in MatrixBase.
* use SelfAdjointView instead of Eigen2's SelfAdjoint flag.
* add tests and documentation.
* allow eigenvalues() for non-selfadjoint matrices.
* they no longer depend only on SelfAdjointEigenSolver, so move them to
  a separate file
2010-05-24 17:43:50 +01:00
Gael Guennebaud
bf09fe55ed fix selfadjoint to dense 2010-05-19 16:35:34 +02:00
Benoit Jacob
92da574ec2 * allow matrix dimensions to be 0 (also at compile time) and provide a specialization
of ei_matrix_array for size 0
* adapt many xprs to have the right storage order, now that it matters
* add static assert on expressions to check that vector xprs
  have the righ storage order
* adapt ei_plain_matrix_type_(column|row)_major
* implement assignment of selfadjointview to matrix
  (was before failing to compile) and add nestedExpression() methods
* expand product_symm test
* in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type
* fix VectorBlock and Block mistakes
2010-03-21 11:28:03 -04:00
Benoit Jacob
b1c6c215a4 merge 2010-02-25 21:07:30 -05:00
Benoit Jacob
769641bc58 * Implement the ByOuterInner accessors
* use them (big simplification in Assign.h)
* axe (Inner|Outer)StrideAtCompileTime that were just introduced
* ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h
* add rowStride() / colStride() in DenseBase
* implement innerStride() / outerStride() everywhere needed
2010-02-25 21:01:52 -05:00
Hauke Heibel
abc8c01080 Renamed PlainMatrixType to PlainObject (Array != Matrix).
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
2010-02-20 15:53:57 +01:00
Gael Guennebaud
c5d7c9f0de remove the Triangular suffix to Upper, Lower, UnitLower, etc,
and remove the respective bit flags
2010-01-07 21:15:32 +01:00
Gael Guennebaud
eaaba30cac merge with default branch 2009-12-22 22:51:08 +01:00
Hauke Heibel
832045d363 Warning 4512 (assignment operators could not be generated) is now simply disabled.
All unimplemented assignment operators have been removed.
2009-12-14 10:32:43 +01:00
Hauke Heibel
d088ee35f6 Added to possibility to compile unit tests at maximum warning level.
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Gael Guennebaud
0529ecfe1b Big refactoring/cleaning in the spasre module with
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
2009-11-18 14:52:52 +01:00
Gael Guennebaud
56d00779db more product refactoring 2009-08-06 12:20:02 +02:00
Gael Guennebaud
7d607048a9 implement a ProductBase class and, as a proof of concept, update TriangularProduct
and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
2009-08-04 16:54:17 +02:00
Gael Guennebaud
3cf5bb31f6 * Bye bye MultiplierBase, extend a bit AnyMatrixBase to allow =, +=, and -=
* This probably makes ReturnByValue needless
2009-08-03 16:05:15 +02:00
Gael Guennebaud
62d9b9b7b5 fix typo 2009-07-29 09:26:20 +02:00
Gael Guennebaud
864171df5c fix a couple of issues related to recent products 2009-07-28 18:11:30 +02:00
Gael Guennebaud
264fe82c65 add a debug mechanism to compute the number of intermediate evaluations (only for dynamic size) 2009-07-28 17:13:13 +02:00
Gael Guennebaud
0590c18555 various compilation and bug fixes in selfadjoint stuff 2009-07-27 13:17:39 +02:00
Gael Guennebaud
82c5438c95 split and add unit tests for symm and syrk,
the .rank*update() functions now returns a reference to *this
2009-07-23 21:22:51 +02:00
Gael Guennebaud
a81388fae9 Implement efficient sefladjoint product (aka SYRK) : C += alpha * U U^T
It is currently available via SelfAdjointView::rankKupdate.
TODO: allows to write SelfAdjointView += u * u.adjoint()
2009-07-23 19:01:20 +02:00
Gael Guennebaud
713c92140c improve SYMV it is now faster and ready for use 2009-07-23 14:20:45 +02:00
Gael Guennebaud
eee14846e3 formating 2009-07-23 10:19:58 +02:00
Gael Guennebaud
ddb3ac98a2 addd matrix * self adjoint high level API 2009-07-23 10:05:38 +02:00
Gael Guennebaud
0cb4f32e12 implement high level API for SYMM and fix a couple of bugs related to complex 2009-07-22 23:12:22 +02:00
Gael Guennebaud
279cedc1ce some cleaning/renaming is Triangular/SelfadjointView 2009-07-14 22:38:21 +02:00
Gael Guennebaud
a2087cd7a3 Add an efficient rank2 update function (like the level2 blas xSYR2 routine).
Note that it is already used in Tridiagonalization.
2009-07-11 21:14:59 +02:00