Gael Guennebaud
c5245a3388
update vectorization_logic unit test wrt previous sum/redux change
2009-02-13 08:45:19 +00:00
Gael Guennebaud
20a8bb96eb
fix m = m*m with m sparse (gug found by Frederik Heinz)
2009-02-12 15:57:13 +00:00
Gael Guennebaud
51c991af45
* exit Sum.h, exit Prod.h, welcome vectorization of redux() !
...
* add vectorization for minCoeff and maxCoeff
2009-02-12 15:18:59 +00:00
Gael Guennebaud
cbbc6d940b
* add ei_predux_mul internal function
...
* apply Ricard Marxer's prod() patch with fixes for the vectorized path
2009-02-10 18:06:05 +00:00
Gael Guennebaud
a9688f0b71
- add diagonal * sparse product as an expression
...
- split sparse_basic unit test
- various fixes in sparse module
2009-02-09 09:59:30 +00:00
Gael Guennebaud
3009d79a1f
* allow Matrix to be resized to 0 (solve a lot of troubles with
...
some containers)
* new workaround for std::vector which is supposed to work for any
classes having EIGEN_MAKE_ALIGNED_OPERATOR_NEW as discussed on ML
2009-02-07 11:16:15 +00:00
Gael Guennebaud
24808dc090
force the use of debug version of QtCore unless it is not available
2009-02-06 21:50:18 +00:00
Gael Guennebaud
1c24f5bbc5
eventually MSVC does not like my /O2 flags (incompatibility with other option set by default)
2009-02-06 15:29:40 +00:00
Gael Guennebaud
f5d96df800
Add vectorization of Reverse (was more tricky than I thought) and
...
simplify the index based functions
2009-02-06 12:40:38 +00:00
Gael Guennebaud
4dc4ab3abb
Reverse::coeff*(int) functions are for vector only
2009-02-06 09:13:04 +00:00
Gael Guennebaud
6fbca94803
apply Ricard patch for Reverse with minor modifications
2009-02-06 09:01:50 +00:00
Gael Guennebaud
dc97079905
add optimization flag for MSVC and heavy tests
...
remove unsupported namespace
2009-02-05 22:13:50 +00:00
Gael Guennebaud
910b387438
Add sub/super-diagonal expression (read/write) as a trivial extension of
...
DiagonalCoeffs. The current API is simply:
m.diagonal<1>() => 1st super diagonal
m.diagonal<-2>() => the 2nd sub diagonal
I'll add a code snippet once we agree on this API.
2009-02-05 18:37:21 +00:00
Gael Guennebaud
7c374394ee
remove explicit fortran dependency in FindCholmod
2009-02-05 10:34:41 +00:00
Gael Guennebaud
da45184635
add custom FindBLAS FindLAPACK working for c++ compiler
...
fix issues in Cholmod/Taucs supports
2009-02-05 09:36:52 +00:00
Benoit Jacob
5d69c5102b
oops, #ifdef instead of #if ---> bug
2009-02-04 16:57:28 +00:00
Benoit Jacob
f81479d392
forgot to update this unit test...
2009-02-04 16:55:38 +00:00
Benoit Jacob
93a089adc8
disable alignment altogether outside of the platforms which potentially have SSE or AltiVec
...
This should remove most portability issues to other platforms where data alignment issues (including
overloading operator new and new[]) can be tricky, and where data alignment is not needed in the first place.
2009-02-04 16:53:03 +00:00
Gael Guennebaud
95db32fcdc
setup the unsupported directory structure.
...
The unsupported module documentation is automatically generated in:
build/doc/unsupported/
with bidirectional cross references.
I leave a class Foo in AdolcForward module to illustrate the
cross-reference behavior. I will remove it in the next commit.
2009-02-04 15:37:00 +00:00
Keir Mierle
b9a82be727
Add full pivoting to LDLT decomposition.
2009-02-03 17:50:35 +00:00
Keir Mierle
b4777379d4
Add Matrix::resizeLike(other) convenience function and test.
2009-02-03 01:43:59 +00:00
Gael Guennebaud
36c8a64923
add MatrixBase::stableNorm() avoiding over/under-flow
...
using it in QR reduced the error of Keir test from 1e-12 to 1e-24 but
that's much more expensive !
2009-01-28 22:11:56 +00:00
Gael Guennebaud
1b194193ef
Big change in DiagonalMatrix and Geometry/Scaling:
...
* previous DiagonalMatrix expression is now DiagonalMatrixWrapper
* DiagonalMatrix class is now for storage
* add the DiagonalMatrixBase class to factorize code of the
two previous classes
* remove Scaling class (it is now a global function)
* add UniformScaling helper class
(don't use it directly, use the Scaling function)
* add the Scaling global function to simplify the creation
of scaling objects
There is still a lot to do, in particular about DiagonalProduct for which
the goal is to get rid of the "if()" in the coeff() function. At least
it is not worse than before ! Also need to uptade the tutorial and add more doc.
2009-01-28 16:26:06 +00:00
Gael Guennebaud
0f15a8d829
QR: add isInjective(), isSurjective(),
...
mark isFullRank() deprecated,
add solve() (mix of Keir's patch and LU::solve())
=> there is big problem with complex which are not working
2009-01-28 09:45:53 +00:00
Gael Guennebaud
8ce4503494
add support for read/write sub sets of inner vectors (sparse module)
2009-01-27 22:48:17 +00:00
Benoit Jacob
d384671793
now these tests succeed with 10,000 repeats
2009-01-27 20:47:12 +00:00
Gael Guennebaud
4ac8cabf8a
fix my previous commit with EIGEN_EMPTY macro bug
2009-01-27 19:08:20 +00:00
Gael Guennebaud
4b09865b8f
check GSL version in cmake files
2009-01-27 16:04:16 +00:00
Gael Guennebaud
d7f60257dd
small fix related to GSL cmake stuff
2009-01-26 20:00:41 +00:00
Benoit Jacob
874ff5a0b4
fix msvc warnings (useful ones again) reported by gael on CDash
2009-01-26 17:56:04 +00:00
Gael Guennebaud
65e4ae4ff4
disable unordered_map for ICC
2009-01-26 12:47:58 +00:00
Gael Guennebaud
56c7e164f0
add partial count redux (adapted patch from Ricard Marxer)
2009-01-24 15:22:44 +00:00
Gael Guennebaud
81b0ab53cf
add fill() function as an alias for setConstant
2009-01-24 10:52:18 +00:00
Gael Guennebaud
9849931500
eventually it turns out that our current
...
EIGEN_WORK_AROUND_QT_BUG_CALLING_WRONG_OPERATOR_NEW_FIXED_IN_QT_4_5
is the right way to go for allowing placement new on a class having
overloaded operator new. Qt 4.5 won't add the :: prefix. (I still do not
understand how you can distinghish a placement new from an overloaded
operator new taking an allocator as argument...)
2009-01-23 16:31:03 +00:00
Gael Guennebaud
e7c48fac9b
sparse module: makes -= and += operator working
...
Question 1: why are *=scalar and /=scalar working right away ?
Same weirdness in DynamicSparseMatrix where operators += and -= work wihout
having to redefine them ???
2009-01-23 13:59:32 +00:00
Gael Guennebaud
899e2ada15
very minor update in test/CMakeLists.txt
2009-01-23 13:17:57 +00:00
Gael Guennebaud
6a722602e6
fix a few remaining warnings
...
and fix commainitializer unit test with MSVC
2009-01-23 12:26:32 +00:00
Gael Guennebaud
d3dcb04f2d
* fix compilation with gcc 3.4
...
* add an option to disable Qt testing
2009-01-23 09:50:16 +00:00
Benoit Jacob
291ee89684
add computeRotationScaling and computeScalingRotation in SVD
...
add convenience functions in Transform
reimplement Transform::rotation() to use that
add unit-test
2009-01-22 16:39:08 +00:00
Benoit Jacob
876b1fb842
add polar decomposition on both sides, in SVD, with test
2009-01-22 15:00:47 +00:00
Benoit Jacob
9e3c73110a
fix a bunch of warnings (actual issues) reported by Frank
2009-01-22 00:09:34 +00:00
Benoit Jacob
7ccea9222c
fix warnings
2009-01-21 20:06:16 +00:00
Gael Guennebaud
52cf07d266
sparse module:
...
* add row(i), col(i) functions
* add prune() function to remove small coefficients
2009-01-21 18:46:04 +00:00
Benoit Jacob
5f43a42ee7
* remove set(), revert to old behavior where = resizes
...
* try to be clever in matrix ctors and operator=: be lazy when we can, always allow
to copy rowvector into columnvector, check the template parameters,
try to factor the code better
* add missing copy ctor in UnalignedType
* fix bug in the traits of DiagonalProduct
* renaming: EIGEN_TUNE_FOR_CPU_CACHE_SIZE
* update the dox a little
2009-01-21 17:10:23 +00:00
Marijn Kruisselbrink
a5fbf27843
don't claim googlehash is there when only qt4 has been found :)
2009-01-20 22:15:51 +00:00
Benoit Jacob
294682a25a
lu test:don't fail
2009-01-20 19:06:39 +00:00
Gael Guennebaud
f645d1f911
* complete the support of QVector via a QtAlignedMalloc header
...
* add a unit test for QVector which shows the issue with QVector::fill
2009-01-20 16:50:47 +00:00
Gael Guennebaud
3134d5290b
forgot to include the update of the qr test
2009-01-20 10:38:56 +00:00
Gael Guennebaud
36c478cd6e
optimize A * v product for A sparse and row major
2009-01-19 22:29:28 +00:00
Gael Guennebaud
178858f1bd
add a flexible sparse matrix class designed for fast matrix assembly
2009-01-19 15:20:45 +00:00