示例#1
0
def test_independent_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (x - 3)^2 + (y - 5)^2.
    """

    a, b = 2., 3.
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(x, y, x=a, y=b)
    sol = polyopt.optimize_polynomial(pol)
    x_sol = sol[x], sol[y]
    assert np.allclose([a, b], x_sol, 1e-3)
示例#2
0
def test_symmetric_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (x + y - 3)^2 + (x^2 + y^2 - 5)^2.
    """

    a, b = 1., 2.
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(x + y, x**2 + y**2, x=a, y=b)
    sol = polyopt.optimize_polynomial(pol)
    x_sol = sol[x], sol[y]
    # This doesn't work.
    assert np.allclose([a, b], x_sol, 1e-3) == False
示例#3
0
def test_independent_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (x - 3)^2 + (y - 5)^2.
    """

    a, b = 2., 3.
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(
            x,
            y,
            x = a,
            y = b)
    sol = polyopt.optimize_polynomial(pol)
    x_sol = sol[x], sol[y]
    assert np.allclose( [a, b], x_sol, 1e-3 )
示例#4
0
def test_symmetric_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (x + y - 3)^2 + (x^2 + y^2 - 5)^2.
    """

    a, b = 1., 2.
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(
            x + y,
            x**2 + y**2,
            x = a,
            y = b)
    sol = polyopt.optimize_polynomial(pol)
    x_sol = sol[x], sol[y]
    # This doesn't work.
    assert np.allclose( [a, b], x_sol, 1e-3 ) == False
示例#5
0
def test_broken_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (pi * x + (1-pi) * y - 3)^2 + (x^2 + y^2 - 5)^2.
    """

    a, b, pi = 1., 2., 0.4,
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(pi * x + (1 - pi) * y,
                                pi * x**2 + (1 - pi) * y**2,
                                x=a,
                                y=b)
    sol = polyopt.optimize_polynomial(pol)
    x_opt = np.array([a, b])
    x_sol = sol[x], sol[y]

    diff = np.sqrt((x_opt - x_sol).dot(x_opt - x_sol))
    print diff
    # This doesn't work.
    assert np.allclose(x_opt, x_sol, 1e-1)
示例#6
0
def test_broken_quadratic():
    """
    x = 1, y = 2
    Test the simple quadratic (pi * x + (1-pi) * y - 3)^2 + (x^2 + y^2 - 5)^2.
    """

    a, b, pi = 1., 2., 0.4,
    x, y = symbols('x,y')
    pol = polyopt.by_evaluation(
            pi * x + (1-pi) * y,
            pi * x**2 + (1-pi) * y**2,
            x = a,
            y = b)
    sol = polyopt.optimize_polynomial(pol)
    x_opt = np.array([a,b])
    x_sol = sol[x], sol[y]

    diff = np.sqrt((x_opt - x_sol).dot(x_opt - x_sol))
    print diff
    # This doesn't work.
    assert np.allclose( x_opt, x_sol, 1e-1 )