Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices. More...
#include <Matrices.hpp>
Public Member Functions | |
virtual returnValue | bilinear (const Indexlist *const icols, int xN, const real_t *x, int xLD, real_t *y, int yLD) const =0 |
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices.
Abstract base class for symmetric matrices. Extends Matrix interface with bilinear form evaluation.
Definition at line 246 of file Matrices.hpp.
virtual returnValue SymmetricMatrix::bilinear | ( | const Indexlist *const | icols, |
int | xN, | ||
const real_t * | x, | ||
int | xLD, | ||
real_t * | y, | ||
int | yLD | ||
) | const [pure virtual] |
Compute bilinear form y = x'*H*x using submatrix given by index list.
icols | Index list specifying columns of x. |
xN | Number of vectors to multiply. |
x | Input vector to be multiplied (uncompressed). |
xLD | Leading dimension of input x. |
y | Output vector of results (compressed). |
yLD | Leading dimension of output y. |
Implemented in SymSparseMat, and SymDenseMat.