Benoit Jacob
8e08680119
don't depend on uninitialized value
2009-08-09 17:18:42 +02:00
Benoit Jacob
3ed83fa681
* add Jacobi transformations
...
* add Jacobi (Hestenes) SVD decomposition for square matrices
* add function for trivial Householder
2009-08-09 16:58:13 +02:00
Thomas Capricelli
953c37f8e5
i wonder how useful this really is, but others do this way. Probably
...
related to doxygen.
2009-08-09 05:14:45 +02:00
Thomas Capricelli
50c192961c
eigenize lmder + some other small fixes
2009-08-09 05:07:59 +02:00
Thomas Capricelli
a6625f22d4
eigenize the test for lmder1, clean functor stuff.
...
(and check the tests still pass, of course, that's the whole point..)
2009-08-09 03:54:36 +02:00
Thomas Capricelli
5e4cf6cae1
oops.. use the template paramater instead of hard coding 'double'
2009-08-09 03:34:32 +02:00
Thomas Capricelli
ceeb023ff2
use template parameter Scalar instead of VectorType, fix a segfault.
2009-08-09 03:33:04 +02:00
Thomas Capricelli
7db4052749
eigenize the test a little more
2009-08-09 03:16:24 +02:00
Thomas Capricelli
f19eda7cf6
first test for a basic wrapper (and only wrapper!) for cminpack functions
2009-08-09 03:07:34 +02:00
Thomas Capricelli
2b9f110639
actually use eigen include file
2009-08-09 01:12:14 +02:00
Gael Guennebaud
fe813911f2
make LU::solve() not to crash when rank=0
2009-08-09 00:06:53 +02:00
Benoit Jacob
5f8d58f36a
fix bug in sorting of singular values
2009-08-09 00:05:38 +02:00
Thomas Capricelli
b695113a81
Add all other file from cminpack/examples as tests.
...
Important : one test was failing because cminpack-1.0.2 does x[3]=1. on x
which is of size 3. Probably because fortran indices are shifted wrt to C
indices and someone forgot to fix this one.
This is correct in this commit and this is the only change I've done on files
from cminpack examples.
(i've also reported the bug to cminpack author)
2009-08-08 23:41:54 +02:00
Thomas Capricelli
d646d99366
Start of module "NonLinear". We start out of cminpack-1.0.2
...
(http://devernay.free.fr/hacks/cminpack.html )
The first test is adapted from the example/ directory.
Some stuff is hard coded for our initial tests.
2009-08-08 22:18:48 +02:00
Thomas Capricelli
b10637be50
add basic .hgignore file for most common generated/temporary files
2009-08-08 21:42:14 +02:00
Gael Guennebaud
f5e1c896c7
replace custom rank one update in LU by an expression
2009-08-08 00:01:43 +02:00
Gael Guennebaud
d1dc088ef0
* implement a second level of micro blocking (faster for small sizes)
...
* workaround GCC bad implementation of _mm_set1_p*
2009-08-07 11:09:34 +02:00
Gael Guennebaud
543a785756
Fix compilation in sparse module
2009-08-06 17:28:49 +02:00
Gael Guennebaud
2707a6b87c
fix determinant in PartialLU
2009-08-06 17:28:31 +02:00
Gael Guennebaud
1d1e4884da
oops, one more bug fix in homogeneous
2009-08-06 16:56:10 +02:00
Gael Guennebaud
9822493aaf
fixes in determinant and homogeneous
2009-08-06 16:54:55 +02:00
Gael Guennebaud
3ac01b1400
compilation fix in EigenSolver,
...
bugfix in PartialLU
2009-08-06 16:41:54 +02:00
Gael Guennebaud
e82e30862a
typo
2009-08-06 15:04:42 +02:00
Gael Guennebaud
03febf00a0
fix VS compilation issue in MapBase::operator+= and -=
2009-08-06 15:03:37 +02:00
Gael Guennebaud
2e46e9f2b4
shame on me
2009-08-06 14:57:38 +02:00
Gael Guennebaud
d34c5ef509
fix my bad fix of Hauke's fix ;)
2009-08-06 14:54:25 +02:00
Gael Guennebaud
1d4fea48b5
fix a couple of compilations issues
2009-08-06 14:10:02 +02:00
Hauke Heibel
c2861dd41a
fixed inversion for AffineCompact matrices
2009-08-06 12:25:18 +02:00
Gael Guennebaud
56d00779db
more product refactoring
2009-08-06 12:20:02 +02:00
Hauke Heibel
6b2ab13ac5
fix vs.net compilation issue
2009-08-06 11:40:25 +02:00
Hauke Heibel
8163757cf0
fix vs.net compilation issue
2009-08-06 11:27:25 +02:00
Gael Guennebaud
fa55cf5ce7
fix compilation and segfault issues
2009-08-06 11:19:36 +02:00
Gael Guennebaud
b9b17ea5a5
add the missing Affine Transform * set of column vectors products...
2009-08-06 11:02:03 +02:00
Benoit Jacob
0744638b6f
remove remnant of MultiplierBase
2009-08-06 10:35:13 +02:00
Gael Guennebaud
84a7659bef
implement the missing outer product,
...
and attempt to workaround a gcc internal error
2009-08-05 17:39:11 +02:00
Gael Guennebaud
88147e0a91
big refactoring in Product.h:
...
- all specialized products now inherits ProductBase
- the default product evaluated by Assign is still here,
but it is currently enabled for small fixed sizes only
- => this significantly speed up compilation for large matrices
- I left the OuterProduct specialization empty as an exercise...
2009-08-05 15:23:35 +02:00
Benoit Jacob
014c581a5b
fix assertions, improve docs.
...
we never assert on conditions that depend on the result of a computation!!
also the assertion that rank>0 amounts to matrix!=0 which we have to leave under the responsibility of the user.
2009-08-05 10:15:28 +02:00
Benoit Jacob
b183a4f879
merge
2009-08-04 17:47:27 +02:00
Gael Guennebaud
ab6302376c
merge
2009-08-04 17:12:00 +02:00
Benoit Jacob
c20236ea75
remove the FORCE
2009-08-04 17:06:54 +02:00
Gael Guennebaud
7d607048a9
implement a ProductBase class and, as a proof of concept, update TriangularProduct
...
and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
2009-08-04 16:54:17 +02:00
Gael Guennebaud
f3a6bc48c4
fix a couple of compilation issue due to the removal of MultiplierBase
2009-08-04 13:16:40 +02:00
Gael Guennebaud
2089a263f8
merge
2009-08-04 11:31:25 +02:00
Gael Guennebaud
c2a92e92a6
add ger and lu with partial pivoting in BTL
2009-08-04 11:30:33 +02:00
Gael Guennebaud
4bec101470
implement two levels of blocking in PartialLU => high speedup
2009-08-04 11:28:02 +02:00
Benoit Jacob
4436a4d68c
use explicit Block/VectorBlock xprs to make sure that compile-time known sizes are used
2009-08-04 00:27:58 +02:00
Benoit Jacob
523cdedf58
make the dot product linear in the second variable, not the first variable
2009-08-03 17:20:45 +02:00
Gael Guennebaud
912da9fade
merge with special_matrix branch
2009-08-03 16:17:32 +02:00
Gael Guennebaud
a8f943127c
merge
2009-08-03 16:11:30 +02:00
Benoit Jacob
d10c710b15
add new Householder module
2009-08-03 16:06:57 +02:00