LowpassOracle class

Oracle for FIR lowpass filter design.

This example is taken from Almir Mutapcic in 2006:

min   \gamma
s.t.  L^2(\omega) \le R(\omega) \le U^2(\omega), \forall \omega \in

[0, \pi] R(\omega) > 0, \forall \omega \in [0, \pi]

Constructors, destructors, conversion operators

LowpassOracle(size_t N, double Lpsq, double Upsq, double wpass, double wstop)
Construct a new lowpass oracle object.

Public functions

auto assess_feas(const Vec& x, const double& Spsq) -> ParallelCut * -> auto
auto assess_optim(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool > -> auto
The assess_optim function is a member function of the LowpassOracle class. It takes a Vec object x and a reference to a double variable Spsq as input parameters.
auto operator()(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool > -> auto

Function documentation

LowpassOracle::LowpassOracle(size_t N, double Lpsq, double Upsq, double wpass, double wstop)

Construct a new lowpass oracle object.

The constructor of the LowpassOracle class. It initializes an instance of the LowpassOracle class with the given parameters.

auto LowpassOracle::assess_feas(const Vec& x, const double& Spsq) -> ParallelCut *

Parameters
in
Spsq in

auto LowpassOracle::assess_optim(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool >

The assess_optim function is a member function of the LowpassOracle class. It takes a Vec object x and a reference to a double variable Spsq as input parameters.

Parameters
in
Spsq in/out

auto LowpassOracle::operator()(const Vec& x, double& Spsq) -> std::tuple< ParallelCut, bool >

Returns auto