def test_l1_hessian(): npt.assert_array_equal(regs.L1().hessian(np.array([1, 2])), np.array([[0, 0], [0, 0]]))
def test_l1_gradient(beta, expected): npt.assert_array_equal(regs.L1().gradient(beta), expected)
def test_l1_gradient_raises_near_zero(beta): with pytest.raises(ValueError): regs.L1().gradient(beta)
def test_l1_function(beta, expected): assert regs.L1().f(beta) == expected
def test_elastic_net_gradient_zero_weight_is_l1(): beta = np.array([1, 2, 3]) npt.assert_array_equal( regs.ElasticNet(weight=1).gradient(beta), regs.L1().gradient(beta))
def test_elastic_net_function_zero_weight_is_l1(): beta = np.array([1, 2, 3]) assert regs.ElasticNet(weight=1).f(beta) == regs.L1().f(beta)
def test_l1_proximal_operator(beta, expected): npt.assert_array_equal(regs.L1().proximal_operator(beta, 1), expected)
def test_l1_hessian_raises(): with pytest.raises(ValueError): regs.L1().hessian(np.array([0, 0, 0]))