Class xlifepp::BilinearForm#

class BilinearForm#

Collaboration diagram for xlifepp::BilinearForm:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="std::map< uvPair, xlifepp::SuBilinearForm >" tooltip="std::map< uvPair, xlifepp::SuBilinearForm >"] "3" [label="std::map< K, T >" tooltip="std::map< K, T >"] "1" [label="xlifepp::BilinearForm" tooltip="xlifepp::BilinearForm" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="usage"] }

describes a general bilinear form, that is a list of linear combinations of basic bilinear forms.

It is intend to collect linear forms with different unknowns, using a map<uvPair,SuBilinearForm>. It is the enduser’s class

Public Functions

inline BilinearForm()#

default constructor

BilinearForm(const SuBilinearForm &lc)#

constructor from a linear combination

inline it_mublc begin()#

iterator to the first element of map

inline cit_mublc begin() const#

const iterator to the first element of map

inline void clear()#

clear the map of bilinear form

inline it_mublc end()#

iterator to the last+1 element of map

inline cit_mublc end() const#

const iterator to the last+1 element of map

SuBilinearForm &first()#

return first linear combination

const SuBilinearForm &first() const#

return first linear combination

bool isEmpty() const#

true if no bilinear form

BilinearForm operator()(const Unknown&, const Unknown&) const#

access to the bilinear form associated to a pair of unknowns

BasicBilinearForm &operator()(const Unknown&, const Unknown&, number_t)#

access to the n-th basic bilinear form associated to a pair of unknowns

const BasicBilinearForm &operator()(const Unknown&, const Unknown&, number_t) const#

access to the n-th basic bilinear form associated to a pair of unknowns

BilinearForm &operator*=(const complex_t&)#

multiply by a complex

BilinearForm &operator+=(const BilinearForm&)#

sum of linear forms

BilinearForm &operator-=(const BilinearForm&)#

difference of linear forms

BilinearForm &operator/=(const complex_t&)#

divide by a complex

SuBilinearForm &operator[](const uvPair&)#

access to the bilinear form associated to an unknown

const SuBilinearForm &operator[](const uvPair&) const#

access to the bilinear form associated to a pair of unknowns

void print(std::ostream&) const#

print utility

void setUnknowns(const Unknown&, const Unknown&)#

set the unknowns of bilinear forms (only for single unknown bf)

bool singleUnknown() const#

true if only one unknown

SuBilinearForm *subLfp(const uvPair &uv)#

access to SuBiLinearForm pointers related to unknown (non const)

const SuBilinearForm *subLfp(const uvPair &uv) const#

access to SuBiLinearForm pointers related to unknown

SymType &symType()#

to change the symmetry property (only for single unknown bf)