def test_dproj_psd(self): np.random.seed(0) for _ in range(10): # n=55 equals k * (k + 1) / 2 self._test_dproj(Cone(ConeType.PSD, [cone_lib.psd_dim(55)]), True, 55) self._test_dproj(Cone(ConeType.PSD, [cone_lib.psd_dim(55)]), False, 55)
def test_dproj_exp_dual(self): np.random.seed(0) for _ in range(10): # dimension must be a multiple of 3 self._test_dproj(Cone(ConeType.EXP_DUAL, [18]), True, 54, tol=1e-5) self._test_dproj(Cone(ConeType.EXP_DUAL, [18]), False, 54, tol=1e-5)
def parse_cone_dict_cpp(cone_list): return [Cone(CONE_MAP[cone], [l] if not isinstance(l, (list, tuple)) else l) for cone, l in cone_list]
def test_dproj_soc(self): np.random.seed(0) for _ in range(10): self._test_dproj(Cone(ConeType.SOC, [55]), True, 55) self._test_dproj(Cone(ConeType.SOC, [55]), False, 55)
def test_dproj_exp(): np.random.seed(0) for _ in range(10): # dimension must be a multiple of 3 _test_dproj(Cone(ConeType.EXP, [18]), True, 54, tol=1e-5) _test_dproj(Cone(ConeType.EXP, [18]), False, 54, tol=1e-5)
def test_dproj_pos(): np.random.seed(0) for _ in range(10): _test_dproj(Cone(ConeType.POS, [55]), True, 55) _test_dproj(Cone(ConeType.POS, [55]), False, 55)
def test_dproj_zero(): np.random.seed(0) for _ in range(10): _test_dproj(Cone(ConeType.ZERO, [55]), True, 55) _test_dproj(Cone(ConeType.ZERO, [55]), False, 55)