DACE 2.0 API Manual
Differential Algebra Core Engine
Data Structures | Typedefs | Functions
DACE Namespace Reference

Data Structures

class  AlgebraicMatrix
 
class  AlgebraicVector
 
class  compiledDA
 
class  DA
 
class  DACEException
 
class  DAFormatter
 
struct  DASimpleFormat
 
class  DASimpleFormatter
 
class  Interval
 
class  Monomial
 
class  PromotionTrait
 
class  PromotionTrait< T, T >
 
class  storedDA
 

Typedefs

typedef AlgebraicMatrix< DAmatrixDA
 Short for AlgebraicMatrix<DA> More...
 
typedef AlgebraicMatrix< double > matrixdb
 Short for AlgebraicMatrix<double> More...
 
typedef AlgebraicVector< DAvectorDA
 Shorthand notation for AlgebraicVector<DA>. More...
 
typedef AlgebraicVector< double > vectordb
 Shorthand notation for AlgebraicVector<double>. More...
 

Functions

template<>
std::ostream & operator<< (std::ostream &out, const AlgebraicMatrix< DA > &obj)
 DA specialization of output stream operator. More...
 
template<>
std::istream & operator>> (std::istream &in, AlgebraicMatrix< DA > &obj)
 DA specialization of input stream operator. More...
 
template<>
std::vector< std::vector< double > > linear (const AlgebraicVector< DA > &obj)
 
template<>
AlgebraicVector< DAtrim (const AlgebraicVector< DA > &obj, unsigned int min, unsigned int max)
 
template<>
AlgebraicVector< DAderiv (const AlgebraicVector< DA > &obj, const unsigned int p)
 
template<>
AlgebraicVector< DAinteg (const AlgebraicVector< DA > &obj, const unsigned int p)
 
template<>
compiledDA compile (const AlgebraicVector< DA > &obj)
 
template<>
AlgebraicVector< DAplug (const AlgebraicVector< DA > &obj, const unsigned int var, const double val)
 
DA operator+ (const DA &da1, const DA &da2)
 
DA operator+ (const DA &da, const double c)
 
DA operator+ (const double c, const DA &da)
 
DA operator- (const DA &da1, const DA &da2)
 
DA operator- (const DA &da, const double c)
 
DA operator- (const double c, const DA &da)
 
DA operator* (const DA &da1, const DA &da2)
 
DA operator* (const DA &da, const double c)
 
DA operator* (const double c, const DA &da)
 
DA operator/ (const DA &da1, const DA &da2)
 
DA operator/ (const DA &da, const double c)
 
DA operator/ (const double c, const DA &da)
 
std::ostream & operator<< (std::ostream &out, const DA &da)
 
std::istream & operator>> (std::istream &in, DA &da)
 
int isnan (const DA &da)
 
int isinf (const DA &da)
 
double cons (const DA &da)
 
AlgebraicVector< double > linear (const DA &da)
 
AlgebraicVector< DAgradient (const DA &da)
 
DA divide (const DA &da, const unsigned int var, const unsigned int p)
 
DA deriv (const DA &da, const unsigned int i)
 
DA deriv (const DA &da, const std::vector< unsigned int > ind)
 
DA integ (const DA &da, const unsigned int i)
 
DA integ (const DA &da, const std::vector< unsigned int > ind)
 
DA trim (const DA &da, const unsigned int min, const unsigned int max)
 
DA trunc (const DA &da)
 
DA round (const DA &da)
 
DA mod (const DA &da, double p)
 
DA pow (const DA &da, int p)
 
DA pow (const DA &da, double p)
 
DA root (const DA &da, int p)
 
DA minv (const DA &da)
 
DA sqr (const DA &da)
 
DA sqrt (const DA &da)
 
DA isrt (const DA &da)
 
DA cbrt (const DA &da)
 
DA icrt (const DA &da)
 
DA hypot (const DA &da1, const DA &da2)
 
DA exp (const DA &da)
 
DA log (const DA &da)
 
DA logb (const DA &da, const double b)
 
DA log10 (const DA &da)
 
DA log2 (const DA &da)
 
DA sin (const DA &da)
 
DA cos (const DA &da)
 
DA tan (const DA &da)
 
DA asin (const DA &da)
 
DA acos (const DA &da)
 
DA atan (const DA &da)
 
DA atan2 (const DA &da1, const DA &da2)
 
DA sinh (const DA &da)
 
DA cosh (const DA &da)
 
DA tanh (const DA &da)
 
DA asinh (const DA &da)
 
DA acosh (const DA &da)
 
DA atanh (const DA &da)
 
DA erf (const DA &da)
 
DA erfc (const DA &da)
 
DA jn (const int n, const DA &da)
 
DA yn (const int n, const DA &da)
 
DA BesselJFunction (const int n, const DA &da)
 
DA BesselYFunction (const int n, const DA &da)
 
DA BesselIFunction (const int n, const DA &da, const bool scaled)
 
DA BesselKFunction (const int n, const DA &da, const bool scaled)
 
DA tgamma (const DA &da)
 
DA lgamma (const DA &da)
 
DA GammaFunction (const DA &da)
 
DA LogGammaFunction (const DA &da)
 
DA PsiFunction (const unsigned int n, const DA &da)
 
unsigned int size (const DA &da)
 
double abs (const DA &da)
 
double norm (const DA &da, unsigned int type)
 
std::vector< double > orderNorm (const DA &da, const unsigned int var, const unsigned int type)
 
std::vector< double > estimNorm (const DA &da, const unsigned int var, const unsigned int type, const unsigned int nc)
 
std::vector< double > estimNorm (const DA &da, std::vector< double > &err, const unsigned int var, const unsigned int type, const unsigned int nc)
 
Interval bound (const DA &da)
 
double convRadius (const DA &da, const double eps, const unsigned int type)
 
DA plug (const DA &da, const unsigned int var, const double val)
 
DA replaceVariable (const DA &da, const unsigned int from, const unsigned int to, const double val)
 
DA scaleVariable (const DA &da, const unsigned int var, const double val)
 
DA translateVariable (const DA &da, const unsigned int var, const double a, const double c)
 
compiledDA compile (const DA &da)
 
std::string toString (const DA &da)
 
void write (const DA &da, std::ostream &os)
 
std::ostream & operator<< (std::ostream &out, const storedDA &sda)
 
std::ostream & operator<< (std::ostream &out, const DACEException &ex)
 
template<typename U >
std::ostream & operator<< (std::ostream &out, const AlgebraicMatrix< U > &obj)
 Overload output stream operator. More...
 
template<>
DACE_API std::ostream & operator<< (std::ostream &out, const AlgebraicMatrix< DA > &obj)
 DA specialization of output stream operator. More...
 
template<typename U >
std::istream & operator>> (std::istream &in, AlgebraicMatrix< U > &obj)
 Overload input stream operator. More...
 
