Prev Next a_fun_optimize_xam.py Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Python: Optimize an a_fun: Example and Test
def a_fun_optimize_xam() :
     #
     # load the Cppad Swig library
     import py_cppad
     #
     # initialize return variable
     ok = True
     # ---------------------------------------------------------------------
     n_ind = 1 # number of independent variables
     n_dep = 1 # number of dependent variables
     n_var = 1 # phantom variable at address 0
     n_op = 1  # special operator at beginning
     #
     # dimension some vectors
     x = py_cppad.vec_double(n_ind)
     ay = py_cppad.vec_a_double(n_dep)
     #
     # independent variables
     x[0] = 1.0
     ax = py_cppad.independent(x)
     n_var = n_var + n_ind # one for each indpendent
     n_op = n_op + n_ind
     #
     # accumulate summation
     ax0 = ax[0]
     csum = py_cppad.a_double(0.0)
     csum = ax0 + ax0 + ax0 + ax0
     n_var = n_var + 3 # one per + operator
     n_op = n_op + 3
     #
     # define f(x) = y_0 = csum
     ay[0] = csum
     af = py_cppad.a_fun(ax, ay)
     n_op = n_op + 1 # speical operator at end
     #
     # check number of variables and operators
     ok = ok and af.size_var() == n_var
     ok = ok and af.size_op() == n_op
     #
     # optimize
     af.optimize()
     #
     # number of variables and operators has decreased by two
     ok = ok and af.size_var() == n_var-2
     ok = ok and af.size_op() == n_op-2
     #
     return( ok  )
#

Input File: build/lib/example/python/a_fun_optimize_xam.py