Class xlifepp::ARInterface#

template<class K_, class MA_>
class ARInterface#

Inheritence diagram for xlifepp::ARInterface:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "12" [label="xlifepp::ARInterface< real_t, MAB_ >" tooltip="xlifepp::ARInterface< real_t, MAB_ >"] "5" [label="xlifepp::ARInterfaceGen< real_t, MAB_, MAB_ >" tooltip="xlifepp::ARInterfaceGen< real_t, MAB_, MAB_ >"] "1" [label="xlifepp::ARInterface< K_, MA_ >" tooltip="xlifepp::ARInterface< K_, MA_ >" fillcolor="#BFBFBF"] "2" [label="xlifepp::ARInterfaceGen< K_, MA_, MB_ >" tooltip="xlifepp::ARInterfaceGen< K_, MA_, MB_ >"] "6" [label="xlifepp::ARInterfaceGenBuc< MAB_ >" tooltip="xlifepp::ARInterfaceGenBuc< MAB_ >"] "7" [label="xlifepp::ARInterfaceGenCay< MAB_ >" tooltip="xlifepp::ARInterfaceGenCay< MAB_ >"] "8" [label="xlifepp::ARInterfaceGenCsh< MAB_, MAsB_ >" tooltip="xlifepp::ARInterfaceGenCsh< MAB_, MAsB_ >"] "3" [label="xlifepp::ARInterfaceGenReg< K_, MA_, MB_ >" tooltip="xlifepp::ARInterfaceGenReg< K_, MA_, MB_ >"] "4" [label="xlifepp::ARInterfaceGenShf< K_, MA_, MB_ >" tooltip="xlifepp::ARInterfaceGenShf< K_, MA_, MB_ >"] "9" [label="xlifepp::ARInterfaceGenSymReg< MAB_ >" tooltip="xlifepp::ARInterfaceGenSymReg< MAB_ >"] "10" [label="xlifepp::ARInterfaceStdReg< K_, MA_ >" tooltip="xlifepp::ARInterfaceStdReg< K_, MA_ >"] "11" [label="xlifepp::ARInterfaceStdShf< K_, MA_ >" tooltip="xlifepp::ARInterfaceStdShf< K_, MA_ >"] "12" -> "1" [dir=forward tooltip="template-instance"] "5" -> "2" [dir=forward tooltip="template-instance"] "5" -> "12" [dir=forward tooltip="public-inheritance"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "6" -> "5" [dir=forward tooltip="public-inheritance"] "7" -> "5" [dir=forward tooltip="public-inheritance"] "8" -> "5" [dir=forward tooltip="public-inheritance"] "3" -> "2" [dir=forward tooltip="public-inheritance"] "4" -> "2" [dir=forward tooltip="public-inheritance"] "9" -> "5" [dir=forward tooltip="public-inheritance"] "10" -> "1" [dir=forward tooltip="public-inheritance"] "11" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::ARInterface:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="std::basic_string< char >" tooltip="std::basic_string< char >"] "4" [label="std::basic_string< Char >" tooltip="std::basic_string< Char >"] "2" [label="std::string" tooltip="std::string"] "6" [label="std::vector< T >" tooltip="std::vector< T >"] "5" [label="std::vector< K_ >" tooltip="std::vector< K_ >"] "1" [label="xlifepp::ARInterface< K_, MA_ >" tooltip="xlifepp::ARInterface< K_, MA_ >" fillcolor="#BFBFBF"] "3" -> "4" [dir=forward tooltip="template-instance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "5" -> "6" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] }

Template Parameters:
  • K_ – type of elements

  • MA_ – type of the matrix

Subclassed by xlifepp::ARInterfaceGen< K_, MA_, MB_ >, xlifepp::ARInterfaceStdReg< K_, MA_ >, xlifepp::ARInterfaceStdShf< K_, MA_ >

Public Functions

ARInterface()#

default constructor (A is not directly used)

ARInterface(const MA_ &matA)#

A constructor.

inline virtual ~ARInterface()#

destructor

inline std::string ConstructorName() const#

return the name of the interface object and constructor used

inline number_t GetN() const#

dimension of the problem to be solved (dimension of the square matrix A)

inline std::string KindOfFactorization() const#

return the name of the factorization used internally to solve linear systems, when the computation mode requires it.

virtual void MultOPx(K_ *x, K_ *y) = 0#

main matrix-vector product required for all derived classes