def test_defaults(): prob, xvars = example() prox = Prox(prob, xvars) assert prox.settings == dict(eps=1e-3, max_iters=100, verbose=False) # make sure the CySCS settings are set to the correct defaults assert prox._work.settings['eps'] == 1e-3 assert prox._work.settings['max_iters'] == 100 assert prox._work.settings['verbose'] == False
def test_defaults(): prob, xvars = example() prox = Prox(prob, xvars) assert prox.settings == dict(eps=1e-3, max_iters=100, verbose=False) # make sure the CySCS settings are set to the correct defaults assert prox._work.settings['eps'] == 1e-3 assert prox._work.settings['max_iters'] == 100 assert not prox._work.settings['verbose']
def test(): prob, x_vars = example() data, indmap, solmap = stuffed_prox(prob, x_vars) x = 3 rho = 2 # x should decrease by 1/rho x0_vals = dict(x=x) x_vals = do_prox(data, indmap, solmap, x0_vals, rho) assert np.allclose(x_vals['x'], x - 1.0 / rho, atol=1e-3)
def test(): prob, x_vars = example() data, indmap, solmap = stuffed_prox(prob, x_vars) x = 3 rho = 2 # x should decrease by 1/rho x0_vals = dict(x=x) x_vals = do_prox(data, indmap, solmap, x0_vals, rho) assert np.allclose(x_vals['x'], x-1.0/rho, atol=1e-3)
def test1(): prob, xvars = example() prox = Prox(prob, xvars) assert prox.settings == dict(eps=1e-3, max_iters=100, verbose=False) prox.update_settings(eps=1e-7) assert prox.settings['eps'] == 1e-7 with pytest.raises(ValueError): prox.update_settings(cows=17) # won't catch the bad key here prox.settings['cows'] = 17 # but will catch it when prox is run with pytest.raises(ValueError): prox()
def test_1(): # todo: test that it works on the boundary... prob, x_vars = example() pxprob, x0_vars = form_prox(prob, x_vars) x = 3 rho = 2 # x should decrease by 1/rho x0_vars['x'].value = x x0_vars['__tau'].value = rho / 2.0 pxprob.solve() assert np.allclose(x_vars['x'].value, x - 1.0 / rho)
def test_1(): # todo: test that it works on the boundary... prob, x_vars = example() pxprob, x0_vars = form_prox(prob, x_vars) x = 3 rho = 2 # x should decrease by 1/rho x0_vars['x'].value = x x0_vars['__tau'].value = rho/2.0 pxprob.solve() assert np.allclose(x_vars['x'].value, x-1.0/rho)
def test1(): prob, xvars = example() prox = Prox(prob, xvars) x = prox() # assert that info has correct keys for key in 'status', 'iter', 'time': assert key in prox.info assert 'x' in x # test that SCS settings get passed down prox.update_settings(eps=4.5, max_iters=123) assert prox.settings['eps'] == 4.5 assert prox.settings['max_iters'] == 123 # note: settings don't actually get passed to CySCS until we call the CySCS solve internally, i.e., compute the prox assert prox._work.settings['eps'] != 4.5 assert prox._work.settings['max_iters'] != 123 prox() assert prox._work.settings['eps'] == 4.5 assert prox._work.settings['max_iters'] == 123
def test1(): prob, xvars = example() prox = CVXPYProx(prob, xvars) prox()