slepc4py.SLEPc.MFN#
- class slepc4py.SLEPc.MFN#
Bases:
ObjectMatrix Function.
Matrix Function (
MFN) is the object provided by slepc4py for computing the action of a matrix function on a vector. Given a matrix \(A\) and a vector \(b\), the callmfn.solve(b,x)computes \(x=f(A)b\), where \(f\) is a function such as the exponential.Enumerations
MFN convergence reasons.
MFN type.
Methods Summary
appendOptionsPrefix([prefix])Append to the prefix used for searching for all MFN options in the database.
Clear all monitors for an
MFNobject.create([comm])Create the MFN object.
destroy()Destroy the MFN object.
getBV()Get the basis vector object associated to the MFN object.
Get the reason why the
solve()iteration was stopped.Get the dimension of the subspace used by the solver.
Get if
solve()generates an error if the solver does not converge.getFN()Get the math function object associated to the MFN object.
Get the current iteration number.
Get the list of monitor functions.
Get the matrix associated with the MFN object.
Get the prefix used for searching for all MFN options in the database.
Get the tolerance and maximum iteration count.
getType()Get the MFN type of this object.
reset()Reset the MFN object.
setBV(bv)Set a basis vector object associated to the MFN object.
setDimensions(ncv)Set the dimension of the subspace to be used by the solver.
setErrorIfNotConverged([flg])Set
solve()to generate an error if the solver does not converge.setFN(fn)Set a math function object associated to the MFN object.
Set MFN options from the options database.
setMonitor(monitor[, args, kargs])Append a monitor function to the list of monitors.
setOperator(A)Set the matrix associated with the MFN object.
setOptionsPrefix([prefix])Set the prefix used for searching for all MFN options in the database.
setTolerances([tol, max_it])Set the tolerance and maximum iteration count.
setType(mfn_type)Set the particular solver to be used in the MFN object.
setUp()Set up all the necessary internal data structures.
solve(b, x)Solve the matrix function problem.
solveTranspose(b, x)Solve the transpose matrix function problem.
view([viewer])Print the MFN data structure.
Attributes Summary
The basis vectors (
BV) object associated to the MFN object.The math function (
FN) object associated to the MFN object.The maximum iteration count used by the MFN convergence tests.
The tolerance count used by the MFN convergence tests.
Methods Documentation
- appendOptionsPrefix(prefix=None)#
Append to the prefix used for searching for all MFN options in the database.
Logically collective.
- cancelMonitor()#
Clear all monitors for an
MFNobject.Logically collective.
See also
Source code at slepc4py/SLEPc/MFN.pyx:498
- Return type:
- create(comm=None)#
Create the MFN object.
Collective.
- Parameters:
comm (Comm | None) – MPI communicator. If not provided, it defaults to all processes.
- Return type:
See also
- destroy()#
Destroy the MFN object.
Logically collective.
See also
Source code at slepc4py/SLEPc/MFN.pyx:76
- Return type:
- getBV()#
Get the basis vector object associated to the MFN object.
Not collective.
- Returns:
The basis vectors context.
- Return type:
- getConvergedReason()#
Get the reason why the
solve()iteration was stopped.Not collective.
- Returns:
Negative value indicates diverged, positive value converged.
- Return type:
- getDimensions()#
Get the dimension of the subspace used by the solver.
Not collective.
- Returns:
Maximum dimension of the subspace to be used by the solver.
- Return type:
See also
- getErrorIfNotConverged()#
Get if
solve()generates an error if the solver does not converge.Not collective.
Get a flag indicating whether
solve()will generate an error if the solver does not converge.- Returns:
Trueindicates you want the error generated.- Return type:
- getFN()#
Get the math function object associated to the MFN object.
Not collective.
- Returns:
The math function context.
- Return type:
- getIterationNumber()#
Get the current iteration number.
Not collective.
Get the current iteration number. If the call to
solve()is complete, then it returns the number of iterations carried out by the solution method.- Returns:
Iteration number.
- Return type:
See also
- getMonitor()#
Get the list of monitor functions.
Not collective.
- Returns:
The list of monitor functions.
- Return type:
- getOperator()#
Get the matrix associated with the MFN object.
Collective.
- Returns:
The matrix for which the matrix function is to be computed.
- Return type:
See also
- getOptionsPrefix()#
Get the prefix used for searching for all MFN options in the database.
Not collective.
- Returns:
The prefix string set for this MFN object.
- Return type:
- getTolerances()#
Get the tolerance and maximum iteration count.
Not collective.
- Returns:
- Return type:
See also
- getType()#
Get the MFN type of this object.
Not collective.
- Returns:
The solver currently being used.
- Return type:
See also
- reset()#
Reset the MFN object.
Collective.
See also
Source code at slepc4py/SLEPc/MFN.pyx:90
- Return type:
- setBV(bv)#
Set a basis vector object associated to the MFN object.
Collective.
- setDimensions(ncv)#
Set the dimension of the subspace to be used by the solver.
Logically collective.
- Parameters:
ncv (int) – Maximum dimension of the subspace to be used by the solver.
- Return type:
See also
- setErrorIfNotConverged(flg=True)#
Set
solve()to generate an error if the solver does not converge.Logically collective.
Notes
Normally SLEPc continues if the solver fails to converge, you can call
getConvergedReason()after asolve()to determine if it has converged.See also
- setFN(fn)#
Set a math function object associated to the MFN object.
Collective.
- setFromOptions()#
Set MFN options from the options database.
Collective.
Notes
To see all options, run your program with the
-helpoption.This routine must be called before
setUp()if the user is to be allowed to set the solver type.See also
Source code at slepc4py/SLEPc/MFN.pyx:238
- Return type:
- setMonitor(monitor, args=None, kargs=None)#
Append a monitor function to the list of monitors.
Logically collective.
See also
- setOperator(A)#
Set the matrix associated with the MFN object.
Collective.
Notes
This must be called before
setUp(). If called again aftersetUp()then theMFNobject is reset.See also
- setOptionsPrefix(prefix=None)#
Set the prefix used for searching for all MFN options in the database.
Logically collective.
- Parameters:
prefix (str | None) – The prefix string to prepend to all MFN option requests.
- Return type:
Notes
A hyphen (-) must NOT be given at the beginning of the prefix name. The first character of all runtime options is AUTOMATICALLY the hyphen.
For example, to distinguish between the runtime options for two different MFN contexts, one could call:
M1.setOptionsPrefix("mfn1_") M2.setOptionsPrefix("mfn2_")
- setTolerances(tol=None, max_it=None)#
Set the tolerance and maximum iteration count.
Logically collective.
Set the tolerance and maximum iteration count used by the default MFN convergence tests.
- Parameters:
- Return type:
See also
- setType(mfn_type)#
Set the particular solver to be used in the MFN object.
Logically collective.
Notes
The default is
KRYLOV. Normally, it is best to usesetFromOptions()and then set the MFN type from the options database rather than by using this routine. Using the options database provides the user with maximum flexibility in evaluating the different available methods.See also
- setUp()#
Set up all the necessary internal data structures.
Collective.
Set up all the internal data structures necessary for the execution of the eigensolver.
Source code at slepc4py/SLEPc/MFN.pyx:513
- Return type:
- solve(b, x)#
Solve the matrix function problem.
Collective.
Given a vector \(b\), the vector \(x = f(A) b\) is returned.
Notes
The matrix \(A\) is specified with
setOperator(). The function \(f\) is specified via theFNobject obtained withgetFN()or set withsetFN().See also
- solveTranspose(b, x)#
Solve the transpose matrix function problem.
Collective.
Given a vector \(b\), the vector \(x = f(A^T) b\) is returned.
Notes
The matrix \(A\) is specified with
setOperator(). The function \(f\) is specified via theFNobject obtained withgetFN()or set withsetFN().See also
- view(viewer=None)#
Print the MFN data structure.
Collective.
- Parameters:
viewer (Viewer | None) – Visualization context; if not provided, the standard output is used.
- Return type:
See also
Attributes Documentation
- max_it#
The maximum iteration count used by the MFN convergence tests.
- tol#
The tolerance count used by the MFN convergence tests.