pow

View page source

The AD Power Function

Syntax

z = pow ( x , y )

See Also

pow_int

Purpose

Determines the value of the power function which is defined by

\[{\rm pow} (x, y) = x^y\]

If y is a Variable

If y is a variable, the pow function may use logarithms and exponentiation to compute derivatives. This will not work if x is less than or equal zero.

If y is a Parameter

If y is a parameter, a different method is used to compute the derivatives; see pow_forward . In the special case where x is zero, zero is returned as the derivative. This is correct when y minus the order of the derivative is greater than zero. If y minus the order of the derivative is zero, then y is an integer. If y minus the order of the derivative is less than zero, the actual derivative is infinite.

If y is an Integer

If the value of y is an integer, the pow_int function can be used to compute this value using only multiplication (and division if y is negative). This will work even if x is less than or equal zero.

x

The argument x has one of the following prototypes

      const Base & x
      const AD < Base >& x
      const VecAD < Base >:: reference& x

y

The argument y has one of the following prototypes

      const Base & y
      const AD < Base >& y
      const VecAD < Base >:: reference& y

z

If both x and y are Base objects, the result z is also a Base object. Otherwise, it has prototype

AD < Base > z

Operation Sequence

This is an AD of Base atomic operation and hence is part of the current AD of Base operation sequence .

Example

The files pow.cpp and pow_nan.cpp are examples tests of this function.