Skip to main content
`Ctrl`+`K`

# SlepcSC

Data structure (a C `struct`) for storing information about the sorting criterion used by different eigensolver objects.

## Synopsis

    struct _n_SlepcSC {
      /* map values before sorting, typically a call to STBackTransform (mapctx=ST) */
      PetscErrorCode (*map)(PetscObject,PetscInt,PetscScalar*,PetscScalar*);
      PetscObject    mapobj;
      /* comparison function such as SlepcCompareLargestMagnitude */
      SlepcEigenvalueComparisonFn *comparison;
      void           *comparisonctx;
      /* optional region for filtering */
      RG             rg;
    };

## Notes

The `SlepcSC` structure contains a mapping function and a comparison function (with associated contexts). The mapping function usually calls the backtransform operation of an `ST` object. An optional region can also be used to give higher priority to values inside it.

The member `comparison` typically points to a predefined comparison function such as `SlepcCompareLargestMagnitude`, though it can also be user-defined.

## Fortran Note

Fortran usage is not supported.

## Developer Notes

This is a low-level data structure common to all solver classes for the task of sorting a list of scalars, typically computed eigenvalues.

The main operation associated to this data structure is `SlepcSCCompare()` to compare two scalar values, which in turn is called from `SlepcSortEigenvalues()`.

## See Also

`SlepcEigenvalueComparisonFn`, `SlepcSortEigenvalues()`, `SlepcSCCompare()`

## Level

developer

## Location

include/slepcsc.h

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