@@ -36,6 +36,10 @@ function test_objective_quadratic_univariate()
3636 g = [NaN ]
3737 MOI. eval_objective_gradient (evaluator, g, [1.2 ])
3838 @test g == [2.4 ]
39+ @test MOI. hessian_objective_structure (evaluator) == [(1 , 1 )]
40+ H = [NaN ]
41+ MOI. eval_hessian_objective (evaluator, H, [1.2 ])
42+ @test H == [2.0 ]
3943 @test MOI. hessian_lagrangian_structure (evaluator) == [(1 , 1 )]
4044 H = [NaN ]
4145 MOI. eval_hessian_lagrangian (evaluator, H, [1.2 ], 1.5 , Float64[])
@@ -63,6 +67,14 @@ function test_objective_and_constraints_quadratic_univariate()
6367 g = [NaN ]
6468 MOI. eval_objective_gradient (evaluator, g, [1.2 ])
6569 @test g == [2.4 ]
70+ @test MOI. hessian_objective_structure (evaluator) == [(1 , 1 )]
71+ H = [NaN ]
72+ MOI. eval_hessian_objective (evaluator, H, [1.2 ])
73+ @test H == [2.0 ]
74+ @test MOI. hessian_constraint_structure (evaluator, 1 ) == [(1 , 1 )]
75+ H = [NaN ]
76+ MOI. eval_hessian_constraint (evaluator, H, [1.3 ], 1 )
77+ @test H == [2.0 ]
6678 @test MOI. hessian_lagrangian_structure (evaluator) == [(1 , 1 ), (1 , 1 )]
6779 H = [NaN , NaN ]
6880 MOI. eval_hessian_lagrangian (evaluator, H, [1.2 ], 1.5 , Float64[1.3 ])
@@ -92,6 +104,10 @@ function test_objective_quadratic_multivariate()
92104 g = [NaN , NaN ]
93105 MOI. eval_objective_gradient (evaluator, g, [1.2 , 2.3 ])
94106 @test g == [2 * 1.2 + 2.3 , 1.2 + 2 * 2.3 ]
107+ @test MOI. hessian_objective_structure (evaluator) == [(1 , 1 ), (2 , 2 ), (2 , 1 )]
108+ H = [NaN , NaN , NaN ]
109+ MOI. eval_hessian_objective (evaluator, H, [1.2 , 2.3 ])
110+ @test H == [2.0 , 2.0 , 1.0 ]
95111 @test MOI. hessian_lagrangian_structure (evaluator) ==
96112 [(1 , 1 ), (2 , 2 ), (2 , 1 )]
97113 H = [NaN , NaN , NaN ]
@@ -126,6 +142,10 @@ function test_objective_quadratic_multivariate_subexpressions()
126142 g = [NaN , NaN ]
127143 MOI. eval_objective_gradient (evaluator, g, [1.2 , 2.3 ])
128144 @test g == [2 * 1.2 + 2.3 , 1.2 + 2 * 2.3 ]
145+ @test MOI. hessian_objective_structure (evaluator) == [(1 , 1 ), (2 , 2 ), (2 , 1 )]
146+ H = [NaN , NaN , NaN ]
147+ MOI. eval_hessian_objective (evaluator, H, [1.2 , 2.3 ])
148+ @test H == [2.0 , 2.0 , 1.0 ]
129149 @test MOI. hessian_lagrangian_structure (evaluator) ==
130150 [(1 , 1 ), (2 , 2 ), (2 , 1 )]
131151 H = [NaN , NaN , NaN ]
@@ -225,6 +245,10 @@ function test_constraint_quadratic_univariate()
225245 J = [NaN ]
226246 MOI. eval_constraint_jacobian (evaluator, J, x_val)
227247 @test J == 2 .* x_val
248+ @test MOI. hessian_constraint_structure (evaluator, 1 ) == [(1 , 1 )]
249+ H = [NaN ]
250+ MOI. eval_hessian_constraint (evaluator, H, x_val, 1 )
251+ @test H == [2.0 ]
228252 @test MOI. hessian_lagrangian_structure (evaluator) == [(1 , 1 )]
229253 H = [NaN ]
230254 MOI. eval_hessian_lagrangian (evaluator, H, x_val, 0.0 , [1.5 ])
0 commit comments