| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
innerStride(), outerStride(), and size()""
This reverts commit 5f0b4a4010af4cbf6161a0d1a03a747addc44a5d.
|
|
|
|
|
|
|
| |
innerStride(), outerStride(), and size()"
This reverts commit 6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 because it
breaks clang-10 builds on x86 and aarch64 when C++11 is enabled.
|
|
|
|
| |
outerStride(), and size()
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changeset also includes:
* add HouseholderSequence::conjugateIf
* define int as the StorageIndex type for all dense solvers
* dedicated unit tests, including assertion checking
* _check_solve_assertion(): this method can be implemented in derived solver classes to implement custom checks
* CompleteOrthogonalDecompositions: add applyZOnTheLeftInPlace, fix scalar type in applyZAdjointOnTheLeftInPlace(), add missing assertions
* Cholesky: add missing assertions
* FullPivHouseholderQR: Corrected Scalar type in _solve_impl()
* BDCSVD: Unambiguous return type for ternary operator
* SVDBase: Corrected Scalar type in _solve_impl()
|
| |
|
|
|
|
| |
optimize the evaluation of a HouseholderSequence to a dense matrix using faster blocked product.
|
| |
|
|
|
|
| |
.setReverseFlag()
|
|
|
|
| |
for complex numbers. Made corresponding unit test actually test that. Also simplify implementation of QR decompositions
|
|
|
|
|
|
|
|
|
|
| |
- Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP>
- Remove the "functor_is_product_like" helper (was pretty ugly)
- Currently, OP is not used, but it is available to the user for fine grained tuning
- Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-=
- TODO: generalize all other binray operators (comparisons,pow,etc.)
- TODO: handle "scalar op array" operators (currently only * is handled)
- TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
|
|
|
|
| |
anymore!
|
|
|
|
|
| |
- it is not always needed,
- and this fixes a long-to-float conversion warning
|
|
|
|
| |
input/outputs are the same.
|
| |
|
|
|
|
| |
when it make sense). In all other cases use the global Index type.
|
|
|
|
| |
to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
a generic EigenBase to EigenBase assignment kind based on the previous evalTo mechanism.
|
|
|
|
| |
tests.
|
| |
|
| |
|
| |
|
|
|
|
| |
versions of evalTo() and applyThisOnTheRight/Left that take additional working vector parameters.
|
|
|
|
| |
float were mixed. Hopefuly this also solve bug #91...
|
| |
|
|
|
|
| |
Users can call .transpose() instead.
|
|
|
|
|
| |
Incomplete: I did not explain the difference between OnTheLeft and OnTheRight,
and there is only one example.
|
|
|
|
|
|
| |
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
|
| |
|
| |
|
|
|
|
| |
remove_{const|pointer|reference}.
|
|
|
|
|
|
|
| |
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Clean a bit the Triadiagonalization making sure it the inplace
function really works inplace ;), and that only the lower
triangular part of the matrix is referenced.
* Remove the Tridiagonalization member object of SelfAdjointEigenSolver
exploiting the in place capability of HouseholdeSequence.
* Update unit test to check SelfAdjointEigenSolver only consider
the lower triangular part.
|
|
|
|
| |
* add an Index type template parapeter to sparse objects
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
|
| |
This fixes the failing test nomalloc_4.
Also remove a print inserted for debugging in schur_real test.
|
|
|
|
|
|
|
|
| |
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
|
| |
|
|
|
|
|
|
| |
one is complex.
This is especially important as in bidiagonalization, the band matrix is real.
|
|
|
|
|
| |
When it's OnTheRight, we read householder vectors as rows above the diagonal.
With unit test. The use case will be bidiagonalization.
|
|
|
|
|
|
|
|
|
| |
EIGEN_SIZE_MIN instead of EIGEN_ENUM_MIN, and there are many other occurences throughout Eigen!
* HouseholderSequence:
- add shift parameter
- add essentialVector() method to start abstracting the direction
- add unit test in householder.cpp
|
| |
|
| |
|
|
|
|
|
|
| |
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
|
|
|
|
|
|
| |
disabled.
All unimplemented assignment operators have been removed.
|