4 #include "ester-config.h"
17 static int gcd(
int a,
int b);
91 explicit sym(
const double &);
92 explicit sym(
const int &);
127 friend bool sort_pair_d(
const std::pair<sym_expr *,double> &,
const std::pair<sym_expr *,double> &);
128 friend bool sort_pair_r(
const std::pair<sym_expr *,rational> &,
const std::pair<sym_expr *,rational> &);
130 friend std::ostream&
operator<<(std::ostream& os,
const sym&);
134 void add(
solver *op,std::string eq_name,std::string var_name)
const;
135 void add(
solver *op,std::string eq_name,std::string var_name,
const matrix &d)
const;
136 void add_ex(
solver *op,
int n,std::string eq_name,std::string var_name)
const;
137 void add_ex(
solver *op,
int n,std::string eq_name,std::string var_name,
const matrix &d)
const;
139 void bc_top1_add(
solver *op,
int n,std::string eq_name,std::string var_name)
const;
140 void bc_top2_add(
solver *op,
int n,std::string eq_name,std::string var_name)
const;
141 void bc_bot1_add(
solver *op,
int n,std::string eq_name,std::string var_name)
const;
142 void bc_bot2_add(
solver *op,
int n,std::string eq_name,std::string var_name)
const;
282 std::map<std::string,sym::symbol>
vars;
283 std::map<std::string,matrix>
val;
284 std::map<std::string,int>
par;
291 void add(
const sym &s,
solver *op,
int n,std::string type,
292 std::string eq_name,std::string var_name,
const matrix &
d);
294 std::string eq_name,std::string var_name,
const matrix &
d);
314 sym var(
const std::string &name);
335 double perm(
int i,
int j,
int k);
377 virtual int order()
const=0;
383 virtual std::ostream &
print(std::ostream&)
const=0;
414 std::ostream &
print(std::ostream&)
const;
427 std::ostream &
print(std::ostream&)
const;
445 std::ostream &
print(std::ostream&)
const;
451 std::vector<std::pair<sym_expr *,double> >
oper;
460 std::ostream &
print(std::ostream&)
const;
469 std::vector<std::pair<sym_expr *,rational> >
oper;
478 std::ostream &
print(std::ostream&)
const;
483 bool sort_pair_d(
const std::pair<sym::sym_expr *,double> &,
const std::pair<sym::sym_expr *,double> &);
484 bool sort_pair_r(
const std::pair<sym::sym_expr *,rational> &,
const std::pair<sym::sym_expr *,rational> &);
498 std::ostream &
print(std::ostream&)
const;
514 std::ostream &
print(std::ostream&)
const;
530 std::ostream &
print(std::ostream&)
const;
546 std::ostream &
print(std::ostream&)
const;
symbolic * check_context() const
Definition: sym_tens.cpp:25
static sym_prod * create(sym_expr *, sym_expr *)
Definition: sym_expr.cpp:846
friend sym diff(const sym &, const sym &)
Definition: sym.cpp:245
void bc_top2_add(solver *op, int n, std::string eq_name, std::string var_name) const
Definition: sym.cpp:293
sym trig_simplify(const sym &)
Definition: sym.cpp:50
sym_expr * reduce()
Definition: sym_expr.cpp:893
sym jacobian(const sym &, const sym &)
Definition: sym.cpp:258
bool operator>=(const sym_expr &s) const
Definition: symbolic.h:387
bool sort_pair_r(const std::pair< sym::sym_expr *, rational > &, const std::pair< sym::sym_expr *, rational > &)
sym & operator/=(const sym &s)
Definition: symbolic.h:108
sym_tens set_variance(const sym_tens &) const
Definition: sym_tens.cpp:89
sym::sym_expr * derive(const sym::sym_expr &, const sym::symbol &)
Definition: symbolic.cpp:167
friend sym_tens tensor(const sym_vec &, const sym_vec &)
Definition: sym_vec.cpp:234
~sym_add()
Definition: sym_expr.cpp:263
sym div(const sym_vec &v)
Definition: symbolic.h:360
sym()
Definition: sym.cpp:8
virtual std::ostream & print(std::ostream &) const =0
bool operator>=(const rational &q) const
Definition: symbolic.h:39
sym_expr * reduce()
Definition: sym_expr.cpp:962
sym Dphi(const sym &)
Definition: symbolic.cpp:273
rational operator/(const rational &q) const
Definition: symbolic.h:29
bool is_indep
Definition: symbolic.h:421
sym_log()
Definition: symbolic.h:538
rational operator*(const int &n, const rational &q)
Definition: symbolic.h:46
static double tol
Definition: symbolic.h:301
sym_expr * sin()
Definition: sym_expr.cpp:49
sym G(int i, int j, int k)
Definition: symbolic.h:289
friend sym operator+(const sym &, const sym &)
Definition: sym.cpp:143
friend std::ostream & operator<<(std::ostream &os, const rational &)
Definition: rational.cpp:129
int order() const
Definition: symbolic.h:405
static bool axisymmetric
Definition: symbolic.h:304
sym_vec operator+(const sym_vec &) const
Definition: sym_vec.cpp:157
sym var(const std::string &name)
Definition: symbolic.cpp:118
sym laplacian(const sym &s)
Returns the symbolic expression of the laplacian of s.
Definition: symbolic.cpp:504
Definition: symbolic.h:518
Definition: symbolic.h:403
sym & operator-=(const sym &s)
Definition: symbolic.h:106
static bool trig_simplify
Definition: symbolic.h:303
A solver object stores a system of equation to solve.
Definition: solver.h:73
void add_ex(solver *op, int n, std::string eq_name, std::string var_name) const
Definition: sym.cpp:286
sym cos(const sym &)
Definition: sym.cpp:194
bool operator<(const rational &q) const
Definition: rational.cpp:121
sym_tens stress(const sym_vec &v)
Definition: symbolic.cpp:534
sym diff(const sym &, const sym &)
Definition: sym.cpp:245
sym_tens g
Definition: symbolic.h:299
sym_tens(sym_vec_type type_set0=CONTRAVARIANT, sym_vec_type type_set1=CONTRAVARIANT)
Definition: sym_tens.cpp:10
static sym_cos * create(sym_expr *)
Definition: sym_expr.cpp:995
sym_tens stress(const sym_vec &v)
Definition: symbolic.h:366
sym_num()
Definition: symbolic.h:407
rational operator-(const int &n, const rational &q)
Definition: symbolic.h:45
void set_context(symbolic *context)
Definition: sym_vec.cpp:16
sym one_
Definition: symbolic.h:286
void set_type(sym_vec_type)
Definition: sym_vec.cpp:84
sym_expr * reduce()
Definition: sym_expr.cpp:197
Definition: symbolic.h:486
Definition: symbolic.h:466
sym r
Definition: symbolic.h:297
int comp(const sym_expr &) const
Definition: sym_expr.cpp:882
matrix eval() const
Definition: sym_expr.cpp:1080
The matrix class is used to facilitate the work with regular dense matrices.
Definition: matrix.h:9
int order() const
Definition: symbolic.h:419
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:1180
sym_vec operator/(const sym &) const
Definition: sym_vec.cpp:197
sym Dphi(const sym &s)
Definition: symbolic.h:370
virtual matrix eval() const =0
sym_expr * reduce()
Definition: sym_expr.cpp:1124
sym_tens contravariant_covariant(const sym_tens &)
Definition: symbolic.cpp:348
sym_tens contravariant_covariant(const sym_tens &s)
Definition: symbolic.h:354
sym_prod * clone() const
Definition: sym_expr.cpp:604
sym_vec operator*(const sym &) const
Definition: sym_vec.cpp:184
void set_type(sym_vec_type, sym_vec_type)
Definition: sym_tens.cpp:87
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:922
Definition: symbolic.h:281
sym & operator*=(const sym &s)
Definition: symbolic.h:107
friend sym sin(const sym &)
Definition: sym.cpp:182
sym D(const sym &) const
Definition: sym_vec.cpp:248
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:1071
friend sym_vec operator-(const sym_vec &v)
Definition: sym_vec.cpp:172
int order() const
Definition: symbolic.h:435
rational & operator-=(const rational &q)
Definition: symbolic.h:31
sym_expr * exp()
Definition: sym_expr.cpp:57
const sym & one
Definition: symbolic.h:307
friend sym log(const sym &)
Definition: sym.cpp:223
sym & operator=(double n)
Definition: symbolic.h:102
sym_expr * cos()
Definition: sym_expr.cpp:53
sym_cos * clone() const
Definition: sym_expr.cpp:947
sym_tens operator*(const sym &) const
Definition: sym_tens.cpp:193
int n
Definition: symbolic.h:15
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:226
static bool spherical
Definition: symbolic.h:305
void add_bc(const sym &s, solver *op, int n, std::string type, std::string eq_name, std::string var_name, const matrix &d)
Definition: symbolic.cpp:592
~sym_prod()
Definition: sym_expr.cpp:588
sym_prod()
Definition: symbolic.h:470
friend class sym
Definition: symbolic.h:223
matrix eval() const
Definition: sym.cpp:276
friend bool sort_pair_r(const std::pair< sym_expr *, rational > &, const std::pair< sym_expr *, rational > &)
sym rzz
Definition: symbolic.h:298
Definition: symbolic.h:374
sym_exp()
Definition: symbolic.h:522
sym theta
Definition: symbolic.h:297
bool is_const
Definition: symbolic.h:421
matrix eval() const
Definition: sym_expr.cpp:918
Definition: symbolic.h:187
int order() const
Definition: symbolic.h:450
std::ostream & operator<<(std::ostream &os, const rational &)
Definition: rational.cpp:129
sym & operator/=(double n)
Definition: symbolic.h:112
Definition: symbolic.h:73
sym_add()
Definition: symbolic.h:452
sym_expr * oper
Definition: symbolic.h:437
static double round_to_tol(double)
Definition: symbolic.cpp:66
int den() const
Definition: rational.cpp:12
matrix eval() const
Definition: sym_expr.cpp:816
sym_expr * pow(const rational &)
Definition: sym_expr.cpp:45
static sym_add * create(sym_expr *, sym_expr *)
Definition: sym_expr.cpp:532
int num() const
Definition: rational.cpp:8
double value
Definition: symbolic.h:405
~sym_cos()
Definition: sym_expr.cpp:938
sym s[3][3]
Definition: symbolic.h:237
std::string name
Definition: symbolic.h:419
sym_expr * oper
Definition: symbolic.h:520
sym_expr * oper
Definition: symbolic.h:504
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:515
sym_vec contravariant(const sym_vec &)
Definition: symbolic.cpp:301
rational & operator+=(const rational &q)
Definition: symbolic.h:30
symbolic * context
Definition: symbolic.h:83
int comp(const sym_expr &) const
Definition: sym_expr.cpp:608
friend bool sort_pair_d(const std::pair< sym_expr *, double > &, const std::pair< sym_expr *, double > &)
virtual sym_expr * clone() const =0
sym regvar_indep(const std::string &name)
Definition: symbolic.cpp:109
sym & operator()(int)
Definition: sym_vec.cpp:102
matrix eval() const
Definition: sym_expr.cpp:249
static bool expand_products
Definition: symbolic.h:302
sym det(const sym_tens &)
Definition: symbolic.cpp:277
bool sort_pair_d(const std::pair< sym::sym_expr *, double > &, const std::pair< sym::sym_expr *, double > &)
sym regconst(const std::string &name)
Definition: symbolic.cpp:101
int comp(const sym_expr &) const
Definition: sym_expr.cpp:118
sym_tens T() const
Definition: sym_tens.cpp:240
sym rtt
Definition: symbolic.h:298
sym rt
Definition: symbolic.h:298
sym_exp * clone() const
Definition: sym_expr.cpp:1016
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:974
void init()
Definition: symbolic.cpp:59
sym log(const sym &)
Definition: sym.cpp:223
Definition: symbolic.h:236
~sym_deriv()
Definition: sym_expr.cpp:169
sym sqrt_g
Definition: symbolic.h:297
void set_map(const mapping &map)
Definition: symbolic.cpp:145
sym_vec operator,(const sym_vec &) const
Definition: sym_tens.cpp:146
sym Dz(const sym &s)
Definition: symbolic.h:368
int d
Definition: symbolic.h:15
int comp(const sym_expr &) const
Definition: sym_expr.cpp:1020
sym sin(const sym &)
Definition: sym.cpp:182
Definition: symbolic.h:417
rational(int num=1, int den=1)
Definition: rational.cpp:16
sym divergence(const sym_vec &v)
Definition: symbolic.cpp:468
bool operator!=(const rational &q) const
Definition: symbolic.h:36
int order() const
Definition: symbolic.h:488
~sym_sin()
Definition: sym_expr.cpp:869
static sym_prod * create_pow(sym_expr *, const rational &)
Definition: sym_expr.cpp:857
symbolic * check_context() const
Definition: sym_vec.cpp:23
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:497
sym_vec_type
Definition: symbolic.h:187
sym phi
Definition: symbolic.h:297
friend sym jacobian(const sym &, const sym &)
Definition: sym.cpp:258
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:798
rational operator+() const
Definition: symbolic.h:24
bool is_covariant()
Definition: sym_vec.cpp:82
sym zeta
Definition: symbolic.h:297
sym_tens contravariant_contravariant(const sym_tens &s)
Definition: symbolic.h:353
rational operator+(const int &n, const rational &q)
Definition: symbolic.h:44
sym_tens operator*(double n) const
Definition: symbolic.h:261
sym operator,(const sym_vec &) const
Definition: sym_vec.cpp:123
int comp(const sym_expr &) const
Definition: sym_expr.cpp:283
sym operator%(const sym_tens &) const
Definition: sym_tens.cpp:223
bool operator<=(const rational &q) const
Definition: symbolic.h:40
sym_add * clone() const
Definition: sym_expr.cpp:279
int maxder
Definition: symbolic.h:287
int comp(const sym_expr &) const
Definition: sym_expr.cpp:183
Definition: symbolic.h:14
virtual int order() const =0
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:253
~sym_log()
Definition: sym_expr.cpp:1100
friend sym pow(const sym &, const rational &)
Definition: sym.cpp:167
void bc_bot2_add(solver *op, int n, std::string eq_name, std::string var_name) const
Definition: sym.cpp:297
symbolic * check_context() const
Definition: sym.cpp:70
rational inv() const
Definition: rational.cpp:89
sym_num * clone() const
Definition: sym_expr.cpp:71
double perm(int i, int j, int k)
Definition: symbolic.cpp:411
bool operator!=(const sym &s) const
Definition: symbolic.h:121
sym_expr * reduce()
Definition: sym_expr.cpp:303
sym sqrt(const sym &s)
Definition: symbolic.h:169
double eval() const
Definition: rational.cpp:53
static sym_sin * create(sym_expr *)
Definition: sym_expr.cpp:926
sym tan(const sym &)
Definition: sym.cpp:206
sym Dt(const sym &)
Definition: symbolic.cpp:270
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:129
rational operator-(const rational &q) const
Definition: symbolic.h:26
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:103
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:1165
rational operator*(const rational &q) const
Definition: rational.cpp:57
sym_vec curl(const sym_vec &v)
Definition: symbolic.h:364
rational & reduce()
Definition: rational.cpp:37
~symbolic()
Definition: symbolic.h:309
sym & operator*=(double n)
Definition: symbolic.h:111
bool operator<(const sym_expr &s) const
Definition: symbolic.h:385
sym_vec(sym_vec_type type_set=CONTRAVARIANT)
Definition: sym_vec.cpp:10
sym_tens covariant_covariant(const sym_tens &s)
Definition: symbolic.h:356
sym_expr * reduce()
Definition: sym_expr.cpp:86
sym_expr * reduce()
Definition: sym_expr.cpp:628
Definition: symbolic.h:430
rational & operator*=(const rational &q)
Definition: symbolic.h:32
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:905
friend sym_tens operator-(const sym_tens &v)
Definition: sym_tens.cpp:180
Definition: symbolic.h:502
sym_expr * multiply(const sym_add &)
Definition: sym_expr.cpp:543
Definition: symbolic.h:448
friend class sym
Definition: symbolic.h:269
virtual int comp(const sym_expr &s) const =0
bool operator==(const sym_expr &s) const
Definition: symbolic.h:386
void bc_bot1_add(solver *op, int n, std::string eq_name, std::string var_name) const
Definition: sym.cpp:295
bool operator>(const rational &q) const
Definition: rational.cpp:117
symbolic * context
Definition: symbolic.h:435
std::vector< std::pair< sym_expr *, rational > > oper
Definition: symbolic.h:468
int comp(const sym_expr &) const
Definition: sym_expr.cpp:1113
symbolic * context
Definition: symbolic.h:422
rational & operator/=(const rational &q)
Definition: symbolic.h:33
int comp(const sym_expr &) const
Definition: sym_expr.cpp:951
friend sym operator*(const sym &, const sym &)
Definition: sym.cpp:155
int comp(const sym_expr &) const
Definition: sym_expr.cpp:75
virtual sym_expr * derive(const sym_expr &)=0
bool operator!=(const sym_expr &s) const
Definition: symbolic.h:389
void add(solver *op, std::string eq_name, std::string var_name) const
Definition: sym.cpp:282
sym_sin * clone() const
Definition: sym_expr.cpp:878
sym rzt
Definition: symbolic.h:298
bool operator>(const sym_expr &s) const
Definition: symbolic.h:384
bool is_contravariant()
Definition: sym_vec.cpp:83
int order() const
Definition: symbolic.h:468
friend sym cos(const sym &)
Definition: sym.cpp:194
sym_log * clone() const
Definition: sym_expr.cpp:1109
sym_vec contravariant(const sym_vec &s)
Definition: symbolic.h:351
sym_sin()
Definition: symbolic.h:490
sym_vec curl(const sym_vec &v)
Definition: symbolic.cpp:510
sym & operator=(const sym &)
Definition: sym.cpp:37
sym_tens contravariant_contravariant(const sym_tens &)
Definition: symbolic.cpp:327
bool operator==(double n) const
Definition: symbolic.h:122
sym exp(const sym &)
Definition: sym.cpp:211
bool is_covariant(int)
Definition: sym_tens.cpp:85
sym_expr * derive(const sym_expr &)
Definition: sym_expr.cpp:94
sym_expr * add(const sym_expr &)
Definition: sym_expr.cpp:37
sym pow(const sym &, const rational &)
Definition: sym.cpp:167
int order() const
Definition: symbolic.h:536
~sym_exp()
Definition: sym_expr.cpp:1007
symbolic()
Definition: symbolic.cpp:13
virtual ~sym_expr()
Definition: symbolic.h:376
sym_expr * log()
Definition: sym_expr.cpp:61
sym_tens covariant_contravariant(const sym_tens &)
Definition: symbolic.cpp:369
symbol * clone() const
Definition: sym_expr.cpp:114
virtual sym_expr * reduce()
Definition: symbolic.h:379
static sym_log * create(sym_expr *)
Definition: sym_expr.cpp:1184
sym_tens inv(const sym_tens &)
Definition: symbolic.cpp:286
sym covderiv(const sym_vec &, int, int)
Definition: symbolic.cpp:442
sym_tens covariant_contravariant(const sym_tens &s)
Definition: symbolic.h:355
sym_deriv()
Definition: symbolic.h:432
sym & operator()(int, int)
Definition: sym_tens.cpp:103
std::map< std::string, int > par
Definition: symbolic.h:284
matrix get_value(const sym::sym_expr &)
Definition: symbolic.cpp:232
sym_expr * power(int n)
Definition: sym_expr.cpp:558
void set_value(const char *name, const matrix &value, int parity=0)
Definition: symbolic.cpp:133
sym_vec operator*(double n) const
Definition: symbolic.h:214
matrix eval() const
Definition: sym_expr.cpp:505
std::map< std::string, sym::symbol > vars
Definition: symbolic.h:282
friend std::ostream & operator<<(std::ostream &os, const sym::sym_expr &)
Definition: sym_expr.cpp:32
sym x[3]
Definition: symbolic.h:300
sym_vec operator/(double n) const
Definition: symbolic.h:216
sym_deriv * clone() const
Definition: sym_expr.cpp:179
std::vector< std::pair< sym_expr *, double > > oper
Definition: symbolic.h:450
matrix eval() const
Definition: sym_expr.cpp:159
rational operator/(const int &n, const rational &q)
Definition: symbolic.h:47
sym Dt(const sym &s)
Definition: symbolic.h:369
Definition: symbolic.h:189
sym & operator+=(const sym &s)
Definition: symbolic.h:105
void add(const sym &s, solver *op, int n, std::string type, std::string eq_name, std::string var_name, const matrix &d)
Definition: symbolic.cpp:546
sym s[3]
Definition: symbolic.h:190
sym_vec gradient(const sym &)
Definition: symbolic.cpp:419
static int gcd(int a, int b)
Definition: rational.cpp:22
sym_tens g_
Definition: symbolic.h:299
sym rz
Definition: symbolic.h:298
sym Dz(const sym &)
Definition: symbolic.cpp:267
friend sym trig_simplify(const sym &)
Definition: sym.cpp:50
sym_vec grad(const sym &s)
Definition: symbolic.h:358
Definition: symbolic.h:534
mapping map
Definition: symbolic.h:285
rational operator-() const
Definition: rational.cpp:81
friend sym_vec cross(const sym_vec &, const sym_vec &)
Definition: sym_vec.cpp:210
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:163
sym_expr * oper
Definition: symbolic.h:488
bool operator==(const rational &q) const
Definition: rational.cpp:113
static sym_exp * create(sym_expr *)
Definition: sym_expr.cpp:1088
sym & operator+=(double n)
Definition: symbolic.h:109
sym_tens operator+(const sym_tens &) const
Definition: sym_tens.cpp:164
bool operator!=(double n) const
Definition: symbolic.h:123
rational pow(int) const
Definition: rational.cpp:95
sym_vec cross(const sym_vec &, const sym_vec &)
Definition: sym_vec.cpp:210
sym_expr * expr
Definition: symbolic.h:86
friend sym exp(const sym &)
Definition: sym.cpp:211
void bc_top1_add(solver *op, int n, std::string eq_name, std::string var_name) const
Definition: sym.cpp:291
sym_tens operator/(double n) const
Definition: symbolic.h:263
sym & operator-=(double n)
Definition: symbolic.h:110
sym christoffel(int, int, int)
Definition: symbolic.cpp:431
bool operator==(const sym &s) const
Definition: sym.cpp:274
sym_tens covariant_covariant(const sym_tens &)
Definition: symbolic.cpp:390
sym_tens operator/(const sym &) const
Definition: sym_tens.cpp:208
sym_expr * mult(const sym_expr &)
Definition: sym_expr.cpp:41
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:1084
void set_context(symbolic *context)
Definition: sym_tens.cpp:17
bool is_contravariant(int)
Definition: sym_tens.cpp:86
sym d(const sym &s, int k)
Definition: symbolic.h:288
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:991
matrix eval() const
Definition: sym_expr.cpp:1176
sym_tens tensor(const sym_vec &, const sym_vec &)
Definition: sym_vec.cpp:234
sym_vec covariant(const sym_vec &)
Definition: symbolic.cpp:314
std::map< std::string, matrix > val
Definition: symbolic.h:283
static sym_deriv * create(sym_expr *, const symbol &)
Definition: sym_expr.cpp:215
int order() const
Definition: symbolic.h:504
symbol var
Definition: symbolic.h:438
matrix eval() const
Definition: sym_expr.cpp:987
~sym()
Definition: sym.cpp:12
rational abs(const rational &q)
Definition: rational.cpp:125
friend sym_tens tensor(const sym_vec &, const sym_vec &)
Definition: sym_vec.cpp:234
sym regvar(const std::string &name)
Definition: symbolic.cpp:79
sym_vec set_variance(const sym_vec &) const
Definition: sym_vec.cpp:86
sym_vec covariant(const sym_vec &s)
Definition: symbolic.h:352
sym_expr * oper
Definition: symbolic.h:536
bool operator<=(const sym_expr &s) const
Definition: symbolic.h:388
Definition: symbolic.h:187
sym_expr * reduce()
Definition: sym_expr.cpp:1031
std::ostream & print(std::ostream &) const
Definition: sym_expr.cpp:826
sym lap(const sym &s)
Returns the laplacian of the expression s.
Definition: symbolic.h:363
sym_vec_type type
Definition: symbolic.h:191
sym_vec_type type[2]
Definition: symbolic.h:238
int order() const
Definition: symbolic.h:520
matrix eval() const
Definition: sym_expr.cpp:99
sym_cos()
Definition: symbolic.h:506