Coverage for picos/constraints/__init__.py: 100.00%

30 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2023-03-26 07:46 +0000

1# ------------------------------------------------------------------------------ 

2# Copyright (C) 2018-2019 Maximilian Stahlberg 

3# 

4# This file is part of PICOS. 

5# 

6# PICOS is free software: you can redistribute it and/or modify it under the 

7# terms of the GNU General Public License as published by the Free Software 

8# Foundation, either version 3 of the License, or (at your option) any later 

9# version. 

10# 

11# PICOS is distributed in the hope that it will be useful, but WITHOUT ANY 

12# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 

13# A PARTICULAR PURPOSE. See the GNU General Public License for more details. 

14# 

15# You should have received a copy of the GNU General Public License along with 

16# this program. If not, see <http://www.gnu.org/licenses/>. 

17# ------------------------------------------------------------------------------ 

18 

19"""Optimization constraint types. 

20 

21This package contains the constraint types that are used to express optimization 

22constraints. You do not need to instanciate these constraints directly; it is 

23more convenient to create them by applying Python's comparison operators to 

24algebraic expressions (see the :ref:`cheatsheet`). 

25""" 

26 

27from ..apidoc import api_end, api_start 

28 

29 

30_API_START = api_start(globals()) 

31# ------------------------------- 

32 

33 

34# Import the base classes. 

35from .constraint import (ConicConstraint, ConstraintType, Constraint, # noqa 

36 ConstraintConversion) 

37 

38# Import the implementation classes. 

39from .con_absolute import AbsoluteValueConstraint # noqa 

40from .con_affine import ComplexAffineConstraint, AffineConstraint # noqa 

41from .con_detrootn import DetRootNConstraint # noqa 

42from .con_expcone import ExpConeConstraint # noqa 

43from .con_extremum import ExtremumConstraint # noqa 

44from .con_flow import FlowConstraint # noqa 

45from .con_dummy import DummyConstraint # noqa 

46from .con_geomean import GeometricMeanConstraint # noqa 

47from .con_kldiv import KullbackLeiblerConstraint # noqa 

48from .con_lmi import ComplexLMIConstraint, LMIConstraint # noqa 

49from .con_log import LogConstraint # noqa 

50from .con_logsumexp import LogSumExpConstraint # noqa 

51from .con_matnorm import (MatrixNormConstraint, # noqa 

52 SpectralNormConstraint, NuclearNormConstraint) 

53from .con_powtrace import PowerTraceConstraint # noqa 

54from .con_prodcone import ProductConeConstraint # noqa 

55from .con_quadratic import (NonconvexQuadraticConstraint, # noqa 

56 ConvexQuadraticConstraint, ConicQuadraticConstraint) 

57from .con_rsoc import RSOCConstraint # noqa 

58from .con_simplex import SimplexConstraint # noqa 

59from .con_soc import SOCConstraint # noqa 

60from .con_sqnorm import SquaredNormConstraint # noqa 

61from .con_sumexp import SumExponentialsConstraint # noqa 

62from .con_sumxtr import SumExtremesConstraint # noqa 

63from .con_vecnorm import VectorNormConstraint # noqa 

64from .con_wsum import WeightedSumConstraint # noqa 

65 

66# Import additional implementation classes from subpackages. 

67from .uncertain import * # noqa 

68 

69 

70# -------------------------------------- 

71__all__ = api_end(_API_START, globals())