Skip to main content
`Ctrl`+`K`

# SNESVINEWTONRSLS

Reduced space active set solvers for variational inequalities based on Newton’s method

## Options Database Keys

- -snes_type <vinewtonssls,vinewtonrsls> - a semi-smooth solver or a reduced space active set method

- -snes_vi_monitor - prints the number of active constraints at each iteration.

## Note

At each set of this methods the algorithm produces an inactive set of variables that are constrained to their current values (because changing these values would result in those variables no longer satisfying the inequality constraints) and produces a step direction by solving the linear system arising from the Jacobian with the inactive variables removed. In other words on a reduced space of the solution space. Based on the Newton update it then adjusts the inactive set for the next iteration.

See [BM06]

## References

[BM06]

Steven J Benson and Todd S Munson. Flexible complementarity solvers for large-scale applications. Optimization Methods and Software, 21(1):155–168, 2006.

## See Also

SNES: Nonlinear Solvers, `SNESVISetVariableBounds()`, `SNESVISetComputeVariableBounds()`, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESVINEWTONSSLS`, `SNESNEWTONTR`, `SNESLineSearchSetType()`, `SNESLineSearchSetPostCheck()`, `SNESLineSearchSetPreCheck()`, `SNESVIGetInactiveSet()`, `DMSetVI()`, `SNESVISetRedundancyCheck()`

## Level

beginner

## Location

src/snes/impls/vi/rs/virs.c

## Examples

src/snes/tutorials/ex9.c

Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages