Benoit Jacob
5c3d21693b
implement JacobiSVD::solve() and expand the unit test
2010-10-11 15:36:04 -04:00
Benoit Jacob
d229f99ba2
adapt Quaternion to JacobiSVD API changes.
2010-10-08 10:42:41 -04:00
Benoit Jacob
8ba8d90063
add option to compute thin U/V.
...
By default nothing is computed. You have to ask explicitly for thin/full U/V if you want them.
2010-10-08 10:42:40 -04:00
Benoit Jacob
6fad2eb97b
Rework JacobiSVD api / template parameters.
...
There is now an integer QRPreconditioner template parameter, defaulting to full-piv QR.
Since we have to special-case each QR dec anyway, a template template parameter didn't add much value here.
There is an option NoQRPreconditioner if you know your matrices are already square (auto-detected for fixed-size matrices).
2010-10-08 10:42:32 -04:00
Benoit Jacob
58e0cce0f7
merge backout
2010-10-08 10:42:25 -04:00
Benoit Jacob
4a98cada26
Backed out changeset 2334291157
...
Sorry Thomas, these doc fixes are no longer relevant with the JacobiSVD API changes, and they are preventing me from applying my patches cleanly.
2010-10-08 10:42:06 -04:00
Gael Guennebaud
a76ce042e6
MSVC for windows mobile does not have the errno.h file
2010-10-07 18:09:15 +02:00
Gael Guennebaud
af22364988
an attempt to fix compilation on windows mobile
2010-10-07 17:54:46 +02:00
Gael Guennebaud
01fad14d78
mark LLT/LDLT solveInPlace func internal and rm their boolean returned value
2010-10-05 15:56:50 +02:00
Thomas Capricelli
2334291157
fix doc
2010-10-04 04:08:32 +02:00
Benoit Jacob
71f023de3e
fix compilation on ubuntu 9.04's version of gcc 4.3 (yes, wtf)
2010-09-27 09:57:57 -04:00
Radu Bogdan Rusu
94ea1eed9a
fix warning
2010-09-27 09:56:54 -04:00
Hauke Heibel
327ed3d1d3
Added a note to the Gram Schmidt code and improved some formatting.
2010-09-25 14:15:35 +02:00
Hauke Heibel
316dadc8e4
Fixed some SVD issues.
...
Make the SVD's output unitary.
Improved unit tests.
Added an assert to the SVD ctor to check whether rows>=cols.
2010-09-24 17:32:44 +02:00
Hauke Heibel
053261de88
Make the SVD's output unitary and improved unit tests.
2010-09-24 16:28:20 +02:00
Benoit Jacob
1c54514bfc
merge
2010-09-23 09:53:21 -04:00
Benoit Jacob
c253cc3d53
SVD:
...
* fix unit test for rectangular matrices.
* enforce that rows >= cols since various places in the code assume that.
2010-09-23 09:51:08 -04:00
Hauke Heibel
62bf04b339
Fixed bad memory access in the SVD.
2010-09-23 11:15:36 +02:00
Benoit Jacob
77c943670e
add cmakelists for 2 subdirs and make sure all subdirs are installed (GLOB)
2010-09-14 04:11:15 -04:00
Gael Guennebaud
91e9344be9
fix vectorization logic and code of cross3 which was never enabled..
2010-09-08 14:10:01 +02:00
Gael Guennebaud
9bb75937cc
fix += return by value like operations
2010-09-06 11:51:42 +02:00
Gael Guennebaud
62eb4dc99b
noalias was wrongly skipping automatic transposition
2010-09-02 19:18:34 +02:00
Gael Guennebaud
4824db6444
add the possibility to extend QuaternionBase
2010-09-02 17:28:07 +02:00
Eamon Nerbonne
d17bb02ccd
Fixes mingw32 compile issues
2010-09-02 10:38:23 +02:00
Gael Guennebaud
b49dde01dc
fix bad mat * mat * scalar when the implicit conversion operator to a Matrix is used
2010-08-31 09:54:38 +02:00
Gael Guennebaud
dcff9ba785
fix bad "using typename"
2010-08-25 13:34:35 +02:00
Gael Guennebaud
cb7a72d5b0
Fix Sun CC parsing of Eigen/Core. In particular,
...
I moved all the block related methods to a plugin file. This also
significantly reduce code verbosity.
2010-08-25 13:09:56 +02:00
Benoit Jacob
bd8d06033d
make a couple of typedefs public so stuff compiles
2010-08-24 10:53:33 -04:00
Gael Guennebaud
a47bbf664c
fix 4x4 SSE inversion when storage orders don't match
2010-08-24 13:00:59 +02:00
Gael Guennebaud
ad9a7c69bc
fix inversion of 4x4 unaligned matrices
2010-08-24 12:28:42 +02:00
Gael Guennebaud
6261f4629f
add TriangularMatrix::conjugate to be consistent since we have adjoint
2010-08-23 23:38:35 +02:00
Jitse Niesen
d1111d625c
Docs: Typos in ArrayBase doxygen comments
2010-08-23 11:44:51 +01:00
Jitse Niesen
103b9351fd
Docs: Add references to TopicClassHierarchy
2010-08-22 18:28:19 +01:00
Jitse Niesen
a6da803873
Document DenseCoeffsBase
2010-08-22 17:30:31 +01:00
Hauke Heibel
60aad09878
Fixed DiagonalMatrix assignment.
2010-08-21 16:34:46 +02:00
Hauke Heibel
92b1674c79
Fixed typos.
2010-08-19 20:11:06 +02:00
Hauke Heibel
610d79e686
Simplified to product templates to a minimum of template parameters.
...
Removed the ei_is_any_projective helper and added ei_transform_traits.
2010-08-19 20:02:46 +02:00
Hauke Heibel
a64aabf73c
Removed unused code.
2010-08-19 19:33:13 +02:00
Hauke Heibel
55c7848877
Matrix product refactoring (rhs products only).
...
Added strong inlines required for MSVC for proper inlining.
Added specializations for DiagonalMatrix products to RotationBase.
Added left- and righ-hand-side products with DiagonalMatrix to Transform.
RHS Transform products now return Matrix objects only.
Split the geo_transformations unit test. Some tests were not made for projectivities.
Removed unused variables from main.h that caused warnings.
2010-08-19 19:25:35 +02:00
Gael Guennebaud
d4b664c4cd
fix ugly conversion from double[2] to complex
2010-08-19 14:47:58 +02:00
Gael Guennebaud
5354ffbb4f
add missing specialization for vector * selfadjoint
2010-08-19 14:05:21 +02:00
Gael Guennebaud
ddbbd7065d
* disable unalignment detection when vectorization is not enabled
...
* revert MapBase unalignment detection
2010-08-18 09:35:55 +02:00
Hauke Heibel
85fdcdf055
Fixed Geometry module failures.
...
Removed default parameter from Transform.
Removed the TransformXX typedefs.
Removed references to TransformXX from unit tests and docs.
Assigning Transforms to a sub-group is now forbidden at compile time.
Products should now properly support the Isometry flag.
Fixed alignment checks in MapBase.
2010-08-17 20:03:50 +02:00
Benoit Jacob
87aafc9169
fix Transform() constructor taking a Transform with other mode.
...
Not really tested as the geometry tests are currently busted.
2010-08-16 12:30:33 -04:00
Benoit Jacob
19d9c835e0
fix warnings
2010-08-16 11:11:43 -04:00
Gael Guennebaud
b37551f62a
further improve compilation error message for array+=matrix
2010-08-16 11:13:02 +02:00
Gael Guennebaud
c625a6a85b
improve compilation error message for array+=matrix and the likes
2010-08-16 11:07:17 +02:00
Gael Guennebaud
453d54325e
fix declaration of AffineTransformType in Translation
2010-08-16 10:44:27 +02:00
Gael Guennebaud
aa2b46aa91
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Gael Guennebaud
853c0e15df
slightly generalize the alignment assert in MapBase
2010-08-16 09:41:07 +02:00
Gael Guennebaud
8566ef805b
remove the aligned bit flag for non vectorizable types
2010-08-16 09:38:49 +02:00
Benoit Jacob
3a30a2bc3e
forgot to remove a #endif
2010-08-13 14:03:38 -04:00
Benoit Jacob
b80d9dd42e
fix determination of number of registers on sse:
...
__i386__ was not defined by MSVC 2010.
fixed as (2*sizeof(void*)).
also move that to SSE/ and let the default for unknown arch's be just 8.
2010-08-13 13:55:28 -04:00
Benoit Jacob
8bbe556e35
merge the backout
2010-08-11 00:06:31 -04:00
Benoit Jacob
97ced33b33
Backed out changeset 40f6e26a24
...
See thread on mailing list: "InnerPanel change mis-detects alignment?"
2010-08-11 00:04:06 -04:00
Jitse Niesen
76fbe94279
Document EIGEN_NO_DEBUG macro.
...
I needed some doxygen tricks to get this to work, so it may not be worth it.
2010-08-10 11:37:23 +01:00
Hauke Heibel
3dd8225862
Added more detailed docs to the QR decompositions classes.
2010-08-05 08:56:19 +02:00
Benoit Jacob
d90d7a006f
fix warnings. The one in Reverse was potentially serious: coeff() methods should return CoeffReturnType, not "Scalar", if the expression is potentially a Lvalue.
2010-08-03 10:38:48 -04:00
Hauke Heibel
cc25edd5de
Fixed Affine transform typedef.
2010-08-02 21:33:48 +02:00
Hauke Heibel
7cefa75901
Added static method Identity() to the Translation class.
2010-07-29 17:30:37 +02:00
Hauke Heibel
e92993d7b9
Safeguarded some Transform functions with compile time asserts.
...
Added missing static Identity() to Rotation2D, AngleAxis.
2010-07-29 16:17:42 +02:00
Hauke Heibel
6b89ee0095
Transform is now per default Projective.
...
Improved invert() in the Transform class.
RotationBase offers matrix() to be conform with Transform's naming scheme.
Added Translation::translation() to be conform with Transform's naming scheme.
2010-07-29 15:54:32 +02:00
Hauke Heibel
2f0e8904f1
Removed debug outputs.
2010-07-28 10:47:58 +02:00
Kenneth Riddile
b038a4bb71
* added EIGEN_ALIGNED_ALLOCATOR macro to allow specifying a different aligned allocator
...
* attempted to add support for std::deque by copying and modifying the std::vector implementation...MSVC still fails to compile with the std::deque::resize() "will not be aligned" error...probably missing something simple but I'm not sure how to make it work
2010-07-26 19:06:47 -04:00
Jitse Niesen
1420f8b3a1
Several changes in comments to keep Doxygen happy.
2010-07-25 20:29:07 +01:00
Jitse Niesen
425444428c
Add examples for API documentation of block methods in DenseBase.
2010-07-23 22:20:00 +01:00
User Martin Senst
145830e067
Add newline at the end of Dense.
2010-07-23 19:00:02 +02:00
Gael Guennebaud
40f6e26a24
allow vectorization of mat44.col() by adding a InnerPanel boolean
...
template parameter to Block
2010-07-23 16:29:29 +02:00
Gael Guennebaud
9daa66f262
fix merge conflicts
2010-07-22 17:23:11 +02:00
Gael Guennebaud
7020f30da3
sync with default branch
2010-07-22 16:29:35 +02:00
Gael Guennebaud
b9edd6fb85
oops
2010-07-22 16:24:01 +02:00
Gael Guennebaud
96ba7cd655
add an OpenGL module simplifying the way you can pass Eigen's objects to GL
2010-07-22 16:08:58 +02:00
Gael Guennebaud
fa6d36e0f7
fix SparseView: clean the nested matrix type
2010-07-22 15:57:01 +02:00
Hauke Heibel
734469e43f
Unified LinSpaced in order to be conform with other setter methods as e.g. Constant.
2010-07-22 14:04:00 +02:00
Gael Guennebaud
c7f40e522e
merge
2010-07-22 13:21:06 +02:00
Gael Guennebaud
bec3f9bfe4
rename indices to a common scheme
2010-07-22 13:17:39 +02:00
Gael Guennebaud
0916d69ca5
fix inner vectorization logic
2010-07-22 13:17:12 +02:00
Gael Guennebaud
0dfc5b296b
fix strict aliasing issue
2010-07-22 13:16:53 +02:00
Gael Guennebaud
35f0bc70d8
fix a strict aliasing issue with gcc 4.3
2010-07-20 22:43:55 +02:00
Gael Guennebaud
7dbbc6ffd1
fix static allocation of workspace
2010-07-20 17:06:14 +02:00
Gael Guennebaud
ced1a45f82
add NEON ploaddup and pcplxflip functions
2010-07-20 14:24:01 +02:00
Gael Guennebaud
193eedbfe2
one more fix for openmp
2010-07-20 14:19:00 +02:00
Gael Guennebaud
d7fa09bf05
improve block-size heuristic
2010-07-20 13:23:50 +02:00
Gael Guennebaud
4824ac1363
fix openmp version
2010-07-20 13:23:19 +02:00
Gael Guennebaud
b551a2d77a
fix declaration of pack_lhs in trsm
2010-07-20 12:58:22 +02:00
Gael Guennebaud
10a7668035
uncomment commented code for debug
2010-07-20 12:57:46 +02:00
Gael Guennebaud
872523844a
fix trmm and symm wrt lhs packing
2010-07-20 10:06:41 +02:00
Gael Guennebaud
76eb9c9fd9
fix compilation by including file in correct order
2010-07-19 23:32:13 +02:00
Gael Guennebaud
70b1ce11c6
* fix SelfCwiseBinaryOp traits and handling of mixed types
...
* improve compilation error in case of type mismatch
2010-07-19 23:31:08 +02:00
Gael Guennebaud
8b0b121c9e
explicitely disable vectorization for mixed coeff based products
2010-07-19 23:28:57 +02:00
Gael Guennebaud
08c841eb87
fix lhs packing in the case of real * complex products
2010-07-19 23:16:03 +02:00
Gael Guennebaud
1ed4233fd2
port Jacobi to new ei_pset1/ei_pload API
2010-07-19 16:51:38 +02:00
Gael Guennebaud
c2ee454df4
* fix compilation of mixed scalar product
...
* optimize mixed scalar products
2010-07-19 16:49:09 +02:00
Gael Guennebaud
6e157dd7c6
* fix a couple of remaining issues with previous commit,
...
* merge ei_product_blocking_traits into ei_gepb_traits
2010-07-19 15:45:13 +02:00
Gael Guennebaud
f8aae7a908
* _mm_loaddup_pd is slow
...
* optimize SSE ei_ploaddup<Packet4f>
2010-07-19 15:43:27 +02:00
Gael Guennebaud
cd0e5dca9b
wip: extend the gebp kernel to optimize complex and mixed products
2010-07-19 08:50:59 +02:00
Gael Guennebaud
1dc9aaaf36
add support for mixing type in trsv
2010-07-13 16:03:49 +02:00
Gael Guennebaud
36d9b51a44
optimize non fused MADD, and add a flatten attribute macro to enforce
...
inlining within a function
2010-07-13 15:16:34 +02:00
Gael Guennebaud
b72b7ab76f
matrix product: move the alpha factor to gebp instead of the packing,
...
clean some temporaries, etc.
2010-07-12 16:31:46 +02:00
Gael Guennebaud
f8678272a4
mixing types step 3:
...
- improve support of colmajor by vector and matrix - matrix
- now all configurations are well handled, but the perf are not always very good
2010-07-11 23:57:23 +02:00