#include <Tanh.hpp>
Public Types | |
typedef REAL_T | BASE_TYPE |
typedef REAL_T | BASE_TYPE |
Public Member Functions | |
Tanh (const ExpressionBase< REAL_T, EXPR > &a) | |
const REAL_T | GetValue () const |
const REAL_T | GetValue (size_t i, size_t j=0) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const |
const REAL_T | EvaluateDerivative (uint32_t id) const |
REAL_T | EvaluateDerivative (uint32_t a, uint32_t b) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const |
const REAL_T | EvaluateDerivative (uint32_t id, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t a, uint32_t b, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const |
size_t | GetColumns () const |
size_t | GetRows () const |
bool | IsScalar () const |
Tanh (const ExpressionBase< REAL_T, EXPR > &a) | |
const REAL_T | GetValue () const |
const REAL_T | GetValue (size_t i, size_t j=0) const |
bool | IsNonlinear () const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const |
const REAL_T | EvaluateDerivative (uint32_t x) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const |
const REAL_T | EvaluateDerivative (uint32_t x, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const |
size_t | GetRows () const |
bool | IsScalar () const |
const std::string | ToExpressionTemplateString () const |
Public Member Functions inherited from atl::ExpressionBase< REAL_T, Tanh< REAL_T, EXPR > > | |
const Tanh< REAL_T, EXPR > & | Cast () const |
const Tanh< REAL_T, EXPR > & | Cast () const |
const REAL_T | GetValue () const |
const REAL_T | GetValue (size_t i, size_t j=0) const |
const REAL_T | GetValue () const |
const REAL_T | GetValue (size_t i, size_t j=0) const |
bool | IsNonlinear () const |
bool | IsNonlinear () const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const |
void | PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t a) const |
REAL_T | EvaluateDerivative (uint32_t a, uint32_t b) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const |
REAL_T | EvaluateDerivative (uint32_t a, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t a, uint32_t b, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const |
REAL_T | EvaluateDerivative (uint32_t x, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, size_t i, size_t j=0) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const |
const ExpressionBase & | operator= (const ExpressionBase &exp) const |
const ExpressionBase & | operator= (const ExpressionBase &exp) const |
size_t | GetColumns () const |
size_t | GetColumns () const |
size_t | GetRows () const |
size_t | GetRows () const |
bool | IsScalar () const |
bool | IsScalar () const |
std::string | ToExpressionTemplateString () const |
Public Attributes | |
const EXPR & | expr_m |
Expression template to handle hyperbolic tangent for variable or container expressions.
\( \tanh f(x) \)
or
\( \tanh f_{i,j}(x) \)
|
inline |
Constructor.
a |
|
inline |
Evaluates the first-order derivative with respect to x.
\( {\rm sech}\; ^2f(x)\,\left({{d}\over{d\,x}}\,f(x)\right) \)
x |
|
inline |
Evaluates the second-order derivative with respect to x and y.
\( {\rm sech}\; ^2f(x,y)\,\left({{d^2}\over{d\,x\,d\,y}}\,f (x,y)\right)-2\,{\rm sech}\; ^2f(x,y)\,\tanh f(x,y)\, \left({{d}\over{d\,x}}\,f(x,y)\right)\,\left({{d}\over{d\,y}} \,f(x,y)\right) \)
x | |
y |
|
inline |
Evaluates the third-order derivative with respect to x, y, z.
\( 4\,{\rm sech}\; ^2f(x,y,z)\,\tanh ^2f(x,y,z)\,\left({{d }\over{d\,x}}\,f(x,y,z)\right)\,\left({{d}\over{d\,y}}\,f (x,y,z)\right)\,\left({{d}\over{d\,z}}\,f(x,y,z)\right)- \\ 2\, {\rm sech}\; ^4f(x,y,z)\,\left({{d}\over{d\,x}}\,f(x,y,z )\right)\,\left({{d}\over{d\,y}}\,f(x,y,z)\right)\,\left({{d }\over{d\,z}}\,f(x,y,z)\right)- \\ 2\,{\rm sech}\; ^2f(x,y,z )\,\tanh f(x,y,z)\,\left({{d^2}\over{d\,x\,d\,y}}\,f(x,y ,z)\right)\,\left({{d}\over{d\,z}}\,f(x,y,z)\right)- \\ 2\, {\rm sech}\; ^2f(x,y,z)\,\tanh f(x,y,z)\,\left({{d }\over{d\,x}}\,f(x,y,z)\right)\,\left({{d^2}\over{d\,y\,d\,z}} \,f(x,y,z)\right)- \\ 2\,{\rm sech}\; ^2f(x,y,z)\,\tanh f(x,y,z)\, \left({{d^2}\over{d\,x\,d\,z}}\,f(x,y,z)\right)\, \left({{d}\over{d\,y}}\,f(x,y,z)\right)+ \\ {\rm sech}\; ^2f (x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,f(x,y,z)\right) \)
x | |
y | |
z |
|
inline |
Evaluates the first-order derivative with respect to x at index {i,j}.
\( {\rm sech}\; ^2f_{i,j}(x)\,\left({{d}\over{d\,x}}\,f_{i,j}(x) \right) \)
x | |
i | |
j |
|
inline |
Evaluates the second-order derivative with respect to x and y at index {i,j}.
\( {\rm sech}\; ^2f_{i,j}(x,y)\,\left({{d^2}\over{d\,x\,d\,y}}\,f_{i,j }(x,y)\right)-2\,{\rm sech}\; ^2f_{i,j}(x,y)\,\tanh f_{i,j}(x,y)\, \left({{d}\over{d\,x}}\,f_{i,j}(x,y)\right)\,\left({{d}\over{d\,y}} \,f_{i,j}(x,y)\right) \)
x | |
y | |
i | |
j |
|
inline |
Evaluates the third-order derivative with respect to x, y, z at index {i,j}.
\( 4\,{\rm sech}\; ^2f_{i,j}(x,y,z)\,\tanh ^2f_{i,j}(x,y,z)\,\left({{d }\over{d\,x}}\,f_{i,j}(x,y,z)\right)\,\left({{d}\over{d\,y}}\,f_{i,j }(x,y,z)\right)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y,z)\right)- \\ 2\, {\rm sech}\; ^4f_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z )\right)\,\left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)\,\left({{d }\over{d\,z}}\,f_{i,j}(x,y,z)\right)- \\ 2\,{\rm sech}\; ^2f_{i,j}(x,y,z )\,\tanh f_{i,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,y}}\,f_{i,j}(x,y ,z)\right)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y,z)\right)- \\ 2\, {\rm sech}\; ^2f_{i,j}(x,y,z)\,\tanh f_{i,j}(x,y,z)\,\left({{d }\over{d\,x}}\,f_{i,j}(x,y,z)\right)\,\left({{d^2}\over{d\,y\,d\,z}} \,f_{i,j}(x,y,z)\right)- \\ 2\,{\rm sech}\; ^2f_{i,j}(x,y,z)\,\tanh f_{i ,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,z}}\,f_{i,j}(x,y,z)\right)\, \left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)+ \\ {\rm sech}\; ^2f_{i,j} (x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,f_{i,j}(x,y,z)\right) \)
x | |
y | |
z | |
i | |
j |
|
inline |
Return the number of rows.
|
inline |
Computes the hyperbolic tangent of the evaluated expression.
|
inline |
Computes the hyperbolic tangent of the evaluated expression at index {i,j}.
|
inline |
Returns true.
|
inline |
True if this expression is a scalar.
|
inline |
Push variable info into a set.
ids |
|
inline |
Push variable info into a set at index {i,j}.
ids | |
i | |
j |
|
inline |
Create a string representation of this expression template.