43 Commits

Author SHA1 Message Date
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
9d9e00b608 merge and add start/end to Eigen2Support 2010-01-05 13:07:32 +01:00
Gael Guennebaud
826bff58c6 Fix #69 for the second time, and add the respective regression test 2010-01-04 17:36:26 +01:00
Gael Guennebaud
72b6c05bf0 sorry for committing this mess 2009-12-23 13:30:25 +01:00
Gael Guennebaud
d65c8cb60a fix #69 and extend unit tests or triangular solvers 2009-12-23 11:48:53 +01:00
Gael Guennebaud
34c95029ca a couple of fixes and cleaning 2009-12-17 10:00:35 +01:00
Gael Guennebaud
e3d890bc5a Another big refactoring change:
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
2009-11-18 18:15:19 +01:00
Gael Guennebaud
c893917d65 Fix serious bug discovered with gcc 4.2 2009-09-03 10:45:32 +02:00
Gael Guennebaud
0103de8512 bugfix in trsm 2009-08-02 15:32:43 +02:00
Gael Guennebaud
48fc64458c add blocked LLT, and bugfix in trsm asserts 2009-08-01 23:42:51 +02:00
Gael Guennebaud
a156f5a869 faster trsm kernel and fix a couple of issues 2009-07-31 13:18:19 +02:00
Gael Guennebaud
ff20a2ba94 add explicit "on the right" triangular solving,
=> no temporary when the rhs/unknows is row major
2009-07-30 16:03:06 +02:00
Gael Guennebaud
7ed7ec64b5 improve the expression analyzer to bypass Transpose expression 2009-07-28 14:02:12 +02:00
Gael Guennebaud
1d4d9a37fd some cleaning 2009-07-26 13:53:24 +02:00
Gael Guennebaud
f3fde74695 finalize trsm: works in all situations, and it is now used by solve() and solveInPlace() 2009-07-26 13:01:37 +02:00
Gael Guennebaud
8120a5cecd synch with main devel branch 2009-07-14 23:06:25 +02:00
Gael Guennebaud
a2cf7ba955 add triangular * vector product 2009-07-13 13:17:55 +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
Gael Guennebaud
b47dea8b7a add a meta unroller for the triangular solver (only for vectors as rhs) 2009-07-10 11:30:46 +02:00
Gael Guennebaud
1a1b2e9f27 finally directly calling the low-level products is faster 2009-07-10 10:41:26 +02:00
Gael Guennebaud
8885d56928 commit woking versions of triangular solvers naturally
handling conjuagted expression. still have to bench whether it
is faster (runtime and compile time) to directly call the
cache friendly functions, whence all the commented piece of code...
2009-07-09 23:59:18 +02:00
Gael Guennebaud
fa60c72398 started to simplify the triangular solvers 2009-07-09 17:11:03 +02:00
Gael Guennebaud
79877a9917 * take advantage of new possibilies in LLT (mat -= product)
* fix Block::operator+= product which was not optimized
* fix some compilation issues
2009-07-07 15:32:21 +02:00
Gael Guennebaud
1aea45335f * bybye Part, welcome TriangularView and SelfAdjointView.
* move solveTriangular*() to TriangularView::solve*()
* move .llt() to SelfAdjointView
* add a high level wrapper to the efficient selfadjoint * vector product
* improve LLT so that we can specify which triangular part is meaningless
=> there are still many things to do (doc, cleaning, improve the matrix products, etc.)
2009-07-06 23:43:20 +02:00
Benoit Jacob
6347b1db5b remove sentence "Eigen itself is part of the KDE project."
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
f697ea6d30 fix a few compilation errors and warnings (ICC) 2009-03-11 08:45:53 +00:00
Benoit Jacob
61e45ed500 * label Cholesky and solveTriangular.* as experimental
* improve Experimental.dox
* update urls from /api/ to /dox/
2009-02-02 14:21:35 +00:00
Benoit Jacob
00d7f8e567 * solveTriangularInPlace(): take a const ref and const_cast it, to allow passing temporary xprs.
* improvements, simplifications in LU::solve()
* remove remnant of old norm2()
2009-01-25 23:46:51 +00:00
Benoit Jacob
9e00d94543 * the Upper->UpperTriangular change
* finally get ei_add_test right
2008-12-20 13:36:12 +00:00
Benoit Jacob
fabaa6915b * fix in IO.h, a useless copy was made because of assignment from
Derived to MatrixBase.
* the optimization of eval() for Matrix now consists in a partial
  specialization of ei_eval, which returns a reference type for Matrix.
  No overriding of eval() in Matrix anymore. Consequence: careful,
  ei_eval is no longer guaranteed to give a plain matrix type!
  For that, use ei_plain_matrix_type, or the PlainMatrixType typedef.
* so lots of changes to adapt to that everywhere. Hope this doesn't
  break (too much) MSVC compilation.
* add code examples for the new image() stuff.
* lower a bit the precision for floats in the unit tests as
  we were already doing some workarounds in inverse.cpp and we got some
  failed tests.
2008-12-18 20:36:25 +00:00
Laurent Montel
2a4fdf31c8 Remove executable attribute 2008-11-04 08:24:27 +00:00
Gael Guennebaud
b26e04f40b add Eigen namespace in EIGEN_INHERIT_ASSIGNMENT_OPERATOR 2008-10-27 13:26:18 +00:00
Gael Guennebaud
65abb4c52e compilation fix for ICC 2008-10-21 15:43:25 +00:00
Gael Guennebaud
e2bd8623f8 Solve the issue found by Timothy in solveTriangular:
=> row-major rhs are now evaluated to a column-major
     temporary before the computations.
Add solveInPlace in Cholesky*
2008-10-13 13:14:43 +00:00
Benoit Jacob
247f2b0ffa * block() for vectors ---> segment()
* documentation improvements, especially in quickstart guide
2008-09-15 15:45:41 +00:00
Gael Guennebaud
d8df318d77 resurrected sparse triangular solver 2008-09-02 19:55:26 +00:00
Gael Guennebaud
7ea821d18e spelling + some krazy directives 2008-08-28 21:44:56 +00:00
Gael Guennebaud
f0394edfa7 * bugfix in SolveTriangular found by Timothy Hunter (did not compiled for very small fixed size matrices)
* bugfix in Dot unroller
* added special random generator for the unit tests and reduced the tolerance threshold by an order of magnitude
  this fixes issues with sum.cpp but other tests still failed sometimes, this have to be carefully checked...
2008-08-22 17:48:36 +00:00
Benoit Jacob
54137f1ca7 * fix bug found by Boudewijn Rempt: no CMakeLists in arch/ subdir
* fix warning in SolveTriangular
2008-08-19 13:15:13 +00:00
Gael Guennebaud
95dd09bea6 * revert the previous interface change in solveTriangular (pointer vs reference)
* remove the cast operators in the Geometry module: they are replaced by constructors
  and new operator= in Matrix
* extended the operations supported by Rotation2D
* rewrite in solveTriangular:
  - merge the Upper and Lower specializations
  - big optimization of the path for row-major triangular matrices
2008-08-18 22:17:42 +00:00
Gael Guennebaud
8a3e6b1ee2 change solveTriangularInPlace() to take a pointer as input (as discussed on IRC).
extended the documentation of the triangular solver.
2008-08-12 07:49:59 +00:00
Benoit Jacob
f04c1cb774 Complete LU documentation 2008-08-11 21:26:37 +00:00
Gael Guennebaud
b13148c358 renamed inverseProduct => solveTriangular 2008-08-09 20:06:25 +00:00