FNEvaluateFunctionMat#

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

Synopsis#

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

Logically Collective

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)

Notes#

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 betaf(alphaA).

See Also#

FNEvaluateFunction(), FNEvaluateFunctionMatVec(), FNSetMethod()

Level#

advanced

Location#

src/sys/classes/fn/interface/fnbasic.c

Implementations#

FNEvaluateFunctionMat_Combine() in src/sys/classes/fn/impls/combine/fncombine.c
FNEvaluateFunctionMat_Rational() in src/sys/classes/fn/impls/rational/fnrational.c


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