aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Sparse
Commit message (Collapse)AuthorAge
* compilation fix for SuperLU 3.1Gravatar Gael Guennebaud2009-02-12
|
* fix m = m*m with m sparse (gug found by Frederik Heinz)Gravatar Gael Guennebaud2009-02-12
|
* some ICC fixesGravatar Gael Guennebaud2009-02-12
|
* various minor fixes in Sparse moduleGravatar Gael Guennebaud2009-02-10
|
* - add diagonal * sparse product as an expressionGravatar Gael Guennebaud2009-02-09
| | | | | - split sparse_basic unit test - various fixes in sparse module
* add custom FindBLAS FindLAPACK working for c++ compilerGravatar Gael Guennebaud2009-02-05
| | | | fix issues in Cholmod/Taucs supports
* fix various Taucs and Cholmod issues (they have not been tested for a while)Gravatar Gael Guennebaud2009-02-04
|
* fix overflow in sparse productGravatar Gael Guennebaud2009-01-28
|
* add support for read/write sub sets of inner vectors (sparse module)Gravatar Gael Guennebaud2009-01-27
|
* fix MatrixNase::fillrand bugGravatar Gael Guennebaud2009-01-26
|
* sparse module: makes -= and += operator workingGravatar Gael Guennebaud2009-01-23
| | | | | | Question 1: why are *=scalar and /=scalar working right away ? Same weirdness in DynamicSparseMatrix where operators += and -= work wihout having to redefine them ???
* fix a few remaining warningsGravatar Gael Guennebaud2009-01-23
| | | | and fix commainitializer unit test with MSVC
* * fix compilation with gcc 3.4Gravatar Gael Guennebaud2009-01-23
| | | | * add an option to disable Qt testing
* I hope this one fix the issue with MSVC and sparse moduleGravatar Gael Guennebaud2009-01-22
|
* perhaps fix a compilation issue in the sparse module with MSVCGravatar Gael Guennebaud2009-01-21
|
* sparse module:Gravatar Gael Guennebaud2009-01-21
| | | | | * add row(i), col(i) functions * add prune() function to remove small coefficients
* optimize A * v product for A sparse and row majorGravatar Gael Guennebaud2009-01-19
|
* add a flexible sparse matrix class designed for fast matrix assemblyGravatar Gael Guennebaud2009-01-19
|
* add a smart realloc algorithm when filling a sparse matrixGravatar Gael Guennebaud2009-01-18
|
* bugfix in Map by Keir MierleGravatar Gael Guennebaud2009-01-18
|
* Sparse module: add support for sparse selfadjoint * denseGravatar Gael Guennebaud2009-01-15
|
* Sparse module: add row/col methods to the iteratorsGravatar Gael Guennebaud2009-01-15
|
* Sparse module: bugfix in SparseMatrix::resize(), now the indices areGravatar Gael Guennebaud2009-01-15
| | | | correctly initialized to 0.
* Sparse module:Gravatar Gael Guennebaud2009-01-15
| | | | | | * add a MappedSparseMatrix class (like Eigen::Map but for sparse matrices) * rename SparseArray to CompressedStorage
* two compilation fixesGravatar Gael Guennebaud2009-01-15
|
* Sparse module:Gravatar Gael Guennebaud2009-01-14
| | | | | * improved performance of mat*=scalar * bug fix in cwise*
* Add support for sparse * dense and dense * sparse matrix/vector productsGravatar Gael Guennebaud2009-01-14
|
* Big rewrite in the Sparse module: SparseMatrixBase no longer inherits ↵Gravatar Gael Guennebaud2009-01-14
| | | | | | | | | | | | | | MatrixBase. That means a lot of features which were available for sparse matrices via the dense (and super slow) implemention are no longer available. All features which make sense for sparse matrices (aka can be implemented efficiently) will be implemented soon, but don't expect to see an API as rich as for the dense path. Other changes: * no block(), row(), col() anymore. * instead use .innerVector() to get a col or row vector of a matrix. * .segment(), start(), end() will be back soon, not sure for block() * faster cwise product
* the big memory changes. the most important changes are:Gravatar Benoit Jacob2009-01-08
| | | | | | | 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
* Sparse module:Gravatar Gael Guennebaud2009-01-07
| | | | | | | | * extend unit tests * add support for generic sum reduction and dot product * optimize the cwise()* : this is a special case of CwiseBinaryOp where we only have to process the coeffs which are not null for *both* matrices. Perhaps there exist some other binary operations like that ?
* * suppressed some minor warningsGravatar Kenneth Frank Riddile2009-01-06
|
* * In LU solvers: no need anymore to use row-major matricesGravatar Benoit Jacob2009-01-03
| | | | | | | | * Matrix: always inherit WithAlignedOperatorNew, regardless of vectorization or not * rename ei_alloc_stack to ei_aligned_stack_alloc * mixingtypes test: disable vectorization as SSE intrinsics don't allow mixing types and we just get compile errors there.
* Added a SparseVector class (not tested yet)Gravatar Gael Guennebaud2009-01-02
|
* Sparse module, add an assertion and make the use of CHOLMOD's solve method ↵Gravatar Gael Guennebaud2008-12-27
| | | | the default.
* Sparse module:Gravatar Gael Guennebaud2008-12-27
| | | | | | * enable complex support for the CHOLMOD LLT backend using CHOLMOD's triangular solver * quick fix for complex support in SparseLLT::solve
* * the Upper->UpperTriangular changeGravatar Benoit Jacob2008-12-20
| | | | * finally get ei_add_test right
* * forgot to svn add 2 filesGravatar Benoit Jacob2008-12-18
| | | | * idea of Keir Mierle: make the static assert error msgs UPPERCASE
* more MSVC cmake fixesGravatar Gael Guennebaud2008-12-17
|
* fix bad typos, thanks to Kenneth RiddileGravatar Benoit Jacob2008-12-17
|
* * replace postfix ++ by prefix ++ wherever that makes sense in Eigen/Gravatar Benoit Jacob2008-12-17
| | | | | * fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated" warning which I haven't looked much into
* Sparse module: add a more flexible SparseMatrix::fillrand() functionGravatar Gael Guennebaud2008-12-11
| | | | | which allows to fill a matrix with random inner coordinates (makes sense only when a very few coeffs are inserted per col/row)
* * Much better, consistent error msgs when mixing different scalar types:Gravatar Benoit Jacob2008-12-03
| | | | | | | | | | | | | - in matrix-matrix product, static assert on the two scalar types to be the same. - Similarly in CwiseBinaryOp. POTENTIALLY CONTROVERSIAL: we don't allow anymore binary ops to take two different scalar types. The functors that we defined take two args of the same type anyway; also we still allow the return type to be different. Again the reason is that different scalar types are incompatible with vectorization. Better have the user realize explicitly what mixing different numeric types costs him in terms of performance. See comment in CwiseBinaryOp constructor. - This allowed to fix a little mistake in test/regression.cpp, mixing float and double - Remove redundant semicolon (;) after static asserts
* Several improvements in sparse module:Gravatar Gael Guennebaud2008-11-05
| | | | | | | | | * 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.
* sparse module:Gravatar Gael Guennebaud2008-10-21
| | | | | - remove some useless stuff => let's focus on a single sparse matrix format - finalize the new RandomSetter
* add the bench file for the RandomSetterGravatar Gael Guennebaud2008-10-21
|
* sparse module: add a RandomSetter based on a user defined map implementationGravatar Gael Guennebaud2008-10-20
| | | | | | | | | | | | | | | as described on the wiki (one map per N column) Here's some bench results for the 4 currently supported map impl: std::map => 18.3385 (581 MB) gnu::hash_map => 6.52574 (555 MB) google::dense => 2.87982 (315 MB) google::sparse => 15.7441 (165 MB) This is the time is second (and memory consumption) to insert/lookup 10 million of coeffs with random coords inside a 10000^2 matrix, with one map per packet of 64 columns => google::dense really rocks ! Note I use for the key value the index of the column in the packet (between 0 and 63) times the number of rows and I used the default hash function.... so maybe there is room for improvement here....
* * sparse LU: add extraction of L,U,P, and Q, as well as determinantGravatar Gael Guennebaud2008-10-20
| | | | | for both backends. * extended a bit the sparse unit tests
* add unit tests for sparse LU and fix a couple of warningsGravatar Gael Guennebaud2008-10-20
|
* * add cmake files to find (optional) supported librariesGravatar Gael Guennebaud2008-10-20
| | | | * add unit tests for sparse cholesky
* UmfPack support: add support for complex<double>Gravatar Gael Guennebaud2008-10-20
|