# computeDualInitialGuess

computes an initial guess for the dual variables of the polynomial program.

## Contents

- Syntax
- Description
- Input Arguments
- Output Arguments
- See Also
- References

## Syntax

[lam_g,lam_x] = computeDualInitialGuess(x0,cost_handle,con_handle,idxVars,idxCon,lbx,ubx)

## Description

This function computes an initial guess for the dual variables of the polynomial program in [1, Eq. (19)] by evaluating the KKT conditions at the primal initial guess x0 (thus, implicitly assuming that x0 is a stationary point). The polynomial program is formulated as in the CasADi documentation.

## Input Arguments

x0 | initial guess for the primal variables (double array of dimension [idxVars.nVars,1])
cost_handle | handle to the cost function of the polynomial program
con_handle | handle to the constraint function of the polynomial program (does not include variable bounds)
idxVars | struct storing the variable indices
idxCon | struct storing the constraint indices
lbx | lower bound on the primal variables
ubx | upper bound on the primal variables

## Output Arguments

lam_x | initial guess for the Lagrange multipliers associated with the variable bounds (double array of dimension [idxVars.nVars,1])
lam_g | initial guess for the Lagrange multipliers associated with the constraints (double array of dimension [idxCon.nCon,1])

## See Also

@computeTermRegNonlinSysPolyApproach/optimizeRCIpoly

## References

[1] L. Schäfer and M. Althoff, "Computing Robust Control Invariant Sets of Nonlinear Systems Using Polynomial Controller Synthesis," American Control Conference, 2024, pp. 4162-4169.

© 2018-2026 I6 Technische Universität München `•` Website `•` License