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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MATAIJSPOOLES</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MATAIJSPOOLES"><H1>MATAIJSPOOLES</H1></A>
<A HREF="../Mat/MATAIJSPOOLES.html#MATAIJSPOOLES">MATAIJSPOOLES</A> = "aijspooles" - A matrix type providing direct solvers (LU or Cholesky) for sequential and parellel matrices via the external package SPOOLES. If SPOOLES is installed (see the manual for
instructions on how to declare the existence of external packages),
a matrix type can be constructed which invokes SPOOLES solvers.
After calling <A HREF="../Mat/MatCreate.html#MatCreate">MatCreate</A>(...,A), simply call <A HREF="../Mat/MatSetType.html#MatSetType">MatSetType</A>(A,<A HREF="../Mat/MATAIJSPOOLES.html#MATAIJSPOOLES">MATAIJSPOOLES</A>).
This matrix type is supported for double precision real and complex.
<P>
This matrix inherits from <A HREF="../Mat/MATAIJ.html#MATAIJ">MATAIJ</A>. As a result, <A HREF="../Mat/MatSeqAIJSetPreallocation.html#MatSeqAIJSetPreallocation">MatSeqAIJSetPreallocation</A> and <A HREF="../Mat/MatMPIAIJSetPreallocation.html#MatMPIAIJSetPreallocation">MatMPIAIJSetPreallocation</A> are
supported for this matrix type. One can also call <A HREF="../Mat/MatConvert.html#MatConvert">MatConvert</A> for an inplace conversion to or from
the <A HREF="../Mat/MATAIJ.html#MATAIJ">MATAIJ</A> type without data copy.
<P>
<H3><FONT COLOR="#CC3333">Options Database Keys</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_type aijspooles </B></TD><TD>- sets the matrix type to "aijspooles" during a call to <A HREF="../Mat/MatSetFromOptions.html#MatSetFromOptions">MatSetFromOptions</A>()
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_tau <tau> </B></TD><TD>- upper bound on the magnitude of the largest element in L or U
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_seed <seed> </B></TD><TD>- random number seed used for ordering
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_msglvl <msglvl> </B></TD><TD>- message output level
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_ordering <BestOfNDandMS,MMD,MS,ND> </B></TD><TD>- ordering used
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxdomainsize <n> </B></TD><TD>- maximum subgraph <A HREF="../Sys/size.html#size">size</A> used by Spooles orderings
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxzeros <n> </B></TD><TD>- maximum number of zeros inside a supernode
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxsize <n> </B></TD><TD>- maximum <A HREF="../Sys/size.html#size">size</A> of a supernode
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_FrontMtxInfo <true,fase> </B></TD><TD>- print Spooles information about the computed factorization
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_symmetryflag <0,1,2> </B></TD><TD>- 0: SPOOLES_SYMMETRIC, 1: SPOOLES_HERMITIAN, 2: SPOOLES_NONSYMMETRIC
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_patchAndGoFlag <0,1,2> </B></TD><TD>- 0: no patch, 1: use PatchAndGo strategy 1, 2: use PatchAndGo strategy 2
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_toosmall <dt> </B></TD><TD>- drop tolerance for PatchAndGo strategy 1
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_storeids <bool integer> </B></TD><TD>- if nonzero, stores row and col numbers where patches were applied in an IV object
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_fudge <delta> </B></TD><TD>- fudge factor for rescaling diagonals with PatchAndGo strategy 2
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_storevalues <bool integer> </B></TD><TD>- if nonzero and PatchAndGo strategy 2 is used, store change in diagonal value in a DV object
</TD></TR></TABLE>
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
<A HREF="../PC/PCLU.html#PCLU">PCLU</A>
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>beginner
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/mat/impls/aij/seq/spooles/spooles.c.html#MATAIJSPOOLES">src/mat/impls/aij/seq/spooles/spooles.c</A>
<BR><A HREF="./index.html">Index of all Mat routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>
|