Prev Next Index-> contents reference index search external Up-> CppAD Appendix Theory ReverseTheory atan_reverse Appendix-> Faq directory Theory glossary Bib wish_list whats_new deprecated compare_c numeric_ad addon License Theory-> ForwardTheory ReverseTheory reverse_identity ReverseTheory-> exp_reverse log_reverse sqrt_reverse sin_cos_reverse atan_reverse asin_reverse acos_reverse tan_reverse erf_reverse atan_reverse Headings

Inverse Tangent and Hyperbolic Tangent Reverse Mode Theory
We use the reverse theory standard math function definition for the functions $H$ and $G$. In addition, we use the forward mode notation in atan_forward for $$B(t) = 1 \pm X(t) * X(t)$$ We use $b$ for the p-th order Taylor coefficient row vectors corresponding to $B(t)$ and replace $z^{(j)}$ by $$( z^{(j)} , b^{(j)} )$$ in the definition for $G$ and $H$. The zero order forward mode formulas for the atan function are $$\begin{array}{rcl} z^{(0)} & = & F ( x^{(0)} ) \\ b^{(0)} & = & 1 \pm x^{(0)} x^{(0)} \end{array}$$ where $F(x) = \R{atan} (x)$ for $+$ and $F(x) = \R{atanh} (x)$ for $-$. For orders $j$ greater than zero we have $$\begin{array}{rcl} b^{(j)} & = & \pm \sum_{k=0}^j x^{(k)} x^{(j-k)} \\ z^{(j)} & = & \frac{1}{j} \frac{1}{ b^{(0)} } \left( j x^{(j)} - \sum_{k=1}^{j-1} k z^{(k)} b^{(j-k)} \right) \end{array}$$ If $j = 0$, we note that $F^{(1)} ( x^{(0)} ) = 1 / b^{(0)}$ and hence $$\begin{array}{rcl} \D{H}{ x^{(j)} } & = & \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(0)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ x^{(0)} } \\ & = & \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \frac{1}{ b^{(0)} } \pm \D{G}{ b^{(j)} } 2 x^{(0)} \end{array}$$ If $j > 0$, then for $k = 1, \ldots , j-1$ $$\begin{array}{rcl} \D{H}{ b^{(0)} } & = & \D{G}{ b^{(0)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ b^{(0)} } \\ & = & \D{G}{ b^{(0)} } - \D{G}{ z^{(j)} } \frac{ z^{(j)} }{ b^{(0)} } \\ \D{H}{ x^{(j)} } & = & \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(j)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ x^{(j)} } \\ & = & \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \frac{1}{ b^{(0)} } \pm \D{G}{ b^{(j)} } 2 x^{(0)} \\ \D{H}{ x^{(0)} } & = & \D{G}{ x^{(0)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(0)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ x^{(0)} } \\ & = & \D{G}{ x^{(0)} } \pm \D{G}{ b^{(j)} } 2 x^{(j)} \\ \D{H}{ x^{(k)} } & = & \D{G}{ x^{(k)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(k)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ x^{(k)} } \\ & = & \D{G}{ x^{(k)} } \pm \D{G}{ b^{(j)} } 2 x^{(j-k)} \\ \D{H}{ z^{(k)} } & = & \D{G}{ z^{(k)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ z^{(k)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ z^{(k)} } \\ & = & \D{G}{ z^{(k)} } - \D{G}{ z^{(j)} } \frac{k b^{(j-k)} }{ j b^{(0)} } \\ \D{H}{ b^{(j-k)} } & = & \D{G}{ b^{(j-k)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ b^{(j-k)} } + \D{G}{ b^{(j)} } \D{ b^{(j)} }{ b^{(j-k)} } \\ & = & \D{G}{ b^{(j-k)} } - \D{G}{ z^{(j)} } \frac{k z^{(k)} }{ j b^{(0)} } \end{array}$$
Input File: omh/appendix/theory/atan_reverse.omh