slepc-3.18.0 2022-10-01
Report Typos and Errors

# BVOrthogonalizeColumn

Orthogonalize one of the column vectors with respect to the previous ones.

### Synopsis

    #include "slepcbv.h"
    PetscErrorCode BVOrthogonalizeColumn(BV bv,PetscInt j,PetscScalar *H,PetscReal *norm,PetscBool *lindep)

Collective on bv

### Input Parameters

| bv | - the basis vectors context
| j | - index of column to be orthogonalized

### Output Parameters

| H | - (optional) coefficients computed during orthogonalization
| norm | - (optional) norm of the vector after being orthogonalized
| lindep | - (optional) flag indicating that refinement did not improve the quality of orthogonalization

### Notes

This function applies an orthogonal projector to project vector V[j] onto the orthogonal complement of the span of the columns V[0..j-1], where V[.] are the vectors of BV. The columns V[0..j-1] are assumed to be mutually orthonormal.

Leading columns V[0..l-1] also participate in the orthogonalization, as well as the constraints. If H is given, it must have enough space to store j-l+1 coefficients (the last coefficient will contain the value norm, unless the norm argument is NULL).

If a non-standard inner product has been specified with BVSetMatrix(), then the vector is B-orthogonalized, using the non-standard inner product defined by matrix B. The output vector satisfies V[j]'*B*V[0..j-1] = 0.

This routine does not normalize the resulting vector, see BVOrthonormalizeColumn().

In the case of an indefinite inner product, the lindep parameter is not computed (set to false).

### See Also

BVSetOrthogonalization(), BVSetMatrix(), BVSetActiveColumns(), BVOrthogonalize(), BVOrthogonalizeVec(), BVGetNumConstraints(), BVOrthonormalizeColumn()

### Level

advanced

### Location

src/sys/classes/bv/interface/bvorthog.c
Index of all BV routines
Table of Contents for all manual pages
Index of all manual pages