lines 6-109 of file: xrst/theory/log_reverse.xrst

{xrst_begin log_reverse}

Logarithm Function Reverse Mode Theory
######################################

We use the reverse theory
:ref:`standard math function<reverse_theory@Standard Math Functions>`
definition for the functions :math:`H` and :math:`G`.

The zero order forward mode formula for the
:ref:`logarithm<log_forward-name>` is

.. math::

   z^{(0)}  =  F( x^{(0)} )

and for :math:`j > 0`,

.. math::

   z^{(j)}
   =  \frac{1}{ \bar{b} + x^{(0)} } \frac{1}{j}
   \left(
      j x^{(j)}
      - \sum_{k=1}^{j-1} k z^{(k)} x^{(j-k)}
   \right)

where

.. math::

   \bar{b}
   =
   \left\{ \begin{array}{ll}
      0 & \R{if} \; F(x) = \R{log}(x)
      \\
      1 & \R{if} \; F(x) = \R{log1p}(x)
   \end{array} \right.

We note that for :math:`j > 0`

.. math::
   :nowrap:

   \begin{eqnarray}
   \D{ z^{(j)} } { x^{(0)} }
   & = &
   -
   \frac{1}{ \bar{b} + x^{(0)} }
   \frac{1}{ \bar{b} + x^{(0)} }
   \frac{1}{j}
   \left(
      j x^{(j)}
      - \sum_{k=1}^{j-1} k z^{(k)} x^{(j-k)}
   \right)
   \\
   & = &
   -
   \frac{z^{(j)}}{ \bar{b} + x^{(0)} }
   \end{eqnarray}

Removing the zero order partials are given by

.. math::
   :nowrap:

   \begin{eqnarray}
   \D{H}{ x^{(0)} } & = &
   \D{G}{ x^{(0)} }  + \D{G}{ z^{(0)} } \D{ z^{(0)} }{ x^{(0)} }
   \\
   & = &
   \D{G}{ x^{(0)} }  + \D{G}{ z^{(0)} } \frac{1}{ \bar{b} + x^{(0)} }
   \end{eqnarray}

For orders :math:`j > 0` and for :math:`k = 1 , \ldots , j-1`

.. math::
   :nowrap:

   \begin{eqnarray}
   \D{H}{ x^{(0)} }
   & = &
   \D{G}{ x^{(0)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(0)} }
   \\
   & = &
   \D{G}{ x^{(0)} } - \D{G}{ z^{(j)} } \frac{ z^{(j)} }{ \bar{b} + x^{(0)} }
   \\
   \D{H}{ x^{(j)} }
   & = &
   \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \D{ z^{(j)} }{ x^{(j)} }
   \\
   & = &
   \D{G}{ x^{(j)} } + \D{G}{ z^{(j)} } \frac{1}{ \bar{b} + x^{(0)} }
   \\
   \D{H}{ x^{(j-k)} } & = &
   \D{G}{ x^{(j-k)} }  -
      \D{G}{ z^{(j)} } \frac{1}{ \bar{b} + x^{(0)} } \frac{k}{j}  z^{(k)}
   \\
   \D{H}{ z^{(k)} } & = &
   \D{G}{ z^{(k)} }  -
      \D{G}{ z^{(j)} } \frac{1}{ \bar{b} + x^{(0)} } \frac{k}{j}  x^{(j-k)}
   \end{eqnarray}

{xrst_end log_reverse}
