diff --git a/docs/html/WARNINGS b/docs/html/WARNINGS deleted file mode 100644 index 5b6c6c23..00000000 --- a/docs/html/WARNINGS +++ /dev/null @@ -1,12 +0,0 @@ -No implementation found for style `pstricks' -No implementation found for style `fancybox' -No implementation found for style `ifthen' -No implementation found for style `listings' - -redefining command \thepage - -Substitution of arg to newlabelxx delayed. - -? brace missing for \oldcontentsline - -? brace missing for \textrm diff --git a/docs/html/contents.png b/docs/html/contents.png deleted file mode 100644 index 0c752c66..00000000 Binary files a/docs/html/contents.png and /dev/null differ diff --git a/docs/html/footnode.html b/docs/html/footnode.html deleted file mode 100644 index 17cb8332..00000000 --- a/docs/html/footnode.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - -Footnotes - - - - - - - - - - - - - - - - -
-
... -explicitly1
-
In our prototype implementation we provide -sample scatter/gather routines. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... domain2
-
This is - the normal situation when the pattern of the sparse matrix is - symmetric, which is equivalent to say that the interaction between - two variables is reciprocal. If the matrix pattern is non-symmetric - we may have one-way interactions, and these could cause a situation - in which a boundary point is not a halo point for its neighbour. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... prec%build3
-
The subroutine style psb_precinit and psb_precbl are still supported for - backward compatibility - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... follows4
-
The string is case-insensitive - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... method5
-
Note: - the implementation is for $FCG(1)$. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
- - diff --git a/docs/html/images.aux b/docs/html/images.aux deleted file mode 100644 index 07599084..00000000 --- a/docs/html/images.aux +++ /dev/null @@ -1,18 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand*\HyPL@Entry[1]{} -\HyPL@Entry{0<>} diff --git a/docs/html/images.log b/docs/html/images.log deleted file mode 100644 index fc4875b5..00000000 --- a/docs/html/images.log +++ /dev/null @@ -1,507 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=latex 2019.9.9) 21 NOV 2019 13:53 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**./images.tex -(./images.tex -LaTeX2e <2017-04-15> -Babel <3.18> and hyphenation patterns for 10 language(s) loaded. - -(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) (/usr/share/texlive/texmf-dist/tex/latex/pstricks/pstricks.sty -Package: pstricks 2018/01/06 v0.67 LaTeX wrapper for `PSTricks' (RN,HV) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2013/04/04 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX, -and LuaTeX -) (/usr/share/texlive/texmf-dist/tex/latex/tools/shellesc.sty -Package: shellesc 2016/06/07 v0.02a unified shell escape interface for LaTeX -Package shellesc Info: Restricted shell escape enabled on input line 69. -) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: dvips.def on input line 225. -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def -File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips -) -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/pst-xkey.tex -File: pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA) -(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2014/12/03 v2.7a package option processing (HA) -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texl -ive/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks14 -\XKV@tempa@toks=\toks15 -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) -\XKV@depth=\count87 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -))) (/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.tex (/usr/shar -e/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex `pst-fp' v0.05, 2010/01/17 - (hv) -\pstFP@xs=\count88 -\pstFP@xia=\count89 -\pstFP@xib=\count90 -\pstFP@xfa=\count91 -\pstFP@xfb=\count92 -\pstFP@rega=\count93 -\pstFP@regb=\count94 -\pstFP@regs=\count95 -\pstFP@times=\count96 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex -\pgfutil@everybye=\toks16 -\pgfutil@tempdima=\dimen103 -\pgfutil@tempdimb=\dimen104 - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t -ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex -\pgfkeys@pathtoks=\toks17 -\pgfkeys@temptoks=\toks18 - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t -ex -\pgfkeys@tmptoks=\toks19 -)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex (/u -sr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/usr/share/t -exlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex (/usr/share/texlive -/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex -\pgf@x=\dimen105 -\pgf@xa=\dimen106 -\pgf@xb=\dimen107 -\pgf@xc=\dimen108 -\pgf@y=\dimen109 -\pgf@ya=\dimen110 -\pgf@yb=\dimen111 -\pgf@yc=\dimen112 -\c@pgf@counta=\count97 -\c@pgf@countb=\count98 -\c@pgf@countc=\count99 -\c@pgf@countd=\count100 -\pgfutil@tempcnta=\count101 -\pgfutil@tempcntb=\count102 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex -\pgfmath@dimen=\dimen113 -\pgfmath@count=\count103 -\pgfmath@box=\box26 -\pgfmath@toks=\toks20 -\pgfmath@stack@operand=\toks21 -\pgfmath@stack@operation=\toks22 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code -.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet -ric.code.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod -e.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison -.code.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. -tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code -.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. -tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari -thmetics.code.tex))) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmat -hfloat.code.tex -\c@pgfmathroundto@lastzeros=\count104 -)) -\pgffor@iter=\dimen114 -\pgffor@skip=\dimen115 -\pgffor@stack=\toks23 -\pgffor@toks=\toks24 -) -\psLoopIndex=\count105 -`PSTricks' v2.82 <2018/01/06> (tvz,hv) -\pst@dima=\dimen116 -\pst@dimb=\dimen117 -\pst@dimc=\dimen118 -\pst@dimd=\dimen119 -\pst@dimg=\dimen120 -\pst@dimh=\dimen121 -\pst@dimm=\dimen122 -\pst@dimn=\dimen123 -\pst@dimo=\dimen124 -\pst@dimp=\dimen125 -\pst@hbox=\box27 -\pst@ibox=\box28 -\pst@boxg=\box29 -\pst@cnta=\count106 -\pst@cntb=\count107 -\pst@cntc=\count108 -\pst@cntd=\count109 -\pst@cntg=\count110 -\pst@cnth=\count111 -\pst@cntm=\count112 -\pst@cntn=\count113 -\pst@cnto=\count114 -\pst@cntp=\count115 -\@zero=\count116 -\pst@toks=\toks25 -(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.con) -\psunit=\dimen126 -\psxunit=\dimen127 -\psyunit=\dimen128 -\pst@C@@rType=\count117 -\pslinewidth=\dimen129 -\psk@startLW=\dimen130 -\psk@endLW=\dimen131 -\pst@customdefs=\toks26 -\pslinearc=\dimen132 -\pst@symbolStep=\dimen133 -\pst@symbolWidth=\dimen134 -\pst@symbolLinewidth=\dimen135 -\everypsbox=\toks27 -\psframesep=\dimen136 -\pslabelsep=\dimen137 -\sh@wgridXunit=\dimen138 -\sh@wgridYunit=\dimen139 -\pst@shift=\dimen140 -) -File: pstricks.tex 2018/01/06 v2.82 `PSTricks' (tvz,hv) -(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex) -File: pst-fp.tex 2018/01/06 v2.82 `PST-fp' (hv) -) (/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty -Package: fancybox 2010/05/15 1.4 -Style option: `fancybox' v1.4 <2010/05/15> (tvz) -\@fancybox=\box30 -\shadowsize=\dimen141 -\@Sbox=\box31 -\do@VerbBox=\toks28 -\the@fancyput=\toks29 -\this@fancyput=\toks30 -\EndVerbatimTokens=\toks31 -\Verbatim@Outfile=\write3 -\Verbatim@Infile=\read1 -) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\@emptytoks=\toks32 -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) -Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) -Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode is ignored in DVI mode. -Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) -Package hobsub Info: Skipping package `hobsub' (already loaded). -Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -Package: xcolor-patch 2016/05/16 xcolor patch -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) -Package atveryend Info: \enddocument detected (standard20110627). -Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) -) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) -) -\@linkdim=\dimen142 -\Hy@linkcounter=\count118 -\Hy@pagecounter=\count119 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) -) -\Hy@SavedSpaceFactor=\count120 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive -) -Package hyperref Info: Option `bookmarks' set `true' on input line 4383. -Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 4383 -. -Package hyperref Info: Option `bookmarksopen' set `false' on input line 4383. -Package hyperref Info: Option `plainpages' set `false' on input line 4383. -Package hyperref Info: Option `pdfpagelabels' set `true' on input line 4383. -Package hyperref Info: Option `colorlinks' set `true' on input line 4383. -Package hyperref Info: Hyper figures OFF on input line 4509. -Package hyperref Info: Link nesting OFF on input line 4514. -Package hyperref Info: Hyper index ON on input line 4517. -Package hyperref Info: Plain pages OFF on input line 4524. -Package hyperref Info: Backreferencing OFF on input line 4529. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4762. -\c@Hy@tempcnt=\count121 -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip10 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 5115. -\XeTeXLinkMargin=\dimen143 -\Fld@menulength=\count122 -\Field@Width=\dimen144 -\Fld@charsize=\dimen145 -Package hyperref Info: Hyper figures OFF on input line 6369. -Package hyperref Info: Link nesting OFF on input line 6374. -Package hyperref Info: Hyper index ON on input line 6377. -Package hyperref Info: backreferencing OFF on input line 6384. -Package hyperref Info: Link coloring ON on input line 6387. -Package hyperref Info: Link coloring with OCG OFF on input line 6394. -Package hyperref Info: PDF/A mode OFF on input line 6399. -LaTeX Info: Redefining \ref on input line 6439. -LaTeX Info: Redefining \pageref on input line 6443. -\Hy@abspage=\count123 -\c@Item=\count124 -\c@Hfootnote=\count125 -) -Package hyperref Info: Driver (default): hdvips. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hdvips.def -File: hdvips.def 2018/02/06 v6.86b Hyperref driver for dvips -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pdfmark.def -File: pdfmark.def 2018/02/06 v6.86b Hyperref definitions for pdfmark specials -\pdf@docset=\toks33 -\pdf@box=\box32 -\pdf@toks=\toks34 -\pdf@defaulttoks=\toks35 -\HyField@AnnotCount=\count126 -\Fld@listcount=\count127 -\c@bookmark@seq@number=\count128 -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -82. -) -\Hy@SectionHShift=\skip43 -)) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) -) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: dvips.def on input line 99. -) -\Gin@req@height=\dimen146 -\Gin@req@width=\dimen147 -) -\c@theorem=\count129 -\c@corollary=\count130 -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty -\lst@mode=\count131 -\lst@gtempboxa=\box33 -\lst@token=\toks36 -\lst@length=\count132 -\lst@currlwidth=\dimen148 -\lst@column=\count133 -\lst@pos=\count134 -\lst@lostspace=\dimen149 -\lst@width=\dimen150 -\lst@newlines=\count135 -\lst@lineno=\count136 -\lst@maxwidth=\dimen151 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) -\c@lstnumber=\count137 -\lst@skipnumbers=\count138 -\lst@framebox=\box34 -) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2015/06/04 1.6 listings configuration -)) -Package: listings 2015/06/04 1.6 (Carsten Heinz) -\c@subroutine=\count139 -\c@example=\count140 -(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2015/03/17 v1.2c Input encoding file -\inpenc@prehook=\toks37 -\inpenc@posthook=\toks38 -(/usr/share/texlive/texmf-dist/tex/latex/base/latin1.def -File: latin1.def 2015/03/17 v1.2c Input encoding file -)) -\sizebox=\box35 -\lthtmlwrite=\write4 -(./images.aux (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/intro.au -x) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/datastruct.aux) (/h -ome/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/psbrout.aux) (/home/cirda -n/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/commrout.aux) (/home/cirdan/Versio -niPSBLAS/8Bytes/psblas3/docs/src/tmp/toolsrout.aux) (/home/cirdan/VersioniPSBLA -S/8Bytes/psblas3/docs/src/tmp/penv.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psb -las3/docs/src/tmp/error.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/s -rc/tmp/util.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/precs -.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/methods.aux)) -\openout1 = `images.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -\AtBeginShipoutBox=\box36 -Package hyperref Info: Link coloring ON on input line 149. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty -Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) -) -\c@section@level=\count141 -) -LaTeX Info: Redefining \ref on input line 149. -LaTeX Info: Redefining \pageref on input line 149. -LaTeX Info: Redefining \nameref on input line 149. -(./images.out) (./images.out) -\@outlinefile=\write5 -\openout5 = `images.out'. - -\c@lstlisting=\count142 - -latex2htmlLength hsize=349.0pt - -latex2htmlLength vsize=682.0pt - -latex2htmlLength hoffset=0.0pt - -latex2htmlLength voffset=0.0pt - -latex2htmlLength topmargin=0.0pt - -latex2htmlLength topskip=0.00003pt - -latex2htmlLength headheight=0.0pt - -latex2htmlLength headsep=0.0pt - -latex2htmlLength parskip=0.0pt plus 1.0pt - -latex2htmlLength oddsidemargin=28.0pt - -latex2htmlLength evensidemargin=79.0pt - -LaTeX Font Info: Try loading font information for OMS+cmr on input line 225. - -(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd -File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions -) -LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <9> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 225. -LaTeX Font Info: Try loading font information for U+msa on input line 228. -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Try loading font information for U+msb on input line 228. -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) - -! LaTeX Error: Misplaced \endSbox! Should be in LR mode. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.229 \end{Sbox} - % -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -l2hSize :Sbox7771:0.0pt::0.0pt::0.0pt. -[1 - - - -] - -! LaTeX Error: Misplaced \endSbox! Should be in LR mode. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.260 \end{Sbox} - % -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -l2hSize :Sbox7788:0.0pt::0.0pt::0.0pt. -[2 - - -] -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 273. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 273. -(./images.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 273. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 273. -Package rerunfilecheck Info: File `images.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 273. - ) -Here is how much of TeX's memory you used: - 13704 strings out of 494799 - 227394 string characters out of 6177696 - 322233 words of memory out of 5000000 - 16868 multiletter control sequences out of 15000+600000 - 6061 words of font info for 25 fonts, out of 8000000 for 9000 - 81 hyphenation exceptions out of 8191 - 36i,6n,40p,409b,1382s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on images.dvi (2 pages, 3212 bytes). diff --git a/docs/html/images.out b/docs/html/images.out deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/images.pl b/docs/html/images.pl deleted file mode 100644 index 2fcccff4..00000000 --- a/docs/html/images.pl +++ /dev/null @@ -1,1182 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate images original text with physical files. - - -$key = q/(0dotsnp-1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(0\dots np-1)$|; - -$key = q/(1dotsmg);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(1\dots mg)$|; - -$key = q/(1dotsnp);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(1\dots np)$|; - -$key = q/(i+irw-1),ja(j),val(j);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(i+irw-1),ja(j),val(j)$|; - -$key = q/-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1$|; - -$key = q/-1<=root<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1<= root <= np-1$|; - -$key = q/-1leiamlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1 \le iam \le np-1$|; - -$key = q/-1lerootlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1\le root\le np-1$|; - -$key = q/0,1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0,1$|; - -$key = q/0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0$|; - -$key = q/0<=dst<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= dst <= np-1$|; - -$key = q/0<=m<=size(dat,1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= m <= size(dat,1)$|; - -$key = q/0<=root<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= root <= np-1$|; - -$key = q/0<=src<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= src <= np-1$|; - -$key = q/0leiamlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0 \le iam \le np-1$|; - -$key = q/0leidlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0 \le id \le np-1$|; - -$key = q/0lepv(i)|; - -$key = q/1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1$|; - -$key = q/1dotsn;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1\dots n$|; - -$key = q/1dotsn_{hbox{row}_i};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1\dots n_{\hbox{row}_i}$|; - -$key = q/=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$=0$|; - -$key = q/>0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$>0$|; - -$key = q/A;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$A$|; - -$key = q/A^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$A^T$|; - -$key = q/CG;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$CG$|; - -$key = q/D;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$D$|; - -$key = q/FCG(1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$FCG(1)$|; - -$key = q/I;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$I$|; - -$key = q/ILU(0);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ILU(0)$|; - -$key = q/IX;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$IX$|; - -$key = q/N_I=nl;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$N_I=nl$|; - -$key = q/O(n^2);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$O(n^2)$|; - -$key = q/O(nlogn);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$O(n \log n)$|; - -$key = q/P^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P^T$|; - -$key = q/P^{T};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P^{T}$|; - -$key = q/P_a;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P_a$|; - -$key = q/P_aP^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P_aP^T$|; - -$key = q/Q;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$Q$|; - -$key = q/T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$T$|; - -$key = q/X;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$X$|; - -$key = q/a;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$a$|; - -$key = q/a_{ij}ne0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$a_{ij} \ne0$|; - -$key = q/alpha;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\alpha$|; - -$key = q/amax;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$amax$|; - -$key = q/asum;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$asum$|; - -$key = q/beta;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\beta$|; - -$key = q/calB;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal B$|; - -$key = q/calH;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal H$|; - -$key = q/calI;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal I$|; - -$key = q/collect;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$collect$|; - -$key = q/dat;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dat$|; - -$key = q/dat_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dat_i$|; - -$key = q/diag(1)=1(noscaling);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$diag(1) = 1 (no scaling)$|; - -$key = q/dot;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dot$|; - -$key = q/dst;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dst$|; - -$key = q/fbox{TheSbox};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\fbox{\TheSbox}|; - -$key = q/flag=psb_sort_keep_idx_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$flag = psb\_sort\_keep\_idx\_$|; - -$key = q/flag=psb_sort_ovw_idx_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$flag = psb\_sort\_ovw\_idx\_$|; - -$key = q/glob_x;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$glob\_x$|; - -$key = q/glob_x_{1:m,1:n};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$glob\_x_{1:m,1:n}$|; - -$key = q/i+irw-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i+irw-1$|; - -$key = q/i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i$|; - -$key = q/i=1,dots,nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i=1,\dots,nz$|; - -$key = q/i=1,nr;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i=1,nr$|; - -$key = q/ia(i),ja(i),val(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i),ja(i),val(i)$|; - -$key = q/ia(i),ja(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i),ja(i)$|; - -$key = q/ia(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i)$|; - -$key = q/iam=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$iam=-1$|; - -$key = q/id;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$id$|; - -$key = q/iin{1dotsmg};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i\in \{1\dots mg\}$|; - -$key = q/includegraphics[scale=0.45]{figuresslashtry8x8.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.45]{figures/try8x8.eps}|; - -$key = q/includegraphics[scale=0.45]{figuresslashtry8x8};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.45]{figures/try8x8}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpoints.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/points.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpsblas.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/psblas.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpsblas};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/psblas}|; - -$key = q/includegraphics[scale=0.65]{figuresslashtry8x8_ov.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/try8x8_ov.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashtry8x8_ov};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/try8x8_ov}|; - -$key = q/irst>0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$irst>0$|; - -$key = q/irw(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$irw(i)$|; - -$key = q/itmax=1000;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itmax = 1000$|; - -$key = q/itmaxge1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itmax \ge 1$|; - -$key = q/itrace;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itrace$|; - -$key = q/itrace=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itrace = -1$|; - -$key = q/ix(1:n);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(1:n)$|; - -$key = q/ix(:);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(:)$|; - -$key = q/ix(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(i)$|; - -$key = q/ix(i)leftarrowi;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(i) \leftarrow
-i$|; - -$key = q/j;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$j$|; - -$key = q/j=irp(i),dots,irp(i+1)-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$j=irp(i),\dots,irp(i+1)-1$|; - -$key = q/ja(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ja(i)$|; - -$key = q/lidx(1:nl);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$lidx(1:nl)$|; - -$key = q/loc_x_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$loc\_x_i$|; - -$key = q/m;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$m$|; - -$key = q/mg;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$mg$|; - -$key = q/n;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$n$|; - -$key = q/n_{hbox{row}_i}+1dotsn_{hbox{col}_i};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$|; - -$key = q/nlge0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nl\ge 0$|; - -$key = q/nnz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nnz$|; - -$key = q/np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$np-1$|; - -$key = q/np;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$np$|; - -$key = q/nr+1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nr+1$|; - -$key = q/nrm2;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nrm2$|; - -$key = q/nv>1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nv>1$|; - -$key = q/nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nz$|; - -$key = q/nzin+nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nzin+nz$|; - -$key = q/ptype;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ptype$|; - -$key = q/r_i=b-Ax_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$r_i=b-Ax_i$|; - -$key = q/res;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$res$|; - -$key = q/root=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$root=-1$|; - -$key = q/rotatebox{-90}{includegraphics[scale=0.65]{figuresslashpoints}};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}}|; - -$key = q/row;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$row$|; - -$key = q/scatter;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$scatter$|; - -$key = q/size(dat,1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$size(dat,1)$|; - -$key = q/slash;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$/$|; - -$key = q/src;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$src$|; - -$key = q/trans=N;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$trans = N$|; - -$key = q/unitd=U;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$unitd = U$|; - -$key = q/update_type=psb_avg_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$update\_type = psb\_avg\_ $|; - -$key = q/val;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$val$|; - -$key = q/vg(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vg(i)$|; - -$key = q/vg;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vg$|; - -$key = q/vl(1:nl);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vl(1:nl)$|; - -$key = q/vl;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vl$|; - -$key = q/x(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x(i)$|; - -$key = q/x(i)=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x(i) = 0$|; - -$key = q/x;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x$|; - -$key = q/x_i,y;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_i, y$|; - -$key = q/x_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_i$|; - -$key = q/x_{:,:};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_{:, :}$|; - -$key = q/y(i)=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y(i) = 0$|; - -$key = q/y;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y$|; - -$key = q/y_{:,:};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y_{:, :}$|; - -$key = q/{displaymath}14{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}\verb\vert psb_version_string_\vert\end{displaymath}|; - -$key = q/{displaymath}amaxleftarrowmax_i{(|re(x_i)|+|im(x_i)|)}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath}|; - -$key = q/{displaymath}amaxleftarrowmax_i|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath}|; - -$key = q/{displaymath}asumleftarrow|re(x)|_1+|im(x)|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}|; - -$key = q/{displaymath}asumleftarrow|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx(i)y(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x(i) y(i).\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx^Hy{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x^H y\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx^Ty{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x^T y\end{displaymath}|; - -$key = q/{displaymath}err=frac{|r_i|}{(|A||x_i|+|b|)}|; - -$key = q/{displaymath}err=frac{|r_i|}{|b|_2}|; - -$key = q/{displaymath}err=frac{|r_i|}{|r_0|_2}|; - -$key = q/{displaymath}glob_xleftarrowcollect(loc_x_i){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath}|; - -$key = q/{displaymath}loc_x_ileftarrowscatter(glob_x){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath}|; - -$key = q/{displaymath}nrm1leftarrow|A|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath}|; - -$key = q/{displaymath}nrm2leftarrowsqrt{x^Hx}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath}|; - -$key = q/{displaymath}nrm2leftarrowsqrt{x^Tx}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath}|; - -$key = q/{displaymath}nrmileftarrow|A|_infty{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrowmax_k|x(k,i)|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrowx(:,i)^Ty(:,i){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|re(x)|_1+|im(x)|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|x(:,i)|_2{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}|; - -$key = q/{displaymath}res=sqrt{sum_idat_i^2},{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res = \sqrt{\sum_i dat_i^2},\end{displaymath}|; - -$key = q/{displaymath}slashleftarrow1slashx(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}/ \leftarrow 1/x(i).\end{displaymath}|; - -$key = q/{displaymath}slashleftarrowx(i)slashy(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}/ \leftarrow x(i)/y(i).\end{displaymath}|; - -$key = q/{displaymath}xleftarrowQx{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}x \leftarrow Q x \end{displaymath}|; - -$key = q/{displaymath}xleftarrowx{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}x \leftarrow x \end{displaymath}|; - -$key = q/{displaymath}yleftarrowalpha>x+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaA^Hx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A^H x + \beta y
-\end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaA^Tx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A^T x + \beta y
-\end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaAx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A x + \beta y
-\end{displaymath}|; - -$key = q/{eqnarraystar}y&leftarrow&alphaT^{-1}x+betayy&leftarrow&alphaDT^{-1}x+betayy&lefhaDT^{-H}x+betayy&leftarrow&alphaT^{-H}Dx+betay{eqnarraystar};MSF=1.6;TAGS=R;AAT/; -$cached_env_img{$key} = q|\begin{eqnarray*}
-y &\leftarrow& \alpha T^{-1} x + \beta y\\\\
-y &\leftarrow& \al...
-...-H} x + \beta y\\\\
-y &\leftarrow& \alpha T^{-H} D x + \beta y\\\\
-\end{eqnarray*}|; - -$key = q/{lstlisting}callhb_read(a,iret,iunit,filename,b,mtitle){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call hb_read(a, iret, iunit, filename, b, mtitle)
-\end{lstlisting}|; - -$key = q/{lstlisting}callhb_write(a,iret,iunit,filename,key,rhs,mtitle){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_array_read(b,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_array_read(b, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_array_write(b,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_array_write(b, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_mat_read(a,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_mat_read(a, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_mat_write(a,mtitle,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_mat_write(a, mtitle, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_error(icontxt){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_error(icontxt)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_errpush(err_c,r_name,i_err,a_err){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_errpush(err_c, r_name, i_err, a_err)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_gather(glob_x,loc_x,desc_a,info,root)callpsb_gather(glob_x,loc_x,desc_a,info,root){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_halo(x,desc_a,info)callpsb_halo(x,desc_a,info,work,data){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_halo(x, desc_a, info)
-call psb_halo(x, desc_a, info, work, data)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_krylov(method,a,prec,b,x,eps,desc_a,info,&&itmax,iter,err,itrace,irst,istop,cond){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
-& itmax,iter,err,itrace,irst,istop,cond)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_ovrl(x,desc_a,info)callpsb_ovrl(x,desc_a,info,update=update_type,work=work){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_ovrl(x, desc_a, info)
-call psb_ovrl(x, desc_a, info, update=update_type, work=work)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_scatter(glob_x,loc_x,desc_a,info,root,mold){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_scatter(glob_x, loc_x, desc_a, info, root, mold)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_set_erraction(err_act){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_set_erraction(err_act)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_set_errverbosity(v){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_set_errverbosity(v)
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_geamax(x1,desc_a,info,global=.false.)vres(2)=psb_geamax(eamax(x3,desc_a,info,global=.false.)callpsb_amx(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_geamax(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_amx(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_geasum(x1,desc_a,info,global=.false.)vres(2)=psb_geasum(easum(x3,desc_a,info,global=.false.)callpsb_sum(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_geasum(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_gedot(x1,y1,desc_a,info,global=.false.)vres(2)=psb_gedotot(x3,y3,desc_a,info,global=.false.)callpsb_sum(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_gedot(x1,y1,desc_a,info,global=.false.)
-vres(...
-...,y3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_genrm2(x1,desc_a,info,global=.false.)vres(2)=psb_genrm2(nrm2(x3,desc_a,info,global=.false.)callpsb_nrm2(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_genrm2(x1,desc_a,info,global=.false.)
-vres(2)...
-...x3,desc_a,info,global=.false.)
-call psb_nrm2(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/|{calI}_i|+|{calB}_i|+|{calH}_i|;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$|; - -$key = q/|{calI}_i|+|{calB}_i|;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$|; - -1; - diff --git a/docs/html/images.tex b/docs/html/images.tex deleted file mode 100644 index 2191e46c..00000000 --- a/docs/html/images.tex +++ /dev/null @@ -1,273 +0,0 @@ -\batchmode -\documentclass[10pt,a4paper,twoside]{article} - -\usepackage{pstricks} -\usepackage{fancybox} -\usepackage{amsfonts} -\usepackage[bookmarks=true, bookmarksnumbered=true, bookmarksopen=false, plainpages=false, pdfpagelabels, colorlinks, linkcolor=blue]{hyperref} -\usepackage{ifthen} -\usepackage{graphicx} - -\newtheorem{theorem}{Theorem} -\newtheorem{corollary}{Corollary} \usepackage{listings} - - -\pdfoutput=0 - - - -\newcounter{subroutine}[subsection] -\newcounter{example}[subroutine] \makeatletter% -\providecommand{\subsubroutine}[2]{% -\stepcounter{subroutine}% - \subsection*{\flushleft #1---#2 \endflushleft}% - \addcontentsline{toc}{subsubsection}{#1}% - \markright{#1}}%% -\providecommand{\subsubsubroutine}[2]{% -\stepcounter{subroutine}% - \subsubsection*{\flushleft #1---#2 \endflushleft}% - \addcontentsline{toc}{paragraph}{#1}% - \markright{#1}}%% -\providecommand{\examplename}{Example}% -\providecommand{\syntaxname}{Syntax} - -\makeatother% -\providecommand{\example}{\stepcounter{example}% -\section*{Example~\arabic{example}}} - -% -\providecommand{\precdata}{\hyperlink{precdata}{{\tt psb\_prec\_type}}}% -\providecommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}% -\providecommand{\spdata}{\hyperlink{spdata}{{\tt psb\_Tspmat\_type}}}% -\providecommand{\vdata}{\hyperlink{vdata}{{\tt psb\_T\_vect\_type}}}% -\providecommand{\spbasedata}{\hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}}% -\providecommand{\vbasedata}{\hypertarget{vbasedata}{{\tt psb\_T\_base\_vect\_type}}} - - - - -\usepackage[latin1]{inputenc} - - - -\makeatletter - -\makeatletter -\count@=\the\catcode`\_ \catcode`\_=8 -\newenvironment{tex2html_wrap}{}{}% -\catcode`\<=12\catcode`\_=\count@ -\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}% -\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}% - \expandafter\renewcommand\csname #1\endcsname}% -\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}% -\let\newedcommand\renewedcommand -\let\renewedenvironment\newedenvironment -\makeatother -\let\mathon=$ -\let\mathoff=$ -\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi -\newbox\sizebox -\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt} -\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt} -\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt} -\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt} -\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt} -\setlength{\textwidth}{349pt} -\newwrite\lthtmlwrite -\makeatletter -\let\realnormalsize=\normalsize -\global\topskip=2sp -\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float -\def\@float{\let\@savefreelist\@freelist\real@float} -\def\liih@math{\ifmmode$\else\bad@math\fi} -\def\end@float{\realend@float\global\let\@freelist\@savefreelist} -\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float -\let\@largefloatcheck=\relax -\let\if@boxedmulticols=\iftrue -\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt} -\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize - \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}% - \def\phantompar{\csname par\endcsname}\normalsize}% -\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}% -\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }% -\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }% -\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup % - \let\ifinner=\iffalse \let\)\liih@math }% -\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}% - \expandafter\box\next\egroup}% -\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}% -\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox - \ifdim\dimen0>.95\vsize - \lthtmltypeout{% -*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}% - \ht\sizebox.95\vsize \dp\sizebox\z@ \fi - \lthtmltypeout{l2hSize % -:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}% -\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist - \lthtmlmathtype{#1}\lthtmlvboxmathA}% -\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}% -\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup - \let\@savefreelist\@freelist \lthtmlhboxmathB}% -\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}% -\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox - \global\let\@freelist\@savefreelist}% -\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}% -\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}% -\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}% - \lthtmldisplayA{#1}\let\@eqnnum\relax}% -\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}% -\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB} -\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA - \vrule height1.5ex width0pt }% -\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}% -\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}% -\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt % - \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline} -\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt % - \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath} -\newcommand\lthtmlindisplaymathZ{\egroup % - \centerinlinemath\lthtmllogmath\lthtmlsetmath} -\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{% - \kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi - \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}} -\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{% - \kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt% - \ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt% - \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}} -\def\centerinlinemath{% - \dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi - \advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1 - \dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax} - -\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize - \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill - \else\expandafter\vss\fi}% -\providecommand{\selectlanguage}[1]{}% -\makeatletter \tracingstats = 1 - - -\begin{document} -\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}% -\makeatletter -\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}% -\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi% -\lthtmltypeout{}% -\makeatother -\setcounter{page}{1} -\onecolumn - -% !!! IMAGES START HERE !!! - -\begingroup -\renewcommand{\thepage}{toc} -\endgroup -\stepcounter{section} -\stepcounter{section} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{section} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -{\newpage\clearpage -\lthtmlfigureA{Sbox7771}% -\begin{Sbox} - \begin{minipage}[tl]{0.95\textwidth} -\small -\begin{lstlisting} -subroutine psb_foo(some args, info) - ... - if(error detected) then - info=errcode1 - call psb_errpush('psb_foo', errcode1) - goto 9999 - end if - ... - call psb_bar(some args, info) - if(info .ne. zero) then - info=errcode2 - call psb_errpush('psb_foo', errcode2) - goto 9999 - end if - ... -9999 continue - if (err_act .eq. act_abort) then - call psb_error(icontxt) - return - else - return - end if -\par -end subroutine psb_foo -\end{lstlisting} - \end{minipage} - \end{Sbox}% -\lthtmlfigureZ -\lthtmlcheckvsize\clearpage} - - - -\setlength{\fboxsep}{8pt}% - -\setlength{\fboxsep}{8pt} -{\newpage\clearpage -\lthtmlfigureA{Sbox7788}% -\begin{Sbox} - \begin{minipage}[tl]{0.95\textwidth} -\begin{verbatim} - -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: df_sample -Error from call to subroutine mat dist -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: mat_distv -Error from call to subroutine psb_spasb -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: psb_spasb -Error from call to subroutine psb_cest -========================================================== -Process: 0. PSBLAS Error (136) in subroutine: psb_cest -Format FOO is unknown -========================================================== -Aborting...\end{verbatim} - - \end{minipage} - \end{Sbox}% -\lthtmlfigureZ -\lthtmlcheckvsize\clearpage} - - - -\setlength{\fboxsep}{8pt}% - -\setlength{\fboxsep}{8pt} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} - -\end{document} diff --git a/docs/html/img1.png b/docs/html/img1.png deleted file mode 100644 index e7280f00..00000000 Binary files a/docs/html/img1.png and /dev/null differ diff --git a/docs/html/img10.png b/docs/html/img10.png deleted file mode 100644 index e94e2a07..00000000 Binary files a/docs/html/img10.png and /dev/null differ diff --git a/docs/html/img100.png b/docs/html/img100.png deleted file mode 100644 index f6badca2..00000000 Binary files a/docs/html/img100.png and /dev/null differ diff --git a/docs/html/img101.png b/docs/html/img101.png deleted file mode 100644 index 991e37ce..00000000 Binary files a/docs/html/img101.png and /dev/null differ diff --git a/docs/html/img102.png b/docs/html/img102.png deleted file mode 100644 index c8269e63..00000000 Binary files a/docs/html/img102.png and /dev/null differ diff --git a/docs/html/img103.png b/docs/html/img103.png deleted file mode 100644 index 61f04c6d..00000000 Binary files a/docs/html/img103.png and /dev/null differ diff --git a/docs/html/img104.png b/docs/html/img104.png deleted file mode 100644 index 3aa2f86d..00000000 Binary files a/docs/html/img104.png and /dev/null differ diff --git a/docs/html/img105.png b/docs/html/img105.png deleted file mode 100644 index d20f20eb..00000000 Binary files a/docs/html/img105.png and /dev/null differ diff --git a/docs/html/img106.png b/docs/html/img106.png deleted file mode 100644 index 6b570c4f..00000000 Binary files a/docs/html/img106.png and /dev/null differ diff --git a/docs/html/img107.png b/docs/html/img107.png deleted file mode 100644 index 55ae005a..00000000 Binary files a/docs/html/img107.png and /dev/null differ diff --git a/docs/html/img108.png b/docs/html/img108.png deleted file mode 100644 index 452a9c87..00000000 Binary files a/docs/html/img108.png and /dev/null differ diff --git a/docs/html/img109.png b/docs/html/img109.png deleted file mode 100644 index 0d45d2e5..00000000 Binary files a/docs/html/img109.png and /dev/null differ diff --git a/docs/html/img11.png b/docs/html/img11.png deleted file mode 100644 index 5af308a8..00000000 Binary files a/docs/html/img11.png and /dev/null differ diff --git a/docs/html/img110.png b/docs/html/img110.png deleted file mode 100644 index ece1e70b..00000000 Binary files a/docs/html/img110.png and /dev/null differ diff --git a/docs/html/img111.png b/docs/html/img111.png deleted file mode 100644 index 4cbf0c49..00000000 Binary files a/docs/html/img111.png and /dev/null differ diff --git a/docs/html/img112.png b/docs/html/img112.png deleted file mode 100644 index 3a753508..00000000 Binary files a/docs/html/img112.png and /dev/null differ diff --git a/docs/html/img113.png b/docs/html/img113.png deleted file mode 100644 index 709c9898..00000000 Binary files a/docs/html/img113.png and /dev/null differ diff --git a/docs/html/img114.png b/docs/html/img114.png deleted file mode 100644 index c7a30bbd..00000000 Binary files a/docs/html/img114.png and /dev/null differ diff --git a/docs/html/img115.png b/docs/html/img115.png deleted file mode 100644 index 3ee61bda..00000000 Binary files a/docs/html/img115.png and /dev/null differ diff --git a/docs/html/img116.png b/docs/html/img116.png deleted file mode 100644 index 566ec9d7..00000000 Binary files a/docs/html/img116.png and /dev/null differ diff --git a/docs/html/img117.png b/docs/html/img117.png deleted file mode 100644 index f17fc72a..00000000 Binary files a/docs/html/img117.png and /dev/null differ diff --git a/docs/html/img118.png b/docs/html/img118.png deleted file mode 100644 index 585737f0..00000000 Binary files a/docs/html/img118.png and /dev/null differ diff --git a/docs/html/img119.png b/docs/html/img119.png deleted file mode 100644 index 89de8dc3..00000000 Binary files a/docs/html/img119.png and /dev/null differ diff --git a/docs/html/img12.png b/docs/html/img12.png deleted file mode 100644 index ca3ebaf2..00000000 Binary files a/docs/html/img12.png and /dev/null differ diff --git a/docs/html/img120.png b/docs/html/img120.png deleted file mode 100644 index ebc00eda..00000000 Binary files a/docs/html/img120.png and /dev/null differ diff --git a/docs/html/img121.png b/docs/html/img121.png deleted file mode 100644 index 61df3677..00000000 Binary files a/docs/html/img121.png and /dev/null differ diff --git a/docs/html/img122.png b/docs/html/img122.png deleted file mode 100644 index 401353f2..00000000 Binary files a/docs/html/img122.png and /dev/null differ diff --git a/docs/html/img123.png b/docs/html/img123.png deleted file mode 100644 index 01f60011..00000000 Binary files a/docs/html/img123.png and /dev/null differ diff --git a/docs/html/img124.png b/docs/html/img124.png deleted file mode 100644 index c0d01a75..00000000 Binary files a/docs/html/img124.png and /dev/null differ diff --git a/docs/html/img125.png b/docs/html/img125.png deleted file mode 100644 index ee72c1c3..00000000 Binary files a/docs/html/img125.png and /dev/null differ diff --git a/docs/html/img126.png b/docs/html/img126.png deleted file mode 100644 index 1f336182..00000000 Binary files a/docs/html/img126.png and /dev/null differ diff --git a/docs/html/img127.png b/docs/html/img127.png deleted file mode 100644 index 2e10826d..00000000 Binary files a/docs/html/img127.png and /dev/null differ diff --git a/docs/html/img128.png b/docs/html/img128.png deleted file mode 100644 index 7dcbbf59..00000000 Binary files a/docs/html/img128.png and /dev/null differ diff --git a/docs/html/img129.png b/docs/html/img129.png deleted file mode 100644 index 5971190f..00000000 Binary files a/docs/html/img129.png and /dev/null differ diff --git a/docs/html/img13.png b/docs/html/img13.png deleted file mode 100644 index 8fa140bf..00000000 Binary files a/docs/html/img13.png and /dev/null differ diff --git a/docs/html/img130.png b/docs/html/img130.png deleted file mode 100644 index c39e7eb2..00000000 Binary files a/docs/html/img130.png and /dev/null differ diff --git a/docs/html/img131.png b/docs/html/img131.png deleted file mode 100644 index 8d05ac1e..00000000 Binary files a/docs/html/img131.png and /dev/null differ diff --git a/docs/html/img132.png b/docs/html/img132.png deleted file mode 100644 index eb2ae848..00000000 Binary files a/docs/html/img132.png and /dev/null differ diff --git a/docs/html/img133.png b/docs/html/img133.png deleted file mode 100644 index 70e23fad..00000000 Binary files a/docs/html/img133.png and /dev/null differ diff --git a/docs/html/img134.png b/docs/html/img134.png deleted file mode 100644 index afdff9bd..00000000 Binary files a/docs/html/img134.png and /dev/null differ diff --git a/docs/html/img135.png b/docs/html/img135.png deleted file mode 100644 index 59f6cf6c..00000000 Binary files a/docs/html/img135.png and /dev/null differ diff --git a/docs/html/img136.png b/docs/html/img136.png deleted file mode 100644 index c43d1238..00000000 Binary files a/docs/html/img136.png and /dev/null differ diff --git a/docs/html/img137.png b/docs/html/img137.png deleted file mode 100644 index 8fecd122..00000000 Binary files a/docs/html/img137.png and /dev/null differ diff --git a/docs/html/img138.png b/docs/html/img138.png deleted file mode 100644 index 74b25797..00000000 Binary files a/docs/html/img138.png and /dev/null differ diff --git a/docs/html/img139.png b/docs/html/img139.png deleted file mode 100644 index 50b5104b..00000000 Binary files a/docs/html/img139.png and /dev/null differ diff --git a/docs/html/img14.png b/docs/html/img14.png deleted file mode 100644 index d8e32028..00000000 Binary files a/docs/html/img14.png and /dev/null differ diff --git a/docs/html/img140.png b/docs/html/img140.png deleted file mode 100644 index 05dfb193..00000000 Binary files a/docs/html/img140.png and /dev/null differ diff --git a/docs/html/img141.png b/docs/html/img141.png deleted file mode 100644 index 2c6ef8d9..00000000 Binary files a/docs/html/img141.png and /dev/null differ diff --git a/docs/html/img142.png b/docs/html/img142.png deleted file mode 100644 index cbc74cec..00000000 Binary files a/docs/html/img142.png and /dev/null differ diff --git a/docs/html/img143.png b/docs/html/img143.png deleted file mode 100644 index 6bb04de6..00000000 Binary files a/docs/html/img143.png and /dev/null differ diff --git a/docs/html/img144.png b/docs/html/img144.png deleted file mode 100644 index ed3d364a..00000000 Binary files a/docs/html/img144.png and /dev/null differ diff --git a/docs/html/img145.png b/docs/html/img145.png deleted file mode 100644 index 16435531..00000000 Binary files a/docs/html/img145.png and /dev/null differ diff --git a/docs/html/img146.png b/docs/html/img146.png deleted file mode 100644 index d25261ef..00000000 Binary files a/docs/html/img146.png and /dev/null differ diff --git a/docs/html/img147.png b/docs/html/img147.png deleted file mode 100644 index 1ca4552d..00000000 Binary files a/docs/html/img147.png and /dev/null differ diff --git a/docs/html/img148.png b/docs/html/img148.png deleted file mode 100644 index db3bcede..00000000 Binary files a/docs/html/img148.png and /dev/null differ diff --git a/docs/html/img149.png b/docs/html/img149.png deleted file mode 100644 index cb788d91..00000000 Binary files a/docs/html/img149.png and /dev/null differ diff --git a/docs/html/img15.png b/docs/html/img15.png deleted file mode 100644 index 557ff902..00000000 Binary files a/docs/html/img15.png and /dev/null differ diff --git a/docs/html/img150.png b/docs/html/img150.png deleted file mode 100644 index 59c6a079..00000000 Binary files a/docs/html/img150.png and /dev/null differ diff --git a/docs/html/img151.png b/docs/html/img151.png deleted file mode 100644 index f669eb1a..00000000 Binary files a/docs/html/img151.png and /dev/null differ diff --git a/docs/html/img152.png b/docs/html/img152.png deleted file mode 100644 index 1df9a2b4..00000000 Binary files a/docs/html/img152.png and /dev/null differ diff --git a/docs/html/img153.png b/docs/html/img153.png deleted file mode 100644 index 986f62fd..00000000 Binary files a/docs/html/img153.png and /dev/null differ diff --git a/docs/html/img154.png b/docs/html/img154.png deleted file mode 100644 index f358d206..00000000 Binary files a/docs/html/img154.png and /dev/null differ diff --git a/docs/html/img155.png b/docs/html/img155.png deleted file mode 100644 index 4221886d..00000000 Binary files a/docs/html/img155.png and /dev/null differ diff --git a/docs/html/img156.png b/docs/html/img156.png deleted file mode 100644 index 714e9362..00000000 Binary files a/docs/html/img156.png and /dev/null differ diff --git a/docs/html/img157.png b/docs/html/img157.png deleted file mode 100644 index a32e3e37..00000000 Binary files a/docs/html/img157.png and /dev/null differ diff --git a/docs/html/img158.old b/docs/html/img158.old deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img158.png b/docs/html/img158.png deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img159.png b/docs/html/img159.png deleted file mode 100644 index c857d6ca..00000000 Binary files a/docs/html/img159.png and /dev/null differ diff --git a/docs/html/img16.png b/docs/html/img16.png deleted file mode 100644 index d733d22e..00000000 Binary files a/docs/html/img16.png and /dev/null differ diff --git a/docs/html/img160.old b/docs/html/img160.old deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img160.png b/docs/html/img160.png deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img161.png b/docs/html/img161.png deleted file mode 100644 index dfd97c4b..00000000 Binary files a/docs/html/img161.png and /dev/null differ diff --git a/docs/html/img162.png b/docs/html/img162.png deleted file mode 100644 index 36856d84..00000000 Binary files a/docs/html/img162.png and /dev/null differ diff --git a/docs/html/img163.png b/docs/html/img163.png deleted file mode 100644 index 0f16897e..00000000 Binary files a/docs/html/img163.png and /dev/null differ diff --git a/docs/html/img164.png b/docs/html/img164.png deleted file mode 100644 index 0e6a371e..00000000 Binary files a/docs/html/img164.png and /dev/null differ diff --git a/docs/html/img165.png b/docs/html/img165.png deleted file mode 100644 index 1c5b9daf..00000000 Binary files a/docs/html/img165.png and /dev/null differ diff --git a/docs/html/img166.png b/docs/html/img166.png deleted file mode 100644 index 0918f651..00000000 Binary files a/docs/html/img166.png and /dev/null differ diff --git a/docs/html/img167.png b/docs/html/img167.png deleted file mode 100644 index e06c9ae8..00000000 Binary files a/docs/html/img167.png and /dev/null differ diff --git a/docs/html/img168.png b/docs/html/img168.png deleted file mode 100644 index 1f9a72ac..00000000 Binary files a/docs/html/img168.png and /dev/null differ diff --git a/docs/html/img169.png b/docs/html/img169.png deleted file mode 100644 index 171a75aa..00000000 Binary files a/docs/html/img169.png and /dev/null differ diff --git a/docs/html/img17.png b/docs/html/img17.png deleted file mode 100644 index aeb56396..00000000 Binary files a/docs/html/img17.png and /dev/null differ diff --git a/docs/html/img170.png b/docs/html/img170.png deleted file mode 100644 index 5cd24e26..00000000 Binary files a/docs/html/img170.png and /dev/null differ diff --git a/docs/html/img171.png b/docs/html/img171.png deleted file mode 100644 index 341e3e57..00000000 Binary files a/docs/html/img171.png and /dev/null differ diff --git a/docs/html/img172.png b/docs/html/img172.png deleted file mode 100644 index 7054de74..00000000 Binary files a/docs/html/img172.png and /dev/null differ diff --git a/docs/html/img173.png b/docs/html/img173.png deleted file mode 100644 index 076f48e5..00000000 Binary files a/docs/html/img173.png and /dev/null differ diff --git a/docs/html/img174.png b/docs/html/img174.png deleted file mode 100644 index f11c95c0..00000000 Binary files a/docs/html/img174.png and /dev/null differ diff --git a/docs/html/img175.png b/docs/html/img175.png deleted file mode 100644 index ff19444e..00000000 Binary files a/docs/html/img175.png and /dev/null differ diff --git a/docs/html/img176.png b/docs/html/img176.png deleted file mode 100644 index b626bb88..00000000 Binary files a/docs/html/img176.png and /dev/null differ diff --git a/docs/html/img177.png b/docs/html/img177.png deleted file mode 100644 index 4c5ed5a3..00000000 Binary files a/docs/html/img177.png and /dev/null differ diff --git a/docs/html/img178.png b/docs/html/img178.png deleted file mode 100644 index 270d9bab..00000000 Binary files a/docs/html/img178.png and /dev/null differ diff --git a/docs/html/img179.png b/docs/html/img179.png deleted file mode 100644 index 1c7be3b5..00000000 Binary files a/docs/html/img179.png and /dev/null differ diff --git a/docs/html/img18.png b/docs/html/img18.png deleted file mode 100644 index b7505ba6..00000000 Binary files a/docs/html/img18.png and /dev/null differ diff --git a/docs/html/img180.png b/docs/html/img180.png deleted file mode 100644 index 86faae32..00000000 Binary files a/docs/html/img180.png and /dev/null differ diff --git a/docs/html/img181.png b/docs/html/img181.png deleted file mode 100644 index 8ed7190c..00000000 Binary files a/docs/html/img181.png and /dev/null differ diff --git a/docs/html/img182.png b/docs/html/img182.png deleted file mode 100644 index 45a42b18..00000000 Binary files a/docs/html/img182.png and /dev/null differ diff --git a/docs/html/img183.png b/docs/html/img183.png deleted file mode 100644 index 045d4f07..00000000 Binary files a/docs/html/img183.png and /dev/null differ diff --git a/docs/html/img184.png b/docs/html/img184.png deleted file mode 100644 index a5d174a3..00000000 Binary files a/docs/html/img184.png and /dev/null differ diff --git a/docs/html/img185.png b/docs/html/img185.png deleted file mode 100644 index 0cd52618..00000000 Binary files a/docs/html/img185.png and /dev/null differ diff --git a/docs/html/img186.png b/docs/html/img186.png deleted file mode 100644 index 953b52c3..00000000 Binary files a/docs/html/img186.png and /dev/null differ diff --git a/docs/html/img187.png b/docs/html/img187.png deleted file mode 100644 index 45adb542..00000000 Binary files a/docs/html/img187.png and /dev/null differ diff --git a/docs/html/img19.png b/docs/html/img19.png deleted file mode 100644 index 8b3cc057..00000000 Binary files a/docs/html/img19.png and /dev/null differ diff --git a/docs/html/img2.png b/docs/html/img2.png deleted file mode 100644 index bc1204e6..00000000 Binary files a/docs/html/img2.png and /dev/null differ diff --git a/docs/html/img20.png b/docs/html/img20.png deleted file mode 100644 index 6b9684ba..00000000 Binary files a/docs/html/img20.png and /dev/null differ diff --git a/docs/html/img21.png b/docs/html/img21.png deleted file mode 100644 index 16920fd3..00000000 Binary files a/docs/html/img21.png and /dev/null differ diff --git a/docs/html/img22.png b/docs/html/img22.png deleted file mode 100644 index 19b9986c..00000000 Binary files a/docs/html/img22.png and /dev/null differ diff --git a/docs/html/img23.png b/docs/html/img23.png deleted file mode 100644 index fa052e10..00000000 Binary files a/docs/html/img23.png and /dev/null differ diff --git a/docs/html/img24.png b/docs/html/img24.png deleted file mode 100644 index 35196adf..00000000 Binary files a/docs/html/img24.png and /dev/null differ diff --git a/docs/html/img25.png b/docs/html/img25.png deleted file mode 100644 index 872e546b..00000000 Binary files a/docs/html/img25.png and /dev/null differ diff --git a/docs/html/img26.png b/docs/html/img26.png deleted file mode 100644 index 8c581355..00000000 Binary files a/docs/html/img26.png and /dev/null differ diff --git a/docs/html/img27.png b/docs/html/img27.png deleted file mode 100644 index 54f4af44..00000000 Binary files a/docs/html/img27.png and /dev/null differ diff --git a/docs/html/img28.png b/docs/html/img28.png deleted file mode 100644 index b594d9fd..00000000 Binary files a/docs/html/img28.png and /dev/null differ diff --git a/docs/html/img29.png b/docs/html/img29.png deleted file mode 100644 index 79cf8891..00000000 Binary files a/docs/html/img29.png and /dev/null differ diff --git a/docs/html/img3.png b/docs/html/img3.png deleted file mode 100644 index 61ee834b..00000000 Binary files a/docs/html/img3.png and /dev/null differ diff --git a/docs/html/img30.png b/docs/html/img30.png deleted file mode 100644 index f9bd0a35..00000000 Binary files a/docs/html/img30.png and /dev/null differ diff --git a/docs/html/img31.png b/docs/html/img31.png deleted file mode 100644 index ac17f63f..00000000 Binary files a/docs/html/img31.png and /dev/null differ diff --git a/docs/html/img32.png b/docs/html/img32.png deleted file mode 100644 index b5d11a44..00000000 Binary files a/docs/html/img32.png and /dev/null differ diff --git a/docs/html/img33.png b/docs/html/img33.png deleted file mode 100644 index dd77d103..00000000 Binary files a/docs/html/img33.png and /dev/null differ diff --git a/docs/html/img34.png b/docs/html/img34.png deleted file mode 100644 index 8fdb9283..00000000 Binary files a/docs/html/img34.png and /dev/null differ diff --git a/docs/html/img35.png b/docs/html/img35.png deleted file mode 100644 index a185f8ec..00000000 Binary files a/docs/html/img35.png and /dev/null differ diff --git a/docs/html/img36.png b/docs/html/img36.png deleted file mode 100644 index 87fedc7b..00000000 Binary files a/docs/html/img36.png and /dev/null differ diff --git a/docs/html/img37.png b/docs/html/img37.png deleted file mode 100644 index 34780cb0..00000000 Binary files a/docs/html/img37.png and /dev/null differ diff --git a/docs/html/img38.png b/docs/html/img38.png deleted file mode 100644 index 9ed3c928..00000000 Binary files a/docs/html/img38.png and /dev/null differ diff --git a/docs/html/img39.png b/docs/html/img39.png deleted file mode 100644 index 65c6b504..00000000 Binary files a/docs/html/img39.png and /dev/null differ diff --git a/docs/html/img4.png b/docs/html/img4.png deleted file mode 100644 index a5ecda3f..00000000 Binary files a/docs/html/img4.png and /dev/null differ diff --git a/docs/html/img40.png b/docs/html/img40.png deleted file mode 100644 index 18cdf165..00000000 Binary files a/docs/html/img40.png and /dev/null differ diff --git a/docs/html/img41.png b/docs/html/img41.png deleted file mode 100644 index 61ae82f8..00000000 Binary files a/docs/html/img41.png and /dev/null differ diff --git a/docs/html/img42.png b/docs/html/img42.png deleted file mode 100644 index 93aeb898..00000000 Binary files a/docs/html/img42.png and /dev/null differ diff --git a/docs/html/img43.png b/docs/html/img43.png deleted file mode 100644 index ddbcb358..00000000 Binary files a/docs/html/img43.png and /dev/null differ diff --git a/docs/html/img44.png b/docs/html/img44.png deleted file mode 100644 index 5ef68fbc..00000000 Binary files a/docs/html/img44.png and /dev/null differ diff --git a/docs/html/img45.png b/docs/html/img45.png deleted file mode 100644 index 6db14f7a..00000000 Binary files a/docs/html/img45.png and /dev/null differ diff --git a/docs/html/img46.png b/docs/html/img46.png deleted file mode 100644 index 8a05f9b8..00000000 Binary files a/docs/html/img46.png and /dev/null differ diff --git a/docs/html/img47.png b/docs/html/img47.png deleted file mode 100644 index 8886c404..00000000 Binary files a/docs/html/img47.png and /dev/null differ diff --git a/docs/html/img48.png b/docs/html/img48.png deleted file mode 100644 index cf61ecd8..00000000 Binary files a/docs/html/img48.png and /dev/null differ diff --git a/docs/html/img49.png b/docs/html/img49.png deleted file mode 100644 index 2b4f6a1e..00000000 Binary files a/docs/html/img49.png and /dev/null differ diff --git a/docs/html/img5.png b/docs/html/img5.png deleted file mode 100644 index ad004662..00000000 Binary files a/docs/html/img5.png and /dev/null differ diff --git a/docs/html/img50.png b/docs/html/img50.png deleted file mode 100644 index d7303ff4..00000000 Binary files a/docs/html/img50.png and /dev/null differ diff --git a/docs/html/img51.png b/docs/html/img51.png deleted file mode 100644 index 57fa3dfb..00000000 Binary files a/docs/html/img51.png and /dev/null differ diff --git a/docs/html/img52.png b/docs/html/img52.png deleted file mode 100644 index 0c074573..00000000 Binary files a/docs/html/img52.png and /dev/null differ diff --git a/docs/html/img53.png b/docs/html/img53.png deleted file mode 100644 index c56945fb..00000000 Binary files a/docs/html/img53.png and /dev/null differ diff --git a/docs/html/img54.png b/docs/html/img54.png deleted file mode 100644 index 7a9a1811..00000000 Binary files a/docs/html/img54.png and /dev/null differ diff --git a/docs/html/img55.png b/docs/html/img55.png deleted file mode 100644 index 80ca5a95..00000000 Binary files a/docs/html/img55.png and /dev/null differ diff --git a/docs/html/img56.png b/docs/html/img56.png deleted file mode 100644 index a2d8c23c..00000000 Binary files a/docs/html/img56.png and /dev/null differ diff --git a/docs/html/img57.png b/docs/html/img57.png deleted file mode 100644 index e49a3dc8..00000000 Binary files a/docs/html/img57.png and /dev/null differ diff --git a/docs/html/img58.png b/docs/html/img58.png deleted file mode 100644 index 3e2caadf..00000000 Binary files a/docs/html/img58.png and /dev/null differ diff --git a/docs/html/img59.png b/docs/html/img59.png deleted file mode 100644 index c06940f9..00000000 Binary files a/docs/html/img59.png and /dev/null differ diff --git a/docs/html/img6.png b/docs/html/img6.png deleted file mode 100644 index 9ca07ef2..00000000 Binary files a/docs/html/img6.png and /dev/null differ diff --git a/docs/html/img60.png b/docs/html/img60.png deleted file mode 100644 index 8ab759fe..00000000 Binary files a/docs/html/img60.png and /dev/null differ diff --git a/docs/html/img61.png b/docs/html/img61.png deleted file mode 100644 index 520bef9e..00000000 Binary files a/docs/html/img61.png and /dev/null differ diff --git a/docs/html/img62.png b/docs/html/img62.png deleted file mode 100644 index 8e0ff8da..00000000 Binary files a/docs/html/img62.png and /dev/null differ diff --git a/docs/html/img63.png b/docs/html/img63.png deleted file mode 100644 index 819da009..00000000 Binary files a/docs/html/img63.png and /dev/null differ diff --git a/docs/html/img64.png b/docs/html/img64.png deleted file mode 100644 index 1653a0fb..00000000 Binary files a/docs/html/img64.png and /dev/null differ diff --git a/docs/html/img65.png b/docs/html/img65.png deleted file mode 100644 index a8a8f666..00000000 Binary files a/docs/html/img65.png and /dev/null differ diff --git a/docs/html/img66.png b/docs/html/img66.png deleted file mode 100644 index 099c7bbd..00000000 Binary files a/docs/html/img66.png and /dev/null differ diff --git a/docs/html/img67.png b/docs/html/img67.png deleted file mode 100644 index 0c5f5899..00000000 Binary files a/docs/html/img67.png and /dev/null differ diff --git a/docs/html/img68.png b/docs/html/img68.png deleted file mode 100644 index 364c435c..00000000 Binary files a/docs/html/img68.png and /dev/null differ diff --git a/docs/html/img69.png b/docs/html/img69.png deleted file mode 100644 index b7138b96..00000000 Binary files a/docs/html/img69.png and /dev/null differ diff --git a/docs/html/img7.png b/docs/html/img7.png deleted file mode 100644 index 0c867f94..00000000 Binary files a/docs/html/img7.png and /dev/null differ diff --git a/docs/html/img70.png b/docs/html/img70.png deleted file mode 100644 index 1e347c62..00000000 Binary files a/docs/html/img70.png and /dev/null differ diff --git a/docs/html/img71.png b/docs/html/img71.png deleted file mode 100644 index d0d4e7a6..00000000 Binary files a/docs/html/img71.png and /dev/null differ diff --git a/docs/html/img72.png b/docs/html/img72.png deleted file mode 100644 index 810b69c9..00000000 Binary files a/docs/html/img72.png and /dev/null differ diff --git a/docs/html/img73.png b/docs/html/img73.png deleted file mode 100644 index ec9322e9..00000000 Binary files a/docs/html/img73.png and /dev/null differ diff --git a/docs/html/img74.png b/docs/html/img74.png deleted file mode 100644 index 810b69c9..00000000 Binary files a/docs/html/img74.png and /dev/null differ diff --git a/docs/html/img75.png b/docs/html/img75.png deleted file mode 100644 index 82f4ee3c..00000000 Binary files a/docs/html/img75.png and /dev/null differ diff --git a/docs/html/img76.png b/docs/html/img76.png deleted file mode 100644 index 83bc1969..00000000 Binary files a/docs/html/img76.png and /dev/null differ diff --git a/docs/html/img77.png b/docs/html/img77.png deleted file mode 100644 index 2a05686f..00000000 Binary files a/docs/html/img77.png and /dev/null differ diff --git a/docs/html/img78.png b/docs/html/img78.png deleted file mode 100644 index 089b17f6..00000000 Binary files a/docs/html/img78.png and /dev/null differ diff --git a/docs/html/img79.png b/docs/html/img79.png deleted file mode 100644 index 083e5b1e..00000000 Binary files a/docs/html/img79.png and /dev/null differ diff --git a/docs/html/img8.png b/docs/html/img8.png deleted file mode 100644 index 1b047adf..00000000 Binary files a/docs/html/img8.png and /dev/null differ diff --git a/docs/html/img80.png b/docs/html/img80.png deleted file mode 100644 index d3448151..00000000 Binary files a/docs/html/img80.png and /dev/null differ diff --git a/docs/html/img81.png b/docs/html/img81.png deleted file mode 100644 index 94fe3652..00000000 Binary files a/docs/html/img81.png and /dev/null differ diff --git a/docs/html/img82.png b/docs/html/img82.png deleted file mode 100644 index e58c5e69..00000000 Binary files a/docs/html/img82.png and /dev/null differ diff --git a/docs/html/img83.png b/docs/html/img83.png deleted file mode 100644 index ba4e5268..00000000 Binary files a/docs/html/img83.png and /dev/null differ diff --git a/docs/html/img84.png b/docs/html/img84.png deleted file mode 100644 index 40453aa0..00000000 Binary files a/docs/html/img84.png and /dev/null differ diff --git a/docs/html/img85.png b/docs/html/img85.png deleted file mode 100644 index 2f88b08e..00000000 Binary files a/docs/html/img85.png and /dev/null differ diff --git a/docs/html/img86.png b/docs/html/img86.png deleted file mode 100644 index 5dd0b395..00000000 Binary files a/docs/html/img86.png and /dev/null differ diff --git a/docs/html/img87.png b/docs/html/img87.png deleted file mode 100644 index 0e932c93..00000000 Binary files a/docs/html/img87.png and /dev/null differ diff --git a/docs/html/img88.png b/docs/html/img88.png deleted file mode 100644 index 00cb49e6..00000000 Binary files a/docs/html/img88.png and /dev/null differ diff --git a/docs/html/img89.png b/docs/html/img89.png deleted file mode 100644 index 3a49b4c5..00000000 Binary files a/docs/html/img89.png and /dev/null differ diff --git a/docs/html/img9.png b/docs/html/img9.png deleted file mode 100644 index 67fce13f..00000000 Binary files a/docs/html/img9.png and /dev/null differ diff --git a/docs/html/img90.png b/docs/html/img90.png deleted file mode 100644 index 47d09bbb..00000000 Binary files a/docs/html/img90.png and /dev/null differ diff --git a/docs/html/img91.png b/docs/html/img91.png deleted file mode 100644 index ce2a8b22..00000000 Binary files a/docs/html/img91.png and /dev/null differ diff --git a/docs/html/img92.png b/docs/html/img92.png deleted file mode 100644 index bde63772..00000000 Binary files a/docs/html/img92.png and /dev/null differ diff --git a/docs/html/img93.png b/docs/html/img93.png deleted file mode 100644 index ae65520d..00000000 Binary files a/docs/html/img93.png and /dev/null differ diff --git a/docs/html/img94.png b/docs/html/img94.png deleted file mode 100644 index d9252802..00000000 Binary files a/docs/html/img94.png and /dev/null differ diff --git a/docs/html/img95.png b/docs/html/img95.png deleted file mode 100644 index 93115ef1..00000000 Binary files a/docs/html/img95.png and /dev/null differ diff --git a/docs/html/img96.png b/docs/html/img96.png deleted file mode 100644 index 5cf34e0e..00000000 Binary files a/docs/html/img96.png and /dev/null differ diff --git a/docs/html/img97.png b/docs/html/img97.png deleted file mode 100644 index e7744ab3..00000000 Binary files a/docs/html/img97.png and /dev/null differ diff --git a/docs/html/img98.png b/docs/html/img98.png deleted file mode 100644 index eb768677..00000000 Binary files a/docs/html/img98.png and /dev/null differ diff --git a/docs/html/img99.png b/docs/html/img99.png deleted file mode 100644 index 302cd009..00000000 Binary files a/docs/html/img99.png and /dev/null differ diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index cccebd92..00000000 --- a/docs/html/index.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - -userhtml - - - - - - - - - - - - - - - - - -language=Fortran - -

-PSBLAS -
-
-User's and Reference - Guide
-
A reference guide for the Parallel Sparse BLAS library -
-
-
-
Salvatore Filippone -
-Alfredo Buttari
-
-Software version: 3.6.0 -
-Dec 1st, 2018 - -


- - - - - -

- - - diff --git a/docs/html/internals.pl b/docs/html/internals.pl deleted file mode 100644 index f4977f14..00000000 --- a/docs/html/internals.pl +++ /dev/null @@ -1,206 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate internals original text with physical files. - - -$key = q/cite_2007c/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_2007d/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLACS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS1/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS2/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS3/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesPat:11/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesignPatterns/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_KIVA3PSBLAS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_METIS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_MPI1/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PARA04FOREST/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PSBLAS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_RouXiaXu:11/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_Sparse03/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_machiels/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_metcalf/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas02/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas97/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$ref_files{$key} = "$dir".q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$ref_files{$key} = "$dir".q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$ref_files{$key} = "$dir".q|node4.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$ref_files{$key} = "$dir".q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$ref_files{$key} = "$dir".q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$ref_files{$key} = "$dir".q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$ref_files{$key} = "$dir".q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$ref_files{$key} = "$dir".q|node70.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$ref_files{$key} = "$dir".q|node71.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$ref_files{$key} = "$dir".q|node43.html|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$ref_files{$key} = "$dir".q|node136.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$ref_files{$key} = "$dir".q|node6.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$ref_files{$key} = "$dir".q|node22.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$ref_files{$key} = "$dir".q|node9.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$ref_files{$key} = "$dir".q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$ref_files{$key} = "$dir".q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$ref_files{$key} = "$dir".q|node135.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$ref_files{$key} = "$dir".q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$ref_files{$key} = "$dir".q|node102.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$ref_files{$key} = "$dir".q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$ref_files{$key} = "$dir".q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$ref_files{$key} = "$dir".q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$ref_files{$key} = "$dir".q|node42.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$ref_files{$key} = "$dir".q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$ref_files{$key} = "$dir".q|node74.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$ref_files{$key} = "$dir".q|node7.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$ref_files{$key} = "$dir".q|node121.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$ref_files{$key} = "$dir".q|node43.html|; -$noresave{$key} = "$nosave"; - -1; - diff --git a/docs/html/labels.pl b/docs/html/labels.pl deleted file mode 100644 index 3c07d876..00000000 --- a/docs/html/labels.pl +++ /dev/null @@ -1,421 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate labels original text with physical files. - - -$key = q/cite_2007c/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_2007d/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLACS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS1/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS2/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS3/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesPat:11/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesignPatterns/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_KIVA3PSBLAS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_METIS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_MPI1/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PARA04FOREST/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PSBLAS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_RouXiaXu:11/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_Sparse03/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_machiels/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_metcalf/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas02/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas97/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$external_labels{$key} = "$URL/" . q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$external_labels{$key} = "$URL/" . q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$external_labels{$key} = "$URL/" . q|node4.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$external_labels{$key} = "$URL/" . q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$external_labels{$key} = "$URL/" . q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$external_labels{$key} = "$URL/" . q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$external_labels{$key} = "$URL/" . q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$external_labels{$key} = "$URL/" . q|node70.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$external_labels{$key} = "$URL/" . q|node71.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$external_labels{$key} = "$URL/" . q|node43.html|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$external_labels{$key} = "$URL/" . q|node136.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$external_labels{$key} = "$URL/" . q|node6.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$external_labels{$key} = "$URL/" . q|node22.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$external_labels{$key} = "$URL/" . q|node9.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$external_labels{$key} = "$URL/" . q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$external_labels{$key} = "$URL/" . q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$external_labels{$key} = "$URL/" . q|node135.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$external_labels{$key} = "$URL/" . q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$external_labels{$key} = "$URL/" . q|node102.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$external_labels{$key} = "$URL/" . q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$external_labels{$key} = "$URL/" . q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$external_labels{$key} = "$URL/" . q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$external_labels{$key} = "$URL/" . q|node42.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$external_labels{$key} = "$URL/" . q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$external_labels{$key} = "$URL/" . q|node74.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$external_labels{$key} = "$URL/" . q|node7.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$external_labels{$key} = "$URL/" . q|node121.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$external_labels{$key} = "$URL/" . q|node43.html|; -$noresave{$key} = "$nosave"; - -1; - - -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# labels from external_latex_labels array. - - -$key = q/_/; -$external_latex_labels{$key} = q|<|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$external_latex_labels{$key} = q|4|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$external_latex_labels{$key} = q|8|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$external_latex_labels{$key} = q|5|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$external_latex_labels{$key} = q|2.3|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$external_latex_labels{$key} = q|3.1.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$external_latex_labels{$key} = q|3.1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$external_latex_labels{$key} = q|3.4|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$external_latex_labels{$key} = q|3.2.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$external_latex_labels{$key} = q|3.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$external_latex_labels{$key} = q|2.3.1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$external_latex_labels{$key} = q|3.3|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90amax/; -$external_latex_labels{$key} = q|4|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90asum/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90asums/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90axpby/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90div/; -$external_latex_labels{$key} = q|15|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90dot/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90halo/; -$external_latex_labels{$key} = q|17|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90inv/; -$external_latex_labels{$key} = q|16|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mamax/; -$external_latex_labels{$key} = q|5|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mdot/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mlt/; -$external_latex_labels{$key} = q|14|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm1/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm2/; -$external_latex_labels{$key} = q|8|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm2s/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrmi/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90ovrl/; -$external_latex_labels{$key} = q|18|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90spmm/; -$external_latex_labels{$key} = q|12|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90spsm/; -$external_latex_labels{$key} = q|13|; -$noresave{$key} = "$nosave"; - -$key = q/tab:gather/; -$external_latex_labels{$key} = q|19|; -$noresave{$key} = "$nosave"; - -$key = q/tab:scatter/; -$external_latex_labels{$key} = q|20|; -$noresave{$key} = "$nosave"; - -1; - diff --git a/docs/html/next.png b/docs/html/next.png deleted file mode 100644 index 1628652a..00000000 Binary files a/docs/html/next.png and /dev/null differ diff --git a/docs/html/next_g.png b/docs/html/next_g.png deleted file mode 100644 index 9d3f5912..00000000 Binary files a/docs/html/next_g.png and /dev/null differ diff --git a/docs/html/node1.html b/docs/html/node1.html deleted file mode 100644 index d08cc147..00000000 --- a/docs/html/node1.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -Contents - - - - - - - - - - - - - - - - - - - - -
- -

-Contents -

- - - - -

- -

- -

-


- - - diff --git a/docs/html/node10.html b/docs/html/node10.html deleted file mode 100644 index c4571f55..00000000 --- a/docs/html/node10.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - -Descriptor data structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Descriptor data structure -

-All the general matrix informations and elements to be -exchanged among processes are stored within a data structure of the -type descdatapsb_desc_type. -Every structure of this type is associated with a discretization -pattern and enables data communications and other operations that are -necessary for implementing the various algorithms of interest to us. - -

-The data structure itself psb_desc_type can be treated as an -opaque object handled via the tools routines of -Sec. 6 or the query routines detailed below; -nevertheless we include here a description for the curious -reader. - -

-First we describe the psb_indx_map type. This is a data -structure that keeps track of a certain number of basic issues such -as: - -

    -
  • The value of the communication/MPI context; -
  • -
  • The number of indices in the index space, i.e. global number of - rows and columns of a sparse matrix; -
  • -
  • The local set of indices, including: - -
      -
    • The number of local indices (and local rows); -
    • -
    • The number of halo indices (and therefore local columns); -
    • -
    • The global indices corresponding to the local ones. -
    • -
    -
  • -
-There are many different schemes for storing these data; therefore -there are a number of types extending the base one, and the descriptor -structure holds a polymorphic object whose dynamic type can be any of -the extended types. -The methods associated with this data type answer the following -queries: - -
    -
  • For a given set of local indices, find the corresponding indices - in the global numbering; -
  • -
  • For a given set of global indices, find the corresponding - indices in the local numbering, if any, or return an invalid -
  • -
  • Add a global index to the set of halo indices; -
  • -
  • Find the process owner of each member of a set of global - indices. -
  • -
-All methods but the last are purely local; the last method potentially -requires communication among processes, and thus is a synchronous -method. The choice of a specific dynamic type for the index map is -made at the time the descriptor is initially allocated, according to -the mode of initialization (see also 6). - -

-The descriptor contents are as follows: -

-
indxmap
-
A polymorphic variable of a type that is any - extension of the indx_map type described above. -
-
halo_index
-
A list of the halo and boundary elements for -the current process to be exchanged with other processes; for each -processes with which it is necessary to communicate: - -
    -
  1. Process identifier; -
  2. -
  3. Number of points to be received; -
  4. -
  5. Indices of points to be received; -
  6. -
  7. Number of points to be sent; -
  8. -
  9. Indices of points to be sent; -
  10. -
-Specified as: a vector of integer type, see 3.3. -
-
ext_index
-
A list of element indices to be exchanged to - implement the mapping between a base descriptor and a descriptor - with overlap. -
-Specified as: a vector of integer type, see 3.3. -
-
ovrlap_index
-
A list of the overlap elements for the -current process, organized in groups like the previous vector: - -
    -
  1. Process identifier; -
  2. -
  3. Number of points to be received; -
  4. -
  5. Indices of points to be received; -
  6. -
  7. Number of points to be sent; -
  8. -
  9. Indices of points to be sent; -
  10. -
-Specified as: a vector of integer type, see 3.3. -
-
ovr_mst_idx
-
A list to retrieve the value of each - overlap element from the respective master process. -
-Specified as: a vector of integer type, see 3.3. -
-
ovrlap_elem
-
For all overlap points belonging to th -ecurrent process: - -
    -
  1. Overlap point index; -
  2. -
  3. Number of processes sharing that overlap points; -
  4. -
  5. Index of a “master” process: -
  6. -
-Specified as: an allocatable integer array of rank two. -
-
bnd_elem
-
A list of all boundary points, i.e. points - that have a connection with other processes. -
-
-The Fortran 2003 declaration for psb_desc_type structures is -as follows: - -
- - - -
Figure 3: -The PSBLAS defined data type that - contains the communication descriptor.
-
- -
-
 
-type psb_desc_type 
-    class(psb_indx_map), allocatable :: indxmap
-    type(psb_i_vect_type) :: v_halo_index
-    type(psb_i_vect_type) :: v_ext_index
-    type(psb_i_vect_type) :: v_ovrlap_index
-    type(psb_i_vect_type) :: v_ovr_mst_idx 
-    integer, allocatable  :: ovrlap_elem(:,:)
-    integer, allocatable  :: bnd_elem(:)
-end type psb_desc_type
-
-
-
-
-A communication descriptor associated with a sparse matrix has a -state, which can take the following values: -
-
Build:
-
State entered after the first allocation, and before the - first assembly; in this state it is possible to add communication - requirements among different processes. -
-
Assembled:
-
State entered after the assembly; computations using - the associated sparse matrix, such as matrix-vector products, are - only possible in this state. -
-
- -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node100.html b/docs/html/node100.html deleted file mode 100644 index dac90c99..00000000 --- a/docs/html/node100.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_sizeof -- Memory occupation - - - - - - - - - - - - - - - - - - - - - -

-psb_sizeof -- Memory occupation -

- -

-This function computes the memory occupation of a PSBLAS object. - -

-

-isz = psb_sizeof(a)
-isz = psb_sizeof(desc_a)
-isz = psb_sizeof(prec)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
A sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
Communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
prec
-
Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
On Return
-
-
-
Function value
-
The memory occupation of the object specified in - the calling sequence, in bytes. -
-Scope: local -
-Returned as: an integer(psb_long_int_k_) number. -
-
- -

-


- - - diff --git a/docs/html/node101.html b/docs/html/node101.html deleted file mode 100644 index 50a232c8..00000000 --- a/docs/html/node101.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - -Sorting utilities -- - - - - - - - - - - - - - - - - - - - - -

-Sorting utilities -- -

- -

-psb_msort -- Sorting by the Merge-sort - algorithm - -

-psb_qsort -- Sorting by the Quicksort - algorithm - -

-psb_hsort -- Sorting by the Heapsort algorithm -

-call psb_msort(x,ix,dir,flag)
-call psb_qsort(x,ix,dir,flag)
-call psb_hsort(x,ix,dir,flag)
-
- -

-These serial routines sort a sequence $X$ into ascending or -descending order. The argument meaning is identical for the three -calls; the only difference is the algorithm used to accomplish the -task (see Usage Notes below). -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
The sequence to be sorted. -
-Type:required. -
-Specified as: an integer, real or complex array of rank 1. -
-
ix
-
A vector of indices. -
-Type:optional. -
-Specified as: an integer array of (at least) the same size as $X$. -
-
dir
-
The desired ordering. -
-Type:optional. -
-Specified as: an integer value:
-
Integer and real data:
-
psb_sort_up_, -psb_sort_down_, psb_asort_up_, psb_asort_down_; -default psb_sort_up_. -
-
Complex data:
-
psb_lsort_up_, -psb_lsort_down_, psb_asort_up_, psb_asort_down_; -default psb_lsort_up_. -
-
-
-
flag
-
Whether to keep the original values in $IX$. -
-Type:optional. -
-Specified as: an integer value psb_sort_ovw_idx_ or -psb_sort_keep_idx_; default psb_sort_ovw_idx_. - -

-

-
- -

-

-
On Return
-
-
-
x
-
The sequence of values, in the chosen ordering. -
-Type:required. -
-Specified as: an integer, real or complex array of rank 1. -
-
ix
-
A vector of indices. -
-Type: Optional -
-An integer array of rank 1, whose entries are moved to the same -position as the corresponding entries in $x$. -
-
- -

- -

-Notes - -

    -
  1. For integer or real data the sorting can be performed in the up/down direction, on the - natural or absolute values; -
  2. -
  3. For complex data the sorting can be done in a lexicographic - order (i.e.: sort on the real part with ties broken according to - the imaginary part) or on the absolute values; -
  4. -
  5. The routines return the items in the chosen ordering; the - output difference is the handling of ties (i.e. items with an - equal value) in the original input. With the merge-sort algorithm - ties are preserved in the same relative order as they had in the - original sequence, while this is not guaranteed for quicksort or - heapsort; -
  6. -
  7. If -$flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ - where $n$ is the size of $x$ are initialized to -$ix(i) \leftarrow
-i$; thus, upon return from the subroutine, for each - index $i$ we have in $ix(i)$ the position that the item $x(i)$ - occupied in the original data sequence; -
  8. -
  9. If -$flag = psb\_sort\_keep\_idx\_$ the routine will assume that - the entries in $ix(:)$ have already been initialized by the user; -
  10. -
  11. The three sorting algorithms have a similar $O(n \log n)$ expected - running time; in the average case quicksort will be the - fastest and merge-sort the slowest. However note that: - -
      -
    1. The worst case running time for quicksort is $O(n^2)$; the algorithm - implemented here follows the well-known median-of-three heuristics, - but the worst case may still apply; -
    2. -
    3. The worst case running time for merge-sort and heap-sort is - $O(n \log n)$ as the average case; -
    4. -
    5. The merge-sort algorithm is implemented to take advantage of - subsequences that may be already in the desired ordering prior to - the subroutine call; this situation is relatively common when - dealing with groups of indices of sparse matrix entries, thus - merge-sort is the preferred choice when a sorting is needed - by other routines in the library. -
    6. -
    -
  12. -
- -

- -

- -

- - - - diff --git a/docs/html/node102.html b/docs/html/node102.html deleted file mode 100644 index 10f2e367..00000000 --- a/docs/html/node102.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -Parallel environment routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Parallel environment routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node103.html b/docs/html/node103.html deleted file mode 100644 index 419c426d..00000000 --- a/docs/html/node103.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -psb_init -- Initializes PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_init -- Initializes PSBLAS parallel - environment -

- -

-

-call psb_init(icontxt, np, basectxt, ids)
-
- -

-This subroutine initializes the PSBLAS parallel environment, defining -a virtual parallel machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
np
-
Number of processes in the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. Default: use all available processes. -
-
basectxt
-
the initial communication context. The new context - will be defined from the processes participating in the initial one. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. Default: use MPI_COMM_WORLD. -
-
ids
-
Identities of the processes to use for the new context; the - argument is ignored when np is not specified. This allows the - processes in the new environment to be in an order different from the - original one. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer array. Default: use the indices $(0\dots np-1)$. -
-
- -

-

-
On Return
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. Note that this is always a duplicate of - basectxt, so that library communications are completely - separated from other communication operations. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-Specified as: an integer variable. -
-
- -

-Notes - -

    -
  1. A call to this routine must precede any other PSBLAS call. -
  2. -
  3. It is an error to specify a value for $np$ greater than the - number of processes available in the underlying base parallel - environment. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node104.html b/docs/html/node104.html deleted file mode 100644 index 6eda8e7e..00000000 --- a/docs/html/node104.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - -psb_info -- Return information about PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_info -- Return information about PSBLAS parallel - environment -

- -

-

-call psb_info(icontxt, iam, np)
-
- -

-This subroutine returns information about the PSBLAS parallel environment, defining -a virtual parallel machine. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-

-
On Return
-
-
-
iam
-
Identifier of current process in the PSBLAS virtual parallel machine. -
-Scope: local. -
-Type: required. -
-Intent: out. -
-Specified as: an integer value. -$-1 \le iam \le np-1$
-
np
-
Number of processes in the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-Specified as: an integer variable.
-
- -

-Notes - -

    -
  1. For processes in the virtual parallel machine the identifier - will satisfy -$0 \le iam \le np-1$; -
  2. -
  3. If the user has requested on psb_init a number of - processes less than the total available in the parallel execution - environment, the remaining processes will have on return $iam=-1$; - the only call involving icontxt that any such process may - execute is to psb_exit. -
  4. -
- -

-


- - - diff --git a/docs/html/node105.html b/docs/html/node105.html deleted file mode 100644 index a9efb2cb..00000000 --- a/docs/html/node105.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_exit -- Exit from PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_exit -- Exit from PSBLAS parallel - environment -

- -

-

-call psb_exit(icontxt)
-call psb_exit(icontxt,close)
-
- -

-This subroutine exits from the PSBLAS parallel virtual machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
close
-
Whether to close all data structures related to the - virtual parallel machine, besides those associated with icontxt. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: a logical variable, default value: true. -
-
- -

-Notes - -

    -
  1. This routine may be called even if a previous call to - psb_info has returned with $iam=-1$; indeed, it it is the only - routine that may be called with argument icontxt in this - situation. -
  2. -
  3. A call to this routine with close=.true. implies a call - to MPI_Finalize, after which no parallel routine may be called. -
  4. -
  5. If the user whishes to use multiple communication contexts in the - same program, or to enter and exit multiple times into the parallel - environment, this routine may be called to - selectively close the contexts with close=.false., while on - the last call it should be called with close=.true. to - shutdown in a clean way the entire parallel environment. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node106.html b/docs/html/node106.html deleted file mode 100644 index 047d0ff4..00000000 --- a/docs/html/node106.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -psb_get_mpicomm -- Get the MPI communicator - - - - - - - - - - - - - - - - - - - - - -

-psb_get_mpicomm -- Get the MPI communicator -

- -

-

-call psb_get_mpicomm(icontxt, icomm)
-
- -

-This subroutine returns the MPI communicator associated with a PSBLAS context -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-

-
On Return
-
-
-
icomm
-
The MPI communicator associated with the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-
- -

-


- - - diff --git a/docs/html/node107.html b/docs/html/node107.html deleted file mode 100644 index a7b9c720..00000000 --- a/docs/html/node107.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_get_rank -- Get the MPI rank - - - - - - - - - - - - - - - - - - - - - -

-psb_get_rank -- Get the MPI rank -

- -

-

-call psb_get_rank(rank, icontxt, id)
-
- -

-This subroutine returns the MPI rank of the PSBLAS process $id$ -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
id
-
Identifier of a process in the PSBLAS virtual parallel machine. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value. -$0 \le id \le np-1$
-
- -

-

-
On Return
-
-
-
rank
-
The MPI rank associated with the PSBLAS process $id$. -
-Scope: local. -
-Type: required. -
-Intent: out. -
-
- -

-


- - - diff --git a/docs/html/node108.html b/docs/html/node108.html deleted file mode 100644 index 813dd87f..00000000 --- a/docs/html/node108.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - -psb_wtime -- Wall clock timing - - - - - - - - - - - - - - - - - - - - - -

-psb_wtime -- Wall clock timing -

- -

-

-time = psb_wtime()
-
- -

-This function returns a wall clock timer. The resolution of the timer -is dependent on the underlying parallel environment implementation. -

-
Type:
-
Asynchronous. -
-
On Exit
-
-
-
Function value
-
the elapsed time in seconds. -
-Returned as: a real(psb_dpk_) variable. -
-
- -

-


- - - diff --git a/docs/html/node109.html b/docs/html/node109.html deleted file mode 100644 index e9725952..00000000 --- a/docs/html/node109.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -psb_barrier -- Sinchronization point parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_barrier -- Sinchronization point parallel - environment -

- -

-

-call psb_barrier(icontxt)
-
- -

-This subroutine acts as an explicit synchronization point for the PSBLAS -parallel virtual machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-


- - - diff --git a/docs/html/node11.html b/docs/html/node11.html deleted file mode 100644 index 4952cd9b..00000000 --- a/docs/html/node11.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -Descriptor Methods - - - - - - - - - - - - - - - - - - - - - -

-Descriptor Methods -

- -

-


- - - diff --git a/docs/html/node110.html b/docs/html/node110.html deleted file mode 100644 index df63b41c..00000000 --- a/docs/html/node110.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -psb_abort -- Abort a computation - - - - - - - - - - - - - - - - - - - - - -

-psb_abort -- Abort a computation -

- -

-

-call psb_abort(icontxt)
-
- -

-This subroutine aborts computation on the parallel virtual machine. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-


- - - diff --git a/docs/html/node111.html b/docs/html/node111.html deleted file mode 100644 index febe6db2..00000000 --- a/docs/html/node111.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - -psb_bcast -- Broadcast data - - - - - - - - - - - - - - - - - - - - - -

-psb_bcast -- Broadcast data -

- -

-

-call psb_bcast(icontxt, dat, root)
-
- -

-This subroutine implements a broadcast operation based on the -underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
On the root process, the data to be broadcast. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical variable, -which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Root process holding data to be broadcast. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$0<= root <= np-1$, default 0
-
- -

-

-
On Return
-
-
-
dat
-
On processes other than root, the data to be broadcast. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank and size must agree on all processes. -
-
- -

-


- - - diff --git a/docs/html/node112.html b/docs/html/node112.html deleted file mode 100644 index 7038a6b6..00000000 --- a/docs/html/node112.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -psb_sum -- Global sum - - - - - - - - - - - - - - - - - - - - - -

-psb_sum -- Global sum -

- -

-

-call psb_sum(icontxt, dat, root)
-
- -

-This subroutine implements a sum reduction operation based on the -underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global sum. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final sum, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1.
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the sum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node113.html b/docs/html/node113.html deleted file mode 100644 index f1e003d0..00000000 --- a/docs/html/node113.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - -psb_max -- Global maximum - - - - - - - - - - - - - - - - - - - - - -

-psb_max -- Global maximum -

- -

-

-call psb_max(icontxt, dat, root)
-
- -

-This subroutine implements a maximum valuereduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global maximum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final maximum, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the maximum operation. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node114.html b/docs/html/node114.html deleted file mode 100644 index 15ca157e..00000000 --- a/docs/html/node114.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -psb_min -- Global minimum - - - - - - - - - - - - - - - - - - - - - -

-psb_min -- Global minimum -

- -

-

-call psb_min(icontxt, dat, root)
-
- -

-This subroutine implements a minimum value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the minimum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node115.html b/docs/html/node115.html deleted file mode 100644 index afa24b62..00000000 --- a/docs/html/node115.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - -psb_amx -- Global maximum absolute value - - - - - - - - - - - - - - - - - - - - - -

-psb_amx -- Global maximum absolute value -

- -

-

-call psb_amx(icontxt, dat, root)
-
- -

-This subroutine implements a maximum absolute value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global maximum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the maximum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node116.html b/docs/html/node116.html deleted file mode 100644 index 6ed39834..00000000 --- a/docs/html/node116.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -psb_amn -- Global minimum absolute value - - - - - - - - - - - - - - - - - - - - - -

-psb_amn -- Global minimum absolute value -

- -

-

-call psb_amn(icontxt, dat, root)
-
- -

-This subroutine implements a minimum absolute value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the minimum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node117.html b/docs/html/node117.html deleted file mode 100644 index 765c6835..00000000 --- a/docs/html/node117.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - -psb_nrm2 -- Global 2-norm reduction - - - - - - - - - - - - - - - - - - - - - -

-psb_nrm2 -- Global 2-norm reduction -

- -

-

-call psb_nrm2(icontxt, dat, root)
-
- -

-This subroutine implements a 2-norm value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a real variable, which may be a -scalar, or a rank 1 array. Kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the 2-norm reduction. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: a real variable, which may be a -scalar, or a rank 1 array. -
-Kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. This reduction is appropriate to compute the results of multiple - (local) NRM2 operations at the same time. -
  2. -
  3. Denoting by $dat_i$ the value of the variable $dat$ on process - $i$, the output $res$ is equivalent to the computation of -

    -
    - - -\begin{displaymath}res = \sqrt{\sum_i dat_i^2},\end{displaymath} -
    -
    -

    -with care taken to avoid unnecessary overflow. -
  4. -
  5. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node118.html b/docs/html/node118.html deleted file mode 100644 index 43baeea3..00000000 --- a/docs/html/node118.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - -psb_snd -- Send data - - - - - - - - - - - - - - - - - - - - - -

-psb_snd -- Send data -

- -

-

-call psb_snd(icontxt, dat, dst, m)
-
- -

-This subroutine sends a packet of data to a destination. -

-
Type:
-
Synchronous: see usage notes. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The data to be sent. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. -
-
dst
-
Destination process. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value -$0<= dst <= np-1$. -
-
m
-
Number of rows. -
-Scope: global. -
-Type: Optional. -
-Intent: in. -
-Specified as: an integer value -$0<= m <= size(dat,1)$. -
-When $dat$ is a rank 2 array, specifies the number of rows to be sent -independently of the leading dimension $size(dat,1)$; must have the -same value on sending and receiving processes. -
-
- -

-

-
On Return
-
-
-
- -

-Notes - -

    -
  1. This subroutine implies a synchronization, but only between the - calling process and the destination process $dst$. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node119.html b/docs/html/node119.html deleted file mode 100644 index 2d94be94..00000000 --- a/docs/html/node119.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -psb_rcv -- Receive data - - - - - - - - - - - - - - - - - - - - -

-psb_rcv -- Receive data -

- -

-

-call psb_rcv(icontxt, dat, src, m)
-
- -

-This subroutine receives a packet of data to a destination. -

-
Type:
-
Synchronous: see usage notes. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
src
-
Source process. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value -$0<= src <= np-1$. -
-
m
-
Number of rows. -
-Scope: global. -
-Type: Optional. -
-Intent: in. -
-Specified as: an integer value -$0<= m <= size(dat,1)$. -
-When $dat$ is a rank 2 array, specifies the number of rows to be sent -independently of the leading dimension $size(dat,1)$; must have the -same value on sending and receiving processes. -
-
- -

-

-
On Return
-
-
-
dat
-
The data to be received. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. -
-
- -

-Notes - -

    -
  1. This subroutine implies a synchronization, but only between the - calling process and the source process $src$. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node12.html b/docs/html/node12.html deleted file mode 100644 index 019a46a1..00000000 --- a/docs/html/node12.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -get_local_rows -- Get number of local rows - - - - - - - - - - - - - - - - - - - - - -

-get_local_rows -- Get number of local rows -

- -

-

-nr = desc%get_local_rows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of local rows, i.e. the number of - rows owned by the current process; as explained in 1, - it is equal to -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$. The returned value is - specific to the calling process. -
-
- -

-


- - - diff --git a/docs/html/node120.html b/docs/html/node120.html deleted file mode 100644 index 21a186b7..00000000 --- a/docs/html/node120.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - -Error handling - - - - - - - - - - - - - - - - - - - - - -

-Error handling -

- -

-The PSBLAS library error handling policy has been completely rewritten -in version 2.0. The idea behind the design of this new error handling -strategy is to keep error messages on a stack allowing the user to -trace back up to the point where the first error message has been -generated. Every routine in the PSBLAS-2.0 library has, as last -non-optional argument, an integer info variable; whenever, -inside the routine, an error is detected, this variable is set to a -value corresponding to a specific error code. Then this error code is -also pushed on the error stack and then either control is returned to -the caller routine or the execution is aborted, depending on the users -choice. At the time when the execution is aborted, an error message is -printed on standard output with a level of verbosity than can be -chosen by the user. If the execution is not aborted, then, the caller -routine checks the value returned in the info variable and, if -not zero, an error condition is raised. This process continues on all the -levels of nested calls until the level where the user decides to abort -the program execution. - -

-Figure 9 shows the layout of a generic psb_foo -routine with respect to the PSBLAS-2.0 error handling policy. It is -possible to see how, whenever an error condition is detected, the -info variable is set to the corresponding error code which is, -then, pushed on top of the stack by means of the -psb_errpush. An error condition may be directly detected inside -a routine or indirectly checking the error code returned returned by a -called routine. Whenever an error is encountered, after it has been -pushed on stack, the program execution skips to a point where the -error condition is handled; the error condition is handled either by -returning control to the caller routine or by calling the -psb\_error routine which prints the content of the error stack -and aborts the program execution, according to the choice made by the -user with psb_set_erraction. The default is to print the error -and terminate the program, but the user may choose to handle the error -explicitly. - -

- -

- - - -
Figure 9: -The layout of a generic psb_foo - routine with respect to PSBLAS-2.0 error handling policy.
-
- -
- -\fbox{\TheSbox} -
-
- -

-Figure 10 reports a sample error message generated by -the PSBLAS-2.0 library. This error has been generated by the fact that -the user has chosen the invalid “FOO” storage format to represent -the sparse matrix. From this error message it is possible to see that -the error has been detected inside the psb_cest subroutine -called by psb_spasb ... by process 0 (i.e. the root process). - -

- -

- - - -
Figure 10: -A sample PSBLAS-2.0 error - message. Process 0 detected an error condition inside the psb_cest subroutine
-
- -
- -\fbox{\TheSbox} -
-
- -

-ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error - stack - -

-
-\begin{lstlisting}
-call psb_errpush(err_c, r_name, i_err, a_err)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
err_c
-
the error code -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an integer. -
-
r_name
-
the soutine where the error has been caught. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a string. -
-
i_err
-
addional info for error code -
-Scope: local -
-Type: optional -
-Specified as: an integer array -
-
a_err
-
addional info for error code -
-Scope: local -
-Type: optional -
-Specified as: a string. -
-
- -

-ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts - execution - -

-
-\begin{lstlisting}
-call psb_error(icontxt)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer. -
-
- -

-ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error - messages. - -

-
-\begin{lstlisting}
-call psb_set_errverbosity(v)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the verbosity level -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: an integer. -
-
- -

-ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be - taken upon error condition. - -

-
-\begin{lstlisting}
-call psb_set_erraction(err_act)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
err_act
-
the type of action. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: an integer. Possible values: psb_act_ret, -psb_act_abort. -
-
- -

- -

- - - - diff --git a/docs/html/node121.html b/docs/html/node121.html deleted file mode 100644 index 384e43c7..00000000 --- a/docs/html/node121.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -Utilities - - - - - - - - - - - - - - - - - - - - - -

- -
-Utilities -

- -

-We have some utilities available for input and output of -sparse matrices; the interfaces to these routines are available in the -module psb_util_mod. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node122.html b/docs/html/node122.html deleted file mode 100644 index b3438b33..00000000 --- a/docs/html/node122.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format - - - - - - - - - - - - - - - - - - - - - -

- hb_read -- Read a sparse matrix from a file in the - Harwell-Boeing format -

- -

-
-\begin{lstlisting}
-call hb_read(a, iret, iunit, filename, b, mtitle)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
a
-
the sparse matrix read from file. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
b
-
Rigth hand side(s). -
-Type: Optional -
-An array of type real or complex, rank 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
-
mtitle
-
Matrix title. -
-Type: Optional -
-A charachter variable of length 72 holding a copy of the -matrix title as specified by the Harwell-Boeing format and contained -in the input file. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node123.html b/docs/html/node123.html deleted file mode 100644 index f8e65c33..00000000 --- a/docs/html/node123.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - -hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format - - - - - - - - - - - - - - - - - - - - - -

-hb_write -- Write a sparse matrix to a file - in the Harwell-Boeing format -

- -

-
-\begin{lstlisting}
-call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix to be written. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
b
-
Rigth hand side. -
-Type: Optional -
-An array of type real or complex, rank 1 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side. -
-
filename
-
The name of the file to be written to. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
key
-
Matrix key. -
-Type: Optional -
-A charachter variable of length 8 holding the -matrix key as specified by the Harwell-Boeing format and to be -written to file. -
-
mtitle
-
Matrix title. -
-Type: Optional -
-A charachter variable of length 72 holding the -matrix title as specified by the Harwell-Boeing format and to be -written to file. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node124.html b/docs/html/node124.html deleted file mode 100644 index f1307a9d..00000000 --- a/docs/html/node124.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_mat_read -- Read a sparse matrix from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_mat_read(a, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
a
-
the sparse matrix read from file. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node125.html b/docs/html/node125.html deleted file mode 100644 index 07ecfc91..00000000 --- a/docs/html/node125.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -mm_array_read -- Read a dense array from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_array_read -- Read a dense array from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_array_read(b, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
b
-
Rigth hand side(s). -
-Type: required -
-An array of type real or complex, rank 1 or 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node126.html b/docs/html/node126.html deleted file mode 100644 index 6f5c409c..00000000 --- a/docs/html/node126.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_mat_write -- Write a sparse matrix to a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_mat_write(a, mtitle, iret, iunit, filename)
-\end{lstlisting} -
-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix to be written. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
mtitle
-
Matrix title. -
-Type: required -
-A charachter variable holding a descriptive title for the matrix to be - written to file. -
-
filename
-
The name of the file to be written to. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node127.html b/docs/html/node127.html deleted file mode 100644 index 2f598cdf..00000000 --- a/docs/html/node127.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -mm_array_write -- Write a dense array from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - -

-mm_array_write -- Write a dense array from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_array_write(b, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
b
-
Rigth hand side(s). -
-Type: required -
-An array of type real or complex, rank 1 or 2; will be written..
-
filename
-
The name of the file to be written. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node128.html b/docs/html/node128.html deleted file mode 100644 index 06233ef9..00000000 --- a/docs/html/node128.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -Preconditioner routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Preconditioner routines -

- -

-The base PSBLAS library contains the implementation of two simple -preconditioning techniques: - -

    -
  • Diagonal Scaling -
  • -
  • Block Jacobi with ILU(0) factorization -
  • -
-The supporting data type and subroutine interfaces are defined in the -module psb_prec_mod. -The old interfaces psb_precinit and psb_precbld are still supported for -backward compatibility - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node129.html b/docs/html/node129.html deleted file mode 100644 index 0ff25da7..00000000 --- a/docs/html/node129.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -init -- Initialize a preconditioner - - - - - - - - - - - - - - - - - - - - - -

-init -- Initialize a preconditioner -

- -

-

-call prec%init(icontxt,ptype, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
ptype
-
the type of preconditioner. -Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a character string, see usage notes. -
-
On Exit
-

-

-
prec
-
Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
info
-
Scope: global -
-Type: required -
-Intent: out. -
-Error code: if no error, 0 is returned. -
-
-Notes -Legal inputs to this subroutine are interpreted depending on the -$ptype$ string as follows4: -
-
NONE
-
No preconditioning, i.e. the preconditioner is just a copy - operator. -
-
DIAG
-
Diagonal scaling; each entry of the input vector is - multiplied by the reciprocal of the sum of the absolute values of - the coefficients in the corresponding row of matrix $A$; -
-
BJAC
-
Precondition by a factorization of the - block-diagonal of matrix $A$, where block boundaries are determined - by the data allocation boundaries for each process; requires no - communication. Only the incomplete factorization $ILU(0)$ is - currently implemented. -
-
- -

-


- - - diff --git a/docs/html/node13.html b/docs/html/node13.html deleted file mode 100644 index bbbcaa1b..00000000 --- a/docs/html/node13.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -get_local_cols -- Get number of local cols - - - - - - - - - - - - - - - - - - - - - -

-get_local_cols -- Get number of local cols -

- -

-

-nc = desc%get_local_cols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of local cols, i.e. the number of - indices used by the current process, including both local and halo - indices; as explained in 1, - it is equal to -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$. The - returned value is specific to the calling process. -
-
- -

-


- - - diff --git a/docs/html/node130.html b/docs/html/node130.html deleted file mode 100644 index 532b6c53..00000000 --- a/docs/html/node130.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -build -- Builds a preconditioner - - - - - - - - - - - - - - - - - - - - - -

-build -- Builds a preconditioner -

- -

-

-call prec%build(a, desc_a, info[,amold,vmold,imold])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the system sparse matrix. -Scope: local -
-Type: required -
-Intent: in, target. -
-Specified as: a sparse matrix data structure spdatapsb_Tspmat_type. -
-
prec
-
the preconditioner. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an already initialized precondtioner data structure precdatapsb_prec_type -
-
desc_a
-
the problem communication descriptor. -Scope: local -
-Type: required -
-Intent: in, target. -
-Specified as: a communication descriptor data structure descdatapsb_desc_type. -
-
amold
-
The desired dynamic type for the internal matrix storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. -
-
vmold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type. -
-
imold
-
The desired dynamic type for the internal integer vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from (integer) vbasedatapsb_T_base_vect_type. -
-
- -

-

-
On Return
-
-
-
prec
-
the preconditioner. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a precondtioner data structure precdatapsb_prec_type -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-The amold, vmold and imold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

- -

- - - - diff --git a/docs/html/node131.html b/docs/html/node131.html deleted file mode 100644 index 289b69ab..00000000 --- a/docs/html/node131.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - -apply -- Preconditioner application routine - - - - - - - - - - - - - - - - - - - - - -

-apply -- Preconditioner application - routine -

- -

-

-call prec%apply(x,y,desc_a,info,trans,work)
-call prec%apply(x,desc_a,info,trans)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
x
-
the source vector. -Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
desc_a
-
the problem communication descriptor. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a communication data structure descdatapsb_desc_type. -
-
trans
-
Scope: -
-Type: optional -
-Intent: in. -
-Specified as: a character. -
-
work
-
an optional work space -Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a double precision array. -
-
- -

-

-
On Return
-
-
-
y
-
the destination vector. -Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node132.html b/docs/html/node132.html deleted file mode 100644 index 6244d986..00000000 --- a/docs/html/node132.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -descr -- Prints a description of current preconditioner - - - - - - - - - - - - - - - - - - - - - -

-descr -- Prints a description of current - preconditioner -

- -

-

-call prec%descr()
-call prec%descr(iout, root)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
iout
-
output unit. -Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: an integer number. Default: default output unit. -
-
root
-
Process from which to print -Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: an integer number between 0 and $np-1$, in which case -the specified process will print the description, or $-1$, in which case -all processes will print. Default: 0. -
-
- -

-


- - - diff --git a/docs/html/node133.html b/docs/html/node133.html deleted file mode 100644 index fadd4e4b..00000000 --- a/docs/html/node133.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -clone -- clone current preconditioner - - - - - - - - - - - - - - - - - - - - - -

-clone -- clone current - preconditioner -

- -
-call  prec%clone(precout,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
precout
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node134.html b/docs/html/node134.html deleted file mode 100644 index c98f860c..00000000 --- a/docs/html/node134.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - -free -- Free a preconditioner - - - - - - - - - - - - - - - - - - - - -

-free -- Free a preconditioner -

- -

-

-call prec%free(info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -
-Scope: local. -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
On Exit
-

-

-
prec
-
Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
info
-
Scope: global -
-Type: required -
-Intent: out. -
-Error code: if no error, 0 is returned. -
-
-Notes -Releases all internal storage. - -

-


- - - diff --git a/docs/html/node135.html b/docs/html/node135.html deleted file mode 100644 index 9dda9479..00000000 --- a/docs/html/node135.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - -Iterative Methods - - - - - - - - - - - - - - - - - - - - - -

- -
-Iterative Methods -

- -

-In this chapter we provide routines for preconditioners and iterative -methods. The interfaces for Krylov subspace methods are available in -the module psb_krylov_mod. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node136.html b/docs/html/node136.html deleted file mode 100644 index 1899d05d..00000000 --- a/docs/html/node136.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - -psb_krylov -- Krylov Methods Driver Routine - - - - - - - - - - - - - - - - - - - - -

-
-psb_krylov -- Krylov Methods Driver - Routine -

- -

-This subroutine is a driver that provides a general interface for all -the Krylov-Subspace family methods implemented in PSBLAS version 2. - -

-The stopping criterion can take the following values: -

-
1
-
normwise backward error in the infinity -norm; the iteration is stopped when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath} -
-
-

-
-
2
-
Relative residual in the 2-norm; the iteration is stopped -when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath} -
-
-

-
-
3
-
Relative residual reduction in the 2-norm; the iteration is stopped -when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert r_0\Vert _2} < eps \end{displaymath} -
-
-

-
-
-The behaviour is controlled by the istop argument (see -later). In the above formulae, $x_i$ is the tentative solution and -$r_i=b-Ax_i$ the corresponding residual at the $i$-th iteration. - -

-
-\begin{lstlisting}
-call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
-& itmax,iter,err,itrace,irst,istop,cond)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
method
-
a string that defines the iterative method to be - used. Supported values are: -
-
CG:
-
the Conjugate Gradient method; - -
-
CGS:
-
the Conjugate Gradient Stabilized method; - -

-

-
GCR:
-
the Generalized Conjugate Residual method; - -
-
FCG:
-
the Flexible Conjugate Gradient method5; - -

-

-
BICG:
-
the Bi-Conjugate Gradient method; - -
-
BICGSTAB:
-
the Bi-Conjugate Gradient Stabilized method; - -
-
BICGSTABL:
-
the Bi-Conjugate Gradient Stabilized method with restarting; - -
-
RGMRES:
-
the Generalized Minimal Residual method with restarting. - -
-
-
-
a
-
the local portion of global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
prec
-
The data structure containing the preconditioner. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type precdatapsb_prec_type. -
-
b
-
The RHS vector. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
x
-
The initial guess. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
eps
-
The stopping tolerance. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a real number. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
itmax
-
The maximum number of iterations to perform. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $itmax = 1000$. -
-Specified as: an integer variable $itmax \ge 1$. -
-
itrace
-
If $>0$ print out an informational message about - convergence every $itrace$ iterations. If $=0$ print a message in - case of convergence failure. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $itrace = -1$. -
-
irst
-
An integer specifying the restart parameter. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Values: $irst>0$. This is employed for the BiCGSTABL or RGMRES -methods, otherwise it is ignored. - -

-

-
istop
-
An integer specifying the stopping criterion. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Values: 1: use the normwise backward error, 2: use the scaled 2-norm -of the residual, 3: use the residual reduction in the 2-norm. Default: 2. -
-
On Return
-
-
-
x
-
The computed solution. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
iter
-
The number of iterations performed. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: an integer variable. -
-
err
-
The convergence estimate on exit. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: a real number. -
-
cond
-
An estimate of the condition number of matrix $A$; only - available with the $CG$ method on real data. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: a real number. A correct result will be greater than or -equal to one; if specified for non-real data, or an error occurred, -zero is returned. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- -

- -

- -

- - - - diff --git a/docs/html/node137.html b/docs/html/node137.html deleted file mode 100644 index 4717ee2d..00000000 --- a/docs/html/node137.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - -Bibliography - - - - - - - - - - - - - - - - - - - - - -

-Bibliography -

1 -
- D. Barbieri, V. Cardellini, S. Filippone and D. Rouson -Design Patterns for Scientific Computations on Sparse Matrices, - HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 - -

-

2 -
-G. Bella, S. Filippone, A. De Maio and M. Testa, -A Simulation Model for Forest Fires, -in J. Dongarra, K. Madsen, J. Wasniewski, editors, -Proceedings of PARA 04 Workshop on State of the Art -in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, -Springer, 2005. -

3 -
A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
-2LEV-D2P4: a package of high-performance preconditioners,
-Applicable Algebra in Engineering, Communications and Computing, -Volume 18, Number 3, May, 2007, pp. 223-239 -

4 -
P. D'Ambra, S. Filippone, D. Di Serafino
-On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners -
-Applied Numerical Mathematics, Elsevier Science, -Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. - -

-

5 -
- Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., -An Extended Set of Fortran Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 14, 1-17, 1988. -

6 -
- Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., -A Set of level 3 Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 16, 1-17, 1990. -

7 -
-J. J. Dongarra and R. C. Whaley, -A User's Guide to the BLACS v. 1.1, -Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of -Tennessee, March 1995 (updated May 1997). -

8 -
-I. Duff, M. Marrone, G. Radicati and C. Vittoli, -Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: -a User Level Interface, -ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. -

9 -
-I. Duff, M. Heroux and R. Pozo, -An Overview of the Sparse Basic Linear -Algebra Subprograms: the New Standard from the BLAS Technical Forum, -ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. -

10 -
-S. Filippone and M. Colajanni, -PSBLAS: A Library for Parallel Linear Algebra -Computation on Sparse Matrices, -
-ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. -

11 -
-S. Filippone and A. Buttari, -Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003, -
-ACM Transactions on Mathematical Software, 38(4), 2012. -

12 -
-S. Filippone, P. D'Ambra, M. Colajanni, -Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics -Applications Code on Linux Clusters, -in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, -Parallel Computing - Advances & Current Issues, -pp. 441-448, Imperial College Press, 2002. -

13 -
- Gamma, E., Helm, R., Johnson, R., and Vlissides, - J. 1995. - Design Patterns: Elements of Reusable Object-Oriented Software. - Addison-Wesley. - -

-

14 -
-Karypis, G. and Kumar, V., -METIS: Unstructured Graph Partitioning and Sparse Matrix - Ordering System. -Minneapolis, MN 55455: University of Minnesota, Department of - Computer Science, 1995. -Internet Address: http://www.cs.umn.edu/~karypis. -

15 -
-Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., - Basic Linear Algebra Subprograms for Fortran usage, -ACM Trans. Math. Softw. vol. 5, 38-329, 1979. - -

-

16 -
-Machiels, L. and Deville, M. -Fortran 90: An entry to object-oriented programming for the solution - of partial differential equations. -ACM Trans. Math. Softw. vol. 23, 32-49. -

17 -
-Metcalf, M., Reid, J. and Cohen, M. -Fortran 95/2003 explained. -Oxford University Press, 2004. -

18 -
-Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The - Object-Oriented Way. Cambridge University Press (2011) - -

-

19 -
-M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, -MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, -MIT Press, 1998. -
- -

-


- - - diff --git a/docs/html/node138.html b/docs/html/node138.html deleted file mode 100644 index 6fd05bf8..00000000 --- a/docs/html/node138.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -About this document ... - - - - - - - - - - - - - - - - - - - -

-About this document ... -

-

-This document was generated using the -LaTeX2HTML translator Version 2018 (Released Feb 1, 2018) -

-Copyright © 1993, 1994, 1995, 1996, -Nikos Drakos, -Computer Based Learning Unit, University of Leeds. -
-Copyright © 1997, 1998, 1999, -Ross Moore, -Mathematics Department, Macquarie University, Sydney. -

-The command line arguments were:
- latex2html -local_icons -noaddress -dir ../../html userhtml.tex -

-The translation was initiated on 2019-11-21 -


- - - diff --git a/docs/html/node14.html b/docs/html/node14.html deleted file mode 100644 index 914b0e58..00000000 --- a/docs/html/node14.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_global_rows -- Get number of global rows - - - - - - - - - - - - - - - - - - - - - -

-get_global_rows -- Get number of global rows -

- -

-

-nr = desc%get_global_rows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of global rows, i.e. the size of the - global index space. -
-
- -

-


- - - diff --git a/docs/html/node15.html b/docs/html/node15.html deleted file mode 100644 index 0f9aa78a..00000000 --- a/docs/html/node15.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_global_cols -- Get number of global cols - - - - - - - - - - - - - - - - - - - - - -

-get_global_cols -- Get number of global cols -

- -

-

-nr = desc%get_global_cols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of global cols; usually this is equal - to the number of global rows. -
-
- -

-


- - - diff --git a/docs/html/node16.html b/docs/html/node16.html deleted file mode 100644 index e938a3c2..00000000 --- a/docs/html/node16.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -get_global_indices -- Get vector of global indices - - - - - - - - - - - - - - - - - - - - - -

-get_global_indices -- Get vector of global indices -

- -

-

-myidx = desc%get_global_indices([owned])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-Type: required. -
-
owned
-
Choose if you only want owned indices - (owned=.true.) or also halo indices (owned=.false.). -Scope: local. -
-Type: optional; default: .true.. -
-
- -

-

-
On Return
-
-
-
Function value
-
The global indices, returned as an allocatable - integer array of rank 1. -
-
- -

-


- - - diff --git a/docs/html/node17.html b/docs/html/node17.html deleted file mode 100644 index 80c4cf41..00000000 --- a/docs/html/node17.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_context -- Get communication context - - - - - - - - - - - - - - - - - - - - - -

-get_context -- Get communication context -

- -

-

-ictxt = desc%get_context()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The communication context. -
-
- -

-


- - - diff --git a/docs/html/node18.html b/docs/html/node18.html deleted file mode 100644 index 422ddc25..00000000 --- a/docs/html/node18.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -Clone -- clone current object - - - - - - - - - - - - - - - - - - - - - -

-Clone -- clone current object -

- -

-

-call  desc%clone(descout,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
descout
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node19.html b/docs/html/node19.html deleted file mode 100644 index af94fa1c..00000000 --- a/docs/html/node19.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -CNV -- convert internal storage format - - - - - - - - - - - - - - - - - - - - - -

-CNV -- convert internal storage format -

- -

-

-call  desc%cnv(mold)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
mold
-
the desred integer storage format. -
-Scope: local. -
-Specified as: a object of type derived from (integer) vbasedatapsb_T_base_vect_type. -
-
-The mold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

-


- - - diff --git a/docs/html/node2.html b/docs/html/node2.html deleted file mode 100644 index cc966d25..00000000 --- a/docs/html/node2.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - -Introduction - - - - - - - - - - - - - - - - - - - - - -

-
-Introduction -

- -

-The PSBLAS library, developed with the aim to facilitate the -parallelization of computationally intensive scientific applications, -is designed to address parallel implementation of iterative solvers -for sparse linear systems through the distributed memory paradigm. It -includes routines for multiplying sparse matrices by dense matrices, -solving block diagonal systems with triangular diagonal entries, -preprocessing sparse matrices, and contains additional routines for -dense matrix operations. The current implementation of PSBLAS -addresses a distributed memory execution model operating with message -passing. - -

-The PSBLAS library version 3 is implemented in - the Fortran 2003 [17] programming language, with reuse and/or - adaptation of existing Fortran 77 and Fortran 95 software, plus a - handful of C routines. - -

-The use of Fortran 2003 offers a number of advantages over Fortran 95, -mostly in the handling of requirements for evolution and adaptation of -the library to new computing architectures and integration of -new algorithms. -For a detailed discussion of our design see [11]; other -works discussing advanced programming in Fortran 2003 -include [1,18]; sufficient support for -Fortran 2003 is now available from many compilers, including the GNU -Fortran compiler from the Free Software Foundation (as of version 4.8). - -

-Previous approaches have been based on mixing Fortran 95, with its -support for object-based design, with other languages; these have -been advocated by a number of authors, -e.g. [16]. Moreover, the Fortran 95 facilities for dynamic -memory management and interface overloading greatly enhance the -usability of the PSBLAS -subroutines. In this way, the library can take care of runtime memory -requirements that are quite difficult or even impossible to predict at -implementation or compilation time. - -

-The presentation of the -PSBLAS library follows the general structure of the proposal for -serial Sparse BLAS [8,9], which in its turn is based on the -proposal for BLAS on dense matrices [15,5,6]. - -

-The applicability of sparse iterative solvers to many different areas -causes some terminology problems because the same concept may be -denoted through different names depending on the application area. The -PSBLAS features presented in this document will be discussed referring -to a finite difference discretization of a Partial Differential -Equation (PDE). However, the scope of the library is wider than -that: for example, it can be applied to finite element discretizations -of PDEs, and even to different classes of problems such as nonlinear -optimization, for example in optimal control problems. - -

-The design of a solver for sparse linear systems is driven by many -conflicting objectives, such as limiting occupation of storage -resources, exploiting regularities in the input data, exploiting -hardware characteristics of the parallel platform. To achieve an -optimal communication to computation ratio on distributed memory -machines it is essential to keep the data locality as high as -possible; this can be done through an appropriate data allocation -strategy. The choice of the preconditioner is another very important -factor that affects efficiency of the implemented application. Optimal -data distribution requirements for a given preconditioner may conflict -with distribution requirements of the rest of the solver. Finding the -optimal trade-off may be very difficult because it is application -dependent. Possible solutions to these problems and other important -inputs to the development of the PSBLAS software package have come from -an established experience in applying the PSBLAS solvers to -computational fluid dynamics applications. - -

- -

- - - - diff --git a/docs/html/node20.html b/docs/html/node20.html deleted file mode 100644 index f5816c70..00000000 --- a/docs/html/node20.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -psb_cd_get_large_threshold -- Get threshold for index mapping switch - - - - - - - - - - - - - - - - - - - - - -

-psb_cd_get_large_threshold -- Get threshold for - index mapping switch -

- -

-

-ith = psb_cd_get_large_threshold()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Return
-
-
-
Function value
-
The current value for the size threshold. - -

-

-
- -

-


- - - diff --git a/docs/html/node21.html b/docs/html/node21.html deleted file mode 100644 index 2e6a31b6..00000000 --- a/docs/html/node21.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -psb_cd_set_large_threshold -- Set threshold for index mapping switch - - - - - - - - - - - - - - - - - - - - - -

-psb_cd_set_large_threshold -- Set threshold for - index mapping switch -

- -

-

-call psb_cd_set_large_threshold(ith)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
ith
-
the new threshold for communication descriptors. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value greater than zero. -
-
-Note: the threshold value is only queried by the library at the time a -call to psb_cdall is executed, therefore changing the threshold -has no effect on communication descriptors that have already been -initialized. Moreover the threshold must have the same value on all -processes. - -

-


- - - diff --git a/docs/html/node22.html b/docs/html/node22.html deleted file mode 100644 index 2f9f2a6a..00000000 --- a/docs/html/node22.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -Named Constants - - - - - - - - - - - - - - - - - - - - -

- -
-Named Constants -

-
-
psb_none_
-
Generic no-op; -
-
psb_root_
-
Default root process for broadcast and scatter operations; -
-
psb_nohalo_
-
Do not fetch halo elements; -
-
psb_halo_
-
Fetch halo elements from neighbouring processes; -
-
psb_sum_
-
Sum overlapped elements -
-
psb_avg_
-
Average overlapped elements -
-
psb_comm_halo_
-
Exchange data based on the halo_index - list; -
-
psb_comm_ext_
-
Exchange data based on the ext_index - list; -
-
psb_comm_ovr_
-
Exchange data based on the ovrlap_index - list; -
-
psb_comm_mov_
-
Exchange data based on the ovr_mst_idx - list; - -

-

-
- -

-


- - - diff --git a/docs/html/node23.html b/docs/html/node23.html deleted file mode 100644 index 1105c101..00000000 --- a/docs/html/node23.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - -Sparse Matrix class - - - - - - - - - - - - - - - - - - - - - -

- -
-Sparse Matrix class -

-The spdatapsb_Tspmat_type class -contains all information about the local portion of the sparse matrix and -its storage mode. Its design is -based on the STATE design pattern [13] as detailed -in [11]; the type declaration is shown in -figure 4 where T is a placeholder for the -data type and precision variants -
-
S
-
Single precision real; -
-
D
-
Double precision real; -
-
C
-
Single precision complex; -
-
Z
-
Double precision complex. -
-
-The actual data is contained in the polymorphic component a%a -of type spbasedatapsb_T_base_sparse_mat; its -specific layout can be chosen dynamically among the predefined types, -or an entirely new storage layout can be implemented and passed to the -library at runtime via the psb_spasb routine. - -
- - - -
Figure 4: - The PSBLAS defined data type that - contains a sparse matrix.
-
- -
-
-  type :: psb_Tspmat_type
-    class(psb_T_base_sparse_mat), allocatable  :: a 
-  end type  psb_Tspmat_type
-
-
-
-
-The following very common formats are precompiled in PSBLAS and thus -are always available: -
-
psb_T_coo_sparse_mat
-
Coordinate storage; -
-
psb_T_csr_sparse_mat
-
Compressed storage by rows; -
-
psb_T_csc_sparse_mat
-
Compressed storage by columns; -
-
-The inner sparse matrix has an associated state, which can take the -following values: -
-
Build:
-
State entered after the first allocation, and before the - first assembly; in this state it is possible to add nonzero entries. -
-
Assembled:
-
State entered after the assembly; computations using - the sparse matrix, such as matrix-vector products, are only possible - in this state; -
-
Update:
-
State entered after a reinitalization; this is used to - handle applications in which the same sparsity pattern is used - multiple times with different coefficients. In this state it is only - possible to enter coefficients for already existing nonzero entries. -
-
-The only storage variant supporting the build state is COO; all other -variants are obtained by conversion to/from it. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node24.html b/docs/html/node24.html deleted file mode 100644 index 95bed484..00000000 --- a/docs/html/node24.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -Sparse Matrix Methods - - - - - - - - - - - - - - - - - - - - - -

-Sparse Matrix Methods -

- -

-


- - - diff --git a/docs/html/node25.html b/docs/html/node25.html deleted file mode 100644 index 89282263..00000000 --- a/docs/html/node25.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_nrows -- Get number of rows in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_nrows -- Get number of rows in a sparse matrix -

- -

-

-nr = a%get_nrows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of rows of sparse matrix a. -
-
- -

-


- - - diff --git a/docs/html/node26.html b/docs/html/node26.html deleted file mode 100644 index b354b89f..00000000 --- a/docs/html/node26.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_ncols -- Get number of columns in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_ncols -- Get number of columns in a sparse - matrix -

- -

-

-nc = a%get_ncols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of columns of sparse matrix a. -
-
- -

-


- - - diff --git a/docs/html/node27.html b/docs/html/node27.html deleted file mode 100644 index 79142d1e..00000000 --- a/docs/html/node27.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - -get_nnzeros -- Get number of nonzero elements in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_nnzeros -- Get number of nonzero elements - in a sparse matrix -

- -

-

-nz = a%get_nnzeros()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of nonzero elements stored in sparse matrix a. -
-
- -

-Notes - -

    -
  1. The function value is specific to the storage format of matrix - a; some storage formats employ padding, thus the returned - value for the same matrix may be different for different storage choices. -
  2. -
- -

-


- - - diff --git a/docs/html/node28.html b/docs/html/node28.html deleted file mode 100644 index 93fa1562..00000000 --- a/docs/html/node28.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -get_size -- Get maximum number of nonzero elements in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_size -- Get maximum number of nonzero elements - in a sparse matrix -

- -

-

-maxnz = a%get_size()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The maximum number of nonzero elements that can - be stored in sparse matrix a using its current memory allocation. -
-
- -

-


- - - diff --git a/docs/html/node29.html b/docs/html/node29.html deleted file mode 100644 index 6543ee2d..00000000 --- a/docs/html/node29.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -sizeof -- Get memory occupation in bytes -of a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-sizeof -- Get memory occupation in bytes -of a sparse matrix -

- -

-

-memory_size = a%sizeof()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The memory occupation in bytes. -
-
- -

-


- - - diff --git a/docs/html/node3.html b/docs/html/node3.html deleted file mode 100644 index 0d4479c1..00000000 --- a/docs/html/node3.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - -General overview - - - - - - - - - - - - - - - - - - - - - -

- -
-General overview -

-The PSBLAS library is designed to handle the implementation of -iterative solvers for sparse linear systems on distributed memory -parallel computers. The system coefficient matrix $A$ must be square; -it may be real or complex, nonsymmetric, and its sparsity pattern -needs not to be symmetric. The serial computation parts are based on -the serial sparse BLAS, so that any extension made to the data -structures of the serial kernels is available to the parallel -version. The overall design and parallelization strategy have been -influenced by the structure of the ScaLAPACK parallel -library. The layered structure of the PSBLAS library -is shown in figure 1; lower layers of the library -indicate an encapsulation relationship with upper layers. The ongoing -discussion focuses on the Fortran 2003 layer immediately below the -application layer. -The serial parts of the computation on each process are executed through -calls to the serial sparse BLAS subroutines. -In a similar way, the inter-process message exchanges are encapsulated -in an applicaiton layer that has been strongly inspired by the Basic -Linear Algebra Communication Subroutines (BLACS) library [7]. -Usually there is no need to deal directly with MPI; however, in some -cases, MPI routines are used directly to improve efficiency. For -further details on our communication layer see Sec. 7. - -

- -

- - - -
Figure 1: -PSBLAS library components hierarchy.
-
-\includegraphics[scale=0.65]{figures/psblas.eps} - -\includegraphics[scale=0.65]{figures/psblas} - -
-
- -

-The type of linear system matrices that we address typically arise in the -numerical solution of PDEs; in such a context, -it is necessary to pay special attention to the -structure of the problem from which the application originates. -The nonzero pattern of a matrix arising from the -discretization of a PDE is influenced by various factors, such as the -shape of the domain, the discretization strategy, and -the equation/unknown ordering. The matrix itself can be interpreted as -the adjacency matrix of the graph associated with the discretization -mesh. - -

-The distribution of the coefficient matrix for the linear system is -based on the “owner computes” rule: -the variable associated to each mesh point is assigned to a process -that will own the corresponding row in the coefficient matrix and -will carry out all related computations. This allocation strategy -is equivalent to a partition of the discretization mesh into sub-domains. -Our library supports any distribution that keeps together -the coefficients of each matrix row; there are no other constraints on -the variable assignment. -This choice is consistent with simple data distributions -such as CYCLIC(N) and BLOCK, -as well as completely arbitrary assignments of -equation indices to processes. -In particular it is consistent with the -usage of graph partitioning tools commonly available in the -literature, e.g. METIS [14]. -Dense vectors conform to sparse -matrices, that is, the entries of a vector follow the same distribution -of the matrix rows. - -

-We assume that the sparse matrix is built in parallel, where each -process generates its own portion. We never require that the entire -matrix be available on a single node. However, it is possible -to hold the entire matrix in one process and distribute it -explicitly1, even though the resulting memory -bottleneck would make this option unattractive in most cases. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node30.html b/docs/html/node30.html deleted file mode 100644 index 6bb1780d..00000000 --- a/docs/html/node30.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -get_fmt -- Short description of the dynamic type - - - - - - - - - - - - - - - - - - - - - -

-get_fmt -- Short description of the dynamic type -

- -

-

-write(*,*) a%get_fmt()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A short string describing the dynamic type of - the matrix. Predefined values include NULL, COO, - CSR and CSC. -
-
- -

-


- - - diff --git a/docs/html/node31.html b/docs/html/node31.html deleted file mode 100644 index 1b942045..00000000 --- a/docs/html/node31.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -is_bld, is_upd, is_asb -- Status check - - - - - - - - - - - - - - - - - - - - - -

-is_bld, is_upd, is_asb -- Status check -

- -

-

-if (a%is_bld()) then 
-if (a%is_upd()) then 
-if (a%is_asb()) then 
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical value indicating whether the - matrix is in the Build, Update or Assembled state, respectively. -
-
- -

-


- - - diff --git a/docs/html/node32.html b/docs/html/node32.html deleted file mode 100644 index a515bd96..00000000 --- a/docs/html/node32.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - -is_lower, is_upper, is_triangle, is_unit -- Format check - - - - - - - - - - - - - - - - - - - - - -

-is_lower, is_upper, is_triangle, is_unit -- - Format check -

- -

-

-if (a%is_triangle()) then 
-if (a%is_upper()) then 
-if (a%is_lower()) then 
-if (a%is_unit()) then 
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical value indicating whether the - matrix is triangular; if is_triangle() returns .true. - check also if it is lower, upper and with a unit (i.e. assumed) - diagonal. -
-
- -

-


- - - diff --git a/docs/html/node33.html b/docs/html/node33.html deleted file mode 100644 index 7d7e9b27..00000000 --- a/docs/html/node33.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -cscnv -- Convert to a different storage format - - - - - - - - - - - - - - - - - - - - - -

-cscnv -- Convert to a different storage format -

- -

-

-call  a%cscnv(b,info [, type, mold, dupl])
-call  a%cscnv(info [, type, mold, dupl])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
type
-
a string requesting a new format. -
-Type: optional. -
-
mold
-
a variable of class(psb_T_base_sparse_mat) requesting a new format. -
-Type: optional. -
-
dupl
-
an integer value specifing how to handle duplicates (see - Named Constants below) -
-
- -

-

-
On Return
-
-
-
b,a
-
A copy of a with a new storage format. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
-The mold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

-


- - - diff --git a/docs/html/node34.html b/docs/html/node34.html deleted file mode 100644 index 79ac9113..00000000 --- a/docs/html/node34.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -csclip -- Reduce to a submatrix - - - - - - - - - - - - - - - - - - - - - -

-csclip -- Reduce to a submatrix -

- -
-    call a%csclip(b,info[,&
-       & imin,imax,jmin,jmax,rscale,cscale])
-
- -

-Returns the submatrix A(imin:imax,jmin:jmax), optionally -rescaling row/col indices to the range -1:imax-imin+1,1:jmax-jmin+1. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
b
-
A copy of a submatrix of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node35.html b/docs/html/node35.html deleted file mode 100644 index 87018a14..00000000 --- a/docs/html/node35.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -clean_zeros -- Eliminate zero coefficients - - - - - - - - - - - - - - - - - - - - - -

-clean_zeros -- Eliminate zero coefficients -

- -
-    call a%clean_zeros(info)
-
- -

-Eliminates zero coefficients in the input matrix. Note that depending -on the internal storage format, there may still be some amount of -zero padding in the output. - -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
a
-
The matrix a without zero coefficients. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node36.html b/docs/html/node36.html deleted file mode 100644 index 542aa3f7..00000000 --- a/docs/html/node36.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -get_diag -- Get main diagonal - - - - - - - - - - - - - - - - - - - - - -

-get_diag -- Get main diagonal -

- -
-    call a%get_diag(d,info)
-
- -

-Returns a copy of the main diagonal. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
d
-
A copy of the main diagonal. -
-A one-dimensional array of the appropriate type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node37.html b/docs/html/node37.html deleted file mode 100644 index 1fc5b6e4..00000000 --- a/docs/html/node37.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -clip_diag -- Cut out main diagonal - - - - - - - - - - - - - - - - - - - - - -

-clip_diag -- Cut out main diagonal -

- -
-    call a%clip_diag(b,info)
-
- -

-Returns a copy of a without the main diagonal. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
b
-
A copy of a without the main diagonal. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node38.html b/docs/html/node38.html deleted file mode 100644 index 7a7e8e5d..00000000 --- a/docs/html/node38.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -tril -- Return the lower triangle - - - - - - - - - - - - - - - - - - - - - -

-tril -- Return the lower triangle -

- -
-    call a%tril(l,info[,&
-       & diag,imin,imax,jmin,jmax,rscale,cscale,u])
-
- -

-Returns the lower triangular part of submatrix -A(imin:imax,jmin:jmax), optionally rescaling row/col indices to -the range 1:imax-imin+1,1:jmax-jmin+1 and returing the -complementary upper triangle. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
diag
-
Include diagonals up to this one; diag=1 means the - first superdiagonal, diag=-1 means the first subdiagonal. -Default 0. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
l
-
A copy of the lower triangle of a. -
-A variable of type psb_Tspmat_type. -
-
u
-
(optional) A copy of the upper triangle of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node39.html b/docs/html/node39.html deleted file mode 100644 index 30ece33f..00000000 --- a/docs/html/node39.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -triu -- Return the upper triangle - - - - - - - - - - - - - - - - - - - - - -

-triu -- Return the upper triangle -

- -
-    call a%triu(u,info[,&
-       & diag,imin,imax,jmin,jmax,rscale,cscale,l])
-
- -

-Returns the upper triangular part of submatrix -A(imin:imax,jmin:jmax), optionally rescaling row/col indices to -the range 1:imax-imin+1,1:jmax-jmin+1, and returing the -complementary lower triangle. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
diag
-
Include diagonals up to this one; diag=1 means the - first superdiagonal, diag=-1 means the first subdiagonal. -Default 0. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
u
-
A copy of the upper triangle of a. -
-A variable of type psb_Tspmat_type. -
-
l
-
(optional) A copy of the lower triangle of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node4.html b/docs/html/node4.html deleted file mode 100644 index 81bbea42..00000000 --- a/docs/html/node4.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - -Basic Nomenclature - - - - - - - - - - - - - - - - - - - - - -

-Basic Nomenclature -

- -

-Our computational model implies that the data allocation on the -parallel distributed memory machine is guided by the structure of the -physical model, and specifically by the discretization mesh of the -PDE. - -

-Each point of the discretization mesh will have (at least) one -associated equation/variable, and therefore one index. We say that -point $i$ depends on point $j$ if the equation for a -variable associated with $i$ contains a term in $j$, or equivalently -if $a_{ij} \ne0$. -After the partition of the discretization mesh into sub-domains -assigned to the parallel processes, -we classify the points of a given sub-domain as following. -

-
Internal.
-
An internal point of - a given domain depends only on points of the -same domain. -If all points of a domain are assigned to one -process, then a computational step (e.g., a -matrix-vector product) of the -equations associated with the internal points requires no data -items from other domains and no communications. - -

-

-
Boundary.
-
A point of -a given domain is a boundary point if it depends on points -belonging to other domains. - -

-

-
Halo.
-
A halo point for a given domain is a point belonging to -another domain such that there is a boundary point which depends -on it. Whenever performing a computational step, such as a -matrix-vector product, the values associated with halo points are -requested from other domains. A boundary point of a given -domain is usually a halo point for some other domain2; therefore -the cardinality of the boundary points set denotes the amount of data - sent to other domains. -
-
Overlap.
-
An overlap point is a boundary point assigned to -multiple domains. Any operation that involves an overlap point -has to be replicated for each assignment. -
-
-Overlap points do not usually exist in the basic data -distributions; however they are a feature of Domain Decomposition -Schwarz preconditioners which are the subject of related research -work [4,3]. - -

-We denote the sets of internal, boundary and halo points for a given -subdomain by $\cal I$, $\cal B$ and $\cal H$. -Each subdomain is assigned to one process; each process usually -owns one subdomain, although the user may choose to assign more than -one subdomain to a process. If each process $i$ owns one -subdomain, the number of rows in the local sparse matrix is - -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$, and the number of local columns -(i.e. those for which there exists at least one non-zero entry in the -local rows) is -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$. - -

- -

- - - -
Figure 2: -Point classfication.
-
-\includegraphics[scale=0.65]{figures/points.eps} - -\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}} - -
-
- -

-This classification of mesh points guides the naming scheme that we -adopted in the library internals and in the data structures. We -explicitly note that “Halo” points are also often called “ghost” -points in the literature. - -

- -

- - - - diff --git a/docs/html/node40.html b/docs/html/node40.html deleted file mode 100644 index aef8c0c1..00000000 --- a/docs/html/node40.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -psb_set_mat_default -- Set default storage format - - - - - - - - - - - - - - - - - - - - - -

-psb_set_mat_default -- Set default storage format -

- -

-

-call  psb_set_mat_default(a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
a variable of class(psb_T_base_sparse_mat) requesting - a new default storage format. -
-Type: required. -
-
- -

-


- - - diff --git a/docs/html/node41.html b/docs/html/node41.html deleted file mode 100644 index 83caf885..00000000 --- a/docs/html/node41.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -clone -- Clone current object - - - - - - - - - - - - - - - - - - - - - -

-clone -- Clone current object -

- -

-

-call  a%clone(b,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
b
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node42.html b/docs/html/node42.html deleted file mode 100644 index 34e452e0..00000000 --- a/docs/html/node42.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -Named Constants - - - - - - - - - - - - - - - - - - - - -

- -
-Named Constants -

-
-
psb_dupl_ovwrt_
-
Duplicate coefficients should be overwritten - (i.e. ignore duplications) -
-
psb_dupl_add_
-
Duplicate coefficients should be added; -
-
psb_dupl_err_
-
Duplicate coefficients should trigger an error conditino -
-
psb_upd_dflt_
-
Default update strategy for matrix coefficients; -
-
psb_upd_srch_
-
Update strategy based on search into the data structure; -
-
psb_upd_perm_
-
Update strategy based on additional - permutation data (see tools routine description). -
-
- -

-


- - - diff --git a/docs/html/node43.html b/docs/html/node43.html deleted file mode 100644 index 096acda1..00000000 --- a/docs/html/node43.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - -Dense Vector Data Structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Dense Vector Data Structure -

-The vdatapsb_T_vect_type data structure -encapsulates the dense vectors in a way similar to sparse matrices, -i.e. including a base type vbasedata psb_T_base_vect_type. -The user will not, in general, access the vector components directly, -but rather via the routines of sec. 6. Among other -simple things, we define here an extraction method that can be used to -get a full copy of the part of the vector stored on the local -process. - -

-The type declaration is shown in -figure 5 where T is a placeholder for the -data type and precision variants -

-
I
-
Integer; -
-
S
-
Single precision real; -
-
D
-
Double precision real; -
-
C
-
Single precision complex; -
-
Z
-
Double precision complex. -
-
-The actual data is contained in the polymorphic component v%v; -the separation between the application and the actual data is -essential for cases where it is necessary to link to data storage made -available elsewhere outside the direct control of the -compiler/application, e.g. data stored in a graphics accelerator's -private memory. - -
- - - -
Figure 5: - The PSBLAS defined data type that - contains a dense vector.
-
- -
-
-  type psb_T_base_vect_type
-    TYPE(KIND_), allocatable :: v(:)
-  end type psb_T_base_vect_type
-
-  type psb_T_vect_type
-    class(psb_T_base_vect_type), allocatable :: v 
-  end type  psb_T_vect_type
-
-
-
-
- -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node44.html b/docs/html/node44.html deleted file mode 100644 index 59a5574b..00000000 --- a/docs/html/node44.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - -Vector Methods - - - - - - - - - - - - - - - - - - - - - -

-Vector Methods -

-

- - - diff --git a/docs/html/node45.html b/docs/html/node45.html deleted file mode 100644 index 41ef895e..00000000 --- a/docs/html/node45.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_nrows -- Get number of rows in a dense vector - - - - - - - - - - - - - - - - - - - - - -

-get_nrows -- Get number of rows in a dense vector -

- -

-

-nr = v%get_nrows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of rows of dense vector v. -
-
- -

-


- - - diff --git a/docs/html/node46.html b/docs/html/node46.html deleted file mode 100644 index 18fa65e1..00000000 --- a/docs/html/node46.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -sizeof -- Get memory occupation in bytes -of a dense vector - - - - - - - - - - - - - - - - - - - - - -

-sizeof -- Get memory occupation in bytes -of a dense vector -

- -

-

-memory_size = v%sizeof()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The memory occupation in bytes. -
-
- -

-


- - - diff --git a/docs/html/node47.html b/docs/html/node47.html deleted file mode 100644 index 2feec7f9..00000000 --- a/docs/html/node47.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -set -- Set contents of the vector - - - - - - - - - - - - - - - - - - - - - -

-set -- Set contents of the vector -

- -

-

- call  v%set(alpha[,first,last])
- call  v%set(vect[,first,last])
- call  v%zero()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
alpha
-
A scalar value. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. - -

-

-
first,last
-
Boundaries for setting in the vector. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified - as: integers. -
-
vect
-
An array -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. -
-
-Note that a call to v%zero() is provided as a shorthand, but -is equivalent to a call to v%set(zero) with the zero -constant having the appropriate type and kind. - -

-

-
On Return
-
-
-
v
-
the dense vector, with updated entries -
-Scope: local -
-
- -

-


- - - diff --git a/docs/html/node48.html b/docs/html/node48.html deleted file mode 100644 index 4bc79826..00000000 --- a/docs/html/node48.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -get_vect -- Get a copy of the vector contents - - - - - - - - - - - - - - - - - - - - - -

-get_vect -- Get a copy of the vector contents -

- -

-

-extv = v%get_vect([n])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
n
-
Size to be returned -
-Scope: local. -
-Type: optional; default: entire vector. -
-

-

-
- -

-

-
On Return
-
-
-
Function value
-
An allocatable array holding a copy of the dense - vector contents. If the argument $n$ is specified, the size of the - returned array equals the minimum between $n$ and the internal size - of the vector, or 0 if $n$ is negative; otherwise, the size of the - array is the same as the internal size of the vector. -
-
- -

-


- - - diff --git a/docs/html/node49.html b/docs/html/node49.html deleted file mode 100644 index 8344bc75..00000000 --- a/docs/html/node49.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -clone -- Clone current object - - - - - - - - - - - - - - - - - - - - -

-clone -- Clone current object -

- -
-call  x%clone(y,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
the dense vector. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
y
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node5.html b/docs/html/node5.html deleted file mode 100644 index f2b0e034..00000000 --- a/docs/html/node5.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -Library contents - - - - - - - - - - - - - - - - - - - - - -

-Library contents -

- -

-The PSBLAS library consists of various classes of subroutines: -

-
Computational routines
-
comprising: - -
    -
  • Sparse matrix by dense matrix product; -
  • -
  • Sparse triangular -systems solution for block diagonal matrices; -
  • -
  • Vector and matrix norms; -
  • -
  • Dense matrix sums; -
  • -
  • Dot products. -
  • -
-
-
Communication routines
-
handling halo and overlap - communications; -
-
Data management and auxiliary routines
-
including: - -
    -
  • Parallel environment management -
  • -
  • Communication descriptors allocation; -
  • -
  • Dense and sparse matrix allocation; -
  • -
  • Dense and sparse matrix build and update; -
  • -
  • Sparse matrix and data distribution preprocessing. -
  • -
-
-
Preconditioner routines
-
-
-
Iterative methods
-
a subset of Krylov subspace iterative - methods -
-
-The following naming scheme has been adopted for all the symbols -internally defined in the PSBLAS software package: - -
    -
  • all symbols (i.e. subroutine names, data types...) are - prefixed by psb_ -
  • -
  • all data type names are suffixed by _type -
  • -
  • all constants are suffixed by _ -
  • -
  • all top-level subroutine names follow the rule psb_xxname where - xx can be either: - -
      -
    • ge: the routine is related to dense data, -
    • -
    • sp: the routine is related to sparse data, -
    • -
    • cd: the routine is related to communication descriptor - (see 3). - -
    • -
    - For example the psb_geins, psb_spins and - psb_cdins perform the same action (see 6) on - dense matrices, sparse matrices and communication descriptors - respectively. - Interface overloading allows the usage of the same subroutine - names for both real and complex data. -
  • -
-In the description of the subroutines, arguments or argument entries -are classified as: -
-
global
-
For input arguments, the value must be the same on all processes - participating in the subroutine call; for output arguments the value - is guaranteed to be the same. -
-
local
-
Each process has its own value(s) independently. -
-
-To finish our general description, we define a version string with the -constant -

-
- - -\begin{displaymath}\verb\vert psb_version_string_\vert\end{displaymath} -
-
-

-whose current value is 3.4.0 - -

- -

- - - - diff --git a/docs/html/node50.html b/docs/html/node50.html deleted file mode 100644 index e61abc77..00000000 --- a/docs/html/node50.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - -Preconditioner data structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Preconditioner data structure -

-Our base library offers support for simple well known preconditioners -like Diagonal Scaling or Block Jacobi with incomplete -factorization ILU(0). - -

-A preconditioner is held in the precdata psb_prec_type data structure reported in -figure 6. The psb_prec_type -data type may contain a simple preconditioning matrix with the -associated communication descriptor.The internal preconditioner is allocated appropriately with the -dynamic type corresponding to the desired preconditioner. - -

- - - -
Figure 6: -The PSBLAS defined data type that contains a preconditioner.
-
- -
-
-  type psb_Tprec_type
-    class(psb_T_base_prec_type), allocatable :: prec
-  end type psb_Tprec_type
-
-
-
- -

-


- - - diff --git a/docs/html/node51.html b/docs/html/node51.html deleted file mode 100644 index 41816dcf..00000000 --- a/docs/html/node51.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -Heap data structure - - - - - - - - - - - - - - - - - - - - -

-Heap data structure -

- -

-Among the tools routines of sec. 6, we have a number -of sorting utilities; the heap sort is implemented in terms of heaps -having the following signatures: -

-
psb_T_heap
-
: a heap containing elements of type T, where T - can be i,s,c,d,z for integer, real and complex data; -
-
psb_T_idx_heap
-
: a heap containing elements of type T, as - above, together with an integer index. -
-
-Given a heap object, the following methods are defined on it: -
-
init
-
Initialize memory; also choose ascending or descending - order; -
-
howmany
-
Current heap occupancy; -
-
insert
-
Add an item (or an item and its index); -
-
get_first
-
Remove and return the first element; -
-
dump
-
Print on file; -
-
free
-
Release memory. -
-
-These objects are used in MLD2P4 to implement the factorization -algorithms. - -

-


- - - diff --git a/docs/html/node52.html b/docs/html/node52.html deleted file mode 100644 index 1d9cf8ca..00000000 --- a/docs/html/node52.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -Computational routines - - - - - - - - - - - - - - - - - - - - - -

-Computational routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node53.html b/docs/html/node53.html deleted file mode 100644 index b3c9a66e..00000000 --- a/docs/html/node53.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - -psb_geaxpby -- General Dense Matrix Sum - - - - - - - - - - - - - - - - - - - - - -

-psb_geaxpby -- General Dense Matrix Sum -

- -

-This subroutine is an interface to the computational kernel for -dense matrix sum: -

-
- - -\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath} -
-
-

- -

-

-call psb_geaxpby(alpha, x, beta, y, desc_a, info)
-
- -

-

-
- - - -
Table 1: -Data types
-
- - - - - - - - - - - - - - - - -
$x$, $y$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_geaxpby
Long Precision Realpsb_geaxpby
Short Precision Complexpsb_geaxpby
Long Precision Complexpsb_geaxpby
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. -
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type -specified in Table 1. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 1. -
-
y
-
the local portion of the global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
- -

-

-
On Return
-
-
-
y
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node54.html b/docs/html/node54.html deleted file mode 100644 index 9ab3fd9c..00000000 --- a/docs/html/node54.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - -psb_gedot -- Dot Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gedot -- Dot Product -

- -

-This function computes dot product between two vectors $x$ and -$y$. -
-If $x$ and $y$ are real vectors -it computes dot-product as: -

-
- - -\begin{displaymath}dot \leftarrow x^T y\end{displaymath} -
-
-

-Else if $x$ and $y$ are complex vectors then it computes dot-product as: -

-
- - -\begin{displaymath}dot \leftarrow x^H y\end{displaymath} -
-
-

- -

-

-psb_gedot(x, y, desc_a, info [,global])
-
-

-
- - - -
Table 2: -Data types
-
- - - - - - - - - - - - - - - - -
$dot$, $x$, $y$Function
Short Precision Realpsb_gedot
Long Precision Realpsb_gedot
Short Precision Complexpsb_gedot
Long Precision Complexpsb_gedot
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of $x$ must be the same of $y$. -
-
y
-
the local portion of global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
-

-

-
On Return
-
-
-
Function value
-
is the dot product of vectors $x$ and $y$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a number of the data type indicated in Table 2. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple dot products at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_gedot(x1,y1,desc_a,info,global=.false.)
-vres(...
-...,y3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node55.html b/docs/html/node55.html deleted file mode 100644 index 1244a8d8..00000000 --- a/docs/html/node55.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - -psb_gedots -- Generalized Dot Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gedots -- Generalized Dot Product -

- -

-This subroutine computes a series of dot products among the columns of -two dense matrices $x$ and $y$: -

-
- - -\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath} -
-
-

-If the matrices are complex, then the -usual convention applies, i.e. the conjugate transpose of $x$ is -used. If $x$ and $y$ are of rank one, then $res$ is a scalar, else it -is a rank one array. - -

-

-call psb_gedots(res, x, y, desc_a, info)
-
-

-
- - - -
Table 3: -Data types
-
- - - - - - - - - - - - - - - - -
$res$, $x$, $y$Subroutine
Short Precision Realpsb_gedots
Long Precision Realpsb_gedots
Short Precision Complexpsb_gedots
Long Precision Complexpsb_gedots
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 3. The rank of $x$ must be the same of $y$. -
-
y
-
the local portion of global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 3. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
res
-
is the dot product of vectors $x$ and $y$. -
-Scope: global -
-Intent: out. -
-Specified as: a number or a rank-one array of the data type indicated -in Table 2. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node56.html b/docs/html/node56.html deleted file mode 100644 index 7f1ecd2b..00000000 --- a/docs/html/node56.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - -psb_normi -- Infinity-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_normi -- Infinity-Norm of Vector -

- -

-This function computes - the infinity-norm of a vector $x$. -
-If $x$ is a real vector -it computes infinity norm as: -

-
- - -\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes the infinity-norm as: -

-
- - -\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath} -
-
-

- -

-

-psb_geamax(x, desc_a, info [,global])
-psb_normi(x, desc_a, info [,global])
-
- -

-

-
- - - -
Table 4: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$amax$$x$Function
Short Precision RealShort Precision Realpsb_geamax
Long Precision RealLong Precision Realpsb_geamax
Short Precision RealShort Precision Complexpsb_geamax
Long Precision RealLong Precision Complexpsb_geamax
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 4. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
- -

-

-
On Return
-
-
-
Function value
-
is the infinity norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_geamax(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_amx(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node57.html b/docs/html/node57.html deleted file mode 100644 index 60bc14e4..00000000 --- a/docs/html/node57.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - -psb_geamaxs -- Generalized Infinity Norm - - - - - - - - - - - - - - - - - - - - - -

-psb_geamaxs -- Generalized Infinity Norm -

- -

-This subroutine computes a series of infinity norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} -
-
-

- -

-

-call psb_geamaxs(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 5: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_geamaxs
Long Precision RealLong Precision Realpsb_geamaxs
Short Precision RealShort Precision Complexpsb_geamaxs
Long Precision RealLong Precision Complexpsb_geamaxs
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 5. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
res
-
is the infinity norm of the columns of $x$. -
-Scope: global -
-Intent: out. -
-Specified as: a number or a rank-one array of long precision real numbers. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node58.html b/docs/html/node58.html deleted file mode 100644 index 489a80f3..00000000 --- a/docs/html/node58.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - -psb_norm1 -- 1-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_norm1 -- 1-Norm of Vector -

- -

-This function computes the 1-norm of a vector $x$. -
-If $x$ is a real vector -it computes 1-norm as: -

-
- - -\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 1-norm as: -

-
- - -\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} -
-
-

- -

-

-psb_geasum(x, desc_a, info [,global])
-psb_norm1(x, desc_a, info [,global])
-
- -

-

-
- - - -
Table 6: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$asum$$x$Function
Short Precision RealShort Precision Realpsb_geasum
Long Precision RealLong Precision Realpsb_geasum
Short Precision RealShort Precision Complexpsb_geasum
Long Precision RealLong Precision Complexpsb_geasum
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 6. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
-

-

-
On Return
-
-
-
Function value
-
is the 1-norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_geasum(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node59.html b/docs/html/node59.html deleted file mode 100644 index bed7c250..00000000 --- a/docs/html/node59.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - -psb_geasums -- Generalized 1-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_geasums -- Generalized 1-Norm of Vector -

- -

-This subroutine computes a series of 1-norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} -
-
-

-This function computes the 1-norm of a vector $x$. -
-If $x$ is a real vector -it computes 1-norm as: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 1-norm as: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} -
-
-

- -

-

-call psb_geasums(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 7: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_geasums
Long Precision RealLong Precision Realpsb_geasums
Short Precision RealShort Precision Complexpsb_geasums
Long Precision RealLong Precision Complexpsb_geasums
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 7. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
On Return
-
-
-
res
-
contains the 1-norm of (the columns of) $x$. -
-Scope: global -
-Intent: out. -
-Short as: a long precision real number. -Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node6.html b/docs/html/node6.html deleted file mode 100644 index 15321ca3..00000000 --- a/docs/html/node6.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - -Application structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Application structure -

- -

-The main underlying principle of the PSBLAS library is that the -library objects are created and exist with reference to a discretized -space to which there corresponds an index space and a matrix sparsity -pattern. As an example, consider a cell-centered finite-volume -discretization of the Navier-Stokes equations on a simulation domain; -the index space $1\dots n$ is isomorphic to the set of cell centers, -whereas the pattern of the associated linear system matrix is -isomorphic to the adjacency graph imposed on the discretization mesh -by the discretization stencil. - -

-Thus the first order of business is to establish an index space, and -this is done with a call to psb_cdall in which we specify the -size of the index space $n$ and the allocation of the elements of the -index space to the various processes making up the MPI (virtual) -parallel machine. - -

-The index space is partitioned among processes, and this creates a -mapping from the “global” numbering $1\dots n$ to a numbering -“local” to each process; each process $i$ will own a certain subset - -$1\dots n_{\hbox{row}_i}$, each element of which corresponds to a certain -element of $1\dots n$. The user does not set explicitly this mapping; -when the application needs to indicate to which element of the index -space a certain item is related, such as the row and column index of a -matrix coefficient, it does so in the “global” numbering, and the -library will translate into the appropriate “local” numbering. - -

-For a given index space $1\dots n$ there are many possible associated -topologies, i.e. many different discretization stencils; thus the -description of the index space is not completed until the user has -defined a sparsity pattern, either explicitly through psb_cdins -or implicitly through psb_spins. The descriptor is finalized -with a call to psb_cdasb and a sparse matrix with a call to -psb_spasb. After psb_cdasb each process $i$ will have -defined a set of “halo” (or “ghost”) indices - -$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$, denoting elements of the index -space that are not assigned to process $i$; however the -variables associated with them are needed to complete computations -associated with the sparse matrix $A$, and thus they have to be -fetched from (neighbouring) processes. The descriptor of the index -space is built exactly for the purpose of properly sequencing the -communication steps required to achieve this objective. - -

-A simple application structure will walk through the index space -allocation, matrix/vector creation and linear system solution as -follows: - -

    -
  1. Initialize parallel environment with psb_init -
  2. -
  3. Initialize index space with psb_cdall -
  4. -
  5. Allocate sparse matrix and dense vectors with psb_spall - and psb_geall -
  6. -
  7. Loop over all local rows, generate matrix and vector entries, - and insert them with psb_spins and psb_geins -
  8. -
  9. Assemble the various entities: - -
      -
    1. psb_cdasb -
    2. -
    3. psb_spasb -
    4. -
    5. psb_geasb -
    6. -
    -
  10. -
  11. Choose the preconditioner to be used with prec%init and - build it with prec%build3. -
  12. -
  13. Call the iterative method of choice, e.g. psb_bicgstab -
  14. -
-This is the structure of the sample programs in the directory -test/pargen/. - -

-For a simulation in which the same discretization mesh is used over -multiple time steps, the following structure may be more appropriate: - -

    -
  1. Initialize parallel environment with psb_init -
  2. -
  3. Initialize index space with psb_cdall -
  4. -
  5. Loop over the topology of the discretization mesh and build the - descriptor with psb_cdins -
  6. -
  7. Assemble the descriptor with psb_cdasb -
  8. -
  9. Allocate the sparse matrices and dense vectors with - psb_spall and psb_geall -
  10. -
  11. Loop over the time steps: - -
      -
    1. If after first time step, - reinitialize the sparse matrix with psb_sprn; also zero out - the dense vectors; -
    2. -
    3. Loop over the mesh, generate the coefficients and insert/update - them with psb_spins and psb_geins -
    4. -
    5. Assemble with psb_spasb and psb_geasb -
    6. -
    7. Choose and build preconditioner with prec%init and - prec%build -
    8. -
    9. Call the iterative method of choice, e.g. psb_bicgstab - -
    10. -
    -
  12. -
-The insertion routines will be called as many times as needed; -they only need to be called on the data that is actually -allocated to the current process, i.e. each process generates its own -data. - -

-In principle there is no specific order in the calls to -psb_spins, nor is there a requirement to build a matrix row in -its entirety before calling the routine; this allows the application -programmer to walk through the discretization mesh element by element, -generating the main part of a given matrix row but also contributions -to the rows corresponding to neighbouring elements. - -

-From a functional point of view it is even possible to execute one -call for each nonzero coefficient; however this would have a -substantial computational overhead. It is therefore advisable to pack -a certain amount of data into each call to the insertion routine, say -touching on a few tens of rows; the best performng value would depend -on both the architecture of the computer being used and on the problem -structure. -At the opposite extreme, it would be possible to generate the entire -part of a coefficient matrix residing on a process and pass it in a -single call to psb_spins; this, however, would entail a -doubling of memory occupation, and thus would be almost always far -from optimal. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node60.html b/docs/html/node60.html deleted file mode 100644 index 231ca72d..00000000 --- a/docs/html/node60.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - -psb_norm2 -- 2-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_norm2 -- 2-Norm of Vector -

- -

-This function computes the 2-norm of a vector $x$. -
-If $x$ is a real vector -it computes 2-norm as: -

-
- - -\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 2-norm as: -

-
- - -\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath} -
-
-

- -

-

-
- - - -
Table 8: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$nrm2$$x$Function
Short Precision RealShort Precision Realpsb_genrm2
Long Precision RealLong Precision Realpsb_genrm2
Short Precision RealShort Precision Complexpsb_genrm2
Long Precision RealLong Precision Complexpsb_genrm2
-
-
-

-
- -

-

-psb_genrm2(x, desc_a, info [,global])
-psb_norm2(x, desc_a, info [,global])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 8. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
- -

-

-
On Return
-
-
-
Function Value
-
is the 2-norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Type: required -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_genrm2(x1,desc_a,info,global=.false.)
-vres(2)...
-...x3,desc_a,info,global=.false.)
-call psb_nrm2(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node61.html b/docs/html/node61.html deleted file mode 100644 index bdbc1061..00000000 --- a/docs/html/node61.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - -psb_genrm2s -- Generalized 2-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_genrm2s -- Generalized 2-Norm of Vector -

- -

-This subroutine computes a series of 2-norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath} -
-
-

- -

-

-call psb_genrm2s(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 9: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_genrm2s
Long Precision RealLong Precision Realpsb_genrm2s
Short Precision RealShort Precision Complexpsb_genrm2s
Long Precision RealLong Precision Complexpsb_genrm2s
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 9. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
On Return
-
-
-
res
-
contains the 1-norm of (the columns of) $x$. -
-Scope: global -
-Intent: out. -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node62.html b/docs/html/node62.html deleted file mode 100644 index 497fbdd5..00000000 --- a/docs/html/node62.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -psb_norm1 -- 1-Norm of Sparse Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_norm1 -- 1-Norm of Sparse Matrix -

- -

-This function computes the 1-norm of a matrix $A$: -
-

-

-
- - -\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath} -
-
-

-where: -
-
$A$
-
represents the global matrix $A$ -
-
- -

-

-
- - - -
Table 10: -Data types
-
- - - - - - - - - - - - - - - - -
$A$Function
Short Precision Realpsb_spnrm1
Long Precision Realpsb_spnrm1
Short Precision Complexpsb_spnrm1
Long Precision Complexpsb_spnrm1
-
-
-

-
- -

-

-psb_spnrm1(A, desc_a, info)
-psb_norm1(A, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the local portion of the global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
Function value
-
is the 1-norm of sparse submatrix $A$. -
-Scope: global -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node63.html b/docs/html/node63.html deleted file mode 100644 index a4d42680..00000000 --- a/docs/html/node63.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -psb_normi -- Infinity Norm of Sparse Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_normi -- Infinity Norm of Sparse Matrix -

- -

-This function computes the infinity-norm of a matrix $A$: -
-

-

-
- - -\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath} -
-
-

-where: -
-
$A$
-
represents the global matrix $A$ -
-
- -

-

-
- - - -
Table 11: -Data types
-
- - - - - - - - - - - - - - - - -
$A$Function
Short Precision Realpsb_spnrmi
Long Precision Realpsb_spnrmi
Short Precision Complexpsb_spnrmi
Long Precision Complexpsb_spnrmi
-
-
-

-
- -

-

-psb_spnrmi(A, desc_a, info)
-psb_normi(A, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the local portion of the global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
Function value
-
is the infinity-norm of sparse submatrix $A$. -
-Scope: global -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node64.html b/docs/html/node64.html deleted file mode 100644 index 12cdf45b..00000000 --- a/docs/html/node64.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - -psb_spmm -- Sparse Matrix by Dense Matrix Product - - - - - - - - - - - - - - - - - - - - - -

-psb_spmm -- Sparse Matrix by Dense Matrix - Product -

- -

-This subroutine computes the Sparse Matrix by Dense Matrix Product: - -

-
-

- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A x + \beta y
-\end{displaymath} -(1)
-

-
-
- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A^T x + \beta y
-\end{displaymath} -(2)
-

-
-
- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A^H x + \beta y
-\end{displaymath} -(3)
-

- -

-where: -

-
$x$
-
is the global dense matrix $x_{:, :}$ -
-
$y$
-
is the global dense matrix $y_{:, :}$ -
-
$A$
-
is the global sparse matrix $A$ -
-
- -

-

-
- - - -
Table 12: -Data types
-
- - - - - - - - - - - - - - - - -
$A$, $x$, $y$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_spmm
Long Precision Realpsb_spmm
Short Precision Complexpsb_spmm
Long Precision Complexpsb_spmm
-
-
-

-
- -

-

-call psb_spmm(alpha, a, x, beta, y, desc_a, info)
-call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
-             & trans, work)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in -Table 12. -
-
a
-
the local portion of the sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 12. -
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
trans
-
indicates what kind of operation to perform. -
-
trans = N
-
the operation is specified by equation 1 -
-
trans = T
-
the operation is specified by equation -2 -
-
trans = C
-
the operation is specified by equation -3 -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $trans = N$ -
-Specified as: a character variable. - -

-

-
work
-
work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$ and $y$ with -the TARGET attribute. - -

-

-
On Return
-
-
-
y
-
the local portion of result matrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 12. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node65.html b/docs/html/node65.html deleted file mode 100644 index 0283a958..00000000 --- a/docs/html/node65.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - -psb_spsm -- Triangular System Solve - - - - - - - - - - - - - - - - - - - - - -

-psb_spsm -- Triangular System Solve -

- -

-This subroutine computes the Triangular System Solve: - -

-

-
- -\begin{eqnarray*}
-y &\leftarrow& \alpha T^{-1} x + \beta y\\
-y &\leftarrow& \al...
-...-H} x + \beta y\\
-y &\leftarrow& \alpha T^{-H} D x + \beta y\\
-\end{eqnarray*}
-

-

- -

-where: -

-
$x$
-
is the global dense matrix $x_{:, :}$ -
-
$y$
-
is the global dense matrix $y_{:, :}$ -
-
$T$
-
is the global sparse block triangular submatrix $T$ -
-
$D$
-
is the scaling diagonal matrix. -
-
- -

-

-call psb_spsm(alpha, t, x, beta, y, desc_a, info)
-call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
-             & trans, unit, choice, diag, work)
-
- -

-

-
- - - -
Table 13: -Data types
-
- - - - - - - - - - - - - - - - -
$T$, $x$, $y$, $D$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_spsm
Long Precision Realpsb_spsm
Short Precision Complexpsb_spsm
Long Precision Complexpsb_spsm
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in -Table 13. -
-
t
-
the global portion of the sparse matrix -$T$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object type specified in -§ 3. -
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 13. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 13. -
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 13. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
trans
-
specify with unitd the operation to perform. -
-
trans = 'N'
-
the operation is with no transposed matrix -
-
trans = 'T'
-
the operation is with transposed matrix. -
-
trans = 'C'
-
the operation is with conjugate transposed matrix. -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $trans = N$ -
-Specified as: a character variable. -
-
unitd
-
specify with trans the operation to perform. -
-
unitd = 'U'
-
the operation is with no scaling -
-
unitd = 'L'
-
the operation is with left scaling -
-
unitd = 'R'
-
the operation is with right scaling. -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $unitd = U$ -
-Specified as: a character variable. -
-
choice
-
specifies the update of overlap elements to be performed - on exit: -
-
-
psb_none_ -
-
-
psb_sum_ -
-
-
psb_avg_ -
-
-
psb_square_root_ -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: psb_avg_ -
-Specified as: an integer variable. -
-
diag
-
the diagonal scaling matrix. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Default: -$diag(1) = 1 (no scaling)$ -
-Specified as: a rank one array containing numbers of the type -indicated in Table 13. -
-
work
-
a work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$ with the -TARGET attribute. - -

-

-
On Return
-
-
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 13. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node66.html b/docs/html/node66.html deleted file mode 100644 index 7112a950..00000000 --- a/docs/html/node66.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - -psb_gemlt -- Entrywise Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gemlt -- Entrywise Product -

- -

-This function computes the entrywise product between two vectors $x$ and -$y$ -

-
- - -\begin{displaymath}dot \leftarrow x(i) y(i).\end{displaymath} -
-
-

- -

-

-psb_gemlt(x, y, desc_a, info)
-
-

-
- - - -
Table 14: -Data types
- - - - - - - - - - - - - - - - -
$dot$, $x$, $y$Function
Short Precision Realpsb_gemlt
Long Precision Realpsb_gemlt
Short Precision Complexpsb_gemlt
Long Precision Complexpsb_gemlt
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
y
-
the local portion of global dense vector - $y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
On Return
-
-
-
y
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 14. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node67.html b/docs/html/node67.html deleted file mode 100644 index ff68685c..00000000 --- a/docs/html/node67.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - -psb_gediv -- Entrywise Division - - - - - - - - - - - - - - - - - - - - - -

-psb_gediv -- Entrywise Division -

- -

-This function computes the entrywise division between two vectors $x$ and -$y$ -

-
- - -\begin{displaymath}/ \leftarrow x(i)/y(i).\end{displaymath} -
-
-

- -

-

-psb_gediv(x, y, desc_a, info, [flag)
-
-

-
- - - -
Table 15: -Data types
- - - - - - - - - - - - - - - - -
$/$, $x$, $y$Function
Short Precision Realpsb_gediv
Long Precision Realpsb_gediv
Short Precision Complexpsb_gediv
Long Precision Complexpsb_gediv
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
y
-
the local portion of global dense vector - $y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
flag
-
check if any of the $y(i) = 0$, and in case returns error halting the computation. -
-Scope: local -
-Type: optional - Intent: in. -
-Specified as: the logical value flag=.true. - -
-
On Return
-
-
-
x
-
the local portion of result submatrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 14. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node68.html b/docs/html/node68.html deleted file mode 100644 index 56b7396a..00000000 --- a/docs/html/node68.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - -psb_geinv -- Entrywise Inversion - - - - - - - - - - - - - - - - - - - - -

-psb_geinv -- Entrywise Inversion -

- -

-This function computes the entrywise inverse of a vector $x$ and puts it into -$y$ -

-
- - -\begin{displaymath}/ \leftarrow 1/x(i).\end{displaymath} -
-
-

- -

-

-psb_geinv(x, y, desc_a, info, [flag)
-
-

-
- - - -
Table 16: -Data types
- - - - - - - - - - - - - - - - -
$/$, $x$, $y$Function
Short Precision Realpsb_geinv
Long Precision Realpsb_geinv
Short Precision Complexpsb_geinv
Long Precision Complexpsb_geinv
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
flag
-
check if any of the $x(i) = 0$, and in case returns error halting the computation. -
-Scope: local -
-Type: optional - Intent: in. -
-Specified as: the logical value flag=.true. - -
-
On Return
-
-
-
y
-
the local portion of result submatrix $x$. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 16. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node69.html b/docs/html/node69.html deleted file mode 100644 index dd04cb65..00000000 --- a/docs/html/node69.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -Communication routines - - - - - - - - - - - - - - - - - - - - - -

-Communication routines -

-The routines in this chapter implement various global communication operators -on vectors associated with a discretization mesh. For auxiliary communication -routines not tied to a discretization space see 6. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node7.html b/docs/html/node7.html deleted file mode 100644 index 2823bee4..00000000 --- a/docs/html/node7.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -User-defined index mappings - - - - - - - - - - - - - - - - - - - - -

- -
-User-defined index mappings -

-PSBLAS supports user-defined global to local index mappings, subject -to the constraints outlined in sec. 2.3: - -
    -
  1. The set of indices owned locally must be mapped to the set - -$1\dots n_{\hbox{row}_i}$; -
  2. -
  3. The set of halo points must be mapped to the set - -$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$; -
  4. -
-but otherwise the mapping is arbitrary. The user application is -responsible to ensure consistency of this mapping; some errors may be -caught by the library, but this is not guaranteed. -The application structure to -support this usage is as follows: - -
    -
  1. Initialize index space with - psb_cdall(ictx,desc,info,vl=vl,lidx=lidx) passing the vectors - vl(:) containing the set of global indices owned by the - current process and lidx(:) containing the corresponding - local indices; -
  2. -
  3. Add the halo points ja(:) and their associated local - indices lidx(:) with a(some) call(s) to - psb_cdins(nz,ja,desc,info,lidx=lidx); -
  4. -
  5. Assemble the descriptor with psb_cdasb; -
  6. -
  7. Build the sparse matrices and vectors, optionally making use in - psb_spins and psb_geins of the local argument - specifying that the indices in ia, ja and irw, - respectively, are already local indices. -
  8. -
- -

-


- - - diff --git a/docs/html/node70.html b/docs/html/node70.html deleted file mode 100644 index cca8cb37..00000000 --- a/docs/html/node70.html +++ /dev/null @@ -1,633 +0,0 @@ - - - - - -psb_halo -- Halo Data Communication - - - - - - - - - - - - - - - - - - - - - -

-psb_halo -- Halo Data Communication -

- -

-These subroutines gathers the values of the halo -elements: - -

-

-
- - -\begin{displaymath}x \leftarrow x \end{displaymath} -
-
-

-where: -
-
$x$
-
is a global dense submatrix. -
-
- -

-

-
- - - -
Table 17: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$\alpha$, $x$Subroutine
Integerpsb_halo
Short Precision Realpsb_halo
Long Precision Realpsb_halo
Short Precision Complexpsb_halo
Long Precision Complexpsb_halo
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_halo(x, desc_a, info)
-call psb_halo(x, desc_a, info, work, data)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
global dense matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 17. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
work
-
the work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$. -
-
data
-
index list selector. -
-Scope: global -
-Type: optional -
-Specified as: an integer. Values:psb_comm_halo_,psb_comm_mov_, -psb_comm_ext_, default: psb_comm_halo_. Chooses the -index list on which to base the data exchange. - -

-

-
On Return
-
-
-
x
-
global dense result matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Returned as: a rank one or two array -containing numbers of type specified in -Table 17. -
-
info
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value that contains an error code. -
-
- -
- - - -
Figure 7: -Sample discretization mesh.
-
-\includegraphics[scale=0.45]{figures/try8x8.eps} - -\includegraphics[scale=0.45]{figures/try8x8} - -
-
- -

-Usage Example -Consider the discretization mesh depicted in fig. 7, -partitioned among two processes as shown by the dashed line; the data -distribution is such that each process will own 32 entries in the -index space, with a halo made of 8 entries placed at local indices 33 -through 40. If process 0 assigns an initial value of 1 to its entries -in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_halo the contents of the local vectors will be the -following: -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Process 0  -Process 1
- I GLOB(I) X(I)   I GLOB(I) X(I)
- 1 1 1.0   1 33 2.0
- 2 2 1.0   2 34 2.0
- 3 3 1.0   3 35 2.0
- 4 4 1.0   4 36 2.0
- 5 5 1.0   5 37 2.0
- 6 6 1.0   6 38 2.0
- 7 7 1.0   7 39 2.0
- 8 8 1.0   8 40 2.0
- 9 9 1.0   9 41 2.0
- 10 10 1.0   10 42 2.0
- 11 11 1.0   11 43 2.0
- 12 12 1.0   12 44 2.0
- 13 13 1.0   13 45 2.0
- 14 14 1.0   14 46 2.0
- 15 15 1.0   15 47 2.0
- 16 16 1.0   16 48 2.0
- 17 17 1.0   17 49 2.0
- 18 18 1.0   18 50 2.0
- 19 19 1.0   19 51 2.0
- 20 20 1.0   20 52 2.0
-21 21 1.0   21 53 2.0
-22 22 1.0   22 54 2.0
-23 23 1.0   23 55 2.0
-24 24 1.0   24 56 2.0
-25 25 1.0   25 57 2.0
-26 26 1.0   26 58 2.0
-27 27 1.0   27 59 2.0
-28 28 1.0   28 60 2.0
-29 29 1.0   29 61 2.0
-30 30 1.0   30 62 2.0
-31 31 1.0   31 63 2.0
-32 32 1.0   32 64 2.0
-33 33 2.0   33 25 1.0
-34 34 2.0   34 26 1.0
-35 35 2.0   35 27 1.0
-36 36 2.0   36 28 1.0
-37 37 2.0   37 29 1.0
-38 38 2.0   38 30 1.0
-39 39 2.0   39 31 1.0
-40 40 2.0   40 32 1.0
-
- -

- -

- - - - diff --git a/docs/html/node71.html b/docs/html/node71.html deleted file mode 100644 index 1947ee48..00000000 --- a/docs/html/node71.html +++ /dev/null @@ -1,761 +0,0 @@ - - - - - -psb_ovrl -- Overlap Update - - - - - - - - - - - - - - - - - - - - - -

-psb_ovrl -- Overlap Update -

- -

-These subroutines applies an overlap operator to the input vector: - -

-

-
- - -\begin{displaymath}x \leftarrow Q x \end{displaymath} -
-
-

-where: -
-
$x$
-
is the global dense submatrix $x$ -
-
$Q$
-
is the overlap operator; it is the composition of two -operators $P_a$ and $P^{T}$. -
-
- -

-

-
- - - -
Table 18: -Data types
-
- - - - - - - - - - - - - - - - -
$x$Subroutine
Short Precision Realpsb_ovrl
Long Precision Realpsb_ovrl
Short Precision Complexpsb_ovrl
Long Precision Complexpsb_ovrl
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_ovrl(x, desc_a, info)
-call psb_ovrl(x, desc_a, info, update=update_type, work=work)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
global dense matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 18. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
update
-
Update operator. -
-
update = psb_none_
-
Do nothing; -
-
update = psb_add_
-
Sum overlap entries, i.e. apply $P^T$; -
-
update = psb_avg_
-
Average overlap entries, i.e. apply $P_aP^T$; -
-
-Scope: global -
-Intent: in. -
-Default: -$update\_type = psb\_avg\_ $ -
-Scope: global -
-Specified as: a integer variable. -
-
work
-
the work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a one dimensional array of the same type of $x$. - -

-

-
On Return
-
-
-
x
-
global dense result matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 18. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there is no overlap in the data distribution associated with - the descriptor, no operations are performed; -
  2. -
  3. The operator $P^{T}$ performs the reduction sum of overlap -elements; it is a “prolongation” operator $P^T$ that -replicates overlap elements, accounting for the physical replication -of data; -
  4. -
  5. The operator $P_a$ performs a scaling on the overlap elements by -the amount of replication; thus, when combined with the reduction -operator, it implements the average of replicated elements over all of -their instances. -
  6. -
- -

- -

- - - -
Figure 8: -Sample discretization mesh.
-
-\includegraphics[scale=0.65]{figures/try8x8_ov.eps} - -\includegraphics[scale=0.65]{figures/try8x8_ov} - -
-
- -Example of use -Consider the discretization mesh depicted in fig. 8, -partitioned among two processes as shown by the dashed lines, with an -overlap of 1 extra layer with respect to the partition of -fig. 7; the data -distribution is such that each process will own 40 entries in the -index space, with an overlap of 16 entries placed at local indices 25 -through 40; the halo will run from local index 41 through local index 48.. If process 0 assigns an initial value of 1 to its entries -in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_ovrl with psb_avg_ and a call to -psb_halo_ the contents of the local vectors will be the -following (showing a transition among the two subdomains) - -

-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Process 0  -Process 1
- I GLOB(I) X(I)   I GLOB(I) X(I)
- 1 1 1.0   1 33 1.5
- 2 2 1.0   2 34 1.5
- 3 3 1.0   3 35 1.5
- 4 4 1.0   4 36 1.5
- 5 5 1.0   5 37 1.5
- 6 6 1.0   6 38 1.5
- 7 7 1.0   7 39 1.5
- 8 8 1.0   8 40 1.5
- 9 9 1.0   9 41 2.0
- 10 10 1.0   10 42 2.0
- 11 11 1.0   11 43 2.0
- 12 12 1.0   12 44 2.0
- 13 13 1.0   13 45 2.0
- 14 14 1.0   14 46 2.0
- 15 15 1.0   15 47 2.0
- 16 16 1.0   16 48 2.0
- 17 17 1.0   17 49 2.0
- 18 18 1.0   18 50 2.0
- 19 19 1.0   19 51 2.0
- 20 20 1.0   20 52 2.0
- 21 21 1.0   21 53 2.0
- 22 22 1.0   22 54 2.0
- 23 23 1.0   23 55 2.0
- 24 24 1.0   24 56 2.0
- 25 25 1.5   25 57 2.0
- 26 26 1.5   26 58 2.0
- 27 27 1.5   27 59 2.0
- 28 28 1.5   28 60 2.0
- 29 29 1.5   29 61 2.0
- 30 30 1.5   30 62 2.0
- 31 31 1.5   31 63 2.0
- 32 32 1.5   32 64 2.0
- 33 33 1.5   33 25 1.5
- 34 34 1.5   34 26 1.5
- 35 35 1.5   35 27 1.5
- 36 36 1.5   36 28 1.5
- 37 37 1.5   37 29 1.5
- 38 38 1.5   38 30 1.5
- 39 39 1.5   39 31 1.5
- 40 40 1.5   40 32 1.5
- 41 41 2.0   41 17 1.0
- 42 42 2.0   42 18 1.0
- 43 43 2.0   43 19 1.0
- 44 44 2.0   44 20 1.0
- 45 45 2.0   45 21 1.0
- 46 46 2.0   46 22 1.0
- 47 47 2.0   47 23 1.0
- 48 48 2.0   48 24 1.0
-
- -

- -

- - - - diff --git a/docs/html/node72.html b/docs/html/node72.html deleted file mode 100644 index dbff365a..00000000 --- a/docs/html/node72.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - -psb_gather -- Gather Global Dense Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gather -- Gather Global Dense Matrix -

- -

-These subroutines collect the portions of global dense matrix -distributed over all process into one single array stored on one -process. - -

-

-
- - -\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath} -
-
-

-where: -
-
$glob\_x$
-
is the global submatrix -$glob\_x_{1:m,1:n}$ -
-
$loc\_x_i$
-
is the local portion of global dense matrix on -process $i$. -
-
$collect$
-
is the collect function. -
-
- -

-

-
- - - -
Table 19: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$x_i, y$Subroutine
Integerpsb_gather
Short Precision Realpsb_gather
Long Precision Realpsb_gather
Short Precision Complexpsb_gather
Long Precision Complexpsb_gather
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
loc_x
-
the local portion of global dense matrix -$glob\_x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -indicated in Table 19. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
root
-
The process that holds the global copy. If $root=-1$ all - the processes will have a copy of the global vector. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer variable -$-1\le root\le np-1$, default $-1$. -
-
On Return
-
-
-
glob_x
-
The array where the local parts must be gathered. -
-Scope: global -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two array with the ALLOCATABLE attribute. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node73.html b/docs/html/node73.html deleted file mode 100644 index 924e3506..00000000 --- a/docs/html/node73.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - -psb_scatter -- Scatter Global Dense Matrix - - - - - - - - - - - - - - - - - - - - -

-psb_scatter -- Scatter Global Dense Matrix -

- -

-These subroutines scatters the portions of global dense matrix owned -by a process to all the processes in the processes grid. - -

-

-
- - -\begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath} -
-
-

-where: -
-
$glob\_x$
-
is the global matrix -$glob\_x_{1:m,1:n}$ -
-
$loc\_x_i$
-
is the local portion of global dense matrix on -process $i$. -
-
$scatter$
-
is the scatter function. -
-
- -

-

-
- - - -
Table 20: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$x_i, y$Subroutine
Integerpsb_scatter
Short Precision Realpsb_scatter
Long Precision Realpsb_scatter
Short Precision Complexpsb_scatter
Long Precision Complexpsb_scatter
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_scatter(glob_x, loc_x, desc_a, info, root, mold)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
glob_x
-
The array that must be scattered into local pieces. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
root
-
The process that holds the global copy. If $root=-1$ all - the processes have a copy of the global vector. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer variable -$-1\le root\le np-1$, default -psb_root_, i.e. process 0. -
-
mold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is -only allowed when loc_x is of type vdatapsb_T_vect_type. -
-
On Return
-
-
-
loc_x
-
the local portion of global dense matrix -$glob\_x$. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two ALLOCATABLE array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 20. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node74.html b/docs/html/node74.html deleted file mode 100644 index 4d97a7eb..00000000 --- a/docs/html/node74.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -Data management routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Data management routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node75.html b/docs/html/node75.html deleted file mode 100644 index dc27405d..00000000 --- a/docs/html/node75.html +++ /dev/null @@ -1,450 +0,0 @@ - - - - - -psb_cdall -- Allocates a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdall -- Allocates a communication descriptor -

- -

-

-call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
-call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
-call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.false.,lidx=lidx])
-call psb_cdall(icontxt, desc_a, info,nl=nl)
-call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
-
- -

-This subroutine initializes the communication descriptor associated -with an index space. One of the optional arguments -parts, vg, vl, nl or repl -must be specified, thereby choosing -the specific initialization strategy. -

-
On Entry
-
-
-
Type:
-
Synchronous. -
-
icontxt
-
the communication context. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
vg
-
Data allocation: each index -$i\in \{1\dots mg\}$ is allocated - to process $vg(i)$. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
flag
-
Specifies whether entries in $vg$ are zero- or one-based. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value $0,1$, default $0$. - -

-

-
mg
-
the (global) number of rows of the problem. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value. It is required if parts or -repl is specified, it is optional if vg is specified. -
-
parts
-
the subroutine that defines the partitioning scheme. -
-Scope:global. -
-Type:required. -
-Specified as: a subroutine. -
-
vl
-
Data allocation: the set of global indices - $vl(1:nl)$ belonging to the calling process. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
nl
-
Data allocation: in a generalized block-row distribution the - number of indices belonging to the current process. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value. May be specified together with -vl. -
-
repl
-
Data allocation: build a replicated index space - (i.e. all processes own all indices). -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: the logical value .true. -
-
globalcheck
-
Data allocation: do global checks on the local - index lists vl -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: a logical value, default: .false. -
-
lidx
-
Data allocation: the set of local indices - $lidx(1:nl)$ to be assigned to the global indices $vl$. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. One of the optional arguments parts, vg, - vl, nl or repl must be specified, thereby choosing the - initialization strategy as follows: -
    -
    parts
    -
    In this case we have a subroutine specifying the mapping - between global indices and process/local index pairs. If this - optional argument is specified, then it is mandatory to - specify the argument mg as well. - The subroutine must conform to the following interface: -
    -  interface 
    -     subroutine psb_parts(glob_index,mg,np,pv,nv)
    -       integer, intent (in)  :: glob_index,np,mg
    -       integer, intent (out) :: nv, pv(*)
    -     end subroutine psb_parts
    -  end interface
    -
    - The input arguments are: -
    -
    glob_index
    -
    The global index to be mapped; - -
    -
    np
    -
    The number of processes in the mapping; - -
    -
    mg
    -
    The total number of global rows in the mapping; - -
    -
    - The output arguments are: -
    -
    nv
    -
    The number of entries in pv; - -
    -
    pv
    -
    A vector containing the indices of the processes to - which the global index should be assigend; each entry must satisfy - -$0\le pv(i) < np$; if $nv>1$ we have an index assigned to multiple - processes, i.e. we have an overlap among the subdomains. - -
    -
    -
    -
    vg
    -
    In this case the association between an index and a process - is specified via an integer vector vg(1:mg); - each index -$i\in \{1\dots mg\}$ is assigned to process $vg(i)$. - The vector vg must be identical on all - calling processes; its entries may have the ranges $(0\dots np-1)$ - or $(1\dots np)$ according to the value of flag. - The size $mg$ may be specified via the optional argument mg; - the default is to use the entire vector vg, thus having - mg=size(vg). -
    -
    vl
    -
    In this case we are specifying the list of indices - vl(1:nl) assigned to the current process; thus, the global - problem size $mg$ is given by - the range of the aggregate of the individual vectors vl specified - in the calling processes. The size may be specified via the optional - argument nl; the default is to use the entire vector - vl, thus having nl=size(vl). - If globalcheck=.true. the subroutine will check how many - times each entry in the global index space $(1\dots mg)$ is - specified in the input lists vl, thus allowing for the - presence of overlap in the input, and checking for “orphan” - indices. If globalcheck=.false., the subroutine will not - check for overlap, and may be significantly faster, but the user - is implicitly guaranteeing that there are neither orphan nor - overlap indices. -
    -
    lidx
    -
    The optional argument lidx is available for - those cases in which the user has already established a - global-to-local mapping; if it is specified, each index in - vl(i) will be mapped to the corresponding local index - lidx(i). When specifying the argument lidx the user - would also likely employ lidx in calls to psb_cdins - and local in calls to psb_spins and psb_geins; - see also sec. 2.3.1. -
    -
    nl
    -
    If this argument is specified alone (i.e. without vl) - the result is a generalized row-block distribution in which each - process $I$ gets assigned a consecutive chunk of $N_I=nl$ global - indices. -
    -
    repl
    -
    This arguments specifies to replicate all indices on - all processes. This is a special purpose data allocation that is - useful in the construction of some multilevel preconditioners. -
    -
    -
  2. -
  3. On exit from this routine the descriptor is in the build - state. -
  4. -
  5. Calling the routine with vg or parts implies that - every process will scan the entire index space to figure out the - local indices. -
  6. -
  7. Overlapped indices are possible with both parts and - vl invocations. -
  8. -
  9. When the subroutine is invoked with vl in - conjunction with globalcheck=.true., it will perform a scan - of the index space to search for overlap or orphan indices. -
  10. -
  11. When the subroutine is invoked with vl in - conjunction with globalcheck=.false., no index space scan - will take place. Thus it is the responsibility of the user to make - sure that the indices specified in vl have neither orphans nor - overlaps; if this assumption fails, results will be - unpredictable. -
  12. -
  13. Orphan and overlap indices are - impossible by construction when the subroutine is invoked with - nl (alone), or vg. -
  14. -
- -

- -

- - - - diff --git a/docs/html/node76.html b/docs/html/node76.html deleted file mode 100644 index 46ac9253..00000000 --- a/docs/html/node76.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - -psb_cdins -- Communication descriptor insert routine - - - - - - - - - - - - - - - - - - - - - -

-psb_cdins -- Communication descriptor insert - routine -

- -

-

-call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
-call psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
-
- -

-This subroutine examines the edges of the graph associated with the -discretization mesh (and isomorphic to the sparsity pattern of a -linear system coefficient matrix), storing them as necessary into the -communication descriptor. In the first form the edges are specified as -pairs of indices $ia(i),ja(i)$; the starting index $ia(i)$ should -belong to the current process. -In the second form only the remote indices $ja(i)$ are specified. - -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
nz
-
the number of points being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value. -
-
ia
-
the indices of the starting vertex of the edges being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
ja
-
the indices of the end vertex of the edges being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
mask
-
Mask entries in ja, they are inserted only when the - corresponding mask entries are .true. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: a logical array of length $nz$, default .true.. -
-
lidx
-
User defined local indices for ja. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the updated communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
ila
-
the local indices of the starting vertex of the edges being inserted. -
-Scope: local. -
-Type: optional. -
-Intent: out. -
-Specified as: an integer array of length $nz$. -
-
jla
-
the local indices of the end vertex of the edges being inserted. -
-Scope: local. -
-Type: optional. -
-Intent: out. -
-Specified as: an integer array of length $nz$. - -

-

-
-Notes - -
    -
  1. This routine may only be called if the descriptor is in the - build state; -
  2. -
  3. This routine automatically ignores edges that do not -insist on the current process, i.e. edges for which neither the starting -nor the end vertex belong to the current process. -
  4. -
  5. The second form of this routine will be useful when dealing with - user-specified index mappings; see also 2.3.1. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node77.html b/docs/html/node77.html deleted file mode 100644 index 507c1f1c..00000000 --- a/docs/html/node77.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -psb_cdasb -- Communication descriptor assembly routine - - - - - - - - - - - - - - - - - - - - - -

-psb_cdasb -- Communication descriptor assembly - routine -

- -

-

-call psb_cdasb(desc_a, info [, mold])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
mold
-
The desired dynamic type for the internal index storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: a object of type derived from (integer) vbasedatapsb_T_base_vect_type. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the descriptor is in the assembled - state. -
  2. -
- -

-


- - - diff --git a/docs/html/node78.html b/docs/html/node78.html deleted file mode 100644 index 4319c067..00000000 --- a/docs/html/node78.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - -psb_cdcpy -- Copies a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdcpy -- Copies a communication descriptor -

- -

-

-call psb_cdcpy(desc_in, desc_out, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc_in
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. - -

-

-
- -

-

-
On Return
-
-
-
desc_out
-
the communication descriptor copy. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node79.html b/docs/html/node79.html deleted file mode 100644 index 17081ee5..00000000 --- a/docs/html/node79.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -psb_cdfree -- Frees a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdfree -- Frees a communication descriptor -

- -

-

-call psb_cdfree(desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor to be freed. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node8.html b/docs/html/node8.html deleted file mode 100644 index 6501ef05..00000000 --- a/docs/html/node8.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -Programming model - - - - - - - - - - - - - - - - - - - - -

-Programming model -

- -

-The PSBLAS librarary is based on the Single Program Multiple Data -(SPMD) programming model: each process participating in the -computation performs the same actions on a chunk of data. Parallelism -is thus data-driven. - -

-Because of this structure, many subroutines coordinate their action -across the various processes, thus providing an implicit -synchronization point, and therefore must be -called simultaneously by all processes participating in the -computation. This is certainly true for the data allocation and -assembly routines, for all the computational routines and for some of -the tools routines. - -

-However there are many cases where no synchronization, and indeed no -communication among processes, is implied; for instance, all the routines in -sec. 3 are only acting on the local data structures, -and thus may be called independently. The most important case is that -of the coefficient insertion routines: since the number of -coefficients in the sparse and dense matrices varies among the -processors, and since the user is free to choose an arbitrary order in -builiding the matrix entries, these routines cannot imply a -synchronization. - -

-Throughout this user's guide each subroutine will be clearly indicated -as: -

-
Synchronous:
-
must be called simultaneously by all the - processes in the relevant communication context; -
-
Asynchronous:
-
may be called in a totally independent manner. -
-
- -

- -

- - - - diff --git a/docs/html/node80.html b/docs/html/node80.html deleted file mode 100644 index 346afbdd..00000000 --- a/docs/html/node80.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - -psb_cdbldext -- Build an extended communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdbldext -- Build an extended communication - descriptor -

- -

-

-call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
-
- -

-This subroutine builds an extended communication descriptor, based on -the input descriptor desc_a and on the stencil specified -through the input sparse matrix a. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
A sparse matrix -Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
nl
-
the number of additional layers desired. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value $nl\ge 0$. -
-
extype
-
the kind of estension required. -
-Scope:global. -
-Type:optional . -
-Intent: in. -
-Specified as: an integer value -psb_ovt_xhal_, psb_ovt_asov_, default: psb_ovt_xhal_ - -

-

-
- -

-

-
On Return
-
-
-
desc_out
-
the extended communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. Specifying psb_ovt_xhal_ for the extype argument - the user will obtain a descriptor for a domain partition in which - the additional layers are fetched as part of an (extended) halo; - however the index-to-process mapping is identical to that of the - base descriptor; -
  2. -
  3. Specifying psb_ovt_asov_ for the extype argument - the user will obtain a descriptor with an overlapped decomposition: - the additional layer is aggregated to the local subdomain (and thus - is an overlap), and a new halo extending beyond the last additional - layer is formed. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node81.html b/docs/html/node81.html deleted file mode 100644 index 8480c728..00000000 --- a/docs/html/node81.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - -psb_spall -- Allocates a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spall -- Allocates a sparse matrix -

- -

-

-call psb_spall(a, desc_a, info, nnz)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
nnz
-
An estimate of the number of nonzeroes in the local - part of the assembled matrix. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. -
-
- -

-

-
On Return
-
-
-
a
-
the matrix to be allocated. -
-Scope:local -
-Type:required -
-Intent: out. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the sparse matrix is in the build - state. -
  2. -
  3. The descriptor may be in either the build or assembled state. -
  4. -
  5. Providing a good estimate for the number of nonzeroes $nnz$ in - the assembled matrix may substantially improve performance in the - matrix build phase, as it will reduce or eliminate the need for - (potentially multiple) data reallocations. -
  6. -
- -

-


- - - diff --git a/docs/html/node82.html b/docs/html/node82.html deleted file mode 100644 index fb0084f4..00000000 --- a/docs/html/node82.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - -psb_spins -- Insert a set of coefficients into a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spins -- Insert a set of coefficients into a sparse - matrix -

- -

-

-call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
-call psb_spins(nr, irw, irp, ja, val, a, desc_a, info [,local])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
nz
-
the number of coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
nr
-
the number of rows to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
irw
-
the first row to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
ia
-
the row indices of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nz$. -
-
irp
-
the row pointers of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nr+1$. -
-
ja
-
the column indices of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nz$. -
-
val
-
the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an array of size $nz$. Must be of the same type and kind -of the coefficients of the sparse matrix $a$. -
-
desc_a
-
The communication descriptor. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
local
-
Whether the entries in the indices vectors ia, - ja are already in local numbering. -
-Scope:local. -
-Type:optional. -
-Specified as: a logical value; default: .false.. - -

-

-
- -

-

-
On Return
-
-
-
a
-
the matrix into which coefficients will be inserted. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
The communication descriptor. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. On entry to this routine the descriptor may be in either the - build or assembled state. -
  2. -
  3. On entry to this routine the sparse matrix may be in either the - build or update state. -
  4. -
  5. If the descriptor is in the build state, then the sparse matrix - must also be in the build state; the action of the routine is to - (implicitly) call psb_cdins to add entries to the sparsity - pattern; each sparse matrix entry implicitly defines a graph edge, - that is passed to the descriptor routine for the appropriate - processing; -
  6. -
  7. The input data can be passed in either COO or CSR formats; -
  8. -
  9. In COO format the coefficients to be inserted are represented by - the ordered triples -$ia(i),ja(i),val(i)$, for $i=1,\dots,nz$; - these triples should belong to the current process, i.e. $ia(i)$ - should be one of the local indices, but are otherwise arbitrary; -
  10. -
  11. In CSR format the coefficients to be inserted for each input row $i=1,nr$ - are represented by the ordered triples -$(i+irw-1),ja(j),val(j)$, for - -$j=irp(i),\dots,irp(i+1)-1$; - these triples should belong to the current process, i.e. $i+irw-1$ - should be one of the local indices, but are otherwise arbitrary; -
  12. -
  13. There is no requirement that a given row must be passed in its - entirety to a single call to this routine: the buildup of a row - may be split into as many calls as desired (even in the CSR format); -
  14. -
  15. Coefficients from different rows may also be mixed up freely - in a single call, according to the application needs; -
  16. -
  17. Any coefficients from matrix rows not owned by the calling - process are silently ignored; -
  18. -
  19. If the descriptor is in the assembled state, then any entries in - the sparse matrix that would generate additional communication - requirements are ignored; -
  20. -
  21. If the matrix is in the update state, any entries in positions - that were not present in the original matrix are ignored. -
  22. -
- -

- -

- - - - diff --git a/docs/html/node83.html b/docs/html/node83.html deleted file mode 100644 index b44e3675..00000000 --- a/docs/html/node83.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - -psb_spasb -- Sparse matrix assembly routine - - - - - - - - - - - - - - - - - - - - - -

-psb_spasb -- Sparse matrix assembly routine -

- -

-

-call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
afmt
-
the storage format for the sparse matrix. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an array of characters. Defalt: 'CSR'. -
-
upd
-
Provide for updates to the matrix coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_upd_srch_, psb_upd_perm_ -
-
dupl
-
How to handle duplicate coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_, psb_dupl_err_. -
-
mold
-
The desired dynamic type for the internal matrix storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. -
-
- -

-

-
On Return
-
-
-
a
-
the matrix to be assembled. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. On entry to this routine the descriptor must be in the - assembled state, i.e. psb_cdasb must already have been called. -
  2. -
  3. The sparse matrix may be in either the build or update state; -
  4. -
  5. Duplicate entries are detected and handled in both build and - update state, with the exception of the error action that is only - taken in the build state, i.e. on the first assembly; -
  6. -
  7. If the update choice is psb_upd_perm_, then subsequent - calls to psb_spins to update the matrix must be arranged in - such a way as to produce exactly the same sequence of coefficient - values as encountered at the first assembly; -
  8. -
  9. The output storage format need not be the same on all - processes; -
  10. -
  11. On exit from this routine the matrix is in the assembled state, - and thus is suitable for the computational routines. -
  12. -
- -

- -

- - - - diff --git a/docs/html/node84.html b/docs/html/node84.html deleted file mode 100644 index 2ae76326..00000000 --- a/docs/html/node84.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -psb_spfree -- Frees a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spfree -- Frees a sparse matrix -

- -

-

-call psb_spfree(a, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the matrix to be freed. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node85.html b/docs/html/node85.html deleted file mode 100644 index 199f1af9..00000000 --- a/docs/html/node85.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -psb_sprn -- Reinit sparse matrix structure for psblas routines. - - - - - - - - - - - - - - - - - - - - - -

-psb_sprn -- Reinit sparse matrix structure for psblas - routines. -

- -

-

-call psb_sprn(a, decsc_a, info, clear)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the matrix to be reinitialized. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
clear
-
Choose whether to zero out matrix coefficients -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Default: true. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the sparse matrix is in the update - state. -
  2. -
- -

-


- - - diff --git a/docs/html/node86.html b/docs/html/node86.html deleted file mode 100644 index 72ad8bf6..00000000 --- a/docs/html/node86.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -psb_geall -- Allocates a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_geall -- Allocates a dense matrix -

- -

-

-call psb_geall(x, desc_a, info, n, lb)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
n
-
The number of columns of the dense matrix to be allocated. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. -
-
lb
-
The lower bound for the column index range of the dense matrix to be allocated. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. -
-
- -

-

-
On Return
-
-
-
x
-
The dense matrix to be allocated. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two array with the ALLOCATABLE attribute -or an object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node87.html b/docs/html/node87.html deleted file mode 100644 index 7e7dff18..00000000 --- a/docs/html/node87.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - -psb_geins -- Dense matrix insertion routine - - - - - - - - - - - - - - - - - - - - - -

-psb_geins -- Dense matrix insertion routine -

- -

-

-call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
m
-
Number of rows in $val$ to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
irw
-
Indices of the rows to be inserted. Specifically, row $i$ - of $val$ will be inserted into the local row corresponding to the - global row index $irw(i)$. -Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array. -
-
val
-
the dense submatrix to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a rank 1 or 2 array. -Specified as: an integer value. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
dupl
-
How to handle duplicate coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_. -
-
local
-
Whether the entries in the index vector irw, - are already in local numbering. -
-Scope:local. -
-Type:optional. -
-Specified as: a logical value; default: .false.. - -

-

-
- -

-

-
On Return
-
-
-
x
-
the output dense matrix. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type, of -type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. Dense vectors/matrices do not have an associated state; -
  2. -
  3. Duplicate entries are either overwritten or added, there is no - provision for raising an error condition. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node88.html b/docs/html/node88.html deleted file mode 100644 index 705998d9..00000000 --- a/docs/html/node88.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - -psb_geasb -- Assembly a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_geasb -- Assembly a dense matrix -

- -

-

-call psb_geasb(x, desc_a, info, mold)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
mold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is -only allowed when $x$ is of type vdatapsb_T_vect_type. -
-
- -

-

-
On Return
-
-
-
x
-
The dense matrix to be assembled. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-

- - - diff --git a/docs/html/node89.html b/docs/html/node89.html deleted file mode 100644 index 48f987c1..00000000 --- a/docs/html/node89.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -psb_gefree -- Frees a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gefree -- Frees a dense matrix -

- -

-

-call psb_gefree(x, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
The dense matrix to - be freed. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-

-

-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node9.html b/docs/html/node9.html deleted file mode 100644 index 7e75eada..00000000 --- a/docs/html/node9.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - -Data Structures and Classes - - - - - - - - - - - - - - - - - - - - - -

- -
-Data Structures and Classes -

- -

-In this chapter we illustrate the data structures used for definition of -routines interfaces. They include data structures for sparse matrices, -communication descriptors and preconditioners. -

-All the data types and the basic subroutine interfaces related to -descriptors and sparse matrices are defined in -the module psb_base_mod; this will have to be included by every -user subroutine that makes use of the library. The preconditioners are -defined in the module psb_prec_mod - -

-Integer, real and complex data types are parametrized with a kind type -defined in the library as follows: -

-
psb_spk_
-
Kind parameter for short precision real and complex - data; corresponds to a REAL declaration and is - normally 4 bytes; -
-
psb_dpk_
-
Kind parameter for long precision real and complex - data; corresponds to a DOUBLE PRECISION declaration and is - normally 8 bytes; -
-
psb_mpk_
-
Kind parameter for 4-bytes integer data, as is - always used by MPI; -
-
psb_epk_
-
Kind parameter for 8-bytes integer data, as is - always used by the sizeof methods; -
-
psb_ipk_
-
Kind parameter for “local” integer indices and data; - with default build options this is a 4 bytes integer; -
-
psb_lpk_
-
Kind parameter for “global” integer indices and data; - with default build options this is an 8 bytes integer; -
-
-The integer kinds for local and global indices can be chosen at -configure time to hold 4 or 8 bytes, with the global indices at least -as large as the local ones. -Together with the classes attributes we also discuss their -methods. Most methods detailed here only act on the local variable, -i.e. their action is purely local and asynchronous unless otherwise -stated. -The list of methods here is not completely exhaustive; many methods, -especially those that alter the contents of the various objects, are -usually not needed by the end-user, and therefore are described in the -developer's documentation. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node90.html b/docs/html/node90.html deleted file mode 100644 index 9de2f117..00000000 --- a/docs/html/node90.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - -psb_gelp -- Applies a left permutation to a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gelp -- Applies a left permutation to a dense - matrix -

- -

-

-call psb_gelp(trans, iperm, x, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
trans
-
A character that specifies whether to permute $A$ or $A^T$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$. -
-
iperm
-
An integer array containing permutation information. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an integer one-dimensional array. -
-
x
-
The dense matrix to be permuted. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a one or two dimensional array. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node91.html b/docs/html/node91.html deleted file mode 100644 index 05365418..00000000 --- a/docs/html/node91.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - -psb_glob_to_loc -- Global to local indices convertion - - - - - - - - - - - - - - - - - - - - - -

-psb_glob_to_loc -- Global to local indices - convertion -

- -

-

-call psb_glob_to_loc(x, y, desc_a, info, iact,owned)
-call psb_glob_to_loc(x, desc_a, info, iact,owned)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
An integer vector of indices to be converted. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
owned
-
Specfies valid range of input -Scope: global -
-Type: optional -
-Intent: in. -
-If true, then only indices strictly owned by the current process are -considered valid, if false then halo indices are also -accepted. Default: false. -
-
- -

-

-
On Return
-
-
-
x
-
If $y$ is not present, - then $x$ is overwritten with the translated integer indices. -Scope: global -
-Type: required -
-Intent: inout. -
-Specified as: a rank one integer array. -
-
y
-
If $y$ is present, - then $y$ is overwritten with the translated integer indices, and $x$ - is left unchanged. -Scope: global -
-Type: optional -
-Intent: out. -
-Specified as: a rank one integer array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If an input index is out of range, then the corresponding output - index is set to a negative number; -
  2. -
  3. The default Ignore means that the negative output is the - only action taken on an out-of-range input. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node92.html b/docs/html/node92.html deleted file mode 100644 index 666b0bf5..00000000 --- a/docs/html/node92.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - -psb_loc_to_glob -- Local to global indices conversion - - - - - - - - - - - - - - - - - - - - - -

-psb_loc_to_glob -- Local to global indices - conversion -

- -

-

-call psb_loc_to_glob(x, y, desc_a, info, iact)
-call psb_loc_to_glob(x, desc_a, info, iact)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
An integer vector of indices to be converted. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
x
-
If $y$ is not present, - then $x$ is overwritten with the translated integer indices. -Scope: global -
-Type: required -
-Intent: inout. -
-Specified as: a rank one integer array. -
-
y
-
If $y$ is not present, - then $y$ is overwritten with the translated integer indices, and $x$ - is left unchanged. -Scope: global -
-Type: optional -
-Intent: out. -
-Specified as: a rank one integer array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node93.html b/docs/html/node93.html deleted file mode 100644 index 133899aa..00000000 --- a/docs/html/node93.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_is_owned -- - - - - - - - - - - - - - - - - - - - - - -

-psb_is_owned -- -

- -

-

-call psb_is_owned(x, desc_a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer index. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a scalar integer. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical mask which is true if - $x$ is owned by the current process -Scope: local -
-Type: required -
-Intent: out. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for an index - that is strictly owned by the current process, excluding the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node94.html b/docs/html/node94.html deleted file mode 100644 index 56bfb76f..00000000 --- a/docs/html/node94.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_owned_index -- - - - - - - - - - - - - - - - - - - - - - -

-psb_owned_index -- -

- -

-

-call psb_owned_index(y, x, desc_a, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer indices. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a scalar or a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
y
-
A logical mask which is true for all corresponding entries of - $x$ that are owned by the current process -Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a scalar or rank one logical array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for those indices - that are strictly owned by the current process, excluding the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node95.html b/docs/html/node95.html deleted file mode 100644 index 79dba935..00000000 --- a/docs/html/node95.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_is_local -- - - - - - - - - - - - - - - - - - - - - - -

-psb_is_local -- -

- -

-

-call psb_is_local(x, desc_a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer index. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a scalar integer. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical mask which is true if - $x$ is local to the current process -Scope: local -
-Type: required -
-Intent: out. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for an index - that is local to the current process, including the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node96.html b/docs/html/node96.html deleted file mode 100644 index d7e2ac97..00000000 --- a/docs/html/node96.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_local_index -- - - - - - - - - - - - - - - - - - - - - - -

-psb_local_index -- -

- -

-

-call psb_local_index(y, x, desc_a, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer indices. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a scalar or a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
y
-
A logical mask which is true for all corresponding entries of - $x$ that are local to the current process -Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a scalar or rank one logical array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for those indices - that are local to the current process, including the halo - indices. -
  2. -
- -

-


- - - diff --git a/docs/html/node97.html b/docs/html/node97.html deleted file mode 100644 index 184f952e..00000000 --- a/docs/html/node97.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -psb_get_boundary -- Extract list of boundary elements - - - - - - - - - - - - - - - - - - - - - -

-psb_get_boundary -- Extract list of boundary - elements -

- -

-

-call psb_get_boundary(bndel, desc, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
bndel
-
The list of boundary elements on the calling process, in - local numbering. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one array with the ALLOCATABLE -attribute, of type integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there are no boundary elements (i.e., if the local part of - the connectivity graph is self-contained) the output vector is set - to the “not allocated” state. -
  2. -
  3. Otherwise the size of bndel will be exactly equal to the - number of boundary elements. -
  4. -
- -

-


- - - diff --git a/docs/html/node98.html b/docs/html/node98.html deleted file mode 100644 index 4f8e6938..00000000 --- a/docs/html/node98.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - -psb_get_overlap -- Extract list of overlap elements - - - - - - - - - - - - - - - - - - - - - -

-psb_get_overlap -- Extract list of overlap - elements -

- -

-

-call psb_get_overlap(ovrel, desc, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
ovrel
-
The list of overlap elements on the calling process, in - local numbering. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one array with the ALLOCATABLE -attribute, of type integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there are no overlap elements the output vector is set - to the “not allocated” state. -
  2. -
  3. Otherwise the size of ovrel will be exactly equal to the - number of overlap elements. -
  4. -
- -

-


- - - diff --git a/docs/html/node99.html b/docs/html/node99.html deleted file mode 100644 index 57f6c73e..00000000 --- a/docs/html/node99.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -psb_sp_getrow -- Extract row(s) from a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_sp_getrow -- Extract row(s) from a sparse - matrix -

- -

-

-call psb_sp_getrow(row, a, nz, ia, ja, val, info, &
-              & append, nzin, lrw)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
row
-
The (first) row to be extracted. -
-Scope:local -
-Type:required -
-Intent: in. -
-Specified as: an integer $>0$. -
-
a
-
the matrix from which to get rows. -
-Scope:local -
-Type:required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
append
-
Whether to append or overwrite existing output. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: a logical value default: false (overwrite). -
-
nzin
-
Input size to be appended to. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: an integer $>0$. When append is true, specifies how many -entries in the output vectors are already filled. -
-
lrw
-
The last row to be extracted. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: an integer $>0$, default: $row$. - -

-

-
- -

-

-
On Return
-
-
-
nz
-
the number of elements returned by this call. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Returned as: an integer scalar. -
-
ia
-
the row indices. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: an integer array with the ALLOCATABLE attribute. -
-
ja
-
the column indices of the elements to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: an integer array with the ALLOCATABLE attribute. -
-
val
-
the elements to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a real array with the ALLOCATABLE attribute. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The output $nz$ is always the size of the output generated by - the current call; thus, if append=.true., the total output - size will be $nzin+nz$, with the newly extracted coefficients stored in - entries nzin+1:nzin+nz of the array arguments; -
  2. -
  3. When append=.true. the output arrays are reallocated as - necessary; -
  4. -
  5. The row and column indices are returned in the local numbering - scheme; if the global numbering is desired, the user may employ the - psb_loc_to_glob routine on the output. -
  6. -
- -

- -

- - - - diff --git a/docs/html/prev.png b/docs/html/prev.png deleted file mode 100644 index e60b8b40..00000000 Binary files a/docs/html/prev.png and /dev/null differ diff --git a/docs/html/prev_g.png b/docs/html/prev_g.png deleted file mode 100644 index 476d9568..00000000 Binary files a/docs/html/prev_g.png and /dev/null differ diff --git a/docs/html/up.png b/docs/html/up.png deleted file mode 100644 index 3937e168..00000000 Binary files a/docs/html/up.png and /dev/null differ diff --git a/docs/html/up_g.png b/docs/html/up_g.png deleted file mode 100644 index 54ceb683..00000000 Binary files a/docs/html/up_g.png and /dev/null differ diff --git a/docs/html/userhtml.css b/docs/html/userhtml.css deleted file mode 100644 index d1824aff..00000000 --- a/docs/html/userhtml.css +++ /dev/null @@ -1,30 +0,0 @@ -/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ -.MATH { font-family: "Century Schoolbook", serif; } -.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } -.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } - -/* implement both fixed-size and relative sizes */ -SMALL.XTINY { font-size : xx-small } -SMALL.TINY { font-size : x-small } -SMALL.SCRIPTSIZE { font-size : smaller } -SMALL.FOOTNOTESIZE { font-size : small } -SMALL.SMALL { } -BIG.LARGE { } -BIG.XLARGE { font-size : large } -BIG.XXLARGE { font-size : x-large } -BIG.HUGE { font-size : larger } -BIG.XHUGE { font-size : xx-large } - -/* heading styles */ -H1 { } -H2 { } -H3 { } -H4 { } -H5 { } - -/* mathematics styles */ -DIV.displaymath { } /* math displays */ -TD.eqno { } /* equation-number cells */ - - -/* document-specific styles come next */ diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html deleted file mode 100644 index cccebd92..00000000 --- a/docs/html/userhtml.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - -userhtml - - - - - - - - - - - - - - - - - -language=Fortran - -

-PSBLAS -
-
-User's and Reference - Guide
-
A reference guide for the Parallel Sparse BLAS library -
-
-
-
Salvatore Filippone -
-Alfredo Buttari
-
-Software version: 3.6.0 -
-Dec 1st, 2018 - -


- - - - - -

- - -