slepc-3.21.1 2024-04-26
Report Typos and Errors

# 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 BV's 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 BV's must not be destroyed. BVRestoreSplit() must be called when they are no longer needed.

Pass NULL for any of the output BV's that is not needed.

### See Also

BVRestoreSplit(), BVSetActiveColumns(), BVSetNumConstraints()

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