Gael Guennebaud
e75b1eb883
Fix aliasing issue in sparse matrix assignment.
...
(m=-m; or m=m.transpose(); with m sparse work again)
2012-07-25 09:33:50 +02:00
Benjamin Piwowarski
6bf49ceac2
bug #449 : add SparseMatrix::conservativeResize feature
2012-07-19 00:07:06 +02:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
18e3ac0f0d
fix some compilation errors with ICC and -strict-ansi
2012-01-31 09:14:01 +01:00
Gael Guennebaud
87138075da
add the possibility to assemble a SparseMatrix object from a random list of triplets that may contain duplicated elements. It works in linear time, with O(1) re-allocations.
2012-01-28 11:13:59 +01:00
Gael Guennebaud
67ae94f3a2
fix compilation of sparse_basic unit test for complexes
2011-12-23 09:41:14 +01:00
Gael Guennebaud
50d756b9ea
fix bug #394 : innerVector::nonZeros() was broken for uncompressed mode
2011-12-20 18:10:02 +01:00
Gael Guennebaud
82f9aa194d
fix bug #294 : add a diagonal() method to SparseMatrix (const)
2011-12-04 21:49:21 +01:00
Gael Guennebaud
9353bbac4a
fix bug #356 : fix TriangularView::InnerIterator for unit diagonals
2011-12-04 14:39:24 +01:00
Gael Guennebaud
91e392a042
add ReverseInnerIterators to loop over the elements in reverse order,
...
and partly fix bug #356 (issue in trisolve for upper-column major))
2011-12-03 23:49:37 +01:00
Gael Guennebaud
4ca89f32ed
Sparse matrix insertion:
...
- automatically turn a SparseMatrix to uncompressed mode when calling insert(i,j).
- now coeffRef insert a new element when it does not already exist
2011-12-02 19:00:16 +01:00
Gael Guennebaud
70df09b76d
move DynamicSparseMatrix to SparseExtra
2011-10-24 09:31:33 +02:00
Gael Guennebaud
7706bafcfd
add the possibility to reserve room for inner vector in SparseMatrix
2011-09-08 13:42:54 +02:00
Gael Guennebaud
42e2578ef9
the min/max macros to detect unprotected min/max were undefined by some std header,
...
so let's declare them after and do the respective fixes ;)
2011-08-19 14:18:05 +02:00
Gael Guennebaud
91fe1507d1
Sparse: more fixes regarding long int as index type
2011-06-07 11:28:16 +02:00
Gael Guennebaud
22c7609d72
extend sparse product unit tests
2011-03-22 11:58:22 +01:00
Gael Guennebaud
9a3ec637ff
new feature: copy from a sparse selfadjoint view to a full sparse matrix
2010-11-15 14:14:05 +01:00
Hauke Heibel
d204ec491d
Additional fix to enforce the compiler to use the correct prunning method.
2010-11-02 14:33:33 +01:00
Hauke Heibel
7bc8e3ac09
Initial fixes for bug #85 .
...
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Gael Guennebaud
fa6d36e0f7
fix SparseView: clean the nested matrix type
2010-07-22 15:57:01 +02:00
Hauke Heibel
f1679c7185
Utilize Index in all unit tests.
2010-06-20 17:37:56 +02:00
Gael Guennebaud
ece48a6450
split the Sparse module into multiple ones, and move non stable parts to unsupported/
...
(see the ML for details)
2010-06-18 11:28:30 +02:00
Gael Guennebaud
8710bd23e7
clean the ambiguity with insertBack and add a insertBackByOuterInner function
2010-06-02 13:32:13 +02:00
Gael Guennebaud
eaaba30cac
merge with default branch
2009-12-22 22:51:08 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Hauke Heibel
d088ee35f6
Added to possibility to compile unit tests at maximum warning level.
...
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Benoit Jacob
2840ac7e94
big huge changes, so i dont remember everything.
...
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Gael Guennebaud
1e7b1a8a85
add a SparseNestByValue expression and fix issue in sparse adjoint evaluation
2009-07-13 14:55:03 +02:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
2829314284
new simplified API to fill sparse matrices (the old functions are
...
deprecated). Basically there are now only 2 functions to set a
coefficient:
1) mat.coeffRef(row,col) = value;
2) mat.insert(row,col) = value;
coeffRef has no limitation, insert assumes the coeff has not already
been set, and raises an assert otherwise.
In addition I added a much lower level, but more efficient filling
mechanism for
internal use only.
2009-05-04 14:25:12 +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
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
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
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
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
Gael Guennebaud
178858f1bd
add a flexible sparse matrix class designed for fast matrix assembly
2009-01-19 15:20:45 +00:00
Gael Guennebaud
ccdcebcf03
Sparse module: add support for sparse selfadjoint * dense
2009-01-15 18:52:14 +00:00
Gael Guennebaud
9a4b7998cf
Sparse module: add row/col methods to the iterators
2009-01-15 14:16:41 +00:00
Gael Guennebaud
87241089e1
Sparse module: bugfix in SparseMatrix::resize(), now the indices are
...
correctly initialized to 0.
2009-01-15 13:30:50 +00:00
Gael Guennebaud
2d53466fa9
Sparse module:
...
* improved performance of mat*=scalar
* bug fix in cwise*
2009-01-14 21:27:54 +00:00
Gael Guennebaud
0b606dcccd
Add support for sparse * dense and dense * sparse matrix/vector products
2009-01-14 17:41:55 +00:00
Gael Guennebaud
c4c70669d1
Big rewrite in the Sparse module: SparseMatrixBase no longer inherits 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
2009-01-14 14:24:10 +00:00
Gael Guennebaud
5015e48361
Sparse module: add a more flexible SparseMatrix::fillrand() function
...
which allows to fill a matrix with random inner coordinates (makes sense
only when a very few coeffs are inserted per col/row)
2008-12-11 18:26:24 +00:00
Gael Guennebaud
86ccd99d8d
Several improvements in sparse module:
...
* 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.
2008-11-05 13:47:55 +00:00