Gael Guennebaud
5b364a68cb
oops
2009-05-04 14:53:21 +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
facee57b8d
add auto transposition for vectors
2009-04-30 12:09:45 +00:00
Gael Guennebaud
804a239d30
patch from Moritz Lenz to allow solving transposed problem with superlu
2009-04-10 19:54:43 +00:00
Gael Guennebaud
fb3078fb62
fix memory leak in superlu backend
2009-04-10 18:49:38 +00:00
Gael Guennebaud
7254201632
bugfix when the diagonal is not stored and assumed to be 1
2009-04-10 18:13:37 +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
ff3a3209ca
add an assertion in sparse LLT for invalid input matrix
2009-04-03 08:30:15 +00:00
Benoit Jacob
40432c84b9
CwiseUnaryOp -> SparseCwiseUnaryOp
2009-04-01 14:47:56 +00:00
Gael Guennebaud
df9dfa1455
fix superLU backend: missing operator=
2009-03-27 19:25:22 +00:00
Gael Guennebaud
3499f6eccd
fix Taucs support (it appears Taucs does not return sorted matrices)
2009-03-26 17:11:43 +00:00
Laurent Montel
2d6d14a3d3
Add COMPONENT Devel
2009-02-23 07:50:56 +00:00
Gael Guennebaud
3b12f48aa3
compilation fix for SuperLU 3.1
2009-02-12 17:50:51 +00:00
Gael Guennebaud
20a8bb96eb
fix m = m*m with m sparse (gug found by Frederik Heinz)
2009-02-12 15:57:13 +00:00
Gael Guennebaud
deb6254702
some ICC fixes
2009-02-12 07:55:03 +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
da45184635
add custom FindBLAS FindLAPACK working for c++ compiler
...
fix issues in Cholmod/Taucs supports
2009-02-05 09:36:52 +00:00
Gael Guennebaud
1119f846cf
fix various Taucs and Cholmod issues (they have not been tested for a while)
2009-02-04 22:14:09 +00:00
Gael Guennebaud
9b594ab0fb
fix overflow in sparse product
2009-01-28 18:21:38 +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
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
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
32754d806d
I hope this one fix the issue with MSVC and sparse module
2009-01-22 13:59:28 +00:00
Gael Guennebaud
4225b7bf57
perhaps fix a compilation issue in the sparse module with MSVC
2009-01-21 21:02:55 +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
36c478cd6e
optimize A * v product for A sparse and row major
2009-01-19 22:29:28 +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
0c7974dd4d
bugfix in Map by Keir Mierle
2009-01-18 09:53:06 +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
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
4f33fbfc07
two compilation fixes
2009-01-15 08:26:40 +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
Benoit Jacob
1d52bd4cad
the big memory changes. the most important changes are:
...
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
2009-01-08 15:20:21 +00:00
Gael Guennebaud
709e903335
Sparse module:
...
* 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 ?
2009-01-07 17:01:57 +00:00
Kenneth Frank Riddile
6736e52d25
* suppressed some minor warnings
2009-01-06 04:38:00 +00:00
Benoit Jacob
d9e5fd393a
* In LU solvers: no need anymore to use row-major matrices
...
* 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.
2009-01-03 22:33:08 +00:00
Gael Guennebaud
fd7eba3394
Added a SparseVector class (not tested yet)
2009-01-02 08:47:09 +00:00
Gael Guennebaud
a2782964c1
Sparse module, add an assertion and make the use of CHOLMOD's solve method the default.
2008-12-27 19:51:54 +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
Benoit Jacob
9e00d94543
* the Upper->UpperTriangular change
...
* finally get ei_add_test right
2008-12-20 13:36:12 +00:00
Benoit Jacob
f34a4fa335
* forgot to svn add 2 files
...
* idea of Keir Mierle: make the static assert error msgs UPPERCASE
2008-12-18 21:04:06 +00:00
Gael Guennebaud
6e138d0069
more MSVC cmake fixes
2008-12-17 18:37:04 +00:00