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