template<>
DACE_API std::istream & operator>> (std::istream &in, AlgebraicMatrix< DA > &obj)
 DA specialization of input stream operator. More...
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator+ (const AlgebraicMatrix< U > &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator+ (const AlgebraicMatrix< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator+ (const U &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator- (const AlgebraicMatrix< U > &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator- (const AlgebraicMatrix< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator- (const U &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicMatrix< U > &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicMatrix< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > operator* (const U &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicVector< U > &obj1, const AlgebraicMatrix< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicMatrix< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<class T >
AlgebraicMatrix< T > transpose (const AlgebraicMatrix< T > &obj)
 
template<class T >
det (const AlgebraicMatrix< T > &obj)
 
template<class T >
AlgebraicMatrix< T > inv (const AlgebraicMatrix< T > &obj)
 
template<class T >
AlgebraicMatrix< double > cons (const AlgebraicMatrix< T > &obj)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator+ (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator+ (const AlgebraicVector< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator+ (const U &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator- (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator- (const AlgebraicVector< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator- (const U &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator* (const AlgebraicVector< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator* (const U &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator/ (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator/ (const AlgebraicVector< U > &obj1, const V &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > operator/ (const U &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U >
std::ostream & operator<< (std::ostream &out, const AlgebraicVector< U > &obj)
 Overload output stream operator. More...
 
template<typename U >
std::istream & operator>> (std::istream &in, AlgebraicVector< U > &obj)
 Overload input stream operator. More...
 
template<typename T >
AlgebraicVector< double > cons (const AlgebraicVector< T > &obj)
 
template<typename T >
std::vector< std::vector< double > > linear (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > deriv (const AlgebraicVector< T > &obj, const unsigned int p)
 
template<typename T >
AlgebraicVector< T > integ (const AlgebraicVector< T > &obj, const unsigned int p)
 
template<typename T >
AlgebraicVector< T > pow (const AlgebraicVector< T > &obj, const int p)
 
template<typename T >
AlgebraicVector< T > root (const AlgebraicVector< T > &obj, const int p=2)
 
template<typename T >
AlgebraicVector< T > minv (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > sqr (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > sqrt (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > isrt (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > exp (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > log (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > logb (const AlgebraicVector< T > &obj, const double b=10.0)
 
template<typename T >
AlgebraicVector< T > sin (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > cos (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > tan (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > asin (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > acos (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > atan (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > atan2 (const AlgebraicVector< T > &obj1, const AlgebraicVector< T > &obj2)
 
template<typename T >
AlgebraicVector< T > sinh (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > cosh (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > tanh (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > asinh (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > acosh (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > atanh (const AlgebraicVector< T > &obj)
 
template<typename U , typename V >
PromotionTrait< U, V >::returnType dot (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > cross (const AlgebraicVector< U > &obj1, const AlgebraicVector< V > &obj2)
 
template<typename T >
vnorm (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > normalize (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > trim (const AlgebraicVector< T > &obj, unsigned int min, unsigned int max=DA::getMaxOrder())
 
template<typename T , typename V >
eval (const AlgebraicVector< T > &obj, const V &args)
 
template<typename T , typename U >
AlgebraicVector< U > eval (const AlgebraicVector< T > &obj, const std::initializer_list< U > l)
 
template<typename T , typename U >
AlgebraicVector< U > evalScalar (const AlgebraicVector< T > &obj, const U &arg)
 
template<typename T >
compiledDA compile (const AlgebraicVector< T > &obj)
 
template<typename T >
AlgebraicVector< T > plug (const AlgebraicVector< T > &obj, const unsigned int var, const double val=0.0)
 
template<>
DACE_API std::vector< std::vector< double > > linear (const AlgebraicVector< DA > &obj)
 
template<>
DACE_API AlgebraicVector< DAtrim (const AlgebraicVector< DA > &obj, unsigned int min, unsigned int max)
 
template<>
DACE_API AlgebraicVector< DAderiv (const AlgebraicVector< DA > &obj, const unsigned int p)
 
template<>
DACE_API AlgebraicVector< DAinteg (const AlgebraicVector< DA > &obj, const unsigned int p)
 
template<>
DACE_API compiledDA compile (const AlgebraicVector< DA > &obj)
 
template<>
DACE_API AlgebraicVector< DAplug (const AlgebraicVector< DA > &obj, const unsigned int var, const double val)
 
template<typename V >
eval (const AlgebraicVector< DA > &obj, const V &args)
 
template<typename T >
AlgebraicVector< T > eval (const AlgebraicVector< DA > &obj, const std::initializer_list< T > l)
 
template<typename U >
AlgebraicVector< U > evalScalar (const AlgebraicVector< DA > &obj, const U &arg)
 
template<class T >
eval (const DA &da, const std::vector< T > &args)
 
template<class T >
eval (const DA &da, const T args[], const unsigned int length)
 
template<class T >
evalScalar (const DA &da, const T &arg)
 
DACE_API double cons (const double x)
 Constant part (i.e. the value x) More...
 
DACE_API double logb (const double x, const double b=10.0)
 Logarithm relative to base b. More...
 
DACE_API double isrt (const double x)
 Inverse square root. More...
 
DACE_API double sqr (const double x)
 Square. More...
 
DACE_API double minv (const double x)
 Multiplicative inverse. More...
 
DACE_API double root (const double x, const int p=2)
 p-th root More...
 
DACE_API std::ostream & operator<< (std::ostream &out, const Monomial &m)
 

Typedef Documentation

◆ matrixDA

Short for AlgebraicMatrix<DA>

◆ matrixdb

Short for AlgebraicMatrix<double>

◆ vectorDA

Shorthand notation for AlgebraicVector<DA>.

◆ vectordb

Shorthand notation for AlgebraicVector<double>.

Function Documentation

◆ abs()

DACE_API double DACE::abs ( const DA da)

Compute the max norm of a DA object.

Parameters
[in]daa given DA object.
Returns
A double corresponding to the result of the operation.
Exceptions
DACE::DACEException
See also
DA::abs

◆ acos() [1/2]

template<typename T >
AlgebraicVector< T > DACE::acos ( const AlgebraicVector< T > &  obj)

Compute the arccosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::acos

Compute the arccosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::acos

◆ acos() [2/2]

DACE_API DA DACE::acos ( const DA da)

Compute the arccosine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::acos

◆ acosh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::acosh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic arccosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::acosh

Compute the hyperbolic arccosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::acosh

◆ acosh() [2/2]

DACE_API DA DACE::acosh ( const DA da)

Compute the hyperbolic arccosine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::acosh

◆ asin() [1/2]

template<typename T >
AlgebraicVector< T > DACE::asin ( const AlgebraicVector< T > &  obj)

Compute the arcsine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::asin

Compute the arcsine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::asin

◆ asin() [2/2]

DACE_API DA DACE::asin ( const DA da)

Compute the arcsine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::asin

◆ asinh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::asinh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic arcsine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::asinh

Compute the hyperbolic arcsine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::asinh

◆ asinh() [2/2]

DACE_API DA DACE::asinh ( const DA da)

Compute the hyperbolic arcsine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::asinh

◆ atan() [1/2]

template<typename T >
AlgebraicVector< T > DACE::atan ( const AlgebraicVector< T > &  obj)

Compute the arctangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::atan

Compute the arctangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::atan

◆ atan() [2/2]

DACE_API DA DACE::atan ( const DA da)

Compute the arctangent of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::atan

◆ atan2() [1/2]

template<typename T >
AlgebraicVector< T > DACE::atan2 ( const AlgebraicVector< T > &  obj1,
const AlgebraicVector< T > &  obj2 
)

Compute the four-quadrant tangent of obj1/obj2. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]obj1AlgebraicVector<T>.
[in]obj2AlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation in [-pi, pi].
See also
AlgebraicVector<T>::atan2

Compute the four-quadrant tangent of obj1/obj2. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]obj1AlgebraicVector<T>.
[in]obj2AlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation in [-pi, pi].
See also
AlgebraicVector<T>::atan2

◆ atan2() [2/2]

DACE_API DA DACE::atan2 ( const DA da1,
const DA da2 
)

Compute the four-quadrant arctangent of da1/da2. The result is copied in a new DA object.

Parameters
[in]da1DA object
[in]da2DA object
Returns
A new DA object containing the result of the operation in [-pi, pi].
Exceptions
DACE::DACEException
See also
DA::atan2

◆ atanh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::atanh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic arctangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::atanh

Compute the hyperbolic arctangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::atanh

◆ atanh() [2/2]

DACE_API DA DACE::atanh ( const DA da)

Compute the hyperbolic arctangent of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::atanh

◆ BesselIFunction()

DACE_API DA DACE::BesselIFunction ( const int  n,
const DA da,
const bool  scaled 
)

Compute the n-th modified Bessel function of first type I_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function
[in]daa given DA object.
[in]scaledif true, the modified Bessel function is scaled by a factor exp(-x), i.e. exp(-x)I_n(x) is returned.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
See also
DA::BesselIFunction

◆ BesselJFunction()

DACE_API DA DACE::BesselJFunction ( const int  n,
const DA da 
)

Compute the n-th Bessel function of first type J_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
See also
DA::BesselJFunction

◆ BesselKFunction()

DACE_API DA DACE::BesselKFunction ( const int  n,
const DA da,
const bool  scaled 
)

Compute the n-th modified Bessel function of second type K_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function
[in]daa given DA object.
[in]scaledif true, the modified Bessel function is scaled by a factor exp(-x), i.e. exp(-x)K_n(x) is returned.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
See also
DA::BesselKFunction

◆ BesselYFunction()

DACE_API DA DACE::BesselYFunction ( const int  n,
const DA da 
)

Compute the n-th Bessel function of second type Y_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
See also
DA::BesselYFunction

◆ bound()

DACE_API Interval DACE::bound ( const DA da)

Compute lower and upper bounds of a DA object.

Parameters
[in]daa given DA object.
Returns
An Interval object containing both the lower and the upper bound of the DA object.
Exceptions
DACE::DACEException
See also
DA::bound

◆ cbrt()

DACE_API DA DACE::cbrt ( const DA da)

Compute the cubic root of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::cbrt

◆ compile() [1/4]

template<typename T >
compiledDA DACE::compile ( const AlgebraicVector< T > &  obj)

◆ compile() [2/4]

template<>
DACE_API compiledDA DACE::compile ( const AlgebraicVector< DA > &  obj)

Compile vector of polynomials and create a compiledDA object.

Parameters
[in]objThe AlgebraicVector to compile.
Returns
The compiled DA object.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.

◆ compile() [3/4]

template<>
compiledDA DACE::compile ( const AlgebraicVector< DA > &  obj)

Compile vector of polynomials and create a compiledDA object.

Parameters
[in]objThe AlgebraicVector to compile.
Returns
The compiled DA object.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.

◆ compile() [4/4]

DACE_API compiledDA DACE::compile ( const DA da)

Compile a given DA object and create a compiledDA object.

Returns
A compiled DA object.
Exceptions
DACE::DACEException
See also
DA::compile

◆ cons() [1/4]

double DACE::cons ( const double  x)

Constant part (i.e. the value x)

Constant part. For double type this is just x.

Parameters
[in]xFunction argument.

Constant part. For double type this is just x.

Parameters
[in]xFunction argument.

◆ cons() [2/4]

template<class T >
AlgebraicMatrix< double > DACE::cons ( const AlgebraicMatrix< T > &  obj)

Extract the constant part of a AlgebraicMatrix The result is copied in a new AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
A new AlgebraicMatrix that contains the constant part of the original.
See also
AlgebraicMatrix<T>::cons

Extract the constant part of a AlgebraicMatrix The result is copied in a new AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
A new AlgebraicMatrix that contains the constant part of the original.
See also
AlgebraicMatrix<T>::cons

◆ cons() [3/4]

template<typename T >
AlgebraicVector< double > DACE::cons ( const AlgebraicVector< T > &  obj)

Return the constant part of a AlgebraicVector<T>.

Returns
An AlgebraicVector<double>.
See also
AlgebraicVector<T>::cons

Return the constant part of a AlgebraicVector<T>.

Returns
An AlgebraicVector<double>.
See also
AlgebraicVector<T>::cons

◆ cons() [4/4]

DACE_API double DACE::cons ( const DA da)

Return the constant part of a DA object.

Parameters
[in]daa given DA object.
Returns
A double corresponding to the constant part of the DA object.
Exceptions
DACE::DACEException

◆ convRadius()

DACE_API double DACE::convRadius ( const DA da,
const double  eps,
const unsigned int  type 
)

Estimate the convergence radius of the given DA.

Parameters
[in]dathe given DA object.
[in]epsrequested tolerance.
[in]typetype of norm (sum norm is used as default)
Returns
A double corresponding to the estimated convergence radius.
Exceptions
DACE::DACEException
See also
DA::conv_radius

◆ cos() [1/2]

template<typename T >
AlgebraicVector< T > DACE::cos ( const AlgebraicVector< T > &  obj)

Compute the cosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::cos

Compute the cosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::cos

◆ cos() [2/2]

DACE_API DA DACE::cos ( const DA da)

Compute the cosine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::cos

◆ cosh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::cosh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic cosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::cosh

Compute the hyperbolic cosine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::cosh

◆ cosh() [2/2]

DACE_API DA DACE::cosh ( const DA da)

Compute the hyperbolic cosine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::cosh

◆ cross()

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::cross ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the cross product between two 3D AlgebraicVectors.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation.

Compute the cross product between two 3D AlgebraicVectors.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation.

◆ deriv() [1/5]

template<typename T >
AlgebraicVector<T> DACE::deriv ( const AlgebraicVector< T > &  obj,
const unsigned int  p 
)

◆ deriv() [2/5]

template<>
DACE_API AlgebraicVector<DA> DACE::deriv ( const AlgebraicVector< DA > &  obj,
const unsigned int  p 
)

Compute the derivative of a AlgebraicVector<T> with respect to variable p. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]pvariable with respect to which the derivative is calculated.
Returns
A new AlgebraicVector<T> containing the result of the derivation.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::deriv

◆ deriv() [3/5]

template<>
AlgebraicVector<DA> DACE::deriv ( const AlgebraicVector< DA > &  obj,
const unsigned int  p 
)

Compute the derivative of a AlgebraicVector<T> with respect to variable p. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]pvariable with respect to which the derivative is calculated.
Returns
A new AlgebraicVector<T> containing the result of the derivation.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::deriv

◆ deriv() [4/5]

DACE_API DA DACE::deriv ( const DA da,
const unsigned int  i 
)

Compute the derivative of a DA object with respect to variable i. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]ivariable with respect to which the derivative is calculated.
Returns
A new DA object containing the result of the derivation.
Exceptions
DACE::DACEException
See also
DA::deriv

◆ deriv() [5/5]

DACE_API DA DACE::deriv ( const DA da,
const std::vector< unsigned int >  ind 
)

Compute the derivative of a DA object with respect to variables ind. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]indvector containing the number of derivatives to take for each independent variable. If ind has fewer entries than there are independent variables, the missing entries are assumed to be zero. If ind has more entries than there are independent variables, extra values are ignored.
Returns
A new DA object containing the result of the derivation.
Exceptions
DACE::DACEException
See also
DA::deriv

◆ det()

template<class T >
T DACE::det ( const AlgebraicMatrix< T > &  obj)

Compute the determinant of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
A variable that is the determinant of the AlgebraiMatrix.
See also
AlgebraicMatrix<T>::det

Compute the determinant of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
A variable that is the determinant of the AlgebraiMatrix.
See also
AlgebraicMatrix<T>::det

◆ divide()

DACE_API DA DACE::divide ( const DA da,
const unsigned int  var,
const unsigned int  p 
)

Divide by independent variable var raised to power p. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]varvariable number to divide by.
[in]ppower of variable var to divide by.
Returns
A new DA object containing the result of the division.
Exceptions
DACE::DACEException
See also
DA::divide

◆ dot()

template<typename U , typename V >
PromotionTrait< U, V >::returnType DACE::dot ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the dot product between two AlgebraicVectors.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a AlgebraicVector.
Returns
A scalar value, containing the result of the operation.

Compute the dot product between two AlgebraicVectors.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a AlgebraicVector.
Returns
A scalar value, containing the result of the operation.

◆ erf()

DACE_API DA DACE::erf ( const DA da)

Compute the error function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::erf

◆ erfc()

DACE_API DA DACE::erfc ( const DA da)

Compute the complementary error function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::erfc

◆ estimNorm() [1/2]

DACE_API std::vector< double > DACE::estimNorm ( const DA da,
const unsigned int  var,
const unsigned int  type,
const unsigned int  nc 
)

Estimate different types of order sorted norms for terms of a DA object up to a specified order.

Parameters
[in]daa given DA object.
[in]varorder
0: Terms are sorted by their order (Default)
>0: Terms are sorted by the exponent of variable var
[in]typetype of norm to be computed. Possible norms are:
0: Max norm (Default)
1: Sum norm
>1: Vector norm of given type
[in]ncmaximum order (Default order = Max order)
Returns
A double corresponding to the result of the operation.
Exceptions
DACE::DACEException
Note
If estimation is not possible, zero is returned for all requested orders.
See also
DA::estim

◆ estimNorm() [2/2]

DACE_API std::vector< double > DACE::estimNorm ( const DA da,
std::vector< double > &  err,
const unsigned int  var,
const unsigned int  type,
const unsigned int  nc 
)

Estimate different types of order sorted norms for terms of a DA object up to a specified order with error estimates.

Parameters
[in]daa given DA object.
[out]errreturns the amount by which the estimate underestimates the actual ordered norm of the terms in the polynomial up to the minimum of nc or the maximum computation order.
[in]varorder
0: Terms are sorted by their order (Default)
>0: Terms are sorted by the exponent of variable var
[in]typetype of norm to be computed. Possible norms are:
0: Max norm (Default)
1: Sum norm
>1: Vector norm of given type
[in]ncmaximum order (Default order = Max order)
Returns
A double corresponding to the result of the operation.
Exceptions
DACE::DACEException
Note
If estimation is not possible, zero is returned for all requested orders.
See also
DA::estim

◆ eval() [1/6]

template<typename T , typename V >
V DACE::eval ( const AlgebraicVector< T > &  obj,
const V &  args 
)

◆ eval() [2/6]

template<typename T , typename U >
AlgebraicVector<U> DACE::eval ( const AlgebraicVector< T > &  obj,
const std::initializer_list< U >  l 
)

◆ eval() [3/6]

template<class T >
T DACE::eval ( const DA da,
const std::vector< T > &  args 
)

Generic evaluation of the DA with a vector of arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsstd::vector<T> of arithmetic type T with which the DA vector is evaluated.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
This function can be called with a braced initializer list. However, C++ is not able to derive the type of elements of an initializer list automatically. That means eval() must be called explicitly as e.g. eval<double>(x, {1.0, 2.0, 3.0}) when used with initializer lists.
See also
compiledDA

Generic evaluation of the DA with a vector of arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsstd::vector<T> of arithmetic type T with which the DA vector is evaluated.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
This function can be called with a braced initializer list. However, C++ is not able to derive the type of elements of an initializer list automatically. That means eval() must be called explicitly as e.g. eval<double>(x, {1.0, 2.0, 3.0}) when used with initializer lists.
See also
compiledDA

◆ eval() [4/6]

template<class T >
T DACE::eval ( const DA da,
const T  args[],
const unsigned int  length 
)

Generic evaluation of the DA with an array of arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsarray of arithmetic type T with which the DA vector is evaluated.
[in]lengthnumber of elements in the array args.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
See also
compiledDA::eval

Generic evaluation of the DA with an array of arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsarray of arithmetic type T with which the DA vector is evaluated.
[in]lengthnumber of elements in the array args.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
See also
compiledDA::eval

◆ eval() [5/6]

template<typename V >
V DACE::eval ( const AlgebraicVector< DA > &  obj,
const V &  args 
)

Evaluate an AlgebraicVector<DA> with a vector type V of arguments and return a vector of type V with the results.

Parameters
[in]objAn AlgebraicVector<DA>.
[in]argsVector type V containing the arguments.
Returns
A new vector of type V containing the results of the evaluation process.
See also
AlgebraicVector<T>::eval()

◆ eval() [6/6]

template<typename T >
AlgebraicVector<T> DACE::eval ( const AlgebraicVector< DA > &  obj,
const std::initializer_list< T >  l 
)

Evaluate an AlgebraicVector<DA> with an braced initializer list of type T and return an AlgebraicVector of type T with the results.

Parameters
[in]objAn AlgebraicVector<DA>.
[in]lBraced initializer list containing the arguments.
Returns
A new AlgebraicVector of type T containing the results of the evaluation.
Note
C++ is not able to derive the type of elements of an initializer list automatically. That means eval() must be called explicitly as e.g. eval<double>(x, {1.0, 2.0, 3.0}) when used with initializer lists.
See also
AlgebraicVector<T>::eval()

◆ evalScalar() [1/3]

template<typename T , typename U >
AlgebraicVector<U> DACE::evalScalar ( const AlgebraicVector< T > &  obj,
const U &  arg 
)

◆ evalScalar() [2/3]

template<class T >
T DACE::evalScalar ( const DA da,
const T &  arg 
)

Generic evaluation of the DA with a single arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsingle variable of arithmetic type T of the first independent DA variable.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
See also
compiledDA::evalScalar

Generic evaluation of the DA with a single arithmetic type T arguments.

Parameters
[in]daa given DA object.
[in]argsingle variable of arithmetic type T of the first independent DA variable.
Returns
The result of the evaluation.
Exceptions
DACE::DACEException
Note
To be used only for single polynomial evaluation. For multiple evaluations of the same polynomial use the corresponding method in class compiledDA.
See also
compiledDA::evalScalar

◆ evalScalar() [3/3]

template<typename U >
AlgebraicVector<U> DACE::evalScalar ( const AlgebraicVector< DA > &  obj,
const U &  arg 
)

Evaluate an AlgebraicVector<DA> with a single scalar argument of type U and return an AlgebraicVector<U> containing the results.

Parameters
[in]objThe AlgebraicVector<T> to evaluate.
[in]argThe argument of type U.
Returns
A new AlgebraicVector<U> containing the results of the evaluation process.
See also
AlgebraicVector<T>::evalScalar()

◆ exp() [1/2]

template<typename T >
AlgebraicVector< T > DACE::exp ( const AlgebraicVector< T > &  obj)

Compute the exponential of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::exp

Compute the exponential of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::exp

◆ exp() [2/2]

DACE_API DA DACE::exp ( const DA da)

Compute the exponential of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::exp

◆ GammaFunction()

DACE_API DA DACE::GammaFunction ( const DA da)

Compute the Gamma function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::GammaFunction

◆ gradient()

DACE_API AlgebraicVector< DA > DACE::gradient ( const DA da)

Compute the gradient of a DA object.

Parameters
[in]dathe given DA object.
Returns
A AlgebraicVector<DA> containing the derivatives of the DA object with respect to all independent DA variables.
Exceptions
DACE::DACEException

◆ hypot()

DACE_API DA DACE::hypot ( const DA da1,
const DA da2 
)

Compute the hypotenuse (sqrt(da1*da1 + da2*da2)) of two DA objects. The result is copied in a new DA object.

Parameters
[in]da1first DA object.
[in]da2second DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::hypot

◆ icrt()

DACE_API DA DACE::icrt ( const DA da)

Compute the inverse cubic root of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::icrt

◆ integ() [1/5]

template<typename T >
AlgebraicVector<T> DACE::integ ( const AlgebraicVector< T > &  obj,
const unsigned int  p 
)

◆ integ() [2/5]

template<>
DACE_API AlgebraicVector<DA> DACE::integ ( const AlgebraicVector< DA > &  obj,
const unsigned int  p 
)

Compute the integral of a AlgebraicVector<T> with respect to variable p. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]pvariable with respect to which the integral is calculated.
Returns
A new AlgebraicVector<T> containing the result of the integration.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::integ

◆ integ() [3/5]

template<>
AlgebraicVector<DA> DACE::integ ( const AlgebraicVector< DA > &  obj,
const unsigned int  p 
)

Compute the integral of a AlgebraicVector<T> with respect to variable p. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]pvariable with respect to which the integral is calculated.
Returns
A new AlgebraicVector<T> containing the result of the integration.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::integ

◆ integ() [4/5]

DACE_API DA DACE::integ ( const DA da,
const unsigned int  i 
)

Compute the integral of a DA object with respect to variable i. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]ivariable with respect to which the integral is calculated.
Returns
A new DA object containing the result of the integration.
Exceptions
DACE::DACEException
See also
DA::integ

◆ integ() [5/5]

DACE_API DA DACE::integ ( const DA da,
const std::vector< unsigned int >  ind 
)

Compute the integral of a DA object with respect to variable i. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]indvector containing the number of derivatives to take for each independent variable. If ind has fewer entries than there are independent variables, the missing entries are assumed to be zero. If ind has more entries than there are independent variables, extra values are ignored.
Returns
A new DA object containing the result of the integration.
Exceptions
DACE::DACEException
See also
DA::integ

◆ inv()

template<class T >
AlgebraicMatrix< T > DACE::inv ( const AlgebraicMatrix< T > &  obj)

Compute the inverse of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
An AlgebraicMatrix that is the inverse of the original AlgebraicMatrix.
See also
AlgebraicMatrix<T>::inverse

Compute the inverse of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
An AlgebraicMatrix that is the inverse of the original AlgebraicMatrix.
See also
AlgebraicMatrix<T>::inverse

◆ isinf()

DACE_API int DACE::isinf ( const DA da)

Check if a DA object has any INF coefficients.

Parameters
[in]daa given DA object.
Returns
True if any coefficients of the DA object are INF.
Exceptions
DACE::DACEException

◆ isnan()

DACE_API int DACE::isnan ( const DA da)

Check if a DA object has any NAN coefficients.

Parameters
[in]daa given DA object.
Returns
True if any coefficients of the DA object are NAN.
Exceptions
DACE::DACEException

◆ isrt() [1/3]

double DACE::isrt ( const double  x)

Inverse square root.

Inverse square root 1/sqrt(x).

Parameters
[in]xFunction argument.

Inverse square root 1/sqrt(x).

Parameters
[in]xFunction argument.

◆ isrt() [2/3]

template<typename T >
AlgebraicVector< T > DACE::isrt ( const AlgebraicVector< T > &  obj)

Compute the inverse square root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::isrt

Compute the inverse square root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::isrt

◆ isrt() [3/3]

DACE_API DA DACE::isrt ( const DA da)

Compute the inverse square root of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::isrt

◆ jn()

DACE_API DA DACE::jn ( const int  n,
const DA da 
)

Compute the n-th Bessel function of first type J_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function.
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
Alias of BesselJFunction for C compatible naming.
See also
DA::BesselJFunction

◆ lgamma()

DACE_API DA DACE::lgamma ( const DA da)

Compute the Log Gamma function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::LogGammaFunction
Note
Alias of LogGammaFunction() for C99 compatible naming.

◆ linear() [1/4]

template<typename T >
std::vector< std::vector<double> > DACE::linear ( const AlgebraicVector< T > &  obj)

◆ linear() [2/4]

template<>
DACE_API std::vector< std::vector<double> > DACE::linear ( const AlgebraicVector< DA > &  obj)

Return the linear part of a AlgebraicVector<T>. Only defined for AlgebraicVector<DA>.

Parameters
[in]objAlgebraicVector<T> to extract linear part from
Returns
A std::vector< std::vector<double> > containing the linear parts of each component of the AlgebraicVector<DA> obj.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::linear

◆ linear() [3/4]

template<>
std::vector< std::vector<double> > DACE::linear ( const AlgebraicVector< DA > &  obj)

Return the linear part of a AlgebraicVector<T>. Only defined for AlgebraicVector<DA>.

Parameters
[in]objAlgebraicVector<T> to extract linear part from
Returns
A std::vector< std::vector<double> > containing the linear parts of each component of the AlgebraicVector<DA> obj.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::linear

◆ linear() [4/4]

DACE_API AlgebraicVector< double > DACE::linear ( const DA da)

Return the linear part of a DA object.

Parameters
[in]daa given DA object.
Returns
An AlgebraicVector<dobule> containing the linear coefficients of each independent DA variable in the given DA object.
Exceptions
DACE::DACEException

◆ log() [1/2]

template<typename T >
AlgebraicVector< T > DACE::log ( const AlgebraicVector< T > &  obj)

Compute the natural logarithm of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::log

Compute the natural logarithm of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::log

◆ log() [2/2]

DACE_API DA DACE::log ( const DA da)

Compute the natural logarithm of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::log

◆ log10()

DACE_API DA DACE::log10 ( const DA da)

Compute the 10 based logarithm of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::log10

◆ log2()

DACE_API DA DACE::log2 ( const DA da)

Compute the 2 based logarithm of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::log2

◆ logb() [1/3]

double DACE::logb ( const double  x,
const double  b = 10.0 
)

Logarithm relative to base b.

Logarithm relative to base b.

Parameters
[in]xFunction argument.
[in]bBase of the logarithm (must be positive).

Logarithm relative to base b.

Parameters
[in]xFunction argument.
[in]bBase of the logarithm (must be positive).

◆ logb() [2/3]

template<typename T >
AlgebraicVector< T > DACE::logb ( const AlgebraicVector< T > &  obj,
const double  b = 10.0 
)

Compute the logarithm of a AlgebraicVector<T> with respect to a given base. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]bbase with respect to which the logarithm is computed (default = 10).
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::logb

Compute the logarithm of a AlgebraicVector<T> with respect to a given base. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]bbase with respect to which the logarithm is computed (default = 10).
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::logb

◆ logb() [3/3]

DACE_API DA DACE::logb ( const DA da,
const double  b 
)

Compute the logarithm of a DA object with respect to a given base. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
[in]bbase with respect to which the logarithm is computed (base 10 set as default base).
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::logb

◆ LogGammaFunction()

DACE_API DA DACE::LogGammaFunction ( const DA da)

Compute the Log Gamma function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::LogGammaFunction

◆ minv() [1/3]

double DACE::minv ( const double  x)

Multiplicative inverse.

Multiplicative inverse 1/x.

Parameters
[in]xFunction argument.

Multiplicative inverse 1/x.

Parameters
[in]xFunction argument.

◆ minv() [2/3]

template<typename T >
AlgebraicVector< T > DACE::minv ( const AlgebraicVector< T > &  obj)

Compute the multiplicative inverse of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::minv

Compute the multiplicative inverse of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::minv

◆ minv() [3/3]

DACE_API DA DACE::minv ( const DA da)

Compute the multiplicative inverse of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::minv

◆ mod()

DACE_API DA DACE::mod ( const DA da,
double  p 
)

Compute the floating-point remainder of c/p (c modulo p), where c is the constant part of the given DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
[in]pcostant with respect to which the modulo function is computed.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::mod

◆ norm()

DACE_API double DACE::norm ( const DA da,
unsigned int  type 
)

Compute different types of norms for a DA object.

Parameters
[in]daa given DA object.
[in]typetype of norm to be computed. Possible norms are:
0: Max norm (Default)
1: Sum norm
>1: Vector norm of given type
Returns
A double corresponding to the result of the operation.
Exceptions
DACE::DACEException
See also
DA::norm

◆ normalize()

template<typename T >
AlgebraicVector< T > DACE::normalize ( const AlgebraicVector< T > &  obj)

Normalize an AlgebraicVector<T>.

Parameters
[in]objAn AlgebraicVector<T> to normalize.
Returns
An AlgebraicVector<T> of unit length.
See also
AlgebraicVector<T>::normalize

Normalize an AlgebraicVector<T>.

Parameters
[in]objAn AlgebraicVector<T> to normalize.
Returns
An AlgebraicVector<T> of unit length.
See also
AlgebraicVector<T>::normalize

◆ operator*() [1/11]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicMatrix< U > &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the multiplication between two AlgebraicMatrices.

Parameters
[in]obj1first AlgebraicMatrix \( (n \times m) \)
[in]obj2second AlgebraicMatrix \( (m \times p) \).
Returns
A new AlgebraicMatrix, of size \( (n \times p) \) containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

Compute the multiplication between two AlgebraicMatrices.

Parameters
[in]obj1first AlgebraicMatrix \( (n \times m) \)
[in]obj2second AlgebraicMatrix \( (m \times p) \).
Returns
A new AlgebraicMatrix, of size \( (n \times p) \) containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

◆ operator*() [2/11]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicMatrix< U > &  obj1,
const V &  obj2 
)

Compute the multiplication between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

Compute the multiplication between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

◆ operator*() [3/11]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const U &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the multiplication between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new DAvector, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

Compute the multiplication between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new DAvector, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

◆ operator*() [4/11]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicVector< U > &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the multiplication between a AlgebraicVector (row) and a AlgebraicMatrix.

Parameters
[in]obj1a AlgebraicVector
[in]obj2a AlgebraicMatrix
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2)
See also
AlgebraicMatrix<T>::operator*

Compute the multiplication between a AlgebraicVector (row) and a AlgebraicMatrix.

Parameters
[in]obj1a AlgebraicVector
[in]obj2a AlgebraicMatrix
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2)
See also
AlgebraicMatrix<T>::operator*

◆ operator*() [5/11]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicMatrix< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the multiplication between a AlgebraicMatrix and a AlgebraicVector (column) .

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

Compute the multiplication between a AlgebraicMatrix and a AlgebraicVector (column) .

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).
See also
AlgebraicMatrix<T>::operator*

◆ operator*() [6/11]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the element-wise multiplication between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).
Exceptions
std::runtime_error

Compute the element-wise multiplication between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).
Exceptions
std::runtime_error

◆ operator*() [7/11]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const AlgebraicVector< U > &  obj1,
const V &  obj2 
)

Compute the multiplication between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).

Compute the multiplication between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).

◆ operator*() [8/11]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator* ( const U &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the multiplication between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).

Compute the multiplication between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1*obj2).

◆ operator*() [9/11]

DA DACE::operator* ( const DA da1,
const DA da2 
)

Compute the multiplication between two DA objects. The result is copied in a new DA object.

Parameters
[in]da1first DA object.
[in]da2second DA object.
Returns
A new DA object containing the result of the operation (da1*da2).
Exceptions
DACE::DACEException

◆ operator*() [10/11]

DA DACE::operator* ( const DA da,
const double  c 
)

Compute the multiplication between a DA object and a given constant. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]cgiven constant.
Returns
A new DA object containing the result of the operation (da*c).
Exceptions
DACE::DACEException

◆ operator*() [11/11]

DA DACE::operator* ( const double  c,
const DA da 
)

Compute the multiplication between a given constant and a DA object. The result is copied in a new DA object.

Parameters
[in]cgiven constant.
[in]daDA object.
Returns
A new DA object containing the result of the operation (c*da).
Exceptions
DACE::DACEException

◆ operator+() [1/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const AlgebraicMatrix< U > &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the addition between two AlgebraicMatrices.

Parameters
[in]obj1the first AlgebraicMatrix.
[in]obj2the second AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

Compute the addition between two AlgebraicMatrices.

Parameters
[in]obj1the first AlgebraicMatrix.
[in]obj2the second AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

◆ operator+() [2/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const AlgebraicMatrix< U > &  obj1,
const V &  obj2 
)

Compute the addition between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

Compute the addition between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

◆ operator+() [3/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const U &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the addition between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

Compute the addition between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1+obj2).
See also
AlgebraicMatrix<T>::operator+

◆ operator+() [4/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the addition between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).
Exceptions
std::runtime_error

Compute the addition between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).
Exceptions
std::runtime_error

◆ operator+() [5/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const AlgebraicVector< U > &  obj1,
const V &  obj2 
)

Compute the addition between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).

Compute the addition between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).

◆ operator+() [6/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator+ ( const U &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the addition between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).

Compute the addition between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1+obj2).

◆ operator+() [7/9]

DA DACE::operator+ ( const DA da1,
const DA da2 
)

Compute the addition between two DA objects. The result is copied in a new DA object.

Parameters
[in]da1first DA object.
[in]da2second DA object.
Returns
A new DA object containing the result of the operation (da1+da2).
Exceptions
DACE::DACEException

◆ operator+() [8/9]

DA DACE::operator+ ( const DA da,
const double  c 
)

Compute the addition between a DA object and a given constant. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]cgiven constant.
Returns
A new DA object containing the result of the operation (da+c).
Exceptions
DACE::DACEException

◆ operator+() [9/9]

DA DACE::operator+ ( const double  c,
const DA da 
)

Compute the addition between a given constant and a DA object. The result is copied in a new DA object.

Parameters
[in]cgiven constant.
[in]daDA object.
Returns
A new DA object containing the result of the operation (c+da).
Exceptions
DACE::DACEException

◆ operator-() [1/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const AlgebraicMatrix< U > &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the subtraction between two AlgebraicMatrices.

Parameters
[in]obj1first AlgebraicMatrx.
[in]obj2second AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

Compute the subtraction between two AlgebraicMatrices.

Parameters
[in]obj1first AlgebraicMatrx.
[in]obj2second AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

◆ operator-() [2/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const AlgebraicMatrix< U > &  obj1,
const V &  obj2 
)

Compute the subtraction between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

Compute the subtraction between a AlgebraicMatrix and a scalar value.

Parameters
[in]obj1a AlgebraicMatrix.
[in]obj2a scalar value.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

◆ operator-() [3/9]

template<typename U , typename V >
AlgebraicMatrix< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const U &  obj1,
const AlgebraicMatrix< V > &  obj2 
)

Compute the subtraction between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

Compute the subtraction between a scalar value and a AlgebraicMatrix.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicMatrix.
Returns
A new AlgebraicMatrix, containing the result of the operation (obj1-obj2).
See also
AlgebraicMatrix<T>::operator-

◆ operator-() [4/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the subtraction between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).
Exceptions
std::runtime_error

Compute the subtraction between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).
Exceptions
std::runtime_error

◆ operator-() [5/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const AlgebraicVector< U > &  obj1,
const V &  obj2 
)

Compute the subtraction between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).

Compute the subtraction between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).

◆ operator-() [6/9]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator- ( const U &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the subtraction between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).

Compute the subtraction between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1-obj2).

◆ operator-() [7/9]

DA DACE::operator- ( const DA da1,
const DA da2 
)

Compute the subtraction between two DA objects. The result is copied in a new DA object.

Parameters
[in]da1first DA object.
[in]da2second DA object.
Returns
A new DA object containing the result of the operation (da1-da2).
Exceptions
DACE::DACEException

◆ operator-() [8/9]

DA DACE::operator- ( const DA da,
const double  c 
)

Compute the subtraction between a DA object and a given constant. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]cgiven constant.
Returns
A new DA object containing the result of the operation (da-c).
Exceptions
DACE::DACEException

◆ operator-() [9/9]

DA DACE::operator- ( const double  c,
const DA da 
)

Compute the subtraction between a given constant and a DA object. The result is copied in a new DA object.

Parameters
[in]cgiven constant.
[in]daDA object.
Returns
A new DA object containing the result of the operation (c-da).
Exceptions
DACE::DACEException

◆ operator/() [1/6]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator/ ( const AlgebraicVector< U > &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the element-wise division between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).
Exceptions
std::runtime_error

Compute the element-wise division between two AlgebraicVectors.

Parameters
[in]obj1first AlgebraicVector.
[in]obj2second AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).
Exceptions
std::runtime_error

◆ operator/() [2/6]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator/ ( const AlgebraicVector< U > &  obj1,
const V &  obj2 
)

Compute the division between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).

Compute the division between a AlgebraicVector and a scalar value.

Parameters
[in]obj1a AlgebraicVector.
[in]obj2a scalar value.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).

◆ operator/() [3/6]

template<typename U , typename V >
AlgebraicVector< typename PromotionTrait< U, V >::returnType > DACE::operator/ ( const U &  obj1,
const AlgebraicVector< V > &  obj2 
)

Compute the division between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).

Compute the division between a scalar value and a AlgebraicVector.

Parameters
[in]obj1a scalar value.
[in]obj2a AlgebraicVector.
Returns
A new AlgebraicVector, containing the result of the operation (obj1/obj2).

◆ operator/() [4/6]

DA DACE::operator/ ( const DA da1,
const DA da2 
)

Compute the division between two DA objects. The result is copied in a new DA object.

Parameters
[in]da1first DA object.
[in]da2second DA object.
Returns
A new DA object containing the result of the operation (da1/da2).
Exceptions
DACE::DACEException

◆ operator/() [5/6]

DA DACE::operator/ ( const DA da,
const double  c 
)

Compute the division between a DA object and a given constant. The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]cgiven constant.
Returns
A new DA object containing the result of the operation (da/c).
Exceptions
DACE::DACEException

◆ operator/() [6/6]

DA DACE::operator/ ( const double  c,
const DA da 
)

Compute the division between a given constant and a DA object. The result is copied in a new DA object.

Parameters
[in]cgiven constant.
[in]daDA object.
Returns
A new DA object containing the result of the operation (c/da).
Exceptions
DACE::DACEException

◆ operator<<() [1/8]

template<>
std::ostream& DACE::operator<< ( std::ostream &  out,
const AlgebraicMatrix< DA > &  obj 
)

DA specialization of output stream operator.

Specialized stream output operator for DA matrices.

Parameters
[in]outStandard output stream.
[in]objAlgebraicMatrix<DA> to be printed in the stream
Returns
Reference to the standard output stream.

◆ operator<<() [2/8]

std::ostream & DACE::operator<< ( std::ostream &  out,
const Monomial m 
)

Overload output stream operator.

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]mMonomial vector to be printed in the stream
Returns
The output stream out.

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]mMonomial vector to be printed in the stream
Returns
The output stream out.

