Skip to main content
`Ctrl`+`K`

# 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

## 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}\). The columns \(v_{0:j-1}\) are assumed to be mutually orthonormal.

Leading columns \(v_{0:\ell-1}\) also participate in the orthogonalization, as well as the constraints. If `H` is given, it must have enough space to store \(j-\ell+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^*Bv_{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

BV: Basis Vectors, `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