aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* improved Quaternion class:Gravatar Gael Guennebaud2008-06-03
| | | | | | | - Euler angles and angle axis conversions, - stable spherical interpolation - documentation - update the respective unit test
* fix building of examplesGravatar Gael Guennebaud2008-06-03
|
* add a geometry unit test and fix a couple of typo in Quaternion.hGravatar Gael Guennebaud2008-06-03
|
* - get the doc of the enums in MatrixBase rightGravatar Benoit Jacob2008-06-03
| | | | | | | | | - get the doc of the flags in Constants right - finally give up with SEPARATE_MEMBER_PAGES: it triggers too big Doxygen bugs, and produces too many small pages. So we have one huge page for MatrixBase at currently 300kb and going up, so the solution especially for users with low bandwidth will be to provide an archive of the html documentation.
* * start of the Geometry module with a cross product and quaternion expressionsGravatar Gael Guennebaud2008-06-02
| | | | | (haven't tried them yet) * applied the meta selector rule to MatrixBase::swap()
* big changes in Doxygen configuration; work around bug with doxygen parsing ofGravatar Benoit Jacob2008-06-02
| | | | | initialized enum values showing the last word the initializer instead of the actual enum value's name; add some more docs.
* work around Doxygen bug triggered by r814874, which caused many classes to ↵Gravatar Benoit Jacob2008-06-02
| | | | | | disappear from the docs.
* doc improvements: fix linking in Mainpage.dox, improved Doxyfile.inGravatar Benoit Jacob2008-06-02
|
* added unit tests for sizeof and dynamic memory allocationGravatar Gael Guennebaud2008-06-02
|
* Added the computation of eigen vectors in the symmetric eigen solver.Gravatar Gael Guennebaud2008-06-02
| | | | | However the eigen vectors are not correct yet, but I really cannot find the problem.
* since m*m.adjoint() is positive, so are its eigenvalues, so no need forGravatar Benoit Jacob2008-06-02
| | | | cwiseAbs()
* - add MatrixBase::eigenvalues() convenience methodGravatar Benoit Jacob2008-06-02
| | | | | | - add MatrixBase::matrixNorm(); in the non-selfadjoint case, we reduce to the selfadjoint case by using the "C*-identity" a.k.a. norm of x = sqrt(norm of x * x.adjoint())
* fix a couple of issues making the eigensolver test compile and run without ↵Gravatar Benoit Jacob2008-06-02
| | | | | | | | | aborting on an assert. Had to fix a stupid bug in Block -- very strange we hadn't hit it before. However the test still fails.
* Rewrite from scratch of the eigen solver for symmetric matricesGravatar Gael Guennebaud2008-06-02
| | | | | which now supports selfadjoint matrix. The implementation follows Golub's famous book.
* * added a Tridiagonalization class for selfadjoint matricesGravatar Gael Guennebaud2008-06-01
| | | | | | | | | * 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.
* meagre outcome for so much time spent!Gravatar Benoit Jacob2008-06-01
| | | | | | * fix inverse() bug discovered by Gael's test * fix warnings introduced by the new Diagonal stuff * update Doxyfile to v1.5.6
* added a unit test for InverseGravatar Gael Guennebaud2008-05-31
| | | | | discovered that m1 == m1.inverse().inverse() fails though m1.inverse()*m1 == I
* added an *optional* Eigen2 dynamic library.Gravatar Gael Guennebaud2008-05-31
| | | | | it allows the possiblity to save some compilation time by linking to it *and* defining the token EIGEN_EXTERN_INSTANCIATIONS
* added optimized matrix times diagonal matrix product via Diagonal flag shortcut.Gravatar Gael Guennebaud2008-05-31
|
* moved purely "array" related stuff to a new module Array.Gravatar Gael Guennebaud2008-05-31
| | | | | | | | This include: - cwise Pow,Sin,Cos,Exp... - cwise Greater and other comparison operators - .any(), .all() and partial reduction - random
* updated EigenSolver to use .coeff / .coeffRefGravatar Gael Guennebaud2008-05-31
|
* simply a bit the basic product moving dynamic loopsGravatar Gael Guennebaud2008-05-31
| | | | | to the corresponding special case of the unrollers. the latter ones are therefore re-named *product_impl.
* * replace compile-time-if by meta-selector in Assign.hGravatar Gael Guennebaud2008-05-31
| | | | | as it speed up compilation. * fix minor typo introduced in the previous commit
* Added ArrayBit to get the ability to manipulate a Matrix like a simple scalar.Gravatar Gael Guennebaud2008-05-29
| | | | In particular this flag changes the behavior of operator* to a coeff wise product.
* now the unit-tests (hence all of Eigen) don't depend on Qt at allGravatar Benoit Jacob2008-05-29
| | | | anymore.
* many small fixes and documentation improvements,Gravatar Benoit Jacob2008-05-29
| | | | this should be alpha5.
* * updated the assignement operator macro so that overloadsGravatar Gael Guennebaud2008-05-28
| | | | | | in MatrixBase work * removed product_selector and cleaned Product.h a bit * cleaned Assign.h a bit
* * change Flagged to take into account NestByValue onlyGravatar Gael Guennebaud2008-05-28
| | | | | * bugfix in Assign and cache friendly product (weird that worked before) * improved argument evaluation in Product
* * added _*coeffRef members in NestedByValueGravatar Gael Guennebaud2008-05-28
| | | | | | * added ConjugateReturnType and AdjointReturnType that are type-defined to Derived& and Transpose<Derived> if the scalar type is not complex: this avoids abusive copies in the cache friendly Product
* hehe, the complicated nesting scheme in Flagged in the previous commitGravatar Benoit Jacob2008-05-28
| | | | | | | | | | | was a sign that we were doing something wrong. In fact, having NestByValue as a special case of Flagged was wrong, and the previous commit, while not buggy, was inefficient because then when the resulting NestByValue xpr was nested -- hence copied -- the original xpr which was already nested by value was copied again; hence instead of 1 copy we got 3 copies. The solution was to ressuscitate the old Temporary.h (renamed NestByValue.h) as it was the right approach.
* * find the proper way of nesting the expression in Flagged:Gravatar Benoit Jacob2008-05-28
| | | | | | | | | | | | | finally that's more subtle than just using ei_nested, because when flagging with NestByValueBit we want to store the expression by value already, regardless of whether it already had the NestByValueBit set. * rename temporary() ----> nestByValue() * move the old Product.h to disabled/, replace by what was ProductWIP.h * tweak -O and -g flags for tests and examples * reorder the tests -- basic things go first * simplifications, e.g. in many methoeds return derived() and count on implicit casting to the actual return type. * strip some not-really-useful stuff from the heaviest tests
* * fix the QR module to use extract/part instead of the previous triangular stuffGravatar Gael Guennebaud2008-05-27
| | | | | * added qr and eigensolver tests * fix a compilation warning in Matrix copy constructor
* part 2 of big change: rename Triangular.h -> Extract.hGravatar Benoit Jacob2008-05-27
| | | | (svn required to commit that separately)
* - introduce Part and Extract classes, splitting and extending the formerGravatar Benoit Jacob2008-05-27
| | | | | | | | | | Triangular class - full meta-unrolling in Part - move inverseProduct() to MatrixBase - compilation fix in ProductWIP: introduce a meta-selector to only do direct access on types that support it. - phase out the old Product, remove the WIP_DIRTY stuff. - misc renaming and fixes
* some documentation fixes (Cwise* and Cholesky)Gravatar Gael Guennebaud2008-05-22
|
* * improved product performance:Gravatar Gael Guennebaud2008-05-22
| | | | | | | - fallback to normal product for small dynamic matrices - overloaded "c += (a * b).lazy()" to avoid the expensive and useless temporary and setZero() in such very common cases. * fix a couple of issues with the flags
* restored the product testGravatar Gael Guennebaud2008-05-22
|
* remove Like1DArrayBit in TransposeGravatar Gael Guennebaud2008-05-22
|
* update of the testing framework:Gravatar Gael Guennebaud2008-05-22
| | | | | replaced the QTestLib framework my custom macros and a (optional) custom script to run the tests from ctest.
* Fix compilation issues with MSVC and NVCC.Gravatar Gael Guennebaud2008-05-15
| | | | Added a few typedef of complex return types in MatrixBase (Needed by MSVC)
* Introduce generic Flagged xpr, remove already Lazy.h and Temporary.hGravatar Benoit Jacob2008-05-14
| | | | Rename DefaultLostFlagMask --> HerediraryBits
* * Clean a bit the eigenvalue solver: if the matrix is known to beGravatar Gael Guennebaud2008-05-13
| | | | | selfadjoint at compile time, then it returns real eigenvalues. * Fix a couple of bugs with the new product.
* -fix certain #includesGravatar Benoit Jacob2008-05-12
| | | | -fix CMakeLists, public headers weren't getting installed
* * Added several cast to int of the enums (needed for some compilers)Gravatar Gael Guennebaud2008-05-12
| | | | | | * Fix a mistake in CwiseNullary. * Added a CoreDeclarions header that declares only the forward declarations and related basic stuffs.
* put inline keywords everywhere appropriate. So we don't need anymore to passGravatar Benoit Jacob2008-05-12
| | | | -finline-limit=1000 to gcc to get good performance. By the way some cleanup.
* updated product test to carefully test all scalar typesGravatar Gael Guennebaud2008-05-12
| | | | and fix an issue in the triangular test
* * Draft of a eigenvalues solverGravatar Gael Guennebaud2008-05-12
| | | | | | | | | | | | | | | (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)
* move arch-specific code to arch/SSE and arch/AltiVec subdirs.Gravatar Benoit Jacob2008-05-12
| | | | rename the noarch PacketMath.h to DummyPacketMath.h
* * Give Konstantinos a copyright lineGravatar Benoit Jacob2008-05-12
| | | | | | | | * Fix compilation of Inverse.h with vectorisation * Introduce EIGEN_GNUC_AT_LEAST(x,y) macro doing future-proof (e.g. gcc v5.0) check * Only use ProductWIP if vectorisation is enabled * rename EIGEN_ALWAYS_INLINE -> EIGEN_INLINE with fall-back to inline keyword * some cleanup/indentation
* only include SSE3 headers if compiling with SSE3 supportGravatar Benoit Jacob2008-05-08
|