Gael Guennebaud
7726cc8a29
clean old stuff used to support precompilation inside a binary lib
2010-06-07 14:47:20 +02:00
Gael Guennebaud
bfeba41174
Add a Transpositions class to ease the representation and
...
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
2010-06-04 23:17:57 +02:00
Jitse Niesen
1ff1bd69ac
Schur decomposition of 1-by-1 always converges.
2010-06-04 09:40:35 +01:00
Jitse Niesen
9178e2bd54
Add info() method which can be queried to check whether iteration converged.
2010-06-03 22:59:57 +01:00
Jitse Niesen
ed73a195e0
Refactor compute() by splitting off two smaller private methods.
2010-06-03 22:29:11 +01:00
Gael Guennebaud
e64460d5d0
LDLT: make it honors the Lower/Upper directive and make it works inplace
2010-06-03 22:22:14 +02:00
Gael Guennebaud
4159db979d
make LDLT uses only the lower triangular part
2010-06-03 21:33:47 +02:00
Gael Guennebaud
d92de9574a
fix sparse LDLT with complexes
2010-06-03 11:56:08 +02:00
Gael Guennebaud
8350ab9fb8
* remove ei_index, and let ei_traits propagate the index types
...
* add an Index type template parapeter to sparse objects
2010-06-03 08:41:11 +02:00
Hauke Heibel
e40852d282
Fixes #104 .
2010-06-02 19:17:41 +02:00
Jitse Niesen
38d8352b7b
Add field m_maxIterations; break loop when this limit is exceeded.
2010-06-02 17:31:02 +01:00
Gael Guennebaud
9ff0d67156
fix typos (oops)
2010-06-02 17:56:35 +02:00
Gael Guennebaud
8710bd23e7
clean the ambiguity with insertBack and add a insertBackByOuterInner function
2010-06-02 13:32:13 +02:00
Gael Guennebaud
143e6ab9d0
improve aliasing detection for inverse and add unit test
2010-06-02 10:12:13 +02:00
Gael Guennebaud
4ebb80490a
implicit conversion to scalar for inner product
2010-06-02 09:45:57 +02:00
Gael Guennebaud
314bfa1375
fix issue #128 : inner stride can also be 0 in which case it means 1...
2010-06-01 22:51:47 +02:00
Jitse Niesen
ab2b33e802
Add cast to aliasing check.
...
Otherwise, one of the geo tests fails to compile. Now there are some compiler
warnings about aliasing and type-punned pointers that I don't understand.
2010-06-01 17:45:58 +01:00
Jitse Niesen
e3e2380548
Make all compute() methods return a reference to *this.
2010-06-01 17:40:51 +01:00
Trevor Irons
4c6d182c42
Addressess small compile error with OpenMP
2010-06-01 07:09:40 -06:00
Benoit Jacob
e54faba198
merge the backing-out of the stupid RetByVal change, and implement a simple
...
aliasing check in inverse, that catches simple cases like x = x.inverse()
2010-06-01 09:17:50 -04:00
Benoit Jacob
3e95609cd4
Backed out changeset 641d968a9a
2010-06-01 09:01:39 -04:00
Benoit Jacob
6ce22a61b3
oops, remove extra 'typename'
2010-05-30 16:41:16 -04:00
Benoit Jacob
aaaade4b3d
the Index types change.
...
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Benoit Jacob
faa3ff3be6
tests:
...
* change test_is_equal so it just checks for equality, doesn't try anymore to allow to ignoring the difference between col and row vectors.
(needed for the upcoming Index types change)
* in ei_assert, don't report on cerr if we're inside of VERIFY_RAISES_ASSERT
2010-05-30 16:00:09 -04:00
Benoit Jacob
42f1b7d470
finish the change of adding .sh extensions to scripts
2010-05-30 15:58:11 -04:00
Benoit Jacob
641d968a9a
* Make ReturnByValue have the EvalBeforeAssigningBit and explicitly
...
enforce this mechanism (otherwise ReturnByValue bypasses it).
(use .noalias() to get the old behavior.)
* Remove a hack in Inverse, futile optimization for 2x2 expressions.
2010-05-30 13:43:08 -04:00
Anton Gladky
09a1b7f7e1
Fixes the problem, described here:
...
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/05/msg00154.html
2010-05-28 10:18:37 +02:00
Gael Guennebaud
39c568445c
simplify a using statement
2010-06-01 13:59:21 +02:00
Gael Guennebaud
0116261407
make BenchTimer compatible with 2.0 branch
2010-06-01 13:57:38 +02:00
Gael Guennebaud
e2097c55f8
fix issue #125 - *norm() return RealScalar and not Scalar
2010-05-31 22:46:18 +02:00
Jitse Niesen
8dc947821b
Allow user to compute only the eigenvalues and not the eigenvectors.
2010-05-31 18:17:47 +01:00
Jitse Niesen
609941380a
Change skipU argument to computeU - this reverses the meaning.
...
See "skipXxx / computeXxx parameters in Eigenvalues module" on mailing list.
2010-05-31 16:48:41 +01:00
Jitse Niesen
c21390a611
Define non-const operator() in Reverse; enable test for this.
...
Introduction of DenseCoeffBase (revision bfdc1c4973
) meant that non-const
operator() is only defined if DirectAccess is set. This caused the line
"m.reverse()(1,0) = 4;" in MatrixBase_reverse.cpp to fail at compile-time.
Not sure this is correct solution; perhaps we should disallow this? Or make
Reverse DirectAccess with a negative stride - would that break something?
2010-05-31 14:42:04 +01:00
Jitse Niesen
07a65dd02b
Fix stupid compilation error in test.
2010-05-31 11:48:47 +01:00
Jitse Niesen
db8631b66a
Guard with assert against using decomposition objects uninitialized.
2010-05-30 21:49:35 +01:00
Jens Mueller
48b8ace517
Fix SparseMatrix/SparseVector::sum()
...
SparseMatrix/SparseVector::sum() uses Map to compute the sum. But Map expects a
pointer.
2010-05-27 17:02:24 +02:00
Manoj Rajagopalan
a240f83216
Fix to ProductBase::evalTo() in order to get matrix multiplication working for numeric
...
types that don't have implicit conversion from int
2010-05-26 13:00:55 -04:00
Thomas Capricelli
4a2d6ece2e
fix readcost for complex types
2010-05-26 02:33:28 +02:00
Jitse Niesen
e7dc772554
Respect MaxRowsAtCompileTime in HouseholderSequence::evalTo().
...
This fixes the failing test nomalloc_4.
Also remove a print inserted for debugging in schur_real test.
2010-05-25 12:40:42 +01:00
Jitse Niesen
e7d809d434
Update eigenvalues() and operatorNorm() methods in MatrixBase.
...
* use SelfAdjointView instead of Eigen2's SelfAdjoint flag.
* add tests and documentation.
* allow eigenvalues() for non-selfadjoint matrices.
* they no longer depend only on SelfAdjointEigenSolver, so move them to
a separate file
2010-05-24 17:43:50 +01:00
Jitse Niesen
8a3f552e39
Return matrices by constant reference where possible.
...
This changes the return type of:
* eigenvectors() and eigenvalues() in ComplexEigenSolver
* eigenvalues() in EigenSolver
* eigenvectors() and eigenvalues() in SelfAdjointEigenSolver
2010-05-24 17:43:27 +01:00
Jitse Niesen
7a43a4408b
Replace local variables by member variables in compute() methods.
...
This is to avoid dynamic memory allocations in the compute() methods of
ComplexEigenSolver, EigenSolver, and SelfAdjointEigenSolver where possible.
As a result, Tridiagonalization::decomposeInPlace() is no longer used.
Biggest remaining issue is the allocation in HouseholderSequence::evalTo().
2010-05-24 17:43:06 +01:00
Jitse Niesen
68820fd4e8
Use ReturnByValue mechanism for HessenbergDecomposition::matrixH().
2010-05-24 17:36:13 +01:00
Jitse Niesen
eb3ca68684
Change return type of matrixH() method to HouseholderSequence.
...
This method is a member of Tridiagonalization and HessenbergDecomposition.
2010-05-24 17:35:54 +01:00
Thomas Capricelli
76dd0e5314
fix some warnings
2010-05-22 19:17:04 +02:00
Thomas Capricelli
79e9e3f24c
erm.. use EIGEN_ONLY_USED_FOR_DEBUG() as it already exists.
2010-05-21 18:13:59 +02:00
Thomas Capricelli
618640bf2b
fix another warning
2010-05-21 02:14:46 +02:00
Thomas Capricelli
00a3d07795
display actual/expected warning if ei_isApprox() fails
2010-05-21 02:13:50 +02:00
Thomas Capricelli
aadea5ae56
fix a warning
2010-05-21 02:13:16 +02:00
Thomas Capricelli
c1d005e976
introduce a new macro EIGEN_ARG_UNUSED(arg) and use it in some places to
...
silent some warnings (from clang)
2010-05-21 02:05:25 +02:00