Analytics Template Library
 All Classes Namespaces Functions Variables Pages
Public Types | Public Member Functions | Public Attributes | List of all members
atl::Pow< REAL_T, LHS, RHS > Struct Template Reference

#include <Pow.hpp>

Inheritance diagram for atl::Pow< REAL_T, LHS, RHS >:
atl::ExpressionBase< REAL_T, Pow< REAL_T, LHS, RHS > >

Public Types

typedef REAL_T BASE_TYPE
 

Public Member Functions

 Pow (const ExpressionBase< REAL_T, LHS > &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Pow (const REAL_T &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Pow (const ExpressionBase< REAL_T, LHS > &lhs, const REAL_T &rhs)
 
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
 
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
 
size_t GetColumns () const
 
size_t GetRows () const
 
bool IsScalar () const
 
const std::string ToExpressionTemplateString () const
 
- Public Member Functions inherited from atl::ExpressionBase< REAL_T, Pow< REAL_T, LHS, RHS > >
const Pow< REAL_T, LHS, RHS > & Cast () const
 
const Pow< REAL_T, LHS, RHS > & 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 ExpressionBaseoperator= (const ExpressionBase &exp) const
 
const ExpressionBaseoperator= (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

atl::Real< REAL_T > real_m
 
const LHS & lhs_m
 
const RHS & rhs_m
 
REAL_T value_m
 

Detailed Description

template<class REAL_T, class LHS, class RHS>
struct atl::Pow< REAL_T, LHS, RHS >

Expression template to handle pow for variable or container expressions.

\( f(x)^{g(x)} \)

or

\( f_{i,j}(x)^{g_{i,j}(x)} \)

Constructor & Destructor Documentation

template<class REAL_T, class LHS , class RHS >
atl::Pow< REAL_T, LHS, RHS >::Pow ( const ExpressionBase< REAL_T, LHS > &  lhs,
const ExpressionBase< REAL_T, RHS > &  rhs 
)
inline

Constructor for two expression template types.

Parameters
lhs
rhs
template<class REAL_T, class LHS , class RHS >
atl::Pow< REAL_T, LHS, RHS >::Pow ( const REAL_T &  lhs,
const ExpressionBase< REAL_T, RHS > &  rhs 
)
inline

Constructor for a real and expression template type.

Parameters
lhs
rhs
template<class REAL_T, class LHS , class RHS >
atl::Pow< REAL_T, LHS, RHS >::Pow ( const ExpressionBase< REAL_T, LHS > &  lhs,
const REAL_T &  rhs 
)
inline

Constructor for a expression template type and a real type.

Parameters
lhs
rhs

Member Function Documentation

template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x) const
inline

Evaluates the first-order derivative with respect to x.

\( f\left(x\right)^{g\left(x\right)}\,\left(\log f\left(x\right)\, \left({{d}\over{d\,x}}\,g\left(x\right)\right)+{{g\left(x\right)\, \left({{d}\over{d\,x}}\,f\left(x\right)\right)}\over{f\left(x\right) }}\right) \)

Parameters
x
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y 
) const
inline

Evaluates the second-order derivative with respect to x and y.

\( f(x,y)^{g(x,y)}\,\left({{{{d}\over{d\,x}}\,f(x,y) \,\left({{d}\over{d\,y}}\,g(x,y)\right)}\over{f(x,y)}}+ \log f(x,y)\,\left({{d^2}\over{d\,x\,d\,y}}\,g(x,y) \right)+{{{{d}\over{d\,y}}\,f(x,y)\,\left({{d}\over{d\,x}}\,g (x,y)\right)}\over{f(x,y)}}-{{g(x,y)\,\left({{d }\over{d\,x}}\,f(x,y)\right)\,\left({{d}\over{d\,y}}\,f( x,y)\right)}\over{f(x,y)^2}}+ \\ {{g(x,y)\,\left({{d^2 }\over{d\,x\,d\,y}}\,f(x,y)\right)}\over{f(x,y)}}\right) +f(x,y)^{g(x,y)}\,\left(\log f(x,y)\,\left({{d }\over{d\,x}}\,g(x,y)\right)+{{g(x,y)\,\left({{d}\over{d \,x}}\,f(x,y)\right)}\over{f(x,y)}}\right)\,\left(\log f (x,y)\,\left({{d}\over{d\,y}}\,g(x,y)\right)+{{g(x ,y)\,\left({{d}\over{d\,y}}\,f(x,y)\right)}\over{f(x,y) }}\right) \)

Parameters
x
y
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
uint32_t  z 
) const
inline

