| Commit message (Collapse) | Author | Age |
... | |
| | |
|
|/ |
|
| |
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
| |
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
|
|
|
|
|
|
| |
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
|
| |
|
|
|
|
|
| |
When it's OnTheRight, we read householder vectors as rows above the diagonal.
With unit test. The use case will be bidiagonalization.
|
|
|
|
| |
and remove the respective bit flags
|
|
|
|
|
|
| |
DenseStorageBase
base class shared by both Matrix and Array
|
| |
|
|
|
|
|
|
| |
because thanks to the previous commit this is not needed anymore
* add a more general ForceAlignedAccess expression which can be used for any expression.
It is already used by StableNorm.h.
|
|
|
|
|
|
| |
Add an internal pseudo expression allowing to optimize operators like +=, *= using
the copyCoeff stuff.
This allows to easily enforce aligned load for the destination matrix everywhere.
|
|
|
|
|
|
| |
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
|
|
|
|
|
|
| |
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
|
|
|
|
|
| |
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
|
|
|
|
|
|
|
| |
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
|
| |
|
| |
|
|
|
|
| |
and fix various compilation issues
|
| |
|
|
|
|
| |
put them in a new internal 'misc' directory
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
|
| |
| |
| |
| |
| |
| | |
new classes :
* QuaternionBase
* Map<Quaternion>
|
|/
|
|
|
|
| |
* add computeInverseWithCheck
* doc improvements
* update test
|
|
|
|
|
|
|
| |
-- simpplify by removing the 2nd template parameter
-- rename Functor to Derived, as now it's a usual CRTP
* Homogeneous:
-- in products, honor the Max sizes etc.
|
|
|
|
|
|
| |
Triadiagonalization and HessenbergDecomposition)
* rework a bit AnyMatrixBase, and mobe it to a separate file
|
|
|
|
|
| |
* move the makeJacobi and make_givens_* to PlanarRotation
* rename applyJacobi* => apply*
|
|
|
|
| |
some convenient features (transpose, adjoint, product)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- support complex numbers
- big rewrite of the 2x2 kernel, much more robust
* Jacobi:
- fix weirdness in initial design, e.g. applyJacobiOnTheRight actually did the inverse transformation
- fully support complex numbers
- fix logic to decide whether to vectorize
- remove several clumsy methods
fix for complex numbers
|
|
|
|
| |
rename RRQR to fullPivotingHouseholderQR
|
|
|
|
|
|
|
|
|
| |
- rename EvalBeforeAssignBit to MayAliasBit
- make .lazy() remove the MayAliasBit only, and mark it as deprecated
- add a NoAlias pseudo expression, and MatrixBase::noalias() function
Todo:
- we have to decide whether += and -= assume no aliasing by default ?
- once we agree on the API: update the Sparse module and the unit tests respectively.
|
|
|
|
|
|
|
|
| |
- 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...
|
|
|
|
|
|
| |
TriangularProduct
and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
|
|
|
|
| |
* This probably makes ReturnByValue needless
|
| |
|
|
|
|
| |
to the main/sub/super diagonals seems to work well.
|
|\ |
|
| |
| |
| |
| | |
Still remains the problem of alignment and vectorization.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
alpha * A * B
* this allows to optimize xpr like C -= lazy_product, still have to catch "scalar_product_of_lazy_product"
* started to support conjugate in cache friendly products (very useful to evaluate A * B.adjoint() without
evaluating B.adjoint() into a temporary
* compilation fix
|
| |
| |
| |
| |
| |
| |
| |
| | |
* move solveTriangular*() to TriangularView::solve*()
* move .llt() to SelfAdjointView
* add a high level wrapper to the efficient selfadjoint * vector product
* improve LLT so that we can specify which triangular part is meaningless
=> there are still many things to do (doc, cleaning, improve the matrix products, etc.)
|
| |
| |
| |
| |
| |
| |
| |
| | |
the impl.
* rename qr() to householderQr(), for same reason.
* clarify that it's non-pivoting, non-rank-revealing, so remove all the rank API, make solve() be void instead of bool, update the docs/test, etc.
* fix warning in SVD
|
| | |
|
| |
| |
| |
| | |
(it used to be partially vectorized and that had been lost in the big changes from the previous commit)
|
|/ |
|
|
|
|
| |
* add VectorwiseOp's +, -, +=, -= operators
|
|\ |
|