Gael Guennebaud
15ef62ca43
extend PermutationMatrix and Transpositions to support arbitrary interger types and to support the Map/Wrapper model via base and derived classes
2011-01-26 16:33:23 +01:00
Benoit Jacob
bd12ac4ffc
import eigen2 Geometry module into Eigen2Support.
...
fix build of geometry tests
2011-01-24 11:21:58 -05:00
Benoit Jacob
dc3618a557
move BandMatrix and TridiagonalMatrix to the internal:: namespace
2010-12-25 17:17:10 -05:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05:00
Benoit Jacob
74cc42b22f
bug #54 - The big Map const-correctness changes
2010-12-10 02:09:58 -05:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Benoit Jacob
e259f71477
rename PlanarRotation -> JacobiRotation
2010-10-19 21:56:26 -04: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
b8bb804007
set ColPivHouseholderQR as default preconditioner for JacobiSVD
2010-10-11 21:00:42 -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
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
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
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
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
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
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
7020f30da3
sync with default branch
2010-07-22 16:29:35 +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
c2ee454df4
* fix compilation of mixed scalar product
...
* optimize mixed scalar products
2010-07-19 16:49:09 +02:00
Gael Guennebaud
e38fc9692d
add a conj_product functor and optimize dot products
2010-07-07 10:00:08 +02:00
Gael Guennebaud
d6454788d9
add support for vectorized conjugated products
2010-07-06 19:10:24 +02:00
Gael Guennebaud
95f2e7f3f5
introduce a new LvalueBit flag and split DenseCoeffBase into three level of accessors
2010-07-21 10:57:01 +02:00
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Daniel Lowengrub
dcd39a96e1
added the SparseView class.
2010-06-14 02:16:46 +03:00
Gael Guennebaud
50e43bc75a
* add Transpositions to PermutationMatrix conversion
...
* make PartialPivLu uses the Transpositions class
2010-06-08 22:23:11 +02:00
Gael Guennebaud
e64460d5d0
LDLT: make it honors the Lower/Upper directive and make it works inplace
2010-06-03 22:22:14 +02:00
Hauke Heibel
6c18246a80
DenseBase is implemented as a class, not a struct.
2010-05-19 16:44:28 +02:00
Benoit Jacob
bfdc1c4973
introduce DenseCoeffsBase: this is where the coeff / coeffRef / etc... methods go.
...
Rationale: coeffRef() methods should only exist when we have DirectAccess. So a natural thing to do would have been to use enable_if, but since there are many methods it made more sense to do the "enable_if" for the whole group by introducing a new class. And that also that the benefit of not changing method prototypes.
2010-05-08 13:45:31 -04:00
Hauke Heibel
bf71b466e9
Removed ambiguity between Map and Matrix Options template parameter.
2010-04-26 16:59:04 +02:00
Hauke Heibel
18c70b12d7
Fixed a warning.
2010-04-26 13:31:16 +02:00
Benoit Jacob
a16ba80bfa
* remove ei_block_direct_access_status
...
* remove HasDirectAccess / NoDirectAccess constants
2010-04-23 11:36:22 -04:00
Benoit Jacob
a4f9ca44ab
add minor to Eigen2Support
2010-04-22 20:49:01 -04:00
Benoit Jacob
2362eadcdd
remove Minor
...
adapt 3x3 and 4x4 (non-SSE) inverse paths
2010-04-22 20:40:31 -04:00
Hauke Heibel
27a4a748cb
MSVC runs into problems when a forward declaration is using a different template type name than the actual declaration.
...
This fixes the recent issues we observed on MSVC systems.
2010-04-22 13:56:06 +02:00
Benoit Jacob
ff6a46105d
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
...
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
2010-04-16 10:13:32 -04:00
Benoit Jacob
547269da35
fix the flags and matrix options, to always have the right RowMajor bit in the vector case
2010-03-19 02:12:23 -04:00
Benoit Jacob
9dba86df0b
merge
2010-03-18 20:11:38 -04:00
Jitse Niesen
04a4e22c58
API change: ei_matrix_exponential(A) --> A.exp(), etc
...
As discussed on mailing list; see
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html
2010-03-16 17:26:55 +00:00
Benoit Jacob
3e08c22028
attempt to fix #101
2010-03-11 12:41:46 -05:00
Benoit Jacob
74a7c5caee
implement the idea that row-vectors have the RowMajorBit and col-vectors don't.
2010-03-09 00:16:07 -05:00
Hauke Heibel
3cc9e3f5bb
Fixes a compilation issue for MSVC.
2010-03-01 19:56:24 +01:00
Benoit Jacob
b1f666d007
Fix Map-with-Stride and cover it by new unit tests.
2010-02-26 20:12:51 -05:00
Benoit Jacob
b1c6c215a4
merge
2010-02-25 21:07:30 -05:00
Hauke Heibel
f0c8dcf1e2
Renamed AnyMatrixBase to EigenBase.
2010-02-20 15:26:02 +01:00
Benoit Jacob
b73e22905d
miserable half-working state, commiting to a fork just in case, just to perfect
...
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
2010-02-18 20:42:38 -05:00
Gael Guennebaud
5686eca7b1
* fix multiple temporary copies for coeff based products
...
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
2010-02-09 11:05:39 +01:00
Gael Guennebaud
6f3f857897
make noalias works for coefficient based products
2010-02-05 23:44:24 +01:00
Benoit Jacob
f1d1756cdd
Introduce third template parameter to HouseholderSequence: int Side.
...
When it's OnTheRight, we read householder vectors as rows above the diagonal.
With unit test. The use case will be bidiagonalization.
2010-01-14 19:16:49 -05:00
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