Gael Guennebaud
42b237b83a
* make sum and redux honor EvalBeforeNestingBit too
...
* fix MSVC issues (hopefully)
2009-01-28 21:09:08 +00:00
Gael Guennebaud
cc6159743d
make dot() honor EvalBeforeNestingBit
2009-01-28 20:53:27 +00:00
Gael Guennebaud
9b594ab0fb
fix overflow in sparse product
2009-01-28 18:21:38 +00:00
Benoit Jacob
9bc44094c5
add EIGEN_NO_AUTOMATIC_RESIZING
...
if defined, already initialized matrices won't be automatically resized in assignments
uninitialized matrices may still be initialized
2009-01-28 16:44:03 +00:00
Gael Guennebaud
1b194193ef
Big change in DiagonalMatrix and Geometry/Scaling:
...
* previous DiagonalMatrix expression is now DiagonalMatrixWrapper
* DiagonalMatrix class is now for storage
* add the DiagonalMatrixBase class to factorize code of the
two previous classes
* remove Scaling class (it is now a global function)
* add UniformScaling helper class
(don't use it directly, use the Scaling function)
* add the Scaling global function to simplify the creation
of scaling objects
There is still a lot to do, in particular about DiagonalProduct for which
the goal is to get rid of the "if()" in the coeff() function. At least
it is not worse than before ! Also need to uptade the tutorial and add more doc.
2009-01-28 16:26:06 +00:00
Gael Guennebaud
da555585e2
Patch from Frank fixing stupid MSVC internal crash
2009-01-28 12:52:26 +00:00
Gael Guennebaud
22bfc77124
move EIGEN_DEPRECATED to the begining of the function (pb with MSVC)
2009-01-28 12:48:19 +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
cf89d9371a
LLT: makes the non positive definite test less strict, but we still need
...
something better.
2009-01-27 23:01: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
4ac8cabf8a
fix my previous commit with EIGEN_EMPTY macro bug
2009-01-27 19:08:20 +00:00
Gael Guennebaud
d700343632
fix "empty macro arguments are undefined in ISO C90 and ISO C++98"
...
warning found by gcc-svn
2009-01-27 17:40:14 +00:00
Benoit Jacob
f6aa60bcf3
centralize those static asserts more upstream, reduces duplication and ensures they can't be bypassed (e.g.
...
until now it was possible to bypass the static assert on sizes)
2009-01-27 15:40:05 +00:00
Benoit Jacob
8d236e74a1
add a missing static assertion on the scalar types
2009-01-27 15:29:07 +00:00
Benoit Jacob
046a84c0ef
fix doc for norm() and squaredNorm(): these are not only for vectors
2009-01-27 14:05:20 +00:00
Benoit Jacob
062d6bd47a
documentation update/improvement
2009-01-26 16:22:40 +00:00
Benoit Jacob
b05c5dd1be
compute the rank on the fly rather than at the end, and stop early
...
in the case of non-full rank (so big optimization in case the rank is low)
2009-01-26 16:14:20 +00:00
Gael Guennebaud
9ea1050281
fix MatrixNase::fillrand bug
2009-01-26 14:01:16 +00:00
Benoit Jacob
2776a3197b
make these functions inline, thanks to Mek
2009-01-26 13:59:52 +00:00
Benoit Jacob
a79deafc6d
* mark Geometry as experimental
...
* install QtAlignedMalloc
* finish the renaming Regression->LeastSquares
* install LeastSquares directory (!!!)
* misc dox fixes
2009-01-26 13:53:43 +00:00
Benoit Jacob
00d7f8e567
* solveTriangularInPlace(): take a const ref and const_cast it, to allow passing temporary xprs.
...
* improvements, simplifications in LU::solve()
* remove remnant of old norm2()
2009-01-25 23:46:51 +00:00
Benoit Jacob
414ee1db4b
Optimization in LU::solve: when rows<=cols, no need to compute the L matrix
...
Remove matrixL() and matrixU() methods: they were tricky, returning a Part,
and matrixL() was useless for non-square LU. Also they were untested. This is
the occasion to simplify the docs (class_LU.cpp) removing the most confusing part.
I think that it's better to let the user do his own cooking with Part's.
2009-01-25 16:33:06 +00:00
Gael Guennebaud
56c7e164f0
add partial count redux (adapted patch from Ricard Marxer)
2009-01-24 15:22:44 +00:00
Gael Guennebaud
81b0ab53cf
add fill() function as an alias for setConstant
2009-01-24 10:52:18 +00:00
Gael Guennebaud
9849931500
eventually it turns out that our current
...
EIGEN_WORK_AROUND_QT_BUG_CALLING_WRONG_OPERATOR_NEW_FIXED_IN_QT_4_5
is the right way to go for allowing placement new on a class having
overloaded operator new. Qt 4.5 won't add the :: prefix. (I still do not
understand how you can distinghish a placement new from an overloaded
operator new taking an allocator as argument...)
2009-01-23 16:31:03 +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
Benoit Jacob
291ee89684
add computeRotationScaling and computeScalingRotation in SVD
...
add convenience functions in Transform
reimplement Transform::rotation() to use that
add unit-test
2009-01-22 16:39:08 +00:00
Benoit Jacob
876b1fb842
add polar decomposition on both sides, in SVD, with test
2009-01-22 15:00:47 +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
Benoit Jacob
9e3c73110a
fix a bunch of warnings (actual issues) reported by Frank
2009-01-22 00:09:34 +00:00
Gael Guennebaud
4225b7bf57
perhaps fix a compilation issue in the sparse module with MSVC
2009-01-21 21:02:55 +00:00
Benoit Jacob
7ccea9222c
fix warnings
2009-01-21 20:06: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
Benoit Jacob
5f43a42ee7
* remove set(), revert to old behavior where = resizes
...
* try to be clever in matrix ctors and operator=: be lazy when we can, always allow
to copy rowvector into columnvector, check the template parameters,
try to factor the code better
* add missing copy ctor in UnalignedType
* fix bug in the traits of DiagonalProduct
* renaming: EIGEN_TUNE_FOR_CPU_CACHE_SIZE
* update the dox a little
2009-01-21 17:10:23 +00:00
Gael Guennebaud
f645d1f911
* complete the support of QVector via a QtAlignedMalloc header
...
* add a unit test for QVector which shows the issue with QVector::fill
2009-01-20 16:50:47 +00:00
Gael Guennebaud
8973d12cda
* QR: add a rank() method and improve the accuracy of the rank
...
* computation
* Array: add a count() method and rename AllAndAny.h file to
BooleanRedux.h
2009-01-20 16:37:52 +00:00
Benoit Jacob
81cb887baf
fix bug in the computation of rank
...
very difficult to catch in unit-tests because this is very noisy
2009-01-20 16:21:56 +00:00
Gael Guennebaud
3e5b3a33fa
quick bugfix in QR::isFullRank() (not 100% sure about the reference value
...
for the comparison to 0)
2009-01-20 10:37:39 +00:00
Marijn Kruisselbrink
8690ba923c
I assume these files where supposed to be installed
2009-01-19 22:58:15 +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
Benoit Jacob
385fd3d918
* clarify the situation with experimental parts
...
* remove all what was marked deprecated
2009-01-19 15:02:24 +00:00
Benoit Jacob
dcaa58744e
#error if min or max is defined
2009-01-19 13:23:41 +00:00
Gael Guennebaud
708fa36750
revert bad commit
2009-01-19 08:21:32 +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
Benoit Jacob
61b85b1436
update documentation (thanks Kenneth)
2009-01-17 14:24:09 +00:00
Gael Guennebaud
c5020c6e8e
patch from Ricard Marxer: add doc example for select()
2009-01-17 09:59:32 +00:00