#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.