Gael Guennebaud
00d4a360ba
bug fix in SparseView::incrementToNonZero
2011-11-30 19:31:11 +01:00
Gael Guennebaud
d1b54ecfa3
add more support for uncompressed mode
2011-11-30 19:24:43 +01:00
Gael Guennebaud
cda397b117
cleanning pass on the sparse modules:
...
- remove outdated/deprecated code
- improve a bit the documentation
2011-11-28 16:36:37 +01:00
Gael Guennebaud
2d621d235d
fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
...
(transplanted from dcb36e3d49f25566a1733846cd4d6592bf8be0c4
)
2011-11-28 13:43:10 +01:00
Marc Glisse
8107b3da75
bug #383 - EIGEN_ASM_COMMENT broken in C++11
...
this is due to the new user-defined literals syntax.
2011-11-26 17:55:18 -05:00
Gael Guennebaud
2d4fe54b73
fix CG example
2011-11-24 08:19:13 +01:00
Gael Guennebaud
01b4b6e456
improve accuracy of 3x3 direct eigenvector extraction
2011-11-23 22:43:40 +01:00
Benoit Jacob
ffe6d1f901
Alignment fixes:
...
* Fix AlignedBit computation for Plain Objects
* use it for the conditional alignment of operator new
* only overload new in PlainObjectBase, don't overload again in Matrix and Array
2011-11-22 09:04:31 -05:00
Gael Guennebaud
f278a3eaba
stop fill pivoting LU only if the pivot is exactly 0
2011-11-22 09:18:54 +01:00
Benoit Jacob
bc6d78982f
Bugs 157 and 377 - General tightening/testing of vectorwise ops:
...
* add lots of static assertions making it very explicit when all these ops
are supposed to work:
** all ops require the rhs vector to go in the right direction
** all ops already require that the lhs and rhs are of the same kind
(matrix vs vector) otherwise we'd have to do complex work
** multiplicative ops (introduced Kibeom's patch) are restricted to arrays, if only because for matrices they could be ambiguous.
* add a new test, vectorwiseop.cpp.
* these compound-assign operators used to be implemented with for loops:
for(Index j=0; j<subVectors(); ++j)
subVector(j).array() += other.derived().array();
This didn't seem to be needed; replaced by using expressions like operator+ and operator- did.
2011-11-18 11:10:27 -05:00
Kibeom Kim
de22ad117c
bug #157 - Implemented *= /= * / operations for VectorwiseOp (e.g. mat.colwise())
2011-11-17 17:57:45 -05:00
Jitse Niesen
08c0edae86
Move EIGEN_USING_MATRIX_TYPEDEFS macros to Eigen2Support.
2011-11-16 14:32:50 +00:00
Dennis Schridde
db36e4204f
[Geometry/AlignedBox] New typedefs, like for Core/Matrix
...
Includes 1-4 and dynamic sized boxes for int, float and double type.
Also changes the tests to use these typedefs.
2011-11-09 22:12:28 +01:00
Gael Guennebaud
8fbbbe7521
fix some include paths
2011-11-16 09:27:38 +01:00
Gael Guennebaud
cb2f1944e2
add the new module headers
2011-11-12 15:22:35 +01:00
Gael Guennebaud
53fa851724
move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning
2011-11-12 14:11:27 +01:00
Gael Guennebaud
3e4a68cc60
optimize vectorized reductions by peeling the loop:
...
- x2 for squaredNorm() on double
- peeling the loop with a peeling factor of 4 leads to even better perf
for large vectors (e.g., >64) but it makes more difficult to keep good performance on smaller ones.
2011-11-12 09:19:48 +01:00
Gael Guennebaud
c110abb7d2
fix performance issue with SPMV
2011-11-11 06:04:31 +01:00
Dennis Schridde
3a82aa1133
[Core/Matrix] Fix: Clear the right typedef macro
2011-11-09 12:25:55 +00:00
Gael Guennebaud
fb3aa7220f
reimplement abs2 not to use std::norm which is incredibly slow.
2011-11-08 22:42:51 +01:00
Jitse Niesen
45a6bb34c3
Add simple example on how to compute Cholesky decomposition.
2011-11-07 17:14:06 +00:00
Marton Danoczy
f422668d39
Patches to support ARM NEON with Clang 3.0 and LLVM-GCC
2011-11-04 16:37:10 +01:00
Benoit Jacob
1b98b73472
Refactor force-inlining macros and use EIGEN_ALWAYS_INLINE to force inlining of the integer overflow helpers, whose non-inlining caused major performance problems, see the mailing list thread 'Significant perf regression probably due to bug #363 patches'
2011-11-06 16:27:41 -05:00
Benoit Jacob
ab3f138b23
In the Matrix constructor taking (rows, cols), statically assert that the types are integer.
...
The 2D vector ctor taking (x, y) is not concerned.
2011-11-05 23:56:48 -04:00
Gael Guennebaud
478de03bd8
fix a couple of warnings in the unit tests
2011-11-05 23:30:49 +01:00
Gael Guennebaud
1de769d122
remove deprecated assert
2011-11-04 14:42:54 +01:00
Jitse Niesen
a594ac3966
Allow for more iterations in SelfAdjointEigenSolver (bug #354 ).
...
Add an assert to guard against using eigenvalues that have not converged.
Add call to info() in tutorial example to cover non-convergence.
2011-11-02 14:18:20 +00:00
Jan Oberländer
fa7c08a831
bug #365 - Rename B0 in GeneralBlockPanelKernel.h to avoid name clash
...
with termios.h on POSIX systems.
2011-10-31 10:44:09 -04:00
Benoit Jacob
9df2f5c923
bug #369 - Quaternion alignment is broken
...
The problem was two-fold:
* missing aligned operator new
* Flags were mis-computed, the Aligned constant was misused
2011-10-31 09:23:41 -04:00
Adolfo Rodriguez Tsourouksdissian
4477843bdd
bug #206 - part 4: Removes heap allocations from JacobiSVD and its preconditioners
2011-10-30 23:55:20 -04:00
Adolfo Rodriguez Tsourouksdissian
5e431779f3
bug #206 - part 3: Reimplement FullPivHouseholderQR<T>::matrixQ() using ReturnByValue
2011-03-08 19:04:31 +01:00
Adolfo Rodriguez Tsourouksdissian
7bf0e8cd82
bug #206 - part 2: For HouseholderSequence objects, added non-allocating versions of evalTo() and applyThisOnTheRight/Left that take additional working vector parameters.
2011-10-30 23:55:16 -04:00
Benoit Jacob
bca18a13ea
The most important inline keyword ever? Without it, gcc failed to inline this function, which is called by all matrix constructors...
2011-10-25 20:45:26 -04:00
Gael Guennebaud
1ddf88060b
update sparse*sparse product: the default is now a conservative algorithm preserving symbolic non zeros. The previous with auto pruning of the small value is avaible doing: (A*B).pruned() or (A*B).pruned(ref) or (A*B).pruned(ref,eps)
2011-10-24 11:44:53 +02:00
Gael Guennebaud
39d4585bff
add the possiibility to disable deprectated warnings (useful for deprecated unit tests!)
2011-10-24 09:40:37 +02:00
Gael Guennebaud
70df09b76d
move DynamicSparseMatrix to SparseExtra
2011-10-24 09:31:33 +02:00
Benoit Jacob
de69129f56
forgot inline keyword
2011-10-17 08:49:59 -04:00
Benoit Jacob
16b638c159
Throw std::bad_alloc even when exceptions are disabled, by doing new int[size_t(-1)].
...
Don't throw exceptions on aligned_malloc(0) (just because malloc's retval is null doesn't mean error, if size==0).
Remove EIGEN_NO_EXCEPTIONS option, use only compiler standard defines. Either exceptions are enabled or they aren't.
2011-10-17 08:44:44 -04:00
Benoit Jacob
dcbc985a28
bug #363 - add test for integer overflow in size computations
2011-10-16 16:12:19 -04:00
Benoit Jacob
739559b08a
bug #363 - check for integer overflow in size=rows*cols computations
2011-10-16 16:12:19 -04:00
Benoit Jacob
0c6055c285
bug #363 - check for integer overflow in byte-size computations
2011-10-16 16:12:19 -04:00
Gael Guennebaud
a5761d6dd7
fix sparse tri-solve for full matrices
2011-10-11 20:35:52 +02:00
Gael Guennebaud
b94c00226f
make it compatible with Diagonal<>
2011-10-11 11:28:13 +02:00
Gael Guennebaud
ae9c96a32d
fix assignment to a set of sparse inner vectors
2011-10-10 16:16:37 +02:00
Gael Guennebaud
4e7f38ffc7
fix nesting
2011-10-09 22:19:01 +02:00
Jitse Niesen
ac3ad9c1e7
Convert tabs to spaces.
2011-09-27 15:47:04 +01:00
Jitse Niesen
17c321617d
Fix bug #286 : Infinite loop in JacobiSVD with denormals
2011-09-27 14:25:02 +01:00
Gael Guennebaud
c331c092d5
no comment
2011-09-21 14:20:41 +02:00
Gael Guennebaud
7301f4345c
quick workaround of MSVC9' ICE in pset1
2011-09-21 14:18:41 +02:00
Gael Guennebaud
5d1836b182
accept both STL and Eigen's containers for reserve()
2011-09-20 02:04:03 +02:00