Spectra  1.0.1 Header-only C++ Library for Large Scale Eigenvalue Problems
Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex > Class Template Reference

#include <Spectra/MatOp/SparseSymMatProd.h>

## Public Types

using Scalar = Scalar_

## Public Member Functions

template<typename Derived >
SparseSymMatProd (const Eigen::SparseMatrixBase< Derived > &mat)

Index rows () const

Index cols () const

void perform_op (const Scalar *x_in, Scalar *y_out) const

Matrix operator* (const Eigen::Ref< const Matrix > &mat_in) const

Scalar operator() (Index i, Index j) const

## Detailed Description

### template<typename Scalar_, int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int> class Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >

This class defines the matrix-vector multiplication operation on a sparse real symmetric matrix $$A$$, i.e., calculating $$y=Ax$$ for any vector $$x$$. It is mainly used in the SymEigsSolver eigen solver.

Template Parameters
 Scalar_ The element type of the matrix, for example, float, double, and long double. Uplo Either Eigen::Lower or Eigen::Upper, indicating which triangular part of the matrix is used. Flags Either Eigen::ColMajor or Eigen::RowMajor, indicating the storage format of the input matrix. StorageIndex The type of the indices for the sparse matrix.

Definition at line 31 of file SparseSymMatProd.h.

## ◆ Scalar

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 using Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::Scalar = Scalar_

Element type of the matrix.

Definition at line 37 of file SparseSymMatProd.h.

## ◆ SparseSymMatProd()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
template<typename Derived >
 Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::SparseSymMatProd ( const Eigen::SparseMatrixBase< Derived > & mat )
inline

Constructor to create the matrix operation object.

Parameters
 mat An Eigen sparse matrix object, whose type can be Eigen::SparseMatrix or its mapped version Eigen::Map >.

Definition at line 59 of file SparseSymMatProd.h.

## ◆ rows()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 Index Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::rows ( ) const
inline

Return the number of rows of the underlying matrix.

Definition at line 70 of file SparseSymMatProd.h.

## ◆ cols()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 Index Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::cols ( ) const
inline

Return the number of columns of the underlying matrix.

Definition at line 74 of file SparseSymMatProd.h.

## ◆ perform_op()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 void Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::perform_op ( const Scalar * x_in, Scalar * y_out ) const
inline

Perform the matrix-vector multiplication operation $$y=Ax$$.

Parameters
 x_in Pointer to the $$x$$ vector. y_out Pointer to the $$y$$ vector.

Definition at line 83 of file SparseSymMatProd.h.

## ◆ operator*()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 Matrix Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::operator* ( const Eigen::Ref< const Matrix > & mat_in ) const
inline

Perform the matrix-matrix multiplication operation $$y=Ax$$.

Definition at line 93 of file SparseSymMatProd.h.

## ◆ operator()()

template<typename Scalar_ , int Uplo = Eigen::Lower, int Flags = Eigen::ColMajor, typename StorageIndex = int>
 Scalar Spectra::SparseSymMatProd< Scalar_, Uplo, Flags, StorageIndex >::operator() ( Index i, Index j ) const
inline

Extract (i,j) element of the underlying matrix.

Definition at line 101 of file SparseSymMatProd.h.

The documentation for this class was generated from the following file: