Skip to main content
`Ctrl`+`K`

# SVDTRLanczosGBidiag

The choice of bidiagonalization for the `SVDTRLANCZOS` GSVD solver.

## Synopsis

    typedef enum {
      SVD_TRLANCZOS_GBIDIAG_SINGLE,
      SVD_TRLANCZOS_GBIDIAG_UPPER,
      SVD_TRLANCZOS_GBIDIAG_LOWER
    } SVDTRLanczosGBidiag;

## Values

- `SVD_TRLANCZOS_GBIDIAG_SINGLE` - single bidiagonalization (\(Q_A\))

- `SVD_TRLANCZOS_GBIDIAG_UPPER` - joint bidiagonalization, both \(Q_A\) and \(Q_B\) in upper bidiagonal form

- `SVD_TRLANCZOS_GBIDIAG_LOWER` - joint bidiagonalization, \(Q_A\) lower bidiagonal, \(Q_B\) upper bidiagonal

## Note

The different variants are described in [Alvarruiz et al., 2024].

## References

[Alv24]

F. Alvarruiz, C. Campos, and J. E. Roman. Thick-restarted joint Lanczos bidiagonalization for the GSVD. J. Comput. Appl. Math., 440:115506, 2024. doi:10.1016/j.cam.2023.115506.

## See Also

SVD: Singular Value Decomposition, `SVDTRLanczosSetGBidiag()`, `SVDTRLanczosGetGBidiag()`

## Level

advanced

## Location

include/slepcsvd.h

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