#include <Sqrt.hpp>
Public Types | |
typedef REAL_T | BASE_TYPE |
typedef REAL_T | BASE_TYPE |
Public Member Functions | |
Sqrt (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 |
Sqrt (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, Sqrt< REAL_T, EXPR > > | |
const Sqrt< REAL_T, EXPR > & | Cast () const |
const Sqrt< 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 square root of a variable or container expressions.
\( \sqrt f(x) \)
or
\( \sqrt f_{i,j}(x) \)
|
inline |
Constructor
a |
|
inline |
Evaluates the first-order derivative with respect to x.
\( {{{{d}\over{d\,x}}\,f(x)}\over{2\,\sqrt{f(x)}}} \)
x |
|
inline |
Evaluates the second-order derivative with respect to x and y.
\( {{{{d^2}\over{d\,x\,d\,y}}\,f(x,y)}\over{2\,\sqrt{f(x,y )}}}-{{{{d}\over{d\,x}}\,f(x,y)\,\left({{d}\over{d\,y}}\, f(x,y)\right)}\over{4\,f(x,y)^{{{3}\over{2}}}}} \)
x | |
y |
|
inline |
Evaluates the third-order derivative with respect to x, y, and z.
\( {{3\,\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_{i,j }(x,y,z)\right)}\over{8\,f(x,y,z)^{{{5}\over{2}}}}}-{{{{d^2 }\over{d\,x\,d\,y}}\,f(x,y,z)\,\left({{d}\over{d\,z}}\,f (x,y,z)\right)}\over{4\,f(x,y,z)^{{{3}\over{2}}}}}-{{{{d }\over{d\,x}}\,f(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,f_{i, j}(x,y,z)\right)}\over{4\,f(x,y,z)^{{{3}\over{2}}}}}-{{{{d^2 }\over{d\,x\,d\,z}}\,f(x,y,z)\,\left({{d}\over{d\,y}}\,f (x,y,z)\right)}\over{4\,f(x,y,z)^{{{3}\over{2}}}}}+{{{{d^3 }\over{d\,x\,d\,y\,d\,z}}\,f(x,y,z)}\over{2\,\sqrt{f(x,y ,z)}}} \)
x | |
y | |
z |
|
inline |
Evaluates the first-order derivative with respect to x at index {i,j}.
\( {{{{d}\over{d\,x}}\,f_{i,j}(x)}\over{2\,\sqrt{f_{i,j}(x)}}} \)
x | |
i | |
j |
|
inline |
Evaluates the second-order derivative with respect to x and y at index {i,j}.
\( {{{{d^2}\over{d\,x\,d\,y}}\,f_{i,j}(x,y)}\over{2\,\sqrt{f_{i,j}(x,y )}}}-{{{{d}\over{d\,x}}\,f_{i,j}(x,y)\,\left({{d}\over{d\,y}}\,f_{i, j}(x,y)\right)}\over{4\,f_{i,j}(x,y)^{{{3}\over{2}}}}} \)
x | |
y | |
i | |
j |
|
inline |
Evaluates the third-order derivative with respect to x, y, and z at index {i,j}.
\( {{3\,\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)}\over{8\,f_{i,j}(x,y,z)^{{{5}\over{2}}}}}-{{{{d^2 }\over{d\,x\,d\,y}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,f_{i,j} (x,y,z)\right)}\over{4\,f_{i,j}(x,y,z)^{{{3}\over{2}}}}}-{{{{d }\over{d\,x}}\,f_{i,j}(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,f_{i, j}(x,y,z)\right)}\over{4\,f_{i,j}(x,y,z)^{{{3}\over{2}}}}}-{{{{d^2 }\over{d\,x\,d\,z}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,y}}\,f_{i,j} (x,y,z)\right)}\over{4\,f_{i,j}(x,y,z)^{{{3}\over{2}}}}}+{{{{d^3 }\over{d\,x\,d\,y\,d\,z}}\,f_{i,j}(x,y,z)}\over{2\,\sqrt{f_{i,j}(x,y ,z)}}} \)
x | |
y | |
z | |
i | |
j |
|
inline |
Return the number of rows.
|
inline |
Compute the square root of the evaluated expression.
|
inline |
Compute the square root 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.