slepc-3.17.0 2022-03-31
Report Typos and Errors

# BVGetBufferVec

Obtain the buffer vector associated with the BV object.

### Synopsis

    #include "slepcbv.h"
    PetscErrorCode BVGetBufferVec(BV bv,Vec *buffer)

Not Collective, but Vec returned is parallel if BV is parallel

### Input Parameters

| bv | - the basis vectors context

### Output Parameter

| buffer | - vector

### Notes

The vector is created if not available previously. It is a sequential vector of length (nc+m)*m, where m is the number of columns of bv and nc is the number of constraints.

### Developer Notes

The buffer vector is viewed as a column-major matrix with leading dimension ld=nc+m, and m columns at most. In the most common usage, it has the structure

          | | C |
          |s|---|
          | | H |

where H is an upper Hessenberg matrix of order m x (m-1), C contains coefficients related to orthogonalization against constraints (first nc rows), and s is the first column that contains scratch values computed during Gram-Schmidt orthogonalization. In particular, BVDotColumn() and BVMultColumn() use s to store the coefficients.

### See Also

BVSetBufferVec(), BVSetSizes(), BVGetNumConstraints(), BVDotColumn(), BVMultColumn()

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