diff --git a/Eigen/src/SparseCore/SparseMatrixBase.h b/Eigen/src/SparseCore/SparseMatrixBase.h index 89ace19e5..706f699b8 100644 --- a/Eigen/src/SparseCore/SparseMatrixBase.h +++ b/Eigen/src/SparseCore/SparseMatrixBase.h @@ -105,7 +105,7 @@ template class SparseMatrixBase : public EigenBase >::type AdjointReturnType; - typedef SparseMatrix PlainObject; + typedef SparseMatrix PlainObject; #ifndef EIGEN_PARSED_BY_DOXYGEN diff --git a/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Eigen/src/SparseCore/SparseSelfAdjointView.h index 80e794411..0eda96bc4 100644 --- a/Eigen/src/SparseCore/SparseSelfAdjointView.h +++ b/Eigen/src/SparseCore/SparseSelfAdjointView.h @@ -75,22 +75,22 @@ template class SparseSelfAdjointView * Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product. */ template - SparseSparseProduct::Flags&RowMajorBit) ? RowMajor : ColMajor),Index>, OtherDerived> + SparseSparseProduct operator*(const SparseMatrixBase& rhs) const { - return SparseSparseProduct::Flags&RowMajorBit) ? RowMajor : ColMajor, Index>, OtherDerived>(*this, rhs.derived()); + return SparseSparseProduct(*this, rhs.derived()); } - + /** \returns an expression of the matrix product between a sparse matrix \a lhs and a sparse self-adjoint matrix \a rhs. * * Note that there is no algorithmic advantage of performing such a product compared to a general sparse-sparse matrix product. * Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product. */ template friend - SparseSparseProduct::Flags&RowMajorBit) ? RowMajor : ColMajor),Index> > + SparseSparseProduct operator*(const SparseMatrixBase& lhs, const SparseSelfAdjointView& rhs) { - return SparseSparseProduct< OtherDerived, SparseMatrix::Flags&RowMajorBit) ? RowMajor : ColMajor, Index> >(lhs.derived(), rhs.derived()); + return SparseSparseProduct(lhs.derived(), rhs); } /** Efficient sparse self-adjoint matrix times dense vector/matrix product */