:orphan: # SNESVINEWTONRSLS Reduced space active set solvers for variational inequalities based on Newton's method ## Options Database Keys - ***-snes_type -*** a semi-smooth solver, a reduced space active set method - ***-snes_vi_monitor -*** prints the number of active constraints at each iteration. ## References - **** -*** T. S. Munson, and S. Benson. Flexible Complementarity Solvers for Large Scale Applications, Optimization Methods and Software, 21 (2006). ## 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 sep for the next iteration. ## See Also `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
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/vi/rs/virs.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)