◆ operator<<() [3/8]

template<typename U >
std::ostream & DACE::operator<< ( std::ostream &  out,
const AlgebraicMatrix< U > &  obj 
)

Overload output stream operator.

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]objAlgebraicMatrix<U> to be printed in the stream
Returns
Standard output stream.

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]objAlgebraicMatrix<U> to be printed in the stream
Returns
Standard output stream.

◆ operator<<() [4/8]

template<>
DACE_API std::ostream& DACE::operator<< ( std::ostream &  out,
const AlgebraicMatrix< DA > &  obj 
)

DA specialization of output stream operator.

Specialized stream output operator for DA matrices.

Parameters
[in]outStandard output stream.
[in]objAlgebraicMatrix<DA> to be printed in the stream
Returns
Reference to the standard output stream.

◆ operator<<() [5/8]

template<typename U >
std::ostream & DACE::operator<< ( std::ostream &  out,
const AlgebraicVector< U > &  obj 
)

Overload output stream operator.

Output a vector to a C++ output stream.

Parameters
[in]outstandard output stream.
[in]objAlgebraicVector<U> to be written to the stream
Returns
Reference to output stream out.

Output a vector to a C++ output stream.

Parameters
[in]outstandard output stream.
[in]objAlgebraicVector<U> to be written to the stream
Returns
Reference to output stream out.

◆ operator<<() [6/8]

std::ostream& DACE::operator<< ( std::ostream &  out,
const DACEException ex 
)

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]exException to be printed in the stream
Returns
Output stream out.

◆ operator<<() [7/8]

std::ostream& DACE::operator<< ( std::ostream &  out,
const DA da 
)

Overload of std::operator<< in iostream.

Parameters
[in]outstandard output stream.
[in]daDA object to be printed in the stream
Returns
Standard output stream.
Exceptions
DACE::DACEException
See also
DA::toString

◆ operator<<() [8/8]

std::ostream& DACE::operator<< ( std::ostream &  out,
const storedDA sda 
)

◆ operator>>() [1/5]

template<>
std::istream& DACE::operator>> ( std::istream &  in,
AlgebraicMatrix< DA > &  obj 
)

DA specialization of input stream operator.

Specialized stream input operator for DA matrices.

Parameters
[in]inStandard input stream.
[out]objAlgebraicMatrix<DA> to be read from the stream
Returns
Reference to the standard input stream.

◆ operator>>() [2/5]

template<typename U >
std::istream & DACE::operator>> ( std::istream &  in,
AlgebraicMatrix< U > &  obj 
)

Overload input stream operator.

Overload of std::operator>> in iostream.

Parameters
[in]instandard input stream.
[in]objAlgebraicMatrix<U> to be created from the stream
Returns
Standard input stream.

