#include <Polynomial_LD.h>
A generic monomial with N variables of type Real. A monomial is one term of a polynomial. More...
A generic monomial with N variables of type Real. A monomial is one term of a polynomial.
Todo this first version of polynomial is a linear presentation. This presentation is efficient for arithmetic operator like +,-,*,/ and derivative. But is not optimized for the evaluating (comparing to the recurrent presentation).
Public Attributes | |
Real | coef |
sofa::type::Vec< N, int > | powers |
Protected Attributes | |
sofa::type::Vec< N, std::string > | variables |
Public Member Functions | |
Monomial_LD () | |
Monomial_LD (Real,...) | |
Monomial_LD (const Monomial_LD< Real, N > &a) | |
Monomial_LD< Real, N > & | operator= (const Monomial_LD< Real, N > &b) |
void | SetCoef (const Real &m_coef) |
Setting of Monomial_LD. More... | |
void | SetPower (int numbervar, int powervalue) |
int | degree () |
Return the total degree of monomial. More... | |
bool | operator== (const Monomial_LD< Real, N > &b) const |
Logical operators. More... | |
bool | operator!= (const Monomial_LD< Real, N > &b) const |
bool | isSamePowers (const Monomial_LD< Real, N > &b) const |
bool | isnullptr () const |
Monomial_LD< Real, N > & | operator*= (const Real &alpha) |
Mathematical operators. More... | |
Monomial_LD< Real, N > & | operator/= (const Real &alpha) |
Monomial_LD< Real, N > & | operator+= (const Monomial_LD< Real, N > &b) |
Monomial_LD< Real, N > & | operator-= (const Monomial_LD< Real, N > &b) |
Monomial_LD< Real, N > & | operator*= (const Monomial_LD< Real, N > &b) |
Monomial_LD< Real, N > | operator+ () const |
Monomial_LD< Real, N > | operator- () const |
Monomial_LD< Real, N > | operator* (const Real &alpha) |
Monomial_LD< Real, N > | operator/ (const Real &alpha) |
Monomial_LD< Real, N > | operator+ (const Monomial_LD< Real, N > &a) |
Monomial_LD< Real, N > | operator- (const Monomial_LD< Real, N > &a) |
Monomial_LD< Real, N > | operator* (const Monomial_LD< Real, N > &a) |
Real | operator() (const RNpoint &x) const |
Evaluating value. More... | |
Real | operator() (const RNpoint &x, unsigned int idvar) const |
Evaluating first partial derivative by idvar-th variable. More... | |
Monomial_LD< Real, N > | d (const unsigned int &ideriv) const |
Evaluating partial derivative hight order by idvar-th variable in ideriv-th order. More... | |
void | writeToStream (std::ostream &ff) const |
void | readFromStream (std::istream &ff) |
Friends | |
template<typename FReal , unsigned int FN> | |
Monomial_LD< FReal, FN > & | operator* (const FReal &alpha, Monomial_LD< FReal, FN > &r) |
Real sofa::helper::Monomial_LD< Real, N >::coef |
sofa::type::Vec<N,int> sofa::helper::Monomial_LD< Real, N >::powers |
|
protected |
sofa::helper::Monomial_LD< Real, N >::Monomial_LD |
Tools used in FEM computing
sofa::helper::Monomial_LD< Real, N >::Monomial_LD | ( | Real | m_coef, |
... | |||
) |
sofa::helper::Monomial_LD< Real, N >::Monomial_LD | ( | const Monomial_LD< Real, N > & | a | ) |
Monomial_LD< Real, N > sofa::helper::Monomial_LD< Real, N >::d | ( | const unsigned int & | ideriv | ) | const |
Evaluating partial derivative hight order by idvar-th variable in ideriv-th order.
Derivative operator allowing to write p1=p2.d(x);
int sofa::helper::Monomial_LD< Real, N >::degree |
Return the total degree of monomial.
|
inline |
bool sofa::helper::Monomial_LD< Real, N >::isSamePowers | ( | const Monomial_LD< Real, N > & | b | ) | const |
|
inline |
Real sofa::helper::Monomial_LD< Real, N >::operator() | ( | const RNpoint & | x | ) | const |
Evaluating value.
Real sofa::helper::Monomial_LD< Real, N >::operator() | ( | const RNpoint & | x, |
unsigned int | idvar | ||
) | const |
Evaluating first partial derivative by idvar-th variable.
|
inline |
|
inline |
Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator*= | ( | const Monomial_LD< Real, N > & | b | ) |
|
inline |
Mathematical operators.
|
inline |
|
inline |
Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator+= | ( | const Monomial_LD< Real, N > & | b | ) |
|
inline |
|
inline |
Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator-= | ( | const Monomial_LD< Real, N > & | b | ) |
|
inline |
|
inline |
Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator= | ( | const Monomial_LD< Real, N > & | b | ) |
bool sofa::helper::Monomial_LD< Real, N >::operator== | ( | const Monomial_LD< Real, N > & | b | ) | const |
Logical operators.
void sofa::helper::Monomial_LD< Real, N >::readFromStream | ( | std::istream & | ff | ) |
|
inline |
Setting of Monomial_LD.
|
inline |
void sofa::helper::Monomial_LD< Real, N >::writeToStream | ( | std::ostream & | ff | ) | const |
anonymous enum |
|
friend |