form_diag(3)
NAME
form_diag - diagional form class
DESCRIPTION
Implement a form using two diagonal matrix.
EXAMPLE
- Here is the computation of the mass matrix for the P1 finite element:
- geo m("square");
space V(m,"P1");
form_diag m(V,"mass");
NOTE
IMPLEMENTATION
- class form_diag {
public:
// typedefs: - typedef basic_diag<Float>::size_type size_type;
- // allocator/deallocator:
form_diag ();
form_diag (const space& X);
form_diag (const space& X, const char* op_name);
form_diag (const class field& dh);- // accessors:
const space& get_space() const;
const geo& get_geo() const;
size_type size() const;
size_type nrow() const;
size_type ncol() const;- // linear algebra (partial):
friend form_diag operator * (const form_diag&, const form_diag&);
friend class field operator * (const form_diag& a, const class field& x);
friend form_diag operator / (const Float& lambda, const form_diag& m);
//new
friend form_diag operator * (const Float& lambda, const form_diag&);
friend form_diag operator + (const form_diag&, const form_diag&);
friend form_diag operator - (const form_diag&);
friend form_diag operator - (const form_diag&, const form_diag&);
//wen- // input/output:
friend std::ostream& operator << (std::ostream& s, const form_diag& a);- // data
private : - space X_;
- public :
- basic_diag<Float> uu;
basic_diag<Float> bb; - };