@@ -397,6 +397,23 @@ function test_RelativeEntropyEpiConeSquare()
397
397
return
398
398
end
399
399
400
+ function test_is_feasible ()
401
+ @test Convex. is_feasible ([1.0 , 0.0 ], MOI. Nonnegatives (2 ), 0.0 )
402
+ @test ! Convex. is_feasible ([- 1.0 , 0.0 ], MOI. Nonnegatives (2 ), 0.0 )
403
+ @test Convex. is_feasible ([- 1.0 , 0.0 ], MOI. Nonpositives (2 ), 0.0 )
404
+ @test ! Convex. is_feasible ([1.0 , 0.0 ], MOI. Nonpositives (2 ), 0.0 )
405
+ @test Convex. is_feasible ([1e-5 , 0.0 ], MOI. Zeros (2 ), 1e-5 )
406
+ @test ! Convex. is_feasible ([1e-5 , 0.0 ], MOI. Zeros (2 ), 0.0 )
407
+ @test Convex. is_feasible ([5.0 , 3.0 , 4.0 ], MOI. SecondOrderCone (3 ), 0.0 )
408
+ set = MOI. PositiveSemidefiniteConeSquare (2 )
409
+ @test Convex. is_feasible ([1.0 0.0 ; 0.0 1.0 ], set, 0.0 )
410
+ @test ! Convex. is_feasible ([- 1.0 0.0 ; 0.0 1.0 ], set, 0.0 )
411
+ @test ! Convex. is_feasible ([1.0 1e-6 ; 0.0 1.0 ], set, 0.0 )
412
+ set = MOI. NormSpectralCone (2 , 2 )
413
+ @test Convex. is_feasible ([1.0 , 1.0 , 0.0 , 0.0 , 1.0 ], set, 0.0 ) === missing
414
+ return
415
+ end
416
+
400
417
function test_distance_to_set_matrix ()
401
418
x = Variable (2 , 2 )
402
419
y = Variable ()
0 commit comments