#include "slepcbv.h" PetscErrorCode BVSetOrthogonalization(BV bv,BVOrthogType type,BVOrthogRefineType refine,PetscReal eta,BVOrthogBlockType block)Logically Collective
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 |
-bv_orthog_type <type> | - Where <type> is cgs for Classical Gram-Schmidt orthogonalization (default) or mgs for Modified Gram-Schmidt orthogonalization | |
-bv_orthog_refine <ref> | - Where <ref> is one of never, ifneeded (default) or always | |
-bv_orthog_eta <eta> | - For setting the value of eta | |
-bv_orthog_block <block> | - Where <block> is the block-orthogonalization method |
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.