EllAlgo 1.6.13
Loading...
Searching...
No Matches
Functions
lmi_factory.hpp File Reference

Factory functions for the LMI oracle family. More...

#include <utility>
#include <vector>
#include "lmi0_oracle.hpp"
#include "lmi_old_oracle.hpp"
#include "lmi_oracle.hpp"
Include dependency graph for lmi_factory.hpp:

Go to the source code of this file.

Functions

template<typename Arr036 , typename Mat = Arr036>
auto make_lmi_oracle (size_t ndim, const std::vector< Mat > &F, Mat B) -> LmiOracle< Arr036, Mat >
 Create an LmiOracle (lazy matrix form)
 
template<typename Arr036 , typename Mat = Arr036>
auto make_lmi0_oracle (size_t ndim, const std::vector< Mat > &F) -> Lmi0Oracle< Arr036, Mat >
 Create an Lmi0Oracle (compact form, no constant term)
 
template<typename Arr036 , typename Mat = Arr036>
auto make_lmi_old_oracle (size_t ndim, const std::vector< Mat > &F, Mat B) -> LmiOldOracle< Arr036, Mat >
 Create an LmiOldOracle (explicit matrix form)
 

Detailed Description

Factory functions for the LMI oracle family.

Function Documentation

◆ make_lmi0_oracle()

template<typename Arr036 , typename Mat = Arr036>
auto make_lmi0_oracle ( size_t  ndim,
const std::vector< Mat > &  F 
) -> Lmi0Oracle<Arr036, Mat>
inline

Create an Lmi0Oracle (compact form, no constant term)

Template Parameters
Arr036Array type for the decision variables
MatMatrix type (defaults to Arr036)
Parameters
[in]ndimDimension of the decision space
[in]FVector of matrices F_i (must outlive the oracle)
Returns
Lmi0Oracle<Arr036, Mat>

◆ make_lmi_old_oracle()

template<typename Arr036 , typename Mat = Arr036>
auto make_lmi_old_oracle ( size_t  ndim,
const std::vector< Mat > &  F,
Mat  B 
) -> LmiOldOracle<Arr036, Mat>
inline

Create an LmiOldOracle (explicit matrix form)

Template Parameters
Arr036Array type for the decision variables
MatMatrix type (defaults to Arr036)
Parameters
[in]ndimDimension of the decision space
[in]FVector of matrices F_i (must outlive the oracle)
[in]BConstant term (moved in)
Returns
LmiOldOracle<Arr036, Mat>

◆ make_lmi_oracle()

template<typename Arr036 , typename Mat = Arr036>
auto make_lmi_oracle ( size_t  ndim,
const std::vector< Mat > &  F,
Mat  B 
) -> LmiOracle<Arr036, Mat>
inline

Create an LmiOracle (lazy matrix form)

Template Parameters
Arr036Array type for the decision variables
MatMatrix type (defaults to Arr036)
Parameters
[in]ndimDimension of the decision space
[in]FVector of matrices F_i (must outlive the oracle)
[in]BConstant term (moved in)
Returns
LmiOracle<Arr036, Mat>