Kenneth Frank Riddile
9a8096dd1d
* fixed truncation warnings caused by MatrixBase::CoeffReturnType under MSVC
2009-04-03 20:19:07 +00:00
Gael Guennebaud
ff3a3209ca
add an assertion in sparse LLT for invalid input matrix
2009-04-03 08:30:15 +00:00
Gael Guennebaud
adf5104bae
oops, bad copy paste in ei_psqrt, thanks to Jitse Niesen
2009-04-02 06:29:05 +00:00
Benoit Jacob
40432c84b9
CwiseUnaryOp -> SparseCwiseUnaryOp
2009-04-01 14:47:56 +00:00
Gael Guennebaud
0170eb0dbe
add an auto-diff module in unsupported. it is similar to adolc's forward
...
mode but the advantage of using Eigen's expression template to compute
the derivatives (unless you nest an AutoDiffScalar into an Eigen's
matrix).
2009-04-01 14:43:37 +00:00
Benoit Jacob
0f8e692b3f
* Find SuperLU also when it is installed without a superlu/ prefix
...
* Some more CoeffReturnType changes
2009-04-01 14:07:38 +00:00
Benoit Jacob
113fc3a260
now if Derived has the DirectAccess flag, then MatrixBase<Derived>::coeff() const returns a const Scalar& and not a Scalar as before.
...
useful for people doing direct access. + 1 bugfix thanks to Patrick Mihelich, forgot a & in MapBase::coeff(int).
2009-04-01 00:39:56 +00:00
Benoit Jacob
2f45eeb0c6
More Cholesky fixes.
...
* Cholesky decs are NOT rank revealing so remove all the rank/isPositiveDefinite etc stuff.
* fix bug in LLT: s/return/continue/
* introduce machine_epsilon constants, they are actually needed for Higman's formula determining
the cutoff in Cholesky. Btw fix the page reference to his book (chat with Keir).
* solve methods always return true, since this isn't a rank revealing dec. Actually... they already did always return true!! Now it's explicit.
* updated dox and unit-test
2009-04-01 00:21:16 +00:00
Benoit Jacob
8e2b191acf
fix typo found by noir.sender from KDE forums
2009-03-31 17:00:30 +00:00
Benoit Jacob
1e6097a810
fix mistake in static assertion, patch by Markus Moll.
2009-03-31 16:07:12 +00:00
Benoit Jacob
bf596d0b3a
add adjointInPlace() and add documentation warnings on adjoint() and transpose() about aliasing effects.
2009-03-31 13:55:40 +00:00
Benoit Jacob
a1ba995f05
Many improvements in LLT and LDLT:
...
* in LDLT, support the negative semidefinite case
* fix bad floating-point comparisons, improves greatly the accuracy of methods like
isPositiveDefinite() and rank()
* simplifications
* identify (but not resolve) bug: claim that only triangular part is used, is inaccurate
* expanded unit-tests
2009-03-30 21:45:45 +00:00
Gael Guennebaud
df9dfa1455
fix superLU backend: missing operator=
2009-03-27 19:25:22 +00:00
Gael Guennebaud
e9f6167485
make special ei_p functions static to avoid linking issues (they are too
...
complex to be inlined)
2009-03-27 14:55:46 +00:00
Gael Guennebaud
49fc1e3e84
add vectorization of sqrt for float
2009-03-27 14:41:46 +00:00
Gael Guennebaud
3499f6eccd
fix Taucs support (it appears Taucs does not return sorted matrices)
2009-03-26 17:11:43 +00:00
Benoit Jacob
1b7b538e05
The ABI break:
...
* set AutoAlign=0, DontAlign!=0
* set Dynamic=33331
* add check on fixed sizes
* bump version to 2.0.52
2009-03-26 16:30:54 +00:00
Gael Guennebaud
ce5669dbf9
* enable vectorization of sin, cos, etc. by default with an option to
...
disable them (-DEIGEN_FAST_MATH=0)
* add a specialization of MatrixBase::operator*(RealScalar) for fast
"matrix of complex" times scalar products (even more useful for
autodiff scalar types)
2009-03-26 12:50:24 +00:00
Gael Guennebaud
62de40f8bb
oops forgot to include a file in previous commit (I had other local
...
changes I did not want to commit yet...)
2009-03-26 07:10:59 +00:00
Gael Guennebaud
a22ef7e1f3
for some reason passing the argument by const reference killed the perf
...
(in the packet version of sin, cos, exp, lop), so let's pass them by
value. Also, improve the perf of ei_plog by reducing dependencies.
2009-03-25 18:33:36 +00:00
Gael Guennebaud
17860e578c
add SSE2 versions of sin, cos, log, exp using code from Julien
...
Pommier. They are for float only, and they return exactly the same
result as the standard versions in about 90% of the cases. Otherwise the max error
is below 1e-7. However, for very large values (>1e3) the accuracy of sin and cos
slighlty decrease. They are about 3 or 4 times faster than 4 calls to their respective
standard versions. So, is it ok to enable them by default in their respective functors ?
2009-03-25 12:26:13 +00:00
Andrew Coles
64fbd93cd9
As values may be used uninitialised, they have now been given
...
sensible defaults; or, in other words, if worse comes to worst,
we'll get a guaranteed segfault rather than a heisenburg.
2009-03-23 21:15:33 +00:00
Gael Guennebaud
70c0174bf9
* allows fixed size matrix with size==0 (via a specialization of
...
MatrixStorage returning a null pointer). For instance this is very
useful to make Tridiagonalization compile for 1x1 matrices
* fix LLT and eigensolver for 1x1 matrix
2009-03-23 14:44:44 +00:00
Gael Guennebaud
f4cf5e9b26
split and extend eigen-solver tests
2009-03-23 14:38:59 +00:00
Konstantinos A. Margaritis
fe00e864a1
ei_pnegate implemented for AltiVec
2009-03-20 17:26:50 +00:00
Gael Guennebaud
fbf415c547
add vectorization of unary operator-() (the AltiVec version is probably
...
broken)
2009-03-20 10:03:24 +00:00
Gael Guennebaud
4bb5221d22
Add BVH module in unsupported (patch from Ilya Baran)
...
(I thought I committed it a week ago but it seems the command failed)
2009-03-18 20:06:06 +00:00
Gael Guennebaud
3d385ae968
angle-axis doc: make it more clear the axis must be normalized
2009-03-18 19:38:55 +00:00
Gael Guennebaud
dcf49e5a28
more MSVC fixes: restrict keywords (sorry for all these commits)
2009-03-17 13:32:26 +00:00
Gael Guennebaud
718af05517
more MSVC fixes (asm comments...)
2009-03-17 13:25:26 +00:00
Gael Guennebaud
497d77b08c
fix compilation MSVC
2009-03-17 13:18:53 +00:00
Gael Guennebaud
312994fa98
opengl demo: add aligned operator new where appropriate and remove my
...
mess...
2009-03-13 13:17:19 +00:00
Gael Guennebaud
c6264d9b7e
add affine * homogeneous vector for backward compatibility (e.g.,
...
kgllib)
2009-03-11 14:32:03 +00:00
Gael Guennebaud
02e97ac0ae
minor changes in AlignedBox needed for BVH module
2009-03-11 14:21:55 +00:00
Gael Guennebaud
b8f46090ff
add optimized cross3 function (code from Rohit Garg)
2009-03-11 14:20:36 +00:00
Gael Guennebaud
3298320007
fix doxygen generation of unsupported modules
2009-03-11 13:11:38 +00:00
Gael Guennebaud
f697ea6d30
fix a few compilation errors and warnings (ICC)
2009-03-11 08:45:53 +00:00
Gael Guennebaud
14691d6836
fix compilation with old, and future gcc
2009-03-10 11:55:50 +00:00
Gael Guennebaud
3e4307d8a8
compilation fix in MapBase
2009-03-10 09:06:38 +00:00
Gael Guennebaud
caa1ef7515
various BTL updates (disable Cholesky for MTL, add new plot settings,
...
etc)
2009-03-09 23:28:46 +00:00
Gael Guennebaud
8aa5aa269a
add "slice vectorization" of redux (eg. m.block().minCoeff() is now
...
vectorized)
2009-03-09 23:16:39 +00:00
Gael Guennebaud
c087373968
because of a missing specialization, operator/(scalar) was not vectorized
2009-03-09 23:14:53 +00:00
Gael Guennebaud
db6c3d0197
fix MapBase's ForceAligned concept which was not working at all....
2009-03-09 19:23:31 +00:00
Gael Guennebaud
3f80c68be5
add the vectorization of abs
2009-03-09 18:40:09 +00:00
Gael Guennebaud
bd8107c90c
forgot to include a file in previous commit
2009-03-09 14:18:29 +00:00
Gael Guennebaud
8a424efb11
add an option to bench eigen without GCC's auto vec (might conflict with
...
Eigen's auto vec)
2009-03-09 14:16:05 +00:00
Gael Guennebaud
314aff875e
fix warning in Tridiag
2009-03-09 10:41:37 +00:00
Gael Guennebaud
44f218988c
add a small note in Transform doc.
2009-03-08 11:38:45 +00:00
Gael Guennebaud
3ac42fed94
big rework of the Transform class:
...
* add Projective and AffineCompact modes as an optional third template
argument
* extend Transform::operator* to support more use cases
2009-03-08 11:35:30 +00:00
Gael Guennebaud
7718a8ed83
slight optimization of SSE base integer mul (thanks to Rohit Garg)
2009-03-08 10:14:07 +00:00