Skip to main content
`Ctrl`+`K`

# DSMatType

Used to refer to one of the matrices stored internally in `DS`.

## Synopsis

    typedef enum { DS_MAT_A,
                   DS_MAT_B,
                   DS_MAT_C,
                   DS_MAT_T,
                   DS_MAT_D,
                   DS_MAT_Q,
                   DS_MAT_Z,
                   DS_MAT_X,
                   DS_MAT_Y,
                   DS_MAT_U,
                   DS_MAT_V,
                   DS_MAT_W,
                   DS_MAT_E0,
                   DS_MAT_E1,
                   DS_MAT_E2,
                   DS_MAT_E3,
                   DS_MAT_E4,
                   DS_MAT_E5,
                   DS_MAT_E6,
                   DS_MAT_E7,
                   DS_MAT_E8,
                   DS_MAT_E9,
                   DS_NUM_MAT } DSMatType;

## Values

- `DS_MAT_A` - first matrix of eigenproblem/singular value problem

- `DS_MAT_B` - second matrix of a generalized eigenproblem

- `DS_MAT_C` - third matrix of a quadratic eigenproblem (deprecated)

- `DS_MAT_T` - tridiagonal matrix

- `DS_MAT_D` - diagonal matrix

- `DS_MAT_Q` - orthogonal matrix of (right) Schur vectors

- `DS_MAT_Z` - orthogonal matrix of left Schur vectors

- `DS_MAT_X` - right eigenvectors

- `DS_MAT_Y` - left eigenvectors

- `DS_MAT_U` - left singular vectors

- `DS_MAT_V` - right singular vectors

- `DS_MAT_W` - workspace matrix

- `DS_MAT_E0` to `DS_MAT_E9` - extra matrices, used in `DSPEP` and `DSNEP`

## Notes

The matrices preferentially refer to the description above, but they may be used for a different purpose depending on the `DSType`.

All matrices can have space to hold `ld x ld` elements, except for `DS_MAT_T` that has space for `3 x ld` elements (`ld` = leading dimension) and `DS_MAT_D` that has space for just `ld` elements.

In `DSPEP` problems, matrices `A`, `B`, `W` can have space for `d*ld x d*ld`, where `d` is the polynomial degree, and `X` can have `ld x d*ld`. Also `DSNEP` has exceptions. Check the manual page of each `DS` type for details.

## See Also

DS: Direct Solver (or Dense System), `DSAllocate()`, `DSGetArray()`, `DSGetArrayReal()`, `DSVectors()`, `DSGetLeadingDimension()`

## Level

advanced

## Location

include/slepcds.h

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