aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/Core
Commit message (Collapse)AuthorAge
* add overloads of lazyAssign to detect common aliasing issue withGravatar Gael Guennebaud2009-08-15
| | | | transpose and adjoint
* As proposed on the list:Gravatar Gael Guennebaud2009-08-15
| | | | | | | | | - 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.
* oops forgot to remove the #include in CoreGravatar Gael Guennebaud2009-08-14
|
* add an optimized "apply in place a rotation in the plane",Gravatar Gael Guennebaud2009-08-13
| | | | | and make Jacobi and SelfAdjointEigenSolver use it => ~ x1.75 speedup for JacobiSVD and x2 for SelfAdjointEigenSolver
* more product refactoringGravatar Gael Guennebaud2009-08-06
|
* implement a ProductBase class and, as a proof of concept, update ↵Gravatar Gael Guennebaud2009-08-04
| | | | | | TriangularProduct and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
* synch with main branchGravatar Gael Guennebaud2009-07-28
|\
* | trmm is now working in all storage order configurationsGravatar Gael Guennebaud2009-07-27
| |
* | The new trsm is working very very well (read very fast) forGravatar Gael Guennebaud2009-07-25
| | | | | | | | | | lower triangular matrix and row or col major lhs. TODO: handle upper triangular and row major rhs cases
* | Implement efficient sefladjoint product (aka SYRK) : C += alpha * U U^TGravatar Gael Guennebaud2009-07-23
| | | | | | | | | | It is currently available via SelfAdjointView::rankKupdate. TODO: allows to write SelfAdjointView += u * u.adjoint()
* | more refactoring in the level3 productsGravatar Gael Guennebaud2009-07-22
| |
* | * refactoring of the matrix product into multiple small kernelsGravatar Gael Guennebaud2009-07-21
| | | | | | | | | | * started an efficient selfadjoint matrix * general matrix product based on the generic kernels ( => need a very little LOC)
| * re-implement stableNorm using a homemade blocky andGravatar Gael Guennebaud2009-07-17
| | | | | | | | vectorization friendly algorithm (slow if no vectorization)
* | started an implementation of BandMatrix: at least the read/write accessGravatar Gael Guennebaud2009-07-14
| | | | | | | | to the main/sub/super diagonals seems to work well.
* | synch with main devel branchGravatar Gael Guennebaud2009-07-14
|\|
* | some cleaning/renaming is Triangular/SelfadjointViewGravatar Gael Guennebaud2009-07-14
| |
* | add triangular * vector productGravatar Gael Guennebaud2009-07-13
| |
* | Add an efficient rank2 update function (like the level2 blas xSYR2 routine).Gravatar Gael Guennebaud2009-07-11
| | | | | | | | Note that it is already used in Tridiagonalization.
| * Set of fixes and workaround to make sun studio more happy.Gravatar Gael Guennebaud2009-07-10
| | | | | | | | Still remains the problem of alignment and vectorization.
* | * bybye Part, welcome TriangularView and SelfAdjointView.Gravatar Gael Guennebaud2009-07-06
| | | | | | | | | | | | | | | | * 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.)
| * add a VectorBlock expr as a specialization of BlockGravatar Gael Guennebaud2009-07-05
| |
* | new implementation of diagonal matrices and diagonal matrix expressionsGravatar Benoit Jacob2009-06-28
|/
* mergeGravatar Benoit Jacob2009-05-22
|\
| * remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | | | | | it never made very precise sense. but now does it still make any?
* | * add a writable generic coeff wise expression (CwiseUnaryView)Gravatar Gael Guennebaud2009-05-20
|/ | | | * add writable .real() and .imag() functions
* constant Diagonal ---> DiagonalBitsGravatar Benoit Jacob2009-05-10
| | | | | | introduce ei_is_diagonal to check for it DiagonalCoeffs ---> Diagonal and allow Index to by Dynamic -> add MatrixBase::diagonal(int) with unittest and doc
* add copyright on two public headers that are not so trivial...Gravatar Benoit Jacob2009-05-06
|
* fix SSE2 detection on win64, reported by 'kajala'Gravatar Benoit Jacob2009-05-04
|
* let the user disable alignment altogether by #defining EIGEN_DONT_ALIGN.Gravatar Benoit Jacob2009-05-03
| | | | | | | Until now, the user had to edit the source code to do that. Internally, add EIGEN_ALIGN that takes into account both EIGEN_DONT_ALIGN.and EIGEN_ARCH_WANTS_ALIGNMENT. From now on, only EIGEN_ALIGN should be used to test whether we want to align.
* add vectorization of sqrt for floatGravatar Gael Guennebaud2009-03-27
|
* add SSE2 versions of sin, cos, log, exp using code from JulienGravatar Gael Guennebaud2009-03-25
| | | | | | | | Pommier. They are for float only, and they return exactly the same result as the standard versions in about 90% of the cases. Otherwise the max error is below 1e-7. However, for very large values (>1e3) the accuracy of sin and cos slighlty decrease. They are about 3 or 4 times faster than 4 calls to their respective standard versions. So, is it ok to enable them by default in their respective functors ?
* remove bad #include of SelfadjointRank2Update.hGravatar Gael Guennebaud2009-03-05
|
* big addons:Gravatar Gael Guennebaud2009-03-05
| | | | | | | | | | | * add Homogeneous expression for vector and set of vectors (aka matrix) => the next step will be to overload operator* * add homogeneous normalization (again for vector and set of vectors) * add a Replicate expression (with uni-directional replication facilities) => for all of them I'll add examples once we agree on the API * fix gcc-4.4 warnings * rename reverse.cpp array_reverse.cpp
* add ReturnByValue pseudo expression for in-place evaluation with aGravatar Gael Guennebaud2009-03-04
| | | | return-by-value API style (will soon use it for the transform products)
* * split CacheFriendlyProduct into multiple smaller filesGravatar Gael Guennebaud2009-02-21
| | | | | | * add an efficient selfadjoint * vector implementation (= blas symv) perf are inbetween MKL and GOTO => the interface is still missing (have to be rethougth)
* * exit Sum.h, exit Prod.h, welcome vectorization of redux() !Gravatar Gael Guennebaud2009-02-12
| | | | * add vectorization for minCoeff and maxCoeff
* * add ei_predux_mul internal functionGravatar Gael Guennebaud2009-02-10
| | | | * apply Ricard Marxer's prod() patch with fixes for the vectorized path
* apply Ricard patch for Reverse with minor modificationsGravatar Gael Guennebaud2009-02-06
|
* #error if min or max is definedGravatar Benoit Jacob2009-01-19
|
* fix potential compilation issue on MSVC + no vectorizationGravatar Benoit Jacob2009-01-10
|
* * Added aligned_allocator for using 16-byte aligned types with STL ↵Gravatar Kenneth Frank Riddile2009-01-09
| | | | containers. There is still a compile-time problem with STL containers that have a standard-conformant resize() method, but this should resolve the original user issue which was storing aligned objects in a std::map.
* Patch by Kenneth Riddile: disable MSVC warnings, reenable them outsideGravatar Benoit Jacob2008-12-18
| | | | of Eigen, and add a MSVC-friendly path in StaticAssert.
* * throw bad_alloc if exceptions are enabled, after patch by Kenneth RiddileGravatar Benoit Jacob2008-12-16
| | | | * disable vectorization on MSVC 2005, as it doesn't have all the required intrinsics. require 2008.
* Finally work around enough of MSVC preprocessor dumbness so that it actually ↵Gravatar Benoit Jacob2008-12-15
| | | | detects SSE2
* work around the braindead msvc preprocessorGravatar Benoit Jacob2008-12-15
|
* Fix detection of SSE2 with MSVC.Gravatar Benoit Jacob2008-12-15
|
* Fix memory alignment (hence vectorization) on MSVC thanks to help from Armin ↵Gravatar Benoit Jacob2008-12-15
| | | | Berres.
* remove CoreDeclaration from the documentationGravatar Gael Guennebaud2008-08-28
|
* * temporarily remove doxygen customization, we'll see if that fix api.kde.orgGravatar Gael Guennebaud2008-08-28
| | | | | | but I no hope, that would be too simple ! * added Rotation2D typedefs * remove CoreDeclarations header file
* doc + quick bug fix in Matrix ctorGravatar Gael Guennebaud2008-08-28
|