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
- the vector orthogonalization, eithercgsormgs-bv_orthog_refine - the refinement type,
never,ifneeded(default) oralways-bv_orthog_eta
- the value ofeta-bv_orthog_block
- 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 processes, BV_ORTHOG_MGS is likely to result in bad scalability.
If the method set for block orthogonalization is BV_ORTHOG_BLOCK_GS, then the computation
is done column by column with the vector orthogonalization.
See Also#
BV: Basis Vectors, 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