Skip to main content
`Ctrl`+`K`

# SNESVISetRedundancyCheck

Provide a function to check for any redundancy in the VI active set

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESVISetRedundancyCheck(SNES snes, PetscErrorCode (*func)(SNES snes, IS is_act, IS *is_redact, PetscCtx ctx), PetscCtx ctx)

Logically Collective

## Input Parameters

- snes - the `SNESVINEWTONRSLS` context

- func - the function to check of redundancies

- ctx - optional context used by the function

## Calling sequence of func

- snes - the `SNES` context

- is_act - the set of points in the active sets

- is_redact - output, the set of points in the non-redundant active set

- ctx - optional context

## Note

Sometimes the inactive set will result in a singular sub-Jacobian problem that needs to be solved, this allows the user, when they know more about their specific problem to provide a function that removes the redundancy that results in the singular linear system

See `SNESVINEWTONRSLS` for a concise description of the active and inactive sets

## See Also

SNES: Nonlinear Solvers, `SNES`, `SNESVINEWTONRSLS`, `SNESVIGetInactiveSet()`, `DMSetVI()`

## Level

advanced

## Location

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

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