Evaluates the third-order derivative with respect to x, y, and z.

\(f(x,y,z)^{g(x,y,z)}\,\left(-{{{{d}\over{d\,x}}\,f (x,y,z)\,\left({{d}\over{d\,y}}\,f(x,y,z)\right)\,\left({{d }\over{d\,z}}\,g(x,y,z)\right)}\over{f(x,y,z)^2}}+{{{{d^ 2}\over{d\,x\,d\,y}}\,f(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j }(x,y,z)\right)}\over{f(x,y,z)}}+{{{{d}\over{d\,x}}\,f(x ,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,g(x,y,z)\right)}\over{f (x,y,z)}}-{{{{d}\over{d\,x}}\,f(x,y,z)\,\left({{d}\over{ d\,z}}\,f(x,y,z)\right)\,\left({{d}\over{d\,y}}\,g(x,y,z )\right)}\over{f(x,y,z)^2}}+ \\ {{{{d^2}\over{d\,x\,d\,z}}\,f_{i,j }(x,y,z)\,\left({{d}\over{d\,y}}\,g(x,y,z)\right)}\over{f_{i,j }(x,y,z)}}+{{{{d}\over{d\,y}}\,f(x,y,z)\,\left({{d^2}\over{d\, x\,d\,z}}\,g(x,y,z)\right)}\over{f(x,y,z)}}+\log f (x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,g(x,y,z)\right) +{{{{d}\over{d\,z}}\,f(x,y,z)\,\left({{d^2}\over{d\,x\,d\,y}} \,g(x,y,z)\right)}\over{f(x,y,z)}}-{{{{d}\over{d\,y}}\,f (x,y,z)\,\left({{d}\over{d\,z}}\,f(x,y,z)\right)\,\left( {{d}\over{d\,x}}\,g(x,y,z)\right)}\over{f(x,y,z)^2}}+{{ {{d^2}\over{d\,y\,d\,z}}\,f(x,y,z)\,\left({{d}\over{d\,x}}\,g (x,y,z)\right)}\over{f(x,y,z)}}+ \\ {{2\,g(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)}\over{f(x,y,z)^3}}-{{g(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)}\over{f(x,y,z)^2}}-{{g(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)}\over{f(x,y,z)^2}}-{{g( 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)}\over{f(x,y,z)^2 }}+{{g(x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,f(x ,y,z)\right)}\over{f(x,y,z)}}\right)+ \\ f(x,y,z)^{g(x ,y,z)}\,\left(\log f(x,y,z)\,\left({{d}\over{d\,x}}\,g(x ,y,z)\right)+{{g(x,y,z)\,\left({{d}\over{d\,x}}\,f(x,y,z )\right)}\over{f(x,y,z)}}\right)\,\left({{{{d}\over{d\,y}}\,f (x,y,z)\,\left({{d}\over{d\,z}}\,g(x,y,z)\right)}\over{f (x,y,z)}}+\log f(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}} \,g(x,y,z)\right)+{{{{d}\over{d\,z}}\,f(x,y,z)\,\left({{ d}\over{d\,y}}\,g(x,y,z)\right)}\over{f(x,y,z)}}-{{g_{i, j}(x,y,z)\,\left({{d}\over{d\,y}}\,f(x,y,z)\right)\,\left({{d }\over{d\,z}}\,f(x,y,z)\right)}\over{f(x,y,z)^2}}+{{g_{i ,j}(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,f(x,y,z)\right) }\over{f(x,y,z)}}\right)+ \\ f(x,y,z)^{g(x,y,z)}\, \left(\log f(x,y,z)\,\left({{d}\over{d\,y}}\,g(x,y,z) \right)+{{g(x,y,z)\,\left({{d}\over{d\,y}}\,f(x,y,z) \right)}\over{f(x,y,z)}}\right)\,\left({{{{d}\over{d\,x}}\,f_{ i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g(x,y,z)\right)}\over{f_{ i,j}(x,y,z)}}+\log f(x,y,z)\,\left({{d^2}\over{d\,x\,d\,z}}\,g (x,y,z)\right)+{{{{d}\over{d\,z}}\,f(x,y,z)\,\left({{d }\over{d\,x}}\,g(x,y,z)\right)}\over{f(x,y,z)}}-{{g_{i,j }(x,y,z)\,\left({{d}\over{d\,x}}\,f(x,y,z)\right)\,\left({{d }\over{d\,z}}\,f(x,y,z)\right)}\over{f(x,y,z)^2}}+{{g_{i ,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,z}}\,f(x,y,z)\right) }\over{f(x,y,z)}}\right)+ \\ f(x,y,z)^{g(x,y,z)}\, \left({{{{d}\over{d\,x}}\,f(x,y,z)\,\left({{d}\over{d\,y}}\,g (x,y,z)\right)}\over{f(x,y,z)}}+\log f(x,y,z)\, \left({{d^2}\over{d\,x\,d\,y}}\,g(x,y,z)\right)+{{{{d}\over{d \,y}}\,f(x,y,z)\,\left({{d}\over{d\,x}}\,g(x,y,z)\right) }\over{f(x,y,z)}}-{{g(x,y,z)\,\left({{d}\over{d\,x}}\,f (x,y,z)\right)\,\left({{d}\over{d\,y}}\,f(x,y,z)\right) }\over{f(x,y,z)^2}}+{{g(x,y,z)\,\left({{d^2}\over{d\,x\, d\,y}}\,f(x,y,z)\right)}\over{f(x,y,z)}}\right)\,\left( \log f(x,y,z)\,\left({{d}\over{d\,z}}\,g(x,y,z)\right)+ {{g(x,y,z)\,\left({{d}\over{d\,z}}\,f(x,y,z)\right) }\over{f(x,y,z)}}\right)+ \\ f(x,y,z)^{g(x,y,z)}\, \left(\log f(x,y,z)\,\left({{d}\over{d\,x}}\,g(x,y,z) \right)+{{g(x,y,z)\,\left({{d}\over{d\,x}}\,f(x,y,z) \right)}\over{f(x,y,z)}}\right)\,\left(\log f(x,y,z)\, \left({{d}\over{d\,y}}\,g(x,y,z)\right)+{{g(x,y,z)\, \left({{d}\over{d\,y}}\,f(x,y,z)\right)}\over{f(x,y,z)}} \right)\,\left(\log f(x,y,z)\,\left({{d}\over{d\,z}}\,g( x,y,z)\right)+{{g(x,y,z)\,\left({{d}\over{d\,z}}\,f(x,y, z)\right)}\over{f(x,y,z)}}\right) \)

