Benoit Jacob
632cb7a4a1
patch by Myguel from the forum: fix documentation
2009-06-29 19:26:20 +02:00
Benoit Jacob
2de9b7f537
fully vectorize DiagonalProduct
...
(it used to be partially vectorized and that had been lost in the big changes from the previous commit)
2009-06-29 04:01:31 +02:00
Benoit Jacob
bf91003d37
FreeBSD: determine precisely when malloc is 16-byte aligned
2009-06-29 00:08:34 +02:00
Benoit Jacob
5eabf2b75d
double precision() : change to 1e-12 instead of 1e-11 (as discussed several times on the list)
2009-06-29 00:00:29 +02:00
Benoit Jacob
6809f7b1cd
new implementation of diagonal matrices and diagonal matrix expressions
2009-06-28 21:27:37 +02:00
Benoit Jacob
fc9000f23e
only disable the inline ASM if we're NEITHER gcc nor icc. right ??
2009-06-26 05:32:21 +02:00
Benoit Jacob
6ccb97620a
patch by Patrick Mihelich: use empty struct + anonymous namespace for NoChange
2009-06-25 03:33:47 +02:00
Benoit Jacob
903acf0d5c
add missing code snippets for newer Matrix methods and PartialLU::solve()
2009-06-25 00:57:51 +02:00
Benoit Jacob
03ad303d14
* add resize(int, NoChange) and resize(NoChange, int)
...
* add missing assert in resize(int)
* add examples for all resize variants
* expand docs (part of which is from Tim Hutt's e-mail)
2009-06-24 22:07:03 +02:00
Benoit Jacob
96dca681b0
use <...> for system headers
2009-06-24 16:35:02 +02:00
Gael Guennebaud
a44f7cf440
re-enable the fast unaligned loads for gcc and icc using inline assembly
...
(this allows to avoid incompatible pointer casts and to specify the dependency to the data explicitely)
2009-06-24 10:48:36 +02:00
Gael Guennebaud
aa17b5b514
use the slower unaligned load intrinsics in ei_ploadu because GCC mess up with my tricks
2009-06-23 23:28:34 +02:00
Benoit Jacob
7d48ed4be3
refine the check to disable alignment. now it's disabled on gcc3 (where we don't vectorize anyway)
2009-06-21 04:56:01 +02:00
Benoit Jacob
8be088bfb0
add Eigen/Eigen
2009-06-19 20:46:55 +02:00
Benoit Jacob
fe8ab0147b
add "Dense" header
2009-06-19 19:09:35 +02:00
Benoit Jacob
032594cee2
forward port fix to #12
2009-06-19 18:51:15 +02:00
Benoit Jacob
a57325e971
fix #14 : make llt::solve() and also ldlt::solve() work with uninitialized result
2009-06-19 17:01:32 +02:00
Moritz Lenz
c6e81869d0
fixed typo in SuperLUSupport.h
2009-06-17 11:55:57 +02:00
Gael Guennebaud
627595ad19
* rename PartialRedux to VectorwiseOp
...
* add VectorwiseOp's +, -, +=, -= operators
2009-06-10 11:20:30 +02:00
Gael Guennebaud
f3fd7fd22b
fix #11 : now the default Transform ctor set the last row in Affine mode.
2009-06-10 09:35:04 +02:00
Gael Guennebaud
d97d307fcf
SparseMatrix::resize() always resets the matrix to an empty one
2009-06-08 14:12:11 +02:00
Gael Guennebaud
55de162cf6
fix #10 : the reallocateSparse function was half coded
2009-06-08 14:05:23 +02:00
Hauke Heibel
f26c691678
Renamed internal helper functions from the Memory header.
2009-06-04 17:25:15 +02:00
Hauke Heibel
5f04f8eb6b
Fixes #9 . Thanks to the (unknown) bug contributor.
2009-06-04 09:11:35 +02:00
Hauke Heibel
6530c8f5b4
A much simplified version of the earlier commit introducing way fewer changes compared to changeset f292d2352e
...
.
The reason of the previous commit was incorrect. The smart pointers issues were actually a result of issue 9.
2009-06-03 22:22:15 +02:00
Hauke Heibel
71e5cbcbc4
Added specializations for DontAlign when using Dynamic matrices.
...
This allows users to store Matrices in smart pointers without the
need for a specialized allocator/de-allocator.
2009-06-03 16:47:38 +02:00
Hauke Heibel
f292d2352e
Relaxed checks againts _MaxRows and _MaxCols in Matrix::_check_template_params().
2009-05-29 09:09:48 +02:00
Benoit Jacob
ee92009fd8
make Umeyama, and its unit-test, work for me on gcc 4.3
2009-05-27 23:10:24 +02:00
Benoit Jacob
86be59124d
fix the static assert checking the size template parameters.
2009-05-27 23:07:29 +02:00
Hauke Heibel
4d1e492c00
* Umeyama has now similar performance for RowMajor and ColMajor layouts.
...
* Fixed a bug in umeyama for fixed size matrices.
* Fixed the umeyama unit test for fixed size matrices.
* Added XprHelper::ei_plain_matrix_type_row_major.
2009-05-27 19:24:05 +02:00
Hauke Heibel
db5647abae
Added Umeyama implementation.
2009-05-26 19:22:25 +02:00
Gael Guennebaud
9d5728c511
fix #4
...
and also improve performance of Tridiag::diag/subDiag at the same time
2009-05-23 13:31:20 +00:00
Benoit Jacob
42848498aa
fixes #5 : freebsd really has aligned malloc
2009-05-22 23:54:52 +02:00
Benoit Jacob
7667a93cbe
merge
2009-05-22 20:31:26 +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
Thomas Capricelli
0ed7c2f6d7
fix typo
2009-05-22 19:46:29 +02:00
Hauke Heibel
c7303a876f
Oops, here the actual LLT and LDLT patch.
2009-05-22 15:58:20 +02:00
Hauke Heibel
0523b64fe9
Eigensolver decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
2c247fc8a8
LU and PartialLU decomposition interface unification.
...
Added default ctor and public compute method as well
as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
5c5789cf0f
QR and SVD decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Benoit Jacob
c7baddb132
add internal comment (mostly a pretext to test the eigen-commits list)
2009-05-20 16:54:40 +02:00
Gael Guennebaud
dd45c4805c
* add a writable generic coeff wise expression (CwiseUnaryView)
...
* add writable .real() and .imag() functions
2009-05-20 15:41:23 +02:00
Benoit Jacob
a697cb4094
fix comments (old comments that were copied from LU)
2009-05-19 21:54:29 +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
b83d9b48fa
fix compilation with ICC
2009-05-18 18:26:45 +02:00
Gael Guennebaud
c8629e12f4
fix #3 , remove inline keywords in QtAlignedMalloc (MSVC fix)
2009-05-18 18:09:21 +02:00
Gael Guennebaud
e186728867
fix #1 : need to nest by value the affine part in homogeneous product
2009-05-18 17:55:50 +02:00
Gael Guennebaud
e0832d5d93
fix bug reported by Moritz Lenz about random setter
2009-05-18 17:26:01 +02:00
Benoit Jacob
934d6b4749
fix #2 , bug in Diagonal::MaxRowsAtCompileTime when Index==Dynamic
2009-05-17 16:00:56 +02:00
Benoit Jacob
dd390470e1
simplification (no reason anymore to write that in that convoluted way)
2009-05-15 16:05:45 +00:00
Benoit Jacob
5ee9f1a705
argh, forgot to re-add the throw()
2009-05-15 15:54:52 +00:00
Benoit Jacob
126284d08b
* fix bugs in EigenTesting.cmake: it didn't work with -DEIGEN_NO_ASSERTION_CHECKING=ON
...
* only try...catch if exceptions are enabled
2009-05-15 15:53:26 +00:00
Benoit Jacob
7c14e1eac4
add partial-pivoting LU decomposition
...
the name 'PartialLU' is not meant to be definitive!
make inverse() and determinant() use it, so it's *almost* considered
well tested.
2009-05-13 02:02:22 +00:00
Gael Guennebaud
f5b5571a5a
compilation fixes
2009-05-12 07:32:34 +00:00
Gael Guennebaud
6a4e94f349
bugfix from Jens Mueller (s/RowMajor/IsRowMajor)
2009-05-11 10:59:27 +00:00
Benoit Jacob
9afd1324fd
constant Diagonal ---> DiagonalBits
...
introduce ei_is_diagonal to check for it
DiagonalCoeffs ---> Diagonal and allow Index to by Dynamic
-> add MatrixBase::diagonal(int) with unittest and doc
2009-05-10 16:24:39 +00:00
Benoit Jacob
c500415e18
result of our experiments with LU tuning: implement very simple formula, that
...
turns out to be similar to Higham's formula already in use in LDLt
2009-05-07 20:35:26 +00:00
Gael Guennebaud
b6c76c30cd
apply patch from Hauke Heibel cleaning overloaded operator new/detete
2009-05-07 20:33:48 +00:00
Benoit Jacob
47fc3858b9
oops, didn't want to commit that
2009-05-07 18:40:06 +00:00
Benoit Jacob
c8a22dbc08
CREDIT Hauke Heibel, more std::vector::insert fixes
2009-05-07 18:38:07 +00:00
Gael Guennebaud
6dffdca123
fix realloc when initial size was 0 (bug reported by Jens Mueller)
2009-05-07 13:13:42 +00:00
Benoit Jacob
4f0af00e51
*add missing overloads of setZero, etc... that were mentioned in the tutorial
...
--->they go into Matrix as they resize.
*add isConstant() alias to isApproxToConstant()
*extend unit-test
*change an assert into a static assert
2009-05-06 21:40:24 +00:00
Benoit Jacob
0c0d38272e
add copyright on two public headers that are not so trivial...
2009-05-06 15:48:28 +00:00
Benoit Jacob
e1abffa513
add missing function, thanks to Hauke Heibel
2009-05-06 13:33:35 +00:00
Gael Guennebaud
3361ad4589
one more gcc 3.3 fix
2009-05-06 10:51:46 +00:00
Gael Guennebaud
db079f3a8c
fix internal error with gcc 3.3 (all tests are now ok with 3.3 !)
2009-05-06 09:37:30 +00:00
Gael Guennebaud
1e286464ab
* compilation fixes for gcc 3.3
...
* test Part::swap
2009-05-06 08:43:38 +00:00
Benoit Jacob
66f059b99d
remove unused member remean that was just initialized
2009-05-05 17:29:44 +00:00
Benoit Jacob
46e1162a39
reimplement linearRegression on top of fitHyperplane which is much better
2009-05-05 17:15:35 +00:00
Benoit Jacob
2b2f0c0220
fix linearRegression, fix doc, add unit test (it was untested since the change
...
making fitHyperplane no longer use it)
2009-05-05 16:50:58 +00:00
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
Thomas Capricelli
ddb6e96d48
fix warnings with recent gcc
2009-05-04 13:55:21 +00:00
Benoit Jacob
dec09a618d
fix warning, unused variable dummy
2009-05-04 13:01:23 +00:00
Benoit Jacob
b60571a193
fix warnings with unused static functions
2009-05-04 12:49:56 +00:00
Benoit Jacob
8aa8854bbf
fix SSE2 detection on win64, reported by 'kajala'
2009-05-04 12:13:37 +00:00
Benoit Jacob
95bda5e6ab
let the user disable alignment altogether by #defining EIGEN_DONT_ALIGN.
...
Until now, the user had to edit the source code to do that.
Internally, add EIGEN_ALIGN that takes into account both EIGEN_DONT_ALIGN.and
EIGEN_ARCH_WANTS_ALIGNMENT. From now on, only EIGEN_ALIGN should be used to
test whether we want to align.
2009-05-03 13:50:56 +00:00
Gael Guennebaud
facee57b8d
add auto transposition for vectors
2009-04-30 12:09:45 +00:00
Gael Guennebaud
7029ed6b88
ok, this time cast should really work ; sorry for the noise
2009-04-29 17:39:39 +00:00
Gael Guennebaud
428a12902a
fixed my mistake in cast
2009-04-29 17:05:19 +00:00
Gael Guennebaud
9e9e99a42e
casting to the same type no longer generates a CwiseUnaryOp
2009-04-29 14:57:18 +00:00
Gael Guennebaud
e722f55382
fix the Matrix(int,int)/vector 2D ctors issue so that we really
...
have a Matrix(Scalar,Scalar) ctor. (useful for std::complex, user
defined types, etc.
2009-04-24 14:38:40 +00:00
Benoit Jacob
32e9801890
CREDIT Ross Smith: fix posix_memalign detection
2009-04-24 13:26:36 +00:00
Gael Guennebaud
acb32c69d4
* update BVH to explicitely use aligned_allocator
...
* fix warning in StdVector
2009-04-23 11:33:36 +00:00
Gael Guennebaud
c7bb7436f9
make the ei_p* math functions overloads instead of template
...
specializations
2009-04-22 21:35:50 +00:00
Gael Guennebaud
6f6b5ad016
add a generic version of std::vector::resize for other stl
...
implementations
2009-04-21 21:40:33 +00:00
Gael Guennebaud
2697877fac
std::vector now explicitely requires the use of Eigen::aligned_allocator
...
CREDIT Hauke Heibel
2009-04-21 21:30:38 +00:00
Gael Guennebaud
c5c384cf06
add missing vector ctor reported by Markus Moll on the ML
2009-04-21 11:52:25 +00:00
Gael Guennebaud
5e5bac52d7
this should fix the linking issue with StdVector without any user
...
changes... I cross my fingers...
2009-04-21 11:44:58 +00:00
Gael Guennebaud
4efcc14b91
fix ctor issues with ei_workaround_msvc_std_vector
2009-04-21 08:12:07 +00:00
Benoit Jacob
6ee4eb94fb
fix the 4x4 inverse -- unit test passes again
2009-04-14 13:42:23 +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
d78eb02627
add aligned_allocator operator == and != as suggested by Hauke Heibel
2009-04-09 21:22:02 +00:00
Benoit Jacob
0c99de5a17
more patches from Hauke Heibel: compilation/warning fixes from VC++
2009-04-09 17:19:17 +00:00
Benoit Jacob
e6332cba4b
forward-port r951449: patch by Hauke Heibel: compile fix with VS 9
2009-04-09 12:06:13 +00:00
Gael Guennebaud
e8329f9f45
relicence Julien Pommier's SSE code to Eigen's licenses
2009-04-09 06:03:51 +00:00
Gael Guennebaud
aabca5a44f
stupid typo
2009-04-06 13:35:48 +00:00
Benoit Jacob
502bf4a81d
* fix the binary bloat issue, Rohit's idea was the good one
...
* a few dox fixes (alloc routines do return 0 on error) and forgot to update version number in CMakeLists
2009-04-06 13:33:42 +00:00