BVGetSplit#

Splits the BV object into two BV objects that share the internal data, one of them containing the leading columns and the other one containing the remaining columns.

Synopsis#

#include "slepcbv.h" 
PetscErrorCode BVGetSplit(BV bv,BV *L,BV *R)

Collective

Input Parameter#

  • bv - the basis vectors context

Output Parameters#

  • L - left BV containing leading columns (can be NULL)

  • R - right BV containing remaining columns (can be NULL)

Notes#

The columns are split in two sets. The leading columns (including the constraints) are assigned to the left BV and the remaining columns are assigned to the right BV. The number of leading columns, as specified with BVSetActiveColumns(), must be between 1 and m-1 (to guarantee that both L and R have at least one column).

The returned BVs must be seen as references (not copies) of the input BV, that is, modifying them will change the entries of bv as well. The returned BVs must not be destroyed. BVRestoreSplit() must be called when they are no longer needed.

Pass NULL for any of the output BVs that is not needed.

See Also#

BV: Basis Vectors, BVRestoreSplit(), BVSetActiveColumns(), BVSetNumConstraints(), BVGetSplitRows()

Level#

advanced

Location#

src/sys/classes/bv/interface/bvbasic.c


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