Parameters
x
y
z
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the first-order derivative with respect to x at index {i,j}.

\( f_{i,j}(x)^{g_{i,j}(x)}\,\left(\log f_{i,j}(x)\,\left({{d}\over{d\, x}}\,g_{i,j}(x)\right)+{{g_{i,j}(x)\,\left({{d}\over{d\,x}}\,f_{i,j} (x)\right)}\over{f_{i,j}(x)}}\right) \)

Parameters
x
i
j
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the second-order derivative with respect to x and y at index {i,j}.

\( f_{i,j}(x,y)^{g_{i,j}(x,y)}\,\left({{{{d}\over{d\,x}}\,f_{i,j}(x,y) \,\left({{d}\over{d\,y}}\,g_{i,j}(x,y)\right)}\over{f_{i,j}(x,y)}}+ \log f_{i,j}(x,y)\,\left({{d^2}\over{d\,x\,d\,y}}\,g_{i,j}(x,y) \right)+{{{{d}\over{d\,y}}\,f_{i,j}(x,y)\,\left({{d}\over{d\,x}}\,g _{i,j}(x,y)\right)}\over{f_{i,j}(x,y)}}-{{g_{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)}\over{f_{i,j}(x,y)^2}}+ \\ {{g_{i,j}(x,y)\,\left({{d^2 }\over{d\,x\,d\,y}}\,f_{i,j}(x,y)\right)}\over{f_{i,j}(x,y)}}\right) +f_{i,j}(x,y)^{g_{i,j}(x,y)}\,\left(\log f_{i,j}(x,y)\,\left({{d }\over{d\,x}}\,g_{i,j}(x,y)\right)+{{g_{i,j}(x,y)\,\left({{d}\over{d \,x}}\,f_{i,j}(x,y)\right)}\over{f_{i,j}(x,y)}}\right)\,\left(\log f _{i,j}(x,y)\,\left({{d}\over{d\,y}}\,g_{i,j}(x,y)\right)+{{g_{i,j}(x ,y)\,\left({{d}\over{d\,y}}\,f_{i,j}(x,y)\right)}\over{f_{i,j}(x,y) }}\right) \)

