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

35 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-04-12 07:53 +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_mtxgeomean import (MatrixGeoMeanEpiConstraint, # noqa 

55 ComplexMatrixGeoMeanEpiConstraint, 

56 TrMatrixGeoMeanEpiConstraint, 

57 ComplexTrMatrixGeoMeanEpiConstraint, 

58 MatrixGeoMeanHypoConstraint, 

59 ComplexMatrixGeoMeanHypoConstraint, 

60 TrMatrixGeoMeanHypoConstraint, 

61 ComplexTrMatrixGeoMeanHypoConstraint) 

62from .con_oprelentr import (OpRelEntropyConstraint, # noqa 

63 ComplexOpRelEntropyConstraint, 

64 TrOpRelEntropyConstraint, 

65 ComplexTrOpRelEntropyConstraint) 

66from .con_quantkeydist import (QuantKeyDistributionConstraint, # noqa 

67 ComplexQuantKeyDistributionConstraint) 

68from .con_quantcondentr import (QuantCondEntropyConstraint, # noqa 

69 ComplexQuantCondEntropyConstraint) 

70from .con_quantrelentr import (QuantRelEntropyConstraint, # noqa 

71 ComplexQuantRelEntropyConstraint) 

72from .con_renyientr import (QuasiEntrEpiConstraint, # noqa 

73 ComplexQuasiEntrEpiConstraint, 

74 QuasiEntrHypoConstraint, 

75 ComplexQuasiEntrHypoConstraint, 

76 RenyiEntrConstraint, 

77 ComplexRenyiEntrConstraint, 

78 SandQuasiEntrEpiConstraint, 

79 ComplexSandQuasiEntrEpiConstraint, 

80 SandQuasiEntrHypoConstraint, 

81 ComplexSandQuasiEntrHypoConstraint, 

82 SandRenyiEntrConstraint, 

83 ComplexSandRenyiEntrConstraint) 

84from .con_prodcone import ProductConeConstraint # noqa 

85from .con_quadratic import (NonconvexQuadraticConstraint, # noqa 

86 ConvexQuadraticConstraint, 

87 ConicQuadraticConstraint) 

88from .con_rsoc import RSOCConstraint # noqa 

89from .con_simplex import SimplexConstraint # noqa 

90from .con_soc import SOCConstraint # noqa 

91from .con_sqnorm import SquaredNormConstraint # noqa 

92from .con_sumexp import SumExponentialsConstraint # noqa 

93from .con_sumxtr import SumExtremesConstraint # noqa 

94from .con_vecnorm import VectorNormConstraint # noqa 

95from .con_wsum import WeightedSumConstraint # noqa 

96 

97# Import additional implementation classes from subpackages. 

98from .uncertain import * # noqa 

99 

100 

101# -------------------------------------- 

102__all__ = api_end(_API_START, globals())