1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="https://slepc.upv.es/documentation/current/docs/manualpages/ST/STSetMatMode.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<link rel="stylesheet" href="/slepc.css" type="text/css">
<TITLE>STSetMatMode</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<div id="version" align=right><b>slepc-3.22.2 2024-12-02</b></div>
<div id="bugreport" align=right><a href="mailto:slepc-maint@upv.es?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: slepc-3.22.2 v3.22.2 docs/manualpages/ST/STSetMatMode.html "><small>Report Typos and Errors</small></a></div>
<H1>STSetMatMode</H1>
Sets a flag to indicate how the transformed matrices are being stored in the spectral transformations.
<H3><FONT COLOR="#883300">Synopsis</FONT></H3>
<PRE>
#include "slepcst.h"
<A HREF="https://petsc.org/release/manualpages/Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../ST/STSetMatMode.html#STSetMatMode">STSetMatMode</A>(<A HREF="../ST/ST.html#ST">ST</A> st,<A HREF="../ST/STMatMode.html#STMatMode">STMatMode</A> mode)
</PRE>
Logically Collective
<P>
<H3><FONT COLOR="#883300">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>st </B></TD><TD> - the spectral transformation context
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>mode </B></TD><TD> - the mode flag, one of <A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_COPY</A>,
<A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_INPLACE</A>, or <A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_SHELL</A>
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#883300">Options Database Key</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-st_matmode <mode> </B></TD><TD> - Indicates the mode flag, where <mode> is one of
'copy', 'inplace', 'shell' (see explanation below).
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#883300">Notes</FONT></H3>
By default (<A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_COPY</A>), a copy of matrix A is made and then
this copy is modified explicitly, e.g. A <- (A - s B).
<P>
With <A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_INPLACE</A>, the original matrix A is modified at <A HREF="../ST/STSetUp.html#STSetUp">STSetUp</A>()
and changes are reverted at the end of the computations. With respect to
the previous one, this mode avoids a copy of matrix A. However, a
drawback is that the recovered matrix might be slightly different
from the original one (due to roundoff).
<P>
With <A HREF="../ST/STMatMode.html#STMatMode">ST_MATMODE_SHELL</A>, the solver works with an implicit shell
matrix that represents the shifted matrix. This mode is the most efficient
in creating the shifted matrix but it places serious limitations to the
linear solves performed in each iteration of the eigensolver (typically,
only iterative solvers with Jacobi preconditioning can be used).
<P>
In the two first modes the efficiency of the computation
can be controlled with <A HREF="../ST/STSetMatStructure.html#STSetMatStructure">STSetMatStructure</A>().
<P>
<P>
<H3><FONT COLOR="#883300">See Also</FONT></H3>
<A HREF="../ST/STSetMatrices.html#STSetMatrices">STSetMatrices</A>(), <A HREF="../ST/STSetMatStructure.html#STSetMatStructure">STSetMatStructure</A>(), <A HREF="../ST/STGetMatMode.html#STGetMatMode">STGetMatMode</A>(), <A HREF="../ST/STMatMode.html#STMatMode">STMatMode</A>
<BR><P><B></B><H3><FONT COLOR="#883300">Level</FONT></H3>intermediate<BR>
<H3><FONT COLOR="#883300">Location</FONT></H3>
</B><A HREF="../../../src/sys/classes/st/interface/stset.c.html#STSetMatMode">src/sys/classes/st/interface/stset.c</A>
<P><H3><FONT COLOR="#883300">Examples</FONT></H3>
<A HREF="../../../src/pep/tutorials/ex28.c.html">src/pep/tutorials/ex28.c</A><BR>
<BR><BR><A HREF="./index.html">Index of all ST routines</A>
<BR><A HREF="../../../docs/manual.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>
|