Overload of std::operator>> in iostream.

Parameters
[in]instandard input stream.
[in]objAlgebraicMatrix<U> to be created from the stream
Returns
Standard input stream.

◆ operator>>() [3/5]

template<>
DACE_API std::istream& DACE::operator>> ( std::istream &  in,
AlgebraicMatrix< DA > &  obj 
)

DA specialization of input stream operator.

Specialized stream input operator for DA matrices.

Parameters
[in]inStandard input stream.
[out]objAlgebraicMatrix<DA> to be read from the stream
Returns
Reference to the standard input stream.

◆ operator>>() [4/5]

template<typename U >
std::istream & DACE::operator>> ( std::istream &  in,
AlgebraicVector< U > &  obj 
)

Overload input stream operator.

Input a vector from a C++ input stream.

Parameters
[in]instandard input stream.
[in]objAlgebraicVector<U> to be read from the stream
Returns
Reference to input stream in.

Input a vector from a C++ input stream.

Parameters
[in]instandard input stream.
[in]objAlgebraicVector<U> to be read from the stream
Returns
Reference to input stream in.

◆ operator>>() [5/5]

std::istream& DACE::operator>> ( std::istream &  in,
DA da 
)

Overload of std::operator>> in iostream. Reads both string and binary DA representations from a file.

