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 \(\beta f(\alpha A)\).
See Also#
FN: Mathematical Functions, FNEvaluateFunction(), FNEvaluateFunctionMatVec(), FNSetMethod()
Level#
advanced
Location#
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