#include "slepcds.h" PetscErrorCode DSGetTruncateSize(DS ds,PetscInt l,PetscInt n,PetscInt *k)Not Collective
|ds||- the direct solver context|
|l||- the size of the locked part (set to 0 to use ds->l)|
|n||- the total matrix size (set to 0 to use ds->n)|
|k||- the wanted truncation size (possibly modified)|
The total size is n (either user-provided or ds->n if 0 is passed). The size where the truncation is intended is equal to l+k (where l can be equal to the locked size ds->l if set to 0). Then if there is a 2x2 block at the l+k limit, the value of k is increased (or decreased) by 1.