slepc-3.20.1 2023-11-27
Report Typos and Errors

# DSNEPSetComputeMatrixFunction

Sets a user-provided subroutine to compute the matrices T(lambda) or T'(lambda).

### Synopsis

    #include "slepcds.h"
    PetscErrorCode DSNEPSetComputeMatrixFunction(DS ds,PetscErrorCode (*fun)(DS ds,PetscScalar lambda,PetscBool deriv,DSMatType mat,void *ctx),void *ctx)

Logically Collective

### Input Parameters

| ds | - the direct solver context
| fun | - a pointer to the user function
| ctx | - a context pointer (the last parameter to the user function)

### Calling sequence of fun

     PetscErrorCode fun(DS ds,PetscScalar lambda,PetscBool deriv,DSMatType mat,void *ctx)

| ds | - the direct solver object
| lambda | - point where T(lambda) or T'(lambda) must be evaluated
| deriv | - if true compute T'(lambda), otherwise compute T(lambda)
| mat | - the DS matrix where the result must be stored
| ctx | - optional context, as set by DSNEPSetComputeMatrixFunction()

### Note

The result is computed as T(lambda) = sum_i E_i*f_i(lambda), and similarly for the derivative.

### See Also

DSNEPGetComputeMatrixFunction()

### Level

developer

### Location

src/sys/classes/ds/impls/nep/dsnep.c
Index of all DS routines
Table of Contents for all manual pages
Index of all manual pages