aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Sparse/SparseMatrix.h
Commit message (Collapse)AuthorAge
* - add diagonal * sparse product as an expressionGravatar Gael Guennebaud2009-02-09
| | | | | - split sparse_basic unit test - various fixes in sparse module
* 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 compilation with gcc 3.4Gravatar Gael Guennebaud2009-01-23
| | | | * add an option to disable Qt testing
* sparse module:Gravatar Gael Guennebaud2009-01-21
| | | | | * add row(i), col(i) functions * add prune() function to remove small coefficients
* 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
|
* 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
* 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
* * suppressed some minor warningsGravatar Kenneth Frank Riddile2009-01-06
|
* Added a SparseVector class (not tested yet)Gravatar Gael Guennebaud2009-01-02
|
* 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
* 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)
* 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 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
* sparse module: add preliminary support for direct sparse LU solverGravatar Gael Guennebaud2008-10-19
| | | | | using SuperLU. Calling SuperLU was very painful, but it was worth it, it seems to be damn fast !
* sparse module: much much faster transposition codeGravatar Gael Guennebaud2008-10-18
|
* Sparse module: add experimental support for TAUCS and CHOLMOD with:Gravatar Gael Guennebaud2008-10-05
| | | | | * bidirectionnal mapping * full cholesky factorization
* Sparse module:Gravatar Gael Guennebaud2008-10-04
| | | | | | | | | | * several fixes (transpose, matrix product, etc...) * Added a basic cholesky factorization * Added a low level hybrid dense/sparse vector class to help writing code involving intensive read/write in a fixed vector. It is currently used to implement the matrix product itself as well as in the Cholesky factorization.
* resurrected sparse triangular solverGravatar Gael Guennebaud2008-09-02
|
* Extended sparse unit-test: nested blocks and InnerIterators.Gravatar Daniel Gomez Ferro2008-09-02
| | | | | Block specialization for sparse matrices. InnerIterators for Blocks and fixes in CoreIterators.
* doc and use sed to clean the class hierarchy instead ofGravatar Gael Guennebaud2008-08-28
| | | | preprocessor directives.
* * move memory related stuff to util/Memory.hGravatar Gael Guennebaud2008-08-26
| | | | | * clean ugly doxygen inheritence of expressions * keep improving the documentation... slowly !
* fix a number of compiler errors and warnings with gcc 4.3. There was a missingGravatar Benoit Jacob2008-08-22
| | | | #include<algorithm> so I'm not sure how it compiled at all for you :)
* extend sparse unit test and more bugfix, major todo: finilize the SparseSetterGravatar Gael Guennebaud2008-08-21
|
* *patch by Daniel Gomez:Gravatar Gael Guennebaud2008-08-21
| | | | | | - bugfix in SparseMatrix - add a sparse unit test * renamed Transform::affine => linear
* * added an in-place version of inverseProduct whichGravatar Gael Guennebaud2008-06-29
| | | | | | | might be twice faster fot small fixed size matrix * added a sparse triangular solver (sparse version of inverseProduct) * various other improvements in the Sparse module
* * added innerSize / outerSize functions to MatrixBaseGravatar Gael Guennebaud2008-06-28
| | | | | | | * added complete implementation of sparse matrix product (with a little glue in Eigen/Core) * added an exhaustive bench of sparse products including GMM++ and MTL4 => Eigen outperforms in all transposed/density configurations !
* various work on the Sparse module:Gravatar Gael Guennebaud2008-06-26
| | | | | | | | | | | | | | | | * added some glue to Eigen/Core (SparseBit, ei_eval, Matrix) * add two new sparse matrix types: HashMatrix: based on std::map (for random writes) LinkedVectorMatrix: array of linked vectors (for outer coherent writes, e.g. to transpose a matrix) * add a SparseSetter class to easily set/update any kind of matrices, e.g.: { SparseSetter<MatrixType,RandomAccessPattern> wrapper(mymatrix); for (...) wrapper->coeffRef(rand(),rand()) = rand(); } * automatic shallow copy for RValue * and a lot of mess ! plus: * remove the remaining ArrayBit related stuff * don't use alloca in product for very large memory allocation
* change derived classes methods from "private:_method()"Gravatar Benoit Jacob2008-06-26
| | | | | | | | to "public:method()" i.e. reimplementing the generic method() from MatrixBase. improves compilation speed by 7%, reduces almost by half the call depth of trivial functions, making gcc errors and application backtraces nicer...
* add experimental code for sparse matrix:Gravatar Gael Guennebaud2008-06-23
- uses the common "Compressed Column Storage" scheme - supports every unary and binary operators with xpr template assuming binaryOp(0,0) == 0 and unaryOp(0) = 0 (otherwise a sparse matrix doesnot make sense) - this is the first commit, so of course, there are still several shorcommings !