Gael Guennebaud
95f2e7f3f5
introduce a new LvalueBit flag and split DenseCoeffBase into three level of accessors
2010-07-21 10:57:01 +02:00
Gael Guennebaud
1927b4dff5
Fix use of nesting types in SparseTranspose and split the big SparseProduct.h file
2010-06-25 10:26:24 +02:00
Gael Guennebaud
28e64b0da3
email change
2010-06-24 23:21:58 +02:00
Gael Guennebaud
f85a1cf5df
optimize SparseMatrix iterator
2010-06-18 16:47:41 +02:00
Gael Guennebaud
3cabd0c417
fix issue 135 (SparseBlock::operator= for SparseMatrix)
2010-06-14 16:26:33 +02:00
Gael Guennebaud
8350ab9fb8
* remove ei_index, and let ei_traits propagate the index types
...
* add an Index type template parapeter to sparse objects
2010-06-03 08:41:11 +02:00
Gael Guennebaud
9ff0d67156
fix typos (oops)
2010-06-02 17:56:35 +02:00
Gael Guennebaud
8710bd23e7
clean the ambiguity with insertBack and add a insertBackByOuterInner function
2010-06-02 13:32:13 +02:00
Benoit Jacob
aaaade4b3d
the Index types change.
...
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Benoit Jacob
ff6a46105d
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
...
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
2010-04-16 10:13:32 -04:00
Gael Guennebaud
fe0827495a
* move dummy_precision and epsilon to NumTraits
...
* make NumTraits inherits std::numeric_limits
2010-02-10 10:52:28 +01:00
Hauke Heibel
871698d3aa
Introduced NestParentByRefBit and NestByRefBit - this should fix temporaries related to nested products.
...
Fixed a few typos and a few warnings.
2010-02-06 17:43:32 +01:00
Gael Guennebaud
023e0dfb4e
improve the new experimental sparse product
2010-01-05 19:56:59 +01:00
Gael Guennebaud
d8534be728
add a novel, experimental sparse product
2010-01-05 15:57:16 +01:00
Gael Guennebaud
eaaba30cac
merge with default branch
2009-12-22 22:51:08 +01:00
Hauke Heibel
832045d363
Warning 4512 (assignment operators could not be generated) is now simply disabled.
...
All unimplemented assignment operators have been removed.
2009-12-14 10:32:43 +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
Gael Guennebaud
b2a5fb874f
add specialization ei_ref_selector for sparse matrix types
2009-12-01 06:21:29 +01:00
Benoit Jacob
4b1aca2288
precision ---> dummy_precision
2009-11-26 22:05:02 -05:00
Gael Guennebaud
0529ecfe1b
Big refactoring/cleaning in the spasre module with
...
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
2009-11-18 14:52:52 +01:00
Gael Guennebaud
1e62e0b0d8
more ET refactoring:
...
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
2009-11-17 16:04:19 +01:00
Gael Guennebaud
2a3a6fe45e
Experiment the ET refactoring on Transpose for Dense and Sparse storages.
...
All tests work fine.
2009-11-16 18:19:08 +01:00
Gael Guennebaud
1e7b1a8a85
add a SparseNestByValue expression and fix issue in sparse adjoint evaluation
2009-07-13 14:55:03 +02:00
Gael Guennebaud
eec334c604
fixes a segfault
2009-07-05 10:48:57 +02:00
Gael Guennebaud
d97d307fcf
SparseMatrix::resize() always resets the matrix to an empty one
2009-06-08 14:12:11 +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
510029f2bc
* optimize sum() for sparse matrices and vectors
...
* fix the row()/col() functions of some InnerVector
2009-05-19 09:40:00 +02:00
Gael Guennebaud
6dffdca123
fix realloc when initial size was 0 (bug reported by Jens Mueller)
2009-05-07 13:13:42 +00: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
5b1d0cebc5
sparse module: new API proposal for triangular solves and experimental
...
solver support with a sparse matrix as the rhs.
2009-04-05 16:30:10 +00:00
Gael Guennebaud
3499f6eccd
fix Taucs support (it appears Taucs does not return sorted matrices)
2009-03-26 17:11:43 +00:00
Gael Guennebaud
e75bef9523
various minor fixes in Sparse module
2009-02-10 10:00:00 +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
9ea1050281
fix MatrixNase::fillrand bug
2009-01-26 14:01:16 +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
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
d58bb54e7f
add a smart realloc algorithm when filling a sparse matrix
2009-01-18 18:00:19 +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
96e1e582ff
Sparse module:
...
* add a MappedSparseMatrix class (like Eigen::Map but for sparse
matrices)
* rename SparseArray to CompressedStorage
2009-01-15 12:52:59 +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
Kenneth Frank Riddile
6736e52d25
* suppressed some minor warnings
2009-01-06 04:38:00 +00:00
Gael Guennebaud
fd7eba3394
Added a SparseVector class (not tested yet)
2009-01-02 08:47:09 +00:00
Gael Guennebaud
ce3984844d
Sparse module:
...
* enable complex support for the CHOLMOD LLT backend
using CHOLMOD's triangular solver
* quick fix for complex support in SparseLLT::solve
2008-12-27 18:13:29 +00:00
Gael Guennebaud
6e138d0069
more MSVC cmake fixes
2008-12-17 18:37:04 +00:00
Benoit Jacob
5f582aa4e8
fix bad typos, thanks to Kenneth Riddile
2008-12-17 17:14:37 +00:00