Parameters
x
y
i
j
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Pow< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
uint32_t  z,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the third-order derivative with respect to x, y, and z at index {i,j}.

\(f_{i,j}(x,y,z)^{g_{i,j}(x,y,z)}\,\left(-{{{{d}\over{d\,x}}\,f_{i,j} (x,y,z)\,\left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)\,\left({{d }\over{d\,z}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)^2}}+{{{{d^ 2}\over{d\,x\,d\,y}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j }(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}+{{{{d}\over{d\,x}}\,f_{i,j}(x ,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,g_{i,j}(x,y,z)\right)}\over{f _{i,j}(x,y,z)}}-{{{{d}\over{d\,x}}\,f_{i,j}(x,y,z)\,\left({{d}\over{ d\,z}}\,f_{i,j}(x,y,z)\right)\,\left({{d}\over{d\,y}}\,g_{i,j}(x,y,z )\right)}\over{f_{i,j}(x,y,z)^2}}+ \\ {{{{d^2}\over{d\,x\,d\,z}}\,f_{i,j }(x,y,z)\,\left({{d}\over{d\,y}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j }(x,y,z)}}+{{{{d}\over{d\,y}}\,f_{i,j}(x,y,z)\,\left({{d^2}\over{d\, x\,d\,z}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}+\log f_{i,j} (x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,g_{i,j}(x,y,z)\right) +{{{{d}\over{d\,z}}\,f_{i,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,y}} \,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}-{{{{d}\over{d\,y}}\,f _{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y,z)\right)\,\left( {{d}\over{d\,x}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)^2}}+{{ {{d^2}\over{d\,y\,d\,z}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,g _{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}+ \\ {{2\,g_{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)}\over{f_{i,j}(x,y,z)^3}}-{{g_{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)}\over{f_{i,j}(x,y,z)^2}}-{{g_{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)}\over{f_{i,j}(x,y,z)^2}}-{{g_{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)}\over{f_{i,j}(x,y,z)^2 }}+{{g_{i,j}(x,y,z)\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,f_{i,j}(x ,y,z)\right)}\over{f_{i,j}(x,y,z)}}\right)+ \\ f_{i,j}(x,y,z)^{g_{i,j}(x ,y,z)}\,\left(\log f_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,g_{i,j}(x ,y,z)\right)+{{g_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z )\right)}\over{f_{i,j}(x,y,z)}}\right)\,\left({{{{d}\over{d\,y}}\,f _{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j}(x,y,z)\right)}\over{f _{i,j}(x,y,z)}}+\log f_{i,j}(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}} \,g_{i,j}(x,y,z)\right)+{{{{d}\over{d\,z}}\,f_{i,j}(x,y,z)\,\left({{ d}\over{d\,y}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}-{{g_{i, j}(x,y,z)\,\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{f_{i,j}(x,y,z)^2}}+{{g_{i ,j}(x,y,z)\,\left({{d^2}\over{d\,y\,d\,z}}\,f_{i,j}(x,y,z)\right) }\over{f_{i,j}(x,y,z)}}\right)+ \\ f_{i,j}(x,y,z)^{g_{i,j}(x,y,z)}\, \left(\log f_{i,j}(x,y,z)\,\left({{d}\over{d\,y}}\,g_{i,j}(x,y,z) \right)+{{g_{i,j}(x,y,z)\,\left({{d}\over{d\,y}}\,f_{i,j}(x,y,z) \right)}\over{f_{i,j}(x,y,z)}}\right)\,\left({{{{d}\over{d\,x}}\,f_{ i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j}(x,y,z)\right)}\over{f_{ i,j}(x,y,z)}}+\log f_{i,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,z}}\,g _{i,j}(x,y,z)\right)+{{{{d}\over{d\,z}}\,f_{i,j}(x,y,z)\,\left({{d }\over{d\,x}}\,g_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}-{{g_{i,j }(x,y,z)\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z)\right)\,\left({{d }\over{d\,z}}\,f_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)^2}}+{{g_{i ,j}(x,y,z)\,\left({{d^2}\over{d\,x\,d\,z}}\,f_{i,j}(x,y,z)\right) }\over{f_{i,j}(x,y,z)}}\right)+ \\ f_{i,j}(x,y,z)^{g_{i,j}(x,y,z)}\, \left({{{{d}\over{d\,x}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,y}}\,g _{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}+\log f_{i,j}(x,y,z)\, \left({{d^2}\over{d\,x\,d\,y}}\,g_{i,j}(x,y,z)\right)+{{{{d}\over{d \,y}}\,f_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,g_{i,j}(x,y,z)\right) }\over{f_{i,j}(x,y,z)}}-{{g_{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) }\over{f_{i,j}(x,y,z)^2}}+{{g_{i,j}(x,y,z)\,\left({{d^2}\over{d\,x\, d\,y}}\,f_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}}\right)\,\left( \log f_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j}(x,y,z)\right)+ {{g_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y,z)\right) }\over{f_{i,j}(x,y,z)}}\right)+ \\ f_{i,j}(x,y,z)^{g_{i,j}(x,y,z)}\, \left(\log f_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,g_{i,j}(x,y,z) \right)+{{g_{i,j}(x,y,z)\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z) \right)}\over{f_{i,j}(x,y,z)}}\right)\,\left(\log f_{i,j}(x,y,z)\, \left({{d}\over{d\,y}}\,g_{i,j}(x,y,z)\right)+{{g_{i,j}(x,y,z)\, \left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)}\over{f_{i,j}(x,y,z)}} \right)\,\left(\log f_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,g_{i,j}( x,y,z)\right)+{{g_{i,j}(x,y,z)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y, z)\right)}\over{f_{i,j}(x,y,z)}}\right) \)

