Class xlifepp::ARInterfaceGen#

template<class K_, class MA_, class MB_>
class ARInterfaceGen : public xlifepp::ARInterface<K_, MA_>#

Abstract class for generalized eigenvalue problem Matrix-vector product provided: y <- B * x.

Subclassed by xlifepp::ARInterfaceGenReg< K_, MA_, MB_ >, xlifepp::ARInterfaceGenShf< K_, MA_, MB_ >

Public Functions

ARInterfaceGen(const MA_ &matA, const MB_ &matB)#

A_B constructor.

ARInterfaceGen(const MB_ &matB)#

B constructor (matrix A is not directly used)

virtual void MultBx(K_ *x, K_ *y)#

matrix-vector product y <- B * x required for all derived classes except for ARInterfaceGenBuc which needs y <- A * x.

This is why this function is declared virtual. When the problem is complex, x and y are complex but B is real.