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
« 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# ------------------------------------------------------------------------------
19"""Optimization constraint types.
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"""
27from ..apidoc import api_end, api_start
30_API_START = api_start(globals())
31# -------------------------------
34# Import the base classes.
35from .constraint import (ConicConstraint, ConstraintType, Constraint, # noqa
36 ConstraintConversion)
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
97# Import additional implementation classes from subpackages.
98from .uncertain import * # noqa
101# --------------------------------------
102__all__ = api_end(_API_START, globals())