Example #1
0
def test_xys():
    data, cone = ex.simple_lp()
    m,n = data['A'].shape
    work = scs.Workspace(data, cone)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n+1), y=np.ones(m), s=np.ones(m))
        work.solve(warm_start = ws)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n), y=np.ones(m+1), s=np.ones(m))
        work.solve(warm_start = ws)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n), y=np.ones(m), s=np.ones(m+1))
        work.solve(warm_start = ws)

    ws = dict(x=np.ones(n), y=np.ones(m), s=np.ones(m))
    work.solve(warm_start = ws)

    # no value error because we copy the values to an existing float64 numpy array
    ws = dict(x=np.ones(n,dtype=np.float32), y=np.ones(m), s=np.ones(m))
    work.solve(warm_start = ws)

    # no value error because we copy the list values to an existing float64 array
    ws = dict(x=[1]*n, y=np.ones(m), s=np.ones(m))
    work.solve(warm_start = ws)
Example #2
0
def test_xys():
    data, cone = ex.simple_lp()
    m, n = data['A'].shape
    work = scs.Workspace(data, cone)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n + 1), y=np.ones(m), s=np.ones(m))
        work.solve(warm_start=ws)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n), y=np.ones(m + 1), s=np.ones(m))
        work.solve(warm_start=ws)

    with pytest.raises(ValueError):
        ws = dict(x=np.ones(n), y=np.ones(m), s=np.ones(m + 1))
        work.solve(warm_start=ws)

    ws = dict(x=np.ones(n), y=np.ones(m), s=np.ones(m))
    work.solve(warm_start=ws)

    # no value error because we copy the values to an existing float64 numpy array
    ws = dict(x=np.ones(n, dtype=np.float32), y=np.ones(m), s=np.ones(m))
    work.solve(warm_start=ws)

    # no value error because we copy the list values to an existing float64 array
    ws = dict(x=[1] * n, y=np.ones(m), s=np.ones(m))
    work.solve(warm_start=ws)
Example #3
0
def test_b_len():
    data, cone = ex.simple_lp()
    b = data['b']
    b = np.append(b,b)
    data['b'] = b

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #4
0
def test_b_len():
    data, cone = ex.simple_lp()
    b = data['b']
    b = np.append(b, b)
    data['b'] = b

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #5
0
def test_numdim_b():
    data, cone = ex.simple_lp()
    b = data['b']
    b = np.array(b, ndmin=2).T
    data['b'] = b

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #6
0
def test_cone_size():
    # test that the solve method recognizes that the length of the cone
    # does not match the number of rows of A
    data, cone = ex.simple_lp()
    cone['l'] = 5

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #7
0
def test_numdim_b():
    data, cone = ex.simple_lp()
    b = data['b']
    b = np.array(b, ndmin=2).T
    data['b'] = b

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #8
0
def test_c_len_workspace2():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    c = data['c']
    c = np.append(c, c)
    data['c'] = c

    with pytest.raises(ValueError):
        work.solve(new_bc=data)
Example #9
0
def test_c_len_workspace2():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    c = data['c']
    c = np.append(c,c)
    data['c'] = c

    with pytest.raises(ValueError):
        work.solve(new_bc = data)
Example #10
0
def test_b_len_workspace2():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    b = data['b']
    b = np.append(b, b)
    data['b'] = b

    with pytest.raises(ValueError):
        work.solve(new_bc=data)
Example #11
0
def test_b_len_workspace2():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    b = data['b']
    b = np.append(b,b)
    data['b'] = b

    with pytest.raises(ValueError):
        work.solve(new_bc = data)
Example #12
0
def test_solve():
    data, cone = ex.simple_lp()
    m, n = data['A'].shape

    ws = dict(x=np.zeros(n), y=np.zeros(m), s=np.zeros(m))

    sol = scs.solve(data, cone, warm_start=ws)

    # make sure sol and ws contain *different* numpy arrays
    assert any(ws['x'] != sol['x'])
    assert any(ws['y'] != sol['y'])
    assert any(ws['s'] != sol['s'])
Example #13
0
def test_solve():
    data, cone = ex.simple_lp()
    m,n = data['A'].shape
    
    ws = dict(x=np.zeros(n), y=np.zeros(m), s=np.zeros(m))

    sol = scs.solve(data, cone, warm_start = ws)

    # make sure sol and ws contain *different* numpy arrays
    assert any(ws['x'] != sol['x'])
    assert any(ws['y'] != sol['y'])
    assert any(ws['s'] != sol['s'])
Example #14
0
def test_b_len_workspace():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    b = data['b']
    b = np.append(b, b)

    # should go without error
    work.solve()

    # also should go on without error
    data['b'] = b
    work.solve()

    with pytest.raises(ValueError):
        work.data['b'] = b
        work.solve()
Example #15
0
def test_c_len_workspace():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    c = data['c']
    c = np.append(c, c)

    # should go without error
    work.solve()

    # also should go on without error
    data['c'] = c
    work.solve()

    with pytest.raises(ValueError):
        work.data['c'] = c
        work.solve()
Example #16
0
def test_c_len_workspace():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    c = data['c']
    c = np.append(c,c)

    # should go without error
    work.solve()

    # also should go on without error
    data['c'] = c
    work.solve()

    with pytest.raises(ValueError):
        work.data['c'] = c
        work.solve()
Example #17
0
def test_b_len_workspace():
    data, cone = ex.simple_lp()
    work = scs.Workspace(data, cone)

    b = data['b']
    b = np.append(b,b)

    # should go without error
    work.solve()

    # also should go on without error
    data['b'] = b
    work.solve()

    with pytest.raises(ValueError):
        work.data['b'] = b
        work.solve()
Example #18
0
def test_A_indptr():
    data, cone = ex.simple_lp()
    data['A'].indptr = data['A'].indptr.astype(np.int32)

    with pytest.warns(UserWarning):
        sol = scs.solve(data, cone)
Example #19
0
def test_simple_lp():
    data, cone = ex.simple_lp()
    sol = scs.solve(data, cone)
Example #20
0
def test_str_output():
    data, cone = ex.simple_lp()
    sol = scs.solve(data, cone)

    assert sol['info']['status'] == 'Solved'
Example #21
0
def test_A_data():
    data, cone = ex.simple_lp()
    data['A'].data = data['A'].data.astype(np.float32)

    with pytest.warns(UserWarning):
        sol = scs.solve(data, cone)
Example #22
0
def test_simple_direct():
    data, cone = ex.simple_lp()
    sol = scs.solve(data, cone, use_indirect=False)
Example #23
0
def test_extra_arg():
    data, cone = ex.simple_lp()
    sol = scs.solve(data, cone, eps=1e-9, alpha=.1, nonsense_arg='nonsense')
Example #24
0
def test_A_indptr():
    data, cone = ex.simple_lp()
    data['A'].indptr = data['A'].indptr.astype(np.int32)

    with pytest.warns(UserWarning):
        sol = scs.solve(data, cone)
Example #25
0
def test_b():
    data, cone = ex.simple_lp()
    data['b'] = data['b'].astype(np.float32)

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)
Example #26
0
def test_A_data():
    data, cone = ex.simple_lp()
    data['A'].data = data['A'].data.astype(np.float32)

    with pytest.warns(UserWarning):
        sol = scs.solve(data, cone)
Example #27
0
def test_b():
    data, cone = ex.simple_lp()
    data['b'] = data['b'].astype(np.float32)

    with pytest.raises(ValueError):
        sol = scs.solve(data, cone)