Parameters
[in]instandard input stream.
[in]daDA object to be created from the stream
Returns
Standard input stream.
Exceptions
DACE::DACEException
Note
When using binary IO operations, make sure the stream is opened in ios_base::binary mode! Some C++ libraries are known to mangle the input otherwise which will break the ability to read binary DA objects. Setting the binary flag for all IO (also text based) does not affect the output and is recommended.
See also
DA::fromString

◆ orderNorm()

DACE_API std::vector< double > DACE::orderNorm ( const DA da,
const unsigned int  var,
const unsigned int  type 
)

Compute different types of order sorted norms for terms of a DA object.

Parameters
[in]daa given DA object.
[in]varorder
0: Terms are sorted by their order (Default)
>0: Terms are sorted by the exponent of variable var
[in]typetype of norm to be computed. Possible norms are:
0: Max norm (Default)
1: Sum norm
>1: Vector norm of given type
Returns
A double corresponding to the result of the operation.
Exceptions
DACE::DACEException
See also
DA::onorm

◆ plug() [1/4]

template<typename T >
AlgebraicVector<T> DACE::plug ( const AlgebraicVector< T > &  obj,
const unsigned int  var,
const double  val = 0.0 
)

◆ plug() [2/4]

template<>
DACE_API AlgebraicVector<DA> DACE::plug ( const AlgebraicVector< DA > &  obj,
const unsigned int  var,
const double  val 
)

