| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
* add a unit test for QVector which shows the issue with QVector::fill
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
ei_aligned_malloc now really behaves like a malloc
(untyped, doesn't call ctor)
ei_aligned_new is the typed variant calling ctor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW now takes the class name as parameter
|
|
|
|
|
|
| |
easier to have a uniform requirement in kdesupport for when he makes
fixes.
* add eigen versioning macros
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
order, one bit for enabling/disabling auto-alignment. If you want to
disable, do:
Matrix<float,4,1,Matrix_DontAlign>
The Matrix_ prefix is the only way I can see to avoid
ambiguity/pollution. The old RowMajor, ColMajor constants are
deprecated, remain for now.
* this prompted several improvements in matrix_storage. ei_aligned_array
renamed to ei_matrix_array and moved there. The %16==0 tests are now
much more centralized in 1 place there.
* unalignedassert test: updated
* update FindEigen2.cmake from KDElibs
* determinant test: use VERIFY_IS_APPROX to fix false positives; add
testing of 1 big matrix
|
|
|
|
| |
* make ei_aligned_malloc and ei_aligned_free honor custom operator new and delete
|
|
|
|
| |
* finally get ei_add_test right
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* add a LDL^T factorization with solver using code from T. Davis's LDL
library (LPGL2.1+)
* various bug fixes in trianfular solver, matrix product, etc.
* improve cmake files for the supported libraries
* split the sparse unit test
* etc.
|
|
|
|
| |
Just a thought: what about ParamLine instead of the verbose ParametrizedLine ?
|
|
|
|
|
| |
- remove some useless stuff => let's focus on a single sparse matrix format
- finalize the new RandomSetter
|
| |
|
|
|
|
|
|
|
|
|
|
| |
solver from suitesparse (as cholmod). It seems to be even faster
than SuperLU and it was much simpler to interface ! Well,
the factorization is faster, but for the solve part, SuperLU is
quite faster. On the other hand the solve part represents only a
fraction of the whole procedure. Moreover, I bench random matrices
that does not represents real cases, and I'm not sure at all
I use both libraries with their best settings !
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rename Cholesky to LLT
* rename CholeskyWithoutSquareRoot to LDLT
* rename MatrixBase::cholesky() to llt()
* rename MatrixBase::choleskyNoSqrt() to ldlt()
* make {LLT,LDLT}::solve() API consistent with other modules
Note that we are going to keep a source compatibility untill the next beta release.
E.g., the "old" Cholesky* classes, etc are still available for some time.
To be clear, Eigen beta2 should be (hopefully) source compatible with beta1,
and so beta2 will contain all the deprecated API of beta1. Those features marked
as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !).
Also includes various updated in sparse Cholesky.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
all per plot settings have been moved to a single file, go_mean now takes an
optional second argument "tiny" to generate plots for tiny matrices, and
output of comparison information wrt to previous benchs (if any).
|
|
|
|
| |
- added GOTO library
|
|
|
|
| |
* various improvements in BTL including trisolver and cholesky bench
|
|
|
|
|
|
|
| |
products.
* Minor update of the cores of the Cholesky algorithms to make them more friendly
wrt to matrix-vector products => speedup x5 !
|
|
|
|
|
|
|
|
|
|
|
| |
- remove all invertibility checking, will be redundant with LU
- general case: adapt to matrix storage order for better perf
- size 4 case: handle corner cases without falling back to gen case.
- rationalize with selectors instead of compile time if
- add C-style computeInverse()
* update inverse test.
* in snippets, default cout precision to 3 decimal places
* add some cmake module from kdelibs to support btl with cmake 2.4
|
|
|
|
|
|
|
|
| |
- removed the ugly X11 and PNG gnuplots terminals
- use enhanced postscript terminal
- use imagemagick to generate the png files (with compression)
- disable the fortran impl by default since it is as meaningless as a "C impl"
- update line settings
|
|
|
|
|
|
|
|
| |
colmajor).
It basically performs 4 dot products at once reducing loads of the vector and improving
instructions scheduling. With 3 cache friendly algorithms, we now handle all product
configurations with outstanding perf for large matrices.
|
| |
|
| |
|
| |
|
|
|
|
| |
* some simplifications and fixes in cache friendly products
|
| |
|
| |
|
| |
|
|
|
|
|
| |
of some functions as well as the experimental C code used to design
efficient eigen's matrix vector products.
|
|
|
|
| |
in the benchmark suite
|
|
|
|
|
|
| |
BTL_CONFIG="-a ata" ctest -V -R eigen
run the all benchmarks having "ata" in their name for all
libraries matching the regexp "eigen"
|
|
|
|
|
| |
about a +25% speedup which is still nice as i expected zero or even
negative benefit.
|
|
|
|
| |
zero benefit... turns out to be 20x speedup. Something is wrong.
|
|
|
|
|
|
|
|
|
|
|
|
| |
the modifications to initial code follow:
* changed build system from plain makefiles to cmake
* added eigen2 (4 versions: vec/novec and fixed/dynamic), GMM++, MTL4 interfaces
* added "transposed matrix * vector" product action
* updated blitz interface to use condensed products instead of hand coded loops
* removed some deprecated interfaces
* changed default storage order to column major for all libraries
* new generic bench timer strategy which is supposed to be more accurate
* various code clean-up
|
| |
|
|
|
|
|
| |
- fix compilation in product.cpp with std::complex
- fix bug in MatrixBase::operator!=
|
|
|
|
| |
can be seen in Eigen/src/Core/Cwise.h.
|