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
« 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# ------------------------------------------------------------------------------
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_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
66# Import additional implementation classes from subpackages.
67from .uncertain import * # noqa
70# --------------------------------------
71__all__ = api_end(_API_START, globals())