Skip to main content
`Ctrl`+`K`

# SVDSetInitialSpaces

Specify two bases of vectors that constitute the initial right and/or left spaces.

## Synopsis

    #include "slepcsvd.h"
    PetscErrorCode SVDSetInitialSpaces(SVD svd,PetscInt nr,Vec isr[],PetscInt nl,Vec isl[])

Collective

## Input Parameters

- svd - the singular value solver context

- nr - number of right vectors

- isr - set of basis vectors of the right initial space

- nl - number of left vectors

- isl - set of basis vectors of the left initial space

## Notes

The initial right and left spaces are rough approximations to the right and/or left singular subspaces from which the solver starts to iterate. It is not necessary to provide both sets of vectors.

Some solvers start to iterate on a single vector (initial vector). In that case, the other vectors are ignored.

These vectors do not persist from one `SVDSolve()` call to the other, so the initial spaces should be set every time.

The vectors do not need to be mutually orthonormal, since they are explicitly orthonormalized internally.

Common usage of this function is when the user can provide a rough approximation of the wanted singular spaces. Then, convergence may be faster.

## See Also

SVD: Singular Value Decomposition, `SVDSetUp()`

## Level

intermediate

## Location

src/svd/interface/svdsetup.c

Index of all SVD routines Table of Contents for all manual pages Index of all manual pages