예제 #1
0
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
예제 #4
0
def ackley(x):
    a, b, c = 20.0, -0.2, 2.0 * numpy.pi
    len_recip = 1.0 / len(x)
    sum_sqrs, sum_cos = 0.0, 0.0
    for i in x:
        sum_cos += algopy.cos(c * i)
        sum_sqrs += i * i
    return -a * algopy.exp(b * algopy.sqrt(len_recip * sum_sqrs)) - algopy.exp(len_recip * sum_cos) + a + numpy.e
예제 #5
0
def ackley(x):
    a, b, c = 20.0, -0.2, 2.0 * numpy.pi
    len_recip = 1.0 / len(x)
    sum_sqrs, sum_cos = 0.0, 0.0
    for i in x:
        sum_cos += algopy.cos(c * i)
        sum_sqrs += i * i
    return (-a * algopy.exp(b * algopy.sqrt(len_recip * sum_sqrs)) -
            algopy.exp(len_recip * sum_cos) + a + numpy.e)
예제 #6
0
파일: test_tracer.py 프로젝트: eteq/algopy
    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)))
예제 #7
0
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
예제 #8
0
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