BVGetBufferVec#
Obtain the buffer vector associated with the BV object.
Synopsis#
#include "slepcbv.h"
PetscErrorCode BVGetBufferVec(BV bv,Vec *buffer)
Collective
Input Parameter#
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 \((n_c+m) m\), where \(m\) is the number of columns of bv and \(n_c\) is the number
of constraints.
Developer Notes#
The buffer vector is viewed as a column-major matrix with leading dimension equal to \(n_c+m\), and \(m\) columns at most. In the most common usage, it has the structure
\[\begin{split}
\left[\begin{array}{c|c}
s & \begin{array}{c} C \\\hline H \end{array}
\end{array}\right]
\end{split}\]
where \(H\) is an upper Hessenberg matrix of order \(m (m-1)\), \(C\) contains coefficients
related to orthogonalization against constraints (first \(n_c\) 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#
BV: Basis Vectors, BVSetBufferVec(), BVSetSizes(), BVGetNumConstraints(), BVDotColumn(), BVMultColumn()
Level#
developer
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