def eval_g(x, y): """ some vector-valued function """ retval = algopy.zeros(3, dtype=x) retval[0] = algopy.sin(x**2 + y) retval[1] = algopy.cos(x+y) - x retval[2] = algopy.sin(x)**2 + algopy.cos(x)**2 return retval
def eval_g(x, y): """ some vector-valued function """ retval = algopy.zeros(3, dtype=x) retval[0] = algopy.sin(x**2 + y) retval[1] = algopy.cos(x + y) - x retval[2] = algopy.sin(x)**2 + algopy.cos(x)**2 return retval
def f(x): nobs = x.shape[1:] f0 = x[0]**2 * sin(x[1])**2 f1 = x[0]**2 * cos(x[1])**2 out = zeros((2,) + nobs, dtype=x) out[0,:] = f0 out[1,:] = f1 return out
def test_tangent_gradient(self): cg = CGraph() x = Function(1.) y1 = algopy.tan(x) cg.trace_off() cg.independentFunctionList = [x] cg.dependentFunctionList = [y1] g1 = cg.gradient([1.])[0] x = UTPM.init_jacobian(1.) assert_array_almost_equal(g1,UTPM.extract_jacobian(algopy.sin(x)/algopy.cos(x))) assert_array_almost_equal(g1,UTPM.extract_jacobian(algopy.tan(x)))
def rotate(x, y, U_direction_radians): x_r = x*cos(U_direction_radians)-y*sin(U_direction_radians) y_r = x*sin(U_direction_radians)+y*cos(U_direction_radians) return x_r, y_r
def rotate(x, y, U_direction_radians): x_r = x * cos(U_direction_radians) - y * sin(U_direction_radians) y_r = x * sin(U_direction_radians) + y * cos(U_direction_radians) return x_r, y_r
cstart = clock() r8 = test_numdifftools_std() cstop = clock() LOGGER.debug('test numdifftools w/std-dev only:\n\telapsed time> %g [s]\n', cstop - cstart) cstart = clock() r9 = test_numdifftools_cov() cstop = clock() LOGGER.debug('test numdifftools w/covariance:\n\telapsed time> %g [s]\n', cstop - cstart) # test numdifftools with algopy G = lambda x: sin(x) def test_algopy_std(avg=AVG, std=STD, f=G): c = clock() jac = nda.Derivative(f) LOGGER.debug('\t1> %g [s]', clock() - c) j = jac(avg) LOGGER.debug('\t2> %g [s]', clock() - c) std = np.abs(j*std) # np.sqrt(j*std*std*j) LOGGER.debug('\t3> %g [s]', clock() - c) avg = f(avg) LOGGER.debug('\t4> %g [s]', clock() - c) dt = np.dtype([('avg', float), ('std', float)]) LOGGER.debug('\t5> %g [s]', clock() - c) return np.array(zip(avg, std), dtype=dt)