slepc-3.17.2 2022-08-09
Report Typos and Errors


Computes the value of the function f(A) for a given matrix A, where the result is also a matrix.


#include "slepcfn.h" 
PetscErrorCode FNEvaluateFunctionMat(FN fn,Mat A,Mat B)
Logically Collective on fn

Input Parameters

fn  - the math function context
A  - matrix on which the function must be evaluated

Output Parameter

B  - (optional) matrix resulting from evaluating f(A)


Matrix A must be a square sequential dense Mat, with all entries equal on all processes (otherwise each process will compute different results). If matrix B is provided, it must also be a square sequential dense Mat, and both matrices must have the same dimensions. If B is NULL (or B=A) then the function will perform an in-place computation, overwriting A with f(A).

If A is known to be real symmetric or complex Hermitian then it is recommended to set the appropriate flag with MatSetOption(), because symmetry can sometimes be exploited by the algorithm.

Scaling factors are taken into account, so the actual function evaluation will return beta*f(alpha*A).

See Also

FNEvaluateFunction(), FNEvaluateFunctionMatVec(), FNSetMethod()

Location: src/sys/classes/fn/interface/fnbasic.c
Index of all FN routines
Table of Contents for all manual pages
Index of all manual pages