IQClab not only offers the possibility to perform IQC robustness analyses or robust controller syntheses, but also facilitates the implementation of new routines. These may extend the existing toolset with additional functionality (e.g. a new IQCmultiplier), or result in the implementation of new IQC/LMI based algorithms (e.g. an alternative controller synthesis method). The following functions and class definitions provide the basis for such new routines.
To start, the command iqcprob defines an IQCproblem class, which allows initiating a new IQC/LMI problems. As before, the specifications of properties proceeds in different fashions as shown in the following table:
Option  Description 
1  For prob=iqcprob(‘name’, varargin) the inputs come in pairs and can be specified by

2  The properties can also be set by defining a structure
and subsequently specifying

3  Finally, the properties can be set and retrieved respectively by
and

The properties that are (currently) supported (note that new ones can be easily added) are found the following table. This table is identical to Table 416 and is just repeated here for the convenience of the reader.
The following table provides an overview of properties that can be set in the IQCanalysis.
Property  Description 
Parser  It is possible to select either one of the following parsers: 1. ‘LMIlab’ (default) 2. ‘Yalmip’ Note: It is emphasized that the use of Yalmip in combination with whichever solver sometimes seems less reliable if compared to the use of LMIlab. To this end, it is always recommended to perform a postsolution check to confirm that a solution is indeed feasible (see Property SolChk for more details). 
Solver  If selecting LMIlab, the Matlab solvers mincx, and feasb are used to solve the minimization and feasibility problem respectively. On the other hand, if using Yalmip, you can consider various solvers, such as e.g., mosek, sdpt3, sedumi, etc. The reader is referred to https://yalmip.github.io/allsolvers/ for an overview of solvers that are supported. 
gmax  ‘gmax’ specifies the maximum worstcase performance value (default = 1e4). 
FeasbRad  ‘FeasbRad’ specifies the feasibility radius (default = 1e9). 
RelAcc  ‘RelAcc’ is an LMIlab option that specifies the relative accuracy on the computed optimal value (default = 1e6). 
MaxNumIter  ‘MaxNumIter’ is an LMIlab option that specifies the maximum number of iterations that can be performed by the optimization procedure (default = 800). 
Terminate  ‘Terminate’ is an LMIlab option that helps speeding up the termination. If set to an integer value , the code terminates when the objective has not decreased by more than the desired relative accuracy during the last iterations. 
Display  ‘Display’ allows to turn on/off the trace of execution of the optimization procedure (default = ‘off’). 
Init  The option ‘Init’ can be used to specify an initial condition for the LMI optimization problem (default = []). 
eps  ‘eps’ allows to enforce strict LMI by a small nonnegative constant (default = 1e9) 
SolChk  ‘SolChk’ allows to verify whether an obtained LMI solution is indeed feasible (default = ‘off’) 
Pi11pos  To improve the conditioning of the IQCmultiplier subblock , it is possible to include the positivity constraint
To do so, one can specify ‘ Pi11pos’ (default = 0). Note: is always positive (semi) definite on the imaginary axis. The reason to include this constraint is to enforce its strictness by means of the nonnegative constant ‘Pi11pos’. This option is relevant for the synthesis algorithms presented here. 