7 #ifndef SPARSE_SYM_MAT_PROD_H 8 #define SPARSE_SYM_MAT_PROD_H 11 #include <Eigen/SparseCore> 22 template <
typename Scalar,
int Uplo = Eigen::Lower,
int Flags = 0,
typename StorageIndex =
int>
50 Index
rows()
const {
return m_mat.rows(); }
54 Index
cols()
const {
return m_mat.cols(); }
65 MapConstVec
x(x_in, m_mat.cols());
66 MapVec
y(y_out, m_mat.rows());
67 y.noalias() = m_mat.template selfadjointView<Uplo>() *
x;
73 #endif // SPARSE_SYM_MAT_PROD_H
ConstGenericSparseMatrix m_mat
A versatible sparse matrix representation.
A matrix or vector expression mapping an existing array of data.
void perform_op(const Scalar *x_in, Scalar *y_out) const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Eigen::Map< const Vector > MapConstVec
const Eigen::Ref< const SparseMatrix > ConstGenericSparseMatrix
Eigen::SparseMatrix< Scalar, Flags, StorageIndex > SparseMatrix
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Eigen::Map< Vector > MapVec
SparseSymMatProd(ConstGenericSparseMatrix &mat)
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector