BVSetOrthogonalization#
Specifies the method used for the orthogonalization of vectors (classical or modified Gram-Schmidt with or without refinement), and for the block-orthogonalization (simultaneous orthogonalization of a set of vectors).
Synopsis#
#include "slepcbv.h"
PetscErrorCode BVSetOrthogonalization(BV bv,BVOrthogType type,BVOrthogRefineType refine,PetscReal eta,BVOrthogBlockType block)
Logically Collective
Input Parameters#
bv - the basis vectors context
type - the method of vector orthogonalization
refine - type of refinement
eta - parameter for selective refinement
block - the method of block orthogonalization
Options Database Keys#
-bv_orthog_type
- Whereis cgs for Classical Gram-Schmidt orthogonalization (default) or mgs for Modified Gram-Schmidt orthogonalization -bv_orthog_refine - Where is one of never, ifneeded (default) or always
-bv_orthog_eta
- For setting the value of eta-bv_orthog_block
- Whereis the block-orthogonalization method
Notes#
The default settings work well for most problems.
The parameter eta should be a real value between 0 and 1, that is used only when the refinement type is “ifneeded”. Use PETSC_DETERMINE to set a reasonable default value. Use PETSC_CURRENT to leave the current value unchanged.
When using several processors, MGS is likely to result in bad scalability.
If the method set for block orthogonalization is GS, then the computation is done column by column with the vector orthogonalization.
See Also#
BVOrthogonalizeColumn(), BVGetOrthogonalization(), BVOrthogType, BVOrthogRefineType, BVOrthogBlockType
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