Benoit Jacob
814e40c72a
let redux use the new ByOuterInner accessors
2010-02-26 21:46:43 -05:00
Benoit Jacob
4927841cba
Document Map and Stride, add examples.
2010-02-26 21:29:04 -05:00
Benoit Jacob
b1f666d007
Fix Map-with-Stride and cover it by new unit tests.
2010-02-26 20:12:51 -05:00
Gael Guennebaud
6924bf2e99
implement Aron's idea of interleaving the packing with the first computations
2010-02-26 15:58:22 +01:00
nerbonne
c72a5074e6
Fixed perf problems for vector subtraction: inlining wasn't always happening when necessary.
2010-02-26 15:46:43 +01:00
Benoit Jacob
32115bff1e
* add VERIFY_IS_EQUAL, should compile faster and it's natural when no arithmetic is involved.
...
* rename 'submatrices' test to 'block'
* add block-inside-of-block tests
* remove old cruft
* split diagonal() tests into separate file
2010-02-26 09:03:13 -05:00
Gael Guennebaud
ac425090f3
BTL: allow to bench real time
2010-02-26 14:57:49 +01:00
Gael Guennebaud
8d4a0e6753
fix compilation without openmp
2010-02-26 14:57:22 +01:00
Gael Guennebaud
c05047d28e
fix some BTL issues
2010-02-26 12:51:20 +01:00
Gael Guennebaud
3ac2b96a2f
implement a smarter parallelization strategy for gemm avoiding multiple
...
paking of the same data
2010-02-26 12:32:00 +01:00
Jitse Niesen
d86f5339b2
ComplexSchur: fix bug introduced in my previous commit.
...
The value of c is actually used a few lines later.
2010-02-26 09:47:17 +00:00
Benoit Jacob
f56ac04c34
DenseBase::IsRowMajor now takes the special case of vectors into account.
2010-02-25 21:24:42 -05:00
Benoit Jacob
b1c6c215a4
merge
2010-02-25 21:07:30 -05:00
Benoit Jacob
769641bc58
* Implement the ByOuterInner accessors
...
* use them (big simplification in Assign.h)
* axe (Inner|Outer)StrideAtCompileTime that were just introduced
* ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h
* add rowStride() / colStride() in DenseBase
* implement innerStride() / outerStride() everywhere needed
2010-02-25 21:01:52 -05:00
Jitse Niesen
90e4a605ef
ComplexSchur: compute shift more stably, introduce exceptional shifts.
...
Both the new computation of the eigenvalues of a 2x2 block and the
exceptional shifts are taken from EISPACK routine COMQR.
2010-02-25 22:33:38 +00:00
Gael Guennebaud
53bae6b3f8
update matrix product selection rules for 1xSmallxLarge and the transposed case
2010-02-25 21:59:25 +01:00
Gael Guennebaud
959a1b5d63
detect and implement inplace permutations
2010-02-25 16:30:58 +01:00
Gael Guennebaud
d9ca0c0d36
optimize inverse permutations
2010-02-25 15:31:15 +01:00
Benoit Jacob
77c922bf05
* move the 's': InstructionsSet ---> InstructionSets
...
* proper capitalization: SSE, AltiVec
2010-02-25 06:43:45 -05:00
Thomas Capricelli
50a5ac3c4b
oops, fix typo
2010-02-25 05:31:22 +01:00
Thomas Capricelli
00bc535b66
provide a static method to describe which SIMD instructions are used
2010-02-24 21:52:08 +01:00
Thomas Capricelli
0f3d69b65e
Provide "eigen" defines to decide which instruction set is used
...
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
2010-02-24 21:43:30 +01:00
Gael Guennebaud
7c98c04412
add reconstructedMatrix() to LLT, and LUs
...
=> they show that some improvements have still to be done
for permutations, tr*tr, trapezoidal matrices
2010-02-24 19:16:10 +01:00
Gael Guennebaud
a7e4c0f825
make testsuite aware of EIGEN_CTEST_ARGS
2010-02-24 11:28:38 +01:00
Gael Guennebaud
f7aa9873ca
* fix LDLT's default ctor use
...
* add a reconstructedMatrix() function to LDLT for debug purpose
2010-02-24 10:40:16 +01:00
Benoit Jacob
60325b8330
actually, this is not even meant to be a termination criterion. so the proper fix is this.
2010-02-23 16:10:26 -05:00
Benoit Jacob
3d066f4bc7
LDLT:
...
* fix bug thanks to Ben Goodrich: we were terminating at the wrong place, leaving some matrix coefficients with wrong values.
* don't use Higham's formula here: we're not trying to be rank-revealing.
2010-02-23 16:05:37 -05:00
Benoit Jacob
d92df336ad
Further LU test improvements. I'm not aware of any test failures anymore, not even with huge numbers of repetitions.
...
Finally the createRandomMatrixOfRank() function is renamed to createRandomPIMatrixOfRank, where PI stands for 'partial isometry', that is, a matrix whose singular values are 0 or 1.
2010-02-23 15:40:24 -05:00
Gael Guennebaud
a1e1103328
add a 2D parallelizer
2010-02-23 21:40:15 +01:00
Gael Guennebaud
022e2f5ef4
fix typo
2010-02-23 18:24:15 +01:00
Gael Guennebaud
68eaefa5d4
update BTL (better timer, eigen2 => eigen3, etc)
2010-02-23 18:23:12 +01:00
Benoit Jacob
7dc75380c1
* FullPivLU: replace "remaining==0" termination condition (from Golub) by a fuzzy compare
...
(fixes lu test failures when testing solve())
* LU test: set appropriate threshold and limit the number of times that a specially tricky test
is run. (fixes lu test failures when testing rank()).
* Tests: rename createRandomMatrixOfRank to createRandomProjectionOfRank
2010-02-23 09:04:59 -05:00
Gael Guennebaud
4a0d41c5fb
merge
2010-02-23 14:34:55 +01:00
Hauke Heibel
1fd8d7b96a
Attempt to fix PGI compilation issue.
2010-02-23 11:35:51 +01:00
Mark Borgerding
b528b747c1
merge
2010-02-22 21:44:30 -05:00
Mark Borgerding
5d530e0373
enable caller to supply FFT length for Eigen Matrix interface functions to effect zero pad or source shrink at Nyquist bin
2010-02-22 21:43:30 -05:00
Gael Guennebaud
3beedba244
merge
2010-02-22 21:32:29 +01:00
Thomas Capricelli
d3b314569b
provide default values for CXX, remove duplicate define
2010-02-22 15:39:17 +01:00
Jitse Niesen
e6f0cd7121
Merge.
2010-02-22 16:17:43 +00:00
Gael Guennebaud
d2b0eadf52
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
...
(transplanted from 2ed88ebbf1995be90b8d0c25ff10248c8f56d023)
2010-02-22 16:35:05 +01:00
Gael Guennebaud
51a4b929a1
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
...
(transplanted from 9a5643551fe068497f84a81cd8986febf1918382)
2010-02-22 15:18:29 +01:00
Hauke Heibel
3e6ab8f93b
ups
2010-02-22 11:34:25 +01:00
Hauke Heibel
d5af5ab92b
Added getRealTime() for windows.
2010-02-22 11:23:27 +01:00
Gael Guennebaud
f797ba0abe
extend the bench timer to allow benchmarking of parallel code,
...
improvements are welcome
2010-02-22 11:04:35 +01:00
Gael Guennebaud
801440c519
fix BTL's eigen interface
...
(transplanted from 437f40acc1cbd9ce2f2a2a3f413cae3a5b35f8fb
)
2010-02-22 09:32:16 +01:00
Gael Guennebaud
eb905500b6
significant speedup in the matrix-matrix products
2010-02-23 13:06:49 +01:00
Gael Guennebaud
d579d4cc37
oops
2010-02-22 17:57:15 +01:00
Gael Guennebaud
fc4a85ecd5
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
2010-02-22 16:35:05 +01:00
Gael Guennebaud
dd569c7d0f
merge
2010-02-22 15:19:19 +01:00
Gael Guennebaud
e00f1fd125
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
2010-02-22 15:18:29 +01:00