![]() |
Prev | Next | a_fun_forward_xam.py | Headings |
def a_fun_forward_xam() : # # load the Cppad Swig library import py_cppad # # initialize return variable ok = True # --------------------------------------------------------------------- # number of dependent and independent variables n_dep = 1 n_ind = 2 # # create the independent variables ax xp = py_cppad.vec_double(n_ind) for i in range( n_ind ) : xp[i] = i + 1.0 # ax = py_cppad.independent(xp) # # create dependent varialbes ay with ay0 = ax0 * ax1 ax0 = ax[0] ax1 = ax[1] ay = py_cppad.vec_a_double(n_dep) ay[0] = ax0 * ax1 # # define af corresponding to f(x) = x0 * x1 af = py_cppad.a_fun(ax, ay) # # define X(t) = (3 + t, 2 + t) # it follows that Y(t) = f(X(t)) = (3 + t) * (2 + t) # # Y(0) = 6 and p ! = 1 p = 0 xp[0] = 3.0 xp[1] = 2.0 yp = af.forward(p, xp) ok = ok and yp[0] == 6.0 # # first order Taylor coefficients for X(t) p = 1 xp[0] = 1.0 xp[1] = 1.0 # # first order Taylor coefficient for Y(t) # Y'(0) = 3 + 2 = 5 and p ! = 1 yp = af.forward(p, xp) ok = ok and yp[0] == 5.0 # # second order Taylor coefficients for X(t) p = 2 xp[0] = 0.0 xp[1] = 0.0 # # second order Taylor coefficient for Y(t) # Y''(0) = 2.0 and p ! = 2 yp = af.forward(p, xp) ok = ok and yp[0] == 1.0 # return( ok ) #