Parameters
x
y
z
i
j
Returns
template<class REAL_T, class LHS , class RHS >
size_t atl::Pow< REAL_T, LHS, RHS >::GetColumns ( ) const
inline

Returns the number of columns.

Returns
template<class REAL_T, class LHS , class RHS >
size_t atl::Pow< REAL_T, LHS, RHS >::GetRows ( ) const
inline

Returns the number of rows.

Returns
template<class REAL_T, class LHS , class RHS >
const REAL_T atl::Pow< REAL_T, LHS, RHS >::GetValue ( ) const
inline

Computes the the evaluation of the lhs raised by the evaluation of the rhs.

Returns
template<class REAL_T, class LHS , class RHS >
const REAL_T atl::Pow< REAL_T, LHS, RHS >::GetValue ( size_t  i,
size_t  j = 0 
) const
inline

Computes the the evaluation of the lhs raised by the evaluation of the rhs at index {i,j}.

Returns
template<class REAL_T, class LHS , class RHS >
bool atl::Pow< REAL_T, LHS, RHS >::IsNonlinear ( ) const
inline

Returns true.

Returns
template<class REAL_T, class LHS , class RHS >
bool atl::Pow< REAL_T, LHS, RHS >::IsScalar ( ) const
inline

True if scalar.

Returns
template<class REAL_T, class LHS , class RHS >
void atl::Pow< REAL_T, LHS, RHS >::PushIds ( typename atl::StackEntry< REAL_T >::vi_storage &  ids) const
inline

Push ids into a set.

Parameters
ids
template<class REAL_T, class LHS , class RHS >
void atl::Pow< REAL_T, LHS, RHS >::PushIds ( typename atl::StackEntry< REAL_T >::vi_storage &  ids,
size_t  i,
size_t  j = 0 
) const
inline

Push ids into a set at index {i,j}.

Parameters
ids
i
j
template<class REAL_T, class LHS , class RHS >
const std::string atl::Pow< REAL_T, LHS, RHS >::ToExpressionTemplateString ( ) const
inline

Create a string representation of this expression template.

Returns

The documentation for this struct was generated from the following file: