slepc3.21.1 20240426
BVSetMatrix
Specifies the inner product to be used in orthogonalization.
Synopsis
#include "slepcbv.h"
PetscErrorCode BVSetMatrix(BV bv,Mat B,PetscBool indef)
Collective
Input Parameters
 bv   the basis vectors context

 B   a symmetric matrix (may be NULL)

 indef   a flag indicating if the matrix is indefinite

Notes
This is used to specify a nonstandard inner product, whose matrix
representation is given by B. Then, all inner products required during
orthogonalization are computed as (x,y)_B=y^H*B*x rather than the
standard form (x,y)=y^H*x.
Matrix B must be real symmetric (or complex Hermitian). A genuine inner
product requires that B is also positive (semi)definite. However, we
also allow for an indefinite B (setting indef=PETSC_TRUE), in which
case the orthogonalization uses an indefinite inner product.
This affects operations BVDot(), BVNorm(), BVOrthogonalize(), and variants.
Setting B=NULL has the same effect as if the identity matrix was passed.
See Also
BVGetMatrix(), BVDot(), BVNorm(), BVOrthogonalize(), BVSetDefiniteTolerance()
Level
advanced
Location
src/sys/classes/bv/interface/bvbasic.c
Examples
src/eps/tutorials/ex47.c
Index of all BV routines
Table of Contents for all manual pages
Index of all manual pages