# IPSetOrthogonalization

Specifies the type of orthogonalization technique to be used (classical or modified Gram-Schmidt with or without refinement).

### Synopsis

    #include "slepcip.h"
    PetscErrorCode IPSetOrthogonalization(IP ip,IPOrthogType type,IPOrthogRefineType refine,PetscReal eta)

Logically Collective on IP

### Input Parameters

| ip | - the inner product context
| type | - the type of orthogonalization technique
| refine | - type of refinement
| eta | - parameter for selective refinement

### Options Database Keys

| -orthog_type <type> | - Where <type> is cgs for Classical Gram-Schmidt orthogonalization (default) or mgs for Modified Gram-Schmidt orthogonalization
| -orthog_refine <type> | - Where <type> is one of never, ifneeded (default) or always
| -orthog_eta <eta> | - For setting the value of eta

### Notes

The default settings work well for most problems.

The parameter eta should be a real value between 0 and 1 (or PETSC_DEFAULT). The value of eta is used only when the refinement type is "ifneeded".

When using several processors, MGS is likely to result in bad scalability.

### See Also

IPOrthogonalize(), IPGetOrthogonalization(), IPOrthogType,
IPOrthogRefineType

Location: src/ip/ipbasic.c
Index of all IP routines
Table of Contents for all manual pages
Index of all manual pages