Gael Guennebaud
20c11bc52c
prefix all Eigen cmake variable with EIGEN_ and switched to lowercase for all cmake files
2008-12-02 12:59:10 +00:00
Gael Guennebaud
eb9dadf3b2
clean FindUmfpack.cmake wrt enable_language(Fortran)
2008-12-02 12:20:13 +00:00
Alexander Neundorf
6b3d0e68e2
-use the cmake-provided Eigen_(SOURCE|BINARY)_DIR variables instead of setting own versions (EIGEN_(SOURCE|BINARY)_DIR
...
Alex
2008-12-02 11:00:51 +00:00
Benoit Jacob
aba378eb1a
add internal documentation
2008-11-30 21:49:02 +00:00
Benoit Jacob
00f89a8f37
Update e-mail address
2008-11-24 13:40:43 +00:00
Gael Guennebaud
582c1f92c8
doc: add a "non stable" warning for parts which are not part
...
of the stable API yet and a couple of other minor doc updates...
2008-11-22 19:51:05 +00:00
Gael Guennebaud
a040b7f15d
tutorial: extend casting section with set
2008-11-20 11:01:17 +00:00
Gael Guennebaud
cc6121b98d
tutorial: add the cast function
2008-11-20 10:47:12 +00:00
Gael Guennebaud
a3b89e0ee6
tutorial: add array module warnings when needed
2008-11-17 15:38:57 +00:00
Benoit Jacob
3614321401
* add Gael a (c) line in IO.h
...
* let user change default format by defining EIGEN_DEFAULT_IO_FORMAT
* improve docs a little
2008-11-17 12:45:57 +00:00
Gael Guennebaud
139529e97b
* add .imag() function
...
* fix a very old bug in EigenSolver that I had completely forgotten
(thanks to Timothy to refresh my mind)
* fix doc of Matrix::Map
2008-11-14 09:55:25 +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
Laurent Montel
9aba671cfc
Remove executable here too
2008-11-04 08:25:19 +00:00
Laurent Montel
2a4fdf31c8
Remove executable attribute
2008-11-04 08:24:27 +00:00
Benoit Jacob
033ac82c9d
refinements in Matrix doc
2008-11-03 23:41:33 +00:00
Benoit Jacob
12f84acda6
Matrix documentation rework
2008-11-03 23:27:29 +00:00
Benoit Jacob
e80099932a
add lpNorm<p>() method to MatrixBase, implemented in Array module, with
...
specializations for cases p=1,2,Eigen::Infinity.
2008-11-03 22:47:00 +00:00
Benoit Jacob
a0ec0fca5a
Add Matrix::Map() and Matrix::AlignedMap() static methods
2008-11-03 21:49:03 +00:00
Benoit Jacob
3d90c13970
norm2() renamed to squaredNorm(), kept as deprecated for now.
2008-11-03 19:14:17 +00:00
Gael Guennebaud
3f580e240e
add Eigen namespace in front of Transpose (I needed that to add a Transpose function, sorry for this little inconvenience)
2008-10-30 00:59:37 +00:00
Gael Guennebaud
ebe14aae7d
add transposeInPlace (not optimized yet for rectangular matrix)
2008-10-29 15:24:08 +00:00
Gael Guennebaud
48137e28d8
add the possibility to extend Matrix outside Eigen, just like MatrixBase
2008-10-28 12:18:00 +00:00
Gael Guennebaud
3e502abfda
add Eigen namespace in EIGEN_STATIC_ASSERT
2008-10-27 18:09:37 +00:00
Gael Guennebaud
b26e04f40b
add Eigen namespace in EIGEN_INHERIT_ASSIGNMENT_OPERATOR
2008-10-27 13:26:18 +00:00
Gael Guennebaud
9f873a855f
unit-tests: link to external libs only for the tests which require them
2008-10-26 21:38:30 +00:00
Gael Guennebaud
ca048aaf77
fix compilation with gcc 4.3
2008-10-26 20:43:05 +00:00
Gael Guennebaud
94f6f2a7de
Add an axis aligned box in the geometry module.
...
Some naming questions:
- for "extend" we could also think of: "expand", "union", "add"
- same for "clamp": "crop", "intersect"
- same for "contains": "isInside", "intersect"
=> ah "intersect" is conflicting, so that eliminates this one !
2008-10-26 15:04:31 +00:00
Gael Guennebaud
ec0a423862
Add isApprox in Geometry module's classes.
...
Complete unit tests wrt previous commits.
2008-10-25 23:10:21 +00:00
Gael Guennebaud
505ce85814
oops forgot the inline keyword (though for gcc it was implicit)
2008-10-25 22:41:53 +00:00
Gael Guennebaud
e5b8a59cfa
Add smart cast functions and ctor with scalar conversion (explicit)
...
to all classes of the Geometry module. By smart I mean that if current
type == new type, then it returns a const reference to *this => zero overhead
2008-10-25 22:38:22 +00:00
Gael Guennebaud
568a7e8eba
improve assertion checking in product
2008-10-25 11:52:13 +00:00
Gael Guennebaud
72f2c7eed5
bugfix in Quaternion found by Daniel Stonier
2008-10-25 09:25:29 +00:00
Gael Guennebaud
0c5a09d93f
some cleaning and doc in ParametrizedLine and HyperPlane
...
Just a thought: what about ParamLine instead of the verbose ParametrizedLine ?
2008-10-25 00:08:52 +00:00
Gael Guennebaud
8ea8b481de
As discussed on ML:
...
* remove the automatic resizing feature of operator =
* add function Matrix::set() to be used when the previous
behavior is wanted
* the default constructor of dynamic-size matrices now
creates a "null" matrix (data=0, rows = cols = 0)
instead of a 1x1 matrix
* fix UnixX typos ;)
2008-10-24 21:42:03 +00:00
Gael Guennebaud
65abb4c52e
compilation fix for ICC
2008-10-21 15:43:25 +00:00
Gael Guennebaud
cf0f82ecbe
sparse module:
...
- remove some useless stuff => let's focus on a single sparse matrix format
- finalize the new RandomSetter
2008-10-21 13:35:04 +00:00
Gael Guennebaud
9e02e42ff6
add the bench file for the RandomSetter
2008-10-21 00:05:45 +00:00
Gael Guennebaud
3645d6c138
sparse module: add a RandomSetter based on a user defined map implementation
...
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....
2008-10-20 23:42:20 +00:00
Gael Guennebaud
96538b976d
remove debug message in FindCholmod.cmake
2008-10-20 20:58:43 +00:00
Gael Guennebaud
5066fe8bbe
* sparse LU: add extraction of L,U,P, and Q, as well as determinant
...
for both backends.
* extended a bit the sparse unit tests
2008-10-20 17:03:09 +00:00
Gael Guennebaud
e1c50a3cb1
add unit tests for sparse LU and fix a couple of warnings
2008-10-20 11:37:45 +00:00
Gael Guennebaud
fa27cd1ed0
* add cmake files to find (optional) supported libraries
...
* add unit tests for sparse cholesky
2008-10-20 10:43:11 +00:00
Gael Guennebaud
f44316e5f8
UmfPack support: add support for complex<double>
2008-10-20 00:39:11 +00:00
Gael Guennebaud
3a231c2349
sparse module: add support for umfpack, the sparse direct LU
...
solver from suitesparse (as cholmod). It seems to be even faster
than SuperLU and it was much simpler to interface ! Well,
the factorization is faster, but for the solve part, SuperLU is
quite faster. On the other hand the solve part represents only a
fraction of the whole procedure. Moreover, I bench random matrices
that does not represents real cases, and I'm not sure at all
I use both libraries with their best settings !
2008-10-19 22:44:21 +00:00
Gael Guennebaud
64f7fbe3f2
sparse module: some trivial bugfixes
2008-10-19 17:07:20 +00:00
Gael Guennebaud
76fe2e1b34
add/update some benchmark files used to test/compare sparse module features
2008-10-19 17:06:11 +00:00
Gael Guennebaud
ecc6c43dba
sparse module: add preliminary support for direct sparse LU solver
...
using SuperLU. Calling SuperLU was very painful, but it was worth it,
it seems to be damn fast !
2008-10-19 15:26:28 +00:00
Gael Guennebaud
6be0131774
sparse module: added some documentation for the LLT solver
2008-10-18 18:33:56 +00:00
Gael Guennebaud
cfca7f71fe
sparse module: much much faster transposition code
2008-10-18 11:11:10 +00:00
Gael Guennebaud
727dfa1c43
fix some documentation issues
2008-10-17 11:20:46 +00:00