Partial evaluation of vector of polynomials. In each element of the vector, variable var is replaced by the value val. The resulting vector of DAs is returned.

Parameters
[in]objThe vector to partially evaluate.
[in]varVariable number to be replaced.
[in]valValue by which to replace the variable.
Returns
A new DA object containing the resulting DA object.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.

◆ plug() [3/4]

template<>
AlgebraicVector<DA> DACE::plug ( const AlgebraicVector< DA > &  obj,
const unsigned int  var,
const double  val 
)

Partial evaluation of vector of polynomials. In each element of the vector, variable var is replaced by the value val. The resulting vector of DAs is returned.

Parameters
[in]objThe vector to partially evaluate.
[in]varVariable number to be replaced.
[in]valValue by which to replace the variable.
Returns
A new DA object containing the resulting DA object.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.

◆ plug() [4/4]

DACE_API DA DACE::plug ( const DA da,
const unsigned int  var,
const double  val 
)

Partial evaluation of a DA object. In the DA object, variable var is replaced by the value val. The resulting DA object is returned.

Parameters
[in]daa given DA object.
[in]varvariable number to be replaced
[in]valvalue by which to replace the variable
Returns
A new DA object containing the resulting DA object.
Exceptions
DACE::DACEException
See also
DA::plug

◆ pow() [1/3]

template<typename T >
AlgebraicVector< T > DACE::pow ( const AlgebraicVector< T > &  obj,
const int  p 
)

Elevate a AlgebraicVector<T> to a given integer power. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]ppower at which the AlgebraicVector is elevated.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::pow

Elevate a AlgebraicVector<T> to a given integer power. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]ppower at which the AlgebraicVector is elevated.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::pow

◆ pow() [2/3]

DACE_API DA DACE::pow ( const DA da,
int  p 
)

Raise a DA object to a given integer power. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
[in]ppower at which the DA object is elevated.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::pow

◆ pow() [3/3]

DACE_API DA DACE::pow ( const DA da,
double  p 
)

Raise a DA object to a given integer power. The constant part must be positive. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
[in]ppower at which the DA object is elevated.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::pow

◆ PsiFunction()

DACE_API DA DACE::PsiFunction ( const unsigned int  n,
const DA da 
)

Compute the n-th Psi function of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Psi function to compute.
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::PsiFunction

◆ replaceVariable()

DACE_API DA DACE::replaceVariable ( const DA da,
const unsigned int  from,
const unsigned int  to,
const double  val 
)

Partial evaluation of a DA object. In the DA object, variable from is replaced by the value val times variable to. The resulting DA object is returned.

Parameters
[in]daa given DA object.
[in]fromvariable number to be replaced
[in]tovariable number to be inserted instead
[in]valvalue by which to scale the inserted variable
Returns
A new DA object containing the resulting DA object.
Exceptions
DACE::DACEException
See also
DA::replaceVariable

◆ root() [1/3]

double DACE::root ( const double  x,
const int  p = 2 
)

p-th root

p-th root of x.

Parameters
[in]xFunction argument.
[in]pRoot to take.

p-th root of x.

Parameters
[in]xFunction argument.
[in]pRoot to take.

◆ root() [2/3]

template<typename T >
AlgebraicVector< T > DACE::root ( const AlgebraicVector< T > &  obj,
const int  p = 2 
)

Compute the p-th root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]proot to be computed (default = 2).
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::root

Compute the p-th root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
[in]proot to be computed (default = 2).
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::root

◆ root() [3/3]

