Gael Guennebaud
c7baf07a3e
add plugin mechanism to sparse objects
2011-01-07 15:53:02 +01:00
Jitse Niesen
9111d73017
Fix compilation error in HouseholderSequence introduced in my previous commit.
2011-01-07 13:46:23 +00:00
Jitse Niesen
2cc75f4922
Make HouseholderSequence::setTrans() protected (cf. bug #50 ).
...
Users can call .transpose() instead.
2011-01-06 11:30:19 +00:00
Hauke Heibel
4ba0ec5e0e
Fixed #148 where a const-accessor for coefficients was missing in the MatrixWrapper.
2011-01-04 15:35:50 +01:00
Jitse Niesen
004488a31d
Fix bug in symmetric rank-2 update for row-major matrices (bug #144 ).
2011-01-04 10:35:39 +00:00
Jitse Niesen
fb023b871f
Const-correctness fix for gemv_selector<OnTheRight,ColMajor,true> (bug #144 ).
2011-01-04 10:35:10 +00:00
Benoit Jacob
fd4e366d7e
fix severe perf bug: coeff-based matrix products were not considered aligned, typically preventing vectorization.
...
added unit test.
2011-01-02 12:07:39 -05:00
Jitse Niesen
47a9d2ed54
Document HouseholderSequence.
...
Incomplete: I did not explain the difference between OnTheLeft and OnTheRight,
and there is only one example.
2011-01-02 16:59:44 +00:00
Gael Guennebaud
902af035d3
merge
2010-12-31 17:26:48 +01:00
Gael Guennebaud
25efcdd042
fix sparse time dense product with a rowmajor lhs
2010-12-31 17:11:17 +01:00
David J. Luitz
11e253bc10
[Sparse] Added regression tests for the two bugfixes, the code passes all sparse_product tests
2010-12-30 15:16:23 +01:00
Benoit Jacob
13867c15cc
fix compilation of code using e.g. Transpose<const Foo>::data() non-const-qualified. Same problem existed for coeffRef() and also in MapBase.h.
2010-12-30 07:47:51 -05:00
Benoit Jacob
26c2afd55a
fix compile errors in Tridiagonalization and in doc examples
2010-12-30 04:52:20 -05:00
Benoit Jacob
dbd9c5fd50
fix HouseholderSequence API, bug #50 :
...
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
2010-12-30 04:18:40 -05:00
Jitse Niesen
d6a5ba5a08
Rename EIGEN_DENSESTORAGEBASE_PLUGIN to EIGEN_PLAINOBJECTBASE_PLUGIN.
2010-12-29 19:12:39 +00:00
Jose Luis Blanco
3ca31a8b74
fixed msvc9 build errors.
2010-12-29 19:42:01 +01:00
Jose Luis Blanco
97c54ad220
fix MSVC warnings, bug #143
2010-12-29 06:15:41 -05:00
Thomas Capricelli
7a29ae0b5c
fix preprocessor checks for availability of cpuid
2010-12-28 13:46:39 +01:00
Jitse Niesen
657013c974
Mention ptr_fun in docs for .unaryExpr()
2010-12-27 16:35:25 +00:00
Jitse Niesen
8db9acbc16
Move doxygen comments for EIGEN_NO_DEBUG from source to I14.
...
This reverts changeset 76fbe94279
. Benoit and I agree that my
approach there (to use doxygen comments) pollutes the code too much.
2010-12-27 15:07:11 +00:00
Benoit Jacob
dc3618a557
move BandMatrix and TridiagonalMatrix to the internal:: namespace
2010-12-25 17:17:10 -05:00
Benoit Jacob
8d2a10c5c1
more renaming to make this file matrix-or-array-agnostic
2010-12-25 17:04:36 -05:00
Benoit Jacob
e8768251db
rename macro
2010-12-25 17:01:01 -05:00
Benoit Jacob
86d3711fb7
remove EIGEN_REF_TO_TEMPORARY, clarify docs
2010-12-25 16:45:25 -05:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05:00
Hauke Heibel
efdf2e4056
Added automatic SSE3/4.1/4.2 support for MSVC.
2010-12-16 20:08:22 +01:00
Hauke Heibel
f578dc7aff
Fixed compound subtraction in ArrayBase where the assignment needs to be carried out on the derived type.
...
Added unit tests for map based component wise arithmetic.
2010-12-16 17:34:13 +01:00
Hauke Heibel
6f5c45ceff
Fixed ctor from const raw data for Matrices and added the missing implementation for Arrays.
...
Fixed a warning regarding the conversion from int to bool in MapBase.
2010-12-15 15:19:51 +01:00
Gael Guennebaud
68fe80861c
Fix bug #133 : remove the EIGEN_RESTRICT which was useless here anyway
2010-12-13 09:56:13 +01:00
Konstantinos Margaritis
e05c79cbd8
Fixed NEON compilation errors, changed float-abi back to softfp (which is the most used right now).
...
Some complex tests appear to segfault, needs a more careful look.
2010-12-10 20:27:46 +02:00
Benoit Jacob
74cc42b22f
bug #54 - The big Map const-correctness changes
2010-12-10 02:09:58 -05:00
Gael Guennebaud
e736df3edd
suppress stupid warning
2010-12-10 15:53:13 +01:00
Gael Guennebaud
79cc86f701
fix compilation
2010-12-10 13:52:47 +01:00
Gael Guennebaud
67c28570e3
fix compilation with ICC (template keyword on a non template method)
2010-12-10 10:05:52 +01:00
Gael Guennebaud
5bc21c25c5
fix ICE with gcc 3.4 and 4.0.1
2010-12-10 09:59:44 +01:00
Gael Guennebaud
bacd531862
fix bug #128 : tridiagonalization failed for 1x1 matrices
2010-12-09 19:56:20 +01:00
Gael Guennebaud
17de59278b
simplification
2010-12-09 19:47:02 +01:00
Gael Guennebaud
0b32c5bdda
fix compilation of sparse_basic for DynamicSparseMatrix
2010-12-09 19:39:15 +01:00
Benoit Jacob
aec0782719
fix the build of eigensolver_complex test.
...
it was calling the .value() method on an inner product, and that was blocked in bad zero-sized case.
fixed by adding the .value() method to DenseBase for all 1x1 expressions, and allowing coeff accessors in ProductBase for 1x1 expressions.
2010-12-09 03:47:35 -05:00
Benoit Jacob
1be6449f2e
fix bug #127 . our product selection logic was flawed in that it used the Max-sized to determine whether the size is 1.
...
+ test.
2010-12-09 02:38:07 -05:00
Benoit Jacob
819bcbed19
fix comment
2010-12-07 02:17:15 -05:00
Eamon Nerbonne
7a7ca99a31
[mq]: Mingw32 fix
...
intrin.h is not required nor supported by mingw32. It is present (and supported) on mingw-w64 builds, even those for 32-bit systems, but here too it's not required on 32-bit systems. So if we're on mingw, and it's 64-bit, then and only then is the intrin.h inclusion necessary.
2010-12-03 23:24:06 +01:00
Gael Guennebaud
c49c013c47
add main ei_* functions into Eigen2Support
2010-12-03 11:22:35 +01:00
Hauke Heibel
a289065c73
Applied a fix to our std::vector specialization which prevents the usage of workaround_msvc_stl_support when T is not a class.
2010-12-02 12:33:15 +01:00
Benoit Jacob
59b944cb50
add is_const
2010-12-01 09:22:54 -05:00
Benoit Jacob
46387cc180
remove makeconst_return_type
2010-12-01 09:22:50 -05:00
Hauke Heibel
f0ba513f41
Fixed compilation of tridiagonalization related unit tests.
2010-11-27 15:41:46 +01:00
Hauke Heibel
3899857e08
Removed remove_const_on_value_type since the meaning is unclear and it is in fact unused.
...
Extened the meta unit tests.
2010-11-26 18:06:08 +01:00
Hauke Heibel
60a544c879
Added STL like (add|remove)_const. Fixed add_const_on_value_type for "const T* const".
2010-11-26 16:56:03 +01:00
Hauke Heibel
bf9d25ce58
Postfixed add_const and remove_const by _on_value_type to express the differences to the STL.
2010-11-26 16:30:45 +01:00
Gael Guennebaud
d551e99644
make HessenbergDecompositionMatrixHReturnType internal
2010-11-26 15:39:01 +01:00
Gael Guennebaud
e06c6553e0
make TridiagonalizationMatrixTReturnType internal and only export a public MatrixTReturnType typedef
2010-11-26 15:36:29 +01:00
Gael Guennebaud
0d63212257
add a TridiagonalizationMatrixTReturnType class to make Tridiagonalization::matrixT() more efficient and future proof.
2010-11-26 15:31:47 +01:00
Gael Guennebaud
421b2b5ff7
fix a couple of issues with TridiagonalMatrix
2010-11-26 13:04:20 +01:00
Gael Guennebaud
d8b26cfeec
s/id/p to avoid name clash
2010-11-26 08:36:16 +01:00
Gael Guennebaud
156a31b0e9
fully implement scalar_fuzzy_impl<bool> as, e.g., the missing isMuchSmallerThan is convenient to filter out false values.
2010-11-25 18:00:30 +01:00
Gael Guennebaud
f1690fb9fa
fix bug #122 : rank 2 update test and scalar multiple extraction were both wrong
2010-11-23 19:19:04 +01:00
Benoit Jacob
0ab9a0a2f7
make UpperBidiagonalization internal: don't want to support it, it's not used.
...
Keeping it because it tests BandMatrix.
2010-11-23 11:12:42 -05:00
Benoit Jacob
ee38dbf1e6
Rework nested<> to be cleaner, see bug #76 .
2010-11-23 11:11:40 -05:00
Frederic Gosselin
4c5932f8f5
Improves the filter for hidden files in "Eigen" and "Eigen/src".
...
This generic solution prevent cmake from having an error .svn folders when the source folder is under subversion.
2010-11-22 10:47:07 -05:00
Gael Guennebaud
7213dd1e6b
this product still badly read the imaginary part on the diagonal
2010-11-22 18:00:47 +01:00
Benoit Jacob
a3f214ade9
holy crap, i had disabled all static asserts in 71f023de3e
2010-11-22 08:21:30 -05:00
Gael Guennebaud
d8396a8da0
fix compilation of product_mmtr
2010-11-21 10:23:06 +01:00
Gael Guennebaud
fb6d9ca951
add missing non const data() method to MapBase
2010-11-21 10:17:25 +01:00
Gael Guennebaud
12bfe5e718
make sure our internal selfadjoint*vector product does not use the imaginary part of the diagonal entries
2010-11-21 10:08:48 +01:00
Gael Guennebaud
1ac9124fac
implements TRMV level 2 blas routine
2010-11-20 23:29:20 +01:00
Gael Guennebaud
d72a8f1e50
make trmv uses direct access
2010-11-20 22:42:24 +01:00
Gael Guennebaud
86474115f5
IBM XL C compiler supports __attribute__((aligned(n))) syntax
2010-11-19 17:33:51 +01: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
Gael Guennebaud
f369b5a711
makes rank 2 update function conformant to BLAS HER2
2010-11-19 16:50:15 +01:00
Gael Guennebaud
3f24dbf6f5
fix compilation of transform * scaling
2010-11-19 14:45:45 +01:00
Gael Guennebaud
1618df55df
Add support for sparse symmetric permutations
2010-11-18 10:28:39 +01:00
Gael Guennebaud
da05b6af0e
fix some remainign issue with ei_ -> internal change
2010-11-16 15:54:48 +01:00
Gael Guennebaud
9a3ec637ff
new feature: copy from a sparse selfadjoint view to a full sparse matrix
2010-11-15 14:14:05 +01:00
Gael Guennebaud
5a3a229550
fix return type of rightHouseholderSequence()
2010-11-15 11:11:22 +01:00
Jitse Niesen
cad73d9cdc
Correct std::map fix (two commits ago); copy fix to aligned_allocator doc.
2010-11-12 12:06:24 +00:00
Gael Guennebaud
b4fa8261b1
properly use nested types
2010-11-10 19:06:20 +01:00
Gael Guennebaud
05ed9be639
prevent warning
2010-11-10 18:59:16 +01:00
Gael Guennebaud
2577ef90c0
generalize our internal rank K update routine to support more general A*B product while evaluating only one triangular part and make it available via, e.g.:
...
R.triangularView<Lower>() += s * A * B;
2010-11-10 18:58:55 +01:00
Gael Guennebaud
c810d14d4d
add missing specialization
2010-11-09 12:03:20 +01:00
Gael Guennebaud
572b5585e3
fix Eigen's trsv for complexes
2010-11-05 14:36:34 +01:00
Gael Guennebaud
0e30c4ae3f
blas level2: gemv and trsv are green
2010-11-05 14:14:50 +01:00
Gael Guennebaud
3fdea699b8
trsv: simplifications/cleaning
2010-11-05 12:54:32 +01:00
Gael Guennebaud
0e6c1170ab
trsv: add support for inner-stride!=1, reduce code instanciation, move implementation to a new products/XX.h file
2010-11-05 12:43:14 +01:00
Gael Guennebaud
5a4f77716d
fix bug #107 : SelfAdjointEigenSolver and RowMajor (and add unit test)
2010-11-04 09:33:05 +01:00
Gael Guennebaud
1eea88bff7
fix matrix product bug with OpenMP
2010-11-03 16:12:37 +01:00
Gael Guennebaud
8d27f55eb3
rm auto normalization in favor of clamping
2010-11-03 15:32:40 +01:00
Hauke Heibel
3a3f163e31
Fix bug #65 .
...
In order to prevent compilation errors, the default functor "struct func" must not be defined inside the function scope. I just moved it into a private section of SparseMatrix.
2010-11-02 14:32:41 +01:00
Hauke Heibel
b3007db131
Added a comment on why is_arithmetic is used in DenseCoeffsBase.
2010-11-02 10:11:22 +01:00
Hauke Heibel
96e4a4b59c
Fixed compilation due to lacking Transform definitions.
2010-11-01 16:53:39 +01:00
Gael Guennebaud
d2e257cb5d
oops (rm commented code)
2010-11-01 09:40:33 +01:00
Gael Guennebaud
c7eda0d866
Let's be safe: enable auto normalization is quaternion to angle-axis code since a slight numerical issue may trigger NaN. The overhead is small and I doubt the perf of this function could be critival for any application !
2010-10-31 23:26:01 +01:00
Benoit Jacob
99ccb26cfe
add eigen2support Transform typedefs, add Eigen2To3 section on Transform
2010-10-29 09:00:35 -04:00
Benoit Jacob
868f753d10
document LvalueBit better
2010-10-28 09:40:20 -04:00
Gael Guennebaud
1d4e80f09d
generalize the prune function
2010-10-28 11:39:31 +02:00
Gael Guennebaud
02c8b6af82
fix sparse rankUpdate and triangularView iterator
2010-10-27 15:13:03 +02:00
Gael Guennebaud
241e5ee3e7
add the possibility to solve for sparse rhs with Cholmod
2010-10-27 14:31:23 +02:00
Hauke Heibel
5d4ff3f99c
Fixed bug #95 by changing _M_IX64 to _M_X64 as proposed by Jan Schlicht.
2010-10-27 11:07:38 +02:00
Hauke Heibel
c738cd56eb
Renamed cleantype to remove_all since it is close to remove_{const|pointer|reference}.
2010-10-26 16:47:01 +02: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
Hauke Heibel
ba86d3ef65
Fixed bug #84 .
2010-10-21 10:13:17 +02:00
Benoit Jacob
8c17fab8f5
renaming: ei_matrix_storage -> DenseStorage
...
DenseStorageBase -> PlainObjectBase
2010-10-20 09:34:13 -04:00
Benoit Jacob
e259f71477
rename PlanarRotation -> JacobiRotation
2010-10-19 21:56:26 -04:00
Benoit Jacob
9044c98cff
work around stupid msvc error when constructing at compile time an expression
...
that involves a division by zero, even if the numeric type has floating point
2010-10-19 21:56:11 -04:00
Hauke Heibel
9f8b6ad43e
Fixed bug #79 .
2010-10-19 09:43:54 +02:00
Benoit Jacob
3481f10e7a
re-fix the broken msvc warning in JacobiSVD
2010-10-18 09:46:22 -04:00
Benoit Jacob
3404d5fb14
improvements in pages 5 and 7 of the tutorial.
2010-10-18 09:09:30 -04:00
Benoit Jacob
597bb61c23
fix stupid msvc warning in jacobisvd
2010-10-18 06:54:11 -04:00
Benoit Jacob
8356bc8d06
add jacobiSvd() method, update test & docs
2010-10-17 09:40:52 -04:00
Benoit Jacob
3f79884f03
bump to 2.92.0
2010-10-15 09:46:20 -04:00
Benoit Jacob
6dc478fd77
doc typo
2010-10-14 10:19:46 -04:00
Benoit Jacob
65c01e2bf7
JacobiSVD doc fix
2010-10-14 10:17:40 -04:00
Benoit Jacob
8f0e80fe30
JacobiSVD:
...
* fix preallocating constructors, allocate U and V of the right size for computation options
* complete documentation and internal comments
* improve unit test, test inf/nan values
2010-10-14 10:14:43 -04:00
Gael Guennebaud
47197065da
compilation fix
2010-10-14 10:19:55 +02:00
Gael Guennebaud
3a2bb7f782
fix compilation and warnings with fcc 4.0.1
2010-10-13 10:21:28 +02:00
Benoit Jacob
8eb0fc1e72
remove SVD class (was bad code taked from elsewhere)
...
Use JacobiSVD for now.
We do plan to reintroduce a bidiagonalizing SVD asap.
2010-10-12 10:19:59 -04:00
Benoit Jacob
dbedc70012
Jacobi improvements:
...
* add fixed-size vectorized path
* add missing restrict keywords
* use innerStride()
* allow vectorization even if innerStride()>1, if PacketSize==1
(think of the case of rows of std::complex<double>)
2010-10-12 09:58:53 -04:00
Benoit Jacob
12a152031d
fix the Jacobi bug, expand unit test
2010-10-12 09:43:40 -04:00
Benoit Jacob
b8bb804007
set ColPivHouseholderQR as default preconditioner for JacobiSVD
2010-10-11 21:00:42 -04:00
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