aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
LpInterface.h File Reference

Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN() & Christophe GONZALES() info_at_agrum_dot_org. More...

#include <iostream>
#include <sstream>
#include <string>
#include <agrum/CN/polytope/LrsWrapper.h>
#include <agrum/tools/core/hashFunc.h>
#include <agrum/tools/core/hashTable.h>
#include <agrum/tools/core/utils_misc.h>
#include <agrum/CN/polytope/LpInterface_tpl.h>
#include <agrum/CN/polytope/LpInterface_inl.h>
+ Include dependency graph for LpInterface.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gum::credal::lp::LpInterface< GUM_SCALAR >
 Class representing a linear program. More...
 
class  gum::credal::lp::LpCol
 Class representing a variable ( a column ) of a linear program, i.e. More...
 
class  gum::HashFunc< credal::lp::LpCol >
 
class  gum::credal::lp::LpExpr
 Class representing a linear expression. More...
 
class  gum::credal::lp::LpRow
 Class representing a row of the linear program, i.e. More...
 
class  gum::credal::lp::LpInterface< GUM_SCALAR >
 Class representing a linear program. More...
 

Namespaces

 gum
 Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN() & Christophe GONZALES() info_at_agrum_dot_org.
 
 gum::credal
 namespace for all credal networks entities
 
 gum::credal::lp
 namespace for constraint-based description of credal sets
 

Functions

void gum::credal::lp::swap (HashTable< LpCol, double > *&a, HashTable< LpCol, double > *&b)
 Swap the addresses of two pointers to hashTables. More...
 
Non-members operators +
template<typename T2 >
LpExpr gum::credal::lp::operator+ (LpExpr &&lhs, const T2 &rhs)
 Overload of operator + between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T2 >
LpExpr gum::credal::lp::operator+ (LpExpr &lhs, const T2 &rhs)
 Overload of operator + between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0>
LpExpr gum::credal::lp::operator+ (const T1 &lhs, LpExpr &&rhs)
 Overload of operator + between anything ( a scalar, a variable or an expression ) and a temporary expression. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0>
LpExpr gum::credal::lp::operator+ (const T1 &lhs, LpExpr &rhs)
 Overload of operator + between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T2 , forbidden_type< T2, LpExpr > = 0>
LpExpr gum::credal::lp::operator+ (const LpCol &lhs, const T2 &rhs)
 operator+ between LpCol lhs and not LpExpr rhs More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0, forbidden_type< T1, LpCol > = 0>
LpExpr gum::credal::lp::operator+ (const T1 &lhs, const LpCol &rhs)
 operator+ between neither LpExpr nor LpCol lhs and LpCol rhs More...
 
Non-members operators -
template<typename T2 >
LpExpr gum::credal::lp::operator- (LpExpr &&lhs, const T2 &rhs)
 Overload of operator - between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T2 >
LpExpr gum::credal::lp::operator- (LpExpr &lhs, const T2 &rhs)
 Overload of operator - between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0>
LpExpr gum::credal::lp::operator- (const T1 &lhs, LpExpr &&rhs)
 Overload of operator - between anything ( a scalar, a variable or an expression ) and a temporary expression. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0>
LpExpr gum::credal::lp::operator- (const T1 &lhs, LpExpr &rhs)
 Overload of operator - between anything ( a scalar, a variable or an expression ) and anything except a temporary expression. More...
 
template<typename T2 , forbidden_type< T2, LpExpr > = 0>
LpExpr gum::credal::lp::operator- (const LpCol &lhs, const T2 &rhs)
 operator- between LpCol lhs and not LpExpr rhs More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0, forbidden_type< T1, LpCol > = 0>
LpExpr gum::credal::lp::operator- (const T1 &lhs, const LpCol &rhs)
 operator- between neither LpExpr nor LpCol lhs and LpCol rhs More...
 
Non-members operators *
template<typename SCALAR >
LpExpr gum::credal::lp::operator* (const SCALAR &lhs, const LpCol &rhs)
 Overload of operator * between a scalar and a variable. More...
 
template<typename SCALAR >
LpExpr gum::credal::lp::operator* (const LpCol &lhs, const SCALAR &rhs)
 Overload of operator * between a variable and a scalar. More...
 
Non-members operators <=
template<typename T2 >
LpExpr gum::credal::lp::operator<= (const LpExpr &lhs, T2 &&rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T2 >
LpExpr gum::credal::lp::operator<= (const LpCol &lhs, T2 &&rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T1 , forbidden_type< T1, LpExpr & > = 0, forbidden_type< T1, LpCol & > = 0>
LpExpr gum::credal::lp::operator<= (T1 &&lhs, const LpExpr &rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T1 , forbidden_type< T1, LpExpr & > = 0, forbidden_type< T1, LpCol & > = 0>
LpExpr gum::credal::lp::operator<= (T1 &&lhs, const LpCol &rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T2 >
LpExpr gum::credal::lp::operator<= (LpExpr &&lhs, T2 &&rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T2 >
LpExpr gum::credal::lp::operator<= (LpCol &&lhs, T2 &&rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0, forbidden_type< T1, LpCol > = 0>
LpExpr gum::credal::lp::operator<= (T1 &&lhs, LpExpr &&rhs)
 Overload of operator <= between anything and anything. More...
 
template<typename T1 , forbidden_type< T1, LpExpr > = 0, forbidden_type< T1, LpCol > = 0>
LpExpr gum::credal::lp::operator<= (T1 &&lhs, LpCol &&rhs)
 Overload of operator <= between anything and anything. More...
 

Detailed Description

Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN() & Christophe GONZALES() info_at_agrum_dot_org.

This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library. If not, see http://www.gnu.org/licenses/.

Class representing a polytope ( credal set ) by a set of linear constraints

Author
Matthieu HOURBRACQ and Pierre-Henri WUILLEMIN()

Definition in file LpInterface.h.