DACE_API DA DACE::root ( const DA da,
int  p 
)

Compute the p-th root of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
[in]proot to be computed.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::root

◆ round()

DACE_API DA DACE::round ( const DA da)

Round the constant part of a DA object to an integer. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object with a rounded constant part.
Exceptions
DACE::DACEException
See also
DA::round

◆ scaleVariable()

DACE_API DA DACE::scaleVariable ( const DA da,
const unsigned int  var,
const double  val 
)

Scaling of an independent variable. In the DA object, variable var is replaced by the value val times var. The resulting DA object is returned.

Parameters
[in]daa given DA object.
[in]varvariable number to be scaled
[in]valvalue by which to scale the variable
Returns
A new DA object containing the resulting DA object.
Exceptions
DACE::DACEException
See also
DA::scaleVariable

◆ sin() [1/2]

template<typename T >
AlgebraicVector< T > DACE::sin ( const AlgebraicVector< T > &  obj)

Compute the sine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sin

Compute the sine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sin

◆ sin() [2/2]

DACE_API DA DACE::sin ( const DA da)

Compute the sine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::sin

◆ sinh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::sinh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic sine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sinh

Compute the hyperbolic sine of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sinh

◆ sinh() [2/2]

DACE_API DA DACE::sinh ( const DA da)

Compute the hyperbolic sine of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::sinh

◆ size()

DACE_API unsigned int DACE::size ( const DA da)

Return the number of non-zero coefficients of a DA object.

Parameters
[in]daa given DA object.
Returns
The number of non-zero coefficients of the DA object.
Exceptions
DACE::DACEException
See also
DA::size

◆ sqr() [1/3]

double DACE::sqr ( const double  x)

Square.

Square of x.

Parameters
[in]xFunction argument.

Square of x.

Parameters
[in]xFunction argument.

◆ sqr() [2/3]

template<typename T >
AlgebraicVector< T > DACE::sqr ( const AlgebraicVector< T > &  obj)

Compute the square of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sqr

Compute the square of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sqr

◆ sqr() [3/3]

DACE_API DA DACE::sqr ( const DA da)

Compute the square of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::sqr

◆ sqrt() [1/2]

template<typename T >
AlgebraicVector< T > DACE::sqrt ( const AlgebraicVector< T > &  obj)

Compute the square root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sqrt

Compute the square root of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::sqrt

◆ sqrt() [2/2]

DACE_API DA DACE::sqrt ( const DA da)

Compute the square root of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::sqrt

◆ tan() [1/2]

template<typename T >
AlgebraicVector< T > DACE::tan ( const AlgebraicVector< T > &  obj)

Compute the tangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::tan

Compute the tangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::tan

◆ tan() [2/2]

DACE_API DA DACE::tan ( const DA da)

Compute the tangent of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::tan

◆ tanh() [1/2]

template<typename T >
AlgebraicVector< T > DACE::tanh ( const AlgebraicVector< T > &  obj)

Compute the hyperbolic tangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::tanh

Compute the hyperbolic tangent of a AlgebraicVector<T>. The result is copied in a new AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A new AlgebraicVector<T> containing the result of the operation.
See also
AlgebraicVector<T>::tanh

◆ tanh() [2/2]

DACE_API DA DACE::tanh ( const DA da)

Compute the hyperbolic tangent of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::tanh

◆ tgamma()

DACE_API DA DACE::tgamma ( const DA da)

Compute the Gamma function of a DA object. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
See also
DA::GammaFunction
Note
Alias of GammaFunction() for C99 compatible naming.

◆ toString()

DACE_API std::string DACE::toString ( const DA da)

Convert DA object to a string.

Parameters
[in]daa given DA object.
Returns
A string.
Exceptions
DACE::DACEException
See also
DA::toString

◆ translateVariable()

DACE_API DA DACE::translateVariable ( const DA da,
const unsigned int  var,
const double  a,
const double  c 
)

Affine translation of an independent variable. In the DA object, variable var is replaced by a*var + c. The resulting DA object is returned.

Parameters
[in]daa given DA object.
[in]varvariable number to be translated
[in]avalue by which to scale the variable
[in]cvalue by which to shift the variable
Returns
A new DA object containing the resulting DA object.
Exceptions
DACE::DACEException
See also
DA::translateVariable

◆ transpose()

template<class T >
AlgebraicMatrix< T > DACE::transpose ( const AlgebraicMatrix< T > &  obj)

Compute the transpose of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
An AlgebraicMatrix that is the transpose of the original AlgebraicMatrix.
See also
AlgebraicMatrix<T>::transpose

Compute the transpose of an AlgebraicMatrix.

Parameters
[in]objAn AlgebraicMatrix
Returns
An AlgebraicMatrix that is the transpose of the original AlgebraicMatrix.
See also
AlgebraicMatrix<T>::transpose

◆ trim() [1/4]

template<typename T >
AlgebraicVector<T> DACE::trim ( const AlgebraicVector< T > &  obj,
unsigned int  min,
unsigned int  max = DA::getMaxOrder() 
)

◆ trim() [2/4]

template<>
DACE_API AlgebraicVector<DA> DACE::trim ( const AlgebraicVector< DA > &  obj,
unsigned int  min,
unsigned int  max 
)

Returns an AlgebraicVector<DA> with all monomials of order less than min and greater than max removed (trimmed). The result is copied in a new AlgebraicVector<DA>.

Parameters
[in]objthe AlgebraicVector<DA> to be trimmed.
[in]minminimum order to be preserved.
[in]maxmaximum order to be preserved.
Returns
A new AlgebraicVector<DA> containing the result of the trimming.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::trim

◆ trim() [3/4]

template<>
AlgebraicVector<DA> DACE::trim ( const AlgebraicVector< DA > &  obj,
unsigned int  min,
unsigned int  max 
)

Returns an AlgebraicVector<DA> with all monomials of order less than min and greater than max removed (trimmed). The result is copied in a new AlgebraicVector<DA>.

Parameters
[in]objthe AlgebraicVector<DA> to be trimmed.
[in]minminimum order to be preserved.
[in]maxmaximum order to be preserved.
Returns
A new AlgebraicVector<DA> containing the result of the trimming.
Note
This DA specific function is only available in AlgebraicVector<DA>. When called on AlgebraicVectors of other types (e.g. double), a compiler error will be the result.
See also
AlgebraicVector<T>::trim

◆ trim() [4/4]

DACE_API DA DACE::trim ( const DA da,
const unsigned int  min,
const unsigned int  max 
)

Returns a DA object with all monomials of order less than min and greater than max removed (trimmed). The result is copied in a new DA object.

Parameters
[in]daDA object.
[in]minThe minimum order to keep in the DA object.
[in]maxThe maximum order to keep in the DA object.
Returns
A new DA object containing the result of the trimming.
Exceptions
DACE::DACEException
See also
DA::trim

◆ trunc()

DACE_API DA DACE::trunc ( const DA da)

Truncate the constant part of a DA object to an integer. The result is copied in a new DA object.

Parameters
[in]daa given DA object.
Returns
A new DA object with a truncated constant part.
Exceptions
DACE::DACEException
See also
DA::trunc

◆ vnorm()

template<typename T >
T DACE::vnorm ( const AlgebraicVector< T > &  obj)

Compute the Euclidean vector norm (length) of an AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A scalar value containing the result of the operation.
See also
AlgebraicVector<T>::norm

Compute the Euclidean vector norm (length) of an AlgebraicVector<T>.

Parameters
[in]objAlgebraicVector<T>.
Returns
A scalar value containing the result of the operation.
See also
AlgebraicVector<T>::norm

◆ write()

DACE_API void DACE::write ( const DA da,
std::ostream &  os 
)

Write binary representation of DA object to given stream os.

Parameters
[in]daa given DA object.
[in]osthe output stream to write to.
Exceptions
DACE::DACEException
See also
DA::write

◆ yn()

DACE_API DA DACE::yn ( const int  n,
const DA da 
)

Compute the n-th Bessel function of second type Y_n of a DA object. The result is copied in a new DA object.

Parameters
[in]norder of the Bessel function.
[in]daa given DA object.
Returns
A new DA object containing the result of the operation.
Exceptions
DACE::DACEException
Note
The DA must have non-negative constant part while the order is allowed to be negative.
Alias of BesselYFunction for C compatible naming.
See also
DA::BesselYFunction