diff --git a/README b/README index 69a70e27..3cbfaf5a 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This directory contains the MLD2P4 set of preconditioners, version 2.0-beta +This directory contains the MLD2P4 set of preconditioners, version 2.0 WHAT'S NEW @@ -7,13 +7,15 @@ Version 2.0. Finally moved to F2003, with the support of PSBLAS3. There are a few minor differences at user level: 1. In the configure step, you should specify the INSTALL directory - of PSBLAS version 3, not the source directory; + of PSBLAS version 3.4, not the source directory; 2. In the various makefiles, libmld_prec.a should now be used in addition (and in front of) libpsb_prec.a, and no longer in place of it. 3. As for the basic usage, this is practically identical to the previous version(s). + You should use the same MPI/serial compilers that were used for the + PSBLAS installation. The Fortran 2003 support means that it is far easier to develop and integrate new solvers and smoothers; you need to take one of the existing solvers/smoothers as a model, develop your own by @@ -22,16 +24,13 @@ Version 2.0. the PROTOTYPE design pattern. Take a look at the test/newslv directory to see an example. It's easier done than said! - Note in this beta version the interface to SuperLU_Dist 3.3 is - having some issues (most notably, we have chosen to have a memory - leak in place of a segfault), we'll fix them asap. - Versions tested: + Versions known to work: UMFPACK: 5.4 - SuperLU: 4.3 - SuperLU_Dist: 3.3 - Note that with SuperLU_Dist you will probably need to link - additional libraries, e.g. ParMetis; you can do this with the - configure option --with-extra-libs + SuperLU: 4.3 and 5.0 + SuperLU_Dist: 3.3 and 4.2 + Note that with SuperLU_Dist you will probably need to add further + link options, e.g. the ParMetis library or the openmp runtime; + you can do this using the configure option --with-extra-libs In version 1.1: - The MLD_SIZEOF() function has been redefined to be INTEGER(8), so @@ -45,7 +44,7 @@ In version 1.1: To compile: 0. Unpack the tar file in a directory of your choice (preferrably outside the main PSBLAS directory). -1. run configure --with-psblas= +1. run configure --with-psblas= adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired. 2. Tweak Make.inc if you are not satisfied. diff --git a/config/pac.m4 b/config/pac.m4 index e294f6e1..dddddd16 100644 --- a/config/pac.m4 +++ b/config/pac.m4 @@ -758,7 +758,7 @@ dnl dnl @author Salvatore Filippone dnl AC_DEFUN(PAC_CHECK_UMFPACK, -[AC_ARG_WITH(umfpack, AC_HELP_STRING([--with-umfpack=LIBNAME], [Specify the library name for UMFPACK library. +[AC_ARG_WITH(umfpack, AC_HELP_STRING([--with-umfpack=LIBNAME], [Specify the library name for UMFPACK and its support libraries. Default: "-lumfpack -lamd"]), [mld2p4_cv_umfpack=$withval], [mld2p4_cv_umfpack='-lumfpack -lamd']) @@ -887,7 +887,7 @@ AC_ARG_WITH(superluincdir, AC_HELP_STRING([--with-superluincdir=DIR], [Specify t AC_ARG_WITH(superlulibdir, AC_HELP_STRING([--with-superlulibdir=DIR], [Specify the directory for SUPERLU library.]), [mld2p4_cv_superlulibdir=$withval], [mld2p4_cv_superlulibdir='']) -AC_LANG([C]) +AC_LANG_PUSH([C]) save_LIBS="$LIBS" save_CPPFLAGS="$CPPFLAGS" if test "x$mld2p4_cv_superluincdir" != "x"; then @@ -904,7 +904,7 @@ elif test "x$mld2p4_cv_superludir" != "x"; then fi LIBS="$SLU_LIBS $LIBS" -CPPFLAGS="$SLU_INCLUDES $CPPFLAGS" +CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" AC_CHECK_HEADER([slu_ddefs.h], [pac_slu_header_ok=yes], [pac_slu_header_ok=no; SLU_INCLUDES=""]) @@ -912,7 +912,7 @@ if test "x$pac_slu_header_ok" == "xno" ; then dnl Maybe Include or include subdirs? unset ac_cv_header_slu_ddefs_h SLU_INCLUDES="-I$mld2p4_cv_superludir/include -I$mld2p4_cv_superludir/Include " - CPPFLAGS="$SLU_INCLUDES $SAVE_CPPFLAGS" + CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" AC_CHECK_HEADER([slu_ddefs.h], [pac_slu_header_ok=yes], @@ -921,7 +921,7 @@ fi if test "x$pac_slu_header_ok" == "xyes" ; then SLU_LIBS="$mld2p4_cv_superlu $SLU_LIBS" - LIBS="$SLU_LIBS -lm $LIBS"; + LIBS="$SLU_LIBS -lm $save_LIBS"; AC_MSG_CHECKING([for superlu_malloc in $SLU_LIBS]) AC_TRY_LINK_FUNC(superlu_malloc, [mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes;], @@ -929,15 +929,51 @@ if test "x$pac_slu_header_ok" == "xyes" ; then if test "x$pac_slu_lib_ok" == "xno" ; then dnl Maybe lib? SLU_LIBS="$mld2p4_cv_superlu -L$mld2p4_cv_superludir/lib"; - LIBS="$SLU_LIBS -lm $SAVE_LIBS"; + LIBS="$SLU_LIBS -lm $save_LIBS"; AC_TRY_LINK_FUNC(superlu_malloc, [mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes;], [mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; SLU_INCLUDES=""]) fi AC_MSG_RESULT($pac_slu_lib_ok) fi -LIBS="$SAVE_LIBS"; -CPPFLAGS="$SAVE_CPPFLAGS"; +if test "x$pac_slu_header_ok" == "xyes" ; then + AC_MSG_CHECKING([for superlu version 5]) + ac_objext='.o' + ac_ext='c' + ac_compile='${MPICC-$CC} -c -o conftest${ac_objext} $CPPFLAGS conftest.$ac_ext 1>&5' + i=0 + while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; + do + i=`expr $i + 1` + done + mkdir tmpdir_$i + cd tmpdir_$i + cat > conftest.$ac_ext < conftest.$ac_ext <. # -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -24,15 +22,23 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + as_nl=' ' export as_nl @@ -40,13 +46,7 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -57,7 +57,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in #( + case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -80,6 +80,13 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -89,16 +96,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( +case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -110,16 +116,12 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' @@ -131,294 +133,7 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: bugreport@mld2p4.it about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - +# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -432,12 +147,8 @@ else as_basename=false fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -457,133 +168,437 @@ $as_echo X/"$0" | } s/.*/./; q'` -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 } -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file +exitcode=0 +if as_func_success; then + : else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null + exitcode=1 + echo as_func_success failed. fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' +if as_func_ret_success; then + : else - test -d ./-p && rmdir ./-p - as_mkdir_p=false + exitcode=1 + echo as_func_ret_success failed. fi -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +test \$exitcode = 0) || { (exit 1); exit 1; } +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS -test -n "$DJDIR" || exec 7<&0 &1 -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= +fi -# Identity of this package. -PACKAGE_NAME='MLD2P4' -PACKAGE_TARNAME='mld2p4' -PACKAGE_VERSION='2.0' + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='MLD2P4' +PACKAGE_TARNAME='mld2p4' +PACKAGE_VERSION='2.0' PACKAGE_STRING='MLD2P4 2.0' PACKAGE_BUGREPORT='bugreport@mld2p4.it' -PACKAGE_URL='' ac_unique_file="mlprec/mld_prec_type.f90" # Factoring default headers for most tests. @@ -692,7 +707,6 @@ bindir program_transform_name prefix exec_prefix -PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -799,9 +813,8 @@ do fi case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -846,7 +859,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -872,7 +886,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1076,7 +1091,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1092,7 +1108,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1122,17 +1139,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1141,7 +1158,7 @@ Try \`$0 --help' for more information" $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac @@ -1149,13 +1166,15 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1178,7 +1197,8 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -1192,6 +1212,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1206,9 +1228,11 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" + { $as_echo "$as_me: error: working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } # Find the source files, if location was not specified. @@ -1247,11 +1271,13 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1291,7 +1317,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1320,697 +1346,174 @@ Fine tuning of the installation directories: --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/mld2p4] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of MLD2P4 2.0:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-serial Specify whether to enable a fake mpi library to run - in serial mode. - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-psblas The install directory for PSBLAS, for example, - --with-psblas=/opt/packages/psblas-3.1 - --with-psblas-incdir=DIR - Specify the directory for PSBLAS includes. - --with-psblas-libdir=DIR - Specify the directory for PSBLAS library. - --with-extra-libs List additional link flags here. For example, - --with-extra-libs=-lspecial_system_lib or - --with-extra-libs=-L/path/to/libs - --with-umfpack=LIBNAME Specify the library name for UMFPACK library. - Default: "-lumfpack -lamd" - --with-umfpackdir=DIR Specify the directory for UMFPACK library and - includes. - --with-umfpackincdir=DIR - Specify the directory for UMFPACK includes. - --with-umfpacklibdir=DIR - Specify the directory for UMFPACK library. - --with-superlu=LIBNAME Specify the library name for SUPERLU library. - Default: "-lsuperlu" - --with-superludir=DIR Specify the directory for SUPERLU library and - includes. - --with-superluincdir=DIR - Specify the directory for SUPERLU includes. - --with-superlulibdir=DIR - Specify the directory for SUPERLU library. - --with-superludist=LIBNAME - Specify the libname for SUPERLUDIST library. - Requires you also specify SuperLU. Default: - "-lsuperlu_dist" - --with-superludistdir=DIR - Specify the directory for SUPERLUDIST library and - includes. - --with-superludistincdir=DIR - Specify the directory for SUPERLUDIST includes. - --with-superludistlibdir=DIR - Specify the directory for SUPERLUDIST library. - -Some influential environment variables: - FC Fortran compiler command - FCFLAGS Fortran compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CC C compiler command - CFLAGS C compiler flags - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - MPICC MPI C compiler command - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - MPIF77 MPI Fortran 77 compiler command - MPIFC MPI Fortran compiler command - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -MLD2P4 configure 2.0 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_fc_try_compile LINENO -# --------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_compile - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ---------------------------------- ## -## Report this to bugreport@mld2p4.it ## -## ---------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/mld2p4] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF - ac_retval=1 + cat <<\_ACEOF +_ACEOF fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of MLD2P4 2.0:";; + esac + cat <<\_ACEOF -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-serial Specify whether to enable a fake mpi library to run + in serial mode. -#ifdef __STDC__ -# include -#else -# include -#endif +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-psblas=DIR The install directory for PSBLAS, for example, + --with-psblas=/opt/packages/psblas-3.3 + --with-psblas-incdir=DIR + Specify the directory for PSBLAS includes. + --with-psblas-libdir=DIR + Specify the directory for PSBLAS library. + --with-extra-libs List additional link flags here. For example, + --with-extra-libs=-lspecial_system_lib or + --with-extra-libs=-L/path/to/libs + --with-umfpack=LIBNAME Specify the library name for UMFPACK and its support + libraries. Default: "-lumfpack -lamd" + --with-umfpackdir=DIR Specify the directory for UMFPACK library and + includes. + --with-umfpackincdir=DIR + Specify the directory for UMFPACK includes. + --with-umfpacklibdir=DIR + Specify the directory for UMFPACK library. + --with-superlu=LIBNAME Specify the library name for SUPERLU library. + Default: "-lsuperlu" + --with-superludir=DIR Specify the directory for SUPERLU library and + includes. + --with-superluincdir=DIR + Specify the directory for SUPERLU includes. + --with-superlulibdir=DIR + Specify the directory for SUPERLU library. + --with-superludist=LIBNAME + Specify the libname for SUPERLUDIST library. + Requires you also specify SuperLU. Default: + "-lsuperlu_dist" + --with-superludistdir=DIR + Specify the directory for SUPERLUDIST library and + includes. + --with-superludistincdir=DIR + Specify the directory for SUPERLUDIST includes. + --with-superludistlibdir=DIR + Specify the directory for SUPERLUDIST library. -#undef $2 +Some influential environment variables: + FC Fortran compiler command + FCFLAGS Fortran compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CC C compiler command + CFLAGS C compiler flags + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + MPICC MPI C compiler command + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + MPIF77 MPI Fortran 77 compiler command + MPIFC MPI Fortran compiler command -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. -int -main () -{ -return $2 (); - ; - return 0; -} +Report bugs to . _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +ac_status=$? fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_check_func +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. -# ac_fn_f77_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_f77_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_f77_try_compile +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix -# ac_fn_f77_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_f77_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - ac_retval=1 + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval -} # ac_fn_f77_try_link - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +MLD2P4 configure 2.0 +generated by GNU Autoconf 2.63 - ac_retval=1 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by MLD2P4 $as_me 2.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2046,8 +1549,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done + $as_echo "PATH: $as_dir" +done IFS=$as_save_IFS } >&5 @@ -2084,9 +1587,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) - as_fn_append ac_configure_args1 " '$ac_arg'" + ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -2102,13 +1605,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - as_fn_append ac_configure_args " '$ac_arg'" + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -2120,9 +1623,11 @@ trap 'exit_status=$? { echo - $as_echo "## ---------------- ## + cat <<\_ASBOX +## ---------------- ## ## Cache variables. ## -## ---------------- ##" +## ---------------- ## +_ASBOX echo # The following way of writing the cache mishandles newlines in values, ( @@ -2131,13 +1636,13 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -2156,9 +1661,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + cat <<\_ASBOX +## ----------------- ## ## Output variables. ## -## ----------------- ##" +## ----------------- ## +_ASBOX echo for ac_var in $ac_subst_vars do @@ -2171,9 +1678,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + cat <<\_ASBOX +## ------------------- ## ## File substitutions. ## -## ------------------- ##" +## ------------------- ## +_ASBOX echo for ac_var in $ac_subst_files do @@ -2187,9 +1696,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; fi if test -s confdefs.h; then - $as_echo "## ----------- ## + cat <<\_ASBOX +## ----------- ## ## confdefs.h. ## -## ----------- ##" +## ----------- ## +_ASBOX echo cat confdefs.h echo @@ -2203,39 +1714,37 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h - # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF @@ -2244,12 +1753,7 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2260,23 +1764,19 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 + if test -r "$ac_site_file"; then + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } + . "$ac_site_file" fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -2284,7 +1784,7 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -2299,11 +1799,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -2313,17 +1813,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -2335,20 +1835,43 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## + + + + + + + + + + + + + + + + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2366,7 +1889,7 @@ mld2p4_cv_version="2.0" # Our custom M4 macros are in the 'config' directory -{ $as_echo "$as_me:${as_lineno-$LINENO}: +{ $as_echo "$as_me:$LINENO: -------------------------------------------------------------------------------- Welcome to the $PACKAGE_NAME $mld2p4_cv_version configure Script. @@ -2396,7 +1919,7 @@ $as_echo "$as_me: # Check whether --with-psblas was given. -if test "${with_psblas+set}" = set; then : +if test "${with_psblas+set}" = set; then withval=$with_psblas; pac_cv_psblas_dir=$withval else pac_cv_psblas_dir='' @@ -2404,7 +1927,7 @@ fi # Check whether --with-psblas-incdir was given. -if test "${with_psblas_incdir+set}" = set; then : +if test "${with_psblas_incdir+set}" = set; then withval=$with_psblas_incdir; pac_cv_psblas_incdir=$withval else pac_cv_psblas_incdir='' @@ -2412,7 +1935,7 @@ fi # Check whether --with-psblas-libdir was given. -if test "${with_psblas_libdir+set}" = set; then : +if test "${with_psblas_libdir+set}" = set; then withval=$with_psblas_libdir; pac_cv_psblas_libdir=$withval else pac_cv_psblas_libdir='' @@ -2429,21 +1952,28 @@ fi PSBLAS_DIR="$pac_cv_psblas_dir"; PSBLAS_INCDIR="$pac_cv_psblas_incdir"; PSBLAS_LIBDIR="$pac_cv_psblas_libdir"; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PSBLAS install dir" >&5 +{ $as_echo "$as_me:$LINENO: checking for PSBLAS install dir" >&5 $as_echo_n "checking for PSBLAS install dir... " >&6; } case $PSBLAS_DIR in /*) ;; - *) as_fn_error $? "The PSBLAS installation dir must be an absolute pathname - specified with --with-psblas=/path/to/psblas" "$LINENO" 5 + *) { { $as_echo "$as_me:$LINENO: error: The PSBLAS installation dir must be an absolute pathname + specified with --with-psblas=/path/to/psblas" >&5 +$as_echo "$as_me: error: The PSBLAS installation dir must be an absolute pathname + specified with --with-psblas=/path/to/psblas" >&2;} + { (exit 1); exit 1; }; } esac if test ! -d "$PSBLAS_DIR" ; then - as_fn_error $? "Could not find PSBLAS build dir $PSBLAS_DIR!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Could not find PSBLAS build dir $PSBLAS_DIR!" >&5 +$as_echo "$as_me: error: Could not find PSBLAS build dir $PSBLAS_DIR!" >&2;} + { (exit 1); exit 1; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PSBLAS_DIR" >&5 +{ $as_echo "$as_me:$LINENO: result: $PSBLAS_DIR" >&5 $as_echo "$PSBLAS_DIR" >&6; } pac_cv_status_file="$PSBLAS_INCDIR/Make.inc.psblas" if test ! -f "$pac_cv_status_file" ; then - as_fn_error $? "Could not find an installation in $PSBLAS_DIR." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Could not find an installation in $PSBLAS_DIR." >&5 +$as_echo "$as_me: error: Could not find an installation in $PSBLAS_DIR." >&2;} + { (exit 1); exit 1; }; } fi # @@ -2467,7 +1997,9 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do fi done if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, @@ -2493,10 +2025,10 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : +if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2504,11 +2036,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2516,7 +2048,7 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2545,7 +2077,7 @@ case $as_dir/ in #(( ;; esac - done +done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -2561,7 +2093,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -2573,7 +2105,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install" >&5 +{ $as_echo "$as_me:$LINENO: checking where to install" >&5 $as_echo_n "checking where to install... " >&6; } case $prefix in \/* ) eval "INSTALL_DIR=$prefix";; @@ -2591,7 +2123,7 @@ case $docsdir in \/* ) eval "INSTALL_DOCSDIR=$docsdir";; * ) eval "INSTALL_DOCSDIR=$INSTALL_DIR/docs";; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR" >&5 +{ $as_echo "$as_me:$LINENO: result: $INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR" >&5 $as_echo "$INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR" >&6; } ############################################################################### @@ -2607,9 +2139,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : +if test "${ac_cv_prog_FC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$FC"; then @@ -2620,24 +2152,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi FC=$ac_cv_prog_FC if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 + { $as_echo "$as_me:$LINENO: result: $FC" >&5 $as_echo "$FC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -2651,9 +2183,9 @@ if test -z "$FC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : +if test "${ac_cv_prog_ac_ct_FC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_FC"; then @@ -2664,24 +2196,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_FC=$ac_cv_prog_ac_ct_FC if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_FC" >&5 $as_echo "$ac_ct_FC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -2694,7 +2226,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2704,32 +2236,45 @@ fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 +$as_echo "$as_me:$LINENO: checking for Fortran compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } rm -f a.out -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main end @@ -2739,8 +2284,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 -$as_echo_n "checking whether the Fortran compiler works... " >&6; } +{ $as_echo "$as_me:$LINENO: checking for Fortran compiler default output file name" >&5 +$as_echo_n "checking for Fortran compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -2756,17 +2301,17 @@ do done rm -f $ac_rmfiles -if { { ac_try="$ac_link_default" +if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2783,7 +2328,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2802,41 +2347,84 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "Fortran compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ { $as_echo "$as_me:$LINENO: error: Fortran compiler cannot create executables +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: Fortran compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 -$as_echo_n "checking for Fortran compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } + ac_exeext=$ac_cv_exeext +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether the Fortran compiler works" >&5 +$as_echo_n "checking whether the Fortran compiler works... " >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -2851,93 +2439,44 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 + +rm -f conftest$ac_cv_exeext +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -cat > conftest.$ac_ext <<_ACEOF - program main - open(unit=9,file='conftest.out') - close(unit=9) - - end -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run Fortran compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : +if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -2950,14 +2489,18 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi + rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT @@ -2965,12 +2508,12 @@ ac_objext=$OBJEXT # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : +if test "${ac_cv_fc_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me @@ -2978,44 +2521,86 @@ else end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_fc_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_fc_compiler_gnu" >&5 $as_echo "$ac_cv_fc_compiler_gnu" >&6; } ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS +ac_test_FFLAGS=${FCFLAGS+set} +ac_save_FFLAGS=$FCFLAGS FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +{ $as_echo "$as_me:$LINENO: checking whether $FC accepts -g" >&5 $as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : +if test "${ac_cv_prog_fc_g+set}" = set; then $as_echo_n "(cached) " >&6 else FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_fc_g=yes else - ac_cv_prog_fc_g=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_fc_g=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_fc_g" >&5 $as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS +if test "$ac_test_FFLAGS" = set; then + FCFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_fc_g = yes; then if test "x$ac_cv_fc_compiler_gnu" = xyes; then FCFLAGS="-g -O2" @@ -3030,11 +2615,6 @@ else fi fi -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3051,9 +2631,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3064,24 +2644,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3095,9 +2675,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3108,24 +2688,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3138,7 +2718,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3147,42 +2727,62 @@ esac fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : +if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3196,16 +2796,37 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -3214,16 +2835,20 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : +if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3234,11 +2859,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3249,12 +2898,36 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_c_werror_flag=$ac_save_c_werror_flag + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3265,17 +2938,42 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -3292,18 +2990,23 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : +if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include -struct stat; +#include +#include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3355,9 +3058,32 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3368,19 +3094,17 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 + { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then : -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3390,7 +3114,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "X$CC" == "X" ; then - as_fn_error $? "Problem : No C compiler specified nor found!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Problem : No C compiler specified nor found!" >&5 +$as_echo "$as_me: error: Problem : No C compiler specified nor found!" >&2;} + { (exit 1); exit 1; }; } fi if eval "$FC -qversion 2>&1 | grep XL 2>/dev/null" ; then # Some configurations of the XLF want "-WF," prepended to -D.. flags. @@ -3405,18 +3131,18 @@ if eval "$FC -qversion 2>&1 | grep XL 2>/dev/null" ; then # More problems could be undocumented yet. fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional libraries are needed" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional libraries are needed" >&5 $as_echo_n "checking whether additional libraries are needed... " >&6; } # Check whether --with-extra-libs was given. -if test "${with_extra_libs+set}" = set; then : +if test "${with_extra_libs+set}" = set; then withval=$with_extra_libs; EXTRA_LIBS="${withval}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: EXTRA_LIBS = ${EXTRA_LIBS}" >&5 +{ $as_echo "$as_me:$LINENO: result: EXTRA_LIBS = ${EXTRA_LIBS}" >&5 $as_echo "EXTRA_LIBS = ${EXTRA_LIBS}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3450,14 +3176,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : + if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -3472,7 +3198,11 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3481,34 +3211,78 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then break fi @@ -3520,7 +3294,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -3531,7 +3305,11 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3540,40 +3318,87 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -3583,9 +3408,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : +if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -3596,10 +3421,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -3616,7 +3441,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -3631,24 +3456,26 @@ esac $ac_path_GREP_found && break 3 done done - done +done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : +if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3662,10 +3489,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -3682,7 +3509,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3697,10 +3524,12 @@ esac $ac_path_EGREP_found && break 3 done done - done +done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP @@ -3708,17 +3537,21 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include @@ -3733,23 +3566,48 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - ac_cv_header_stdc=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - + $EGREP "memchr" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi @@ -3759,14 +3617,18 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - + $EGREP "free" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi @@ -3776,10 +3638,14 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes; then : else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include @@ -3806,33 +3672,118 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : else - ac_cv_header_stdc=no + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -3844,7 +3795,7 @@ done # Check whether --with-umfpack was given. -if test "${with_umfpack+set}" = set; then : +if test "${with_umfpack+set}" = set; then withval=$with_umfpack; mld2p4_cv_umfpack=$withval else mld2p4_cv_umfpack='-lumfpack -lamd' @@ -3852,7 +3803,7 @@ fi # Check whether --with-umfpackdir was given. -if test "${with_umfpackdir+set}" = set; then : +if test "${with_umfpackdir+set}" = set; then withval=$with_umfpackdir; mld2p4_cv_umfpackdir=$withval else mld2p4_cv_umfpackdir='' @@ -3860,7 +3811,7 @@ fi # Check whether --with-umfpackincdir was given. -if test "${with_umfpackincdir+set}" = set; then : +if test "${with_umfpackincdir+set}" = set; then withval=$with_umfpackincdir; mld2p4_cv_umfpackincdir=$withval else mld2p4_cv_umfpackincdir='' @@ -3868,7 +3819,7 @@ fi # Check whether --with-umfpacklibdir was given. -if test "${with_umfpacklibdir+set}" = set; then : +if test "${with_umfpacklibdir+set}" = set; then withval=$with_umfpacklibdir; mld2p4_cv_umfpacklibdir=$withval else mld2p4_cv_umfpacklibdir='' @@ -3884,17 +3835,148 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu save_LIBS="$LIBS" save_CPPFLAGS="$CPPFLAGS" if test "x$mld2p4_cv_umfpackincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: umfp include dir $mld2p4_cv_umfpackincdir" >&5 + { $as_echo "$as_me:$LINENO: umfp include dir $mld2p4_cv_umfpackincdir" >&5 $as_echo "$as_me: umfp include dir $mld2p4_cv_umfpackincdir" >&6;} UMF_INCLUDES="-I$mld2p4_cv_umfpackincdir" elif test "x$mld2p4_cv_umfpackdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: umfp dir $mld2p4_cv_umfpackdir" >&5 + { $as_echo "$as_me:$LINENO: umfp dir $mld2p4_cv_umfpackdir" >&5 $as_echo "$as_me: umfp dir $mld2p4_cv_umfpackdir" >&6;} UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" fi CPPFLAGS="$UMF_INCLUDES $CPPFLAGS" -ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : +if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } + +fi +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else pac_umf_header_ok=no; UMF_INCLUDES="" @@ -3912,24 +3994,286 @@ if test "x$pac_umf_header_ok" == "xno" ; then unset ac_cv_header_umfpack_h UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } + +fi +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else - pac_umf_header_ok=no; UMF_INCLUDES="" + pac_umf_header_ok=no; UMF_INCLUDES="" +fi + + +fi +if test "x$pac_umf_header_ok" == "xno" ; then + unset ac_cv_header_umfpack_h + UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/include -I$mld2p4_cv_umfpackdir/Include " + CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" + + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_INCLUDES" >&5 +$as_echo_n "checking for umfpack_di_symbolic in $UMF_INCLUDES... " >&6; } + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc fi - +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } fi -if test "x$pac_umf_header_ok" == "xno" ; then - unset ac_cv_header_umfpack_h - UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/include -I$mld2p4_cv_umfpackdir/Include " - CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_INCLUDES" >&5 -$as_echo_n "checking for umfpack_di_symbolic in $UMF_INCLUDES... " >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else pac_umf_header_ok=no; UMF_INCLUDES="" @@ -3941,8 +4285,139 @@ if test "x$pac_umf_header_ok" == "xno" ; then unset ac_cv_header_umfpack_h UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/UFconfig -I$mld2p4_cv_umfpackdir/UMFPACK/Include -I$mld2p4_cv_umfpackdir/AMD/Include" CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } + +fi +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else pac_umf_header_ok=no; UMF_INCLUDES="" @@ -3955,9 +4430,13 @@ fi if test "x$pac_umf_header_ok" == "xyes" ; then UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR" LIBS="$UMF_LIBS -lm $LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -3975,23 +4454,52 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } if test "x$pac_umf_lib_ok" == "xno" ; then UMF_LIBDIR="-L$mld2p4_cv_umfpackdir/Lib -L$mld2p4_cv_umfpackdir/lib" UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR -lm $SAVE_LIBS" LIBS="$UMF_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4009,23 +4517,52 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } fi if test "x$pac_umf_lib_ok" == "xno" ; then UMF_LIBDIR="-L$mld2p4_cv_umfpackdir/AMD/Lib -L$mld2p4_cv_umfpackdir/UMFPACK/Lib" UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR -lm $SAVE_LIBS" LIBS="$UMF_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4043,14 +4580,39 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } fi fi @@ -4065,10 +4627,10 @@ else fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we want serial (fake) mpi" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we want serial (fake) mpi" >&5 $as_echo_n "checking whether we want serial (fake) mpi... " >&6; } # Check whether --enable-serial was given. -if test "${enable_serial+set}" = set; then : +if test "${enable_serial+set}" = set; then enableval=$enable_serial; pac_cv_serial_mpi="yes"; @@ -4076,11 +4638,11 @@ pac_cv_serial_mpi="yes"; fi if test x"$pac_cv_serial_mpi" == x"yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes." >&5 + { $as_echo "$as_me:$LINENO: result: yes." >&5 $as_echo "yes." >&6; } else pac_cv_serial_mpi="no"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no." >&5 + { $as_echo "$as_me:$LINENO: result: no." >&5 $as_echo "no." >&6; } fi @@ -4105,9 +4667,9 @@ if test "X$MPICC" = "X" ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPICC+:} false; then : +if test "${ac_cv_prog_MPICC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPICC"; then @@ -4118,24 +4680,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPICC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPICC=$ac_cv_prog_MPICC if test -n "$MPICC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPICC" >&5 $as_echo "$MPICC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4153,9 +4715,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPICC+:} false; then : +if test "${ac_cv_prog_MPICC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPICC"; then @@ -4166,24 +4728,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPICC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPICC=$ac_cv_prog_MPICC if test -n "$MPICC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPICC" >&5 $as_echo "$MPICC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4198,22 +4760,110 @@ test -n "$MPICC" || MPICC="$CC" if test x = x"$MPILIBS"; then - ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes; then : + { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 +$as_echo_n "checking for MPI_Init... " >&6; } +if test "${ac_cv_func_MPI_Init+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define MPI_Init to an innocuous variant, in case declares MPI_Init. + For example, HP-UX 11i declares gettimeofday. */ +#define MPI_Init innocuous_MPI_Init + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char MPI_Init (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef MPI_Init + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char MPI_Init (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_MPI_Init || defined __stub___MPI_Init +choke me +#endif + +int +main () +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_MPI_Init=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_MPI_Init=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_MPI_Init" >&5 +$as_echo "$ac_cv_func_MPI_Init" >&6; } +if test "x$ac_cv_func_MPI_Init" = x""yes; then MPILIBS=" " fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4231,31 +4881,60 @@ return MPI_Init (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpi_MPI_Init=yes else - ac_cv_lib_mpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4273,27 +4952,56 @@ return MPI_Init (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpich_MPI_Init=yes else - ac_cv_lib_mpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 + { $as_echo "$as_me:$LINENO: checking for mpi.h" >&5 $as_echo_n "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int @@ -4304,14 +5012,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - MPILIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + MPILIBS="" + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -4321,11 +5050,15 @@ CC="$acx_mpi_save_CC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then - as_fn_error $? "Cannot find any suitable MPI implementation for C" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find any suitable MPI implementation for C" >&5 +$as_echo "$as_me: error: Cannot find any suitable MPI implementation for C" >&2;} + { (exit 1); exit 1; }; } : else -$as_echo "#define HAVE_MPI 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_MPI 1 +_ACEOF : fi @@ -4341,9 +5074,9 @@ if test "X$MPIF77" = "X" ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIF77+:} false; then : +if test "${ac_cv_prog_MPIF77+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIF77"; then @@ -4354,24 +5087,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIF77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIF77=$ac_cv_prog_MPIF77 if test -n "$MPIF77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIF77" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIF77" >&5 $as_echo "$MPIF77" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4385,13 +5118,13 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_F77+:} false; then : +if test "${ac_cv_prog_F77+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$F77"; then @@ -4402,24 +5135,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 + { $as_echo "$as_me:$LINENO: result: $F77" >&5 $as_echo "$F77" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4429,13 +5162,13 @@ fi fi if test -z "$F77"; then ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_F77+:} false; then : +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_F77"; then @@ -4446,24 +5179,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 $as_echo "$ac_ct_F77" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4476,7 +5209,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4486,41 +5219,54 @@ fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 +$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if ${ac_cv_f77_compiler_gnu+:} false; then : +if test "${ac_cv_f77_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me @@ -4528,41 +5274,83 @@ else end _ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 $as_echo "$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 $as_echo_n "checking whether $F77 accepts -g... " >&6; } -if ${ac_cv_prog_f77_g+:} false; then : +if test "${ac_cv_prog_f77_g+set}" = set; then $as_echo_n "(cached) " >&6 else FFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else - ac_cv_prog_f77_g=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 $as_echo "$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS @@ -4600,9 +5388,9 @@ ac_compiler_gnu=$ac_cv_f77_compiler_gnu do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIF77+:} false; then : +if test "${ac_cv_prog_MPIF77+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIF77"; then @@ -4613,24 +5401,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIF77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIF77=$ac_cv_prog_MPIF77 if test -n "$MPIF77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIF77" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIF77" >&5 $as_echo "$MPIF77" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4645,159 +5433,305 @@ test -n "$MPIF77" || MPIF77="$F77" if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 $as_echo_n "checking for MPI_Init... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_f77_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then MPILIBS=" " - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lfmpi" >&5 $as_echo_n "checking for MPI_Init in -lfmpi... " >&6; } -if ${ac_cv_lib_fmpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_fmpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_f77_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_fmpi_MPI_Init=yes else - ac_cv_lib_fmpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_fmpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_fmpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_fmpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_fmpi_MPI_Init" = x""yes; then MPILIBS="-lfmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lfmpich" >&5 $as_echo_n "checking for MPI_Init in -lfmpich... " >&6; } -if ${ac_cv_lib_fmpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_fmpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfmpich $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_f77_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_fmpich_MPI_Init=yes else - ac_cv_lib_fmpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_fmpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_fmpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_fmpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_fmpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_fmpich_MPI_Init" = x""yes; then MPILIBS="-lfmpich" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_f77_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpi_MPI_Init=yes else - ac_cv_lib_mpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_f77_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpich_MPI_Init=yes else - ac_cv_lib_mpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 + { $as_echo "$as_me:$LINENO: checking for mpif.h" >&5 $as_echo_n "checking for mpif.h... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main include 'mpif.h' end _ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - MPILIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + MPILIBS="" + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -4807,11 +5741,15 @@ F77="$acx_mpi_save_F77" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then - as_fn_error $? "Cannot find any suitable MPI implementation for Fortran 77" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find any suitable MPI implementation for Fortran 77" >&5 +$as_echo "$as_me: error: Cannot find any suitable MPI implementation for Fortran 77" >&2;} + { (exit 1); exit 1; }; } : else -$as_echo "#define HAVE_MPI 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_MPI 1 +_ACEOF : fi @@ -4829,9 +5767,9 @@ if test "X$MPIFC" = "X" ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIFC+:} false; then : +if test "${ac_cv_prog_MPIFC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIFC"; then @@ -4842,24 +5780,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIFC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIFC=$ac_cv_prog_MPIFC if test -n "$MPIFC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIFC" >&5 $as_echo "$MPIFC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4879,9 +5817,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIFC+:} false; then : +if test "${ac_cv_prog_MPIFC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIFC"; then @@ -4892,24 +5830,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIFC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIFC=$ac_cv_prog_MPIFC if test -n "$MPIFC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIFC" >&5 $as_echo "$MPIFC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4924,159 +5862,305 @@ test -n "$MPIFC" || MPIFC="$FC" if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 $as_echo_n "checking for MPI_Init... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then MPILIBS=" " - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lfmpi" >&5 $as_echo_n "checking for MPI_Init in -lfmpi... " >&6; } -if ${ac_cv_lib_fmpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_fmpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_fmpi_MPI_Init=yes else - ac_cv_lib_fmpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_fmpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_fmpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_fmpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_fmpi_MPI_Init" = x""yes; then MPILIBS="-lfmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpichf90" >&5 $as_echo_n "checking for MPI_Init in -lmpichf90... " >&6; } -if ${ac_cv_lib_mpichf90_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpichf90_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpichf90 $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpichf90_MPI_Init=yes else - ac_cv_lib_mpichf90_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpichf90_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpichf90_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpichf90_MPI_Init" = x""yes; then MPILIBS="-lmpichf90" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpi_MPI_Init=yes else - ac_cv_lib_mpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpich_MPI_Init=yes else - ac_cv_lib_mpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 + { $as_echo "$as_me:$LINENO: checking for mpif.h" >&5 $as_echo_n "checking for mpif.h... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main include 'mpif.h' end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - MPILIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + MPILIBS="" + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -5086,11 +6170,15 @@ FC="$acx_mpi_save_FC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then - as_fn_error $? "Cannot find any suitable MPI implementation for Fortran" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find any suitable MPI implementation for Fortran" >&5 +$as_echo "$as_me: error: Cannot find any suitable MPI implementation for Fortran" >&2;} + { (exit 1); exit 1; }; } : else -$as_echo "#define HAVE_MPI 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_MPI 1 +_ACEOF : fi @@ -5112,7 +6200,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --with-superlu was given. -if test "${with_superlu+set}" = set; then : +if test "${with_superlu+set}" = set; then withval=$with_superlu; mld2p4_cv_superlu=$withval else mld2p4_cv_superlu='-lsuperlu' @@ -5120,7 +6208,7 @@ fi # Check whether --with-superludir was given. -if test "${with_superludir+set}" = set; then : +if test "${with_superludir+set}" = set; then withval=$with_superludir; mld2p4_cv_superludir=$withval else mld2p4_cv_superludir='' @@ -5128,60 +6216,322 @@ fi # Check whether --with-superluincdir was given. -if test "${with_superluincdir+set}" = set; then : +if test "${with_superluincdir+set}" = set; then withval=$with_superluincdir; mld2p4_cv_superluincdir=$withval else - mld2p4_cv_superluincdir='' + mld2p4_cv_superluincdir='' +fi + + +# Check whether --with-superlulibdir was given. +if test "${with_superlulibdir+set}" = set; then + withval=$with_superlulibdir; mld2p4_cv_superlulibdir=$withval +else + mld2p4_cv_superlulibdir='' +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +save_LIBS="$LIBS" +save_CPPFLAGS="$CPPFLAGS" +if test "x$mld2p4_cv_superluincdir" != "x"; then + { $as_echo "$as_me:$LINENO: slu include dir $mld2p4_cv_superluincdir" >&5 +$as_echo "$as_me: slu include dir $mld2p4_cv_superluincdir" >&6;} + SLU_INCLUDES="-I$mld2p4_cv_superluincdir" +elif test "x$mld2p4_cv_superludir" != "x"; then + { $as_echo "$as_me:$LINENO: slu dir $mld2p4_cv_superludir" >&5 +$as_echo "$as_me: slu dir $mld2p4_cv_superludir" >&6;} + SLU_INCLUDES="-I$mld2p4_cv_superludir" +fi +if test "x$mld2p4_cv_superlulibdir" != "x"; then + SLU_LIBS="-L$mld2p4_cv_superlulibdir" +elif test "x$mld2p4_cv_superludir" != "x"; then + SLU_LIBS="-L$mld2p4_cv_superludir" +fi + +LIBS="$SLU_LIBS $LIBS" +CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" +if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for slu_ddefs.h" >&5 +$as_echo_n "checking for slu_ddefs.h... " >&6; } +if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_slu_ddefs_h" >&5 +$as_echo "$ac_cv_header_slu_ddefs_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking slu_ddefs.h usability" >&5 +$as_echo_n "checking slu_ddefs.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking slu_ddefs.h presence" >&5 +$as_echo_n "checking slu_ddefs.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for slu_ddefs.h" >&5 +$as_echo_n "checking for slu_ddefs.h... " >&6; } +if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_slu_ddefs_h=$ac_header_preproc fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_slu_ddefs_h" >&5 +$as_echo "$ac_cv_header_slu_ddefs_h" >&6; } - -# Check whether --with-superlulibdir was given. -if test "${with_superlulibdir+set}" = set; then : - withval=$with_superlulibdir; mld2p4_cv_superlulibdir=$withval +fi +if test "x$ac_cv_header_slu_ddefs_h" = x""yes; then + pac_slu_header_ok=yes else - mld2p4_cv_superlulibdir='' + pac_slu_header_ok=no; SLU_INCLUDES="" fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -save_LIBS="$LIBS" -save_CPPFLAGS="$CPPFLAGS" -if test "x$mld2p4_cv_superluincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: slu include dir $mld2p4_cv_superluincdir" >&5 -$as_echo "$as_me: slu include dir $mld2p4_cv_superluincdir" >&6;} - SLU_INCLUDES="-I$mld2p4_cv_superluincdir" -elif test "x$mld2p4_cv_superludir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: slu dir $mld2p4_cv_superludir" >&5 -$as_echo "$as_me: slu dir $mld2p4_cv_superludir" >&6;} - SLU_INCLUDES="-I$mld2p4_cv_superludir" +if test "x$pac_slu_header_ok" == "xno" ; then + unset ac_cv_header_slu_ddefs_h + SLU_INCLUDES="-I$mld2p4_cv_superludir/include -I$mld2p4_cv_superludir/Include " + CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" + + if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for slu_ddefs.h" >&5 +$as_echo_n "checking for slu_ddefs.h... " >&6; } +if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 fi -if test "x$mld2p4_cv_superlulibdir" != "x"; then - SLU_LIBS="-L$mld2p4_cv_superlulibdir" -elif test "x$mld2p4_cv_superludir" != "x"; then - SLU_LIBS="-L$mld2p4_cv_superludir" +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_slu_ddefs_h" >&5 +$as_echo "$ac_cv_header_slu_ddefs_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking slu_ddefs.h usability" >&5 +$as_echo_n "checking slu_ddefs.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -LIBS="$SLU_LIBS $LIBS" -CPPFLAGS="$SLU_INCLUDES $CPPFLAGS" -ac_fn_c_check_header_mongrel "$LINENO" "slu_ddefs.h" "ac_cv_header_slu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_slu_ddefs_h" = xyes; then : - pac_slu_header_ok=yes +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking slu_ddefs.h presence" >&5 +$as_echo_n "checking slu_ddefs.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - pac_slu_header_ok=no; SLU_INCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } -if test "x$pac_slu_header_ok" == "xno" ; then - unset ac_cv_header_slu_ddefs_h - SLU_INCLUDES="-I$mld2p4_cv_superludir/include -I$mld2p4_cv_superludir/Include " - CPPFLAGS="$SLU_INCLUDES $SAVE_CPPFLAGS" +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: slu_ddefs.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: slu_ddefs.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for slu_ddefs.h" >&5 +$as_echo_n "checking for slu_ddefs.h... " >&6; } +if test "${ac_cv_header_slu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_slu_ddefs_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_slu_ddefs_h" >&5 +$as_echo "$ac_cv_header_slu_ddefs_h" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "slu_ddefs.h" "ac_cv_header_slu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_slu_ddefs_h" = xyes; then : +fi +if test "x$ac_cv_header_slu_ddefs_h" = x""yes; then pac_slu_header_ok=yes else pac_slu_header_ok=no; SLU_INCLUDES="" @@ -5192,10 +6542,14 @@ fi if test "x$pac_slu_header_ok" == "xyes" ; then SLU_LIBS="$mld2p4_cv_superlu $SLU_LIBS" - LIBS="$SLU_LIBS -lm $LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_malloc in $SLU_LIBS" >&5 + LIBS="$SLU_LIBS -lm $save_LIBS"; + { $as_echo "$as_me:$LINENO: checking for superlu_malloc in $SLU_LIBS" >&5 $as_echo_n "checking for superlu_malloc in $SLU_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5213,17 +6567,46 @@ return superlu_malloc (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes; else - mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext if test "x$pac_slu_lib_ok" == "xno" ; then SLU_LIBS="$mld2p4_cv_superlu -L$mld2p4_cv_superludir/lib"; - LIBS="$SLU_LIBS -lm $SAVE_LIBS"; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + LIBS="$SLU_LIBS -lm $save_LIBS"; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5241,22 +6624,95 @@ return superlu_malloc (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes; else - mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; SLU_INCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; SLU_INCLUDES="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_slu_lib_ok" >&5 + { $as_echo "$as_me:$LINENO: result: $pac_slu_lib_ok" >&5 $as_echo "$pac_slu_lib_ok" >&6; } fi -LIBS="$SAVE_LIBS"; -CPPFLAGS="$SAVE_CPPFLAGS"; +if test "x$pac_slu_header_ok" == "xyes" ; then + { $as_echo "$as_me:$LINENO: checking for superlu version 5" >&5 +$as_echo_n "checking for superlu version 5... " >&6; } + ac_objext='.o' + ac_ext='c' + ac_compile='${MPICC-$CC} -c -o conftest${ac_objext} $CPPFLAGS conftest.$ac_ext 1>&5' + i=0 + while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; + do + i=`expr $i + 1` + done + mkdir tmpdir_$i + cd tmpdir_$i + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_objext}; then + pac_slu_version="5"; + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; }; + else + pac_slu_version="3_4"; + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; }; + fi + cd ..; + rm -fr tmpdir_$i; +fi + +LIBS="$save_LIBS"; +CPPFLAGS="$save_CPPFLAGS"; +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test "x$mld2p4_cv_have_superlu" == "xyes" ; then - SLU_FLAGS="-DHave_SLU_ $SLU_INCLUDES" + SLU_FLAGS="-DHave_SLU_ -DSLU_VERSION_$pac_slu_version $SLU_INCLUDES" FDEFINES="$mld_cv_define_prepend-DHAVE_SLU_ $FDEFINES" else SLU_FLAGS="" @@ -5264,7 +6720,7 @@ fi # Check whether --with-superludist was given. -if test "${with_superludist+set}" = set; then : +if test "${with_superludist+set}" = set; then withval=$with_superludist; mld2p4_cv_superludist=$withval else mld2p4_cv_superludist='-lsuperlu_dist' @@ -5272,7 +6728,7 @@ fi # Check whether --with-superludistdir was given. -if test "${with_superludistdir+set}" = set; then : +if test "${with_superludistdir+set}" = set; then withval=$with_superludistdir; mld2p4_cv_superludistdir=$withval else mld2p4_cv_superludistdir='' @@ -5281,7 +6737,7 @@ fi # Check whether --with-superludistincdir was given. -if test "${with_superludistincdir+set}" = set; then : +if test "${with_superludistincdir+set}" = set; then withval=$with_superludistincdir; mld2p4_cv_superludistincdir=$withval else mld2p4_cv_superludistincdir='' @@ -5290,7 +6746,7 @@ fi # Check whether --with-superludistlibdir was given. -if test "${with_superludistlibdir+set}" = set; then : +if test "${with_superludistlibdir+set}" = set; then withval=$with_superludistlibdir; mld2p4_cv_superludistlibdir=$withval else mld2p4_cv_superludistlibdir='' @@ -5307,12 +6763,13 @@ save_LIBS="$LIBS" save_CPPFLAGS="$CPPFLAGS" save_CC="$CC" CC=${MPICC} +CPP="${CC} -E" if test "x$mld2p4_cv_superludistincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: sludist dir $mld2p4_cv_superludistincdir" >&5 + { $as_echo "$as_me:$LINENO: sludist dir $mld2p4_cv_superludistincdir" >&5 $as_echo "$as_me: sludist dir $mld2p4_cv_superludistincdir" >&6;} SLUDIST_INCLUDES="-I$mld2p4_cv_superludistincdir" elif test "x$mld2p4_cv_superludistdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: sludist dir $mld2p4_cv_superludistdir" >&5 + { $as_echo "$as_me:$LINENO: sludist dir $mld2p4_cv_superludistdir" >&5 $as_echo "$as_me: sludist dir $mld2p4_cv_superludistdir" >&6;} SLUDIST_INCLUDES="-I$mld2p4_cv_superludistdir" fi @@ -5322,11 +6779,142 @@ elif test "x$mld2p4_cv_superludistdir" != "x"; then SLUDIST_LIBS="-L$mld2p4_cv_superludir" fi -LIBS="$SLUDIST_LIBS $LIBS" -CPPFLAGS="$SLUDIST_INCLUDES $CPPFLAGS" +LIBS="$SLUDIST_LIBS $save_LIBS" +CPPFLAGS="$SLUDIST_INCLUDES $save_CPPFLAGS" + +if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for superlu_ddefs.h" >&5 +$as_echo_n "checking for superlu_ddefs.h... " >&6; } +if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_superlu_ddefs_h" >&5 +$as_echo "$ac_cv_header_superlu_ddefs_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking superlu_ddefs.h usability" >&5 +$as_echo_n "checking superlu_ddefs.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking superlu_ddefs.h presence" >&5 +$as_echo_n "checking superlu_ddefs.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for superlu_ddefs.h" >&5 +$as_echo_n "checking for superlu_ddefs.h... " >&6; } +if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_superlu_ddefs_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_superlu_ddefs_h" >&5 +$as_echo "$ac_cv_header_superlu_ddefs_h" >&6; } -ac_fn_c_check_header_mongrel "$LINENO" "superlu_ddefs.h" "ac_cv_header_superlu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_superlu_ddefs_h" = xyes; then : +fi +if test "x$ac_cv_header_superlu_ddefs_h" = x""yes; then pac_sludist_header_ok=yes else pac_sludist_header_ok=no; SLUDIST_INCLUDES="" @@ -5335,11 +6923,142 @@ fi if test "x$pac_sludist_header_ok" == "xno" ; then unset ac_cv_header_superlu_ddefs_h - SLUDIST_INCLUDES="-I$mld2p4_cv_superludistdir/include -I$mld2p4_cv_superludistdir/Include " - CPPFLAGS="$SLUDIST_INCLUDES $SAVE_CPPFLAGS" + SLUDIST_INCLUDES="-I$mld2p4_cv_superludistdir/include -I$mld2p4_cv_superludistdir/Include" + CPPFLAGS="$SLUDIST_INCLUDES $save_CPPFLAGS" + + if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for superlu_ddefs.h" >&5 +$as_echo_n "checking for superlu_ddefs.h... " >&6; } +if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_superlu_ddefs_h" >&5 +$as_echo "$ac_cv_header_superlu_ddefs_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking superlu_ddefs.h usability" >&5 +$as_echo_n "checking superlu_ddefs.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking superlu_ddefs.h presence" >&5 +$as_echo_n "checking superlu_ddefs.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: superlu_ddefs.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: superlu_ddefs.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ---------------------------------- ## +## Report this to bugreport@mld2p4.it ## +## ---------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for superlu_ddefs.h" >&5 +$as_echo_n "checking for superlu_ddefs.h... " >&6; } +if test "${ac_cv_header_superlu_ddefs_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_superlu_ddefs_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_superlu_ddefs_h" >&5 +$as_echo "$ac_cv_header_superlu_ddefs_h" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "superlu_ddefs.h" "ac_cv_header_superlu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_superlu_ddefs_h" = xyes; then : +fi +if test "x$ac_cv_header_superlu_ddefs_h" = x""yes; then pac_sludist_header_ok=yes else pac_sludist_header_ok=no; SLUDIST_INCLUDES="" @@ -5350,10 +7069,14 @@ fi if test "x$pac_sludist_header_ok" == "xyes" ; then SLUDIST_LIBS="$mld2p4_cv_superludist $SLUDIST_LIBS" - LIBS="$SLUDIST_LIBS -lm $LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_malloc_dist in $SLUDIST_LIBS" >&5 + LIBS="$SLUDIST_LIBS -lm $save_LIBS"; + { $as_echo "$as_me:$LINENO: checking for superlu_malloc_dist in $SLUDIST_LIBS" >&5 $as_echo_n "checking for superlu_malloc_dist in $SLUDIST_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5371,18 +7094,47 @@ return superlu_malloc_dist (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superludist=yes;pac_sludist_lib_ok=yes; else - mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; SLUDIST_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext if test "x$pac_sludist_lib_ok" == "xno" ; then SLUDIST_LIBS="$mld2p4_cv_superludist -L$mld2p4_cv_superludistdir/lib"; - LIBS="$SLUDIST_LIBS -lm $SAVE_LIBS"; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + LIBS="$SLUDIST_LIBS -lm $save_LIBS"; + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5400,26 +7152,92 @@ return superlu_malloc_dist (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superludist=yes;pac_sludist_lib_ok=yes; else - mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; SLUDIST_LIBS="";SLUDIST_INCLUDES="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_sludist_lib_ok" >&5 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + { $as_echo "$as_me:$LINENO: result: $pac_sludist_lib_ok" >&5 $as_echo "$pac_sludist_lib_ok" >&6; } + { $as_echo "$as_me:$LINENO: checking for superlu_dist version 4" >&5 +$as_echo_n "checking for superlu_dist version 4... " >&6; } + ac_objext='.o' + ac_ext='c' + ac_compile='${MPICC-$CC} -c -o conftest${ac_objext} $CPPFLAGS conftest.$ac_ext 1>&5' + i=0 + while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; + do + i=`expr $i + 1` + done + mkdir tmpdir_$i + cd tmpdir_$i + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_objext}; then + pac_sludist_version="4"; + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; }; + else + pac_sludist_version="2_3"; + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; }; + fi + cd ..; + rm -fr tmpdir_$i; + fi LIBS="$save_LIBS"; CPPFLAGS="$save_CPPFLAGS"; CC="$save_CC"; +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test "x$mld2p4_cv_have_superludist" == "xyes" ; then SLUDIST_FLAGS="" - SLUDIST_FLAGS="-DHave_SLUDist_ $SLUDIST_INCLUDES" + SLUDIST_FLAGS="-DHave_SLUDist_ -DSLUD_VERSION_$pac_sludist_version $SLUDIST_INCLUDES" FDEFINES="$mld_cv_define_prepend-DHAVE_SLUDIST_ $FDEFINES" else SLUDIST_FLAGS="" @@ -5430,9 +7248,9 @@ fi # PSBLAS library presence checks ############################################################################### -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking fortran 90 modules inclusion flag" >&5 +{ $as_echo "$as_me:$LINENO: checking fortran 90 modules inclusion flag" >&5 $as_echo_n "checking fortran 90 modules inclusion flag... " >&6; } -if ${ax_f90_modflag+:} false; then : +if test "${ax_f90_modflag+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=${ac_fc_srcext-f} @@ -5446,7 +7264,7 @@ while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do done mkdir tmpdir_$i cd tmpdir_$i -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF module conftest_module contains @@ -5456,9 +7274,32 @@ cat > conftest.$ac_ext <<_ACEOF end module conftest_module _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cd .. ax_f90_modflag="not found" @@ -5466,7 +7307,7 @@ for ax_flag in "-I " "-M" "-p"; do if test "$ax_f90_modflag" = "not found" ; then ax_save_FCFLAGS="$FCFLAGS" FCFLAGS="$ax_save_FCFLAGS ${ax_flag}tmpdir_$i" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest_program use conftest_module @@ -5474,16 +7315,41 @@ for ax_flag in "-I " "-M" "-p"; do end program conftest_program _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ax_f90_modflag="$ax_flag" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext FCFLAGS="$ax_save_FCFLAGS" fi done rm -fr tmpdir_$i if test "$ax_flag" = "not found" ; then - as_fn_error $? "unable to find compiler flag for modules inclusion" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: unable to find compiler flag for modules inclusion" >&5 +$as_echo "$as_me: error: unable to find compiler flag for modules inclusion" >&2;} + { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5493,12 +7359,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_f90_modflag" >&5 +{ $as_echo "$as_me:$LINENO: result: $ax_f90_modflag" >&5 $as_echo "$ax_f90_modflag" >&6; } FMFLAG="${ax_f90_modflag%% *}" # Last resort attempt if test "x$FMFLAG" == "xnot" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Fortran inclusion flag detection failed, trying with -I" >&5 + { $as_echo "$as_me:$LINENO: Fortran inclusion flag detection failed, trying with -I" >&5 $as_echo "$as_me: Fortran inclusion flag detection failed, trying with -I" >&6;} MODEXT=".mod" FMFLAG="-I" @@ -5508,26 +7374,28 @@ fi ac_objext='.o' ac_ext='f90' ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/include $FMFLAG$PSBLAS_DIR/lib conftest.$ac_ext 1>&5' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working installation of PSBLAS" >&5 +{ $as_echo "$as_me:$LINENO: checking for working installation of PSBLAS" >&5 $as_echo_n "checking for working installation of PSBLAS... " >&6; } cat > conftest.$ac_ext <&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_objext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_objext}; then rm -rf conftest* - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes." >&5 + { $as_echo "$as_me:$LINENO: result: yes." >&5 $as_echo "yes." >&6; } else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - as_fn_error $? "no. Could not find working version of PSBLAS." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: no. Could not find working version of PSBLAS." >&5 +$as_echo "$as_me: error: no. Could not find working version of PSBLAS." >&2;} + { (exit 1); exit 1; }; } fi rm -f conftest* @@ -5536,7 +7404,7 @@ ac_objext='.o' ac_ext='f90' ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/include $FMFLAG$PSBLAS_DIR/lib conftest.$ac_ext 1>&5' ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS $LDFLAGS conftest.$ac_ext $FMFLAG$PSBLAS_DIR/include -L$PSBLAS_DIR/lib -lpsb_base $LIBS 1>&5' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for version of PSBLAS" >&5 +{ $as_echo "$as_me:$LINENO: checking for version of PSBLAS" >&5 $as_echo_n "checking for version of PSBLAS... " >&6; } cat > conftest.$ac_ext < conftest.$ac_ext <&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then pac_cv_psblas_major=`./conftest${ac_exeext} | sed 's/^ *//'` else echo "configure: failed program was:" >&5 @@ -5561,11 +7429,11 @@ cat > conftest.$ac_ext <&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then pac_cv_psblas_minor=`./conftest${ac_exeext} | sed 's/^ *//'` else echo "configure: failed program was:" >&5 @@ -5578,11 +7446,11 @@ cat > conftest.$ac_ext <&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then pac_cv_psblas_patchlevel=`./conftest${ac_exeext} | sed 's/^ *//'` else echo "configure: failed program was:" >&5 @@ -5590,24 +7458,32 @@ else pac_cv_psblas_patchlevel="unknown"; fi rm -f conftest* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Done" >&5 +{ $as_echo "$as_me:$LINENO: result: Done" >&5 $as_echo "Done" >&6; } if test "x$pac_cv_psblas_major" == "xunknown"; then - as_fn_error $? "PSBLAS version major \"$pac_cv_psblas_major\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS version major \"$pac_cv_psblas_major\"." >&5 +$as_echo "$as_me: error: PSBLAS version major \"$pac_cv_psblas_major\"." >&2;} + { (exit 1); exit 1; }; } fi if test "x$pac_cv_psblas_minor" == "xunknown"; then - as_fn_error $? "PSBLAS version minor \"$pac_cv_psblas_minor\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS version minor \"$pac_cv_psblas_minor\"." >&5 +$as_echo "$as_me: error: PSBLAS version minor \"$pac_cv_psblas_minor\"." >&2;} + { (exit 1); exit 1; }; } fi if test "x$pac_cv_psblas_patchlevel" == "xunknown"; then - as_fn_error $? "PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." >&5 +$as_echo "$as_me: error: PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." >&2;} + { (exit 1); exit 1; }; } fi if (( $pac_cv_psblas_major < 3 )) || ( (( $pac_cv_psblas_major == 3 )) && (( $pac_cv_psblas_minor < 4 ))) ; then - as_fn_error $? "I need at least PSBLAS version 3.4." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: I need at least PSBLAS version 3.4." >&5 +$as_echo "$as_me: error: I need at least PSBLAS version 3.4." >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&5 + { $as_echo "$as_me:$LINENO: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&5 $as_echo "$as_me: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&6;} fi @@ -5666,13 +7542,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -5680,8 +7556,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -5703,23 +7579,12 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi + cat confcache >$cache_file else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -5769,15 +7634,14 @@ DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= -U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -5785,14 +7649,13 @@ LTLIBOBJS=$ac_ltlibobjs -: "${CONFIG_STATUS=./config.status}" +: ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -5802,18 +7665,17 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false - SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -5821,15 +7683,23 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + as_nl=' ' export as_nl @@ -5837,13 +7707,7 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -5854,7 +7718,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in #( + case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -5877,6 +7741,13 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -5886,16 +7757,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( +case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -5907,16 +7777,12 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' @@ -5928,89 +7794,7 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - +# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -6024,12 +7808,8 @@ else as_basename=false fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -6049,25 +7829,76 @@ $as_echo X/"$0" | } s/.*/./; q'` -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -6082,85 +7913,49 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -6170,19 +7965,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by MLD2P4 $as_me 2.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6209,15 +7998,13 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. +\`$as_me' instantiates files from templates according to the +current configuration. -Usage: $0 [OPTION]... [TAG]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -6228,17 +8015,16 @@ Usage: $0 [OPTION]... [TAG]... Configuration files: $config_files -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ MLD2P4 config.status 2.0 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -6254,16 +8040,11 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=?*) + --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; *) ac_option=$1 ac_optarg=$2 @@ -6277,17 +8058,14 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; esac - as_fn_append CONFIG_FILES " '$ac_optarg'" + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -6296,10 +8074,11 @@ do ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; - *) as_fn_append ac_config_targets " $1" + *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac @@ -6316,7 +8095,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -6347,7 +8126,9 @@ do case $ac_config_target in "Make.inc") CONFIG_FILES="$CONFIG_FILES Make.inc" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; esac done @@ -6368,24 +8149,26 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= ac_tmp= + tmp= trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap 'as_fn_exit 1' 1 2 13 15 + trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" + test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -6393,13 +8176,7 @@ ac_tmp=$tmp if test -n "$CONFIG_FILES"; then -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi +ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' @@ -6407,7 +8184,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF @@ -6416,18 +8193,24 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6435,7 +8218,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -6449,7 +8232,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\)..*/\1/ +s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -6463,7 +8246,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\)..*/\1/ +s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -6483,7 +8266,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && +cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -6515,29 +8298,23 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } _ACEOF -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// s/^[^=]*=[ ]*$// }' fi @@ -6555,7 +8332,9 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} + { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6574,7 +8353,7 @@ do for ac_f do case $ac_f in - -) ac_f="$ac_tmp/stdin";; + -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -6583,10 +8362,12 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" + ac_file_inputs="$ac_file_inputs '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -6597,7 +8378,7 @@ do `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -6609,8 +8390,10 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; esac ;; esac @@ -6638,7 +8421,47 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in @@ -6690,6 +8513,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= + ac_sed_dataroot=' /datarootdir/ { p @@ -6699,11 +8523,12 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p' +/@mandir@/p +' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -6713,7 +8538,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -6740,24 +8565,27 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} +which seems to be undefined. Please make sure it is defined." >&2;} - rm -f "$ac_tmp/stdin" + rm -f "$tmp/stdin" case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; @@ -6767,12 +8595,15 @@ which seems to be undefined. Please make sure it is defined" >&2;} done # for ac_tag -as_fn_exit 0 +{ (exit 0); exit 0; } _ACEOF +chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } # configure is writing to config.log, and then calls config.status. @@ -6793,17 +8624,17 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 + $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi #AC_OUTPUT(Make.inc Makefile) ############################################################################### -{ $as_echo "$as_me:${as_lineno-$LINENO}: +{ $as_echo "$as_me:$LINENO: ${PACKAGE_NAME} ${mld2p4_cv_version} has been configured as follows: PSBLAS library : ${PSBLAS_DIR} diff --git a/configure.ac b/configure.ac index c1b26aea..35b26560 100755 --- a/configure.ac +++ b/configure.ac @@ -218,7 +218,7 @@ dnl Now on, MPIFC should be set, as MPIF77 and MPICC PAC_CHECK_SUPERLU if test "x$mld2p4_cv_have_superlu" == "xyes" ; then - SLU_FLAGS="-DHave_SLU_ $SLU_INCLUDES" + SLU_FLAGS="-DHave_SLU_ -DSLU_VERSION_$pac_slu_version $SLU_INCLUDES" FDEFINES="$mld_cv_define_prepend-DHAVE_SLU_ $FDEFINES" else SLU_FLAGS="" @@ -227,7 +227,7 @@ fi PAC_CHECK_SUPERLUDIST if test "x$mld2p4_cv_have_superludist" == "xyes" ; then SLUDIST_FLAGS="" - SLUDIST_FLAGS="-DHave_SLUDist_ $SLUDIST_INCLUDES" + SLUDIST_FLAGS="-DHave_SLUDist_ -DSLUD_VERSION_$pac_sludist_version $SLUDIST_INCLUDES" FDEFINES="$mld_cv_define_prepend-DHAVE_SLUDIST_ $FDEFINES" else SLUDIST_FLAGS="" diff --git a/docs/html/img103.png b/docs/html/img103.png new file mode 100644 index 00000000..321efb07 Binary files /dev/null and b/docs/html/img103.png differ diff --git a/docs/html/img104.png b/docs/html/img104.png new file mode 100644 index 00000000..1bb60423 Binary files /dev/null and b/docs/html/img104.png differ diff --git a/docs/html/index.html b/docs/html/index.html index 924e7bfd..fd137cf0 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -61,9 +61,9 @@ University of Rome ``Tor Vergata'', Italy


-Software version: 2.0-beta +Software version: 2.0
-June 14, 2013 +Oct. 12, 2015
diff --git a/docs/html/next.png b/docs/html/next.png new file mode 100644 index 00000000..1628652a Binary files /dev/null and b/docs/html/next.png differ diff --git a/docs/html/next_g.png b/docs/html/next_g.png new file mode 100644 index 00000000..9d3f5912 Binary files /dev/null and b/docs/html/next_g.png differ diff --git a/docs/html/node12.html b/docs/html/node12.html index 3e9896f3..6c18560d 100644 --- a/docs/html/node12.html +++ b/docs/html/node12.html @@ -685,7 +685,7 @@ denoted by $R_l$. -
+
diff --git a/docs/html/node14.html b/docs/html/node14.html index b56d3768..eb86bf6f 100644 --- a/docs/html/node14.html +++ b/docs/html/node14.html @@ -131,7 +131,7 @@ for the coarsest-level solvers available in MLD2P4).


-
+
Figure 1: Application of the multi-level hybrid post-smoothed preconditioner.
Table 1: Preconditioner types, corresponding strings and default choices. diff --git a/docs/html/node15.html b/docs/html/node15.html index 89351867..30656cb7 100644 --- a/docs/html/node15.html +++ b/docs/html/node15.html @@ -86,7 +86,7 @@ the corresponding Fortran 95 codes are available in examples/fileread/ -
+
Figure 2: Setup and application of the default multi-level Schwarz preconditioner. @@ -193,7 +193,7 @@ boundary conditions are also available in the directory examples/pdegen -
+
@@ -225,7 +225,7 @@ Setup of a hybrid three-level Schwarz preconditioner.

-

+
Figure 3: Setup of a hybrid three-level Schwarz preconditioner.
@@ -257,7 +257,7 @@ Setup of an additive three-level Schwarz preconditioner.

-

+
Figure 4: Setup of an additive three-level Schwarz preconditioner.
diff --git a/docs/html/node18.html b/docs/html/node18.html index c5cbf531..2b9d7d6e 100644 --- a/docs/html/node18.html +++ b/docs/html/node18.html @@ -193,7 +193,7 @@ according to their needs.


-
+
Figure 5: Setup of a one-level Schwarz preconditioner.
Table 2: Parameters defining the type of multi-level preconditioner. @@ -238,7 +238,7 @@ Parameters defining the type of multi-level preconditioner.


-
+
Table 3: Parameters defining the one-level preconditioner used as smoother. @@ -339,7 +339,7 @@ Parameters defining the one-level preconditioner used as smoother.


-
+
Table 4: Parameters defining the aggregation algorithm. @@ -454,7 +454,7 @@ Parameters defining the aggregation algorithm.


-
+
Table 5: Parameters defining the coarse-space correction at the coarsest diff --git a/docs/html/node26.html b/docs/html/node26.html index bbadabc8..51eedaaf 100644 --- a/docs/html/node26.html +++ b/docs/html/node26.html @@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney. The command line arguments were:
latex2html -local_icons -noaddress -dir ../../html userhtml.tex

-The translation was initiated by Salvatore Filippone on 2013-06-21 +The translation was initiated by Salvatore Filippone on 2015-10-14


diff --git a/docs/html/node6.html b/docs/html/node6.html index dd7e0cca..e625a68b 100644 --- a/docs/html/node6.html +++ b/docs/html/node6.html @@ -79,7 +79,7 @@ The following base libraries are needed:
[18,23] A version of MPI is available on most - high-performance computing systems; only version 1.1 is required. + high-performance computing systems;
PSBLAS
@@ -88,7 +88,7 @@ The following base libraries are needed: HREF="node25.html#psblas_00">17] Parallel Sparse BLAS is available from
http://www.ce.uniroma2.it/psblas; version - 3.1 (or later) is required. Indeed, all the prerequisites + 3.3 (or later) is required. Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS. @@ -98,30 +98,7 @@ usually this means that they should all be built with the same compiler as MLD2P4.

-


- - -next - -up - -previous - -contents -
- Next: Optional third party libraries - Up: Configuring and Building MLD2P4 - Previous: Configuring and Building MLD2P4 -   Contents - +

diff --git a/docs/html/node7.html b/docs/html/node7.html index c7a62731..e59e51c5 100644 --- a/docs/html/node7.html +++ b/docs/html/node7.html @@ -77,7 +77,16 @@ for multilevel preconditioners may change to reflect their presence. A sparse direct factorization package available from
http://crd.lbl.gov/~xiaoye/SuperLU/; provides serial factorization and triangular system solution for single and double precision, - real and complex data. We have tested version 4.3. + real and complex data. We have tested version 4.3 and 5.0. + + +
SuperLU_Dist
+
[20] + A sparse direct factorization package available + from the same site as SuperLU; provides parallel factorization and + triangular system solution for double precision real and complex data. + We have tested version 3.3 and 4.2.


diff --git a/docs/html/node8.html b/docs/html/node8.html index b6d78eab..e04abcdc 100644 --- a/docs/html/node8.html +++ b/docs/html/node8.html @@ -73,7 +73,7 @@ The full set of options may be looked at by issuing the command
 `configure' configures MLD2P4 2.0 to adapt to many kinds of systems.
 
-Usage: ../../configure [OPTION]... [VAR=VALUE]...
+Usage: ./configure [OPTION]... [VAR=VALUE]...
 
 To assign environment variables (e.g., CC, CFLAGS...), specify them as
 VAR=VALUE.  See below for descriptions of some of the useful variables.
@@ -85,7 +85,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print `checking ...' messages
+  -q, --quiet, --silent   do not print `checking...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for `--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -135,19 +135,31 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-psblas           The source directory for PSBLAS, for example,
-                          --with-psblas=/opt/packages/psblas-2.3
-  --with-libs             List additional link flags here. For example,
-                          --with-libs=-lspecial_system_lib or
-                          --with-libs=-L/path/to/libs
-  --with-umfpack=LIBNAME  Specify the library name for UMFPACK library.
-                          Default: "-lumfpack -lamd"
+  --with-psblas=DIR       The install directory for PSBLAS, for example,
+                          --with-psblas=/opt/packages/psblas-3.3
+  --with-psblas-incdir=DIR
+                          Specify the directory for PSBLAS includes.
+  --with-psblas-libdir=DIR
+                          Specify the directory for PSBLAS library.
+  --with-extra-libs       List additional link flags here. For example,
+                          --with-extra-libs=-lspecial_system_lib or
+                          --with-extra-libs=-L/path/to/libs
+  --with-umfpack=LIBNAME  Specify the library name for UMFPACK and its support
+                          libraries. Default: "-lumfpack -lamd"
   --with-umfpackdir=DIR   Specify the directory for UMFPACK library and
                           includes.
+  --with-umfpackincdir=DIR
+                          Specify the directory for UMFPACK includes.
+  --with-umfpacklibdir=DIR
+                          Specify the directory for UMFPACK library.
   --with-superlu=LIBNAME  Specify the library name for SUPERLU library.
                           Default: "-lsuperlu"
   --with-superludir=DIR   Specify the directory for SUPERLU library and
                           includes.
+  --with-superluincdir=DIR
+                          Specify the directory for SUPERLU includes.
+  --with-superlulibdir=DIR
+                          Specify the directory for SUPERLU library.
   --with-superludist=LIBNAME
                           Specify the libname for SUPERLUDIST library.
                           Requires you also specify SuperLU. Default:
@@ -155,6 +167,10 @@ Optional Packages:
   --with-superludistdir=DIR
                           Specify the directory for SUPERLUDIST library and
                           includes.
+  --with-superludistincdir=DIR
+                          Specify the directory for SUPERLUDIST includes.
+  --with-superludistlibdir=DIR
+                          Specify the directory for SUPERLUDIST library.
 
 Some influential environment variables:
   FC          Fortran compiler command
@@ -164,7 +180,7 @@ Some influential environment variables:
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CC          C compiler command
   CFLAGS      C compiler flags
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   MPICC       MPI C compiler command
@@ -178,13 +194,13 @@ it to find libraries and programs with nonstandard names/locations.
 
 Report bugs to <bugreport@mld2p4.it>.
 
-Thus, a sample build with libraries in installation -directories specifics to the GNU 4.7 compiler suite might be as -follows, specifying only the UMFPACK external package: +For instance, if a user has built and installed PSBLAS 3.3 under the +/opt directory and is +using the SuiteSparse package (which includes UMFPACK), then MLD2P4 +might be configured with:
- ./configure --with-psblas=/home/user/psblas-3.1/ \
- --with-libs="-L/usr/local/BLAS/gnu47" \
- --with-umfpackdir=/usr/local/UMFPACK/gnu47
+ ./configure --with-psblas=/opt/psblas-3.3/ \
+ --with-umfpackincdir=/usr/include/suitesparse
 
Once the configure script has completed execution, it will have generated the file Make.inc which will then be used by all diff --git a/docs/html/prev.png b/docs/html/prev.png new file mode 100644 index 00000000..e60b8b40 Binary files /dev/null and b/docs/html/prev.png differ diff --git a/docs/html/prev_g.png b/docs/html/prev_g.png new file mode 100644 index 00000000..476d9568 Binary files /dev/null and b/docs/html/prev_g.png differ diff --git a/docs/html/up.png b/docs/html/up.png new file mode 100644 index 00000000..3937e168 Binary files /dev/null and b/docs/html/up.png differ diff --git a/docs/html/up_g.png b/docs/html/up_g.png new file mode 100644 index 00000000..54ceb683 Binary files /dev/null and b/docs/html/up_g.png differ diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html index 924e7bfd..fd137cf0 100644 --- a/docs/html/userhtml.html +++ b/docs/html/userhtml.html @@ -61,9 +61,9 @@ University of Rome ``Tor Vergata'', Italy


-Software version: 2.0-beta +Software version: 2.0
-June 14, 2013 +Oct. 12, 2015
diff --git a/docs/mld2p4-2.0-guide.pdf b/docs/mld2p4-2.0-guide.pdf index 1feda714..9e9cea74 100644 --- a/docs/mld2p4-2.0-guide.pdf +++ b/docs/mld2p4-2.0-guide.pdf @@ -154,7 +154,7 @@ endobj << /S /GoTo /D [106 0 R /Fit ] >> endobj 108 0 obj << -/Length 1175 +/Length 1164 >> stream 0 g 0 G @@ -176,7 +176,7 @@ BT /F17 11.9552 Tf 218.644 -79.389 Td [(P)31(asqua)-375(D'Am)31(bra)]TJ/F37 11.9552 Tf -31.595 -13.947 Td [(ICAR-CNR,)-326(Naples,)-327(Italy)]TJ/F17 11.9552 Tf 20.434 -29.39 Td [(Daniela)-375(di)-375(Sera\014no)]TJ/F37 11.9552 Tf -62.784 -13.948 Td [(Second)-326(Univ)27(ersit)27(y)-326(of)-327(Na)1(ples,)-327(Italy)]TJ/F17 11.9552 Tf 60.715 -29.39 Td [(Salv)62(atore)-375(Filipp)-31(one)]TJ/F37 11.9552 Tf -93.327 -13.947 Td [(Univ)27(ersit)27(y)-326(of)-326(Rome)-327(\134T)82(or)-326(V)81(ergata",)-326(Italy)]TJ 0 g 0 G 0 g 0 G - 73.961 -78.924 Td [(Soft)27(w)27(a)1(re)-327(v)27(ersion:)-435(2.0-b)-27(eta)]TJ 62.987 -13.948 Td [(June)-326(14,)-327(2013)]TJ + 100.3 -78.924 Td [(Soft)27(w)28(are)-327(v)27(ersion)1(:)-436(2.0)]TJ 37.459 -13.948 Td [(Oct.)-435(12,)-326(2015)]TJ 0 g 0 G 0 g 0 G ET @@ -291,7 +291,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 155 0 obj << -/Length 6438 +/Length 6439 >> stream 0 g 0 G @@ -353,36 +353,36 @@ BT 0 0 1 rg 0 0 1 RG /F43 10.9091 Tf -16.364 -24.458 Td [(4)-925(Multi-lev)32(el)-384(Domain)-383(Decomp)-32(osition)-383(Bac)32(kground)]TJ 0 g 0 G - [-11727(9)]TJ + [-11152(10)]TJ 0 0 1 rg 0 0 1 RG /F15 10.9091 Tf 16.364 -13.549 Td [(4.1)-1022(Multi-lev)28(el)-334(Sc)28(h)28(w)28(arz)-334(Preconditioners)]TJ 0 g 0 G [-977(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G - [-1281(10)]TJ + [-1281(11)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG 0 -13.55 Td [(4.2)-1022(Smo)-28(othed)-333(Aggregation)]TJ 0 g 0 G [-447(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(12)]TJ + [-1281(13)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG /F43 10.9091 Tf -16.364 -24.458 Td [(5)-925(Getting)-383(Started)]TJ 0 g 0 G - [-27184(15)]TJ + [-27184(16)]TJ 0 0 1 rg 0 0 1 RG /F15 10.9091 Tf 16.364 -13.549 Td [(5.1)-1022(Examples)]TJ 0 g 0 G [-792(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1280(16)]TJ + [-1280(17)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG /F43 10.9091 Tf -16.364 -24.458 Td [(6)-925(User)-383(In)32(terface)]TJ 0 g 0 G - [-27997(20)]TJ + [-27997(21)]TJ 0 0 1 rg 0 0 1 RG /F15 10.9091 Tf 16.364 -13.55 Td [(6.1)-1022(Subroutine)-333(mld)]TJ ET @@ -395,7 +395,7 @@ BT 0 g 0 G [-751(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(21)]TJ + [-1281(22)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -102.988 -13.549 Td [(6.2)-1022(Subroutine)-333(mld)]TJ @@ -409,7 +409,7 @@ BT 0 g 0 G [-1023(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(22)]TJ + [-1281(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -102.988 -13.549 Td [(6.3)-1022(Subroutine)-333(mld)]TJ @@ -423,7 +423,7 @@ BT 0 g 0 G [-862(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(28)]TJ + [-1281(29)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -102.988 -13.549 Td [(6.4)-1022(Subroutine)-333(mld)]TJ @@ -437,7 +437,7 @@ BT 0 g 0 G [-390(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(29)]TJ + [-1281(30)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -102.988 -13.549 Td [(6.5)-1022(Subroutine)-333(mld)]TJ @@ -451,7 +451,7 @@ BT 0 g 0 G [-665(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(30)]TJ + [-1281(31)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -102.988 -13.55 Td [(6.6)-1022(Subroutine)-333(mld)]TJ @@ -465,16 +465,16 @@ BT 0 g 0 G [-798(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1281(31)]TJ + [-1281(32)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG /F43 10.9091 Tf -119.352 -24.458 Td [(7)-925(Error)-383(Handling)]TJ 0 g 0 G - [-27434(32)]TJ + [-27434(33)]TJ 0 0 1 rg 0 0 1 RG 0 -24.458 Td [(A)-631(License)]TJ 0 g 0 G - [-31489(33)]TJ + [-31489(34)]TJ 0 0 1 rg 0 0 1 RG 0 -24.459 Td [(References)]TJ 0 g 0 G @@ -988,7 +988,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 213 0 obj << -/Length 6650 +/Length 6591 >> stream 0 g 0 G @@ -1023,7 +1023,7 @@ BT 1 0 0 rg 1 0 0 RG [-340(23)]TJ 0 g 0 G - [(])-340(A)-341(v)28(ersion)-340(of)-340(MPI)-340(is)-341(a)28(v)56(ailable)-341(on)-340(most)-340(high-p)-28(erformance)-340(computing)-340(sys-)]TJ -3.424 -13.549 Td [(tems;)-333(only)-334(v)28(ersion)-333(1.1)-333(is)-334(required.)]TJ + [(])-340(A)-341(v)28(ersion)-340(of)-340(MPI)-340(is)-341(a)28(v)56(ailable)-341(on)-340(most)-340(high-p)-28(erformance)-340(computing)-340(sys-)]TJ -3.424 -13.549 Td [(tems;)]TJ 0 g 0 G /F43 10.9091 Tf -27.273 -22.959 Td [(PSBLAS)]TJ 0 g 0 G @@ -1035,7 +1035,7 @@ BT 1 0 0 rg 1 0 0 RG [-333(17)]TJ 0 g 0 G - [(])-334(P)28(arallel)-333(Sparse)-333(BLAS)-334(is)-333(a)28(v)55(ailable)-333(from)]TJ/F44 10.9091 Tf -26.651 -13.549 Td [(http://www.ce.uniroma2.it/psblas)]TJ/F15 10.9091 Tf 183.27 0 Td [(;)-339(v)27(ersion)-337(3.1)-337(\050or)-338(later\051)-337(is)-338(required.)-456(Indeed,)]TJ -183.27 -13.549 Td [(all)-333(the)-334(prerequ)1(is)-1(i)1(te)-1(s)-333(listed)-333(so)-334(far)-333(are)-333(also)-334(prerequ)1(is)-1(i)1(te)-1(s)-333(of)-333(PSBLAS.)]TJ -27.273 -22.959 Td [(Please)-430(note)-431(that)-430(the)-430(four)-430(previous)-430(libraries)-431(m)28(ust)-430(ha)28(v)28(e)-431(F)84(ortran)-431(in)28(terfaces)-430(compatible)]TJ 0 -13.549 Td [(with)-300(MLD2P4;)-311(usual)1(ly)-300(this)-300(means)-300(that)-300(th)1(e)-1(y)-299(should)-300(all)-300(b)-27(e)-300(built)-300(with)-300(the)-299(same)-300(compiler)]TJ 0 -13.55 Td [(as)-333(MLD2P4.)]TJ/F17 11.9552 Tf 0 -29.846 Td [(3.2)-1125(Optional)-375(third)-375(part)31(y)-375(libraries)]TJ/F15 10.9091 Tf 0 -20.81 Td [(W)83(e)-426(pro)28(vide)-427(in)28(terfaces)-427(to)-426(the)-427(follo)28(wing)-426(third-part)28(y)-427(soft)28(w)28(are)-427(libraries;)-473(note)-426(that)-427(these)]TJ 0 -13.549 Td [(are)-370(optional,)-379(bu)1(t)-370(if)-370(y)28(ou)-370(enable)-370(them)-370(some)-370(defau)1(lts)-370(for)-370(m)28(ultilev)28(el)-370(preconditioners)-370(ma)28(y)]TJ 0 -13.549 Td [(c)28(hange)-334(to)-333(re\015ect)-333(their)-334(p)1(res)-1(ence.)]TJ + [(])-334(P)28(arallel)-333(Sparse)-333(BLAS)-334(is)-333(a)28(v)55(ailable)-333(from)]TJ/F44 10.9091 Tf -26.651 -13.549 Td [(http://www.ce.uniroma2.it/psblas)]TJ/F15 10.9091 Tf 183.27 0 Td [(;)-339(v)27(ersion)-337(3.3)-337(\050or)-338(later\051)-337(is)-338(required.)-456(Indeed,)]TJ -183.27 -13.549 Td [(all)-333(the)-334(prerequ)1(is)-1(i)1(te)-1(s)-333(listed)-333(so)-334(far)-333(are)-333(also)-334(prerequ)1(is)-1(i)1(te)-1(s)-333(of)-333(PSBLAS.)]TJ -27.273 -22.959 Td [(Please)-430(note)-431(that)-430(the)-430(four)-430(previous)-430(libraries)-431(m)28(ust)-430(ha)28(v)28(e)-431(F)84(ortran)-431(in)28(terfaces)-430(compatible)]TJ 0 -13.549 Td [(with)-300(MLD2P4;)-311(usual)1(ly)-300(this)-300(means)-300(that)-300(th)1(e)-1(y)-299(should)-300(all)-300(b)-27(e)-300(built)-300(with)-300(the)-299(same)-300(compiler)]TJ 0 -13.55 Td [(as)-333(MLD2P4.)]TJ/F17 11.9552 Tf 0 -29.846 Td [(3.2)-1125(Optional)-375(third)-375(part)31(y)-375(libraries)]TJ/F15 10.9091 Tf 0 -20.81 Td [(W)83(e)-426(pro)28(vide)-427(in)28(terfaces)-427(to)-426(the)-427(follo)28(wing)-426(third-part)28(y)-427(soft)28(w)28(are)-427(libraries;)-473(note)-426(that)-427(these)]TJ 0 -13.549 Td [(are)-370(optional,)-379(bu)1(t)-370(if)-370(y)28(ou)-370(enable)-370(them)-370(some)-370(defau)1(lts)-370(for)-370(m)28(ultilev)28(el)-370(preconditioners)-370(ma)28(y)]TJ 0 -13.549 Td [(c)28(hange)-334(to)-333(re\015ect)-333(their)-334(p)1(res)-1(ence.)]TJ 0 g 0 G /F43 10.9091 Tf 0 -26.059 Td [(UMFP)96(A)32(CK)]TJ 0 g 0 G @@ -1129,8 +1129,8 @@ endobj /Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F43 158 0 R >> /ProcSet [ /PDF /Text ] >> endobj -224 0 obj << -/Length 4725 +225 0 obj << +/Length 5149 >> stream 0 g 0 G @@ -1142,33 +1142,48 @@ BT 0 g 0 G -379.724 -35.866 Td [(ization)-275(and)-274(triangular)-275(system)-275(solution)-274(for)-275(double)-275(p)1(rec)-1(ision)-274(real)-275(and)-275(complex)-274(data.)]TJ 0 -13.549 Td [(W)83(e)-333(ha)28(v)28(e)-334(tested)-333(v)28(ersions)-334(5.4.)]TJ 0 g 0 G -/F43 10.9091 Tf -27.273 -22.027 Td [(Sup)-32(erLU)]TJ +/F43 10.9091 Tf -27.273 -22.542 Td [(Sup)-32(erLU)]TJ 0 g 0 G /F15 10.9091 Tf 54.826 0 Td [([)]TJ 1 0 0 rg 1 0 0 RG [(10)]TJ 0 g 0 G - [(])-333(A)-334(sparse)-333(direct)-333(factorization)-334(p)1(ac)27(k)56(age)-334(a)28(v)56(ailable)-333(from)]TJ/F44 10.9091 Tf -27.553 -13.55 Td [(http://crd.lbl.gov/~xiaoye/SuperLU/)]TJ/F15 10.9091 Tf 200.452 0 Td [(;)-498(pro)27(vides)-443(serial)-443(factorization)-444(and)-443(tri-)]TJ -200.452 -13.549 Td [(angular)-389(system)-390(solution)-389(for)-389(single)-390(and)-389(double)-389(precision,)-403(real)-390(and)-389(complex)-389(data.)]TJ 0 -13.549 Td [(W)83(e)-333(ha)28(v)28(e)-334(tested)-333(v)28(ersion)-334(4.3.)]TJ/F17 11.9552 Tf -27.273 -28.983 Td [(3.3)-1125(Con\014guration)-375(options)]TJ/F15 10.9091 Tf 0 -20.594 Td [(T)83(o)-302(build)-302(MLD2P4)-302(the)-302(\014rst)-303(step)-302(is)-302(to)-302(use)-303(the)]TJ/F44 10.9091 Tf 214.002 0 Td [(configure)]TJ/F15 10.9091 Tf 54.842 0 Td [(script)-302(in)-302(the)-303(main)-302(directory)-302(to)]TJ -268.844 -13.55 Td [(generate)-333(the)-334(necessary)-333(mak)28(e\014le\050s\051.)]TJ 16.937 -13.549 Td [(As)-333(a)-334(minimal)-333(example)-333(consider)-334(the)-333(follo)28(wing:)]TJ + [(])-333(A)-334(sparse)-333(direct)-333(factorization)-334(p)1(ac)27(k)56(age)-334(a)28(v)56(ailable)-333(from)]TJ/F44 10.9091 Tf -27.553 -13.549 Td [(http://crd.lbl.gov/~xiaoye/SuperLU/)]TJ/F15 10.9091 Tf 200.452 0 Td [(;)-498(pro)27(vides)-443(serial)-443(factorization)-444(and)-443(tri-)]TJ -200.452 -13.55 Td [(angular)-389(system)-390(solution)-389(for)-389(single)-390(and)-389(double)-389(precision,)-403(real)-390(and)-389(complex)-389(data.)]TJ 0 -13.549 Td [(W)83(e)-333(ha)28(v)28(e)-334(tested)-333(v)28(ersion)-334(4.3)-333(and)-333(5.0.)]TJ +0 g 0 G +/F43 10.9091 Tf -27.273 -22.542 Td [(Sup)-32(erLU)]TJ +ET +q +1 0 0 1 143.724 605.054 cm +[]0 d 0 J 0.398 w 0 0 m 3.764 0 l S +Q +BT +/F43 10.9091 Tf 147.487 604.855 Td [(Dist)]TJ +0 g 0 G +/F15 10.9091 Tf 28.388 0 Td [([)]TJ +1 0 0 rg 1 0 0 RG + [(20)]TJ +0 g 0 G + [(])-304(A)-304(sparse)-304(d)1(irec)-1(t)-303(factorization)-304(pac)28(k)55(age)-304(a)28(v)56(ailable)-304(from)-304(the)-304(same)-304(site)]TJ -55.002 -13.549 Td [(as)-481(Sup)-28(erLU;)-481(pro)28(vides)-481(parallel)-481(factorization)-481(and)-481(triangular)-481(system)-482(solution)-481(for)]TJ 0 -13.549 Td [(double)-333(precision)-334(r)1(e)-1(al)-333(and)-333(complex)-333(data.)-445(W)84(e)-334(ha)28(v)28(e)-334(tested)-333(v)28(ersion)-334(3.3)-333(and)-333(4.2.)]TJ/F17 11.9552 Tf -27.273 -29.251 Td [(3.3)-1125(Con\014guration)-375(options)]TJ/F15 10.9091 Tf 0 -20.608 Td [(T)83(o)-302(build)-302(MLD2P4)-302(the)-302(\014rst)-303(step)-302(is)-302(to)-302(use)-303(the)]TJ/F44 10.9091 Tf 214.002 0 Td [(configure)]TJ/F15 10.9091 Tf 54.842 0 Td [(script)-302(in)-302(the)-303(main)-302(directory)-302(to)]TJ -268.844 -13.549 Td [(generate)-333(the)-334(necessary)-333(mak)28(e\014le\050s\051.)]TJ 16.937 -13.556 Td [(As)-333(a)-334(minimal)-333(example)-333(consider)-334(the)-333(follo)28(wing:)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -16.937 -21.295 Td [(./configure)-525(--with-psblas=PSB-INSTALL-DIR)]TJ/F15 10.9091 Tf 0 -21.296 Td [(whic)28(h)-411(assumes)-412(th)1(at)-412(the)-411(v)56(arious)-411(MPI)-411(compilers)-411(and)-411(supp)-28(ort)-411(libraries)-411(are)-411(a)28(v)55(ailable)-411(in)]TJ 0 -13.549 Td [(the)-290(standard)-290(directories)-291(on)-290(the)-290(system,)-299(and)-290(sp)-28(eci\014es)-290(only)-290(the)-291(PS)1(B)-1(LAS)-290(install)-290(directory)]TJ 0 -13.55 Td [(\050note)-386(th)1(at)-386(the)-386(latt)1(e)-1(r)-385(directory)-386(m)28(ust)-385(b)-28(e)-386(sp)-27(eci\014ed)-386(with)-385(an)]TJ/F18 10.9091 Tf 278.635 0 Td [(absolute)]TJ/F15 10.9091 Tf 42.12 0 Td [(path\051.)-601(The)-386(f)1(ull)-386(set)]TJ -320.755 -13.549 Td [(of)-487(options)-487(ma)28(y)-488(b)-27(e)-487(lo)-28(ok)28(ed)-488(at)-487(b)28(y)-487(issuing)-487(the)-487(command)]TJ/F44 10.9091 Tf 273.022 0 Td [(./configure)-525(--help)]TJ/F15 10.9091 Tf 103.09 0 Td [(,)-526(whi)1(c)27(h)]TJ -376.112 -13.549 Td [(pro)-28(duces:)]TJ +/F44 10.9091 Tf -16.937 -22.549 Td [(./configure)-525(--with-psblas=PSB-INSTALL-DIR)]TJ/F15 10.9091 Tf 0 -22.542 Td [(whic)28(h)-411(assumes)-412(th)1(at)-412(the)-411(v)56(arious)-411(MPI)-411(compilers)-411(and)-411(supp)-28(ort)-411(libraries)-411(are)-411(a)28(v)55(ailable)-411(in)]TJ 0 -13.55 Td [(the)-290(standard)-290(directories)-291(on)-290(the)-290(system,)-299(and)-290(sp)-28(eci\014es)-290(only)-290(the)-291(PS)1(B)-1(LAS)-290(install)-290(directory)]TJ 0 -13.549 Td [(\050note)-386(th)1(at)-386(the)-386(lat)1(te)-1(r)-385(directory)-386(m)28(ust)-385(b)-28(e)-386(sp)-27(eci\014ed)-386(with)-385(an)]TJ/F18 10.9091 Tf 278.635 0 Td [(absolute)]TJ/F15 10.9091 Tf 42.12 0 Td [(path\051.)-601(The)-386(f)1(ull)-386(set)]TJ -320.755 -13.549 Td [(of)-487(options)-487(ma)28(y)-488(b)-27(e)-487(lo)-28(ok)28(ed)-488(at)-487(b)28(y)-487(issuing)-487(the)-487(command)]TJ/F44 10.9091 Tf 273.022 0 Td [(./configure)-525(--help)]TJ/F15 10.9091 Tf 103.089 0 Td [(,)-526(whic)28(h)]TJ -376.111 -13.549 Td [(pro)-28(duces:)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 0 -21.296 Td [(`configure')-525(configures)-525(MLD2P4)-525(2.0)-525(to)-525(adapt)-525(to)-525(many)-525(kinds)-525(of)-525(systems.)]TJ 0 -27.098 Td [(Usage:)-525(../../configure)-525([OPTION]...)-525([VAR=VALUE]...)]TJ 0 -27.098 Td [(To)-525(assign)-525(environment)-525(variables)-525(\050e.g.,)-525(CC,)-525(CFLAGS...\051,)-525(specify)-525(them)-525(as)]TJ 0 -13.55 Td [(VAR=VALUE.)-1050(See)-525(below)-525(for)-525(descriptions)-525(of)-525(some)-525(of)-525(the)-525(useful)-525(variables.)]TJ 0 -27.098 Td [(Defaults)-525(for)-525(the)-525(options)-525(are)-525(specified)-525(in)-525(brackets.)]TJ 0 -27.098 Td [(Configuration:)]TJ 11.455 -13.55 Td [(-h,)-525(--help)-7350(display)-525(this)-525(help)-525(and)-525(exit)]TJ 22.908 -13.549 Td [(--help=short)-4200(display)-525(options)-525(specific)-525(to)-525(this)-525(package)]TJ 0 -13.549 Td [(--help=recursive)-2100(display)-525(the)-525(short)-525(help)-525(of)-525(all)-525(the)-525(included)-525(packages)]TJ -22.908 -13.549 Td [(-V,)-525(--version)-5775(display)-525(version)-525(information)-525(and)-525(exit)]TJ 0 -13.549 Td [(-q,)-525(--quiet,)-525(--silent)-1575(do)-525(not)-525(print)-525(`checking)-525(...')-525(messages)]TJ 22.908 -13.55 Td [(--cache-file=FILE)-1575(cache)-525(test)-525(results)-525(in)-525(FILE)-525([disabled])]TJ -22.908 -13.549 Td [(-C,)-525(--config-cache)-3150(alias)-525(for)-525(`--cache-file=config.cache')]TJ 0 -13.549 Td [(-n,)-525(--no-create)-4725(do)-525(not)-525(create)-525(output)-525(files)]TJ 22.908 -13.549 Td [(--srcdir=DIR)-4200(find)-525(the)-525(sources)-525(in)-525(DIR)-525([configure)-525(dir)-525(or)-525(`..'])]TJ -34.363 -27.098 Td [(Installation)-525(directories:)]TJ 11.455 -13.55 Td [(--prefix=PREFIX)-4725(install)-525(architecture-independent)-525(files)-525(in)-525(PREFIX)]TJ 137.453 -13.549 Td [([/usr/local])]TJ -137.453 -13.549 Td [(--exec-prefix=EPREFIX)-1575(install)-525(architecture-dependent)-525(files)-525(in)-525(EPREFIX)]TJ +/F44 10.9091 Tf 0 -22.549 Td [(`configure')-525(configures)-525(MLD2P4)-525(2.0)-525(to)-525(adapt)-525(to)-525(many)-525(kinds)-525(of)-525(systems.)]TJ 0 -27.099 Td [(Usage:)-525(./configure)-525([OPTION]...)-525([VAR=VALUE]...)]TJ 0 -27.098 Td [(To)-525(assign)-525(environment)-525(variables)-525(\050e.g.,)-525(CC,)-525(CFLAGS...\051,)-525(specify)-525(them)-525(as)]TJ 0 -13.549 Td [(VAR=VALUE.)-1050(See)-525(below)-525(for)-525(descriptions)-525(of)-525(some)-525(of)-525(the)-525(useful)-525(variables.)]TJ 0 -27.099 Td [(Defaults)-525(for)-525(the)-525(options)-525(are)-525(specified)-525(in)-525(brackets.)]TJ 0 -27.098 Td [(Configuration:)]TJ 11.455 -13.549 Td [(-h,)-525(--help)-7350(display)-525(this)-525(help)-525(and)-525(exit)]TJ 22.908 -13.549 Td [(--help=short)-4200(display)-525(options)-525(specific)-525(to)-525(this)-525(package)]TJ 0 -13.55 Td [(--help=recursive)-2100(display)-525(the)-525(short)-525(help)-525(of)-525(all)-525(the)-525(included)-525(packages)]TJ -22.908 -13.549 Td [(-V,)-525(--version)-5775(display)-525(version)-525(information)-525(and)-525(exit)]TJ 0 -13.549 Td [(-q,)-525(--quiet,)-525(--silent)-1575(do)-525(not)-525(print)-525(`checking...')-525(messages)]TJ 22.908 -13.549 Td [(--cache-file=FILE)-1575(cache)-525(test)-525(results)-525(in)-525(FILE)-525([disabled])]TJ -22.908 -13.549 Td [(-C,)-525(--config-cache)-3150(alias)-525(for)-525(`--cache-file=config.cache')]TJ 0 -13.55 Td [(-n,)-525(--no-create)-4725(do)-525(not)-525(create)-525(output)-525(files)]TJ 22.908 -13.549 Td [(--srcdir=DIR)-4200(find)-525(the)-525(sources)-525(in)-525(DIR)-525([configure)-525(dir)-525(or)-525(`..'])]TJ 0 g 0 G 0 g 0 G ET endstream endobj -223 0 obj << +224 0 obj << /Type /Page -/Contents 224 0 R -/Resources 222 0 R +/Contents 225 0 R +/Resources 223 0 R /MediaBox [0 0 595.276 841.89] /Parent 178 0 R -/Annots [ 221 0 R 220 0 R ] +/Annots [ 222 0 R 220 0 R 221 0 R ] >> endobj -221 0 obj << +222 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [92.604 739.006 100.627 748.453] @@ -1178,50 +1193,57 @@ endobj 220 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [150.46 667.563 163.361 676.586] +/Rect [150.46 667.049 163.361 676.071] /Subtype /Link /A << /S /GoTo /D (cite.SUPERLU) >> >> endobj -225 0 obj << -/D [223 0 R /XYZ 93.6 740.002 null] +221 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [177.909 603.859 190.811 612.881] +/Subtype /Link +/A << /S /GoTo /D (cite.SUPERLUDIST) >> +>> endobj +226 0 obj << +/D [224 0 R /XYZ 93.6 740.002 null] >> endobj 34 0 obj << -/D [223 0 R /XYZ 93.6 612.877 null] +/D [224 0 R /XYZ 93.6 560.339 null] >> endobj -222 0 obj << +223 0 obj << /Font << /F41 124 0 R /F15 123 0 R /F43 158 0 R /F44 202 0 R /F17 111 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -229 0 obj << -/Length 3756 +231 0 obj << +/Length 3725 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(6)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F44 10.9091 Tf -54.358 -35.866 Td [([PREFIX])]TJ -148.907 -27.098 Td [(By)-525(default,)-525(`make)-525(install')-525(will)-525(install)-525(all)-525(the)-525(files)-525(in)]TJ 0 -13.549 Td [(`/usr/local/bin',)-525(`/usr/local/lib')-525(etc.)-1050(You)-525(can)-525(specify)]TJ 0 -13.549 Td [(an)-525(installation)-525(prefix)-525(other)-525(than)-525(`/usr/local')-525(using)-525(`--prefix',)]TJ 0 -13.55 Td [(for)-525(instance)-525(`--prefix=$HOME'.)]TJ 0 -27.098 Td [(For)-525(better)-525(control,)-525(use)-525(the)-525(options)-525(below.)]TJ 0 -27.098 Td [(Fine)-525(tuning)-525(of)-525(the)-525(installation)-525(directories:)]TJ 11.454 -13.55 Td [(--bindir=DIR)-6300(user)-525(executables)-525([EPREFIX/bin])]TJ 0 -13.549 Td [(--sbindir=DIR)-5775(system)-525(admin)-525(executables)-525([EPREFIX/sbin])]TJ 0 -13.549 Td [(--libexecdir=DIR)-4200(program)-525(executables)-525([EPREFIX/libexec])]TJ 0 -13.549 Td [(--sysconfdir=DIR)-4200(read-only)-525(single-machine)-525(data)-525([PREFIX/etc])]TJ 0 -13.549 Td [(--sharedstatedir=DIR)-2100(modifiable)-525(architecture-independent)-525(data)-525([PREFIX/com])]TJ 0 -13.55 Td [(--localstatedir=DIR)-2625(modifiable)-525(single-machine)-525(data)-525([PREFIX/var])]TJ 0 -13.549 Td [(--libdir=DIR)-6300(object)-525(code)-525(libraries)-525([EPREFIX/lib])]TJ 0 -13.549 Td [(--includedir=DIR)-4200(C)-525(header)-525(files)-525([PREFIX/include])]TJ 0 -13.549 Td [(--oldincludedir=DIR)-2625(C)-525(header)-525(files)-525(for)-525(non-gcc)-525([/usr/include])]TJ 0 -13.549 Td [(--datarootdir=DIR)-3675(read-only)-525(arch.-independent)-525(data)-525(root)-525([PREFIX/share])]TJ 0 -13.55 Td [(--datadir=DIR)-5775(read-only)-525(architecture-independent)-525(data)-525([DATAROOTDIR])]TJ 0 -13.549 Td [(--infodir=DIR)-5775(info)-525(documentation)-525([DATAROOTDIR/info])]TJ 0 -13.549 Td [(--localedir=DIR)-4725(locale-dependent)-525(data)-525([DATAROOTDIR/locale])]TJ 0 -13.549 Td [(--mandir=DIR)-6300(man)-525(documentation)-525([DATAROOTDIR/man])]TJ 0 -13.549 Td [(--docdir=DIR)-6300(documentation)-525(root)-525([DATAROOTDIR/doc/mld2p4])]TJ 0 -13.549 Td [(--htmldir=DIR)-5775(html)-525(documentation)-525([DOCDIR])]TJ 0 -13.55 Td [(--dvidir=DIR)-6300(dvi)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--pdfdir=DIR)-6300(pdf)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--psdir=DIR)-6825(ps)-525(documentation)-525([DOCDIR])]TJ -11.454 -27.098 Td [(Optional)-525(Features:)]TJ 11.454 -13.55 Td [(--disable-option-checking)-1050(ignore)-525(unrecognized)-525(--enable/--with)-525(options)]TJ 0 -13.549 Td [(--disable-FEATURE)-3675(do)-525(not)-525(include)-525(FEATURE)-525(\050same)-525(as)-525(--enable-FEATURE=no\051)]TJ 0 -13.549 Td [(--enable-FEATURE[=ARG])-1050(include)-525(FEATURE)-525([ARG=yes])]TJ 0 -13.549 Td [(--enable-serial)-4725(Specify)-525(whether)-525(to)-525(enable)-525(a)-525(fake)-525(mpi)-525(library)-525(to)-525(run)]TJ 137.453 -13.549 Td [(in)-525(serial)-525(mode.)]TJ -148.907 -27.099 Td [(Optional)-525(Packages:)]TJ 11.454 -13.549 Td [(--with-PACKAGE[=ARG])-2100(use)-525(PACKAGE)-525([ARG=yes])]TJ 0 -13.549 Td [(--without-PACKAGE)-3675(do)-525(not)-525(use)-525(PACKAGE)-525(\050same)-525(as)-525(--with-PACKAGE=no\051)]TJ 0 -13.549 Td [(--with-psblas)-5775(The)-525(source)-525(directory)-525(for)-525(PSBLAS,)-525(for)-525(example,)]TJ 137.453 -13.55 Td [(--with-psblas=/opt/packages/psblas-2.3)]TJ -137.453 -13.549 Td [(--with-libs)-6825(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-libs=-lspecial_system_lib)-525(or)]TJ +/F44 10.9091 Tf -203.265 -35.866 Td [(Installation)-525(directories:)]TJ 11.454 -13.549 Td [(--prefix=PREFIX)-4725(install)-525(architecture-independent)-525(files)-525(in)-525(PREFIX)]TJ 137.453 -13.549 Td [([/usr/local])]TJ -137.453 -13.549 Td [(--exec-prefix=EPREFIX)-1575(install)-525(architecture-dependent)-525(files)-525(in)-525(EPREFIX)]TJ 137.453 -13.549 Td [([PREFIX])]TJ -148.907 -27.099 Td [(By)-525(default,)-525(`make)-525(install')-525(will)-525(install)-525(all)-525(the)-525(files)-525(in)]TJ 0 -13.549 Td [(`/usr/local/bin',)-525(`/usr/local/lib')-525(etc.)-1050(You)-525(can)-525(specify)]TJ 0 -13.549 Td [(an)-525(installation)-525(prefix)-525(other)-525(than)-525(`/usr/local')-525(using)-525(`--prefix',)]TJ 0 -13.549 Td [(for)-525(instance)-525(`--prefix=$HOME'.)]TJ 0 -27.099 Td [(For)-525(better)-525(control,)-525(use)-525(the)-525(options)-525(below.)]TJ 0 -27.098 Td [(Fine)-525(tuning)-525(of)-525(the)-525(installation)-525(directories:)]TJ 11.454 -13.549 Td [(--bindir=DIR)-6300(user)-525(executables)-525([EPREFIX/bin])]TJ 0 -13.55 Td [(--sbindir=DIR)-5775(system)-525(admin)-525(executables)-525([EPREFIX/sbin])]TJ 0 -13.549 Td [(--libexecdir=DIR)-4200(program)-525(executables)-525([EPREFIX/libexec])]TJ 0 -13.549 Td [(--sysconfdir=DIR)-4200(read-only)-525(single-machine)-525(data)-525([PREFIX/etc])]TJ 0 -13.549 Td [(--sharedstatedir=DIR)-2100(modifiable)-525(architecture-independent)-525(data)-525([PREFIX/com])]TJ 0 -13.549 Td [(--localstatedir=DIR)-2625(modifiable)-525(single-machine)-525(data)-525([PREFIX/var])]TJ 0 -13.55 Td [(--libdir=DIR)-6300(object)-525(code)-525(libraries)-525([EPREFIX/lib])]TJ 0 -13.549 Td [(--includedir=DIR)-4200(C)-525(header)-525(files)-525([PREFIX/include])]TJ 0 -13.549 Td [(--oldincludedir=DIR)-2625(C)-525(header)-525(files)-525(for)-525(non-gcc)-525([/usr/include])]TJ 0 -13.549 Td [(--datarootdir=DIR)-3675(read-only)-525(arch.-independent)-525(data)-525(root)-525([PREFIX/share])]TJ 0 -13.549 Td [(--datadir=DIR)-5775(read-only)-525(architecture-independent)-525(data)-525([DATAROOTDIR])]TJ 0 -13.549 Td [(--infodir=DIR)-5775(info)-525(documentation)-525([DATAROOTDIR/info])]TJ 0 -13.55 Td [(--localedir=DIR)-4725(locale-dependent)-525(data)-525([DATAROOTDIR/locale])]TJ 0 -13.549 Td [(--mandir=DIR)-6300(man)-525(documentation)-525([DATAROOTDIR/man])]TJ 0 -13.549 Td [(--docdir=DIR)-6300(documentation)-525(root)-525([DATAROOTDIR/doc/mld2p4])]TJ 0 -13.549 Td [(--htmldir=DIR)-5775(html)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--dvidir=DIR)-6300(dvi)-525(documentation)-525([DOCDIR])]TJ 0 -13.55 Td [(--pdfdir=DIR)-6300(pdf)-525(documentation)-525([DOCDIR])]TJ 0 -13.549 Td [(--psdir=DIR)-6825(ps)-525(documentation)-525([DOCDIR])]TJ -11.454 -27.098 Td [(Optional)-525(Features:)]TJ 11.454 -13.549 Td [(--disable-option-checking)-1050(ignore)-525(unrecognized)-525(--enable/--with)-525(options)]TJ 0 -13.55 Td [(--disable-FEATURE)-3675(do)-525(not)-525(include)-525(FEATURE)-525(\050same)-525(as)-525(--enable-FEATURE=no\051)]TJ 0 -13.549 Td [(--enable-FEATURE[=ARG])-1050(include)-525(FEATURE)-525([ARG=yes])]TJ 0 -13.549 Td [(--enable-serial)-4725(Specify)-525(whether)-525(to)-525(enable)-525(a)-525(fake)-525(mpi)-525(library)-525(to)-525(run)]TJ 137.453 -13.549 Td [(in)-525(serial)-525(mode.)]TJ -148.907 -27.099 Td [(Optional)-525(Packages:)]TJ 11.454 -13.549 Td [(--with-PACKAGE[=ARG])-2100(use)-525(PACKAGE)-525([ARG=yes])]TJ 0 -13.549 Td [(--without-PACKAGE)-3675(do)-525(not)-525(use)-525(PACKAGE)-525(\050same)-525(as)-525(--with-PACKAGE=no\051)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -228 0 obj << +230 0 obj << /Type /Page -/Contents 229 0 R -/Resources 227 0 R +/Contents 231 0 R +/Resources 229 0 R /MediaBox [0 0 595.276 841.89] /Parent 178 0 R >> endobj -230 0 obj << -/D [228 0 R /XYZ 86.4 740.002 null] +232 0 obj << +/D [230 0 R /XYZ 86.4 740.002 null] >> endobj -227 0 obj << +229 0 obj << /Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -234 0 obj << -/Length 3779 +236 0 obj << +/Length 3624 >> stream 0 g 0 G @@ -1231,97 +1253,132 @@ BT 0 g 0 G [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(7)]TJ 0 g 0 G -/F44 10.9091 Tf -258.089 -35.866 Td [(--with-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-umfpack=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(UMFPACK)-525(library.)]TJ 137.453 -13.549 Td [(Default:)-525("-lumfpack)-525(-lamd")]TJ -137.453 -13.549 Td [(--with-umfpackdir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)]TJ -137.453 -13.55 Td [(--with-superlu=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(SUPERLU)-525(library.)]TJ 137.453 -13.549 Td [(Default:)-525("-lsuperlu")]TJ -137.453 -13.549 Td [(--with-superludir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superludist=LIBNAME)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(libname)-525(for)-525(SUPERLUDIST)-525(library.)]TJ 0 -13.549 Td [(Requires)-525(you)-525(also)-525(specify)-525(SuperLU.)-525(Default:)]TJ 0 -13.549 Td [("-lsuperlu_dist")]TJ -137.453 -13.549 Td [(--with-superludistdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library)-525(and)]TJ 0 -13.55 Td [(includes.)]TJ -148.908 -27.098 Td [(Some)-525(influential)-525(environment)-525(variables:)]TJ 11.455 -13.549 Td [(FC)-5250(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FCFLAGS)-2625(Fortran)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(LDFLAGS)-2625(linker)-525(flags,)-525(e.g.)-525(-L)-525(if)-525(you)-525(have)-525(libraries)-525(in)-525(a)]TJ 68.726 -13.549 Td [(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(LIBS)-4200(libraries)-525(to)-525(pass)-525(to)-525(the)-525(linker,)-525(e.g.)-525(-l)]TJ 0 -13.549 Td [(CC)-5250(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(CFLAGS)-3150(C)-525(compiler)-525(flags)]TJ 0 -13.549 Td [(CPPFLAGS)-2100(\050Objective\051)-525(C/C++)-525(preprocessor)-525(flags,)-525(e.g.)-525(-I)-525(if)]TJ 68.726 -13.55 Td [(you)-525(have)-525(headers)-525(in)-525(a)-525(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(CPP)-4725(C)-525(preprocessor)]TJ 0 -13.549 Td [(MPICC)-3675(MPI)-525(C)-525(compiler)-525(command)]TJ 0 -13.549 Td [(F77)-4725(Fortran)-525(77)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FFLAGS)-3150(Fortran)-525(77)-525(compiler)-525(flags)]TJ 0 -13.55 Td [(MPIF77)-3150(MPI)-525(Fortran)-525(77)-525(compiler)-525(command)]TJ 0 -13.549 Td [(MPIFC)-3675(MPI)-525(Fortran)-525(compiler)-525(command)]TJ -11.455 -27.098 Td [(Use)-525(these)-525(variables)-525(to)-525(override)-525(the)-525(choices)-525(made)-525(by)-525(`configure')-525(or)-525(to)-525(help)]TJ 0 -13.549 Td [(it)-525(to)-525(find)-525(libraries)-525(and)-525(programs)-525(with)-525(nonstandard)-525(names/locations.)]TJ 0 -27.099 Td [(Report)-525(bugs)-525(to)-525(.)]TJ/F15 10.9091 Tf 0 -20.324 Td [(Th)28(us,)-352(a)-348(sample)-348(build)-348(with)-348(libraries)-348(in)-348(installation)-348(directories)-348(sp)-28(eci\014cs)-348(to)-348(the)-348(GNU)-348(4.7)]TJ 0 -13.549 Td [(compiler)-333(suite)-334(migh)28(t)-333(b)-28(e)-333(as)-334(follo)28(ws,)-333(sp)-28(ecifying)-333(only)-334(th)1(e)-334(UMFP)84(A)27(CK)-333(external)-333(pac)27(k)56(age:)]TJ -0 g 0 G -0 g 0 G -/F44 10.9091 Tf 5.728 -20.324 Td [(./configure)-525(--with-psblas=/home/user/psblas-3.1/)-525(\134)]TJ 0 -13.549 Td [(--with-libs="-L/usr/local/BLAS/gnu47")-525(\134)]TJ 0 -13.549 Td [(--with-umfpackdir=/usr/local/UMFPACK/gnu47)]TJ +/F44 10.9091 Tf -395.542 -35.866 Td [(--with-psblas=DIR)-3675(The)-525(install)-525(directory)-525(for)-525(PSBLAS,)-525(for)-525(example,)]TJ 137.453 -13.549 Td [(--with-psblas=/opt/packages/psblas-3.3)]TJ -137.453 -13.549 Td [(--with-psblas-incdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(includes.)]TJ -137.453 -13.549 Td [(--with-psblas-libdir=DIR)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(directory)-525(for)-525(PSBLAS)-525(library.)]TJ -137.453 -13.549 Td [(--with-extra-libs)-3675(List)-525(additional)-525(link)-525(flags)-525(here.)-525(For)-525(example,)]TJ 137.453 -13.549 Td [(--with-extra-libs=-lspecial_system_lib)-525(or)]TJ 0 -13.549 Td [(--with-extra-libs=-L/path/to/libs)]TJ -137.453 -13.549 Td [(--with-umfpack=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(UMFPACK)-525(and)-525(its)-525(support)]TJ 137.453 -13.55 Td [(libraries.)-525(Default:)-525("-lumfpack)-525(-lamd")]TJ -137.453 -13.549 Td [(--with-umfpackdir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library)-525(and)]TJ 137.453 -13.549 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-umfpackincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(includes.)]TJ -137.453 -13.55 Td [(--with-umfpacklibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(UMFPACK)-525(library.)]TJ -137.453 -13.549 Td [(--with-superlu=LIBNAME)-1050(Specify)-525(the)-525(library)-525(name)-525(for)-525(SUPERLU)-525(library.)]TJ 137.453 -13.549 Td [(Default:)-525("-lsuperlu")]TJ -137.453 -13.549 Td [(--with-superludir=DIR)-1575(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library)-525(and)]TJ 137.453 -13.55 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superluincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superlulibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLU)-525(library.)]TJ -137.453 -13.549 Td [(--with-superludist=LIBNAME)]TJ 137.453 -13.55 Td [(Specify)-525(the)-525(libname)-525(for)-525(SUPERLUDIST)-525(library.)]TJ 0 -13.549 Td [(Requires)-525(you)-525(also)-525(specify)-525(SuperLU.)-525(Default:)]TJ 0 -13.549 Td [("-lsuperlu_dist")]TJ -137.453 -13.549 Td [(--with-superludistdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library)-525(and)]TJ 0 -13.55 Td [(includes.)]TJ -137.453 -13.549 Td [(--with-superludistincdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(includes.)]TJ -137.453 -13.549 Td [(--with-superludistlibdir=DIR)]TJ 137.453 -13.549 Td [(Specify)-525(the)-525(directory)-525(for)-525(SUPERLUDIST)-525(library.)]TJ -148.908 -27.099 Td [(Some)-525(influential)-525(environment)-525(variables:)]TJ 11.455 -13.549 Td [(FC)-5250(Fortran)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FCFLAGS)-2625(Fortran)-525(compiler)-525(flags)]TJ 0 -13.549 Td [(LDFLAGS)-2625(linker)-525(flags,)-525(e.g.)-525(-L)-525(if)-525(you)-525(have)-525(libraries)-525(in)-525(a)]TJ 68.726 -13.55 Td [(nonstandard)-525(directory)-525()]TJ -68.726 -13.549 Td [(LIBS)-4200(libraries)-525(to)-525(pass)-525(to)-525(the)-525(linker,)-525(e.g.)-525(-l)]TJ 0 -13.549 Td [(CC)-5250(C)-525(compiler)-525(command)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -233 0 obj << +235 0 obj << /Type /Page -/Contents 234 0 R -/Resources 232 0 R +/Contents 236 0 R +/Resources 234 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R -/Annots [ 231 0 R ] +/Parent 238 0 R +/Annots [ 233 0 R ] >> endobj -231 0 obj << +233 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [92.604 739.006 100.627 748.453] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj -235 0 obj << -/D [233 0 R /XYZ 93.6 740.002 null] +237 0 obj << +/D [235 0 R /XYZ 93.6 740.002 null] >> endobj -232 0 obj << +234 0 obj << /Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -239 0 obj << -/Length 4221 +241 0 obj << +/Length 4780 >> stream 0 g 0 G BT /F15 10.9091 Tf 86.4 740.002 Td [(8)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F15 10.9091 Tf -203.265 -35.866 Td [(Once)-529(the)-529(con\014gure)-530(script)-529(has)-529(completed)-529(execution,)-578(it)-530(will)-529(ha)28(v)28(e)-529(ge)-1(n)1(e)-1(r)1(ate)-1(d)-529(the)-529(\014le)]TJ/F44 10.9091 Tf 0 -13.549 Td [(Make.inc)]TJ/F15 10.9091 Tf 49.144 0 Td [(whic)28(h)-305(will)-305(then)-305(b)-28(e)-305(used)-305(b)28(y)-305(all)-305(Mak)28(e\014les)-305(in)-305(the)-305(directory)-305(t)1(re)-1(e;)-314(this)-305(\014le)-305(will)-305(b)-27(e)]TJ -49.144 -13.549 Td [(copied)-333(in)-334(the)-333(install)-333(directory)-333(under)-334(the)-333(name)]TJ/F44 10.9091 Tf 223.485 0 Td [(Make.inc.MLD2P4)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ -292.457 -13.549 Td [(T)83(o)-333(build)-333(the)-334(li)1(brary)-334(the)-333(user)-333(will)-334(no)28(w)-333(en)28(ter)]TJ +/F44 10.9091 Tf -191.811 -35.866 Td [(CFLAGS)-3150(C)-525(compiler)-525(flags)]TJ 0 -13.549 Td [(CPPFLAGS)-2100(C/C++/Objective)-525(C)-525(preprocessor)-525(flags,)-525(e.g.)-525(-I)-525(if)]TJ 68.727 -13.549 Td [(you)-525(have)-525(headers)-525(in)-525(a)-525(nonstandard)-525(directory)-525()]TJ -68.727 -13.549 Td [(CPP)-4725(C)-525(preprocessor)]TJ 0 -13.549 Td [(MPICC)-3675(MPI)-525(C)-525(compiler)-525(command)]TJ 0 -13.55 Td [(F77)-4725(Fortran)-525(77)-525(compiler)-525(command)]TJ 0 -13.549 Td [(FFLAGS)-3150(Fortran)-525(77)-525(compiler)-525(flags)]TJ 0 -13.549 Td [(MPIF77)-3150(MPI)-525(Fortran)-525(77)-525(compiler)-525(command)]TJ 0 -13.549 Td [(MPIFC)-3675(MPI)-525(Fortran)-525(compiler)-525(command)]TJ -11.454 -27.099 Td [(Use)-525(these)-525(variables)-525(to)-525(override)-525(the)-525(choices)-525(made)-525(by)-525(`configure')-525(or)-525(to)-525(help)]TJ 0 -13.549 Td [(it)-525(to)-525(find)-525(libraries)-525(and)-525(programs)-525(with)-525(nonstandard)-525(names/locations.)]TJ 0 -27.098 Td [(Report)-525(bugs)-525(to)-525(.)]TJ/F15 10.9091 Tf 0 -22.534 Td [(F)83(or)-277(instance,)-289(if)-277(a)-277(user)-278(has)-277(built)-277(and)-278(installed)-277(PSBLAS)-277(3.3)-277(under)-278(the)]TJ/F44 10.9091 Tf 323.126 0 Td [(/opt)]TJ/F15 10.9091 Tf 25.935 0 Td [(directory)-277(and)]TJ -349.061 -13.549 Td [(is)-300(using)-299(the)-300(SuiteSparse)-300(pac)28(k)56(age)-300(\050whic)28(h)-300(includes)-300(UMFP)84(A)28(CK\051,)-300(then)-300(MLD2P4)-299(migh)27(t)-299(b)-28(e)]TJ 0 -13.549 Td [(con\014gured)-333(with:)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -16.936 -22.516 Td [(make)]TJ/F15 10.9091 Tf 0 -22.515 Td [(follo)28(w)28(ed)-334(\050optionally\051)-333(b)28(y)]TJ +/F44 10.9091 Tf 5.727 -22.538 Td [(./configure)-525(--with-psblas=/opt/psblas-3.3/)-525(\134)]TJ 0 -13.549 Td [(--with-umfpackincdir=/usr/include/suitesparse)]TJ/F15 10.9091 Tf -5.727 -22.533 Td [(Once)-529(the)-529(con\014gure)-530(script)-529(has)-529(completed)-529(execution,)-578(it)-530(will)-529(ha)28(v)28(e)-529(ge)-1(n)1(e)-1(r)1(ate)-1(d)-529(the)-529(\014le)]TJ/F44 10.9091 Tf 0 -13.55 Td [(Make.inc)]TJ/F15 10.9091 Tf 49.144 0 Td [(whic)28(h)-305(will)-305(then)-305(b)-28(e)-305(used)-305(b)28(y)-305(all)-305(Mak)28(e\014les)-305(in)-305(the)-305(directory)-305(t)1(re)-1(e;)-314(this)-305(\014le)-305(will)-305(b)-27(e)]TJ -49.144 -13.549 Td [(copied)-333(in)-334(the)-333(install)-333(directory)-333(under)-334(the)-333(name)]TJ/F44 10.9091 Tf 223.485 0 Td [(Make.inc.MLD2P4)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ -292.457 -13.553 Td [(T)83(o)-333(build)-333(the)-334(li)1(brary)-334(the)-333(user)-333(will)-334(no)28(w)-333(en)28(ter)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 0 -22.516 Td [(make)-525(install)]TJ/F17 11.9552 Tf 0 -29.213 Td [(3.4)-1125(Bug)-375(rep)-31(orting)]TJ/F15 10.9091 Tf 0 -20.594 Td [(If)-457(y)28(ou)-456(\014nd)-457(an)28(y)-456(bugs)-457(in)-456(our)-457(co)-28(des,)-487(please)-457(let)-456(us)-457(kno)28(w)-457(at)]TJ/F44 10.9091 Tf 290.642 0 Td [(bugreport@mld2p4.it)]TJ/F15 10.9091 Tf 118.779 0 Td [(;)]TJ -409.421 -13.55 Td [(b)-28(e)-360(a)28(w)28(are)-360(that)-360(the)-361(amoun)28(t)-360(of)-360(information)-360(needed)-360(to)-360(repro)-28(duce)-360(a)-360(problem)-360(in)-360(a)-360(parallel)]TJ 0 -13.549 Td [(program)-333(ma)28(y)-334(v)56(ary)-334(q)1(uite)-334(a)-333(lot.)]TJ/F17 11.9552 Tf 0 -29.213 Td [(3.5)-1125(Example)-375(and)-375(test)-375(programs)]TJ/F15 10.9091 Tf 0 -20.594 Td [(The)-419(pac)28(k)55(age)-418(con)27(tains)-418(the)]TJ/F44 10.9091 Tf 128.338 0 Td [(examples)]TJ/F15 10.9091 Tf 50.387 0 Td [(and)]TJ/F44 10.9091 Tf 22.146 0 Td [(tests)]TJ/F15 10.9091 Tf 33.205 0 Td [(directories;)-462(b)-27(oth)-419(of)-419(them)-419(are)-419(further)]TJ -234.076 -13.549 Td [(divided)-333(in)28(to)]TJ/F44 10.9091 Tf 60.606 0 Td [(fileread)]TJ/F15 10.9091 Tf 49.454 0 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(pdegen)]TJ/F15 10.9091 Tf 38 0 Td [(sub)-28(directories.)-444(Their)-333(purp)-28(ose)-333(is)-334(as)-333(follo)28(ws:)]TJ +/F44 10.9091 Tf -16.936 -22.538 Td [(make)]TJ/F15 10.9091 Tf 0 -22.534 Td [(follo)28(w)28(ed)-334(\050optionally\051)-333(b)28(y)]TJ 0 g 0 G -/F44 10.9091 Tf -169.272 -22.516 Td [(examples)]TJ 0 g 0 G -/F15 10.9091 Tf 51.272 0 Td [(con)28(tains)-245(a)-244(s)-1(et)-244(of)-245(simple)-245(example)-244(programs)-245(with)-244(a)-245(prede\014ned)-245(c)28(hoice)-245(of)-244(precon-)]TJ -23.999 -13.549 Td [(ditioners,)-294(selectable)-284(via)-284(in)28(teger)-284(v)56(alues.)-428(These)-284(are)-284(in)28(tended)-284(to)-284(get)-284(an)-284(acquain)28(tance)]TJ 0 -13.549 Td [(with)-333(the)-334(m)28(ultilev)28(el)-333(preconditioners.)]TJ +/F44 10.9091 Tf 0 -22.538 Td [(make)-525(install)]TJ/F17 11.9552 Tf 0 -29.238 Td [(3.4)-1125(Bug)-375(rep)-31(orting)]TJ/F15 10.9091 Tf 0 -20.603 Td [(If)-457(y)28(ou)-456(\014nd)-457(an)28(y)-456(bugs)-457(in)-456(our)-457(co)-28(des,)-487(please)-457(let)-456(us)-457(kno)28(w)-457(at)]TJ/F44 10.9091 Tf 290.642 0 Td [(bugreport@mld2p4.it)]TJ/F15 10.9091 Tf 118.779 0 Td [(;)]TJ -409.421 -13.549 Td [(b)-28(e)-360(a)28(w)28(are)-360(that)-360(the)-361(amoun)28(t)-360(of)-360(information)-360(needed)-360(to)-360(repro)-28(duce)-360(a)-360(problem)-360(in)-360(a)-360(parallel)]TJ 0 -13.549 Td [(program)-333(ma)28(y)-334(v)56(ary)-334(q)1(uite)-334(a)-333(lot.)]TJ/F17 11.9552 Tf 0 -29.239 Td [(3.5)-1125(Example)-375(and)-375(test)-375(programs)]TJ/F15 10.9091 Tf 0 -20.603 Td [(The)-419(pac)28(k)55(age)-418(con)27(tains)-418(the)]TJ/F44 10.9091 Tf 128.338 0 Td [(examples)]TJ/F15 10.9091 Tf 50.387 0 Td [(and)]TJ/F44 10.9091 Tf 22.146 0 Td [(tests)]TJ/F15 10.9091 Tf 33.205 0 Td [(directories;)-462(b)-27(oth)-419(of)-419(them)-419(are)-419(further)]TJ -234.076 -13.549 Td [(divided)-333(in)28(to)]TJ/F44 10.9091 Tf 60.606 0 Td [(fileread)]TJ/F15 10.9091 Tf 49.454 0 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(pdegen)]TJ/F15 10.9091 Tf 38 0 Td [(sub)-28(directories.)-444(Their)-333(purp)-28(ose)-333(is)-334(as)-333(follo)28(ws:)]TJ 0 g 0 G -/F44 10.9091 Tf -27.273 -22.516 Td [(tests)]TJ +/F44 10.9091 Tf -169.272 -22.534 Td [(examples)]TJ 0 g 0 G -/F15 10.9091 Tf 34.09 0 Td [(con)28(tains)-380(a)-380(set)-380(of)-380(more)-380(sophi)1(s)-1(ticated)-379(examples)-380(that)-380(will)-380(allo)28(w)-380(the)-380(user,)-391(via)-380(the)]TJ -6.817 -13.549 Td [(input)-286(\014les)-287(in)-286(the)]TJ/F44 10.9091 Tf 80.438 0 Td [(runs)]TJ/F15 10.9091 Tf 26.033 0 Td [(sub)-28(directories,)-296(to)-286(exp)-28(erimen)28(t)-286(with)-287(the)-286(full)-287(ran)1(ge)-287(of)-286(precon-)]TJ -106.471 -13.549 Td [(ditioners)-333(implemen)28(ted)-334(in)-333(the)-333(library)83(.)]TJ -27.273 -22.516 Td [(The)]TJ/F44 10.9091 Tf 24.239 0 Td [(fileread)]TJ/F15 10.9091 Tf 51.269 0 Td [(directories)-500(con)28(tain)-500(sample)-499(programs)-500(that)-500(read)-499(sparse)-500(matrices)-500(from)]TJ -75.508 -13.549 Td [(\014les,)-295(according)-285(to)-285(the)-285(Matrix)-285(Mark)28(et)-285(or)-285(the)-285(Harw)27(ell-Bo)-27(eing)-286(storage)-285(format;)-301(the)]TJ/F44 10.9091 Tf 378.088 0 Td [(pdegen)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(instead)-272(generate)-272(matrices)-272(in)-272(full)-272(parallel)-272(mo)-28(d)1(e)-273(f)1(rom)-272(the)-272(discretization)-272(of)-272(a)-272(sample)-272(PDE.)]TJ +/F15 10.9091 Tf 51.272 0 Td [(con)28(tains)-245(a)-244(s)-1(et)-244(of)-245(simple)-245(example)-244(programs)-245(with)-244(a)-245(prede\014ned)-245(c)28(hoice)-245(of)-244(precon-)]TJ -23.999 -13.549 Td [(ditioners,)-294(selectable)-284(via)-284(in)28(teger)-284(v)56(alues.)-428(These)-284(are)-284(in)28(tended)-284(to)-284(get)-284(an)-284(acquain)28(tance)]TJ 0 -13.549 Td [(with)-333(the)-334(m)28(ultilev)28(el)-333(preconditioners.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -238 0 obj << +240 0 obj << /Type /Page -/Contents 239 0 R -/Resources 237 0 R +/Contents 241 0 R +/Resources 239 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R +/Parent 238 0 R >> endobj -240 0 obj << -/D [238 0 R /XYZ 86.4 740.002 null] +242 0 obj << +/D [240 0 R /XYZ 86.4 740.002 null] >> endobj 38 0 obj << -/D [238 0 R /XYZ 86.4 580.677 null] +/D [240 0 R /XYZ 86.4 296.197 null] >> endobj 42 0 obj << -/D [238 0 R /XYZ 86.4 501.65 null] +/D [240 0 R /XYZ 86.4 217.136 null] >> endobj -237 0 obj << +239 0 obj << /Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R /F17 111 0 R >> /ProcSet [ /PDF /Text ] >> endobj -250 0 obj << -/Length 8191 +246 0 obj << +/Length 1460 >> stream 0 g 0 G 0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(3)]TJ +0 g 0 G + [-378(Configuring)-378(and)-377(B)-1(uilding)-377(MLD2P4)]TJ/F15 10.9091 Tf 406.997 0 Td [(9)]TJ +0 g 0 G +0 g 0 G +/F44 10.9091 Tf -406.997 -35.866 Td [(tests)]TJ +0 g 0 G +/F15 10.9091 Tf 34.091 0 Td [(con)28(tains)-380(a)-380(set)-380(of)-380(more)-380(soph)1(istic)-1(at)1(e)-1(d)-379(examples)-380(that)-380(will)-380(allo)28(w)-380(the)-380(user,)-391(via)-380(the)]TJ -6.818 -13.549 Td [(input)-286(\014les)-287(in)-286(the)]TJ/F44 10.9091 Tf 80.438 0 Td [(runs)]TJ/F15 10.9091 Tf 26.034 0 Td [(sub)-28(directories,)-296(to)-286(exp)-28(erimen)28(t)-286(with)-287(the)-286(full)-286(range)-287(of)-286(precon-)]TJ -106.472 -13.549 Td [(ditioners)-333(implemen)27(t)1(e)-1(d)-333(in)-333(the)-333(library)83(.)]TJ -27.273 -22.516 Td [(The)]TJ/F44 10.9091 Tf 24.239 0 Td [(fileread)]TJ/F15 10.9091 Tf 51.269 0 Td [(directories)-500(con)28(tain)-500(sample)-499(programs)-500(that)-500(read)-499(sparse)-500(matrices)-500(from)]TJ -75.508 -13.549 Td [(\014les,)-295(according)-285(to)-285(the)-285(Matrix)-285(Mark)28(et)-285(or)-285(the)-285(Harw)27(ell-Bo)-27(e)-1(i)1(ng)-286(storage)-285(format;)-301(the)]TJ/F44 10.9091 Tf 378.088 0 Td [(pdegen)]TJ/F15 10.9091 Tf -378.088 -13.549 Td [(instead)-272(generate)-272(matrices)-272(in)-272(full)-272(parallel)-272(mo)-28(de)-272(f)1(rom)-272(the)-272(discretiz)-1(at)1(ion)-272(of)-272(a)-272(sample)-272(PDE.)]TJ +0 g 0 G +0 g 0 G +ET +endstream +endobj +245 0 obj << +/Type /Page +/Contents 246 0 R +/Resources 244 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 238 0 R +/Annots [ 243 0 R ] +>> endobj +243 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.3) >> +>> endobj +247 0 obj << +/D [245 0 R /XYZ 93.6 740.002 null] +>> endobj +244 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +256 0 obj << +/Length 8148 +>> +stream 0 g 0 G - [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 406.997 0 Td [(9)]TJ +BT +/F15 10.9091 Tf 86.4 740.002 Td [(10)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 14.3462 Tf -406.997 -35.866 Td [(4)-1125(Multi-lev)31(el)-375(Domain)-375(Decomp)-31(osition)-375(Bac)31(kground)]TJ/F18 10.9091 Tf 0 -25.25 Td [(Domain)-282(De)51(c)51(omp)51(osition)]TJ/F15 10.9091 Tf 113.171 0 Td [(\050DD\051)-251(preconditioners,)-267(coupled)-251(with)-251(Krylo)28(v)-251(iterativ)28(e)-251(solv)28(ers,)-268(are)]TJ -113.171 -13.549 Td [(widely)-315(used)-316(in)-315(the)-315(parallel)-315(solution)-315(of)-316(large)-315(and)-315(sparse)-316(l)1(inear)-316(systems.)-438(These)-316(precondi-)]TJ 0 -13.549 Td [(tioners)-285(are)-285(based)-285(on)-284(the)-285(divide)-285(and)-285(conquer)-285(tec)28(hnique:)-420(the)-285(matrix)-285(to)-284(b)-28(e)-285(preconditioned)]TJ 0 -13.549 Td [(is)-423(divided)-422(in)28(to)-423(submatrices,)-445(a)-423(\134lo)-27(cal")-423(linear)-423(system)-422(in)27(v)28(olving)-422(eac)27(h)-422(submatrix)-423(is)-422(\050ap-)]TJ 0 -13.549 Td [(pro)28(ximately\051)-356(solv)28(ed,)-362(and)-356(the)-356(lo)-27(cal)-356(solutions)-356(are)-356(used)-356(to)-356(build)-356(a)-356(preconditioner)-356(for)-356(the)]TJ 0 -13.55 Td [(whole)-407(original)-407(matr)1(ix.)-665(This)-407(pro)-28(cess)-407(often)-407(corresp)-27(onds)-407(to)-407(dividing)-407(a)-406(ph)28(ys)-1(i)1(c)-1(al)-406(domain)]TJ 0 -13.549 Td [(asso)-28(ciated)-299(to)-299(the)-299(original)-299(matrix)-299(in)28(to)-299(sub)-28(domains,)-306(e.g.)-433(in)-299(a)-299(PDE)-299(discretization,)-306(to)-299(\050ap-)]TJ 0 -13.549 Td [(pro)28(ximately\051)-276(s)-1(olv)1(ing)-277(the)-276(subproblems)-276(corresp)-28(onding)-276(to)-277(the)-276(sub)-28(domains)-276(and)-276(to)-277(building)]TJ 0 -13.549 Td [(an)-333(appro)28(ximate)-334(solution)-333(of)-333(the)-334(original)-333(problem)-333(from)-333(the)-334(lo)-27(c)-1(al)-333(solutions)-333([)]TJ +/F17 14.3462 Tf -203.265 -35.866 Td [(4)-1125(Multi-lev)31(el)-375(Domain)-375(Decomp)-31(osition)-375(Bac)31(kground)]TJ/F18 10.9091 Tf 0 -25.25 Td [(Domain)-282(De)51(c)51(omp)51(osition)]TJ/F15 10.9091 Tf 113.171 0 Td [(\050DD\051)-251(preconditioners,)-267(coupled)-251(with)-251(Krylo)28(v)-251(iterativ)28(e)-251(solv)28(ers,)-268(are)]TJ -113.171 -13.549 Td [(widely)-315(used)-316(i)1(n)-316(the)-315(parallel)-315(solution)-315(of)-316(large)-315(and)-315(sparse)-315(linear)-316(systems.)-438(These)-316(precondi-)]TJ 0 -13.549 Td [(tioners)-285(are)-285(based)-285(on)-284(the)-285(divide)-285(and)-285(conquer)-285(tec)28(hnique:)-420(the)-285(matrix)-285(to)-284(b)-28(e)-285(preconditioned)]TJ 0 -13.549 Td [(is)-423(divided)-422(in)28(to)-423(submatrices,)-445(a)-423(\134lo)-27(cal")-423(linear)-423(system)-422(in)27(v)28(olving)-422(eac)27(h)-422(submatrix)-423(is)-422(\050ap-)]TJ 0 -13.549 Td [(pro)28(ximately\051)-356(solv)28(ed,)-362(and)-356(the)-356(lo)-27(cal)-356(solutions)-356(are)-356(used)-356(to)-356(build)-356(a)-356(preconditioner)-356(for)-356(th)1(e)]TJ 0 -13.55 Td [(whole)-407(original)-406(m)-1(at)1(rix.)-665(This)-407(pro)-28(cess)-407(often)-407(corresp)-27(onds)-407(to)-407(dividing)-407(a)-406(ph)28(ysic)-1(al)-406(domain)]TJ 0 -13.549 Td [(asso)-28(ciated)-299(to)-299(the)-299(original)-299(matrix)-299(in)28(to)-299(sub)-28(domains,)-306(e.g.)-433(in)-299(a)-299(PDE)-299(discretization,)-306(to)-299(\050ap-)]TJ 0 -13.549 Td [(pro)28(ximately\051)-276(s)-1(ol)1(ving)-277(the)-276(subproblems)-276(corresp)-28(onding)-276(to)-277(the)-276(sub)-28(domains)-276(and)-276(to)-277(building)]TJ 0 -13.549 Td [(an)-333(appro)28(ximate)-334(solution)-333(of)-333(the)-334(origin)1(al)-334(problem)-333(from)-333(the)-334(lo)-27(cal)-334(solutions)-333([)]TJ 1 0 0 rg 1 0 0 RG [(6)]TJ 0 g 0 G @@ -1333,93 +1390,89 @@ BT 1 0 0 rg 1 0 0 RG [-334(22)]TJ 0 g 0 G - [(].)]TJ/F18 10.9091 Tf 16.937 -14.011 Td [(A)51(dditive)-468(Schwarz)]TJ/F15 10.9091 Tf 89.058 0 Td [(preconditioners)-453(are)-453(DD)-454(precondition)1(e)-1(r)1(s)-454(using)-453(o)28(v)28(erlapping)-454(sub-)]TJ -105.995 -13.55 Td [(matrices,)-403(i.e.)-389(with)-389(some)-389(common)-389(ro)27(ws,)-403(to)-389(couple)-389(the)-389(lo)-28(cal)-389(information)-389(related)-389(to)-389(the)]TJ 0 -13.549 Td [(submatrices)-362(\050see,)-369(e.g.,)-369([)]TJ + [(].)]TJ/F18 10.9091 Tf 16.936 -14.011 Td [(A)51(dditive)-468(Schwarz)]TJ/F15 10.9091 Tf 89.059 0 Td [(preconditioners)-453(are)-453(DD)-454(precondi)1(tioners)-454(using)-453(o)28(v)28(erlapping)-454(sub)1(-)]TJ -105.995 -13.55 Td [(matrices,)-403(i.e.)-389(with)-389(some)-389(common)-389(ro)27(ws,)-403(to)-389(couple)-389(the)-389(lo)-28(cal)-389(information)-389(related)-389(to)-389(the)]TJ 0 -13.549 Td [(submatrices)-362(\050see,)-369(e.g.,)-369([)]TJ 1 0 0 rg 1 0 0 RG [(22)]TJ 0 g 0 G - [(]\051.)-530(The)-362(main)-362(motiv)55(at)1(ion)-362(for)-362(c)28(ho)-28(osing)-362(Additiv)28(e)-362(Sc)28(h)28(w)27(arz)-362(pre-)]TJ 0 -13.549 Td [(conditioners)-361(is)-361(their)-361(in)28(trinsic)-361(parallelism.)-528(A)-361(dra)28(wbac)28(k)-362(of)-361(these)-361(preconditioners)-361(is)-361(that)]TJ 0 -13.549 Td [(the)-388(n)28(um)27(b)-27(er)-388(of)-389(iterations)-388(of)-388(the)-388(preconditioned)-388(solv)28(ers)-388(generally)-389(gro)28(ws)-388(with)-388(the)-388(n)28(um-)]TJ 0 -13.549 Td [(b)-28(er)-370(of)-370(submatrices.)-555(This)-370(ma)28(y)-370(b)-28(e)-370(a)-370(serious)-370(limitation)-370(on)-370(parallel)-370(computers,)-380(since)-370(the)]TJ 0 -13.55 Td [(n)28(um)28(b)-28(er)-403(of)-404(sub)1(m)-1(atr)1(ic)-1(es)-403(usually)-403(matc)28(hes)-403(the)-404(n)28(um)28(b)-28(er)-403(of)-403(a)28(v)55(ailable)-403(pro)-28(cessors.)-654(Optimal)]TJ 0 -13.549 Td [(con)28(v)28(ergence)-262(rates,)-276(i.e.)-262(iteration)-262(n)28(um)28(b)-28(ers)-262(indep)-27(enden)27(t)-261(of)-262(the)-262(n)28(um)28(b)-28(er)-262(of)-261(submatrices,)-277(can)]TJ 0 -13.549 Td [(b)-28(e)-369(obtained)-370(b)28(y)-369(correcting)-369(the)-370(preconditioner)-369(through)-369(a)-370(suitable)-369(appro)28(ximation)-370(of)-369(the)]TJ 0 -13.549 Td [(original)-323(linear)-323(system)-323(in)-323(a)-323(coarse)-323(space,)-325(whic)28(h)-323(globally)-323(couples)-323(the)-323(infor)1(m)-1(at)1(ion)-323(related)]TJ 0 -13.549 Td [(to)-333(the)-334(single)-333(submatrices.)]TJ/F18 10.9091 Tf 16.937 -14.012 Td [(Two-level)-308(Schwarz)]TJ/F15 10.9091 Tf 91.529 0 Td [(preconditioners)-279(are)-280(obtained)-279(b)27(y)-279(com)27(b)1(ining)-280(basic)-279(\050one-)-1(l)1(e)-1(v)28(el\051)-279(Sc)27(h)1(-)]TJ -108.466 -13.549 Td [(w)28(arz)-363(p)1(rec)-1(on)1(ditioners)-363(with)-362(a)-362(coarse-lev)28(el)-363(correction.)-531(In)-362(this)-362(con)28(text,)-370(the)-362(one-lev)28(el)-363(pre-)]TJ 0 -13.549 Td [(conditioner)-344(is)-345(often)-344(called)-345(`)1(s)-1(mo)-27(other'.)-478(Di\013eren)28(t)-345(t)28(w)28(o-lev)28(el)-345(preconditioners)-344(are)-344(obtained)]TJ 0 -13.549 Td [(b)28(y)-371(v)56(arying)-371(the)-371(c)28(hoice)-371(of)-370(the)-371(smo)-28(other)-371(and)-370(of)-371(the)-371(coarse-lev)28(el)-371(correction,)-380(and)-371(the)-370(w)27(a)28(y)]TJ 0 -13.549 Td [(they)-374(are)-373(com)27(bined)-373([)]TJ + [(]\051.)-530(The)-362(main)-362(motiv)56(ation)-362(for)-362(c)28(ho)-28(osing)-362(Additiv)28(e)-362(Sc)28(h)28(w)27(arz)-362(pre-)]TJ 0 -13.549 Td [(conditioners)-361(is)-361(their)-361(in)28(trinsic)-361(parallelism.)-528(A)-361(dra)28(wbac)28(k)-361(of)-362(th)1(e)-1(se)-361(preconditioners)-361(is)-361(that)]TJ 0 -13.549 Td [(the)-388(n)28(um)27(b)-27(er)-388(of)-389(iteration)1(s)-389(of)-388(the)-388(preconditioned)-388(solv)28(ers)-388(generally)-389(gr)1(o)27(ws)-388(with)-388(the)-388(n)28(um-)]TJ 0 -13.549 Td [(b)-28(er)-370(of)-370(submatrices.)-555(This)-370(ma)28(y)-370(b)-28(e)-370(a)-370(serious)-370(limitation)-370(on)-370(parallel)-370(computers,)-380(since)-370(the)]TJ 0 -13.55 Td [(n)28(um)28(b)-28(er)-403(of)-403(s)-1(u)1(bmatrice)-1(s)-403(usually)-403(matc)28(hes)-403(the)-404(n)28(um)28(b)-28(er)-403(of)-403(a)28(v)55(ailable)-403(pro)-28(cessors.)-654(Optimal)]TJ 0 -13.549 Td [(con)28(v)28(ergence)-262(rates,)-276(i.e.)-262(iteration)-262(n)28(um)28(b)-28(ers)-262(indep)-27(enden)27(t)-261(of)-262(the)-262(n)28(um)28(b)-28(er)-262(of)-261(submatrices,)-277(can)]TJ 0 -13.549 Td [(b)-28(e)-369(obtained)-369(b)27(y)-369(correcting)-369(the)-370(preconditioner)-369(through)-369(a)-370(suitable)-369(appro)28(ximation)-370(of)-369(the)]TJ 0 -13.549 Td [(original)-323(linear)-323(system)-323(in)-323(a)-323(coarse)-323(space,)-325(whic)28(h)-323(globally)-323(couples)-323(the)-323(inf)1(ormation)-323(related)]TJ 0 -13.549 Td [(to)-333(the)-334(single)-333(submatrices.)]TJ/F18 10.9091 Tf 16.936 -14.012 Td [(Two-level)-308(Schwarz)]TJ/F15 10.9091 Tf 91.53 0 Td [(preconditioners)-279(are)-280(obtained)-279(b)27(y)-279(com)28(bining)-280(basic)-279(\050one-le)-1(v)28(el\051)-279(Sc)27(h)1(-)]TJ -108.466 -13.549 Td [(w)28(arz)-362(preconditioners)-363(with)-362(a)-362(coarse-lev)28(el)-363(correction.)-531(In)-362(this)-362(con)28(text,)-370(the)-362(one-lev)28(el)-363(pre-)]TJ 0 -13.549 Td [(conditioner)-344(is)-345(often)-344(called)-344(`s)-1(mo)-27(other'.)-478(Di\013eren)28(t)-345(t)28(w)28(o-lev)28(el)-345(preconditioners)-344(are)-344(obtained)]TJ 0 -13.549 Td [(b)28(y)-371(v)56(arying)-371(the)-371(c)28(hoice)-371(of)-370(the)-371(smo)-28(other)-371(and)-370(of)-371(the)-371(coarse-lev)28(el)-371(correction,)-380(and)-371(th)1(e)-371(w)27(a)28(y)]TJ 0 -13.549 Td [(they)-374(are)-373(com)27(bined)-373([)]TJ 1 0 0 rg 1 0 0 RG [(22)]TJ 0 g 0 G - [(].)-566(The)-373(same)-374(reasoning)-374(can)-373(b)-28(e)-374(applied)-373(s)-1(tar)1(ting)-374(from)-374(the)-373(coarse)-1(-)]TJ 0 -13.55 Td [(lev)28(el)-281(system,)-291(i.e.)-281(a)-280(coarse-)-1(space)-280(correction)-281(can)-280(b)-28(e)-281(built)-280(from)-281(this)-280(s)-1(y)1(s)-1(tem,)-291(th)28(us)-281(ob)1(taining)]TJ/F18 10.9091 Tf 0 -13.549 Td [(multi-level)]TJ/F15 10.9091 Tf 53.83 0 Td [(preconditioners.)]TJ -36.893 -14.011 Td [(It)-443(is)-444(w)28(orth)-443(noting)-444(that)-443(optimal)-443(preconditioners)-444(do)-443(not)-444(n)1(e)-1(cessarily)-443(corresp)-28(ond)-443(to)]TJ -16.937 -13.549 Td [(minim)28(um)-480(exec)-1(u)1(tion)-481(times.)-885(Indeed,)-517(to)-480(obtain)-480(e\013ectiv)28(e)-481(m)28(ulti-lev)28(el)-480(preconditioners)-480(a)]TJ 0 -13.549 Td [(tradeo\013)-381(b)-28(et)28(w)28(e)-1(en)-381(optimalit)28(y)-381(of)-381(con)28(v)27(ergence)-381(and)-381(the)-381(cost)-382(of)-381(building)-381(and)-381(applying)-381(the)]TJ 0 -13.55 Td [(coarse-space)-384(corrections)-384(m)28(ust)-384(b)-28(e)-383(ac)27(hiev)28(ed.)-596(The)-383(c)27(hoice)-383(of)-384(the)-384(n)28(um)28(b)-28(er)-384(of)-383(le)-1(v)28(els,)-396(i.e.)-384(of)]TJ 0 -13.549 Td [(the)-379(coarse-space)-379(corrections,)-390(also)-378(a\013ects)-379(the)-379(e\013ectiv)28(eness)-379(of)-378(the)-379(preconditioners.)-580(One)]TJ 0 -13.549 Td [(more)-392(goal)-391(is)-392(to)-392(get)-391(con)27(v)28(ergence)-391(rates)-392(as)-392(less)-392(sensitiv)28(e)-392(as)-391(p)-28(ossible)-392(to)-391(v)55(ariations)-391(in)-392(the)]TJ 0 -13.549 Td [(matrix)-333(co)-28(e\016cien)28(ts.)]TJ 16.937 -14.012 Td [(Tw)28(o)-303(main)-303(approac)28(hes)-303(can)-303(b)-28(e)-303(used)-303(to)-303(build)-303(coarse-space)-303(corrections.)-434(The)-303(geometric)]TJ -16.937 -13.549 Td [(approac)28(h)-412(applies)-413(coarsening)-412(strategies)-413(based)-412(on)-412(the)-413(kn)1(o)27(wledge)-412(of)-412(some)-413(ph)28(ysical)-412(grid)]TJ 0 -13.549 Td [(asso)-28(ciated)-279(to)-280(the)-279(m)-1(atr)1(ix)-280(and)-279(requires)-280(the)-279(use)-1(r)-279(to)-280(de\014n)1(e)-280(grid)-280(t)1(ransfer)-280(op)-28(erators)-279(from)-280(the)]TJ 0 -13.549 Td [(\014ne)-394(to)-393(the)-394(coarse)-393(lev)27(els)-393(and)-394(vice)-393(v)28(ersa.)-626(Thi)1(s)-394(ma)28(y)-394(result)-393(di\016cult)-394(for)-393(complex)-394(geome-)]TJ 0 -13.549 Td [(tries;)-464(furthermore,)-442(suitable)-420(one-lev)27(el)-420(preconditioners)-420(ma)28(y)-421(b)-28(e)-420(required)-420(to)-421(get)-420(e\016cien)28(t)]TJ 0 -13.549 Td [(in)28(terpla)28(y)-381(b)-28(et)28(w)27(een)-381(\014ne)-381(and)-381(coarse)-381(lev)27(els,)-393(e.g.)-381(when)-381(matrices)-381(with)-381(highly)-381(v)55(arying)-381(co)-28(ef-)]TJ 0 -13.55 Td [(\014cien)28(ts)-417(are)-417(considered.)-694(The)-417(al)1(ge)-1(br)1(aic)-417(approac)28(h)-417(builds)-416(coarse-)-1(space)-416(corrections)-417(using)]TJ 0 -13.549 Td [(only)-442(matrix)-442(information.)-770(It)-443(p)-27(erforms)-442(a)-442(fully)-442(automatic)-442(coarsening)-442(and)-442(enforces)-443(th)1(e)]TJ + [(].)-566(The)-373(same)-374(reasoning)-374(can)-373(b)-28(e)-374(applied)-373(s)-1(t)1(arting)-374(from)-374(the)-373(coarse-)]TJ 0 -13.55 Td [(lev)28(el)-281(system,)-291(i.e.)-281(a)-280(coarse-s)-1(p)1(ac)-1(e)-280(correction)-281(can)-280(b)-28(e)-281(built)-280(from)-281(this)-280(sys)-1(t)1(e)-1(m,)-291(th)28(us)-280(obtaining)]TJ/F18 10.9091 Tf 0 -13.549 Td [(multi-level)]TJ/F15 10.9091 Tf 53.83 0 Td [(preconditioners.)]TJ -36.894 -14.011 Td [(It)-443(is)-444(w)28(orth)-443(noting)-444(that)-443(optimal)-444(p)1(rec)-1(on)1(ditioners)-444(do)-443(not)-444(necessarily)-443(corresp)-28(ond)-443(to)]TJ -16.936 -13.549 Td [(minim)28(um)-480(exec)-1(u)1(tion)-481(times.)-885(Indeed,)-517(to)-480(obtain)-480(e\013ectiv)28(e)-481(m)28(ulti-lev)28(el)-480(preconditioners)-480(a)]TJ 0 -13.549 Td [(tradeo\013)-381(b)-28(et)28(w)28(ee)-1(n)-381(optimalit)28(y)-381(of)-381(con)28(v)27(ergence)-381(and)-381(the)-381(cost)-382(of)-381(building)-381(and)-381(applying)-381(the)]TJ 0 -13.55 Td [(coarse-space)-384(corrections)-384(m)28(ust)-384(b)-28(e)-383(ac)27(hiev)28(ed.)-596(Th)1(e)-384(c)27(hoice)-383(of)-384(the)-384(n)28(um)28(b)-28(er)-384(of)-383(lev)27(els,)-396(i.e.)-384(of)]TJ 0 -13.549 Td [(the)-379(coarse-space)-379(corr)1(e)-1(ctions,)-390(al)1(s)-1(o)-378(a\013ects)-379(the)-379(e\013ectiv)28(eness)-379(of)-378(the)-379(preconditioners.)-580(One)]TJ 0 -13.549 Td [(more)-392(goal)-391(is)-392(to)-392(get)-391(con)28(v)27(ergence)-391(rates)-392(as)-392(less)-392(sensitiv)28(e)-392(as)-391(p)-28(ossible)-392(to)-391(v)55(ariations)-391(in)-392(the)]TJ 0 -13.549 Td [(matrix)-333(co)-28(e\016cien)28(ts.)]TJ 16.936 -14.012 Td [(Tw)28(o)-303(main)-303(approac)28(hes)-303(can)-303(b)-28(e)-303(used)-303(to)-303(build)-303(coarse-space)-303(corrections.)-434(The)-303(geometric)]TJ -16.936 -13.549 Td [(approac)28(h)-412(applies)-413(coarsening)-412(strategies)-413(b)1(as)-1(ed)-412(on)-412(the)-412(kno)27(wledge)-412(of)-412(some)-413(ph)28(ysical)-412(grid)]TJ 0 -13.549 Td [(asso)-28(ciated)-279(to)-280(the)-279(matrix)-280(and)-279(requires)-280(the)-279(user)-280(to)-280(d)1(e)-1(\014)1(ne)-280(grid)-279(transfer)-280(op)-28(erators)-279(from)-280(the)]TJ 0 -13.549 Td [(\014ne)-393(to)-394(the)-394(coarse)-393(lev)28(e)-1(l)1(s)-394(and)-394(vice)-393(v)28(ersa.)-626(Th)1(is)-394(ma)28(y)-394(result)-393(di\016cult)-394(for)-393(complex)-394(geome-)]TJ 0 -13.549 Td [(tries;)-464(furthermore,)-442(suitable)-420(one-lev)28(e)-1(l)-420(preconditioners)-420(ma)28(y)-421(b)-28(e)-420(required)-420(to)-421(get)-420(e\016cien)28(t)]TJ 0 -13.549 Td [(in)28(terpla)28(y)-381(b)-28(et)28(w)27(een)-381(\014ne)-381(and)-381(coarse)-381(lev)27(els,)-393(e.g.)-381(when)-381(matrices)-381(with)-381(highly)-381(v)55(arying)-381(co)-28(ef-)]TJ 0 -13.55 Td [(\014cien)28(ts)-417(are)-417(consid)1(e)-1(r)1(e)-1(d)1(.)-695(The)-416(alge)-1(b)1(raic)-417(approac)28(h)-417(builds)-416(coarse-s)-1(p)1(ac)-1(e)-416(corrections)-417(using)]TJ 0 -13.549 Td [(only)-442(matrix)-442(information.)-770(It)-442(p)-28(erforms)-442(a)-442(fully)-442(automatic)-442(coarsening)-442(and)-442(enforces)-443(th)1(e)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -249 0 obj << +255 0 obj << /Type /Page -/Contents 250 0 R -/Resources 248 0 R +/Contents 256 0 R +/Resources 254 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R -/Annots [ 247 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R ] ->> endobj -247 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.4) >> +/Parent 238 0 R +/Annots [ 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R ] >> endobj -241 0 obj << +248 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [444.119 569.496 451.567 578.519] +/Rect [436.919 569.496 444.366 578.519] /Subtype /Link /A << /S /GoTo /D (cite.Cai_Widlund_92) >> >> endobj -242 0 obj << +249 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [456.241 569.496 463.688 578.519] +/Rect [449.04 569.496 456.487 578.519] /Subtype /Link /A << /S /GoTo /D (cite.dd1_94) >> >> endobj -243 0 obj << +250 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [468.362 569.496 481.264 578.519] +/Rect [461.161 569.496 474.063 578.519] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -244 0 obj << +251 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [204.816 528.387 217.718 537.41] +/Rect [197.616 528.387 210.517 537.41] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -245 0 obj << +252 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [188.5 351.785 201.402 360.808] +/Rect [181.3 351.785 194.201 360.808] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -251 0 obj << -/D [249 0 R /XYZ 93.6 740.002 null] +257 0 obj << +/D [255 0 R /XYZ 86.4 740.002 null] >> endobj 46 0 obj << -/D [249 0 R /XYZ 93.6 715.095 null] +/D [255 0 R /XYZ 86.4 715.095 null] >> endobj -248 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F18 174 0 R >> +254 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -268 0 obj << -/Length 14833 +275 0 obj << +/Length 14867 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(10)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ 0 g 0 G -/F15 10.9091 Tf -203.265 -35.866 Td [(in)28(terpla)28(y)-352(b)-28(et)28(w)28(een)-352(the)-352(\014ne)-351(and)-352(coarse)-352(lev)28(els)-352(b)28(y)-351(suitably)-352(c)28(ho)-28(osing)-352(the)-351(coarse)-352(space)-352(and)]TJ 0 -13.549 Td [(the)-333(coarse-to-\014ne)-334(in)28(terp)-28(olation)-333([)]TJ + [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(11)]TJ +0 g 0 G + -401.542 -35.866 Td [(in)28(terpla)28(y)-352(b)-28(et)28(w)28(een)-352(the)-352(\014ne)-351(and)-352(coarse)-352(lev)28(els)-352(b)28(y)-351(s)-1(u)1(itably)-352(c)28(ho)-28(osing)-352(the)-351(coarse)-352(space)-352(and)]TJ 0 -13.549 Td [(the)-333(coarse-to-\014ne)-334(in)28(terp)-28(olation)-333([)]TJ 1 0 0 rg 1 0 0 RG [(24)]TJ 0 g 0 G - [(].)]TJ 16.936 -13.643 Td [(MLD2P4)-255(uses)-255(a)-255(pur)1(e)-255(algebraic)-255(approac)28(h)-255(for)-255(building)-255(the)-254(sequence)-255(of)-255(coarse)-255(matrices)]TJ -16.936 -13.549 Td [(starting)-425(from)-425(the)-425(original)-425(matrix.)-720(The)-426(al)1(ge)-1(b)1(raic)-426(approac)28(h)-425(is)-425(based)-425(on)-425(the)]TJ/F18 10.9091 Tf 369.239 0 Td [(smo)51(othe)51(d)]TJ -369.239 -13.549 Td [(aggr)51(e)51(gation)]TJ/F15 10.9091 Tf 58.612 0 Td [(algorithm)-402([)]TJ + [(].)]TJ 16.937 -13.643 Td [(MLD2P4)-255(uses)-255(a)-255(pu)1(re)-255(algebraic)-255(approac)28(h)-255(for)-255(building)-255(t)1(he)-255(sequence)-255(of)-255(coarse)-255(matrices)]TJ -16.937 -13.549 Td [(starting)-425(from)-425(the)-425(original)-425(matrix.)-720(The)-426(algebrai)1(c)-426(approac)28(h)-425(is)-425(based)-425(on)-425(the)]TJ/F18 10.9091 Tf 369.239 0 Td [(smo)51(othe)51(d)]TJ -369.239 -13.549 Td [(aggr)51(e)51(gation)]TJ/F15 10.9091 Tf 58.613 0 Td [(algorithm)-402([)]TJ 1 0 0 rg 1 0 0 RG [(1)]TJ 0 g 0 G @@ -1427,11 +1480,11 @@ BT 1 0 0 rg 1 0 0 RG [-402(26)]TJ 0 g 0 G - [(].)-651(A)-403(decoupled)-402(v)28(ersion)-402(of)-402(this)-403(algorithm)-402(is)-402(implemen)28(ted,)]TJ -58.612 -13.549 Td [(where)-347(the)-346(smo)-28(othed)-347(aggregation)-346(is)-347(applied)-347(l)1(o)-28(cally)-347(to)-347(eac)28(h)-346(submatrix)-347([)]TJ + [(].)-651(A)-403(decoupled)-402(v)28(ersion)-402(of)-402(this)-403(algorithm)-402(is)-402(implemen)28(ted,)]TJ -58.613 -13.549 Td [(where)-347(the)-346(smo)-28(othed)-347(aggregation)-346(is)-347(applied)-347(lo)-27(cally)-347(to)-347(eac)28(h)-346(s)-1(u)1(bmatrix)-347([)]TJ 1 0 0 rg 1 0 0 RG [(25)]TJ 0 g 0 G - [(].)-484(In)-347(the)-347(n)1(e)-1(xt)]TJ 0 -13.549 Td [(t)28(w)28(o)-249(subsections)-249(w)28(e)-249(pro)28(vide)-249(a)-248(brief)-249(description)-249(of)-248(the)-249(m)28(ulti-lev)28(el)-249(Sc)28(h)27(w)28(arz)-249(p)1(rec)-1(on)1(ditioners)]TJ 0 -13.55 Td [(and)-389(of)-390(the)-389(smo)-28(othed)-390(aggregation)-389(tec)28(hnique)-390(as)-389(implemen)27(ted)-389(in)-390(M)1(LD2P4.)-613(F)83(or)-389(further)]TJ 0 -13.549 Td [(details)-333(the)-334(reader)-333(is)-333(referred)-334(to)-333([)]TJ + [(].)-484(In)-347(the)-347(next)]TJ 0 -13.549 Td [(t)28(w)28(o)-249(subsections)-249(w)28(e)-249(pro)28(vide)-249(a)-248(brief)-249(description)-249(of)-248(the)-249(m)28(ulti-lev)28(e)-1(l)-248(Sc)28(h)27(w)28(arz)-249(pr)1(e)-1(cond)1(itioners)]TJ 0 -13.55 Td [(and)-389(of)-390(the)-389(smo)-28(othed)-390(aggregation)-389(tec)28(hnique)-390(as)-389(implemen)27(ted)-389(in)-390(MLD)1(2P4.)-613(F)83(or)-390(f)1(urther)]TJ 0 -13.549 Td [(details)-333(the)-334(reader)-333(is)-333(referred)-334(to)-333([)]TJ 1 0 0 rg 1 0 0 RG [(2)]TJ 0 g 0 G @@ -1451,23 +1504,23 @@ BT 1 0 0 rg 1 0 0 RG [-333(22)]TJ 0 g 0 G - [(].)]TJ/F17 11.9552 Tf 0 -29.748 Td [(4.1)-1125(Multi-lev)31(el)-375(Sc)31(h)32(w)31(arz)-375(Preconditioners)]TJ/F15 10.9091 Tf 0 -20.777 Td [(The)-270(Multilev)28(el)-269(prec)-1(on)1(ditioners)-270(implemen)28(ted)-270(in)-270(MLD2P4)-269(are)-270(obtained)-269(b)27(y)-269(com)27(binin)1(g)-270(AS)]TJ 0 -13.549 Td [(preconditioners)-315(with)-315(coarse-space)-315(corrections;)-321(therefore)-315(w)27(e)-315(\014rst)-315(pro)28(vide)-315(a)-315(sk)28(etc)27(h)-315(of)-315(the)]TJ 0 -13.549 Td [(AS)-333(preconditioners.)]TJ 16.936 -13.643 Td [(Giv)28(en)-303(the)-302(linear)-302(system)-303(\050)]TJ + [(].)]TJ/F17 11.9552 Tf 0 -29.748 Td [(4.1)-1125(Multi-lev)31(el)-375(Sc)31(h)32(w)31(arz)-375(Preconditioners)]TJ/F15 10.9091 Tf 0 -20.777 Td [(The)-270(Multilev)28(el)-270(p)1(re)-1(cond)1(itioners)-270(implemen)28(ted)-270(in)-270(MLD2P4)-269(are)-270(obtained)-270(b)28(y)-269(com)27(bining)-269(AS)]TJ 0 -13.549 Td [(preconditioners)-315(with)-315(coarse-space)-315(corrections;)-321(therefore)-316(w)28(e)-315(\014rst)-315(pro)28(vide)-315(a)-315(sk)28(etc)27(h)-315(of)-315(the)]TJ 0 -13.549 Td [(AS)-333(preconditioners.)]TJ 16.937 -13.643 Td [(Giv)28(en)-303(th)1(e)-303(linear)-302(system)-303(\050)]TJ 0 0 1 rg 0 0 1 RG [(1)]TJ 0 g 0 G - [(\051,)-308(where)]TJ/F22 10.9091 Tf 167.085 0 Td [(A)]TJ/F15 10.9091 Tf 11.212 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.758 0 Td [(a)]TJ/F23 7.9701 Tf 5.766 -1.636 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.636 Td [(\051)]TJ/F25 10.9091 Tf 7.273 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.138 0 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 8.934 -3.959 Td [(is)-302(a)-303(nonsingular)-302(sparse)-302(matrix)]TJ -270.136 -13.549 Td [(with)-321(a)-321(symmetric)-321(nonzero)-321(pattern,)-324(let)]TJ/F22 10.9091 Tf 184.526 0 Td [(G)]TJ/F15 10.9091 Tf 11.608 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.757 0 Td [(W)28(;)-167(E)]TJ/F15 10.9091 Tf 23.531 0 Td [(\051)-321(b)-28(e)-321(the)-321(adjacency)-321(graph)-321(of)]TJ/F22 10.9091 Tf 134.378 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-324(wh)1(e)-1(re)]TJ/F22 10.9091 Tf -377.982 -13.549 Td [(W)]TJ/F15 10.9091 Tf 15.419 0 Td [(=)]TJ/F25 10.9091 Tf 12.086 0 Td [(f)]TJ/F15 10.9091 Tf 5.455 0 Td [(1)]TJ/F22 10.9091 Tf 5.454 0 Td [(;)]TJ/F15 10.9091 Tf 4.849 0 Td [(2)]TJ/F22 10.9091 Tf 5.454 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(n)]TJ/F25 10.9091 Tf 30.79 0 Td [(g)]TJ/F15 10.9091 Tf 9.434 0 Td [(and)]TJ/F22 10.9091 Tf 21.554 0 Td [(E)]TJ/F15 10.9091 Tf 12.283 0 Td [(=)]TJ/F25 10.9091 Tf 12.086 0 Td [(f)]TJ/F15 10.9091 Tf 5.455 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(i;)-167(j)]TJ/F15 10.9091 Tf 13.724 0 Td [(\051)-330(:)]TJ/F22 10.9091 Tf 14.475 0 Td [(a)]TJ/F23 7.9701 Tf 5.766 -1.637 Td [(ij)]TJ/F25 10.9091 Tf 10.867 1.637 Td [(6)]TJ/F15 10.9091 Tf 0 0 Td [(=)-330(0)]TJ/F25 10.9091 Tf 17.54 0 Td [(g)]TJ/F15 10.9091 Tf 9.434 0 Td [(are)-365(the)-364(v)27(ertex)-364(set)-365(and)-365(the)-365(edge)-364(set)-365(of)]TJ/F22 10.9091 Tf 184.476 0 Td [(G)]TJ/F15 10.9091 Tf 8.578 0 Td [(,)]TJ -409.421 -13.549 Td [(resp)-28(ectiv)28(ely)83(.)-466(Tw)28(o)-341(v)28(ertices)-341(are)-341(called)-340(adjacen)27(t)-340(if)-341(there)-340(is)-341(an)-341(edge)-341(conn)1(e)-1(ctin)1(g)-341(them.)-467(F)84(or)]TJ 0 -13.55 Td [(an)28(y)-238(in)28(te)-1(ger)]TJ/F22 10.9091 Tf 54.621 0 Td [(\016)-316(>)]TJ/F15 10.9091 Tf 19.806 0 Td [(0,)-257(a)]TJ/F22 10.9091 Tf 19.344 0 Td [(\016)]TJ/F15 10.9091 Tf 5.262 0 Td [(-o)28(v)28(erlap)-239(p)1(artition)-239(of)]TJ/F22 10.9091 Tf 96.34 0 Td [(W)]TJ/F15 10.9091 Tf 14.417 0 Td [(can)-238(b)-28(e)-238(de\014ned)-238(recursiv)28(ely)-239(as)-238(follo)28(ws.)-413(Giv)28(en)]TJ -209.79 -13.549 Td [(a)-344(0-o)28(v)28(erlap)-344(\050or)-343(non-o)28(v)27(erlapp)1(ing\051)-344(partition)-343(of)]TJ/F22 10.9091 Tf 216.249 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-346(i.e.)-344(a)-343(se)-1(t)-343(of)]TJ/F22 10.9091 Tf 63.378 0 Td [(m)]TJ/F15 10.9091 Tf 13.327 0 Td [(disjoin)28(t)-344(nonempt)28(y)-343(se)-1(ts)]TJ/F22 10.9091 Tf -304.772 -13.549 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.015 Td [(i)]TJ/F25 10.9091 Tf 9.278 3.056 Td [(\032)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F15 10.9091 Tf 14.857 0 Td [(suc)28(h)-279(that)]TJ/F25 10.9091 Tf 47.047 0 Td [([)]TJ/F23 7.9701 Tf 7.272 3.959 Td [(m)]TJ 0 -7.015 Td [(i)]TJ/F20 7.9701 Tf 2.884 0 Td [(=1)]TJ/F22 10.9091 Tf 11.318 3.056 Td [(W)]TJ/F20 7.9701 Tf 11.819 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.516 -7.015 Td [(i)]TJ/F15 10.9091 Tf 9.278 3.056 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-290(a)]TJ/F22 10.9091 Tf 14.682 0 Td [(\016)]TJ/F15 10.9091 Tf 5.262 0 Td [(-o)28(v)28(erlap)-279(partition)-278(of)]TJ/F22 10.9091 Tf 97.661 0 Td [(W)]TJ/F15 10.9091 Tf 14.857 0 Td [(is)-279(obtai)1(ned)-279(b)28(y)-279(considering)]TJ -289.85 -13.549 Td [(the)-307(sets)]TJ/F22 10.9091 Tf 39.538 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.015 Td [(i)]TJ/F25 10.9091 Tf 9.089 3.056 Td [(\033)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F23 7.9701 Tf 11.819 4.588 Td [(\016)]TJ/F26 7.9701 Tf 4.046 0 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -12.147 -7.845 Td [(i)]TJ/F15 10.9091 Tf 20.224 3.257 Td [(obtained)-307(b)28(y)-306(including)-307(the)-306(v)28(e)-1(r)1(tice)-1(s)-306(that)-307(are)-306(adjacen)28(t)-307(to)-307(an)28(y)-306(v)27(ertex)]TJ -100.973 -13.549 Td [(in)]TJ/F22 10.9091 Tf 12.727 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 4.587 Td [(\016)]TJ/F26 7.9701 Tf 4.046 0 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -12.148 -7.844 Td [(i)]TJ/F15 10.9091 Tf 16.88 3.257 Td [(.)]TJ -22.974 -15.27 Td [(Let)]TJ/F22 10.9091 Tf 18.79 0 Td [(n)]TJ/F23 7.9701 Tf 6.548 3.959 Td [(\016)]TJ 0 -7.014 Td [(i)]TJ/F15 10.9091 Tf 7.425 3.055 Td [(b)-28(e)-264(the)-264(size)-264(of)]TJ/F22 10.9091 Tf 63.706 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.94 3.055 Td [(and)]TJ/F22 10.9091 Tf 20.456 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F25 10.9091 Tf 7.658 3.055 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.09 2.582 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 8.517 -3.959 Td [(the)-264(restriction)-264(op)-28(erator)-264(that)-264(maps)-264(a)-264(v)28(ector)]TJ/F22 10.9091 Tf -211.559 -14.974 Td [(v)]TJ/F25 10.9091 Tf 8.993 0 Td [(2)-304(<)]TJ/F23 7.9701 Tf 18.465 3.959 Td [(n)]TJ/F15 10.9091 Tf 9.443 -3.959 Td [(on)28(to)-349(the)-349(v)28(ector)]TJ/F22 10.9091 Tf 76.601 0 Td [(v)]TJ/F23 7.9701 Tf 5.679 3.959 Td [(\016)]TJ -0.392 -7.015 Td [(i)]TJ/F25 10.9091 Tf 8.25 3.056 Td [(2)-304(<)]TJ/F23 7.9701 Tf 18.465 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 8.394 -1.376 Td [(con)28(taining)-349(the)-349(comp)-28(onen)28(ts)-349(of)]TJ/F22 10.9091 Tf 144.983 0 Td [(v)]TJ/F15 10.9091 Tf 9.486 0 Td [(corresp)-28(onding)-349(to)-348(the)]TJ -313.505 -14.975 Td [(v)28(ertices)-369(in)]TJ/F22 10.9091 Tf 52.99 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.059 3.055 Td [(.)-551(The)-369(transp)-28(ose)-369(of)]TJ/F22 10.9091 Tf 94.001 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.654 3.055 Td [(is)-369(a)-369(prolongation)-369(op)-27(e)-1(rat)1(or)-369(from)]TJ/F25 10.9091 Tf 155.46 0 Td [(<)]TJ/F23 7.9701 Tf 7.879 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 8.613 -1.377 Td [(to)]TJ/F25 10.9091 Tf 13.722 0 Td [(<)]TJ/F23 7.9701 Tf 7.879 3.959 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.959 Td [(.)-551(The)]TJ -384.617 -14.974 Td [(matrix)]TJ/F22 10.9091 Tf 35.133 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(\016)]TJ 0 -7.015 Td [(i)]TJ/F15 10.9091 Tf 7.574 3.056 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.015 Td [(i)]TJ/F22 10.9091 Tf 4.628 3.056 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(\016)]TJ -0.084 -7.015 Td [(i)]TJ/F15 10.9091 Tf 4.628 3.056 Td [(\051)]TJ/F23 7.9701 Tf 4.242 3.959 Td [(T)]TJ/F25 10.9091 Tf 9.635 -3.959 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.09 2.583 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 7.873 -1.376 Td [(can)-301(b)-28(e)-301(considered)-301(as)-301(a)-301(restriction)-301(of)]TJ/F22 10.9091 Tf 172.963 0 Td [(A)]TJ/F15 10.9091 Tf 11.467 0 Td [(corresp)-28(onding)]TJ -345.966 -13.549 Td [(to)-333(the)-334(set)]TJ/F22 10.9091 Tf 49.151 0 Td [(W)]TJ/F23 7.9701 Tf 11.819 3.958 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.059 3.056 Td [(.)]TJ -48.578 -13.643 Td [(The)]TJ/F18 10.9091 Tf 22.425 0 Td [(classic)51(al)-357(on)-1(e-)1(level)-358(AS)]TJ/F15 10.9091 Tf 106.723 0 Td [(preconditioner)-333(is)-334(de\014n)1(e)-1(d)-333(b)28(y)]TJ/F22 10.9091 Tf -4.792 -32.517 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(AS)]TJ/F15 10.9091 Tf 15.539 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.649 13.637 Td [(m)]TJ/F28 10.9091 Tf -4.134 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.027 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.848 13.087 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 4.505 Td [(\016)]TJ -0.084 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.629 2.696 Td [(\051)]TJ/F23 7.9701 Tf 4.242 4.505 Td [(T)]TJ/F15 10.9091 Tf 6.604 -4.505 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.505 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.696 Td [(\051)]TJ/F26 7.9701 Tf 4.242 4.505 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.505 Td [(\016)]TJ -0.085 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.629 2.696 Td [(;)]TJ/F15 10.9091 Tf -268.129 -35.907 Td [(where)]TJ/F22 10.9091 Tf 32.336 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.958 Td [(\016)]TJ 0 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.971 3.056 Td [(is)-406(assumed)-406(to)-406(b)-27(e)-406(nonsingular.)-662(Its)-406(application)-405(to)-406(a)-406(v)28(ector)]TJ/F22 10.9091 Tf 283.187 0 Td [(v)]TJ/F25 10.9091 Tf 10.027 0 Td [(2)-399(<)]TJ/F23 7.9701 Tf 19.5 3.958 Td [(n)]TJ/F15 10.9091 Tf 10.063 -3.958 Td [(within)-406(a)]TJ -372.266 -13.55 Td [(Krylo)28(v)-333(solv)27(er)-333(requires)-333(the)-334(follo)28(wing)-333(three)-333(steps:)]TJ + [(\051,)-308(where)]TJ/F22 10.9091 Tf 167.085 0 Td [(A)]TJ/F15 10.9091 Tf 11.212 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.757 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.636 Td [(\051)]TJ/F25 10.9091 Tf 7.273 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.181 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.139 0 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 8.935 -3.959 Td [(is)-302(a)-303(nonsingular)-302(sparse)-302(matrix)]TJ -270.137 -13.549 Td [(with)-321(a)-321(symmetric)-321(nonzero)-321(pattern,)-324(let)]TJ/F22 10.9091 Tf 184.527 0 Td [(G)]TJ/F15 10.9091 Tf 11.607 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.758 0 Td [(W)28(;)-167(E)]TJ/F15 10.9091 Tf 23.53 0 Td [(\051)-321(b)-28(e)-321(the)-321(adjacency)-321(graph)-321(of)]TJ/F22 10.9091 Tf 134.379 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-323(where)]TJ/F22 10.9091 Tf -377.983 -13.549 Td [(W)]TJ/F15 10.9091 Tf 15.419 0 Td [(=)]TJ/F25 10.9091 Tf 12.086 0 Td [(f)]TJ/F15 10.9091 Tf 5.455 0 Td [(1)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(2)]TJ/F22 10.9091 Tf 5.455 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(n)]TJ/F25 10.9091 Tf 30.79 0 Td [(g)]TJ/F15 10.9091 Tf 9.433 0 Td [(and)]TJ/F22 10.9091 Tf 21.555 0 Td [(E)]TJ/F15 10.9091 Tf 12.283 0 Td [(=)]TJ/F25 10.9091 Tf 12.086 0 Td [(f)]TJ/F15 10.9091 Tf 5.454 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(i;)-167(j)]TJ/F15 10.9091 Tf 13.723 0 Td [(\051)-330(:)]TJ/F22 10.9091 Tf 14.475 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.637 Td [(ij)]TJ/F25 10.9091 Tf 10.866 1.637 Td [(6)]TJ/F15 10.9091 Tf 0 0 Td [(=)-330(0)]TJ/F25 10.9091 Tf 17.541 0 Td [(g)]TJ/F15 10.9091 Tf 9.433 0 Td [(are)-365(the)-364(v)27(ertex)-364(se)-1(t)-364(and)-365(the)-365(edge)-364(set)-365(of)]TJ/F22 10.9091 Tf 184.477 0 Td [(G)]TJ/F15 10.9091 Tf 8.577 0 Td [(,)]TJ -409.421 -13.549 Td [(resp)-28(ectiv)28(ely)83(.)-466(Tw)28(o)-341(v)28(ertices)-341(are)-341(called)-340(adjacen)27(t)-340(if)-341(there)-341(is)-340(an)-341(edge)-341(connecting)-340(them.)-467(F)84(or)]TJ 0 -13.55 Td [(an)28(y)-238(in)27(teger)]TJ/F22 10.9091 Tf 54.621 0 Td [(\016)-316(>)]TJ/F15 10.9091 Tf 19.807 0 Td [(0,)-257(a)]TJ/F22 10.9091 Tf 19.344 0 Td [(\016)]TJ/F15 10.9091 Tf 5.261 0 Td [(-o)28(v)28(erlap)-239(part)1(ition)-239(of)]TJ/F22 10.9091 Tf 96.341 0 Td [(W)]TJ/F15 10.9091 Tf 14.416 0 Td [(can)-238(b)-28(e)-238(de\014ned)-238(recursiv)28(e)-1(l)1(y)-239(as)-238(follo)28(ws.)-413(Giv)28(en)]TJ -209.79 -13.549 Td [(a)-344(0-o)28(v)28(erlap)-344(\050or)-343(non-o)28(v)27(erlappin)1(g\051)-344(partition)-344(of)]TJ/F22 10.9091 Tf 216.25 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-346(i.e.)-344(a)-343(set)-344(of)]TJ/F22 10.9091 Tf 63.377 0 Td [(m)]TJ/F15 10.9091 Tf 13.327 0 Td [(disjoin)28(t)-344(nonempt)28(y)-343(s)-1(ets)]TJ/F22 10.9091 Tf -304.772 -13.549 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.015 Td [(i)]TJ/F25 10.9091 Tf 9.278 3.056 Td [(\032)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F15 10.9091 Tf 14.857 0 Td [(suc)28(h)-279(that)]TJ/F25 10.9091 Tf 47.047 0 Td [([)]TJ/F23 7.9701 Tf 7.273 3.959 Td [(m)]TJ 0 -7.015 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F22 10.9091 Tf 11.319 3.056 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.015 Td [(i)]TJ/F15 10.9091 Tf 9.278 3.056 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-289(a)]TJ/F22 10.9091 Tf 14.682 0 Td [(\016)]TJ/F15 10.9091 Tf 5.261 0 Td [(-o)28(v)28(erlap)-279(partition)-278(of)]TJ/F22 10.9091 Tf 97.662 0 Td [(W)]TJ/F15 10.9091 Tf 14.856 0 Td [(is)-279(obtain)1(e)-1(d)-278(b)28(y)-279(considering)]TJ -289.85 -13.549 Td [(the)-307(sets)]TJ/F22 10.9091 Tf 39.538 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.015 Td [(i)]TJ/F25 10.9091 Tf 9.09 3.056 Td [(\033)]TJ/F22 10.9091 Tf 11.515 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 4.588 Td [(\016)]TJ/F26 7.9701 Tf 4.046 0 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -12.148 -7.845 Td [(i)]TJ/F15 10.9091 Tf 20.225 3.257 Td [(obtained)-306(b)27(y)-306(including)-307(the)-306(v)28(ertices)-307(that)-307(are)-306(adjacen)28(t)-307(to)-307(an)28(y)-306(v)27(ertex)]TJ -100.974 -13.549 Td [(in)]TJ/F22 10.9091 Tf 12.728 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 4.587 Td [(\016)]TJ/F26 7.9701 Tf 4.046 0 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -12.147 -7.844 Td [(i)]TJ/F15 10.9091 Tf 16.88 3.257 Td [(.)]TJ -22.974 -15.27 Td [(Let)]TJ/F22 10.9091 Tf 18.79 0 Td [(n)]TJ/F23 7.9701 Tf 6.548 3.959 Td [(\016)]TJ 0 -7.014 Td [(i)]TJ/F15 10.9091 Tf 7.425 3.055 Td [(b)-28(e)-264(the)-264(size)-264(of)]TJ/F22 10.9091 Tf 63.705 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.94 3.055 Td [(and)]TJ/F22 10.9091 Tf 20.457 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F25 10.9091 Tf 7.659 3.055 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.089 2.582 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 8.517 -3.959 Td [(the)-264(restriction)-264(op)-28(erator)-264(that)-264(maps)-264(a)-264(v)28(ector)]TJ/F22 10.9091 Tf -211.56 -14.974 Td [(v)]TJ/F25 10.9091 Tf 8.993 0 Td [(2)-304(<)]TJ/F23 7.9701 Tf 18.465 3.959 Td [(n)]TJ/F15 10.9091 Tf 9.443 -3.959 Td [(on)28(to)-349(the)-349(v)28(ector)]TJ/F22 10.9091 Tf 76.601 0 Td [(v)]TJ/F23 7.9701 Tf 5.679 3.959 Td [(\016)]TJ -0.391 -7.015 Td [(i)]TJ/F25 10.9091 Tf 8.249 3.056 Td [(2)-304(<)]TJ/F23 7.9701 Tf 18.465 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 8.394 -1.376 Td [(con)28(taining)-349(the)-349(comp)-28(onen)28(ts)-349(of)]TJ/F22 10.9091 Tf 144.984 0 Td [(v)]TJ/F15 10.9091 Tf 9.485 0 Td [(corresp)-28(onding)-349(to)-348(the)]TJ -313.505 -14.975 Td [(v)28(ertices)-369(in)]TJ/F22 10.9091 Tf 52.99 0 Td [(W)]TJ/F23 7.9701 Tf 11.819 3.959 Td [(\016)]TJ -1.516 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.06 3.055 Td [(.)-551(The)-369(transp)-28(ose)-369(of)]TJ/F22 10.9091 Tf 94 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(\016)]TJ -0.085 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.654 3.055 Td [(is)-369(a)-369(prolongation)-369(op)-28(erator)-368(from)]TJ/F25 10.9091 Tf 155.46 0 Td [(<)]TJ/F23 7.9701 Tf 7.879 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 8.613 -1.377 Td [(to)]TJ/F25 10.9091 Tf 13.723 0 Td [(<)]TJ/F23 7.9701 Tf 7.878 3.959 Td [(n)]TJ/F15 10.9091 Tf 5.637 -3.959 Td [(.)-551(The)]TJ -384.618 -14.974 Td [(matrix)]TJ/F22 10.9091 Tf 35.134 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 3.959 Td [(\016)]TJ 0 -7.015 Td [(i)]TJ/F15 10.9091 Tf 7.575 3.056 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.015 Td [(i)]TJ/F22 10.9091 Tf 4.629 3.056 Td [(A)]TJ/F15 10.9091 Tf 8.181 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.015 Td [(i)]TJ/F15 10.9091 Tf 4.628 3.056 Td [(\051)]TJ/F23 7.9701 Tf 4.243 3.959 Td [(T)]TJ/F25 10.9091 Tf 9.634 -3.959 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.09 2.583 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.812 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F15 10.9091 Tf 7.872 -1.376 Td [(can)-301(b)-28(e)-301(considered)-301(as)-301(a)-301(restriction)-301(of)]TJ/F22 10.9091 Tf 172.964 0 Td [(A)]TJ/F15 10.9091 Tf 11.466 0 Td [(corresp)-28(onding)]TJ -345.966 -13.549 Td [(to)-333(the)-334(set)]TJ/F22 10.9091 Tf 49.152 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.958 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.059 3.056 Td [(.)]TJ -48.577 -13.643 Td [(The)]TJ/F18 10.9091 Tf 22.424 0 Td [(classic)51(al)-358(one-l)1(evel)-358(AS)]TJ/F15 10.9091 Tf 106.723 0 Td [(preconditioner)-333(is)-334(de\014n)1(e)-1(d)-333(b)28(y)]TJ/F22 10.9091 Tf -4.792 -32.517 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(AS)]TJ/F15 10.9091 Tf 15.538 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.649 13.637 Td [(m)]TJ/F28 10.9091 Tf -4.134 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.027 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.848 13.087 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.505 Td [(\016)]TJ -0.085 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.629 2.696 Td [(\051)]TJ/F23 7.9701 Tf 4.242 4.505 Td [(T)]TJ/F15 10.9091 Tf 6.605 -4.505 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.505 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.696 Td [(\051)]TJ/F26 7.9701 Tf 4.243 4.505 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.505 Td [(\016)]TJ -0.084 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.628 2.696 Td [(;)]TJ/F15 10.9091 Tf -268.129 -35.907 Td [(where)]TJ/F22 10.9091 Tf 32.336 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.958 Td [(\016)]TJ 0 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.972 3.056 Td [(is)-406(assumed)-406(to)-406(b)-27(e)-406(nonsingular.)-662(Its)-406(application)-405(to)-406(a)-406(v)28(ector)]TJ/F22 10.9091 Tf 283.186 0 Td [(v)]TJ/F25 10.9091 Tf 10.027 0 Td [(2)-399(<)]TJ/F23 7.9701 Tf 19.5 3.958 Td [(n)]TJ/F15 10.9091 Tf 10.064 -3.958 Td [(within)-406(a)]TJ -372.267 -13.55 Td [(Krylo)28(v)-333(s)-1(ol)1(v)27(er)-333(requires)-333(the)-334(follo)28(wing)-333(three)-333(ste)-1(p)1(s)-1(:)]TJ 0 g 0 G - 13.333 -22.89 Td [(1.)]TJ + 13.334 -22.89 Td [(1.)]TJ 0 g 0 G - [-500(restriction)-333(of)]TJ/F22 10.9091 Tf 78.606 0 Td [(v)]TJ/F15 10.9091 Tf 9.316 0 Td [(as)]TJ/F22 10.9091 Tf 13.394 0 Td [(v)]TJ/F23 7.9701 Tf 5.288 -1.636 Td [(i)]TJ/F15 10.9091 Tf 6.411 1.636 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F22 10.9091 Tf 4.628 3.055 Td [(v)]TJ/F15 10.9091 Tf 5.679 0 Td [(,)]TJ/F22 10.9091 Tf 6.667 0 Td [(i)]TJ/F15 10.9091 Tf 6.789 0 Td [(=)-278(1)]TJ/F22 10.9091 Tf 16.969 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(m)]TJ/F15 10.9091 Tf 33.821 0 Td [(;)]TJ + [-500(restriction)-333(of)]TJ/F22 10.9091 Tf 78.606 0 Td [(v)]TJ/F15 10.9091 Tf 9.315 0 Td [(as)]TJ/F22 10.9091 Tf 13.394 0 Td [(v)]TJ/F23 7.9701 Tf 5.288 -1.636 Td [(i)]TJ/F15 10.9091 Tf 6.412 1.636 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F22 10.9091 Tf 4.628 3.055 Td [(v)]TJ/F15 10.9091 Tf 5.68 0 Td [(,)]TJ/F22 10.9091 Tf 6.666 0 Td [(i)]TJ/F15 10.9091 Tf 6.789 0 Td [(=)-278(1)]TJ/F22 10.9091 Tf 16.97 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(m)]TJ/F15 10.9091 Tf 33.82 0 Td [(;)]TJ 0 g 0 G - -207.367 -22.89 Td [(2.)]TJ + -207.366 -22.89 Td [(2.)]TJ 0 g 0 G - [-500(solution)-333(of)-334(th)1(e)-334(linear)-333(systems)]TJ/F22 10.9091 Tf 157.243 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(\016)]TJ 0 -7.015 Td [(i)]TJ/F22 10.9091 Tf 4.544 3.056 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 6.411 1.637 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(v)]TJ/F23 7.9701 Tf 5.287 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.382 1.637 Td [(,)]TJ/F22 10.9091 Tf 6.666 0 Td [(i)]TJ/F15 10.9091 Tf 6.789 0 Td [(=)-278(1)]TJ/F22 10.9091 Tf 16.97 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(m)]TJ/F15 10.9091 Tf 33.82 0 Td [(;)]TJ + [-500(solution)-333(of)-333(the)-334(linear)-333(systems)]TJ/F22 10.9091 Tf 157.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 3.959 Td [(\016)]TJ 0 -7.015 Td [(i)]TJ/F22 10.9091 Tf 4.544 3.056 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 6.412 1.637 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(v)]TJ/F23 7.9701 Tf 5.288 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.381 1.637 Td [(,)]TJ/F22 10.9091 Tf 6.667 0 Td [(i)]TJ/F15 10.9091 Tf 6.788 0 Td [(=)-278(1)]TJ/F22 10.9091 Tf 16.97 0 Td [(;)-167(:)-166(:)-167(:)-167(;)-166(m)]TJ/F15 10.9091 Tf 33.821 0 Td [(;)]TJ 0 g 0 G -268.62 -22.89 Td [(3.)]TJ 0 g 0 G - [-500(prolongation)-333(and)-333(sum)-334(of)-333(the)]TJ/F22 10.9091 Tf 153.122 0 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.381 1.637 Td [('s,)-333(i.e.)]TJ/F22 10.9091 Tf 32.788 0 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F28 10.9091 Tf 11.515 8.181 Td [(P)]TJ/F23 7.9701 Tf 11.515 -3.154 Td [(m)]TJ 0 -8.253 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.319 3.226 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.958 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 4.628 3.056 Td [(\051)]TJ/F23 7.9701 Tf 4.242 3.958 Td [(T)]TJ/F22 10.9091 Tf 6.605 -3.958 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.381 1.637 Td [(.)]TJ -297.992 -22.891 Td [(Note)-473(th)1(at)-473(the)-472(linear)-473(systems)-473(at)-472(step)-473(2)-472(are)-473(usually)-472(solv)28(ed)-473(appro)28(ximately)83(,)-507(e.g.)-472(using)]TJ 0 -13.549 Td [(incomplete)-333(LU)-334(factorizations)-333(suc)28(h)-334(as)-333(ILU\050)]TJ/F22 10.9091 Tf 202.637 0 Td [(p)]TJ/F15 10.9091 Tf 5.488 0 Td [(\051,)-333(MILU\050)]TJ/F22 10.9091 Tf 44.091 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051)-333(and)-334(ILU\050)]TJ/F22 10.9091 Tf 52.273 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051)-333([)]TJ + [-500(prolongation)-333(and)-333(sum)-334(of)-333(the)]TJ/F22 10.9091 Tf 153.121 0 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.381 1.637 Td [('s,)-333(i.e.)]TJ/F22 10.9091 Tf 32.788 0 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F28 10.9091 Tf 11.515 8.181 Td [(P)]TJ/F23 7.9701 Tf 11.515 -3.154 Td [(m)]TJ 0 -8.253 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.319 3.226 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.958 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 4.628 3.056 Td [(\051)]TJ/F23 7.9701 Tf 4.243 3.958 Td [(T)]TJ/F22 10.9091 Tf 6.604 -3.958 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 3.381 1.637 Td [(.)]TJ -297.992 -22.891 Td [(Note)-473(that)-472(the)-473(l)1(inear)-473(systems)-473(at)-472(step)-473(2)-472(are)-473(usually)-472(solv)28(ed)-473(appro)28(ximately)83(,)-507(e.g.)-472(using)]TJ 0 -13.549 Td [(incomplete)-333(LU)-334(factorizations)-333(suc)28(h)-334(as)-333(ILU\050)]TJ/F22 10.9091 Tf 202.637 0 Td [(p)]TJ/F15 10.9091 Tf 5.488 0 Td [(\051,)-333(MILU\050)]TJ/F22 10.9091 Tf 44.091 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051)-333(and)-334(ILU\050)]TJ/F22 10.9091 Tf 52.273 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051)-333([)]TJ 1 0 0 rg 1 0 0 RG [(21)]TJ 0 g 0 G @@ -1477,122 +1530,126 @@ BT ET endstream endobj -267 0 obj << +274 0 obj << /Type /Page -/Contents 268 0 R -/Resources 266 0 R +/Contents 275 0 R +/Resources 273 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R -/Annots [ 246 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R ] +/Parent 238 0 R +/Annots [ 272 0 R 253 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R ] >> endobj -246 0 obj << +272 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.4) >> +>> endobj +253 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [238.858 689.591 251.76 698.614] +/Rect [246.059 689.591 258.96 698.614] /Subtype /Link /A << /S /GoTo /D (cite.StubenGMD69_99) >> >> endobj -254 0 obj << +260 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [197.525 648.85 204.972 657.872] +/Rect [204.726 648.85 212.173 657.872] /Subtype /Link /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> endobj -255 0 obj << +261 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [210.398 648.85 223.3 657.872] +/Rect [217.599 648.85 230.5 657.872] /Subtype /Link /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> endobj -256 0 obj << +262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [421.977 635.3 434.879 644.323] +/Rect [429.177 635.3 442.079 644.323] /Subtype /Link /A << /S /GoTo /D (cite.TUMINARO_TONG) >> >> endobj -257 0 obj << +263 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [239.919 594.653 247.366 603.676] +/Rect [247.119 594.653 254.566 603.676] /Subtype /Link /A << /S /GoTo /D (cite.para_04) >> >> endobj -258 0 obj << +264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [252.04 594.653 259.487 603.676] +/Rect [259.24 594.653 266.688 603.676] /Subtype /Link /A << /S /GoTo /D (cite.aaecc_07) >> >> endobj -259 0 obj << +265 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [264.161 594.653 271.608 603.676] +/Rect [271.362 594.653 278.809 603.676] /Subtype /Link /A << /S /GoTo /D (cite.apnum_07) >> >> endobj -260 0 obj << +266 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [276.282 594.653 283.73 603.676] +/Rect [283.483 594.653 290.93 603.676] /Subtype /Link /A << /S /GoTo /D (cite.MLD2P4_TOMS) >> >> endobj -261 0 obj << +267 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [288.404 594.653 301.305 603.676] +/Rect [295.604 594.653 308.506 603.676] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -262 0 obj << +268 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [222.124 500.66 229.571 513.561] +/Rect [229.325 500.66 236.772 513.561] /Subtype /Link /A << /S /GoTo /D (equation.1) >> >> endobj -263 0 obj << +269 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [420.567 120.525 433.468 129.547] +/Rect [427.767 120.525 440.669 129.547] /Subtype /Link /A << /S /GoTo /D (cite.Saad_book) >> >> endobj -269 0 obj << -/D [267 0 R /XYZ 86.4 740.002 null] +276 0 obj << +/D [274 0 R /XYZ 93.6 740.002 null] >> endobj 50 0 obj << -/D [267 0 R /XYZ 86.4 577.215 null] +/D [274 0 R /XYZ 93.6 577.215 null] >> endobj -275 0 obj << -/D [267 0 R /XYZ 86.4 219.839 null] +282 0 obj << +/D [274 0 R /XYZ 93.6 219.839 null] >> endobj -276 0 obj << -/D [267 0 R /XYZ 86.4 196.015 null] +283 0 obj << +/D [274 0 R /XYZ 93.6 196.015 null] >> endobj -277 0 obj << -/D [267 0 R /XYZ 86.4 173.125 null] +284 0 obj << +/D [274 0 R /XYZ 93.6 173.125 null] >> endobj -266 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F18 174 0 R /F17 111 0 R /F22 176 0 R /F23 270 0 R /F25 177 0 R /F26 271 0 R /F20 272 0 R /F24 273 0 R /F28 274 0 R >> +273 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F18 174 0 R /F17 111 0 R /F22 176 0 R /F23 277 0 R /F25 177 0 R /F26 278 0 R /F20 279 0 R /F24 280 0 R /F28 281 0 R >> /ProcSet [ /PDF /Text ] >> endobj -290 0 obj << -/Length 13845 +296 0 obj << +/Length 13838 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ -0 g 0 G - [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(11)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(12)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G - -384.605 -35.866 Td [(A)-318(v)56(arian)28(t)-318(of)-318(the)-317(classic)-1(al)-317(AS)-318(preconditioner)-317(that)-318(outp)-28(erforms)-318(it)-317(in)-318(terms)-318(of)-317(con)27(v)28(er-)]TJ -16.937 -13.549 Td [(gence)-265(rate)-266(and)-265(of)-265(computation)-265(and)-265(comm)27(un)1(ic)-1(ati)1(on)-266(time)-265(on)-265(parallel)-265(distributed-memory)]TJ 0 -13.549 Td [(computers)-387(is)-387(the)-387(so-called)]TJ/F18 10.9091 Tf 129.216 0 Td [(R)51(estricte)51(d)-407(AS)-407(\050RAS\051)]TJ/F15 10.9091 Tf 105.994 0 Td [(preconditioner)-387([)]TJ +/F15 10.9091 Tf -186.329 -35.866 Td [(A)-318(v)56(arian)28(t)-318(of)-318(the)-317(class)-1(ical)-317(AS)-318(preconditioner)-318(th)1(at)-318(outp)-28(erforms)-318(it)-317(in)-318(terms)-318(of)-317(c)-1(on)28(v)28(er-)]TJ -16.936 -13.549 Td [(gence)-265(rate)-266(and)-265(of)-265(computation)-265(and)-265(comm)27(un)1(ication)-266(time)-265(on)-265(parallel)-265(distributed-memory)]TJ 0 -13.549 Td [(computers)-387(is)-387(the)-387(so-called)]TJ/F18 10.9091 Tf 129.216 0 Td [(R)51(estricte)51(d)-407(AS)-407(\050RAS\051)]TJ/F15 10.9091 Tf 105.993 0 Td [(preconditioner)-387([)]TJ 1 0 0 rg 1 0 0 RG [(5)]TJ 0 g 0 G @@ -1600,7 +1657,7 @@ BT 1 0 0 rg 1 0 0 RG [-387(14)]TJ 0 g 0 G - [(].)-605(It)-387(is)-386(obtained)]TJ -235.21 -13.549 Td [(b)28(y)-408(zeroing)-407(the)-408(comp)-28(onen)28(ts)-407(of)]TJ/F22 10.9091 Tf 148.078 0 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 7.827 1.637 Td [(corresp)-28(onding)-407(to)-408(the)-407(o)28(v)27(erlapping)-407(v)28(ertices)-408(when)-407(ap-)]TJ -163.715 -13.549 Td [(plying)-349(the)-349(p)1(rolongation.)-491(Therefore,)-353(RAS)-349(di\013ers)-348(from)-349(classical)-349(AS)-349(b)28(y)-349(the)-349(prolongation)]TJ 0 -13.55 Td [(op)-28(erators,)-400(whic)27(h)-387(are)-387(substituted)-387(b)28(y)-387(\050)]TJ 182.692 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.366 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.367 3.959 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 4.817 3.055 Td [(\051)]TJ/F23 7.9701 Tf 4.242 3.959 Td [(T)]TJ/F25 10.9091 Tf 10.614 -3.959 Td [(2)-367(<)]TJ/F23 7.9701 Tf 19.16 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.139 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.089 2.582 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.959 Td [(,)-401(where)]TJ 41.899 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.366 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.368 3.959 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 9.04 3.055 Td [(is)-387(obtained)-387(b)28(y)-388(zeroing)]TJ -305.75 -13.549 Td [(the)-333(ro)27(ws)-333(of)]TJ/F22 10.9091 Tf 56.455 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.265 3.055 Td [(corresp)-28(onding)-333(to)-333(the)-334(v)28(ertices)-333(in)]TJ/F22 10.9091 Tf 154.454 0 Td [(W)]TJ/F23 7.9701 Tf 11.819 3.959 Td [(\016)]TJ -1.516 -7.014 Td [(i)]TJ/F25 10.9091 Tf 6.06 3.055 Td [(n)]TJ/F22 10.9091 Tf 5.454 0 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.248 3.055 Td [(:)]TJ/F22 10.9091 Tf -127.805 -29.635 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.775 -8.022 Td [(R)-6(AS)]TJ/F15 10.9091 Tf 21.894 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.649 13.637 Td [(m)]TJ/F28 10.9091 Tf -4.134 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.027 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.848 13.087 Td [(\050)]TJ 6.608 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.366 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.368 4.505 Td [(0)]TJ/F23 7.9701 Tf -0.085 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.817 2.696 Td [(\051)]TJ/F23 7.9701 Tf 4.242 4.505 Td [(T)]TJ/F15 10.9091 Tf 6.605 -4.505 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.505 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.696 Td [(\051)]TJ/F26 7.9701 Tf 4.243 4.505 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.505 Td [(\016)]TJ -0.084 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.628 2.696 Td [(:)]TJ/F15 10.9091 Tf -271.401 -30.78 Td [(Analogously)83(,)-333(the)-333(AS)-334(v)56(arian)28(t)-333(called)]TJ/F18 10.9091 Tf 168.576 0 Td [(AS)-358(with)-358(Harmonic)-357(extension)-358(\050ASH\051)]TJ/F15 10.9091 Tf 176.608 0 Td [(is)-333(de\014ned)-334(b)28(y)]TJ/F22 10.9091 Tf -207.735 -29.306 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(AS)-56(H)]TJ/F15 10.9091 Tf 23.037 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.649 13.636 Td [(m)]TJ/F28 10.9091 Tf -4.133 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.026 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.884 0 Td [(=1)]TJ/F15 10.9091 Tf 11.847 13.088 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 4.504 Td [(\016)]TJ -0.084 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.628 2.697 Td [(\051)]TJ/F23 7.9701 Tf 4.243 4.504 Td [(T)]TJ/F15 10.9091 Tf 6.604 -4.504 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.504 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.697 Td [(\051)]TJ/F26 7.9701 Tf 4.243 4.504 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 7.098 -1.747 Td [(~)]TJ/F22 10.9091 Tf -2.365 -2.757 Td [(R)]TJ/F20 7.9701 Tf 8.367 4.504 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.816 2.697 Td [(:)]TJ/F15 10.9091 Tf -271.972 -30.174 Td [(W)83(e)-334(note)-335(that)-335(for)]TJ/F22 10.9091 Tf 83.422 0 Td [(\016)]TJ/F15 10.9091 Tf 8.316 0 Td [(=)-280(0)-335(the)-334(three)-335(v)56(arian)28(ts)-335(of)-335(the)-334(AS)-335(preconditioner)-335(are)-334(all)-335(equal)-334(to)-335(the)]TJ -91.738 -13.55 Td [(blo)-28(c)28(k-Jacobi)-333(preconditioner.)]TJ 16.937 -13.549 Td [(As)-358(already)-358(observ)27(ed,)-364(the)-358(con)27(v)28(ergence)-358(rate)-358(of)-359(the)-358(one-lev)28(el)-358(Sc)27(h)28(w)28(arz)-358(preconditioned)]TJ -16.937 -13.549 Td [(iterativ)28(e)-359(solv)28(ers)-358(deteriorates)-358(as)-359(the)-358(n)28(um)28(b)-28(er)]TJ/F22 10.9091 Tf 211.422 0 Td [(m)]TJ/F15 10.9091 Tf 13.487 0 Td [(of)-358(partitions)-358(of)]TJ/F22 10.9091 Tf 75.454 0 Td [(W)]TJ/F15 10.9091 Tf 15.727 0 Td [(increases)-358([)]TJ + [(].)-605(It)-387(is)-386(obtained)]TJ -235.209 -13.549 Td [(b)28(y)-408(zeroing)-407(the)-408(comp)-28(onen)28(ts)-407(of)]TJ/F22 10.9091 Tf 148.078 0 Td [(w)]TJ/F23 7.9701 Tf 7.81 -1.637 Td [(i)]TJ/F15 10.9091 Tf 7.827 1.637 Td [(corresp)-28(onding)-407(to)-408(the)-407(o)28(v)27(erlappin)1(g)-408(v)28(ertices)-408(when)-407(ap-)]TJ -163.715 -13.549 Td [(plying)-349(the)-348(prolongation.)-491(Therefore,)-353(RAS)-349(di\013ers)-348(from)-349(classical)-349(AS)-349(b)28(y)-349(the)-349(prolongation)]TJ 0 -13.55 Td [(op)-28(erators,)-400(whic)27(h)-387(are)-387(substituted)-387(b)28(y)-387(\050)]TJ 182.691 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.365 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.367 3.959 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 4.816 3.055 Td [(\051)]TJ/F23 7.9701 Tf 4.243 3.959 Td [(T)]TJ/F25 10.9091 Tf 10.613 -3.959 Td [(2)-368(<)]TJ/F23 7.9701 Tf 19.161 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 2.813 Td [(\016)]TJ 0 -5.395 Td [(i)]TJ/F26 7.9701 Tf 4.09 2.582 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 5.637 -3.959 Td [(,)-401(where)]TJ 41.899 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.366 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.368 3.959 Td [(0)]TJ/F23 7.9701 Tf -0.085 -7.014 Td [(i)]TJ/F15 10.9091 Tf 9.041 3.055 Td [(is)-387(obtained)-387(b)28(y)-388(zeroing)]TJ -305.75 -13.549 Td [(the)-333(ro)28(w)-1(s)-333(of)]TJ/F22 10.9091 Tf 56.454 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(\016)]TJ -0.084 -7.014 Td [(i)]TJ/F15 10.9091 Tf 8.264 3.055 Td [(corresp)-28(onding)-333(to)-333(the)-334(v)28(ertices)-333(in)]TJ/F22 10.9091 Tf 154.455 0 Td [(W)]TJ/F23 7.9701 Tf 11.818 3.959 Td [(\016)]TJ -1.515 -7.014 Td [(i)]TJ/F25 10.9091 Tf 6.059 3.055 Td [(n)]TJ/F22 10.9091 Tf 5.455 0 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 6.247 3.055 Td [(:)]TJ/F22 10.9091 Tf -127.804 -29.635 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(R)-6(AS)]TJ/F15 10.9091 Tf 21.895 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.648 13.637 Td [(m)]TJ/F28 10.9091 Tf -4.133 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.027 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.847 13.087 Td [(\050)]TJ 6.608 2.758 Td [(~)]TJ/F22 10.9091 Tf -2.365 -2.758 Td [(R)]TJ/F20 7.9701 Tf 8.367 4.505 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.817 2.696 Td [(\051)]TJ/F23 7.9701 Tf 4.242 4.505 Td [(T)]TJ/F15 10.9091 Tf 6.605 -4.505 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.505 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.696 Td [(\051)]TJ/F26 7.9701 Tf 4.242 4.505 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -4.505 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.505 Td [(\016)]TJ -0.085 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.629 2.696 Td [(:)]TJ/F15 10.9091 Tf -271.401 -30.78 Td [(Analogously)83(,)-333(the)-333(AS)-333(v)55(arian)28(t)-333(called)]TJ/F18 10.9091 Tf 168.576 0 Td [(AS)-358(with)-358(Harmonic)-357(extension)-358(\050ASH\051)]TJ/F15 10.9091 Tf 176.608 0 Td [(is)-333(de\014ned)-334(b)28(y)]TJ/F22 10.9091 Tf -207.736 -29.306 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(AS)-56(H)]TJ/F15 10.9091 Tf 23.037 3.434 Td [(=)]TJ/F23 7.9701 Tf 15.649 13.636 Td [(m)]TJ/F28 10.9091 Tf -4.134 -3.273 Td [(X)]TJ/F23 7.9701 Tf 1.027 -23.451 Td [(i)]TJ/F20 7.9701 Tf 2.883 0 Td [(=1)]TJ/F15 10.9091 Tf 11.848 13.088 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 4.504 Td [(\016)]TJ -0.085 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.629 2.697 Td [(\051)]TJ/F23 7.9701 Tf 4.242 4.504 Td [(T)]TJ/F15 10.9091 Tf 6.605 -4.504 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 4.504 Td [(\016)]TJ 0 -7.201 Td [(i)]TJ/F15 10.9091 Tf 4.544 2.697 Td [(\051)]TJ/F26 7.9701 Tf 4.243 4.504 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 7.098 -1.747 Td [(~)]TJ/F22 10.9091 Tf -2.366 -2.757 Td [(R)]TJ/F20 7.9701 Tf 8.368 4.504 Td [(0)]TJ/F23 7.9701 Tf -0.084 -7.201 Td [(i)]TJ/F22 10.9091 Tf 4.816 2.697 Td [(:)]TJ/F15 10.9091 Tf -271.972 -30.174 Td [(W)83(e)-334(note)-335(that)-335(for)]TJ/F22 10.9091 Tf 83.422 0 Td [(\016)]TJ/F15 10.9091 Tf 8.315 0 Td [(=)-280(0)-335(the)-334(three)-335(v)56(arian)27(ts)-334(of)-335(the)-335(AS)-334(preconditioner)-335(are)-334(all)-335(equal)-335(to)-334(the)]TJ -91.737 -13.55 Td [(blo)-28(c)28(k-Jacobi)-333(preconditioner.)]TJ 16.936 -13.549 Td [(As)-358(already)-359(ob)1(s)-1(erv)28(ed,)-364(the)-358(c)-1(on)28(v)28(ergence)-358(rate)-359(of)-358(the)-358(one-lev)28(el)-359(S)1(c)27(h)28(w)28(arz)-358(preconditioned)]TJ -16.936 -13.549 Td [(iterativ)28(e)-358(s)-1(olv)28(ers)-358(deteriorates)-358(as)-359(the)-358(n)28(um)28(b)-28(er)]TJ/F22 10.9091 Tf 211.422 0 Td [(m)]TJ/F15 10.9091 Tf 13.487 0 Td [(of)-358(partitions)-358(of)]TJ/F22 10.9091 Tf 75.453 0 Td [(W)]TJ/F15 10.9091 Tf 15.727 0 Td [(increases)-358([)]TJ 1 0 0 rg 1 0 0 RG [(7)]TJ 0 g 0 G @@ -1608,71 +1665,67 @@ BT 1 0 0 rg 1 0 0 RG [-359(22)]TJ 0 g 0 G - [(].)-519(T)83(o)]TJ -316.09 -13.549 Td [(reduce)-308(the)-308(dep)-28(endency)-307(of)-308(the)-308(n)28(um)27(b)-27(er)-308(of)-308(iterations)-308(on)-308(the)-308(degree)-308(of)-308(parallelism)-308(w)28(e)-308(ma)28(y)]TJ 0 -13.549 Td [(in)28(tro)-28(duce)-275(a)-276(global)-275(coupling)-276(among)-275(the)-276(o)28(v)28(erlapping)-275(partitions)-276(b)28(y)-275(de\014ning)-276(a)-275(coarse-space)]TJ 0 -13.55 Td [(appro)28(ximation)]TJ/F22 10.9091 Tf 72.12 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.095 1.688 Td [(of)-275(the)-275(matrix)]TJ/F22 10.9091 Tf 64.783 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)-425(In)-275(a)-275(pure)-274(algebraic)-275(setting,)]TJ/F22 10.9091 Tf 137.15 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.095 1.688 Td [(is)-275(usually)-275(built)-274(with)]TJ -318.789 -13.549 Td [(the)-321(Galerkin)-322(approac)28(h.)-440(Giv)28(en)-322(a)-321(set)]TJ/F22 10.9091 Tf 171.697 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.602 1.689 Td [(of)]TJ/F18 10.9091 Tf 12.294 0 Td [(c)51(o)51(arse)-346(vertic)51(es)]TJ/F15 10.9091 Tf 68.461 0 Td [(,)-324(with)-321(size)]TJ/F22 10.9091 Tf 51.815 0 Td [(n)]TJ/F23 7.9701 Tf 6.549 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.096 1.689 Td [(,)-324(and)-321(a)-321(suitable)]TJ -338.817 -13.549 Td [(restriction)-333(op)-28(erator)]TJ/F22 10.9091 Tf 96.243 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F25 10.9091 Tf 10.127 1.689 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.34 Td [(C)]TJ/F26 7.9701 Tf 6.194 1.34 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.959 Td [(,)]TJ/F22 10.9091 Tf 6.667 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(is)-333(de\014ned)-334(as)]TJ/F22 10.9091 Tf -10.129 -20.973 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.689 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F22 10.9091 Tf 7.097 1.689 Td [(AR)]TJ/F23 7.9701 Tf 16.549 4.504 Td [(T)]TJ -0.084 -7.201 Td [(C)]TJ/F15 10.9091 Tf -233.512 -18.277 Td [(and)-496(the)-496(c)-1(oar)1(s)-1(e-lev)28(el)-496(correction)-496(matrix)-497(to)-496(b)-28(e)-496(com)28(bined)-496(with)-497(a)-496(generic)-496(one-lev)28(el)-497(AS)]TJ 0 -13.549 Td [(preconditioner)]TJ/F22 10.9091 Tf 72.182 0 Td [(M)]TJ/F20 7.9701 Tf 10.583 -1.688 Td [(1)]TJ/F23 7.9701 Tf 4.235 0 Td [(L)]TJ/F15 10.9091 Tf 9.893 1.688 Td [(is)-333(obtained)-334(as)]TJ/F22 10.9091 Tf 63.869 -20.973 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 15.539 3.434 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 4.504 Td [(T)]TJ -0.084 -7.201 Td [(C)]TJ/F22 10.9091 Tf 7.097 2.697 Td [(A)]TJ/F26 7.9701 Tf 8.182 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -6.586 -8.022 Td [(C)]TJ/F22 10.9091 Tf 11.318 3.434 Td [(R)]TJ/F23 7.9701 Tf 8.284 -1.689 Td [(C)]TJ/F22 10.9091 Tf 7.096 1.689 Td [(;)]TJ/F15 10.9091 Tf -248.659 -20.973 Td [(where)]TJ/F22 10.9091 Tf 31.91 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 11.097 1.689 Td [(is)-367(assumed)-367(t)1(o)-367(b)-28(e)-367(nonsingular)1(.)-545(The)-367(application)-366(of)]TJ/F22 10.9091 Tf 240.883 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.775 -8.022 Td [(C)]TJ/F15 10.9091 Tf 16.508 3.434 Td [(to)-367(a)-366(v)27(ector)]TJ/F22 10.9091 Tf 56.274 0 Td [(v)]TJ/F15 10.9091 Tf 9.68 0 Td [(corre-)]TJ -385.118 -13.549 Td [(sp)-28(onds)-325(to)-325(a)-325(restriction,)-327(a)-325(solution)-325(and)-325(a)-325(prolongation)-325(step;)-328(the)-325(solution)-325(step,)-327(in)28(v)27(olvi)1(ng)]TJ 0 -13.55 Td [(the)-333(matrix)]TJ/F22 10.9091 Tf 54.273 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.688 Td [(,)-333(ma)27(y)-333(b)-28(e)-333(carried)-333(out)-334(also)-333(appro)28(ximately)83(.)]TJ -52.615 -13.549 Td [(The)-309(com)28(bination)-309(of)]TJ/F22 10.9091 Tf 96.176 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.469 1.689 Td [(and)]TJ/F22 10.9091 Tf 20.948 0 Td [(M)]TJ/F20 7.9701 Tf 10.583 -1.689 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 9.629 1.689 Td [(ma)28(y)-309(b)-28(e)-309(p)-28(erformed)-309(in)-309(either)-309(an)-309(additiv)28(e)-309(or)-309(a)-309(m)27(ul-)]TJ -179.559 -13.549 Td [(tiplicativ)28(e)-275(framew)28(ork.)-425(In)-275(the)-275(former)-275(c)-1(ase,)-286(the)]TJ/F18 10.9091 Tf 217.192 0 Td [(two-level)-304(additive)]TJ/F15 10.9091 Tf 85.198 0 Td [(Sc)28(h)28(w)27(arz)-275(preconditioner)]TJ -302.39 -13.549 Td [(is)-333(obtained:)]TJ/F22 10.9091 Tf 153.971 -13.549 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LA)]TJ/F15 10.9091 Tf 15.631 3.435 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 14.933 3.435 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.435 Td [(:)]TJ/F15 10.9091 Tf -255.45 -18.258 Td [(Applying)]TJ/F22 10.9091 Tf 48.201 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F26 7.9701 Tf 5.759 0 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(A)]TJ/F15 10.9091 Tf 11.405 3.434 Td [(to)-418(a)-419(v)28(ector)]TJ/F22 10.9091 Tf 57.968 0 Td [(v)]TJ/F15 10.9091 Tf 10.244 0 Td [(within)-418(a)-419(Krylo)28(v)-418(solv)27(er)-418(corresp)-28(onds)-418(to)-419(appl)1(ying)]TJ/F22 10.9091 Tf 234.378 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf -399.943 -11.551 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 11.91 3.434 Td [(to)]TJ/F22 10.9091 Tf 13.334 0 Td [(v)]TJ/F15 10.9091 Tf 9.315 0 Td [(indep)-28(enden)28(tly)-333(and)-333(then)-334(summing)-333(up)-333(the)-334(results.)]TJ -53.652 -13.549 Td [(In)-355(the)-355(m)28(ultiplicativ)28(e)-355(case,)-360(the)-355(com)28(bination)-355(can)-355(b)-28(e)-355(p)-27(erformed)-355(b)28(y)-355(\014rst)-355(applying)-355(the)]TJ -16.937 -13.549 Td [(smo)-28(other)]TJ/F22 10.9091 Tf 47.667 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 11.911 3.434 Td [(and)-333(then)-334(th)1(e)-334(coarse-lev)28(el)-334(correction)-333(op)-28(erator)]TJ/F22 10.9091 Tf 217.485 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 12.508 3.434 Td [(:)]TJ/F22 10.9091 Tf -164.465 -21.579 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(v)-36(;)]TJ -45.74 -13.789 Td [(z)]TJ/F15 10.9091 Tf 8.583 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(w)]TJ/F15 10.9091 Tf 10.528 0 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 12.509 3.434 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(v)]TJ/F25 10.9091 Tf 8.103 0 Td [(\000)]TJ/F22 10.9091 Tf 10.91 0 Td [(Aw)]TJ/F15 10.9091 Tf 16.285 0 Td [(\051;)]TJ + [(].)-519(T)83(o)]TJ -316.089 -13.549 Td [(reduce)-308(the)-308(dep)-28(endency)-307(of)-308(the)-308(n)28(um)27(b)-27(er)-308(of)-308(iterations)-308(on)-308(the)-308(degree)-308(of)-308(parall)1(e)-1(li)1(s)-1(m)-307(w)27(e)-308(ma)28(y)]TJ 0 -13.549 Td [(in)28(tro)-28(duce)-275(a)-276(global)-275(coupling)-276(among)-275(the)-275(o)27(v)28(erlapping)-275(partitions)-276(b)28(y)-275(de\014ning)-276(a)-275(coarse-space)]TJ 0 -13.55 Td [(appro)28(ximation)]TJ/F22 10.9091 Tf 72.12 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.095 1.688 Td [(of)-275(the)-275(matrix)]TJ/F22 10.9091 Tf 64.783 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)-425(In)-275(a)-275(pur)1(e)-275(algebraic)-275(setting,)]TJ/F22 10.9091 Tf 137.15 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.095 1.688 Td [(is)-275(usually)-275(buil)1(t)-275(with)]TJ -318.789 -13.549 Td [(the)-321(Galerkin)-322(appr)1(oac)27(h.)-440(Giv)28(en)-322(a)-321(set)]TJ/F22 10.9091 Tf 171.697 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.602 1.689 Td [(of)]TJ/F18 10.9091 Tf 12.294 0 Td [(c)51(o)51(arse)-346(vertic)51(es)]TJ/F15 10.9091 Tf 68.461 0 Td [(,)-324(with)-321(size)]TJ/F22 10.9091 Tf 51.815 0 Td [(n)]TJ/F23 7.9701 Tf 6.548 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(,)-324(and)-321(a)-321(suitable)]TJ -338.817 -13.549 Td [(restriction)-333(op)-28(erator)]TJ/F22 10.9091 Tf 96.243 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F25 10.9091 Tf 10.127 1.689 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.34 Td [(C)]TJ/F26 7.9701 Tf 6.194 1.34 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.959 Td [(,)]TJ/F22 10.9091 Tf 6.667 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.734 1.689 Td [(is)-333(de\014ned)-334(as)]TJ/F22 10.9091 Tf -10.129 -20.973 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.689 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F22 10.9091 Tf 7.097 1.689 Td [(AR)]TJ/F23 7.9701 Tf 16.549 4.504 Td [(T)]TJ -0.084 -7.201 Td [(C)]TJ/F15 10.9091 Tf -233.512 -18.277 Td [(and)-496(the)-496(coars)-1(e-lev)28(el)-496(correction)-496(matrix)-497(to)-496(b)-28(e)-496(com)28(bined)-496(with)-497(a)-496(generic)-496(one-lev)28(el)-497(AS)]TJ 0 -13.549 Td [(preconditioner)]TJ/F22 10.9091 Tf 72.182 0 Td [(M)]TJ/F20 7.9701 Tf 10.583 -1.688 Td [(1)]TJ/F23 7.9701 Tf 4.235 0 Td [(L)]TJ/F15 10.9091 Tf 9.893 1.688 Td [(is)-333(obtained)-334(as)]TJ/F22 10.9091 Tf 63.869 -20.973 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 15.539 3.434 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 4.504 Td [(T)]TJ -0.084 -7.201 Td [(C)]TJ/F22 10.9091 Tf 7.097 2.697 Td [(A)]TJ/F26 7.9701 Tf 8.181 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -6.587 -8.022 Td [(C)]TJ/F22 10.9091 Tf 11.319 3.434 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F22 10.9091 Tf 7.097 1.689 Td [(;)]TJ/F15 10.9091 Tf -248.659 -20.973 Td [(where)]TJ/F22 10.9091 Tf 31.91 0 Td [(A)]TJ/F23 7.9701 Tf 8.181 -1.689 Td [(C)]TJ/F15 10.9091 Tf 11.098 1.689 Td [(is)-367(assumed)-366(to)-367(b)-28(e)-367(nonsingular)1(.)-545(The)-367(application)-366(of)]TJ/F22 10.9091 Tf 240.883 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 16.509 3.434 Td [(to)-367(a)-366(v)27(ector)]TJ/F22 10.9091 Tf 56.274 0 Td [(v)]TJ/F15 10.9091 Tf 9.68 0 Td [(corre-)]TJ -385.118 -13.549 Td [(sp)-28(onds)-325(to)-325(a)-325(restriction,)-327(a)-325(solution)-325(and)-325(a)-325(prolongation)-325(step;)-328(the)-325(solution)-325(step,)-327(in)28(v)27(olv)1(ing)]TJ 0 -13.55 Td [(the)-333(matrix)]TJ/F22 10.9091 Tf 54.273 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.688 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.688 Td [(,)-333(ma)27(y)-333(b)-28(e)-333(carried)-333(out)-334(also)-333(appro)28(ximately)83(.)]TJ -52.615 -13.549 Td [(The)-309(com)28(bination)-309(of)]TJ/F22 10.9091 Tf 96.176 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.469 1.689 Td [(and)]TJ/F22 10.9091 Tf 20.947 0 Td [(M)]TJ/F20 7.9701 Tf 10.584 -1.689 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 9.629 1.689 Td [(ma)28(y)-309(b)-28(e)-309(p)-28(erformed)-309(in)-309(either)-309(an)-309(additiv)28(e)-309(or)-309(a)-309(m)27(ul-)]TJ -179.559 -13.549 Td [(tiplicativ)28(e)-275(framew)28(ork.)-425(In)-275(the)-275(former)-275(c)-1(ase,)-286(the)]TJ/F18 10.9091 Tf 217.192 0 Td [(two-level)-304(additive)]TJ/F15 10.9091 Tf 85.198 0 Td [(Sc)28(h)28(w)27(arz)-275(preconditioner)]TJ -302.39 -13.549 Td [(is)-333(obtained:)]TJ/F22 10.9091 Tf 153.971 -13.549 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LA)]TJ/F15 10.9091 Tf 15.631 3.435 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 14.933 3.435 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.435 Td [(:)]TJ/F15 10.9091 Tf -255.45 -18.258 Td [(Applying)]TJ/F22 10.9091 Tf 48.201 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F26 7.9701 Tf 5.759 0 Td [(\000)]TJ/F23 7.9701 Tf 6.586 0 Td [(A)]TJ/F15 10.9091 Tf 11.406 3.434 Td [(to)-418(a)-419(v)28(ector)]TJ/F22 10.9091 Tf 57.967 0 Td [(v)]TJ/F15 10.9091 Tf 10.245 0 Td [(within)-418(a)-419(Krylo)28(v)-418(solv)28(e)-1(r)-418(corresp)-28(onds)-418(to)-419(app)1(lying)]TJ/F22 10.9091 Tf 234.378 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf -399.943 -11.551 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.775 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 11.91 3.434 Td [(to)]TJ/F22 10.9091 Tf 13.333 0 Td [(v)]TJ/F15 10.9091 Tf 9.316 0 Td [(indep)-28(enden)28(tly)-333(and)-333(then)-334(summing)-333(up)-333(the)-334(results.)]TJ -53.652 -13.549 Td [(In)-355(the)-355(m)28(ultiplicativ)28(e)-355(case,)-360(the)-355(com)28(bination)-355(can)-355(b)-28(e)-355(p)-27(erformed)-355(b)28(y)-355(\014rst)-355(applying)-355(the)]TJ -16.937 -13.549 Td [(smo)-28(other)]TJ/F22 10.9091 Tf 47.667 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 11.911 3.434 Td [(and)-333(then)-333(the)-334(coarse-lev)28(el)-334(correction)-333(op)-28(erator)]TJ/F22 10.9091 Tf 217.485 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 12.508 3.434 Td [(:)]TJ/F22 10.9091 Tf -164.465 -21.579 Td [(w)]TJ/F15 10.9091 Tf 11.133 0 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(v)-36(;)]TJ -45.74 -13.789 Td [(z)]TJ/F15 10.9091 Tf 8.583 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(w)]TJ/F15 10.9091 Tf 10.528 0 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 12.508 3.434 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(v)]TJ/F25 10.9091 Tf 8.103 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(Aw)]TJ/F15 10.9091 Tf 16.286 0 Td [(\051;)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -289 0 obj << +295 0 obj << /Type /Page -/Contents 290 0 R -/Resources 288 0 R +/Contents 296 0 R +/Resources 294 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R -/Annots [ 287 0 R 264 0 R 265 0 R 285 0 R 286 0 R ] +/Parent 238 0 R +/Annots [ 270 0 R 271 0 R 292 0 R 293 0 R ] >> endobj -287 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.4) >> ->> endobj -264 0 obj << +270 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [403.61 676.042 411.057 685.065] +/Rect [396.41 676.042 403.857 685.065] /Subtype /Link /A << /S /GoTo /D (cite.CAI_SARKIS) >> >> endobj -265 0 obj << +271 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [416.316 676.042 429.217 685.065] +/Rect [409.115 676.042 422.017 685.065] /Subtype /Link /A << /S /GoTo /D (cite.EFSTATHIOU) >> >> endobj -285 0 obj << +292 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [457.602 461.302 465.049 470.324] +/Rect [450.402 461.302 457.849 470.324] /Subtype /Link /A << /S /GoTo /D (cite.dd1_94) >> >> endobj -286 0 obj << +293 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [469.996 461.302 482.897 470.324] +/Rect [462.795 461.302 475.697 470.324] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -291 0 obj << -/D [289 0 R /XYZ 93.6 740.002 null] +297 0 obj << +/D [295 0 R /XYZ 86.4 740.002 null] >> endobj -288 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F18 174 0 R /F22 176 0 R /F23 270 0 R /F20 272 0 R /F25 177 0 R /F24 273 0 R /F26 271 0 R /F28 274 0 R >> +294 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F18 174 0 R /F22 176 0 R /F23 277 0 R /F20 279 0 R /F25 177 0 R /F24 280 0 R /F26 278 0 R /F28 281 0 R >> /ProcSet [ /PDF /Text ] >> endobj -301 0 obj << -/Length 11340 +308 0 obj << +/Length 11371 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(12)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ 0 g 0 G -/F15 10.9091 Tf -203.265 -35.866 Td [(this)-278(corresp)-28(onds)-278(to)-278(the)-278(follo)28(wing)]TJ/F18 10.9091 Tf 156.322 0 Td [(two-level)-307(hybrid)-307(pr)51(e-smo)52(o)-1(the)52(d)]TJ/F15 10.9091 Tf 143.004 0 Td [(Sc)28(h)28(w)27(arz)-278(preconditioner:)]TJ/F22 10.9091 Tf -190.113 -25.536 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LH)]TJ/F26 7.9701 Tf 13.33 0 Td [(\000)]TJ/F23 7.9701 Tf 6.586 0 Td [(P)-148(R)-6(E)]TJ/F15 10.9091 Tf 23.154 3.435 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 14.933 3.435 Td [(+)]TJ/F28 10.9091 Tf 10.909 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(I)]TJ/F25 10.9091 Tf 8.075 0 Td [(\000)]TJ/F22 10.9091 Tf 10.91 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.021 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(A)]TJ/F28 10.9091 Tf 8.182 8.836 Td [(\001)]TJ/F22 10.9091 Tf 6.818 -8.836 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.021 Td [(1)]TJ/F23 7.9701 Tf 4.235 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(:)]TJ/F15 10.9091 Tf -300.208 -25.537 Td [(On)-368(the)-369(other)-368(hand,)-377(b)27(y)-368(applying)-368(the)-369(smo)-28(other)-368(after)-369(the)-368(coarse-lev)27(el)-368(correction,)-377(i.e.)-369(b)28(y)]TJ 0 -13.549 Td [(computing)]TJ/F22 10.9091 Tf 150.505 -13.871 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(v)-36(;)]TJ -45.741 -13.789 Td [(z)]TJ/F15 10.9091 Tf 8.584 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(w)]TJ/F15 10.9091 Tf 10.528 0 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 8.274 3.434 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(v)]TJ/F25 10.9091 Tf 8.103 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(Aw)]TJ/F15 10.9091 Tf 16.286 0 Td [(\051)]TJ/F22 10.9091 Tf 4.242 0 Td [(;)]TJ/F15 10.9091 Tf -258.915 -20.312 Td [(the)]TJ/F18 10.9091 Tf 18.788 0 Td [(two-level)-358(hybrid)-357(p)51(ost-smo)51(othe)51(d)]TJ/F15 10.9091 Tf 148.756 0 Td [(Sc)28(h)28(w)27(arz)-333(preconditioner)-333(is)-334(ob)1(tained:)]TJ/F22 10.9091 Tf -60.972 -25.537 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LH)]TJ/F26 7.9701 Tf 13.329 0 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(P)-148(O)-29(S)-56(T)]TJ/F15 10.9091 Tf 28.436 3.434 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.775 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 10.698 3.434 Td [(+)]TJ/F28 10.9091 Tf 10.909 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(I)]TJ/F25 10.9091 Tf 8.076 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(A)]TJ/F28 10.9091 Tf 8.182 8.836 Td [(\001)]TJ/F22 10.9091 Tf 6.818 -8.836 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(:)]TJ/F15 10.9091 Tf -302.849 -25.537 Td [(One)-222(more)-222(v)55(arian)28(t)-222(of)-222(t)27(w)28(o-lev)28(el)-222(h)27(yb)1(rid)-223(precondi)1(tioner)-223(is)-222(obtained)-222(b)28(y)-222(applying)-222(the)-223(smo)-27(other)]TJ 0 -13.549 Td [(b)-28(efore)-239(and)-239(after)-239(the)-240(coarse-lev)28(el)-239(correction.)-413(In)-239(this)-240(case,)-258(the)-239(preconditioner)-239(is)-239(symme)-1(tr)1(ic)]TJ 0 -13.549 Td [(if)]TJ/F22 10.9091 Tf 10 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)]TJ/F22 10.9091 Tf 6.666 0 Td [(M)]TJ/F20 7.9701 Tf 10.584 -1.689 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 9.893 1.689 Td [(and)]TJ/F22 10.9091 Tf 21.213 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(are)-333(symmetric.)]TJ -75.152 -13.892 Td [(As)-533(previou)1(s)-1(l)1(y)-533(noted,)-582(on)-533(parallel)-532(computers)-533(the)-532(n)28(um)27(b)-27(er)-533(of)-532(submatrices)-533(usually)]TJ -16.936 -13.549 Td [(matc)28(hes)-307(the)-307(n)28(um)28(b)-28(er)-307(of)-307(a)28(v)56(ailable)-307(pro)-28(cessors.)-436(When)-307(t)1(he)-307(size)-307(of)-307(the)-307(system)-307(to)-307(b)-28(e)-306(precon-)]TJ 0 -13.55 Td [(ditioned)-300(is)-300(v)28(ery)-300(large,)-307(the)-300(use)-301(of)-300(man)28(y)-300(pro)-28(cessors,)-307(i.e.)-300(of)-300(man)28(y)-300(small)-300(submatrices,)-307(often)]TJ 0 -13.549 Td [(leads)-314(to)-314(a)-314(large)-314(coarse-lev)28(el)-314(syste)-1(m,)-317(whose)-314(s)-1(olu)1(tion)-314(ma)27(y)-314(b)-27(e)-314(com)-1(p)1(utationally)-314(exp)-28(ensiv)28(e.)]TJ 0 -13.549 Td [(On)-385(the)-384(other)-385(hand,)-397(the)-385(use)-385(of)-384(few)-385(pro)-28(cessors)-385(often)-384(leads)-385(to)-385(lo)-27(cal)-385(sumatrices)-385(that)-384(are)]TJ 0 -13.549 Td [(to)-28(o)-424(exp)-28(ensiv)28(e)-424(to)-424(b)-28(e)-424(pro)-27(cesse)-1(d)-423(on)-424(single)-424(pro)-28(cessors,)-447(b)-28(ecause)-424(of)-424(memory)-424(and/or)-424(com-)]TJ 0 -13.549 Td [(puting)-324(requiremen)28(ts.)-441(Therefore,)-326(it)-324(seems)-324(natural)-324(to)-324(use)-324(a)-323(rec)-1(u)1(rs)-1(i)1(v)27(e)-324(approac)28(h,)-326(i)1(n)-324(whic)27(h)]TJ 0 -13.55 Td [(the)-394(coarse-)-1(l)1(e)-1(v)28(el)-394(correction)-395(is)-394(re-applied)-394(starting)-395(from)-394(the)-394(curren)27(t)-394(coarse-lev)28(el)-395(system.)]TJ 0 -13.549 Td [(The)-321(corresp)-28(onding)-320(preconditioners,)-324(called)]TJ/F18 10.9091 Tf 202.455 0 Td [(multi-level)]TJ/F15 10.9091 Tf 53.694 0 Td [(preconditioners,)-323(can)-321(signi\014can)28(tly)]TJ -256.149 -13.549 Td [(reduce)-282(the)-283(computational)-282(cost)-282(of)-283(preconditioning)-282(with)-282(resp)-28(ect)-283(to)-282(the)-282(t)28(w)27(o-lev)28(el)-282(case)-283(\050see)]TJ 0 -13.549 Td [([)]TJ + [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(13)]TJ +0 g 0 G + -401.542 -35.866 Td [(this)-278(corresp)-28(onds)-278(to)-278(the)-278(follo)28(wing)]TJ/F18 10.9091 Tf 156.322 0 Td [(two-level)-307(hybrid)-307(pr)51(e-smo)51(othe)52(d)]TJ/F15 10.9091 Tf 143.004 0 Td [(Sc)28(h)28(w)27(arz)-278(preconditioner:)]TJ/F22 10.9091 Tf -190.113 -25.536 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.775 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LH)]TJ/F26 7.9701 Tf 13.329 0 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(P)-148(R)-6(E)]TJ/F15 10.9091 Tf 23.153 3.435 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F15 10.9091 Tf 14.932 3.435 Td [(+)]TJ/F28 10.9091 Tf 10.909 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(I)]TJ/F25 10.9091 Tf 8.076 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.021 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(A)]TJ/F28 10.9091 Tf 8.182 8.836 Td [(\001)]TJ/F22 10.9091 Tf 6.818 -8.836 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.587 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.021 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(:)]TJ/F15 10.9091 Tf -300.208 -25.537 Td [(On)-368(the)-369(other)-368(hand,)-378(b)28(y)-368(applying)-368(the)-369(smo)-28(other)-368(after)-369(the)-368(coarse-lev)27(el)-368(correction,)-377(i.e.)-369(b)28(y)]TJ 0 -13.549 Td [(computing)]TJ/F22 10.9091 Tf 150.506 -13.871 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(v)-36(;)]TJ -45.74 -13.789 Td [(z)]TJ/F15 10.9091 Tf 8.583 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(w)]TJ/F15 10.9091 Tf 10.528 0 Td [(+)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.235 0 Td [(L)]TJ/F15 10.9091 Tf 8.274 3.434 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(v)]TJ/F25 10.9091 Tf 8.103 0 Td [(\000)]TJ/F22 10.9091 Tf 10.91 0 Td [(Aw)]TJ/F15 10.9091 Tf 16.285 0 Td [(\051)]TJ/F22 10.9091 Tf 4.242 0 Td [(;)]TJ/F15 10.9091 Tf -258.915 -20.312 Td [(the)]TJ/F18 10.9091 Tf 18.788 0 Td [(two-level)-358(hybrid)-357(p)51(ost-smo)51(othe)51(d)]TJ/F15 10.9091 Tf 148.757 0 Td [(Sc)28(h)28(w)27(arz)-333(preconditioner)-333(is)-333(obtained:)]TJ/F22 10.9091 Tf -60.973 -25.537 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(2)]TJ/F23 7.9701 Tf 4.234 0 Td [(LH)]TJ/F26 7.9701 Tf 13.33 0 Td [(\000)]TJ/F23 7.9701 Tf 6.586 0 Td [(P)-148(O)-29(S)-56(T)]TJ/F15 10.9091 Tf 28.436 3.434 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 10.698 3.434 Td [(+)]TJ/F28 10.9091 Tf 10.909 8.836 Td [(\000)]TJ/F22 10.9091 Tf 5 -8.836 Td [(I)]TJ/F25 10.9091 Tf 8.076 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ -7.776 -8.022 Td [(1)]TJ/F23 7.9701 Tf 4.235 0 Td [(L)]TJ/F22 10.9091 Tf 8.274 3.434 Td [(A)]TJ/F28 10.9091 Tf 8.181 8.836 Td [(\001)]TJ/F22 10.9091 Tf 6.819 -8.836 Td [(M)]TJ/F26 7.9701 Tf 11.772 4.588 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F23 7.9701 Tf -7.776 -8.022 Td [(C)]TJ/F22 10.9091 Tf 12.508 3.434 Td [(:)]TJ/F15 10.9091 Tf -302.849 -25.537 Td [(One)-222(more)-222(v)55(arian)28(t)-222(of)-222(t)27(w)28(o-lev)28(el)-222(h)27(yb)1(rid)-223(preconditi)1(oner)-223(is)-222(obtained)-222(b)28(y)-222(applying)-222(the)-223(smo)-28(oth)1(e)-1(r)]TJ 0 -13.549 Td [(b)-28(efore)-239(and)-239(after)-239(the)-240(coarse-lev)28(el)-239(correction.)-413(In)-239(this)-240(case,)-258(the)-239(preconditioner)-239(is)-239(symm)-1(etric)]TJ 0 -13.549 Td [(if)]TJ/F22 10.9091 Tf 10 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)]TJ/F22 10.9091 Tf 6.667 0 Td [(M)]TJ/F20 7.9701 Tf 10.583 -1.689 Td [(1)]TJ/F23 7.9701 Tf 4.234 0 Td [(L)]TJ/F15 10.9091 Tf 9.894 1.689 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(are)-333(symme)-1(tr)1(ic.)]TJ -75.151 -13.892 Td [(As)-533(p)1(reviously)-533(noted,)-582(on)-533(parallel)-532(computers)-533(the)-532(n)28(um)28(b)-28(er)-533(of)-532(submatrices)-533(usually)]TJ -16.937 -13.549 Td [(matc)28(hes)-307(the)-307(n)28(um)28(b)-28(er)-307(of)-307(a)28(v)56(ailable)-307(pro)-28(cessors.)-436(When)-307(th)1(e)-307(size)-307(of)-307(the)-307(system)-307(to)-307(b)-28(e)-306(precon-)]TJ 0 -13.55 Td [(ditioned)-300(is)-300(v)28(ery)-301(l)1(arge)-1(,)-306(the)-300(use)-301(of)-300(man)28(y)-300(pro)-28(cessors,)-307(i.e.)-300(of)-300(man)28(y)-300(small)-300(submatrices,)-307(often)]TJ 0 -13.549 Td [(leads)-314(to)-314(a)-314(large)-314(coarse-lev)28(el)-314(sys)-1(tem,)-317(whose)-315(solu)1(tion)-314(ma)27(y)-314(b)-27(e)-314(c)-1(ompu)1(tationally)-314(exp)-28(ensiv)28(e.)]TJ 0 -13.549 Td [(On)-385(the)-384(other)-385(hand,)-397(the)-385(use)-385(of)-384(few)-385(pro)-28(cessors)-385(often)-384(leads)-385(to)-385(lo)-27(cal)-385(sumatrices)-385(that)-384(are)]TJ 0 -13.549 Td [(to)-28(o)-424(exp)-28(ensiv)28(e)-424(to)-424(b)-28(e)-424(pro)-27(cesse)-1(d)-424(on)-423(s)-1(i)1(ngle)-424(pro)-28(cessors,)-447(b)-28(ecause)-424(of)-424(memory)-424(and/or)-424(com-)]TJ 0 -13.549 Td [(puting)-324(requiremen)28(ts.)-441(Therefore,)-326(it)-324(seems)-324(natural)-324(to)-324(use)-324(a)-324(r)1(e)-1(cur)1(s)-1(iv)28(e)-324(approac)28(h,)-326(in)-323(whic)27(h)]TJ 0 -13.55 Td [(the)-394(coarse)-1(-lev)28(el)-394(correction)-395(is)-394(re-applied)-394(starting)-395(from)-394(the)-394(c)-1(u)1(rren)27(t)-394(coarse-lev)28(el)-395(system.)]TJ 0 -13.549 Td [(The)-321(corresp)-28(onding)-321(p)1(rec)-1(on)1(ditioners,)-324(called)]TJ/F18 10.9091 Tf 202.455 0 Td [(multi-level)]TJ/F15 10.9091 Tf 53.695 0 Td [(preconditioners,)-323(can)-321(signi\014can)28(tly)]TJ -256.15 -13.549 Td [(reduce)-282(the)-283(computational)-282(cost)-282(of)-283(preconditioning)-282(with)-282(resp)-28(ect)-283(to)-282(the)-282(t)28(w)27(o-lev)28(el)-282(case)-283(\050see)]TJ 0 -13.549 Td [([)]TJ 1 0 0 rg 1 0 0 RG [(22)]TJ 0 g 0 G @@ -1680,11 +1733,11 @@ BT 1 0 0 rg 1 0 0 RG [(22)]TJ 0 g 0 G - [(,)-324(Ch)1(apter)-321(3].)-441(The)-321(algorithm)-321(for)-321(the)-321(application)-321(of)-321(a)-321(m)28(ulti-lev)28(el)-321(h)28(ybrid)]TJ 0 -13.549 Td [(p)-28(ost-smo)-28(othed)-335(preconditioner)]TJ/F22 10.9091 Tf 145.676 0 Td [(M)]TJ/F15 10.9091 Tf 15.428 0 Td [(to)-335(a)-335(v)28(e)-1(ctor)]TJ/F22 10.9091 Tf 55.241 0 Td [(v)]TJ/F15 10.9091 Tf 5.68 0 Td [(,)-336(i.)1(e)-1(.)-335(for)-335(the)-335(computation)-335(of)]TJ/F22 10.9091 Tf 135.91 0 Td [(w)]TJ/F15 10.9091 Tf 11.167 0 Td [(=)]TJ/F22 10.9091 Tf 11.548 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(v)]TJ/F15 10.9091 Tf 5.68 0 Td [(,)]TJ -409.421 -13.549 Td [(is)-425(rep)-28(orted,)-448(for)-425(example,)-448(in)-425(Figure)]TJ + [(,)-324(Chap)1(te)-1(r)-321(3].)-440(The)-321(algorithm)-321(for)-321(the)-321(application)-321(of)-321(a)-321(m)28(ulti-lev)28(el)-321(h)28(ybrid)]TJ 0 -13.549 Td [(p)-28(ost-smo)-28(othed)-335(preconditioner)]TJ/F22 10.9091 Tf 145.676 0 Td [(M)]TJ/F15 10.9091 Tf 15.429 0 Td [(to)-335(a)-335(v)28(ec)-1(tor)]TJ/F22 10.9091 Tf 55.241 0 Td [(v)]TJ/F15 10.9091 Tf 5.679 0 Td [(,)-336(i.e.)-335(for)-335(the)-335(computation)-335(of)]TJ/F22 10.9091 Tf 135.911 0 Td [(w)]TJ/F15 10.9091 Tf 11.166 0 Td [(=)]TJ/F22 10.9091 Tf 11.548 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -3.959 Td [(v)]TJ/F15 10.9091 Tf 5.679 0 Td [(,)]TJ -409.421 -13.549 Td [(is)-425(rep)-28(orted,)-448(for)-425(example,)-448(in)-425(Figure)]TJ 0 0 1 rg 0 0 1 RG [-425(1)]TJ 0 g 0 G - [(.)-720(Here)-425(the)-425(n)28(um)27(b)-27(er)-425(of)-425(le)-1(v)28(els)-425(is)-425(denoted)-425(b)28(y)]TJ/F22 10.9091 Tf 391.674 0 Td [(nl)-20(ev)]TJ/F15 10.9091 Tf -391.674 -13.549 Td [(and)-410(the)-411(lev)28(els)-411(are)-410(n)28(um)27(b)-27(ered)-411(in)-410(increasing)-411(order)-410(starting)-411(from)-410(the)-411(\014n)1(e)-1(st)-410(one,)-430(i.e.)-410(the)]TJ 0 -13.549 Td [(\014nest)-361(lev)28(el)-361(is)-362(l)1(e)-1(v)28(el)-361(1;)-375(the)-361(coarse)-361(matrix)-361(and)-361(the)-361(corresp)-28(onding)-361(basic)-361(preconditioner)-361(at)]TJ 0 -13.55 Td [(eac)28(h)-415(lev)28(el)]TJ/F22 10.9091 Tf 51.17 0 Td [(l)]TJ/F15 10.9091 Tf 7.994 0 Td [(are)-415(denoted)-415(b)28(y)]TJ/F22 10.9091 Tf 77.241 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.777 Td [(l)]TJ/F15 10.9091 Tf 7.644 1.777 Td [(and)]TJ/F22 10.9091 Tf 22.101 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.777 Td [(l)]TJ/F15 10.9091 Tf 3.12 1.777 Td [(,)-435(resp)-28(ectiv)28(ely)83(,)-435(with)]TJ/F22 10.9091 Tf 96.23 0 Td [(A)]TJ/F20 7.9701 Tf 8.182 -1.636 Td [(1)]TJ/F15 10.9091 Tf 9.243 1.636 Td [(=)]TJ/F22 10.9091 Tf 12.995 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-435(while)-415(the)-415(related)]TJ -322.867 -13.549 Td [(restriction)-333(op)-28(erator)-333(is)-334(denoted)-333(b)28(y)]TJ/F22 10.9091 Tf 163.576 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.777 Td [(l)]TJ/F15 10.9091 Tf 3.12 1.777 Td [(.)]TJ/F17 11.9552 Tf -174.979 -31.172 Td [(4.2)-1125(Smo)-31(othed)-375(Aggregation)]TJ/F15 10.9091 Tf 0 -21.261 Td [(In)-411(order)-411(to)-411(de\014ne)-411(the)-411(restriction)-411(op)-27(erator)]TJ/F22 10.9091 Tf 207.99 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(,)-430(whic)27(h)-411(is)-411(used)-411(to)-411(compu)1(te)-412(th)1(e)-411(c)-1(oar)1(s)-1(e-)]TJ -223.37 -13.549 Td [(lev)28(el)-281(matrix)]TJ/F22 10.9091 Tf 59.188 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.096 1.689 Td [(,)-291(MLD2P4)-281(uses)-281(the)]TJ/F18 10.9091 Tf 93.551 0 Td [(smo)51(othe)51(d)-309(aggr)51(e)51(gation)]TJ/F15 10.9091 Tf 103.876 0 Td [(algorithm)-281(describ)-28(ed)-280(in)-281([)]TJ + [(.)-720(Here)-425(the)-425(n)28(um)27(b)-27(er)-425(of)-426(lev)28(els)-425(is)-425(denoted)-425(b)28(y)]TJ/F22 10.9091 Tf 391.675 0 Td [(nl)-20(ev)]TJ/F15 10.9091 Tf -391.675 -13.549 Td [(and)-410(the)-411(lev)28(els)-411(are)-410(n)28(um)27(b)-27(ered)-411(in)-410(increasing)-411(order)-410(starting)-411(from)-410(the)-411(\014nest)-410(one,)-430(i.e.)-410(the)]TJ 0 -13.549 Td [(\014nest)-361(lev)28(el)-361(is)-362(lev)28(el)-361(1;)-375(the)-361(coarse)-361(matrix)-361(and)-361(the)-361(corresp)-28(onding)-361(basic)-361(preconditioner)-361(at)]TJ 0 -13.55 Td [(eac)28(h)-415(lev)28(el)]TJ/F22 10.9091 Tf 51.17 0 Td [(l)]TJ/F15 10.9091 Tf 7.995 0 Td [(are)-415(denoted)-414(b)27(y)]TJ/F22 10.9091 Tf 77.24 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.777 Td [(l)]TJ/F15 10.9091 Tf 7.645 1.777 Td [(and)]TJ/F22 10.9091 Tf 22.1 0 Td [(M)]TJ/F23 7.9701 Tf 10.583 -1.777 Td [(l)]TJ/F15 10.9091 Tf 3.121 1.777 Td [(,)-435(resp)-28(ectiv)28(ely)83(,)-435(with)]TJ/F22 10.9091 Tf 96.23 0 Td [(A)]TJ/F20 7.9701 Tf 8.182 -1.636 Td [(1)]TJ/F15 10.9091 Tf 9.242 1.636 Td [(=)]TJ/F22 10.9091 Tf 12.996 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-435(while)-415(the)-415(r)1(e)-1(lated)]TJ -322.868 -13.549 Td [(restriction)-333(op)-28(erator)-333(is)-334(denoted)-333(b)28(y)]TJ/F22 10.9091 Tf 163.576 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.777 Td [(l)]TJ/F15 10.9091 Tf 3.12 1.777 Td [(.)]TJ/F17 11.9552 Tf -174.979 -31.172 Td [(4.2)-1125(Smo)-31(othed)-375(Aggregation)]TJ/F15 10.9091 Tf 0 -21.261 Td [(In)-411(order)-411(to)-411(de\014ne)-411(the)-411(restriction)-411(op)-27(erator)]TJ/F22 10.9091 Tf 207.99 0 Td [(R)]TJ/F23 7.9701 Tf 8.284 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.096 1.689 Td [(,)-430(whic)27(h)-411(is)-411(used)-411(to)-411(compute)-411(th)1(e)-412(coarse-)]TJ -223.37 -13.549 Td [(lev)28(el)-281(matrix)]TJ/F22 10.9091 Tf 59.188 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(,)-291(MLD2P4)-281(uses)-281(the)]TJ/F18 10.9091 Tf 93.551 0 Td [(smo)51(othe)51(d)-309(aggr)51(e)51(gation)]TJ/F15 10.9091 Tf 103.876 0 Td [(algorithm)-281(describ)-27(e)-1(d)-280(in)-281([)]TJ 1 0 0 rg 1 0 0 RG [(1)]TJ 0 g 0 G @@ -1692,118 +1745,122 @@ BT 1 0 0 rg 1 0 0 RG [-281(26)]TJ 0 g 0 G - [(].)]TJ -271.893 -13.549 Td [(The)-443(basic)-442(idea)-443(of)-443(this)-442(algorithm)-443(is)-442(to)-443(build)-443(a)-442(coarse)-443(set)-443(of)-442(v)27(erti)1(c)-1(es)]TJ/F22 10.9091 Tf 335.939 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 11.925 1.689 Td [(b)28(y)-443(suitably)]TJ -358.167 -13.55 Td [(grouping)-329(the)-330(v)28(ertices)-330(of)]TJ/F22 10.9091 Tf 116.02 0 Td [(W)]TJ/F15 10.9091 Tf 15.414 0 Td [(in)28(to)-330(disjoin)28(t)-329(subsets)-330(\050aggregates\051,)-331(an)1(d)-330(to)-330(de\014ne)-329(the)-330(coarse-)]TJ -131.434 -13.549 Td [(to-\014ne)-253(space)-254(transfer)-253(op)-28(erator)]TJ/F22 10.9091 Tf 144.031 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 9.862 3.233 Td [(b)28(y)-254(applyin)1(g)-254(a)-253(s)-1(u)1(itable)-254(smo)-28(other)-253(to)-254(a)-253(simple)-254(piecewise)]TJ -162.176 -13.549 Td [(constan)28(t)-334(p)1(rolongation)-334(op)-27(erator,)-334(to)-333(impro)28(v)28(e)-334(the)-333(qualit)28(y)-333(of)-334(the)-333(coarse-space)-334(correction.)]TJ 16.936 -13.892 Td [(Three)-333(main)-334(steps)-333(can)-333(b)-28(e)-334(id)1(e)-1(n)28(ti\014ed)-333(in)-333(the)-334(smo)-27(othed)-334(aggregation)-333(pro)-28(cedure:)]TJ + [(].)]TJ -271.894 -13.549 Td [(The)-443(basic)-442(idea)-443(of)-443(this)-442(algorithm)-443(is)-442(to)-443(build)-443(a)-442(coarse)-443(set)-443(of)-442(v)27(ertices)]TJ/F22 10.9091 Tf 335.939 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 11.926 1.689 Td [(b)28(y)-443(suitably)]TJ -358.168 -13.55 Td [(grouping)-329(the)-330(v)28(ertices)-330(of)]TJ/F22 10.9091 Tf 116.02 0 Td [(W)]TJ/F15 10.9091 Tf 15.414 0 Td [(in)28(to)-330(disjoin)28(t)-329(subse)-1(t)1(s)-330(\050aggregates\051,)-331(and)-329(to)-330(de\014ne)-329(the)-330(coarse-)]TJ -131.434 -13.549 Td [(to-\014ne)-253(s)-1(p)1(ac)-1(e)-253(transfer)-253(op)-28(erator)]TJ/F22 10.9091 Tf 144.031 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 9.862 3.233 Td [(b)28(y)-254(apply)1(ing)-254(a)-253(suitable)-254(smo)-28(other)-253(to)-254(a)-253(simple)-254(piecewise)]TJ -162.177 -13.549 Td [(constan)28(t)-334(pr)1(olongation)-334(op)-27(erator,)-334(to)-333(impro)28(v)28(e)-334(the)-333(qualit)28(y)-333(of)-334(the)-333(coarse-space)-334(correction.)]TJ 16.937 -13.892 Td [(Three)-333(main)-334(steps)-333(can)-333(b)-28(e)-333(iden)27(ti\014ed)-333(in)-333(the)-334(smo)-27(othed)-334(aggregation)-333(pro)-28(cedure:)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -300 0 obj << +307 0 obj << /Type /Page -/Contents 301 0 R -/Resources 299 0 R +/Contents 308 0 R +/Resources 306 0 R /MediaBox [0 0 595.276 841.89] -/Parent 236 0 R -/Annots [ 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R ] +/Parent 310 0 R +/Annots [ 305 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R ] >> endobj -294 0 obj << +305 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.4) >> +>> endobj +300 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [88.434 362.989 101.335 372.012] +/Rect [95.634 362.989 108.536 372.012] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -295 0 obj << +301 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [152.728 335.891 165.63 344.914] +/Rect [159.929 335.891 172.831 344.914] /Subtype /Link /A << /S /GoTo /D (cite.dd2_96) >> >> endobj -296 0 obj << +302 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [259.518 306.671 266.965 318.361] +/Rect [266.719 306.671 274.166 318.361] /Subtype /Link /A << /S /GoTo /D (figure.1) >> >> endobj -297 0 obj << +303 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [469.336 188.614 476.783 197.636] +/Rect [476.537 188.614 483.984 197.636] /Subtype /Link /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> endobj -298 0 obj << +304 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [480.885 188.614 493.787 197.636] +/Rect [488.085 188.614 500.987 197.636] /Subtype /Link /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> endobj -302 0 obj << -/D [300 0 R /XYZ 86.4 740.002 null] +309 0 obj << +/D [307 0 R /XYZ 93.6 740.002 null] >> endobj 54 0 obj << -/D [300 0 R /XYZ 86.4 236.589 null] +/D [307 0 R /XYZ 93.6 236.589 null] >> endobj -299 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F18 174 0 R /F22 176 0 R /F26 271 0 R /F20 272 0 R /F23 270 0 R /F28 274 0 R /F25 177 0 R /F17 111 0 R >> +306 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F18 174 0 R /F22 176 0 R /F26 278 0 R /F20 279 0 R /F23 277 0 R /F28 281 0 R /F25 177 0 R /F17 111 0 R >> /ProcSet [ /PDF /Text ] >> endobj -312 0 obj << -/Length 10478 +319 0 obj << +/Length 10396 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ -0 g 0 G - [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(13)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(14)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G ET q -1 0 0 1 165.668 714.896 cm +1 0 0 1 158.467 714.896 cm []0 d 0 J 0.398 w 0 0 m 268.316 0 l S Q q -1 0 0 1 165.867 443.481 cm +1 0 0 1 158.666 443.481 cm []0 d 0 J 0.398 w 0 0 m 0 271.216 l S Q 0 g 0 G 0 g 0 G BT -/F22 9.9626 Tf 172.691 694.219 Td [(v)]TJ/F7 6.9738 Tf 4.829 -1.495 Td [(1)]TJ/F15 9.9626 Tf 7.237 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(v)]TJ/F15 9.9626 Tf 5.187 0 Td [(;)]TJ/F43 9.9626 Tf -27.769 -17.625 Td [(for)]TJ/F22 9.9626 Tf 17.767 0 Td [(l)]TJ/F15 9.9626 Tf 5.936 0 Td [(=)-278(2)]TJ/F22 9.9626 Tf 15.497 0 Td [(;)-167(nl)-19(ev)]TJ/F43 9.9626 Tf 27.221 0 Td [(do)]TJ/F15 9.9626 Tf -56.458 -14.789 Td [(!)-444(transfer)]TJ/F22 9.9626 Tf 44.112 0 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.495 Td [(l)]TJ/F13 6.9738 Tf 2.56 0 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F15 9.9626 Tf 7.79 1.495 Td [(to)-333(the)-334(next)-333(coarser)-333(lev)27(el)]TJ/F22 9.9626 Tf -65.518 -11.956 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(R)]TJ/F10 6.9738 Tf 7.565 -1.494 Td [(l)]TJ/F22 9.9626 Tf 3.058 1.494 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.494 Td [(l)]TJ/F13 6.9738 Tf 2.56 0 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F43 9.9626 Tf -55.372 -13.295 Td [(endfor)]TJ/F15 9.9626 Tf 0 -17.625 Td [(!)-444(apply)-334(the)-333(coarsest-lev)28(el)-334(correction)]TJ/F22 9.9626 Tf 0 -15.177 Td [(y)]TJ/F10 6.9738 Tf 4.885 -1.495 Td [(nl)-6(ev)]TJ/F15 9.9626 Tf 18.765 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(A)]TJ/F13 6.9738 Tf 7.472 4.262 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F10 6.9738 Tf -6.227 -7.267 Td [(nl)-6(ev)]TJ/F22 9.9626 Tf 15.998 3.005 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.494 Td [(nl)-6(ev)]TJ/F43 9.9626 Tf -62.465 -16.131 Td [(for)]TJ/F22 9.9626 Tf 17.767 0 Td [(l)]TJ/F15 9.9626 Tf 5.936 0 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(nl)-20(ev)]TJ/F25 9.9626 Tf 21.188 0 Td [(\000)]TJ/F15 9.9626 Tf 9.962 0 Td [(1)]TJ/F22 9.9626 Tf 4.982 0 Td [(;)]TJ/F15 9.9626 Tf 4.428 0 Td [(1)]TJ/F22 9.9626 Tf 4.981 0 Td [(;)]TJ/F25 9.9626 Tf 4.428 0 Td [(\000)]TJ/F15 9.9626 Tf 7.749 0 Td [(1)]TJ/F43 9.9626 Tf 8.8 0 Td [(do)]TJ/F15 9.9626 Tf -90.774 -14.789 Td [(!)-444(transfer)]TJ/F22 9.9626 Tf 44.112 0 Td [(y)]TJ/F10 6.9738 Tf 4.885 -1.495 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F15 9.9626 Tf 13.906 1.495 Td [(to)-333(the)-334(next)-333(\014ner)-333(lev)28(e)-1(l)]TJ/F22 9.9626 Tf -65.463 -11.968 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.826 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(R)]TJ/F10 6.9738 Tf 7.641 3.616 Td [(T)]TJ -0.077 -6.437 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F22 9.9626 Tf 10.586 2.821 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F15 9.9626 Tf 10.585 1.494 Td [(;)]TJ -59.965 -14.855 Td [(!)-444(com)-1(p)1(ute)-334(the)-333(residual)-333(at)-334(the)-333(curren)28(t)-334(lev)28(el)]TJ/F22 9.9626 Tf 0 -12.342 Td [(r)]TJ/F10 6.9738 Tf 4.495 -1.495 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.495 Td [(l)]TJ/F25 9.9626 Tf 5.272 1.495 Td [(\000)]TJ/F22 9.9626 Tf 9.963 0 Td [(A)]TJ/F13 6.9738 Tf 7.472 4.261 Td [(\000)]TJ/F7 6.9738 Tf 6.226 0 Td [(1)]TJ/F10 6.9738 Tf -6.226 -7.267 Td [(l)]TJ/F22 9.9626 Tf 10.696 3.006 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.495 Td [(l)]TJ/F15 9.9626 Tf 3.058 1.495 Td [(;)]TJ -67.01 -14.79 Td [(!)-444(apply)-334(the)-333(basic)-333(Sc)27(h)28(w)28(arz)-333(preconditioner)-334(to)-333(the)-333(residual)]TJ/F22 9.9626 Tf 0 -12.343 Td [(r)]TJ/F10 6.9738 Tf 4.495 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(M)]TJ/F13 6.9738 Tf 10.751 4.262 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F10 6.9738 Tf -7.313 -7.267 Td [(l)]TJ/F22 9.9626 Tf 11.782 3.005 Td [(r)]TJ/F10 6.9738 Tf 4.495 -1.494 Td [(l)]TJ/F15 9.9626 Tf -46.778 -13.296 Td [(!)-444(up)-28(date)]TJ/F22 9.9626 Tf 40.681 0 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F22 9.9626 Tf -45.565 -10.461 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.826 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.272 1.494 Td [(+)]TJ/F22 9.9626 Tf 9.963 0 Td [(r)]TJ/F10 6.9738 Tf 4.495 -1.494 Td [(l)]TJ/F43 9.9626 Tf -55.803 -10.461 Td [(endfor)]TJ/F22 9.9626 Tf 0 -14.79 Td [(w)]TJ/F15 9.9626 Tf 10.168 0 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(y)]TJ/F7 6.9738 Tf 4.885 -1.494 Td [(1)]TJ/F15 9.9626 Tf 4.469 1.494 Td [(;)]TJ +/F22 9.9626 Tf 165.491 694.219 Td [(v)]TJ/F7 6.9738 Tf 4.829 -1.495 Td [(1)]TJ/F15 9.9626 Tf 7.237 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(v)]TJ/F15 9.9626 Tf 5.186 0 Td [(;)]TJ/F43 9.9626 Tf -27.768 -17.625 Td [(for)]TJ/F22 9.9626 Tf 17.766 0 Td [(l)]TJ/F15 9.9626 Tf 5.936 0 Td [(=)-278(2)]TJ/F22 9.9626 Tf 15.498 0 Td [(;)-167(nl)-19(ev)]TJ/F43 9.9626 Tf 27.221 0 Td [(do)]TJ/F15 9.9626 Tf -56.459 -14.789 Td [(!)-444(transfer)]TJ/F22 9.9626 Tf 44.113 0 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.495 Td [(l)]TJ/F13 6.9738 Tf 2.56 0 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F15 9.9626 Tf 7.79 1.495 Td [(to)-333(the)-334(next)-333(coarser)-333(lev)27(el)]TJ/F22 9.9626 Tf -65.519 -11.956 Td [(v)]TJ/F10 6.9738 Tf 4.83 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(R)]TJ/F10 6.9738 Tf 7.565 -1.494 Td [(l)]TJ/F22 9.9626 Tf 3.058 1.494 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.494 Td [(l)]TJ/F13 6.9738 Tf 2.56 0 Td [(\000)]TJ/F7 6.9738 Tf 6.226 0 Td [(1)]TJ/F43 9.9626 Tf -55.371 -13.295 Td [(endfor)]TJ/F15 9.9626 Tf 0 -17.625 Td [(!)-444(apply)-334(the)-333(coarsest-lev)28(el)-334(correction)]TJ/F22 9.9626 Tf 0 -15.177 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.495 Td [(nl)-6(ev)]TJ/F15 9.9626 Tf 18.766 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(A)]TJ/F13 6.9738 Tf 7.472 4.262 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F10 6.9738 Tf -6.227 -7.267 Td [(nl)-6(ev)]TJ/F22 9.9626 Tf 15.998 3.005 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.494 Td [(nl)-6(ev)]TJ/F43 9.9626 Tf -62.465 -16.131 Td [(for)]TJ/F22 9.9626 Tf 17.766 0 Td [(l)]TJ/F15 9.9626 Tf 5.937 0 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(nl)-20(ev)]TJ/F25 9.9626 Tf 21.188 0 Td [(\000)]TJ/F15 9.9626 Tf 9.962 0 Td [(1)]TJ/F22 9.9626 Tf 4.981 0 Td [(;)]TJ/F15 9.9626 Tf 4.428 0 Td [(1)]TJ/F22 9.9626 Tf 4.982 0 Td [(;)]TJ/F25 9.9626 Tf 4.427 0 Td [(\000)]TJ/F15 9.9626 Tf 7.749 0 Td [(1)]TJ/F43 9.9626 Tf 8.8 0 Td [(do)]TJ/F15 9.9626 Tf -90.773 -14.789 Td [(!)-444(transfer)]TJ/F22 9.9626 Tf 44.112 0 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.495 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F15 9.9626 Tf 13.907 1.495 Td [(to)-333(the)-334(next)-333(\014ner)-333(lev)28(el)]TJ/F22 9.9626 Tf -65.463 -11.968 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(R)]TJ/F10 6.9738 Tf 7.642 3.616 Td [(T)]TJ -0.077 -6.437 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F22 9.9626 Tf 10.585 2.821 Td [(y)]TJ/F10 6.9738 Tf 4.885 -1.494 Td [(l)]TJ/F7 6.9738 Tf 2.56 0 Td [(+1)]TJ/F15 9.9626 Tf 10.585 1.494 Td [(;)]TJ -59.965 -14.855 Td [(!)-444(compute)-334(the)-333(residual)-333(at)-334(the)-333(curren)28(t)-334(lev)28(el)]TJ/F22 9.9626 Tf 0 -12.342 Td [(r)]TJ/F10 6.9738 Tf 4.494 -1.495 Td [(l)]TJ/F15 9.9626 Tf 5.826 1.495 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(v)]TJ/F10 6.9738 Tf 4.829 -1.495 Td [(l)]TJ/F25 9.9626 Tf 5.272 1.495 Td [(\000)]TJ/F22 9.9626 Tf 9.962 0 Td [(A)]TJ/F13 6.9738 Tf 7.472 4.261 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F10 6.9738 Tf -6.227 -7.267 Td [(l)]TJ/F22 9.9626 Tf 10.696 3.006 Td [(y)]TJ/F10 6.9738 Tf 4.885 -1.495 Td [(l)]TJ/F15 9.9626 Tf 3.058 1.495 Td [(;)]TJ -67.01 -14.79 Td [(!)-444(apply)-334(the)-333(basic)-333(Sc)27(h)28(w)28(arz)-333(preconditioner)-334(to)-333(the)-333(residual)]TJ/F22 9.9626 Tf 0 -12.343 Td [(r)]TJ/F10 6.9738 Tf 4.494 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.826 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(M)]TJ/F13 6.9738 Tf 10.751 4.262 Td [(\000)]TJ/F7 6.9738 Tf 6.227 0 Td [(1)]TJ/F10 6.9738 Tf -7.313 -7.267 Td [(l)]TJ/F22 9.9626 Tf 11.782 3.005 Td [(r)]TJ/F10 6.9738 Tf 4.495 -1.494 Td [(l)]TJ/F15 9.9626 Tf -46.778 -13.296 Td [(!)-444(up)-28(date)]TJ/F22 9.9626 Tf 40.681 0 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F22 9.9626 Tf -45.565 -10.461 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.825 1.494 Td [(=)]TJ/F22 9.9626 Tf 10.517 0 Td [(y)]TJ/F10 6.9738 Tf 4.884 -1.494 Td [(l)]TJ/F15 9.9626 Tf 5.272 1.494 Td [(+)]TJ/F22 9.9626 Tf 9.963 0 Td [(r)]TJ/F10 6.9738 Tf 4.494 -1.494 Td [(l)]TJ/F43 9.9626 Tf -55.802 -10.461 Td [(endfor)]TJ/F22 9.9626 Tf 0 -14.79 Td [(w)]TJ/F15 9.9626 Tf 10.168 0 Td [(=)]TJ/F22 9.9626 Tf 10.516 0 Td [(y)]TJ/F7 6.9738 Tf 4.884 -1.494 Td [(1)]TJ/F15 9.9626 Tf 4.47 1.494 Td [(;)]TJ ET q -1 0 0 1 433.785 443.481 cm +1 0 0 1 426.584 443.481 cm []0 d 0 J 0.398 w 0 0 m 0 271.216 l S Q q -1 0 0 1 165.668 443.282 cm +1 0 0 1 158.467 443.282 cm []0 d 0 J 0.398 w 0 0 m 268.316 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 114.174 424.548 Td [(Figure)-333(1:)-445(Application)-333(of)-333(the)-333(m)27(ulti-lev)28(el)-333(h)28(ybrid)-334(p)-27(ost-smo)-28(othed)-334(p)1(re)-1(cond)1(itioner.)]TJ +/F15 10.9091 Tf 106.974 424.548 Td [(Figure)-333(1:)-445(Application)-333(of)-333(the)-333(m)27(ulti-lev)28(el)-333(h)28(ybrid)-334(p)-27(ost-smo)-28(othed)-334(p)1(rec)-1(on)1(ditioner.)]TJ 0 g 0 G 0 g 0 G 0 g 0 G - -7.24 -42.981 Td [(1.)]TJ + -7.241 -42.981 Td [(1.)]TJ 0 g 0 G - [-500(coarsening)-333(of)-334(the)-333(v)28(ertex)-333(se)-1(t)]TJ/F22 10.9091 Tf 148.666 0 Td [(W)]TJ/F15 10.9091 Tf 11.819 0 Td [(,)-333(to)-334(obtain)]TJ/F22 10.9091 Tf 53.939 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(;)]TJ + [-500(coarsening)-333(of)-334(the)-333(v)28(ertex)-333(s)-1(et)]TJ/F22 10.9091 Tf 148.667 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-333(to)-334(obtain)]TJ/F22 10.9091 Tf 53.94 0 Td [(W)]TJ/F23 7.9701 Tf 10.303 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.096 1.689 Td [(;)]TJ 0 g 0 G -231.824 -21.526 Td [(2.)]TJ 0 g 0 G - [-500(construction)-333(of)-333(the)-334(prolongator)]TJ/F22 10.9091 Tf 166.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 7.097 3.233 Td [(;)]TJ + [-500(construction)-333(of)-334(th)1(e)-334(prolongator)]TJ/F22 10.9091 Tf 166.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 7.096 3.233 Td [(;)]TJ 0 g 0 G -181.895 -21.526 Td [(3.)]TJ 0 g 0 G - [-500(application)-333(of)]TJ/F22 10.9091 Tf 82.727 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(R)]TJ/F23 7.9701 Tf 8.368 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 10.733 3.233 Td [(to)-333(build)]TJ/F22 10.9091 Tf 41.212 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(.)]TJ -194.86 -20.041 Td [(T)83(o)-426(p)-28(erform)-426(the)-426(coarsening)-426(s)-1(tep,)-449(w)28(e)-427(ha)28(v)28(e)-426(implemen)27(ted)-426(the)-426(aggregation)-426(algorithm)]TJ -16.937 -13.549 Td [(sk)28(etc)27(hed)-388(in)-388([)]TJ + [-500(application)-333(of)]TJ/F22 10.9091 Tf 82.728 0 Td [(R)]TJ/F23 7.9701 Tf 8.283 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(and)]TJ/F22 10.9091 Tf 21.212 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(T)]TJ -0.084 -7.192 Td [(C)]TJ/F15 10.9091 Tf 10.733 3.233 Td [(to)-333(build)]TJ/F22 10.9091 Tf 41.212 0 Td [(A)]TJ/F23 7.9701 Tf 8.182 -1.689 Td [(C)]TJ/F15 10.9091 Tf 7.097 1.689 Td [(.)]TJ -194.86 -20.041 Td [(T)83(o)-426(p)-28(erform)-426(the)-426(coarsening)-427(step,)-449(w)28(e)-427(ha)28(v)28(e)-426(implemen)27(ted)-426(the)-426(aggregation)-426(algorithm)]TJ -16.936 -13.549 Td [(sk)28(etc)27(h)1(e)-1(d)-388(in)-388([)]TJ 1 0 0 rg 1 0 0 RG [(4)]TJ 0 g 0 G @@ -1811,14 +1868,14 @@ BT 1 0 0 rg 1 0 0 RG [(26)]TJ 0 g 0 G - [(],)-403(a)-388(mo)-28(di\014cation)-388(of)-389(this)-388(algorithm)-389(h)1(as)-389(b)-28(een)-388(actually)]TJ 0 -13.55 Td [(considered,)-257(in)-237(whic)28(h)-238(eac)28(h)-237(aggregate)]TJ/F22 10.9091 Tf 169.041 0 Td [(N)]TJ/F23 7.9701 Tf 8.765 -1.636 Td [(r)]TJ/F15 10.9091 Tf 7.145 1.636 Td [(is)-237(m)-1(ad)1(e)-238(of)-237(v)27(ertices)-237(of)]TJ/F22 10.9091 Tf 99.164 0 Td [(W)]TJ/F15 10.9091 Tf 14.409 0 Td [(that)-237(are)]TJ/F18 10.9091 Tf 39.757 0 Td [(str)51(ongly)-269(c)51(ouple)51(d)]TJ/F15 10.9091 Tf -338.281 -13.549 Td [(to)-333(a)-334(certain)-333(ro)-28(ot)-333(v)28(ertex)]TJ/F22 10.9091 Tf 115.243 0 Td [(r)]TJ/F25 10.9091 Tf 8.255 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-333(i.e.)]TJ/F22 10.9091 Tf -39.684 -23.653 Td [(N)]TJ/F23 7.9701 Tf 8.765 -1.636 Td [(r)]TJ/F15 10.9091 Tf 7.585 1.636 Td [(=)]TJ/F28 10.9091 Tf 11.515 12.11 Td [(n)]TJ/F22 10.9091 Tf 7.273 -12.11 Td [(s)]TJ/F25 10.9091 Tf 8.144 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(W)]TJ/F15 10.9091 Tf 14.848 0 Td [(:)]TJ/F25 10.9091 Tf 6.061 0 Td [(j)]TJ/F22 10.9091 Tf 3.03 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(r)-29(s)]TJ/F25 10.9091 Tf 8.47 1.636 Td [(j)]TJ/F22 10.9091 Tf 6.061 0 Td [(>)-278(\022)]TJ/F28 10.9091 Tf 16.939 9.86 Td [(p)]TJ + [(],)-402(a)-389(mo)-28(di\014cation)-388(of)-389(this)-388(algorithm)-388(has)-389(b)-28(een)-388(actually)]TJ 0 -13.55 Td [(considered,)-257(in)-237(whic)28(h)-238(eac)28(h)-237(aggregate)]TJ/F22 10.9091 Tf 169.04 0 Td [(N)]TJ/F23 7.9701 Tf 8.765 -1.636 Td [(r)]TJ/F15 10.9091 Tf 7.145 1.636 Td [(is)-238(made)-237(of)-237(v)27(ertices)-237(of)]TJ/F22 10.9091 Tf 99.165 0 Td [(W)]TJ/F15 10.9091 Tf 14.409 0 Td [(that)-237(are)]TJ/F18 10.9091 Tf 39.756 0 Td [(str)51(ongly)-269(c)51(ouple)51(d)]TJ/F15 10.9091 Tf -338.28 -13.549 Td [(to)-333(a)-334(certain)-333(ro)-28(ot)-333(v)28(ertex)]TJ/F22 10.9091 Tf 115.242 0 Td [(r)]TJ/F25 10.9091 Tf 8.255 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(W)]TJ/F15 10.9091 Tf 11.818 0 Td [(,)-333(i.e.)]TJ/F22 10.9091 Tf -39.683 -23.653 Td [(N)]TJ/F23 7.9701 Tf 8.765 -1.636 Td [(r)]TJ/F15 10.9091 Tf 7.585 1.636 Td [(=)]TJ/F28 10.9091 Tf 11.515 12.11 Td [(n)]TJ/F22 10.9091 Tf 7.273 -12.11 Td [(s)]TJ/F25 10.9091 Tf 8.144 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(W)]TJ/F15 10.9091 Tf 14.848 0 Td [(:)]TJ/F25 10.9091 Tf 6.061 0 Td [(j)]TJ/F22 10.9091 Tf 3.03 0 Td [(a)]TJ/F23 7.9701 Tf 5.766 -1.636 Td [(r)-30(s)]TJ/F25 10.9091 Tf 8.471 1.636 Td [(j)]TJ/F22 10.9091 Tf 6.061 0 Td [(>)-278(\022)]TJ/F28 10.9091 Tf 16.939 9.86 Td [(p)]TJ ET q -1 0 0 1 325.205 264.251 cm +1 0 0 1 318.005 264.251 cm []0 d 0 J 0.436 w 0 0 m 34.535 0 l S Q BT -/F25 10.9091 Tf 325.205 254.173 Td [(j)]TJ/F22 10.9091 Tf 3.031 0 Td [(a)]TJ/F23 7.9701 Tf 5.766 -1.636 Td [(r)-29(r)]TJ/F22 10.9091 Tf 8.611 1.636 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(ss)]TJ/F25 10.9091 Tf 8.33 1.636 Td [(j)]TJ/F28 10.9091 Tf 3.03 12.109 Td [(o)]TJ/F25 10.9091 Tf 9.697 -12.109 Td [([)-222(f)]TJ/F22 10.9091 Tf 15.152 0 Td [(r)]TJ/F25 10.9091 Tf 5.224 0 Td [(g)]TJ/F22 10.9091 Tf 7.273 0 Td [(;)]TJ/F15 10.9091 Tf -303.486 -24.259 Td [(for)-341(a)-341(giv)28(en)]TJ/F22 10.9091 Tf 54.517 0 Td [(\022)]TJ/F25 10.9091 Tf 8.59 0 Td [(2)]TJ/F15 10.9091 Tf 10.439 0 Td [([0)]TJ/F22 10.9091 Tf 8.485 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(1].)-467(Since)-341(th)1(is)-341(algorithm)-341(has)-341(a)-341(sequen)28(tial)-341(natu)1(re,)-343(a)]TJ/F18 10.9091 Tf 242.976 0 Td [(de)51(c)51(ouple)51(d)]TJ/F15 10.9091 Tf 49.172 0 Td [(v)28(ersion)]TJ -379.027 -13.549 Td [(of)-399(it)-399(has)-399(b)-27(ee)-1(n)-398(c)27(hosen,)-415(where)-399(eac)28(h)-399(pro)-28(cessor)]TJ/F22 10.9091 Tf 216.236 0 Td [(i)]TJ/F15 10.9091 Tf 8.111 0 Td [(indep)-28(enden)28(tly)-399(applies)-399(the)-398(algorithm)-399(to)]TJ -224.347 -13.549 Td [(the)-421(set)-421(of)-421(v)28(ertices)]TJ/F22 10.9091 Tf 91.547 0 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 10.839 3.055 Td [(assigned)-421(to)-421(it)-421(in)-420(the)-421(initial)-421(data)-421(distribution.)-707(This)-420(v)27(ersion)-421(i)1(s)]TJ -112.689 -13.549 Td [(em)28(barrassingly)-250(parallel,)-267(since)-250(it)-251(do)-27(es)-251(not)-250(require)-250(an)28(y)-250(data)-251(comm)28(unication.)-416(On)-251(the)-250(other)]TJ 0 -13.549 Td [(hand,)-312(it)-306(ma)28(y)-306(pro)-28(duce)-306(non-uniform)-307(aggr)1(e)-1(gates)-306(near)-306(b)-28(oundary)-306(v)28(ertices,)-312(i.e.)-306(near)-307(v)28(ertices)]TJ 0 -13.55 Td [(adjacen)28(t)-403(to)-403(v)27(ertices)-403(in)-403(other)-403(pro)-28(cessors,)-420(and)-403(is)-404(strongly)-403(dep)-27(enden)27(t)-403(on)-403(the)-403(n)28(um)28(b)-28(er)-403(of)]TJ 0 -13.549 Td [(pro)-28(cessors)-314(and)-314(on)-314(the)-314(initial)-314(partitioning)-314(of)-314(the)-314(matrix)]TJ/F22 10.9091 Tf 263.566 0 Td [(A)]TJ/F15 10.9091 Tf 8.181 0 Td [(.)-438(Nev)28(ertheless,)-318(this)-314(algorithm)]TJ -271.747 -13.549 Td [(has)-260(b)-27(een)-260(c)28(hosen)-260(for)-260(th)1(e)-260(implemen)28(tation)-260(in)-260(MLD)1(2P4,)-275(since)-260(i)1(t)-260(has)-260(b)-27(e)-1(en)-259(sho)28(wn)-260(to)-260(pro)-27(duce)]TJ 0 -13.549 Td [(go)-28(o)-28(d)-333(results)-333(in)-333(practice)-334([)]TJ +/F25 10.9091 Tf 318.005 254.173 Td [(j)]TJ/F22 10.9091 Tf 3.03 0 Td [(a)]TJ/F23 7.9701 Tf 5.767 -1.636 Td [(r)-29(r)]TJ/F22 10.9091 Tf 8.611 1.636 Td [(a)]TJ/F23 7.9701 Tf 5.766 -1.636 Td [(ss)]TJ/F25 10.9091 Tf 8.33 1.636 Td [(j)]TJ/F28 10.9091 Tf 3.031 12.109 Td [(o)]TJ/F25 10.9091 Tf 9.697 -12.109 Td [([)-222(f)]TJ/F22 10.9091 Tf 15.151 0 Td [(r)]TJ/F25 10.9091 Tf 5.225 0 Td [(g)]TJ/F22 10.9091 Tf 7.273 0 Td [(;)]TJ/F15 10.9091 Tf -303.486 -24.259 Td [(for)-341(a)-340(giv)27(en)]TJ/F22 10.9091 Tf 54.517 0 Td [(\022)]TJ/F25 10.9091 Tf 8.59 0 Td [(2)]TJ/F15 10.9091 Tf 10.438 0 Td [([0)]TJ/F22 10.9091 Tf 8.485 0 Td [(;)]TJ/F15 10.9091 Tf 4.849 0 Td [(1].)-467(Since)-341(th)1(is)-341(algorithm)-341(has)-341(a)-341(sequen)28(tial)-341(n)1(ature,)-343(a)]TJ/F18 10.9091 Tf 242.976 0 Td [(de)51(c)51(ouple)51(d)]TJ/F15 10.9091 Tf 49.172 0 Td [(v)28(ersion)]TJ -379.027 -13.549 Td [(of)-399(it)-399(has)-399(b)-27(een)-399(c)27(hosen,)-415(where)-399(eac)28(h)-399(pro)-28(cessor)]TJ/F22 10.9091 Tf 216.236 0 Td [(i)]TJ/F15 10.9091 Tf 8.11 0 Td [(indep)-28(enden)28(tly)-399(applies)-399(the)-399(algor)1(ithm)-399(to)]TJ -224.346 -13.549 Td [(the)-421(set)-421(of)-421(v)28(ertices)]TJ/F22 10.9091 Tf 91.547 0 Td [(W)]TJ/F20 7.9701 Tf 11.818 3.959 Td [(0)]TJ/F23 7.9701 Tf -1.515 -7.014 Td [(i)]TJ/F15 10.9091 Tf 10.839 3.055 Td [(assigned)-421(to)-421(it)-421(in)-420(the)-421(initial)-421(data)-421(distribution.)-707(This)-420(v)27(ersion)-420(is)]TJ -112.689 -13.549 Td [(em)28(barrassingly)-250(parallel,)-267(since)-250(it)-251(do)-27(es)-251(not)-250(require)-250(an)28(y)-250(data)-250(c)-1(omm)28(unication.)-416(On)-251(th)1(e)-251(other)]TJ 0 -13.549 Td [(hand,)-312(it)-306(ma)28(y)-306(pro)-28(duce)-306(non-uniform)-306(aggregate)-1(s)-306(near)-306(b)-28(oundary)-306(v)28(ertices,)-312(i.e.)-306(near)-307(v)28(ertices)]TJ 0 -13.55 Td [(adjacen)28(t)-403(to)-403(v)27(ertices)-403(in)-403(other)-403(pro)-28(cessors,)-420(and)-403(is)-404(strongl)1(y)-404(dep)-27(enden)27(t)-403(on)-403(the)-403(n)28(um)28(b)-28(er)-403(of)]TJ 0 -13.549 Td [(pro)-28(cessors)-314(and)-314(on)-314(the)-314(initial)-314(partitioning)-314(of)-314(the)-314(matrix)]TJ/F22 10.9091 Tf 263.565 0 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)-438(Nev)28(ertheless,)-318(this)-314(algorithm)]TJ -271.747 -13.549 Td [(has)-260(b)-27(een)-260(c)28(hosen)-260(for)-260(t)1(he)-260(implemen)28(tation)-260(in)-260(M)1(LD2P4,)-275(since)-259(it)-260(has)-260(b)-27(e)-1(en)-259(sho)28(wn)-260(to)-260(pro)-27(duce)]TJ 0 -13.549 Td [(go)-28(o)-28(d)-333(results)-333(in)-333(practice)-334([)]TJ 1 0 0 rg 1 0 0 RG [(3)]TJ 0 g 0 G @@ -1836,104 +1893,100 @@ BT ET endstream endobj -311 0 obj << +318 0 obj << /Type /Page -/Contents 312 0 R -/Resources 310 0 R +/Contents 319 0 R +/Resources 317 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R -/Annots [ 309 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R ] ->> endobj -309 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.4) >> +/Parent 310 0 R +/Annots [ 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R ] >> endobj -304 0 obj << +312 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [153.565 303.928 161.012 312.951] +/Rect [146.365 303.928 153.812 312.951] /Subtype /Link /A << /S /GoTo /D (cite.apnum_07) >> >> endobj -305 0 obj << +313 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [241.15 303.928 254.052 312.951] +/Rect [233.95 303.928 246.851 312.951] /Subtype /Link /A << /S /GoTo /D (cite.VANEK_MANDEL_BREZINA) >> >> endobj -306 0 obj << +314 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [210.968 120.525 218.415 129.547] +/Rect [203.767 120.525 211.214 129.547] /Subtype /Link /A << /S /GoTo /D (cite.aaecc_07) >> >> endobj -307 0 obj << +315 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [223.089 120.525 230.536 129.547] +/Rect [215.888 120.525 223.336 129.547] /Subtype /Link /A << /S /GoTo /D (cite.apnum_07) >> >> endobj -308 0 obj << +316 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [235.21 120.525 248.112 129.547] +/Rect [228.01 120.525 240.911 129.547] /Subtype /Link /A << /S /GoTo /D (cite.TUMINARO_TONG) >> >> endobj -313 0 obj << -/D [311 0 R /XYZ 93.6 740.002 null] +320 0 obj << +/D [318 0 R /XYZ 86.4 740.002 null] >> endobj -303 0 obj << -/D [311 0 R /XYZ 161.932 438.097 null] +311 0 obj << +/D [318 0 R /XYZ 154.731 438.097 null] >> endobj -317 0 obj << -/D [311 0 R /XYZ 93.6 392.526 null] +324 0 obj << +/D [318 0 R /XYZ 86.4 392.526 null] >> endobj -318 0 obj << -/D [311 0 R /XYZ 93.6 375.457 null] +325 0 obj << +/D [318 0 R /XYZ 86.4 375.457 null] >> endobj -319 0 obj << -/D [311 0 R /XYZ 93.6 352.82 null] +326 0 obj << +/D [318 0 R /XYZ 86.4 352.82 null] >> endobj -310 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F22 176 0 R /F7 314 0 R /F43 158 0 R /F10 315 0 R /F13 316 0 R /F25 177 0 R /F23 270 0 R /F18 174 0 R /F28 274 0 R /F20 272 0 R >> +317 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F22 176 0 R /F7 321 0 R /F43 158 0 R /F10 322 0 R /F13 323 0 R /F25 177 0 R /F23 277 0 R /F18 174 0 R /F28 281 0 R /F20 279 0 R >> /ProcSet [ /PDF /Text ] >> endobj -326 0 obj << -/Length 3876 +333 0 obj << +/Length 3919 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(14)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(4)]TJ +0 g 0 G + [-378(Mul)67(ti-level)-378(Domain)-378(Decompo)1(siti)-1(o)1(n)-378(Ba)22(ck)22(gr)22(ound)]TJ/F15 10.9091 Tf 401.542 0 Td [(15)]TJ 0 g 0 G -/F15 10.9091 Tf -186.329 -35.866 Td [(The)-277(prolongator)]TJ/F22 10.9091 Tf 80.039 0 Td [(P)]TJ/F23 7.9701 Tf 7.003 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.688 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(T)]TJ -0.084 -7.191 Td [(C)]TJ/F15 10.9091 Tf 10.116 3.232 Td [(is)-277(built)-276(starting)-277(from)-277(a)]TJ/F18 10.9091 Tf 109.52 0 Td [(tentative)-306(pr)51(olongator)]TJ/F22 10.9091 Tf 102.594 0 Td [(P)]TJ/F25 10.9091 Tf 11.55 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.181 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.138 0 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F24 5.9776 Tf 5.138 -1.339 Td [(C)]TJ/F15 10.9091 Tf 6.693 -2.62 Td [(,)]TJ -409.421 -13.549 Td [(de\014ned)-333(as)]TJ/F22 10.9091 Tf 114.818 -17.818 Td [(P)]TJ/F15 10.9091 Tf 11.549 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.758 0 Td [(p)]TJ/F23 7.9701 Tf 5.489 -1.637 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.637 Td [(\051)]TJ/F22 10.9091 Tf 4.242 0 Td [(;)-1167(p)]TJ/F23 7.9701 Tf 21.247 -1.637 Td [(ij)]TJ/F15 10.9091 Tf 10.295 1.637 Td [(=)]TJ/F28 10.9091 Tf 11.515 15.381 Td [(\032)]TJ/F15 10.9091 Tf 13.163 -9.135 Td [(1)-1913(if)]TJ/F22 10.9091 Tf 35.721 0 Td [(i)]TJ/F25 10.9091 Tf 6.788 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(V)]TJ/F23 7.9701 Tf 8.788 5.307 Td [(j)]TJ -2.424 -8.741 Td [(C)]TJ/F15 10.9091 Tf -59.176 -10.116 Td [(0)-1913(otherwise)]TJ/F22 10.9091 Tf 79.261 7.304 Td [(:)]TJ + -384.605 -35.866 Td [(The)-277(prolongator)]TJ/F22 10.9091 Tf 80.038 0 Td [(P)]TJ/F23 7.9701 Tf 7.004 -1.688 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.688 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(R)]TJ/F23 7.9701 Tf 8.367 3.959 Td [(T)]TJ -0.084 -7.191 Td [(C)]TJ/F15 10.9091 Tf 10.116 3.232 Td [(is)-277(built)-276(starting)-277(from)-277(a)]TJ/F18 10.9091 Tf 109.52 0 Td [(tentative)-306(pr)51(olongator)]TJ/F22 10.9091 Tf 102.595 0 Td [(P)]TJ/F25 10.9091 Tf 11.549 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.959 Td [(n)]TJ/F26 7.9701 Tf 5.138 0 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F24 5.9776 Tf 5.139 -1.339 Td [(C)]TJ/F15 10.9091 Tf 6.692 -2.62 Td [(,)]TJ -409.421 -13.549 Td [(de\014ned)-333(as)]TJ/F22 10.9091 Tf 114.819 -17.818 Td [(P)]TJ/F15 10.9091 Tf 11.549 0 Td [(=)-278(\050)]TJ/F22 10.9091 Tf 15.757 0 Td [(p)]TJ/F23 7.9701 Tf 5.489 -1.637 Td [(ij)]TJ/F15 10.9091 Tf 7.265 1.637 Td [(\051)]TJ/F22 10.9091 Tf 4.243 0 Td [(;)-1167(p)]TJ/F23 7.9701 Tf 21.246 -1.637 Td [(ij)]TJ/F15 10.9091 Tf 10.296 1.637 Td [(=)]TJ/F28 10.9091 Tf 11.515 15.381 Td [(\032)]TJ/F15 10.9091 Tf 13.163 -9.135 Td [(1)-1913(if)]TJ/F22 10.9091 Tf 35.72 0 Td [(i)]TJ/F25 10.9091 Tf 6.789 0 Td [(2)]TJ/F22 10.9091 Tf 10.303 0 Td [(V)]TJ/F23 7.9701 Tf 8.787 5.307 Td [(j)]TJ -2.424 -8.741 Td [(C)]TJ/F15 10.9091 Tf -59.175 -10.116 Td [(0)-1913(otherwise)]TJ/F22 10.9091 Tf 79.261 7.304 Td [(:)]TJ 0 g 0 G /F15 10.9091 Tf 103.909 0 Td [(\0502\051)]TJ 0 g 0 G -/F22 10.9091 Tf -398.511 -27.614 Td [(P)]TJ/F23 7.9701 Tf 7.003 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.734 1.689 Td [(is)-333(obtained)-334(b)28(y)-333(applying)-333(to)]TJ/F22 10.9091 Tf 128.848 0 Td [(P)]TJ/F15 10.9091 Tf 12.156 0 Td [(a)-333(smo)-28(other)]TJ/F22 10.9091 Tf 56.757 0 Td [(S)]TJ/F25 10.9091 Tf 10.349 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.181 3.958 Td [(n)]TJ/F26 7.9701 Tf 5.139 0 Td [(\002)]TJ/F23 7.9701 Tf 6.586 0 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.958 Td [(:)]TJ/F22 10.9091 Tf -79.223 -24.508 Td [(P)]TJ/F23 7.9701 Tf 7.003 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.689 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(S)-58(P)-27(;)]TJ +/F22 10.9091 Tf -398.512 -27.614 Td [(P)]TJ/F23 7.9701 Tf 7.004 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.733 1.689 Td [(is)-333(obtained)-334(b)28(y)-333(applying)-333(to)]TJ/F22 10.9091 Tf 128.849 0 Td [(P)]TJ/F15 10.9091 Tf 12.155 0 Td [(a)-333(smo)-28(other)]TJ/F22 10.9091 Tf 56.758 0 Td [(S)]TJ/F25 10.9091 Tf 10.348 0 Td [(2)-278(<)]TJ/F23 7.9701 Tf 18.182 3.958 Td [(n)]TJ/F26 7.9701 Tf 5.138 0 Td [(\002)]TJ/F23 7.9701 Tf 6.587 0 Td [(n)]TJ/F15 10.9091 Tf 5.636 -3.958 Td [(:)]TJ/F22 10.9091 Tf -79.224 -24.508 Td [(P)]TJ/F23 7.9701 Tf 7.004 -1.689 Td [(C)]TJ/F15 10.9091 Tf 10.127 1.689 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(S)-58(P)-27(;)]TJ 0 g 0 G -/F15 10.9091 Tf 187.699 0 Td [(\0503\051)]TJ +/F15 10.9091 Tf 187.7 0 Td [(\0503\051)]TJ 0 g 0 G - -398.511 -24.509 Td [(in)-303(order)-303(to)-303(remo)27(v)28(e)-303(oscillatory)-303(comp)-28(onen)28(ts)-303(from)-304(th)1(e)-304(range)-303(of)-303(the)-303(prolongator)-303(and)-303(hence)]TJ 0 -13.549 Td [(to)-433(impro)28(v)27(e)-433(the)-433(con)27(v)28(ergence)-433(prop)-28(erties)-433(of)-433(the)-434(m)28(ulti-lev)28(el)-433(Sc)27(h)28(w)28(arz)-433(me)-1(th)1(o)-28(d)-434([)]TJ + -398.512 -24.509 Td [(in)-303(order)-303(to)-303(remo)27(v)28(e)-303(oscillatory)-303(comp)-28(onen)28(ts)-303(from)-304(the)-303(range)-303(of)-303(the)-303(prolongator)-303(and)-303(hence)]TJ 0 -13.549 Td [(to)-433(impro)28(v)27(e)-433(the)-433(con)27(v)28(ergence)-433(prop)-28(erties)-433(of)-433(the)-434(m)28(ulti-lev)28(el)-434(S)1(c)27(h)28(w)28(arz)-433(m)-1(etho)-27(d)-434([)]TJ 1 0 0 rg 1 0 0 RG - [1(1)]TJ + [(1)]TJ 0 g 0 G [(,)]TJ 1 0 0 rg 1 0 0 RG - [-434(24)]TJ + [-433(24)]TJ 0 g 0 G - [(].)-744(A)]TJ 0 -13.549 Td [(simple)-333(c)27(hoice)-333(for)]TJ/F22 10.9091 Tf 83.121 0 Td [(S)]TJ/F15 10.9091 Tf 10.954 0 Td [(is)-333(the)-334(damp)-27(ed)-334(Jacobi)-333(smo)-28(other:)]TJ/F22 10.9091 Tf 71.293 -24.508 Td [(S)]TJ/F15 10.9091 Tf 10.349 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(I)]TJ/F25 10.9091 Tf 8.075 0 Td [(\000)]TJ/F22 10.9091 Tf 10.91 0 Td [(!)-36(D)]TJ/F26 7.9701 Tf 16.516 4.504 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -4.504 Td [(A;)]TJ + [(].)-744(A)]TJ 0 -13.549 Td [(simple)-333(c)27(hoice)-333(for)]TJ/F22 10.9091 Tf 83.122 0 Td [(S)]TJ/F15 10.9091 Tf 10.954 0 Td [(is)-333(the)-334(damp)-27(ed)-334(Jacobi)-333(smo)-28(other:)]TJ/F22 10.9091 Tf 71.293 -24.508 Td [(S)]TJ/F15 10.9091 Tf 10.348 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(I)]TJ/F25 10.9091 Tf 8.076 0 Td [(\000)]TJ/F22 10.9091 Tf 10.909 0 Td [(!)-36(D)]TJ/F26 7.9701 Tf 16.517 4.504 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -4.504 Td [(A;)]TJ 0 g 0 G /F15 10.9091 Tf 164.459 0 Td [(\0504\051)]TJ 0 g 0 G - -398.511 -24.508 Td [(where)-305(the)-305(v)55(alue)-305(of)]TJ/F22 10.9091 Tf 89.707 0 Td [(!)]TJ/F15 10.9091 Tf 10.51 0 Td [(can)-305(b)-28(e)-305(c)28(hosen)-305(using)-305(some)-306(estimate)-305(of)-305(the)-305(sp)-28(ectral)-305(radius)-305(of)]TJ/F22 10.9091 Tf 283.398 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf -404.269 -13.549 Td [([)]TJ + -398.512 -24.508 Td [(where)-305(the)-305(v)55(alue)-305(of)]TJ/F22 10.9091 Tf 89.707 0 Td [(!)]TJ/F15 10.9091 Tf 10.51 0 Td [(can)-305(b)-28(e)-305(c)28(hosen)-305(using)-305(some)-306(estimate)-305(of)-305(the)-305(sp)-28(ectral)-305(radius)-305(of)]TJ/F22 10.9091 Tf 283.399 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf -404.269 -13.549 Td [([)]TJ 1 0 0 rg 1 0 0 RG [(1)]TJ 0 g 0 G @@ -1943,87 +1996,91 @@ BT ET endstream endobj -325 0 obj << +332 0 obj << /Type /Page -/Contents 326 0 R -/Resources 324 0 R +/Contents 333 0 R +/Resources 331 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R -/Annots [ 321 0 R 322 0 R 323 0 R ] +/Parent 310 0 R +/Annots [ 330 0 R 327 0 R 328 0 R 329 0 R ] >> endobj -321 0 obj << +330 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.4) >> +>> endobj +327 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [451.371 581.593 458.818 590.616] +/Rect [458.571 581.593 466.018 590.616] /Subtype /Link /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> endobj -322 0 obj << +328 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [464.583 581.593 477.484 590.616] +/Rect [471.783 581.593 484.685 590.616] /Subtype /Link /A << /S /GoTo /D (cite.StubenGMD69_99) >> >> endobj -323 0 obj << +329 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [88.434 505.478 95.881 514.501] +/Rect [95.634 505.478 103.081 514.501] /Subtype /Link /A << /S /GoTo /D (cite.BREZINA_VANEK) >> >> endobj -327 0 obj << -/D [325 0 R /XYZ 86.4 740.002 null] +334 0 obj << +/D [332 0 R /XYZ 93.6 740.002 null] >> endobj -328 0 obj << -/D [325 0 R /XYZ 201.218 686.318 null] +335 0 obj << +/D [332 0 R /XYZ 208.419 686.318 null] >> endobj -329 0 obj << -/D [325 0 R /XYZ 268.566 634.196 null] +336 0 obj << +/D [332 0 R /XYZ 275.766 634.196 null] >> endobj -330 0 obj << -/D [325 0 R /XYZ 251.768 558.081 null] +337 0 obj << +/D [332 0 R /XYZ 258.969 558.081 null] >> endobj -324 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F22 176 0 R /F23 270 0 R /F18 174 0 R /F25 177 0 R /F26 271 0 R /F24 273 0 R /F28 274 0 R /F20 272 0 R >> +331 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F22 176 0 R /F23 277 0 R /F18 174 0 R /F25 177 0 R /F26 278 0 R /F24 280 0 R /F28 281 0 R /F20 279 0 R >> /ProcSet [ /PDF /Text ] >> endobj -346 0 obj << -/Length 8885 +352 0 obj << +/Length 8842 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(5)]TJ -0 g 0 G - [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(15)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(16)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 14.3462 Tf -401.542 -35.866 Td [(5)-1125(Getting)-375(Started)]TJ/F15 10.9091 Tf 0 -24.352 Td [(W)83(e)-441(describ)-28(e)-441(the)-442(basics)-441(for)-441(building)-442(and)-441(applying)-441(MLD2P4)-441(one-lev)27(el)-441(and)-441(m)27(ult)1(i-)-1(l)1(e)-1(v)28(el)]TJ 0 -13.549 Td [(Sc)28(h)28(w)27(arz)-313(preconditioners)-313(with)-313(the)-313(Krylo)28(v)-313(solv)27(ers)-313(included)-313(in)-313(PSBLAS)-313([)]TJ +/F17 14.3462 Tf -203.265 -35.866 Td [(5)-1125(Getting)-375(Started)]TJ/F15 10.9091 Tf 0 -24.352 Td [(W)83(e)-441(describ)-28(e)-441(the)-442(basics)-441(for)-441(building)-442(an)1(d)-442(applying)-441(MLD2P4)-441(one-lev)27(el)-441(and)-441(m)27(u)1(lti-lev)27(el)]TJ 0 -13.549 Td [(Sc)28(h)28(w)27(arz)-313(preconditioners)-313(with)-313(the)-313(Krylo)28(v)-313(solv)28(e)-1(rs)-313(included)-313(in)-313(PSBLAS)-313([)]TJ 1 0 0 rg 1 0 0 RG [(15)]TJ 0 g 0 G - [(].)-438(Th)1(e)-314(follo)28(w-)]TJ 0 -13.549 Td [(ing)-333(steps)-334(are)-333(required:)]TJ + [(].)-437(The)-314(follo)28(w-)]TJ 0 -13.549 Td [(ing)-333(steps)-334(are)-333(required:)]TJ 0 g 0 G - 13.334 -21.06 Td [(1.)]TJ + 13.333 -21.06 Td [(1.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(De)51(clar)51(e)-370(the)-371(pr)51(e)51(c)51(onditioner)-370(data)-371(structur)51(e)]TJ/F15 10.9091 Tf 195.447 0 Td [(.)-487(It)-347(is)-347(a)-348(deriv)28(ed)-347(data)-348(t)28(yp)-28(e,)]TJ/F44 10.9091 Tf 131.812 0 Td [(mld_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_)]TJ -356.542 -13.55 Td [(type)]TJ/F15 10.9091 Tf 22.909 0 Td [(,)-321(w)-1(h)1(e)-1(r)1(e)]TJ/F18 10.9091 Tf 37.922 0 Td [(x)]TJ/F15 10.9091 Tf 9.849 0 Td [(ma)28(y)-319(b)-28(e)]TJ/F44 10.9091 Tf 38.163 0 Td [(s)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.538 0 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.538 0 Td [(c)]TJ/F15 10.9091 Tf 9.202 0 Td [(or)]TJ/F44 10.9091 Tf 13.203 0 Td [(z)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-322(accordi)1(ng)-319(to)-319(the)-318(basic)-319(data)-318(t)28(yp)-28(e)-319(of)-318(the)-319(sparse)]TJ -161.505 -13.549 Td [(matrix)-372(\050)]TJ/F44 10.9091 Tf 40.153 0 Td [(s)]TJ/F15 10.9091 Tf 9.79 0 Td [(=)-372(real)-373(single)-372(precision;)]TJ/F44 10.9091 Tf 114.22 0 Td [(d)]TJ/F15 10.9091 Tf 9.79 0 Td [(=)-372(real)-373(double)-372(precision;)]TJ/F44 10.9091 Tf 119.008 0 Td [(c)]TJ/F15 10.9091 Tf 9.789 0 Td [(=)-372(complex)-373(single)]TJ -302.75 -13.549 Td [(precision;)]TJ/F44 10.9091 Tf 48.807 0 Td [(z)]TJ/F15 10.9091 Tf 9.518 0 Td [(=)-347(c)-1(omplex)-347(double)-347(precision\051.)-487(This)-348(data)-347(structure)-348(is)-347(accessed)-348(b)28(y)-347(the)]TJ -58.325 -13.549 Td [(user)-333(only)-334(throu)1(gh)-334(the)-333(MLD2P4)-333(routines,)-334(foll)1(o)27(wing)-333(an)-333(ob)-56(ject-orien)28(ted)-333(approac)27(h)1(.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(De)51(clar)51(e)-370(the)-371(pr)51(e)51(c)51(onditioner)-370(data)-371(structur)51(e)]TJ/F15 10.9091 Tf 195.447 0 Td [(.)-487(It)-347(is)-347(a)-348(deriv)28(ed)-347(data)-348(t)28(yp)-28(e,)]TJ/F44 10.9091 Tf 131.812 0 Td [(mld_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_)]TJ -356.542 -13.55 Td [(type)]TJ/F15 10.9091 Tf 22.908 0 Td [(,)-322(where)]TJ/F18 10.9091 Tf 37.923 0 Td [(x)]TJ/F15 10.9091 Tf 9.849 0 Td [(ma)28(y)-319(b)-28(e)]TJ/F44 10.9091 Tf 38.163 0 Td [(s)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.538 0 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.538 0 Td [(c)]TJ/F15 10.9091 Tf 9.202 0 Td [(or)]TJ/F44 10.9091 Tf 13.203 0 Td [(z)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-321(ac)-1(cord)1(ing)-319(to)-319(th)1(e)-319(basic)-319(data)-318(t)28(yp)-28(e)-319(of)-318(the)-319(sparse)]TJ -161.505 -13.549 Td [(matrix)-372(\050)]TJ/F44 10.9091 Tf 40.153 0 Td [(s)]TJ/F15 10.9091 Tf 9.79 0 Td [(=)-372(real)-373(single)-372(precision;)]TJ/F44 10.9091 Tf 114.22 0 Td [(d)]TJ/F15 10.9091 Tf 9.789 0 Td [(=)-372(real)-373(double)-372(precision;)]TJ/F44 10.9091 Tf 119.008 0 Td [(c)]TJ/F15 10.9091 Tf 9.79 0 Td [(=)-372(complex)-373(single)]TJ -302.75 -13.549 Td [(precision;)]TJ/F44 10.9091 Tf 48.807 0 Td [(z)]TJ/F15 10.9091 Tf 9.518 0 Td [(=)-347(c)-1(omp)1(le)-1(x)-347(double)-347(precision\051.)-487(This)-348(data)-347(structure)-348(is)-347(accessed)-348(b)28(y)-347(the)]TJ -58.325 -13.549 Td [(user)-333(only)-334(thr)1(ough)-334(the)-333(MLD2P4)-333(routines,)-334(fol)1(lo)27(wing)-333(an)-333(ob)-56(ject-orien)28(ted)-333(approac)28(h.)]TJ 0 g 0 G - -13.939 -21.934 Td [(2.)]TJ + -13.94 -21.934 Td [(2.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(A)26(l)-52(l)1(o)51(c)51(ate)-364(and)-365(ini)1(t)-1(i)1(alize)-364(t)-1(he)-364(pr)52(e)51(c)51(onditioner)-364(data)-364(structur)51(e,)-366(ac)51(c)51(or)51(ding)-364(to)-364(a)-364(pr)51(e)51(c)51(ondi-)]TJ 0 -13.549 Td [(tioner)-376(typ)51(e)-376(chosen)-375(by)-376(the)-376(user)]TJ/F15 10.9091 Tf 144.005 0 Td [(.)-503(This)-353(is)-353(p)-28(erformed)-353(b)28(y)-353(the)-353(routine)]TJ/F44 10.9091 Tf 169.416 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.727 0 Td [(,)]TJ -382.148 -13.549 Td [(whic)28(h)-406(also)-406(sets)-406(d)1(e)-1(f)1(aults)-406(for)-406(eac)28(h)-406(preconditioner)-405(t)27(yp)-27(e)-406(selected)-406(b)28(y)-406(the)-406(user.)-661(The)]TJ 0 -13.549 Td [(defaults)-404(asso)-28(ciated)-403(to)-404(eac)27(h)-403(preconditioner)-404(t)28(yp)-28(e)-404(are)-404(giv)28(en)-404(in)-403(T)83(able)]TJ +/F18 10.9091 Tf 13.94 0 Td [(A)26(l)-52(l)1(o)51(c)51(ate)-364(and)-365(i)1(nitialize)-364(the)-365(pr)52(e)51(c)51(onditioner)-364(data)-364(structur)51(e,)-366(ac)51(c)51(or)51(di)1(n)-1(g)-364(to)-364(a)-364(pr)51(e)51(c)51(ondi-)]TJ 0 -13.549 Td [(tioner)-376(typ)51(e)-376(chosen)-375(by)-376(the)-376(user)]TJ/F15 10.9091 Tf 144.004 0 Td [(.)-503(This)-353(is)-354(p)-27(erformed)-353(b)28(y)-353(the)-353(routine)]TJ/F44 10.9091 Tf 169.417 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.727 0 Td [(,)]TJ -382.148 -13.549 Td [(whic)28(h)-406(also)-406(sets)-405(defaults)-406(for)-406(eac)28(h)-406(preconditioner)-405(t)27(yp)-27(e)-406(selected)-406(b)28(y)-406(the)-406(user.)-661(The)]TJ 0 -13.549 Td [(defaults)-404(asso)-28(ciated)-403(to)-404(eac)27(h)-403(preconditioner)-404(t)28(yp)-28(e)-404(are)-404(giv)28(en)-404(in)-403(T)83(able)]TJ 0 0 1 rg 0 0 1 RG [-404(1)]TJ 0 g 0 G - [(,)-421(where)-404(the)]TJ 0 -13.549 Td [(strings)-305(used)-306(b)28(y)]TJ/F44 10.9091 Tf 74.446 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 72.056 0 Td [(to)-305(iden)28(tify)-306(the)-305(preconditioner)-305(t)28(yp)-28(es)-305(are)-306(also)-305(giv)28(en.)]TJ -146.502 -13.55 Td [(Note)-352(that)-353(these)-352(strings)-352(are)-353(v)56(alid)-352(also)-353(if)-352(upp)-28(ercase)-352(letters)-352(are)-353(substituted)-352(b)28(y)-352(c)-1(or)1(-)]TJ 0 -13.549 Td [(resp)-28(onding)-333(lo)28(w)28(ercas)-1(e)-333(ones.)]TJ + [(,)-421(where)-404(the)]TJ 0 -13.549 Td [(strings)-305(used)-306(b)28(y)]TJ/F44 10.9091 Tf 74.445 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 72.057 0 Td [(to)-305(iden)28(tify)-306(the)-305(preconditioner)-305(t)28(yp)-28(es)-305(are)-306(also)-305(giv)28(en.)]TJ -146.502 -13.55 Td [(Note)-352(that)-353(these)-352(strings)-352(are)-353(v)56(alid)-352(also)-353(if)-352(upp)-28(ercase)-352(letters)-352(are)-353(substituted)-352(b)28(y)-352(cor-)]TJ 0 -13.549 Td [(resp)-28(onding)-333(lo)28(w)28(ercase)-334(ones.)]TJ 0 g 0 G - -13.939 -21.933 Td [(3.)]TJ + -13.94 -21.933 Td [(3.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(Mo)51(dify)-340(the)-341(sele)51(cte)52(d)-341(pr)51(e)51(c)51(onditioner)-340(typ)51(e,)-344(by)-340(pr)51(op)51(erly)-340(setting)-341(pr)51(e)52(c)51(onditioner)-341(p)51(ar)51(am-)]TJ 0 -13.549 Td [(eters.)]TJ/F15 10.9091 Tf 30.668 0 Td [(This)-266(is)-265(p)-28(erformed)-265(b)27(y)-265(the)-266(routine)]TJ/F44 10.9091 Tf 155.17 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 62.999 0 Td [(.)-422(This)-265(routine)-266(m)28(ust)-266(b)-27(e)-266(called)]TJ -248.837 -13.55 Td [(only)-364(if)-365(the)-364(user)-365(w)28(an)28(ts)-365(to)-364(mo)-28(dify)-365(t)1(he)-365(default)-364(v)55(alues)-364(of)-365(the)-364(parameters)-365(asso)-28(ciated)]TJ 0 -13.549 Td [(to)-468(the)-467(selected)-468(preconditioner)-467(t)27(yp)-27(e,)-502(to)-467(obtain)-468(a)-467(v)55(arian)28(t)-468(of)-467(the)-468(preconditioner.)]TJ 0 -13.549 Td [(Examples)-395(of)-394(use)-395(of)]TJ/F44 10.9091 Tf 95.977 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 67.304 0 Td [(are)-395(giv)28(en)-394(in)-395(Section)]TJ +/F18 10.9091 Tf 13.94 0 Td [(Mo)51(dify)-340(the)-341(sele)51(cte)52(d)-341(pr)51(e)51(c)51(onditi)1(o)-1(ner)-340(typ)51(e,)-344(by)-340(pr)51(op)51(erly)-340(setting)-341(pr)51(e)52(c)51(onditioner)-341(p)51(ar)51(am-)]TJ 0 -13.549 Td [(eters.)]TJ/F15 10.9091 Tf 30.668 0 Td [(This)-266(is)-265(p)-28(erformed)-265(b)27(y)-265(the)-266(routin)1(e)]TJ/F44 10.9091 Tf 155.169 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(.)-422(This)-265(routine)-266(m)28(ust)-266(b)-27(e)-266(called)]TJ -248.837 -13.55 Td [(only)-364(if)-365(the)-364(user)-365(w)28(an)28(ts)-365(to)-364(mo)-28(dify)-364(the)-365(default)-364(v)55(alues)-364(of)-365(the)-364(parameters)-365(asso)-28(ciated)]TJ 0 -13.549 Td [(to)-468(the)-467(selected)-468(preconditioner)-467(t)27(yp)-27(e,)-502(to)-467(obtain)-468(a)-467(v)55(arian)28(t)-467(of)-468(the)-468(preconditioner.)]TJ 0 -13.549 Td [(Examples)-395(of)-394(use)-395(of)]TJ/F44 10.9091 Tf 95.977 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 67.304 0 Td [(are)-395(giv)28(en)-394(in)-395(Section)]TJ 0 0 1 rg 0 0 1 RG [-395(5.1)]TJ 0 g 0 G - [(;)-425(a)-394(com)-1(p)1(le)-1(t)1(e)-395(list)-395(of)-394(all)]TJ -163.281 -13.549 Td [(the)-303(preconditioner)-302(parameters)-303(and)-303(their)-302(allo)27(w)28(ed)-303(and)-302(default)-303(v)56(alues)-303(is)-303(pro)28(vided)-303(in)]TJ 0 -13.549 Td [(Section)]TJ + [(;)-425(a)-394(complete)-395(list)-395(of)-394(all)]TJ -163.281 -13.549 Td [(the)-303(preconditioner)-302(parameters)-303(and)-303(their)-302(allo)27(w)28(ed)-303(and)-302(default)-303(v)56(alues)-303(is)-303(pro)28(vided)-303(in)]TJ 0 -13.549 Td [(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(6)]TJ 0 g 0 G @@ -2037,27 +2094,27 @@ BT 0 g 0 G [(.)]TJ 0 g 0 G - -13.939 -21.934 Td [(4.)]TJ + -13.94 -21.934 Td [(4.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(Build)-457(the)-457(pr)51(e)51(c)51(onditioner)-457(for)-457(a)-457(given)-457(matrix.)]TJ/F15 10.9091 Tf 223.323 0 Td [(This)-441(is)-442(p)-27(erformed)-441(b)27(y)-441(the)-441(routine)]TJ/F44 10.9091 Tf -223.323 -13.549 Td [(mld_precbld)]TJ/F15 10.9091 Tf 62.999 0 Td [(.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(Build)-457(the)-457(pr)51(e)51(c)51(onditioner)-457(for)-457(a)-457(given)-457(matrix.)]TJ/F15 10.9091 Tf 223.323 0 Td [(This)-441(is)-441(p)-28(erformed)-441(b)27(y)-441(the)-441(routine)]TJ/F44 10.9091 Tf -223.323 -13.549 Td [(mld_precbld)]TJ/F15 10.9091 Tf 62.999 0 Td [(.)]TJ 0 g 0 G - -76.938 -21.933 Td [(5.)]TJ + -76.939 -21.933 Td [(5.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(Apply)-282(the)-281(pr)51(e)51(c)51(onditioner)-281(at)-282(e)51(ach)-282(iter)52(ation)-282(of)-282(a)-281(Krylov)-282(solver.)]TJ/F15 10.9091 Tf 288.311 0 Td [(This)-251(is)-250(p)-28(erformed)-250(b)27(y)]TJ -288.311 -13.55 Td [(the)-340(routine)]TJ/F44 10.9091 Tf 56.544 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 68.727 0 Td [(.)-465(When)-340(using)-340(the)-341(PSBLAS)-340(Krylo)28(v)-340(solv)28(ers,)-342(this)-341(step)-340(is)]TJ -125.271 -13.549 Td [(completely)-302(transparen)28(t)-301(to)-302(the)-302(user,)-308(since)]TJ/F44 10.9091 Tf 196.451 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 72.018 0 Td [(is)-302(called)-301(b)27(y)-301(the)-302(PSBLAS)]TJ -268.469 -13.549 Td [(routine)-333(implemen)28(ting)-334(the)-333(Krylo)28(v)-334(solv)28(er)-333(\050)]TJ/F44 10.9091 Tf 195.909 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 57.272 0 Td [(\051.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(Apply)-282(the)-281(pr)51(e)51(c)51(onditioner)-281(at)-282(e)51(ach)-282(iter)52(ation)-282(of)-282(a)-281(Krylov)-282(solver.)]TJ/F15 10.9091 Tf 288.311 0 Td [(This)-251(is)-250(p)-28(erformed)-250(b)27(y)]TJ -288.311 -13.55 Td [(the)-340(routine)]TJ/F44 10.9091 Tf 56.544 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 68.727 0 Td [(.)-465(When)-340(using)-340(the)-341(PSBLAS)-340(Krylo)28(v)-340(solv)28(ers,)-342(this)-341(step)-340(is)]TJ -125.271 -13.549 Td [(completely)-302(transparen)28(t)-301(to)-302(the)-302(user,)-308(since)]TJ/F44 10.9091 Tf 196.451 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 72.018 0 Td [(is)-302(called)-301(b)27(y)-301(the)-302(PSBLAS)]TJ -268.469 -13.549 Td [(routine)-333(implemen)28(ting)-334(the)-333(Krylo)28(v)-333(s)-1(ol)1(v)27(er)-333(\050)]TJ/F44 10.9091 Tf 195.909 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 57.272 0 Td [(\051.)]TJ 0 g 0 G - -267.12 -21.933 Td [(6.)]TJ + -267.121 -21.933 Td [(6.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.939 0 Td [(F)77(r)51(e)51(e)-459(the)-459(pr)51(e)51(c)51(onditioner)-459(data)-459(structur)51(e)]TJ/F15 10.9091 Tf 183.971 0 Td [(.)-775(This)-443(is)-444(p)-28(erfor)1(m)-1(ed)-443(b)28(y)-444(the)-443(routine)]TJ/F44 10.9091 Tf 178.298 0 Td [(mld_)]TJ -362.269 -13.55 Td [(precfree)]TJ/F15 10.9091 Tf 45.818 0 Td [(.)-501(This)-353(step)-352(is)-353(complemen)28(tary)-352(to)-353(step)-352(1)-352(and)-353(should)-352(b)-28(e)-352(p)-28(erformed)-352(when)]TJ -45.818 -13.549 Td [(the)-333(preconditioner)-334(i)1(s)-334(no)-333(more)-334(u)1(s)-1(ed.)]TJ -27.273 -21.06 Td [(A)-384(detailed)-384(description)-384(of)-384(the)-384(ab)-28(o)28(v)28(e)-384(routines)-384(is)-384(giv)27(en)-384(in)-384(Section)]TJ +/F18 10.9091 Tf 13.94 0 Td [(F)77(r)51(e)51(e)-459(the)-459(pr)51(e)51(c)51(onditioner)-459(data)-459(structur)51(e)]TJ/F15 10.9091 Tf 183.971 0 Td [(.)-775(This)-443(is)-444(p)-28(erf)1(orme)-1(d)-443(b)28(y)-444(the)-443(routine)]TJ/F44 10.9091 Tf 178.298 0 Td [(mld_)]TJ -362.269 -13.55 Td [(precfree)]TJ/F15 10.9091 Tf 45.817 0 Td [(.)-502(Thi)1(s)-353(step)-352(is)-353(complemen)28(tary)-352(to)-353(step)-352(1)-352(and)-353(should)-352(b)-28(e)-352(p)-28(erformed)-352(when)]TJ -45.817 -13.549 Td [(the)-333(preconditioner)-333(is)-334(no)-333(more)-333(use)-1(d)1(.)]TJ -27.273 -21.06 Td [(A)-384(detailed)-384(description)-384(of)-384(the)-384(ab)-28(o)28(v)28(e)-384(routines)-384(is)-384(giv)27(en)-384(in)-384(Section)]TJ 0 0 1 rg 0 0 1 RG [-384(6)]TJ 0 g 0 G - [(.)-596(Examples)-384(sho)28(w)-1(i)1(ng)]TJ 0 -13.549 Td [(the)-333(basic)-334(use)-333(of)-333(MLD2P4)-334(are)-333(rep)-28(orted)-333(in)-333(Section)]TJ + [(.)-596(Examples)-384(sho)28(wing)]TJ 0 -13.549 Td [(the)-333(basic)-334(use)-333(of)-333(MLD2P4)-334(are)-333(rep)-28(orted)-333(in)-333(Section)]TJ 0 0 1 rg 0 0 1 RG [-334(5.1)]TJ 0 g 0 G - [(.)]TJ 16.937 -13.549 Td [(Note)-421(that)-422(the)-421(F)83(ortran)-421(95)-422(mo)-28(dule)]TJ/F44 10.9091 Tf 167.194 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)-444(con)28(taining)-421(the)-422(de\014n)1(ition)-422(of)-421(the)]TJ -252.857 -13.549 Td [(preconditioner)-351(data)-351(t)28(yp)-28(e)-351(an)1(d)-351(the)-351(in)28(terfaces)-351(to)-351(the)-351(routines)-351(of)-351(MLD2P4,)-355(m)28(ust)-351(b)-28(e)-351(used)]TJ 0 -13.55 Td [(in)-245(an)28(y)-246(progr)1(am)-246(calling)-245(suc)28(h)-245(routines.)-415(The)-246(mo)-27(dules)]TJ/F44 10.9091 Tf 240.498 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)-263(for)-245(the)-245(sparse)-246(matrix)]TJ -309.224 -13.549 Td [(and)-405(c)-1(omm)28(unication)-405(descriptor)-406(data)-405(t)28(yp)-28(es,)-424(and)]TJ/F44 10.9091 Tf 231.165 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)-424(for)-405(in)28(terfacing)-406(with)]TJ -311.346 -13.549 Td [(the)-333(Krylo)28(v)-334(solv)28(ers,)-333(m)27(ust)-333(b)-28(e)-333(also)-333(used)-334(\050see)-333(Section)]TJ + [(.)]TJ 16.936 -13.549 Td [(Note)-422(th)1(at)-422(the)-421(F)83(ortran)-421(95)-422(mo)-28(dule)]TJ/F44 10.9091 Tf 167.194 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf 68.727 0 Td [(,)-443(c)-1(on)28(taining)-421(the)-422(d)1(e)-1(\014)1(nition)-422(of)-421(the)]TJ -252.857 -13.549 Td [(preconditioner)-351(data)-351(t)28(yp)-28(e)-351(an)1(d)-351(the)-351(in)28(terfaces)-351(to)-351(the)-351(routines)-351(of)-351(MLD2P4,)-355(m)28(ust)-351(b)-28(e)-351(used)]TJ 0 -13.55 Td [(in)-245(an)28(y)-246(pr)1(ogram)-246(calling)-245(suc)28(h)-245(routines.)-415(The)-246(mo)-27(dules)]TJ/F44 10.9091 Tf 240.498 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)-263(for)-245(the)-245(sparse)-246(matri)1(x)]TJ -309.224 -13.549 Td [(and)-405(com)-1(m)28(unication)-405(descriptor)-406(data)-405(t)28(yp)-28(es,)-424(and)]TJ/F44 10.9091 Tf 231.165 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)-424(f)1(or)-406(in)28(terfacing)-406(with)]TJ -311.346 -13.549 Td [(the)-333(Krylo)28(v)-334(solv)28(ers,)-333(m)27(ust)-333(b)-28(e)-333(also)-333(used)-334(\050see)-333(Section)]TJ 0 0 1 rg 0 0 1 RG - [-334(5.)1(1)]TJ + [-333(5.1)]TJ 0 g 0 G [(\051.)]TJ 0 g 0 G @@ -2065,121 +2122,117 @@ BT ET endstream endobj -345 0 obj << +351 0 obj << /Type /Page -/Contents 346 0 R -/Resources 344 0 R +/Contents 352 0 R +/Resources 350 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R -/Annots [ 343 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R ] +/Parent 310 0 R +/Annots [ 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R ] >> endobj -343 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.5) >> ->> endobj -331 0 obj << +338 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [429.591 665.239 442.493 674.261] +/Rect [422.391 665.239 435.292 674.261] /Subtype /Link /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> endobj -332 0 obj << +339 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [444.507 511.73 451.954 523.42] +/Rect [437.306 511.73 444.753 523.42] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -333 0 obj << +340 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [383.439 394.65 399.37 406.642] +/Rect [376.238 394.65 392.17 406.642] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj -334 0 obj << +341 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [158.059 367.854 165.506 379.544] +/Rect [150.858 367.854 158.305 379.544] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -335 0 obj << +342 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [204.483 367.854 211.93 379.544] +/Rect [197.282 367.854 204.729 379.544] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -336 0 obj << +343 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.574 367.854 221.021 379.544] +/Rect [206.373 367.854 213.82 379.544] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -337 0 obj << +344 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [401.963 199.699 409.41 211.388] +/Rect [394.762 199.699 402.21 211.388] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -338 0 obj << +345 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [330.241 186.149 346.172 197.839] +/Rect [323.04 186.149 338.972 197.839] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj -339 0 obj << +346 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [334.544 117.797 350.475 130.699] +/Rect [327.343 117.797 343.275 130.699] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj -347 0 obj << -/D [345 0 R /XYZ 93.6 740.002 null] +353 0 obj << +/D [351 0 R /XYZ 86.4 740.002 null] >> endobj 58 0 obj << -/D [345 0 R /XYZ 93.6 715.095 null] +/D [351 0 R /XYZ 86.4 715.095 null] >> endobj -348 0 obj << -/D [345 0 R /XYZ 93.6 647.246 null] +354 0 obj << +/D [351 0 R /XYZ 86.4 647.246 null] >> endobj -349 0 obj << -/D [345 0 R /XYZ 93.6 571.115 null] +355 0 obj << +/D [351 0 R /XYZ 86.4 571.115 null] >> endobj -350 0 obj << -/D [345 0 R /XYZ 93.6 467.887 null] +356 0 obj << +/D [351 0 R /XYZ 86.4 467.887 null] >> endobj -351 0 obj << -/D [345 0 R /XYZ 93.6 364.658 null] +357 0 obj << +/D [351 0 R /XYZ 86.4 364.658 null] >> endobj -352 0 obj << -/D [345 0 R /XYZ 93.6 328.873 null] +358 0 obj << +/D [351 0 R /XYZ 86.4 328.873 null] >> endobj -353 0 obj << -/D [345 0 R /XYZ 93.6 265.989 null] +359 0 obj << +/D [351 0 R /XYZ 86.4 265.989 null] >> endobj -344 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F18 174 0 R /F44 202 0 R >> +350 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F18 174 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -363 0 obj << -/Length 9079 +370 0 obj << +/Length 9107 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(16)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(5)]TJ +0 g 0 G + [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(17)]TJ 0 g 0 G -/F43 10.9091 Tf -203.265 -49.415 Td [(Remark)-396(1.)]TJ/F15 10.9091 Tf 62.779 0 Td [(The)-344(coarsest-lev)27(el)-344(solv)28(er)-344(used)-344(b)27(y)-344(the)-344(default)-344(t)28(w)28(o-le)-1(v)28(el)-344(preconditioner)-344(has)]TJ -62.779 -13.549 Td [(b)-28(een)-432(c)28(hosen)-432(b)28(y)-432(tak)1(ing)-432(in)28(to)-432(accoun)28(t)-432(that,)-456(on)-432(parallel)-432(mac)28(hines,)-456(it)-432(often)-432(leads)-432(to)-432(th)1(e)]TJ 0 -13.549 Td [(smallest)-422(execution)-421(time)-422(when)-422(applied)-421(to)-422(linear)-421(systems)-422(coming)-422(from)-421(\014nite-di\013erence)]TJ 0 -13.549 Td [(discretizations)-376(of)-376(basic)-376(elliptic)-376(PDE)-376(problems,)-387(considered)-376(as)-376(standard)-376(tests)-376(for)-376(m)28(ulti-)]TJ 0 -13.55 Td [(lev)28(el)-224(Sc)28(h)28(w)28(arz)-224(precondition)1(e)-1(r)1(s)-224([)]TJ +/F43 10.9091 Tf -401.542 -49.415 Td [(Remark)-396(1.)]TJ/F15 10.9091 Tf 62.779 0 Td [(The)-344(coarsest-lev)27(el)-344(solv)28(er)-344(used)-344(b)27(y)-344(the)-344(default)-344(t)28(w)27(o-lev)28(el)-344(preconditioner)-344(has)]TJ -62.779 -13.549 Td [(b)-28(een)-432(c)28(hosen)-432(b)28(y)-432(takin)1(g)-432(in)28(to)-432(accoun)28(t)-432(that,)-456(on)-432(parallel)-432(mac)28(hines,)-457(i)1(t)-432(often)-432(leads)-432(to)-432(th)1(e)]TJ 0 -13.549 Td [(smallest)-422(execution)-421(time)-422(when)-422(applied)-421(to)-422(linear)-421(system)-1(s)-421(coming)-422(from)-421(\014nite-di\013erence)]TJ 0 -13.549 Td [(discretizations)-376(of)-376(basic)-376(elliptic)-376(PDE)-376(problems,)-387(considered)-376(as)-376(standard)-376(tests)-376(for)-376(m)28(ulti-)]TJ 0 -13.55 Td [(lev)28(el)-224(Sc)28(h)28(w)28(arz)-224(preconditioners)-223([)]TJ 1 0 0 rg 1 0 0 RG [(3)]TJ 0 g 0 G @@ -2187,312 +2240,316 @@ BT 1 0 0 rg 1 0 0 RG [-223(4)]TJ 0 g 0 G - [(].)-408(Ho)28(w)28(ev)27(er,)-245(this)-223(solv)27(er)-223(do)-28(es)-223(not)-224(n)1(e)-1(cessarily)-223(corresp)-28(ond)]TJ 0 -13.549 Td [(to)-446(the)-447(smallest)-446(n)27(um)28(b)-28(er)-446(of)-446(iterations)-447(of)-446(the)-447(preconditioned)-446(Krylo)28(v)-447(metho)-27(d,)-475(whic)28(h)-447(is)]TJ 0 -13.549 Td [(usually)-334(obtained)-334(b)28(y)-334(applying)-334(a)-334(direct)-335(solv)28(er)-334(to)-334(the)-334(coarsest-lev)27(el)-334(system,)-334(e.g.)-334(based)-335(on)]TJ 0 -13.549 Td [(the)-312(LU)-312(f)1(ac)-1(t)1(orization)-312(\050see)-312(Section)]TJ + [(].)-408(Ho)28(w)28(e)-1(v)28(er,)-245(this)-223(solv)27(er)-223(do)-28(es)-223(not)-224(necessarily)-223(corresp)-28(ond)]TJ 0 -13.549 Td [(to)-446(the)-447(smallest)-446(n)27(um)28(b)-28(er)-446(of)-446(ite)-1(r)1(ations)-447(of)-446(the)-447(preconditioned)-446(Krylo)28(v)-447(metho)-27(d,)-475(whic)28(h)-447(is)]TJ 0 -13.549 Td [(usually)-334(obtained)-334(b)28(y)-334(applying)-334(a)-334(direct)-335(solv)28(er)-334(to)-334(the)-334(coarsest-lev)27(el)-334(system,)-334(e.g.)-334(based)-335(on)]TJ 0 -13.549 Td [(the)-312(LU)-312(f)1(ac)-1(tori)1(z)-1(ati)1(on)-312(\050see)-312(Section)]TJ 0 0 1 rg 0 0 1 RG [-312(6)]TJ 0 g 0 G - [-312(for)-311(the)-312(coarsest-lev)28(e)-1(l)-311(solv)27(ers)-311(a)27(v)56(ailable)-312(in)-311(MLD2P4\051.)]TJ + [-312(for)-311(the)-312(coarsest-lev)27(el)-311(solv)27(ers)-311(a)27(v)56(ailable)-312(in)-311(MLD2P4\051.)]TJ 0 g 0 G 0 g 0 G 0 g 0 G ET q -1 0 0 1 98.323 581.154 cm +1 0 0 1 105.524 581.154 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 567.406 cm +1 0 0 1 105.524 567.406 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 104.301 571.471 Td [(type)]TJ +/F41 10.9091 Tf 111.501 571.471 Td [(type)]TJ ET q -1 0 0 1 196.097 567.406 cm +1 0 0 1 203.297 567.406 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 202.074 571.471 Td [(string)]TJ +/F41 10.9091 Tf 209.275 571.471 Td [(string)]TJ ET q -1 0 0 1 253.87 567.406 cm +1 0 0 1 261.07 567.406 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 259.847 571.471 Td [(def)89(a)22(ul)67(t)-378(preconditioner)]TJ +/F41 10.9091 Tf 267.048 571.471 Td [(def)89(a)22(ul)67(t)-378(preconditioner)]TJ ET q -1 0 0 1 486.927 567.406 cm +1 0 0 1 494.128 567.406 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 98.323 567.207 cm +1 0 0 1 105.524 567.207 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 539.909 cm +1 0 0 1 105.524 539.909 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 104.301 557.523 Td [(No)-333(preconditioner)]TJ +/F15 10.9091 Tf 111.501 557.523 Td [(No)-333(preconditioner)]TJ ET q -1 0 0 1 196.097 539.909 cm +1 0 0 1 203.297 539.909 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 202.074 557.523 Td [('NOPREC')]TJ +/F44 10.9091 Tf 209.275 557.523 Td [('NOPREC')]TJ ET q -1 0 0 1 253.87 539.909 cm +1 0 0 1 261.07 539.909 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 259.847 557.523 Td [(Considered)-507(only)-507(to)-507(use)-508(th)1(e)-508(PSBLAS)-507(Kr)1(ylo)27(v)]TJ 0 -13.549 Td [(solv)28(ers)-334(with)-333(no)-333(preconditioner.)]TJ +/F15 10.9091 Tf 267.048 557.523 Td [(Considered)-507(only)-507(to)-507(use)-507(the)-508(PSBLAS)-506(Krylo)27(v)]TJ 0 -13.549 Td [(solv)28(ers)-334(with)-333(no)-333(preconditioner.)]TJ ET q -1 0 0 1 486.927 539.909 cm +1 0 0 1 494.128 539.909 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 98.323 539.71 cm +1 0 0 1 105.524 539.71 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 525.961 cm +1 0 0 1 105.524 525.961 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 104.301 530.026 Td [(Diagonal)]TJ +/F15 10.9091 Tf 111.501 530.026 Td [(Diagonal)]TJ ET q -1 0 0 1 196.097 525.961 cm +1 0 0 1 203.297 525.961 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 202.074 530.026 Td [('DIAG')]TJ +/F44 10.9091 Tf 209.275 530.026 Td [('DIAG')]TJ ET q -1 0 0 1 253.87 525.961 cm +1 0 0 1 261.07 525.961 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 259.847 530.026 Td [(|)]TJ +/F15 10.9091 Tf 267.048 530.026 Td [(|)]TJ ET q -1 0 0 1 486.927 525.961 cm +1 0 0 1 494.128 525.961 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 98.323 525.762 cm +1 0 0 1 105.524 525.762 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 512.014 cm +1 0 0 1 105.524 512.014 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 104.301 516.078 Td [(Blo)-28(c)28(k)-333(Jacobi)]TJ +/F15 10.9091 Tf 111.501 516.078 Td [(Blo)-28(c)28(k)-333(Jacobi)]TJ ET q -1 0 0 1 196.097 512.014 cm +1 0 0 1 203.297 512.014 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 202.074 516.078 Td [('BJAC')]TJ +/F44 10.9091 Tf 209.275 516.078 Td [('BJAC')]TJ ET q -1 0 0 1 253.87 512.014 cm +1 0 0 1 261.07 512.014 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 259.847 516.078 Td [(Blo)-28(c)28(k)-333(Jacobi)-334(with)-333(ILU\0500\051)-333(on)-334(the)-333(lo)-28(cal)-333(blo)-28(c)28(ks.)]TJ +/F15 10.9091 Tf 267.048 516.078 Td [(Blo)-28(c)28(k)-333(Jacobi)-334(with)-333(ILU\0500\051)-333(on)-334(th)1(e)-334(lo)-28(cal)-333(blo)-28(c)28(ks.)]TJ ET q -1 0 0 1 486.927 512.014 cm +1 0 0 1 494.128 512.014 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 98.323 511.814 cm +1 0 0 1 105.524 511.814 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 484.517 cm +1 0 0 1 105.524 484.517 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 104.301 502.131 Td [(Additiv)28(e)-333(Sc)27(h)28(w)28(arz)]TJ +/F15 10.9091 Tf 111.501 502.131 Td [(Additiv)28(e)-333(Sc)27(h)28(w)28(arz)]TJ ET q -1 0 0 1 196.097 484.517 cm +1 0 0 1 203.297 484.517 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 202.074 502.131 Td [('AS')]TJ +/F44 10.9091 Tf 209.275 502.131 Td [('AS')]TJ ET q -1 0 0 1 253.87 484.517 cm +1 0 0 1 261.07 484.517 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 259.847 502.131 Td [(Restricted)-268(Ad)1(ditiv)27(e)-267(Sc)28(h)28(w)27(arz)-267(\050RAS\051,)-268(wit)1(h)-268(o)28(v)28(er-)]TJ 0 -13.549 Td [(lap)-333(1)-334(and)-333(ILU\0500\051)-333(on)-333(the)-334(lo)-28(cal)-333(blo)-28(c)28(ks.)]TJ +/F15 10.9091 Tf 267.048 502.131 Td [(Restricted)-267(Additiv)27(e)-267(Sc)28(h)28(w)27(arz)-267(\050RAS\051,)-267(with)-268(o)28(v)28(er-)]TJ 0 -13.549 Td [(lap)-333(1)-334(and)-333(ILU\0500\051)-333(on)-333(the)-334(lo)-28(cal)-333(blo)-28(c)28(ks.)]TJ ET q -1 0 0 1 486.927 484.517 cm +1 0 0 1 494.128 484.517 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 98.323 484.318 cm +1 0 0 1 105.524 484.318 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q q -1 0 0 1 98.323 307.979 cm +1 0 0 1 105.524 307.979 cm []0 d 0 J 0.398 w 0 0 m 0 176.14 l S Q BT -/F15 10.9091 Tf 104.301 474.634 Td [(Multilev)28(el)]TJ +/F15 10.9091 Tf 111.501 474.634 Td [(Multilev)28(el)]TJ ET q -1 0 0 1 196.097 307.979 cm +1 0 0 1 203.297 307.979 cm []0 d 0 J 0.398 w 0 0 m 0 176.14 l S Q BT -/F44 10.9091 Tf 202.074 474.634 Td [('ML')]TJ +/F44 10.9091 Tf 209.275 474.634 Td [('ML')]TJ ET q -1 0 0 1 253.87 307.979 cm +1 0 0 1 261.07 307.979 cm []0 d 0 J 0.398 w 0 0 m 0 176.14 l S Q BT -/F15 10.9091 Tf 259.847 474.634 Td [(Multi-lev)28(el)-378(h)28(ybrid)-377(preconditioner)-377(\050additiv)28(e)-378(on)]TJ 0 -13.549 Td [(the)-390(s)-1(ame)-390(lev)28(el)-391(and)-390(m)28(ultiplicativ)28(e)-391(through)-390(the)]TJ 0 -13.55 Td [(lev)28(els\051,)-405(with)-391(p)-27(ost-s)-1(mo)-27(othing)-391(only)84(.)-616(Num)27(b)-27(er)-391(of)]TJ 0 -13.549 Td [(lev)28(els:)-511(2.)-543(P)28(ost-smo)-28(other:)-510(RAS)-366(with)-366(o)28(v)27(erlap)-366(1)]TJ 0 -13.549 Td [(and)-395(ILU\0500\051)-395(on)-396(the)-395(lo)-28(cal)-395(blo)-28(c)28(ks.)-630(Aggregation:)]TJ 0 -13.549 Td [(decoupled)-417(smo)-28(othed)-417(aggregation)-416(w)-1(i)1(th)-417(thresh-)]TJ 0 -13.549 Td [(old)]TJ/F22 10.9091 Tf 17.695 0 Td [(\022)]TJ/F15 10.9091 Tf 8.454 0 Td [(=)-278(0.)-429(Coarsest)-289(matrix:)-422(distributed)-289(among)]TJ -26.149 -13.549 Td [(the)-339(pro)-28(cessors.)-461(Coarses)-1(t-lev)28(el)-339(solv)28(er:)-456(4)-339(sw)28(eeps)]TJ 0 -13.55 Td [(of)-290(the)-289(blo)-28(c)28(k-Jacobi)-290(solv)28(er,)-299(with)-289(LU)-290(or)-289(ILU)-290(fac-)]TJ 0 -13.549 Td [(torization)-506(of)-505(the)-506(blo)-28(c)28(ks)-506(\050UMFP)84(A)27(CK)-505(for)-506(the)]TJ 0 -13.549 Td [(double)-329(precision)-330(v)28(ersions)-329(and)-329(Sup)-28(erLU)-329(for)-330(the)]TJ 0 -13.549 Td [(single)-291(precision)-292(ones,)-300(if)-291(the)-291(pac)27(k)56(ages)-292(h)1(a)27(v)28(e)-291(b)-28(een)]TJ 0 -13.549 Td [(installed;)-333(ILU\0500\051,)-334(otherwise\051.)]TJ +/F15 10.9091 Tf 267.048 474.634 Td [(Multi-lev)28(el)-377(h)27(ybrid)-377(preconditioner)-377(\050additiv)28(e)-377(on)]TJ 0 -13.549 Td [(the)-390(same)-391(lev)28(el)-391(and)-390(m)28(ultiplicativ)28(e)-391(through)-390(the)]TJ 0 -13.55 Td [(lev)28(els\051,)-405(with)-391(p)-27(ost-sm)-1(o)-27(othing)-391(only)84(.)-616(Num)27(b)-27(er)-391(of)]TJ 0 -13.549 Td [(lev)28(els:)-510(2.)-544(P)28(ost-smo)-28(other:)-510(RAS)-366(with)-366(o)28(v)27(erlap)-366(1)]TJ 0 -13.549 Td [(and)-395(ILU\0500\051)-395(on)-396(the)-395(lo)-28(cal)-395(blo)-28(c)28(ks.)-630(Aggregation:)]TJ 0 -13.549 Td [(decoupled)-417(smo)-28(othed)-417(aggregation)-416(with)-417(thresh-)]TJ 0 -13.549 Td [(old)]TJ/F22 10.9091 Tf 17.694 0 Td [(\022)]TJ/F15 10.9091 Tf 8.455 0 Td [(=)-278(0.)-429(Coarsest)-289(matrix:)-422(distributed)-289(among)]TJ -26.149 -13.549 Td [(the)-339(pro)-28(cessors.)-461(Coarsest-)-1(l)1(e)-1(v)28(el)-339(solv)28(er:)-456(4)-339(sw)28(eeps)]TJ 0 -13.55 Td [(of)-290(the)-289(blo)-28(c)28(k-Jacobi)-290(solv)28(er,)-299(with)-289(LU)-290(or)-289(ILU)-290(fac-)]TJ 0 -13.549 Td [(torization)-506(of)-505(the)-506(blo)-28(c)28(ks)-506(\050UMFP)84(A)27(CK)-505(for)-506(the)]TJ 0 -13.549 Td [(double)-329(precision)-330(v)28(ersions)-329(and)-329(Sup)-28(erLU)-329(for)-330(the)]TJ 0 -13.549 Td [(single)-291(precision)-292(ones,)-300(if)-291(the)-291(pac)27(k)56(ages)-291(ha)27(v)28(e)-291(b)-28(een)]TJ 0 -13.549 Td [(installed;)-333(ILU\0500\051,)-334(oth)1(e)-1(r)1(w)-1(i)1(s)-1(e\051.)]TJ ET q -1 0 0 1 486.927 307.979 cm +1 0 0 1 494.128 307.979 cm []0 d 0 J 0.398 w 0 0 m 0 176.14 l S Q q -1 0 0 1 98.323 307.779 cm +1 0 0 1 105.524 307.779 cm []0 d 0 J 0.398 w 0 0 m 388.604 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 116.11 277.09 Td [(T)83(able)-333(1:)-444(Preconditioner)-334(t)28(yp)-28(es,)-333(corresp)-28(onding)-333(strings)-333(and)-333(default)-334(c)28(hoices.)]TJ +/F15 10.9091 Tf 123.31 277.09 Td [(T)83(able)-333(1:)-444(Preconditioner)-334(t)28(yp)-28(es,)-333(corresp)-28(onding)-333(strings)-333(and)-334(d)1(e)-1(f)1(ault)-334(c)28(hoices.)]TJ 0 g 0 G 0 g 0 G -/F17 11.9552 Tf -29.71 -40.13 Td [(5.1)-1125(Examples)]TJ/F15 10.9091 Tf 0 -20.595 Td [(The)-340(co)-28(de)-340(rep)-28(or)1(te)-1(d)-339(in)-340(Figure)]TJ +/F17 11.9552 Tf -29.71 -40.13 Td [(5.1)-1125(Examples)]TJ/F15 10.9091 Tf 0 -20.595 Td [(The)-340(co)-28(de)-340(rep)-28(orted)-340(i)1(n)-340(Figure)]TJ 0 0 1 rg 0 0 1 RG [-340(2)]TJ 0 g 0 G - [-340(sho)28(ws)-341(h)1(o)27(w)-340(to)-340(set)-340(and)-340(apply)-339(the)-340(default)-340(m)27(u)1(lti-le)-1(v)28(el)-340(pre-)]TJ 0 -13.549 Td [(conditioner)-257(a)27(v)56(ailable)-258(in)-257(the)-258(real)-258(d)1(ouble)-258(precision)-258(v)28(ersion)-257(of)-258(MLD2P4)-258(\050see)-257(T)83(able)]TJ + [-340(sho)27(ws)-340(ho)28(w)-340(to)-340(set)-340(and)-340(apply)-340(t)1(he)-340(default)-340(m)27(ulti)1(-)-1(lev)28(el)-340(pre-)]TJ 0 -13.549 Td [(conditioner)-258(a)28(v)56(ailable)-258(in)-257(the)-258(real)-258(dou)1(ble)-258(precision)-258(v)28(ersion)-257(of)-258(MLD2P4)-258(\050see)-257(T)83(able)]TJ 0 0 1 rg 0 0 1 RG [-258(1)]TJ 0 g 0 G - [(\051.)-419(This)]TJ 0 -13.549 Td [(preconditioner)-238(is)-238(c)28(hosen)-238(b)28(y)-238(simply)-238(sp)-27(ecifying)]TJ/F44 10.9091 Tf 212.539 0 Td [('ML')]TJ/F15 10.9091 Tf 25.503 0 Td [(as)-238(second)-238(argumen)28(t)-238(of)]TJ/F44 10.9091 Tf 105.682 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf -343.724 -13.549 Td [(\050a)-359(call)-360(to)]TJ/F44 10.9091 Tf 47.52 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 66.92 0 Td [(is)-359(not)-360(needed\051)-359(and)-359(is)-360(applied)-359(with)-360(the)-359(BiCGST)83(AB)-359(solv)28(er)-360(pro-)]TJ -114.44 -13.549 Td [(vided)-301(b)28(y)-301(PSBLAS.)-301(As)-301(previously)-301(observ)28(ed,)-308(the)-301(mo)-27(dules)]TJ/F44 10.9091 Tf 268.613 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.384 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf -343.724 -13.55 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 83.817 0 Td [(m)28(ust)-334(b)-27(e)-334(used)-333(b)28(y)-334(th)1(e)-334(example)-333(program.)]TJ -88.093 -13.549 Td [(The)-395(part)-395(of)-395(the)-395(co)-28(de)-395(concerning)-395(the)-395(reading)-395(and)-395(assem)27(blin)1(g)-396(of)-395(the)-395(sparse)-395(matrix)]TJ -16.936 -13.549 Td [(and)-457(the)-456(righ)27(t-han)1(d)-457(side)-457(v)28(ector,)-488(p)-28(erformed)-456(through)-457(the)-457(PSBLAS)-456(routines)-457(for)-457(sparse)]TJ + [(\051.)-419(This)]TJ 0 -13.549 Td [(preconditioner)-238(is)-238(c)28(hosen)-238(b)28(y)-238(simply)-238(sp)-27(ecifying)]TJ/F44 10.9091 Tf 212.539 0 Td [('ML')]TJ/F15 10.9091 Tf 25.503 0 Td [(as)-238(second)-238(argumen)28(t)-238(of)]TJ/F44 10.9091 Tf 105.683 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf -343.725 -13.549 Td [(\050a)-359(call)-360(to)]TJ/F44 10.9091 Tf 47.52 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 66.92 0 Td [(is)-359(not)-360(needed\051)-359(and)-360(is)-359(applied)-359(with)-360(the)-359(BiCGST)83(AB)-359(solv)28(er)-360(pro-)]TJ -114.44 -13.549 Td [(vided)-301(b)28(y)-301(PSBLAS.)-301(As)-301(previously)-301(observ)28(ed,)-308(the)-301(mo)-27(dules)]TJ/F44 10.9091 Tf 268.614 0 Td [(psb_base_mod)]TJ/F15 10.9091 Tf 68.726 0 Td [(,)]TJ/F44 10.9091 Tf 6.385 0 Td [(mld_prec_mod)]TJ/F15 10.9091 Tf -343.725 -13.55 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(psb_krylov_mod)]TJ/F15 10.9091 Tf 83.818 0 Td [(m)28(ust)-334(b)-27(e)-334(used)-333(b)28(y)-333(the)-334(example)-333(program.)]TJ -88.093 -13.549 Td [(The)-395(part)-395(of)-395(the)-395(co)-28(de)-395(concerning)-395(the)-395(reading)-395(and)-395(assem)27(b)1(ling)-395(of)-396(th)1(e)-396(sparse)-395(matrix)]TJ -16.937 -13.549 Td [(and)-457(the)-456(righ)27(t-hand)-456(side)-457(v)28(ector,)-488(p)-28(erformed)-456(through)-457(the)-457(PSBLAS)-456(routines)-457(for)-457(sparse)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -362 0 obj << +369 0 obj << /Type /Page -/Contents 363 0 R -/Resources 361 0 R +/Contents 370 0 R +/Resources 368 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R -/Annots [ 340 0 R 341 0 R 342 0 R 357 0 R 358 0 R ] +/Parent 310 0 R +/Annots [ 367 0 R 347 0 R 348 0 R 349 0 R 363 0 R 364 0 R ] >> endobj -340 0 obj << +367 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.5) >> +>> endobj +347 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [228.32 635.394 235.767 644.417] +/Rect [235.521 635.394 242.968 644.417] /Subtype /Link /A << /S /GoTo /D (cite.aaecc_07) >> >> endobj -341 0 obj << +348 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [239.242 635.394 246.689 644.417] +/Rect [246.442 635.394 253.889 644.417] /Subtype /Link /A << /S /GoTo /D (cite.apnum_07) >> >> endobj -342 0 obj << +349 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [245.076 592.019 252.523 604.921] +/Rect [252.277 592.019 259.724 604.921] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -357 0 obj << +363 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [224.493 213.248 231.94 224.937] +/Rect [231.694 213.248 239.141 224.937] /Subtype /Link /A << /S /GoTo /D (figure.2) >> >> endobj -358 0 obj << +364 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [459.281 199.093 466.728 211.994] +/Rect [466.482 199.093 473.929 211.994] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -364 0 obj << -/D [362 0 R /XYZ 86.4 740.002 null] +371 0 obj << +/D [369 0 R /XYZ 93.6 740.002 null] >> endobj -354 0 obj << -/D [362 0 R /XYZ 159.443 290.64 null] +360 0 obj << +/D [369 0 R /XYZ 166.644 290.64 null] >> endobj 62 0 obj << -/D [362 0 R /XYZ 86.4 248.18 null] +/D [369 0 R /XYZ 93.6 248.18 null] >> endobj -361 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F43 158 0 R /F44 202 0 R /F22 176 0 R /F17 111 0 R >> +368 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F43 158 0 R /F44 202 0 R /F22 176 0 R /F17 111 0 R >> /ProcSet [ /PDF /Text ] >> endobj -378 0 obj << -/Length 6870 +384 0 obj << +/Length 6858 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(5)]TJ -0 g 0 G - [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(17)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(18)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G - -401.542 -35.866 Td [(matrix)-385(and)-385(v)28(ector)-386(managemen)28(t,)-398(is)-385(not)-385(rep)-28(orted)-385(here)-385(for)-385(brevit)27(y)1(;)-412(th)1(e)-386(statemen)28(ts)-385(con-)]TJ 0 -13.549 Td [(cerning)-265(the)-264(deallo)-28(cation)-265(of)-264(the)-265(PSBLAS)-265(d)1(ata)-265(structure)-265(are)-264(negle)-1(cted)-264(to)-28(o.)-422(The)-264(complete)]TJ 0 -13.549 Td [(co)-28(de)-306(can)-307(b)-28(e)-306(found)-306(in)-307(the)-306(example)-307(program)-306(\014le)]TJ/F44 10.9091 Tf 223.485 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-312(in)-306(the)-307(directory)]TJ/F44 10.9091 Tf -332.302 -13.549 Td [(examples/fileread)]TJ/F15 10.9091 Tf 101.625 0 Td [(of)-391(the)-390(MLD2P4)-391(tree)-391(\050see)-391(Section)]TJ +/F15 10.9091 Tf -203.265 -35.866 Td [(matrix)-385(and)-385(v)28(ector)-386(managemen)28(t,)-398(is)-385(not)-385(rep)-28(orted)-385(here)-385(for)-385(brevit)28(y;)-412(t)1(he)-386(statemen)28(ts)-385(con-)]TJ 0 -13.549 Td [(cerning)-265(the)-264(deallo)-28(cation)-265(of)-264(the)-265(PSBLAS)-264(data)-265(structure)-265(are)-264(neglec)-1(ted)-264(to)-28(o.)-422(Th)1(e)-265(complete)]TJ 0 -13.549 Td [(co)-28(de)-306(can)-307(b)-27(e)-307(found)-306(in)-307(the)-306(example)-307(program)-306(\014le)]TJ/F44 10.9091 Tf 223.484 0 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-312(in)-306(the)-307(directory)]TJ/F44 10.9091 Tf -332.301 -13.549 Td [(examples/fileread)]TJ/F15 10.9091 Tf 101.625 0 Td [(of)-391(the)-390(MLD2P4)-391(tree)-391(\050see)-391(Section)]TJ 0 0 1 rg 0 0 1 RG [-390(3.5)]TJ 0 g 0 G - [(\051.)-617(F)83(or)-390(details)-391(on)-391(the)-390(use)-391(of)]TJ -101.625 -13.549 Td [(the)-333(PSBLAS)-334(rout)1(ines)-1(,)-333(see)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334([)]TJ + [(\051.)-617(F)83(or)-390(details)-391(on)-391(the)-390(use)-391(of)]TJ -101.625 -13.549 Td [(the)-333(PSBLAS)-334(rou)1(tines,)-334(see)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334([)]TJ 1 0 0 rg 1 0 0 RG [(15)]TJ 0 g 0 G - [(].)]TJ 16.937 -13.55 Td [(The)-461(setup)-460(and)-461(application)-460(of)-461(the)-460(default)-461(m)28(ulti-lev)28(el)-461(preconditioners)-460(for)-461(the)-460(real)]TJ -16.937 -13.549 Td [(single)-450(precis)-1(i)1(on)-451(and)-450(the)-451(complex,)-479(s)-1(i)1(ngle)-451(and)-450(double)-451(precision,)-479(v)27(ersions)-450(are)-450(obtained)]TJ 0 -13.549 Td [(with)-352(s)-1(t)1(raigh)27(tforw)28(ard)-352(mo)-28(di\014cations)-352(of)-353(the)-352(previous)-353(example)-352(\050see)-353(Section)]TJ + [(])1(.)]TJ 16.936 -13.55 Td [(The)-461(setup)-460(and)-461(application)-460(of)-461(the)-460(default)-461(m)28(ulti-lev)28(el)-461(preconditioners)-460(for)-461(the)-460(real)]TJ -16.936 -13.549 Td [(single)-450(precision)-451(and)-450(the)-451(complex,)-479(single)-451(and)-450(double)-451(precision,)-479(v)28(e)-1(r)1(s)-1(ion)1(s)-451(are)-450(obtained)]TJ 0 -13.549 Td [(with)-352(straigh)27(tfor)1(w)27(ard)-352(mo)-28(di\014cations)-352(of)-353(the)-352(previous)-353(example)-352(\050see)-353(Section)]TJ 0 0 1 rg 0 0 1 RG [-352(6)]TJ 0 g 0 G - [-353(for)-352(details\051.)]TJ 0 -13.549 Td [(If)-503(these)-502(v)27(ersions)-502(are)-503(installed,)-545(the)-503(corresp)-28(on)1(ding)-503(F)83(ortran)-502(95)-503(co)-28(des)-503(ar)1(e)-503(a)28(v)55(ailable)-503(i)1(n)]TJ/F44 10.9091 Tf 0 -13.549 Td [(examples/fileread/)]TJ/F15 10.9091 Tf 103.09 0 Td [(.)]TJ -86.153 -13.55 Td [(Di\013eren)28(t)-270(v)28(ersions)-269(of)-270(m)28(ulti-lev)28(el)-270(precondi)1(tioners)-270(can)-269(b)-28(e)-270(obtai)1(ned)-270(b)28(y)-269(c)27(hanging)-269(the)-269(de-)]TJ -16.937 -13.549 Td [(fault)-273(v)56(alues)-273(of)-272(the)-273(preconditioner)-273(parameters.)-424(The)-273(co)-28(de)-272(rep)-28(orted)-273(in)-272(Figure)]TJ + [-353(for)-352(details\051.)]TJ 0 -13.549 Td [(If)-503(these)-502(v)27(ersions)-502(are)-503(installed,)-545(the)-503(corresp)-27(onding)-503(F)83(ortran)-502(95)-503(co)-28(des)-502(are)-503(a)28(v)55(ailable)-502(in)]TJ/F44 10.9091 Tf 0 -13.549 Td [(examples/fileread/)]TJ/F15 10.9091 Tf 103.09 0 Td [(.)]TJ -86.154 -13.55 Td [(Di\013eren)28(t)-270(v)28(ersions)-269(of)-270(m)28(ulti-lev)28(el)-270(precondition)1(e)-1(r)1(s)-270(can)-269(b)-28(e)-270(obtain)1(e)-1(d)-269(b)28(y)-270(c)28(hanging)-269(the)-270(d)1(e)-1(-)]TJ -16.936 -13.549 Td [(fault)-273(v)56(alues)-273(of)-272(the)-273(preconditioner)-273(parameters.)-424(The)-273(co)-28(d)1(e)-273(rep)-28(orted)-273(in)-272(Figure)]TJ 0 0 1 rg 0 0 1 RG [-273(3)]TJ 0 g 0 G - [-273(sho)28(ws)-273(ho)28(w)]TJ 0 -13.549 Td [(to)-282(set)-281(a)-282(three-lev)28(el)-281(h)27(ybri)1(d)-282(Sc)28(h)28(w)27(arz)-281(preconditioner,)-292(whic)28(h)-282(u)1(s)-1(es)-281(blo)-28(c)28(k)-282(Jacobi)-281(with)-282(ILU\0500\051)]TJ 0 -13.549 Td [(on)-265(the)-265(lo)-28(cal)-265(blo)-27(c)27(ks)-265(as)-265(p)-27(ost-smo)-28(other,)-279(has)-265(a)-265(coarsest)-265(matrix)-265(replicated)-265(on)-264(the)-265(pro)-28(cessors,)]TJ 0 -13.549 Td [(and)-250(solv)28(es)-251(the)-250(coarsest-lev)28(el)-251(system)-250(with)-250(the)-250(LU)-250(factorization)-251(fr)1(om)-251(UMFP)84(A)27(CK)-250([)]TJ + [-273(sho)28(ws)-273(ho)28(w)]TJ 0 -13.549 Td [(to)-281(s)-1(et)-281(a)-282(three-lev)28(el)-281(h)27(ybr)1(id)-282(Sc)28(h)28(w)27(arz)-281(preconditioner,)-292(whic)28(h)-281(use)-1(s)-281(blo)-28(c)28(k)-282(Jacobi)-281(with)-282(ILU\0500\051)]TJ 0 -13.549 Td [(on)-265(the)-265(lo)-28(cal)-265(bl)1(o)-28(c)27(ks)-264(as)-265(p)-28(ost-smo)-28(other,)-279(has)-265(a)-265(coarsest)-265(matrix)-265(replicated)-264(on)-265(the)-265(pro)-28(cessors,)]TJ 0 -13.549 Td [(and)-250(solv)28(es)-251(the)-250(coarsest-lev)28(el)-251(system)-250(with)-250(the)-250(LU)-250(factorization)-251(f)1(rom)-251(UMFP)84(A)28(C)-1(K)-250([)]TJ 1 0 0 rg 1 0 0 RG [(9)]TJ 0 g 0 G - [(].)-416(The)]TJ 0 -13.55 Td [(n)28(um)28(b)-28(er)-362(of)-363(lev)28(els)-362(is)-363(sp)-27(eci\014ed)-363(b)28(y)-362(using)]TJ/F44 10.9091 Tf 182.182 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.726 0 Td [(;)-377(the)-362(other)-362(preconditioner)-362(param-)]TJ -250.908 -13.549 Td [(eters)-351(are)-351(set)-350(b)27(y)-350(calling)]TJ/F44 10.9091 Tf 112.04 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 62.999 0 Td [(.)-497(Note)-350(that)-351(the)-351(t)28(yp)-28(e)-350(of)-351(m)28(ultilev)28(e)-1(l)-350(framew)28(ork)-351(\050i.e.)]TJ -175.039 -13.549 Td [(m)28(ultiplicativ)28(e)-280(among)-279(the)-279(lev)28(els)-280(with)-279(p)-28(ost-smo)-27(othing)-280(only\051)-279(is)-279(not)-279(sp)-28(eci\014ed)-279(since)-280(it)-279(is)-279(the)]TJ 0 -13.549 Td [(default)-333(set)-334(b)28(y)]TJ/F44 10.9091 Tf 68.849 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.726 0 Td [(.)]TJ -120.638 -13.549 Td [(Figure)]TJ + [(].)-416(The)]TJ 0 -13.55 Td [(n)28(um)28(b)-28(er)-362(of)-363(lev)28(els)-362(is)-363(sp)-27(eci\014ed)-363(b)28(y)-362(using)]TJ/F44 10.9091 Tf 182.181 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.727 0 Td [(;)-377(the)-362(other)-362(preconditioner)-362(param-)]TJ -250.908 -13.549 Td [(eters)-351(are)-351(set)-350(b)27(y)-350(calling)]TJ/F44 10.9091 Tf 112.039 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(.)-497(Note)-350(that)-351(the)-351(t)28(yp)-28(e)-350(of)-351(m)28(ultilev)28(el)-351(framew)28(ork)-351(\050i.e.)]TJ -175.039 -13.549 Td [(m)28(ultiplicativ)28(e)-280(among)-279(the)-279(lev)28(els)-280(with)-279(p)-28(ost-smo)-27(othing)-280(onl)1(y\051)-280(is)-279(not)-279(sp)-28(eci\014ed)-279(since)-280(it)-279(is)-279(the)]TJ 0 -13.549 Td [(default)-333(set)-334(b)28(y)]TJ/F44 10.9091 Tf 68.848 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 68.727 0 Td [(.)]TJ -120.639 -13.549 Td [(Figure)]TJ 0 0 1 rg 0 0 1 RG [-301(4)]TJ 0 g 0 G - [-301(sho)28(ws)-301(ho)28(w)-301(to)-301(set)-301(a)-300(three-lev)27(el)-300(additiv)27(e)-300(Sc)27(h)28(w)28(arz)-301(preconditioner,)-307(whic)28(h)-301(uses)]TJ -16.937 -13.55 Td [(RAS,)-433(with)-433(o)28(v)28(erlap)-433(1)-433(and)-433(ILU\0500\051)-433(on)-433(the)-433(b)1(lo)-28(c)27(k)1(s)-1(,)-457(as)-433(pre-)-433(and)-433(p)-28(ost-smo)-28(other,)-458(an)1(d)-433(ap-)]TJ 0 -13.549 Td [(plies)-340(\014v)28(e)-340(blo)-28(c)28(k-Jacobi)-340(sw)28(eeps,)-342(with)-340(the)-340(UMFP)83(A)28(CK)-340(LU)-340(factorization)-340(on)-340(th)1(e)-340(blo)-28(c)28(ks,)-342(as)]TJ 0 -13.549 Td [(distributed)-402(coarsest-le)-1(v)28(el)-402(solv)28(er.)-652(Again,)]TJ/F44 10.9091 Tf 196.866 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 67.39 0 Td [(is)-402(use)-1(d)-402(only)-402(to)-403(set)-402(non-default)]TJ -264.256 -13.549 Td [(v)56(alues)-271(of)-271(the)-271(p)1(arame)-1(ters)-270(\050see)-271(T)83(ables)]TJ + [-301(sho)28(ws)-301(ho)28(w)-301(to)-301(set)-301(a)-300(three-lev)27(el)-301(ad)1(ditiv)27(e)-300(Sc)27(h)28(w)28(arz)-301(preconditioner,)-307(whic)28(h)-301(uses)]TJ -16.936 -13.55 Td [(RAS,)-433(with)-433(o)28(v)28(erlap)-433(1)-433(and)-433(ILU\0500\051)-433(on)-433(the)-433(b)1(lo)-28(c)28(ks)-1(,)-457(as)-433(pre-)-433(and)-433(p)-28(ost-smo)-28(other,)-457(and)-433(ap-)]TJ 0 -13.549 Td [(plies)-340(\014v)28(e)-340(blo)-28(c)28(k-Jacobi)-340(sw)28(eeps,)-342(with)-340(the)-340(UMFP)83(A)28(CK)-340(LU)-340(factorization)-340(on)-339(the)-340(blo)-28(c)28(ks,)-342(as)]TJ 0 -13.549 Td [(distributed)-402(coarsest-lev)27(el)-402(solv)28(er.)-652(Again,)]TJ/F44 10.9091 Tf 196.865 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 67.39 0 Td [(is)-403(u)1(s)-1(ed)-402(only)-402(to)-403(set)-402(non-default)]TJ -264.255 -13.549 Td [(v)56(alues)-271(of)-271(the)-270(paramete)-1(r)1(s)-271(\050see)-271(T)83(ables)]TJ 0 0 1 rg 0 0 1 RG - [-271(2)]TJ + [-270(2)]TJ 0 g 0 G [(-)]TJ 0 0 1 rg 0 0 1 RG [(5)]TJ 0 g 0 G - [(\051.)-423(In)-271(b)-27(oth)-271(cases,)-284(t)1(he)-271(construction)-271(and)-270(the)-271(appli-)]TJ 0 -13.549 Td [(cation)-269(of)-268(the)-269(preconditioner)-269(are)-268(carried)-269(out)-269(as)-269(f)1(or)-269(the)-269(default)-268(m)27(ulti-lev)28(el)-269(precondition)1(e)-1(r)1(.)]TJ 0 -13.549 Td [(The)-368(co)-28(de)-368(fragmen)28(ts)-368(sho)28(wn)-368(in)-368(in)-368(Figures)]TJ + [(\051.)-424(In)-271(b)-27(oth)-271(cases,)-283(the)-271(construction)-271(and)-270(the)-271(appli-)]TJ 0 -13.549 Td [(cation)-269(of)-268(the)-269(preconditioner)-269(are)-268(carried)-269(out)-269(as)-268(for)-269(the)-269(default)-268(m)27(ulti-lev)28(el)-269(precondi)1(tioner.)]TJ 0 -13.549 Td [(The)-368(co)-28(de)-368(fragmen)28(ts)-368(sho)28(wn)-368(in)-368(in)-368(Figures)]TJ 0 0 1 rg 0 0 1 RG [-368(3)]TJ 0 g 0 G @@ -2500,129 +2557,125 @@ BT 0 0 1 rg 0 0 1 RG [(4)]TJ 0 g 0 G - [-368(are)-368(included)-368(in)-368(the)-368(example)-368(program)-368(\014le)]TJ/F44 10.9091 Tf 0 -13.55 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 112.454 0 Td [(to)-28(o.)]TJ -95.517 -13.549 Td [(Finally)84(,)-296(Figure)]TJ + [-368(are)-368(included)-368(in)-368(the)-368(example)-368(program)-368(\014le)]TJ/F44 10.9091 Tf 0 -13.55 Td [(mld_dexample_ml.f90)]TJ/F15 10.9091 Tf 112.453 0 Td [(to)-28(o.)]TJ -95.517 -13.549 Td [(Finally)83(,)-295(Figure)]TJ 0 0 1 rg 0 0 1 RG [-286(5)]TJ 0 g 0 G - [-286(sho)28(ws)-286(the)-286(setup)-286(of)-285(a)-286(one-lev)27(el)-286(addi)1(tiv)27(e)-286(Sc)28(h)28(w)28(arz)-286(preconditioner,)-295(i.e.)]TJ -16.937 -13.549 Td [(RAS)-231(with)-231(o)28(v)27(erlap)-231(2.)-410(The)-231(corresp)-28(onding)-231(example)-231(program)-231(is)-232(a)28(v)56(ailable)-231(in)]TJ/F44 10.9091 Tf 337.998 0 Td [(mld_dexample_)]TJ -337.998 -13.549 Td [(1lev.f90)]TJ/F15 10.9091 Tf 45.818 0 Td [(.)]TJ -28.881 -13.549 Td [(F)83(or)-452(all)-452(the)-452(previou)1(s)-453(pr)1(e)-1(cond)1(itioners,)-482(example)-452(programs)-452(where)-452(the)-452(sparse)-452(matrix)]TJ -16.937 -13.55 Td [(and)-371(t)1(he)-371(righ)28(t-hand)-371(side)-370(are)-371(generated)-370(b)27(y)-370(discretizing)-371(a)-370(PDE)-371(with)-370(Diric)28(hlet)-371(b)-28(oundary)]TJ 0 -13.549 Td [(conditions)-333(are)-334(also)-333(a)28(v)55(ailabl)1(e)-334(in)-333(the)-333(directory)]TJ/F44 10.9091 Tf 215.061 0 Td [(examples/pdegen)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ + [-286(sho)28(ws)-286(the)-286(setup)-286(of)-286(a)-285(one-le)-1(v)28(el)-286(additiv)28(e)-286(Sc)28(h)28(w)28(arz)-286(preconditioner,)-295(i.e.)]TJ -16.936 -13.549 Td [(RAS)-231(with)-231(o)28(v)27(erlap)-231(2.)-410(The)-231(corresp)-28(onding)-231(example)-231(program)-231(is)-232(a)28(v)56(ailable)-231(in)]TJ/F44 10.9091 Tf 337.997 0 Td [(mld_dexample_)]TJ -337.997 -13.549 Td [(1lev.f90)]TJ/F15 10.9091 Tf 45.817 0 Td [(.)]TJ -28.881 -13.549 Td [(F)83(or)-452(all)-452(the)-452(previous)-452(preconditi)1(oners)-1(,)-481(example)-452(programs)-452(where)-452(the)-452(sparse)-452(matrix)]TJ -16.936 -13.55 Td [(and)-370(the)-371(righ)28(t-hand)-371(side)-370(are)-371(generated)-370(b)27(y)-370(discretizing)-371(a)-370(PDE)-371(with)-370(Diric)28(hlet)-371(b)-28(oundary)]TJ 0 -13.549 Td [(conditions)-333(are)-334(also)-333(a)28(v)55(ailab)1(le)-334(in)-333(the)-333(directory)]TJ/F44 10.9091 Tf 215.061 0 Td [(examples/pdegen)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -377 0 obj << +383 0 obj << /Type /Page -/Contents 378 0 R -/Resources 376 0 R +/Contents 384 0 R +/Resources 382 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R -/Annots [ 375 0 R 359 0 R 360 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R ] +/Parent 310 0 R +/Annots [ 365 0 R 366 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R ] >> endobj -375 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.5) >> ->> endobj -359 0 obj << +365 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [358.228 659.765 374.16 672.667] +/Rect [351.028 659.765 366.96 672.667] /Subtype /Link /A << /S /GoTo /D (subsection.3.5) >> >> endobj -360 0 obj << +366 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [352.377 648.943 365.279 657.966] +/Rect [345.177 648.943 358.078 657.966] /Subtype /Link /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> endobj -366 0 obj << +373 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [440.607 605.568 448.054 618.47] +/Rect [433.406 605.568 440.853 618.47] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -367 0 obj << +374 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [446.862 551.978 454.309 563.667] +/Rect [439.662 551.978 447.109 563.667] /Subtype /Link /A << /S /GoTo /D (figure.3) >> >> endobj -368 0 obj << +375 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [470.206 513.451 477.653 522.474] +/Rect [463.005 513.451 470.452 522.474] /Subtype /Link /A << /S /GoTo /D (cite.UMFPACK) >> >> endobj -369 0 obj << +376 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.61 443.584 151.057 455.274] +/Rect [136.41 443.584 143.857 455.274] /Subtype /Link /A << /S /GoTo /D (figure.4) >> >> endobj -370 0 obj << +377 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [264.868 388.781 272.315 401.683] +/Rect [257.668 388.781 265.115 401.683] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -371 0 obj << +378 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [273.959 388.781 281.406 401.683] +/Rect [266.759 388.781 274.206 401.683] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -372 0 obj << +379 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [290.496 362.289 297.943 373.978] +/Rect [283.296 362.289 290.743 373.978] /Subtype /Link /A << /S /GoTo /D (figure.3) >> >> endobj -373 0 obj << +380 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [299.587 362.289 307.034 373.978] +/Rect [292.387 362.289 299.834 373.978] /Subtype /Link /A << /S /GoTo /D (figure.4) >> >> endobj -374 0 obj << +381 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [182.276 335.191 189.723 346.88] +/Rect [175.076 335.191 182.523 346.88] /Subtype /Link /A << /S /GoTo /D (figure.5) >> >> endobj -379 0 obj << -/D [377 0 R /XYZ 93.6 740.002 null] +385 0 obj << +/D [383 0 R /XYZ 86.4 740.002 null] >> endobj -376 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> +382 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -385 0 obj << -/Length 3387 +392 0 obj << +/Length 3418 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(18)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(5)]TJ +0 g 0 G + [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(19)]TJ 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -172.181 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.46 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.46 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.46 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.46 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.46 -11.956 Td [(!)-525(preconditioner)]TJ 10.46 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.46 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.46 -11.955 Td [(real\050kind\0501.d0\051\051)-3150(::)-525(b\050:\051,)-525(x\050:\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multi-level)-525(preconditioner,)-525(i.e.)-525(hybrid)]TJ 0 -11.955 Td [(!)-525(Schwarz,)-525(using)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)]TJ 0 -11.956 Td [(!)-525(as)-525(post-smoother)-525(and)-525(4)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.955 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarse-level)-525(solver)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.46 -11.955 Td [(call)-525(mld_precbld\050A,desc_A,P,info\051)]TJ -10.46 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.46 -11.955 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(BiCGSTAB)]TJ 10.46 -11.955 Td [(call)-525(psb_krylov\050'BICGSTAB',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.956 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.46 -11.955 Td [(call)-525(mld_precfree\050P,info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.46 -11.956 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ +/F44 9.9626 Tf -370.457 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.461 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.461 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.461 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.461 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.461 -11.956 Td [(!)-525(preconditioner)]TJ 10.461 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.461 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.461 -11.955 Td [(real\050kind\0501.d0\051\051)-3150(::)-525(b\050:\051,)-525(x\050:\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multi-level)-525(preconditioner,)-525(i.e.)-525(hybrid)]TJ 0 -11.955 Td [(!)-525(Schwarz,)-525(using)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)]TJ 0 -11.956 Td [(!)-525(as)-525(post-smoother)-525(and)-525(4)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.955 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarse-level)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(mld_precbld\050A,desc_A,P,info\051)]TJ -10.461 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.461 -11.955 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(BiCGSTAB)]TJ 10.461 -11.955 Td [(call)-525(psb_krylov\050'BICGSTAB',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.956 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.461 -11.955 Td [(call)-525(mld_precfree\050P,info\051)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.461 -11.956 Td [(...)-525(...)]TJ -10.461 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.461 -11.955 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ 0 g 0 G /F15 10.9091 Tf -23.026 -20.749 Td [(Figure)-333(2:)-445(Setup)-333(and)-333(application)-333(of)-334(the)-333(default)-333(m)28(ulti-lev)27(el)-333(Sc)28(h)28(w)27(arz)-333(preconditioner.)]TJ 0 g 0 G @@ -2632,42 +2685,47 @@ BT ET endstream endobj -384 0 obj << +391 0 obj << /Type /Page -/Contents 385 0 R -/Resources 383 0 R +/Contents 392 0 R +/Resources 390 0 R /MediaBox [0 0 595.276 841.89] -/Parent 320 0 R +/Parent 394 0 R +/Annots [ 389 0 R ] >> endobj -386 0 obj << -/D [384 0 R /XYZ 86.4 740.002 null] +389 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.5) >> >> endobj -365 0 obj << -/D [384 0 R /XYZ 142.216 127.96 null] +393 0 obj << +/D [391 0 R /XYZ 93.6 740.002 null] >> endobj -383 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R >> -/ProcSet [ /PDF /Text ] +372 0 obj << +/D [391 0 R /XYZ 149.417 127.96 null] >> endobj 390 0 obj << -/Length 3024 +/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +397 0 obj << +/Length 3003 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(5)]TJ -0 g 0 G - [-378(Getting)-378(St)67(ar)67(ted)]TJ/F15 10.9091 Tf 401.542 0 Td [(19)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(20)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -380.918 -61.661 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.955 Td [(!)-525(LU)-525(factorization)-525(from)-525(UMFPACK)-525(as)-525(coarse-level)-525(solver)]TJ 10.461 -11.956 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,mld_smoother_type_,'BJAC',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_mat_,'REPL',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_solve_,'UMF',info\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -182.641 -61.661 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.955 Td [(!)-525(LU)-525(factorization)-525(from)-525(UMFPACK)-525(as)-525(coarse-level)-525(solver)]TJ 10.46 -11.956 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,mld_smoother_type_,'BJAC',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_mat_,'REPL',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_solve_,'UMF',info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 g 0 G -/F15 10.9091 Tf 34.98 -18.535 Td [(Figure)-333(3:)-445(Setup)-333(of)-333(a)-334(h)28(ybrid)-333(three-lev)28(el)-334(Sc)28(h)28(w)28(arz)-334(p)1(re)-1(cond)1(itioner.)]TJ +/F15 10.9091 Tf 34.98 -18.535 Td [(Figure)-333(3:)-445(Setup)-333(of)-333(a)-334(h)28(ybrid)-333(three-lev)28(el)-334(S)1(c)27(h)28(w)28(arz)-334(p)1(rec)-1(on)1(ditioner.)]TJ 0 g 0 G 0 g 0 G 0 g 0 G @@ -2675,9 +2733,9 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -34.98 -94.309 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(additive)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(pre-)-525(and)]TJ 0 -11.955 Td [(!)-525(post-smoother,)-525(and)-525(5)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.956 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarsest-level)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_ml_type_,'ADD',info\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,mld_smoother_pos_,'TWOSIDE',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_sweeps_,5,info\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -34.98 -94.309 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(additive)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(pre-)-525(and)]TJ 0 -11.955 Td [(!)-525(post-smoother,)-525(and)-525(5)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.956 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarsest-level)-525(solver)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_ml_type_,'ADD',info\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,mld_smoother_pos_,'TWOSIDE',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_sweeps_,5,info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 g 0 G -/F15 10.9091 Tf 28.329 -18.535 Td [(Figure)-333(4:)-445(Setup)-333(of)-333(an)-333(additiv)27(e)-333(three-lev)28(el)-334(Sc)28(h)28(w)28(arz)-334(p)1(re)-1(cond)1(itioner.)]TJ +/F15 10.9091 Tf 28.328 -18.535 Td [(Figure)-333(4:)-445(Setup)-333(of)-333(an)-334(add)1(itiv)27(e)-333(three-lev)28(el)-334(Sc)28(h)28(w)28(arz)-334(precondi)1(tioner.)]TJ 0 g 0 G 0 g 0 G 0 g 0 G @@ -2685,9 +2743,9 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -28.329 -94.309 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(RAS)-525(with)-525(overlap)-525(2)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(local)-525(blocks)]TJ 10.461 -11.955 Td [(call)-525(mld_precinit\050P,'AS',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_sub_ovr_,2,info\051)]TJ -10.461 -11.956 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -28.328 -94.309 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(RAS)-525(with)-525(overlap)-525(2)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(local)-525(blocks)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'AS',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_sub_ovr_,2,info\051)]TJ -10.46 -11.956 Td [(...)-525(...)]TJ 0 g 0 G -/F15 10.9091 Tf 56.223 -18.534 Td [(Figure)-333(5:)-445(Setup)-333(of)-333(a)-334(on)1(e)-1(-lev)28(el)-333(Sc)28(h)27(w)28(arz)-333(preconditioner.)]TJ +/F15 10.9091 Tf 56.222 -18.534 Td [(Figure)-333(5:)-445(Setup)-333(of)-333(a)-334(one-lev)28(el)-333(Sc)28(h)27(w)28(arz)-333(preconditioner.)]TJ 0 g 0 G 0 g 0 G 0 g 0 G @@ -2695,62 +2753,57 @@ BT ET endstream endobj -389 0 obj << +396 0 obj << /Type /Page -/Contents 390 0 R -/Resources 388 0 R +/Contents 397 0 R +/Resources 395 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R -/Annots [ 387 0 R ] +/Parent 394 0 R >> endobj -387 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.5) >> ->> endobj -391 0 obj << -/D [389 0 R /XYZ 93.6 740.002 null] ->> endobj -380 0 obj << -/D [389 0 R /XYZ 196.962 565.759 null] +398 0 obj << +/D [396 0 R /XYZ 86.4 740.002 null] >> endobj -381 0 obj << -/D [389 0 R /XYZ 190.311 345.319 null] +386 0 obj << +/D [396 0 R /XYZ 189.762 565.759 null] >> endobj -382 0 obj << -/D [389 0 R /XYZ 218.204 184.655 null] +387 0 obj << +/D [396 0 R /XYZ 183.11 345.319 null] >> endobj 388 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> +/D [396 0 R /XYZ 211.004 184.655 null] +>> endobj +395 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -396 0 obj << -/Length 5952 +403 0 obj << +/Length 5985 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(20)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(21)]TJ 0 g 0 G -/F17 14.3462 Tf -203.265 -35.866 Td [(6)-1125(User)-375(In)31(terface)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-396(basic)-396(user)-396(in)28(terface)-397(of)-396(MLD2P4)-396(consists)-396(of)-396(six)-396(routines.)-633(The)-396(four)-396(routines)]TJ/F44 10.9091 Tf 389.542 0 Td [(mld_)]TJ -389.542 -13.549 Td [(precinit)]TJ/F15 10.9091 Tf 45.817 0 Td [(,)]TJ/F44 10.9091 Tf 6.096 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 62.999 0 Td [(,)]TJ/F44 10.9091 Tf 6.096 0 Td [(mld_precbld)]TJ/F15 10.9091 Tf 65.922 0 Td [(and)]TJ/F44 10.9091 Tf 20.498 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 71.649 0 Td [(encapsulate)-268(all)-268(the)-268(function-)]TJ -279.077 -13.549 Td [(alities)-323(for)-322(the)-323(setup)-323(an)1(d)-323(the)-323(application)-322(of)-323(an)28(y)-323(one-lev)28(el)-323(and)-322(m)28(ulti-lev)27(el)-322(preconditioner)]TJ 0 -13.549 Td [(implemen)28(ted)-293(in)-292(the)-293(pac)28(k)55(age.)-431(The)-292(routine)]TJ/F44 10.9091 Tf 198.571 0 Td [(mld_precfree)]TJ/F15 10.9091 Tf 71.919 0 Td [(deallo)-28(cates)-293(th)1(e)-293(preconditioner)]TJ -270.49 -13.55 Td [(data)-387(structure,)-401(while)]TJ/F44 10.9091 Tf 105.072 0 Td [(mld_precdescr)]TJ/F15 10.9091 Tf 78.681 0 Td [(prin)28(ts)-388(a)-387(description)-388(of)-387(the)-388(p)1(re)-1(cond)1(itioner)-388(setup)]TJ -183.753 -13.549 Td [(b)28(y)-333(the)-334(user.)]TJ 16.936 -13.549 Td [(F)83(or)-222(eac)28(h)-222(routine,)-245(the)-222(same)-222(user)-222(in)27(terface)-222(is)-222(o)28(v)27(erloaded)-222(with)-222(resp)-28(ect)-222(to)-222(the)-222(real/complex)]TJ -16.936 -13.549 Td [(case)-371(and)-371(t)1(he)-371(single/double)-371(precision;)-389(argumen)28(ts)-371(with)-371(appropriate)-370(data)-371(t)28(yp)-28(es)-371(m)28(ust)-371(b)-28(e)]TJ 0 -13.549 Td [(passed)-333(to)-334(the)-333(routine,)-333(i.e.)]TJ +/F17 14.3462 Tf -401.542 -35.866 Td [(6)-1125(User)-375(In)31(terface)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-396(basic)-396(user)-396(in)28(te)-1(rf)1(ac)-1(e)-396(of)-396(MLD2P4)-396(consists)-396(of)-396(six)-396(routines.)-633(The)-396(four)-396(routines)]TJ/F44 10.9091 Tf 389.542 0 Td [(mld_)]TJ -389.542 -13.549 Td [(precinit)]TJ/F15 10.9091 Tf 45.818 0 Td [(,)]TJ/F44 10.9091 Tf 6.095 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(,)]TJ/F44 10.9091 Tf 6.095 0 Td [(mld_precbld)]TJ/F15 10.9091 Tf 65.922 0 Td [(and)]TJ/F44 10.9091 Tf 20.498 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 71.65 0 Td [(encapsulate)-268(all)-268(the)-268(fun)1(c)-1(tion)1(-)]TJ -279.078 -13.549 Td [(alities)-323(for)-322(the)-323(setup)-323(and)-322(the)-323(application)-322(of)-323(an)28(y)-323(one-lev)28(el)-323(and)-322(m)28(ulti-lev)27(el)-322(preconditioner)]TJ 0 -13.549 Td [(implemen)28(ted)-293(in)-292(the)-293(pac)28(k)55(age.)-431(The)-292(routine)]TJ/F44 10.9091 Tf 198.572 0 Td [(mld_precfree)]TJ/F15 10.9091 Tf 71.919 0 Td [(deallo)-28(cates)-292(the)-293(preconditioner)]TJ -270.491 -13.55 Td [(data)-387(s)-1(tr)1(ucture,)-401(while)]TJ/F44 10.9091 Tf 105.073 0 Td [(mld_precdescr)]TJ/F15 10.9091 Tf 78.681 0 Td [(prin)28(ts)-388(a)-387(description)-388(of)-387(the)-387(preconditioner)-388(setup)]TJ -183.754 -13.549 Td [(b)28(y)-334(t)1(he)-334(user.)]TJ 16.937 -13.549 Td [(F)83(or)-222(eac)28(h)-222(routine,)-245(the)-222(same)-222(user)-222(in)27(terface)-222(is)-222(o)28(v)27(erl)1(oade)-1(d)-222(with)-222(resp)-28(ect)-222(to)-222(the)-222(real/complex)]TJ -16.937 -13.549 Td [(case)-371(and)-371(th)1(e)-371(single/double)-371(precision;)-389(argumen)27(t)1(s)-371(with)-371(appropriate)-371(d)1(ata)-371(t)28(yp)-28(es)-371(m)28(ust)-371(b)-28(e)]TJ 0 -13.549 Td [(passed)-333(to)-334(the)-333(routine,)-333(i.e.)]TJ 0 g 0 G -/F25 10.9091 Tf 16.363 -22.516 Td [(\017)]TJ +/F25 10.9091 Tf 16.364 -22.516 Td [(\017)]TJ 0 g 0 G -/F15 10.9091 Tf 10.91 0 Td [(the)-463(sparse)-463(matrix)-463(data)-463(structure,)-496(con)28(taining)-463(the)-463(matrix)-463(to)-463(b)-28(e)-463(preconditioned,)]TJ 0 -13.549 Td [(m)28(ust)-424(b)-28(e)-424(of)-423(t)27(yp)-27(e)]TJ/F44 10.9091 Tf 82.797 0 Td [(psb_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(spmat_type)]TJ/F15 10.9091 Tf 61.896 0 Td [(with)]TJ/F18 10.9091 Tf 25.836 0 Td [(x)]TJ/F15 10.9091 Tf 10.998 0 Td [(=)]TJ/F44 10.9091 Tf 13.108 0 Td [(s)]TJ/F15 10.9091 Tf 10.351 0 Td [(for)-424(real)-424(single)-423(precision,)]TJ/F18 10.9091 Tf 121.075 0 Td [(x)]TJ/F15 10.9091 Tf 10.998 0 Td [(=)]TJ/F44 10.9091 Tf 13.109 0 Td [(d)]TJ/F15 10.9091 Tf -379.451 -13.549 Td [(for)-371(real)-371(double)-371(precision,)]TJ/F18 10.9091 Tf 123.413 0 Td [(x)]TJ/F15 10.9091 Tf 10.421 0 Td [(=)]TJ/F44 10.9091 Tf 12.532 0 Td [(c)]TJ/F15 10.9091 Tf 9.775 0 Td [(for)-371(complex)-371(single)-371(precision,)]TJ/F18 10.9091 Tf 140.11 0 Td [(x)]TJ/F15 10.9091 Tf 10.421 0 Td [(=)]TJ/F44 10.9091 Tf 12.533 0 Td [(z)]TJ/F15 10.9091 Tf 9.774 0 Td [(for)-371(complex)]TJ -328.979 -13.55 Td [(double)-333(precision;)]TJ +/F15 10.9091 Tf 10.909 0 Td [(the)-463(sparse)-463(matrix)-463(data)-463(structure,)-496(con)28(taining)-463(the)-463(matrix)-463(to)-463(b)-28(e)-463(preconditioned,)]TJ 0 -13.549 Td [(m)28(ust)-424(b)-28(e)-424(of)-423(t)27(yp)-27(e)]TJ/F44 10.9091 Tf 82.798 0 Td [(psb_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(spmat_type)]TJ/F15 10.9091 Tf 61.896 0 Td [(with)]TJ/F18 10.9091 Tf 25.835 0 Td [(x)]TJ/F15 10.9091 Tf 10.998 0 Td [(=)]TJ/F44 10.9091 Tf 13.109 0 Td [(s)]TJ/F15 10.9091 Tf 10.351 0 Td [(for)-424(real)-424(single)-423(precision,)]TJ/F18 10.9091 Tf 121.075 0 Td [(x)]TJ/F15 10.9091 Tf 10.998 0 Td [(=)]TJ/F44 10.9091 Tf 13.108 0 Td [(d)]TJ/F15 10.9091 Tf -379.451 -13.549 Td [(for)-371(real)-371(double)-371(precision,)]TJ/F18 10.9091 Tf 123.413 0 Td [(x)]TJ/F15 10.9091 Tf 10.422 0 Td [(=)]TJ/F44 10.9091 Tf 12.532 0 Td [(c)]TJ/F15 10.9091 Tf 9.774 0 Td [(for)-371(complex)-371(single)-371(precision,)]TJ/F18 10.9091 Tf 140.11 0 Td [(x)]TJ/F15 10.9091 Tf 10.422 0 Td [(=)]TJ/F44 10.9091 Tf 12.532 0 Td [(z)]TJ/F15 10.9091 Tf 9.774 0 Td [(for)-371(complex)]TJ -328.979 -13.55 Td [(double)-333(precision;)]TJ 0 g 0 G -/F25 10.9091 Tf -10.91 -22.515 Td [(\017)]TJ +/F25 10.9091 Tf -10.909 -22.515 Td [(\017)]TJ 0 g 0 G -/F15 10.9091 Tf 10.91 0 Td [(the)-337(preconditioner)-337(data)-337(structure)-337(m)28(ust)-337(b)-28(e)-337(of)-337(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 241.775 0 Td [(mld_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type)]TJ/F15 10.9091 Tf 51.545 0 Td [(,)-338(with)]TJ/F18 10.9091 Tf 31.605 0 Td [(x)]TJ/F15 10.9091 Tf 10.051 0 Td [(=)]TJ/F44 10.9091 Tf 12.161 0 Td [(s)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)]TJ/F44 10.9091 Tf -382.148 -13.549 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.666 0 Td [(c)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)]TJ/F44 10.9091 Tf 6.666 0 Td [(z)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)-333(according)-334(to)-333(the)-333(sparse)-334(matrix)-333(data)-333(structure;)]TJ +/F15 10.9091 Tf 10.909 0 Td [(the)-337(preconditioner)-337(data)-337(structure)-337(m)28(ust)-337(b)-28(e)-337(of)-337(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 241.776 0 Td [(mld_)]TJ/F18 10.9091 Tf 22.908 0 Td [(x)]TJ/F44 10.9091 Tf 6.375 0 Td [(prec_type)]TJ/F15 10.9091 Tf 51.544 0 Td [(,)-338(with)]TJ/F18 10.9091 Tf 31.606 0 Td [(x)]TJ/F15 10.9091 Tf 10.051 0 Td [(=)]TJ/F44 10.9091 Tf 12.161 0 Td [(s)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf -382.148 -13.549 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.667 0 Td [(c)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.667 0 Td [(z)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-333(according)-334(to)-333(the)-333(sparse)-334(matrix)-333(data)-333(structure;)]TJ 0 g 0 G -/F25 10.9091 Tf -41.425 -22.516 Td [(\017)]TJ +/F25 10.9091 Tf -41.424 -22.516 Td [(\017)]TJ 0 g 0 G -/F15 10.9091 Tf 10.91 0 Td [(the)-321(arra)28(ys)-321(con)27(t)1(aining)-321(the)-322(v)28(ectors)]TJ/F22 10.9091 Tf 159.846 0 Td [(v)]TJ/F15 10.9091 Tf 9.182 0 Td [(and)]TJ/F22 10.9091 Tf 21.078 0 Td [(w)]TJ/F15 10.9091 Tf 11.607 0 Td [(in)28(v)28(olv)27(ed)-321(in)-321(the)-321(precondition)1(e)-1(r)-321(app)1(lica-)]TJ -201.713 -13.549 Td [(tion)]TJ/F22 10.9091 Tf 21.781 0 Td [(w)]TJ/F15 10.9091 Tf 11.133 0 Td [(=)]TJ/F22 10.9091 Tf 11.516 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(v)]TJ/F15 10.9091 Tf 8.673 0 Td [(m)28(ust)-275(b)-27(e)-275(of)-274(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 76.275 0 Td [(psb_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(vect_type)]TJ/F15 10.9091 Tf 54.538 0 Td [(with)]TJ/F18 10.9091 Tf 24.206 0 Td [(x)]TJ/F15 10.9091 Tf 9.367 0 Td [(=)]TJ/F44 10.9091 Tf 11.478 0 Td [(s)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.152 0 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.153 0 Td [(c)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.152 0 Td [(z)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-286(in)-274(a)-275(manner)]TJ -322.706 -13.549 Td [(completely)-333(analogous)-334(to)-333(the)-333(sparse)-334(matrix)-333(t)28(yp)-28(e;)]TJ +/F15 10.9091 Tf 10.909 0 Td [(the)-321(arra)28(ys)-321(con)27(tain)1(ing)-321(the)-322(v)28(ectors)]TJ/F22 10.9091 Tf 159.847 0 Td [(v)]TJ/F15 10.9091 Tf 9.182 0 Td [(and)]TJ/F22 10.9091 Tf 21.078 0 Td [(w)]TJ/F15 10.9091 Tf 11.606 0 Td [(in)28(v)28(olv)27(ed)-321(in)-321(the)-321(preconditioner)-321(appli)1(c)-1(a-)]TJ -201.713 -13.549 Td [(tion)]TJ/F22 10.9091 Tf 21.781 0 Td [(w)]TJ/F15 10.9091 Tf 11.134 0 Td [(=)]TJ/F22 10.9091 Tf 11.515 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -3.959 Td [(v)]TJ/F15 10.9091 Tf 8.672 0 Td [(m)28(ust)-275(b)-27(e)-275(of)-274(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 76.276 0 Td [(psb_)]TJ/F18 10.9091 Tf 22.909 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(vect_type)]TJ/F15 10.9091 Tf 54.538 0 Td [(with)]TJ/F18 10.9091 Tf 24.205 0 Td [(x)]TJ/F15 10.9091 Tf 9.367 0 Td [(=)]TJ/F44 10.9091 Tf 11.478 0 Td [(s)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)]TJ/F44 10.9091 Tf 6.152 0 Td [(d)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.152 0 Td [(c)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)]TJ/F44 10.9091 Tf 6.152 0 Td [(z)]TJ/F15 10.9091 Tf 5.728 0 Td [(,)-286(in)-274(a)-275(manner)]TJ -322.707 -13.549 Td [(completely)-333(analogous)-334(to)-333(the)-333(sparse)-334(matrix)-333(t)28(yp)-28(e;)]TJ 0 g 0 G -/F25 10.9091 Tf -10.91 -22.516 Td [(\017)]TJ +/F25 10.9091 Tf -10.909 -22.516 Td [(\017)]TJ 0 g 0 G -/F15 10.9091 Tf 10.91 0 Td [(real)-450(parameters)-450(de\014ning)-450(the)-450(preconditioner)-450(m)28(ust)-450(b)-27(e)-450(dec)-1(l)1(are)-1(d)-449(acc)-1(or)1(ding)-450(to)-450(the)]TJ 0 -13.549 Td [(precision)-245(of)-246(the)-245(sparse)-246(matrix)-245(and)-245(preconditioner)-246(data)-245(structures)-245(\050see)-246(Section)]TJ +/F15 10.9091 Tf 10.909 0 Td [(real)-450(parameters)-450(de\014ning)-450(the)-450(preconditioner)-450(m)28(ust)-450(b)-28(e)-450(d)1(e)-1(clared)-449(ac)-1(cord)1(ing)-450(to)-450(the)]TJ 0 -13.549 Td [(precision)-245(of)-246(the)-245(sparse)-246(matrix)-245(and)-245(preconditioner)-246(data)-245(structures)-245(\050se)-1(e)-245(Section)]TJ 0 0 1 rg 0 0 1 RG [-245(6.2)]TJ 0 g 0 G @@ -2760,53 +2813,57 @@ BT ET endstream endobj -395 0 obj << +402 0 obj << /Type /Page -/Contents 396 0 R -/Resources 394 0 R +/Contents 403 0 R +/Resources 401 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R -/Annots [ 393 0 R ] +/Parent 394 0 R +/Annots [ 400 0 R 399 0 R ] >> endobj -393 0 obj << +400 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> +>> endobj +399 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [476.642 382.76 492.574 395.662] +/Rect [483.843 382.76 499.775 395.662] /Subtype /Link /A << /S /GoTo /D (subsection.6.2) >> >> endobj -397 0 obj << -/D [395 0 R /XYZ 86.4 740.002 null] +404 0 obj << +/D [402 0 R /XYZ 93.6 740.002 null] >> endobj 66 0 obj << -/D [395 0 R /XYZ 86.4 715.095 null] +/D [402 0 R /XYZ 93.6 715.095 null] >> endobj -394 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F25 177 0 R /F18 174 0 R /F22 176 0 R /F26 271 0 R /F20 272 0 R >> +401 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F25 177 0 R /F18 174 0 R /F22 176 0 R /F26 278 0 R /F20 279 0 R >> /ProcSet [ /PDF /Text ] >> endobj -403 0 obj << -/Length 3089 +409 0 obj << +/Length 3097 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(21)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(22)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.1)-1125(Subroutine)-375(mld)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.1)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 216.622 704.336 cm +1 0 0 1 209.422 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 220.657 704.136 Td [(precinit)]TJ +/F17 11.9552 Tf 213.457 704.136 Td [(precinit)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 4.715 -20.594 Td [(mld_precinit\050p,ptype,info\051)]TJ -14.318 -13.549 Td [(mld_precinit\050p,ptype,info,nlev\051)]TJ/F15 10.9091 Tf -117.454 -25.505 Td [(This)-268(routine)-268(allo)-28(cates)-268(and)-269(initi)1(alize)-1(s)-268(the)-268(preconditioner)-268(data)-268(structure,)-281(ac)-1(cord)1(ing)-269(to)-268(the)]TJ 0 -13.549 Td [(preconditioner)-333(t)28(yp)-28(e)-333(c)27(hosen)-333(b)28(y)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -40.648 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.589 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.697 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(ptype)-1589(character\050len=*\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 206.333 0 Td [(.)]TJ -160.362 -13.549 Td [(The)-333(t)27(yp)-27(e)-334(of)-333(preconditioner.)-444(Its)-334(v)56(alues)-333(are)-334(sp)-28(eci\014ed)-333(in)-333(T)83(able)]TJ +/F44 10.9091 Tf 4.715 -20.594 Td [(mld_precinit\050p,ptype,info\051)]TJ -14.318 -13.549 Td [(mld_precinit\050p,ptype,info,nlev\051)]TJ/F15 10.9091 Tf -117.454 -25.505 Td [(This)-268(routine)-268(allo)-28(cates)-268(and)-269(in)1(itializes)-269(the)-268(preconditioner)-268(data)-268(structure,)-281(acc)-1(or)1(ding)-269(to)-268(the)]TJ 0 -13.549 Td [(preconditioner)-333(t)28(yp)-28(e)-333(c)27(hosen)-333(b)28(y)-334(th)1(e)-334(user.)]TJ/F17 11.9552 Tf 0 -40.648 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.588 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.696 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(ptype)-1589(character\050len=*\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 206.333 0 Td [(.)]TJ -160.362 -13.549 Td [(The)-333(t)27(yp)-27(e)-334(of)-333(preconditioner.)-444(Its)-334(v)56(alues)-333(are)-334(sp)-27(e)-1(ci\014ed)-333(in)-333(T)83(able)]TJ 0 0 1 rg 0 0 1 RG [-333(1)]TJ 0 g 0 G @@ -2814,76 +2871,72 @@ BT 0 0 1 rg 0 0 1 RG [-333(7)]TJ 0 g 0 G - [-333(for)-334(details.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(nlev)-2114(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(The)-436(n)27(um)28(b)-28(er)-436(of)-436(lev)28(els)-437(of)-436(the)-437(m)28(ultilev)28(el)-436(preconditioner.)-754(If)]TJ/F44 10.9091 Tf 284.637 0 Td [(nlev)]TJ/F15 10.9091 Tf 27.669 0 Td [(is)-436(not)]TJ -312.306 -13.549 Td [(presen)28(t)-418(and)]TJ/F44 10.9091 Tf 61.016 0 Td [(ptype)]TJ/F15 10.9091 Tf 28.636 0 Td [(=)]TJ/F44 10.9091 Tf 8.485 0 Td [('ML')]TJ/F15 10.9091 Tf 22.909 0 Td [(,)]TJ/F44 10.9091 Tf 7.584 0 Td [('ml')]TJ/F15 10.9091 Tf 22.909 0 Td [(,)-438(then)]TJ/F44 10.9091 Tf 33.578 0 Td [(nlev)]TJ/F15 10.9091 Tf 22.909 0 Td [(=2)-417(is)-418(assumed.)-697(Oth)1(e)-1(r)1(w)-1(i)1(s)-1(e,)]TJ/F44 10.9091 Tf -208.026 -13.549 Td [(nlev)]TJ/F15 10.9091 Tf 26.545 0 Td [(is)-333(ignored.)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(nlev)-2114(integer,)-525(optional,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(The)-436(n)27(um)28(b)-27(e)-1(r)-436(of)-436(lev)28(els)-437(of)-436(the)-437(m)28(ultilev)28(el)-436(preconditioner.)-754(If)]TJ/F44 10.9091 Tf 284.637 0 Td [(nlev)]TJ/F15 10.9091 Tf 27.669 0 Td [(is)-436(not)]TJ -312.306 -13.549 Td [(presen)28(t)-418(and)]TJ/F44 10.9091 Tf 61.016 0 Td [(ptype)]TJ/F15 10.9091 Tf 28.636 0 Td [(=)]TJ/F44 10.9091 Tf 8.485 0 Td [('ML')]TJ/F15 10.9091 Tf 22.909 0 Td [(,)]TJ/F44 10.9091 Tf 7.584 0 Td [('ml')]TJ/F15 10.9091 Tf 22.908 0 Td [(,)-438(then)]TJ/F44 10.9091 Tf 33.579 0 Td [(nlev)]TJ/F15 10.9091 Tf 22.909 0 Td [(=2)-417(is)-418(assumed.)-697(Oth)1(e)-1(r)1(wis)-1(e,)]TJ/F44 10.9091 Tf -208.026 -13.549 Td [(nlev)]TJ/F15 10.9091 Tf 26.545 0 Td [(is)-333(ignored.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -402 0 obj << +408 0 obj << /Type /Page -/Contents 403 0 R -/Resources 401 0 R +/Contents 409 0 R +/Resources 407 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R -/Annots [ 400 0 R 398 0 R 399 0 R ] ->> endobj -400 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 394 0 R +/Annots [ 405 0 R 406 0 R ] >> endobj -398 0 obj << +405 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [450.853 504.679 458.3 518.312] +/Rect [443.652 504.679 451.099 518.312] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -399 0 obj << +406 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [402.247 464.032 409.694 477.665] +/Rect [395.046 464.032 402.493 477.665] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -404 0 obj << -/D [402 0 R /XYZ 93.6 740.002 null] +410 0 obj << +/D [408 0 R /XYZ 86.4 740.002 null] >> endobj 70 0 obj << -/D [402 0 R /XYZ 93.6 715.095 null] +/D [408 0 R /XYZ 86.4 715.095 null] >> endobj -401 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> +407 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -412 0 obj << -/Length 6544 +419 0 obj << +/Length 6579 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(22)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.2)-1125(Subroutine)-375(mld)]TJ + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(23)]TJ +0 g 0 G +/F17 11.9552 Tf -401.542 -35.866 Td [(6.2)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 209.422 704.336 cm +1 0 0 1 216.622 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 213.457 704.136 Td [(precset)]TJ +/F17 11.9552 Tf 220.657 704.136 Td [(precset)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -15.331 -20.594 Td [(call)-525(mld_precset\050p,what,val,info\051)]TJ/F15 10.9091 Tf -111.726 -24.354 Td [(This)-389(routin)1(e)-389(sets)-389(the)-389(parameters)-388(de\014ning)-389(the)-388(preconditioner.)-611(More)-388(precisely)83(,)-402(the)-389(pa-)]TJ 0 -13.549 Td [(rameter)-333(iden)27(ti)1(\014ed)-334(b)28(y)]TJ/F44 10.9091 Tf 103.394 0 Td [(what)]TJ/F15 10.9091 Tf 26.545 0 Td [(is)-333(assigned)-334(the)-333(v)56(alue)-334(con)28(tained)-333(in)]TJ/F44 10.9091 Tf 163.212 0 Td [(val)]TJ/F15 10.9091 Tf 17.182 0 Td [(.)]TJ -293.397 -13.549 Td [(The)-306(routine)-306(ma)28(y)-306(als)-1(o)-306(b)-27(e)-307(i)1(n)27(v)28(ok)28(ed)-306(as)-306(a)-306(me)-1(t)1(ho)-28(d)-306(of)-306(the)-306(preconditioner)-306(ob)-56(ject)-306(as)-306(in)-306(the)]TJ -16.936 -13.55 Td [(follo)28(wing:)]TJ +/F44 10.9091 Tf -15.33 -20.594 Td [(call)-525(mld_precset\050p,what,val,info\051)]TJ/F15 10.9091 Tf -111.727 -24.354 Td [(This)-389(routine)-388(sets)-389(the)-389(parameters)-388(de\014ning)-389(the)-388(prec)-1(on)1(ditioner.)-611(More)-388(precisely)83(,)-403(th)1(e)-389(pa-)]TJ 0 -13.549 Td [(rameter)-333(iden)27(ti\014)1(e)-1(d)-333(b)28(y)]TJ/F44 10.9091 Tf 103.394 0 Td [(what)]TJ/F15 10.9091 Tf 26.545 0 Td [(is)-333(assigned)-334(the)-333(v)55(al)1(ue)-334(con)28(tained)-333(in)]TJ/F44 10.9091 Tf 163.213 0 Td [(val)]TJ/F15 10.9091 Tf 17.181 0 Td [(.)]TJ -293.396 -13.549 Td [(The)-306(routine)-306(ma)28(y)-306(also)-307(b)-27(e)-306(in)27(v)28(ok)28(ed)-306(as)-306(a)-306(metho)-28(d)-306(of)-306(the)-306(preconditioner)-306(ob)-56(ject)-306(as)-306(in)-306(the)]TJ -16.937 -13.55 Td [(follo)28(wing:)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 111.726 -21.556 Td [(call)-525(p%set\050what,val,info)-525([,ilev]\051)]TJ/F15 10.9091 Tf -111.726 -21.557 Td [(In)-373(this)-373(case)-373(it)-373(is)-373(also)-373(p)-27(oss)-1(ib)1(le)-373(to)-373(sp)-28(ecify)-373(an)-373(optional)]TJ/F44 10.9091 Tf 254.571 0 Td [(ilev)]TJ/F15 10.9091 Tf 26.977 0 Td [(argumen)28(t)-373(that)-373(restricts)-373(the)]TJ -281.548 -13.549 Td [(e\013ect)-333(of)-334(the)-333(call)-333(to)-334(the)-333(sp)-28(eci\014ed)-333(lev)28(el.)]TJ 16.936 -13.549 Td [(Finally)83(,)-276(if)-261(the)-262(user)-262(has)-262(dev)28(elop)-28(ed)-262(a)-262(new)-262(t)28(yp)-28(e)-262(of)-261(smo)-28(other)-262(and/or)-262(solv)28(er)-262(b)28(y)-262(extending)]TJ -16.936 -13.549 Td [(one)-283(of)-284(the)-283(base)-283(MLD2P4)-284(t)28(yp)-28(es,)-293(and)-283(has)-284(declared)-283(a)-284(v)56(ariable)-283(of)-284(the)-283(new)-283(t)27(yp)-27(e)-284(in)-283(the)-283(main)]TJ 0 -13.55 Td [(program,)-401(it)-388(is)-387(p)-28(ossible)-388(to)-387(pass)-388(the)-387(new)-388(smo)-28(other/solv)28(er)-388(v)56(ariable)-388(to)-387(the)-388(setup)-388(r)1(outine)]TJ 0 -13.549 Td [(as)-333(follo)28(w)-1(s:)]TJ +/F44 10.9091 Tf 111.727 -21.556 Td [(call)-525(p%set\050what,val,info)-525([,ilev]\051)]TJ/F15 10.9091 Tf -111.727 -21.557 Td [(In)-373(this)-373(case)-373(it)-373(is)-373(also)-373(p)-27(os)-1(sibl)1(e)-373(to)-373(sp)-28(ecify)-373(an)-373(optional)]TJ/F44 10.9091 Tf 254.572 0 Td [(ilev)]TJ/F15 10.9091 Tf 26.977 0 Td [(argumen)28(t)-373(that)-373(restricts)-373(the)]TJ -281.549 -13.549 Td [(e\013ect)-334(of)-333(the)-333(call)-333(to)-334(the)-333(sp)-28(eci\014ed)-333(lev)28(e)-1(l)1(.)]TJ 16.937 -13.549 Td [(Finally)84(,)-277(if)-261(the)-262(user)-262(has)-262(dev)28(elop)-28(ed)-262(a)-262(new)-262(t)28(yp)-28(e)-261(of)-262(smo)-28(other)-262(and/or)-262(solv)28(er)-262(b)28(y)-262(extending)]TJ -16.937 -13.549 Td [(one)-283(of)-284(the)-283(base)-284(M)1(LD2P4)-284(t)28(yp)-28(es,)-293(and)-283(has)-284(declared)-283(a)-284(v)56(ariable)-283(of)-284(the)-283(new)-283(t)27(yp)-27(e)-284(in)-283(the)-283(m)-1(ai)1(n)]TJ 0 -13.55 Td [(program,)-401(it)-388(is)-387(p)-28(ossible)-388(to)-387(pass)-388(the)-388(n)1(e)-1(w)-387(smo)-28(other/solv)28(er)-388(v)56(ariable)-388(to)-387(the)-388(setup)-388(rou)1(tine)]TJ 0 -13.549 Td [(as)-333(follo)27(ws:)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 111.726 -21.557 Td [(call)-525(p%set\050smoother,info)-525([,ilev]\051)]TJ 5.728 -13.549 Td [(call)-525(p%set\050solver,info)-525([,ilev]\051)]TJ/F15 10.9091 Tf -117.454 -21.556 Td [(In)-375(this)-376(w)28(a)28(y)83(,)-386(the)-375(v)55(ariable)-375(will)-376(act)-375(as)-376(a)]TJ/F18 10.9091 Tf 184.402 0 Td [(mold)]TJ/F15 10.9091 Tf 28.084 0 Td [(to)-375(whic)27(h)-375(the)-376(pr)1(e)-1(cond)1(itioner)-376(will)-375(conform,)]TJ -212.486 -13.55 Td [(ev)28(en)-413(thou)1(gh)-413(the)-412(MLD2P4)-412(library)-413(is)-412(not)-412(mo)-28(di\014ed,)-432(and)-412(th)28(us)-413(has)-412(no)-412(direct)-413(kno)28(wledge)]TJ 0 -13.549 Td [(ab)-28(out)-333(the)-333(new)-334(t)28(yp)-28(e.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.806 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.588 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.696 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(what)-2114(integer,)-525(intent\050in\051)]TJ/F18 10.9091 Tf 158.424 0 Td [(or)]TJ/F44 10.9091 Tf 14.986 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.636 0 Td [(.)]TJ -219.075 -13.55 Td [(The)-366(parameter)-367(to)-366(b)-28(e)-366(set.)-543(It)-367(can)-366(b)-28(e)-366(sp)-28(eci\014ed)-366(b)28(y)-367(a)-366(prede\014ned)-366(constan)28(t,)]TJ 0 -13.549 Td [(or)-333(through)-333(its)-334(name;)-333(the)-333(string)-334(is)-333(case-insensitiv)28(e.)-445(See)-333(also)-334(T)84(ables)]TJ +/F44 10.9091 Tf 111.727 -21.557 Td [(call)-525(p%set\050smoother,info)-525([,ilev]\051)]TJ 5.727 -13.549 Td [(call)-525(p%set\050solver,info)-525([,ilev]\051)]TJ/F15 10.9091 Tf -117.454 -21.556 Td [(In)-375(this)-376(w)28(a)28(y)83(,)-386(the)-375(v)55(ariable)-375(will)-376(act)-375(as)-376(a)]TJ/F18 10.9091 Tf 184.403 0 Td [(mold)]TJ/F15 10.9091 Tf 28.084 0 Td [(to)-375(whic)27(h)-375(the)-376(p)1(rec)-1(on)1(ditioner)-376(will)-375(conform,)]TJ -212.487 -13.55 Td [(ev)28(en)-413(though)-412(the)-412(MLD2P4)-412(library)-413(is)-412(not)-412(mo)-28(di\014ed,)-432(and)-412(th)28(us)-413(has)-412(no)-412(direct)-413(kno)28(wledge)]TJ 0 -13.549 Td [(ab)-28(out)-333(the)-333(new)-334(t)28(yp)-28(e.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.806 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.589 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.697 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(what)-2114(integer,)-525(intent\050in\051)]TJ/F18 10.9091 Tf 158.424 0 Td [(or)]TJ/F44 10.9091 Tf 14.987 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.635 0 Td [(.)]TJ -219.075 -13.55 Td [(The)-366(parameter)-367(to)-366(b)-28(e)-366(set.)-543(It)-367(can)-366(b)-28(e)-366(sp)-28(eci\014ed)-366(b)28(y)-367(a)-366(prede\014ned)-366(constan)28(t,)]TJ 0 -13.549 Td [(or)-333(through)-333(its)-334(name;)-333(the)-333(s)-1(tr)1(ing)-334(is)-333(case-insensitiv)28(e.)-445(See)-333(also)-334(T)84(ables)]TJ 0 0 1 rg 0 0 1 RG [-334(2)]TJ 0 g 0 G @@ -2891,7 +2944,7 @@ BT 0 0 1 rg 0 0 1 RG [(5)]TJ 0 g 0 G - [(.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(val)-2639(integer)]TJ/F18 10.9091 Tf 105.136 0 Td [(or)]TJ/F44 10.9091 Tf 30.425 0 Td [(character\050len=*\051)]TJ/F18 10.9091 Tf 110.711 0 Td [(or)]TJ/F44 10.9091 Tf 30.424 0 Td [(real\050psb_spk_\051)]TJ/F18 10.9091 Tf 99.256 0 Td [(or)]TJ/F44 10.9091 Tf -329.981 -13.549 Td [(real\050psb_dpk_\051)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)]TJ/F44 10.9091 Tf 6.666 0 Td [(intent\050in\051)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)]TJ -144.119 -13.549 Td [(The)-306(v)56(alue)-306(of)-305(the)-306(parameter)-306(to)-305(b)-28(e)-306(set.)-435(The)-306(list)-305(of)-306(allo)28(w)28(ed)-306(v)55(al)1(ues)-306(and)-306(the)]TJ 0 -13.55 Td [(corresp)-28(onding)-391(data)-392(t)28(yp)-28(es)-391(is)-392(giv)28(en)-391(in)-392(T)84(ables)]TJ + [(.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(val)-2639(integer)]TJ/F18 10.9091 Tf 105.137 0 Td [(or)]TJ/F44 10.9091 Tf 30.425 0 Td [(character\050len=*\051)]TJ/F18 10.9091 Tf 110.71 0 Td [(or)]TJ/F44 10.9091 Tf 30.425 0 Td [(real\050psb_spk_\051)]TJ/F18 10.9091 Tf 99.256 0 Td [(or)]TJ/F44 10.9091 Tf -329.982 -13.549 Td [(real\050psb_dpk_\051)]TJ/F15 10.9091 Tf 80.181 0 Td [(,)]TJ/F44 10.9091 Tf 6.667 0 Td [(intent\050in\051)]TJ/F15 10.9091 Tf 57.272 0 Td [(.)]TJ -144.12 -13.549 Td [(The)-306(v)56(alue)-306(of)-305(the)-306(parameter)-306(to)-305(b)-28(e)-306(set.)-435(The)-306(list)-305(of)-306(allo)28(w)28(e)-1(d)-305(v)55(alu)1(e)-1(s)-305(and)-306(the)]TJ 0 -13.55 Td [(corresp)-28(onding)-391(data)-392(t)28(yp)-28(es)-391(is)-392(giv)28(en)-391(in)-392(T)84(ables)]TJ 0 0 1 rg 0 0 1 RG [-392(2)]TJ 0 g 0 G @@ -2899,85 +2952,89 @@ BT 0 0 1 rg 0 0 1 RG [(5)]TJ 0 g 0 G - [(.)-619(When)-391(the)-392(v)56(alue)-392(is)-391(of)]TJ 0 -13.549 Td [(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 24.545 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.636 0 Td [(,)-333(it)-334(is)-333(also)-333(treated)-334(as)-333(case)-333(insensitiv)27(e.)]TJ/F44 10.9091 Tf -162.152 -13.549 Td [(smoother)-14(class\050mld_x_base_smoother_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(smo)-28(other)-333(to)-333(b)-28(e)-334(emplo)28(y)28(ed)-333(in)-334(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(solver)-1064(class\050mld_x_base_solver_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(solv)28(er)-334(to)-333(b)-28(e)-333(emplo)28(y)28(ed)-334(in)-333(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ + [(.)-619(When)-391(the)-392(v)56(alue)-392(is)-391(of)]TJ 0 -13.549 Td [(t)28(yp)-28(e)]TJ/F44 10.9091 Tf 24.546 0 Td [(character\050len=*\051)]TJ/F15 10.9091 Tf 91.635 0 Td [(,)-333(it)-334(is)-333(also)-333(treated)-334(as)-333(case)-333(inse)-1(n)1(s)-1(i)1(tiv)27(e.)]TJ/F44 10.9091 Tf -162.152 -13.549 Td [(smoother)-14(class\050mld_x_base_smoother_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(smo)-28(other)-333(to)-333(b)-28(e)-334(emplo)28(y)28(ed)-333(in)-334(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(solver)-1064(class\050mld_x_base_solver_type\051)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(The)-333(user-de\014ned)-334(new)-333(solv)28(er)-334(to)-333(b)-28(e)-333(emplo)28(y)28(ed)-334(in)-333(the)-333(preconditioner.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(7)]TJ 0 g 0 G - [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ -68.885 -18.61 Td [(A)-383(v)56(ariet)28(y)-383(of)-383(\050one-lev)28(el)-383(and)-383(m)28(ulti-lev)28(el\051)-383(preconditioners)-383(can)-383(b)-27(e)-383(obtained)-383(b)28(y)-383(a)-383(suitable)]TJ + [-333(for)-334(details.)]TJ -68.885 -18.61 Td [(A)-383(v)56(ariet)28(y)-383(of)-383(\050one-lev)28(el)-383(and)-383(m)28(ulti-lev)28(el\051)-383(preconditioners)-383(can)-383(b)-28(e)-382(obtained)-383(b)28(y)-383(a)-383(suitable)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -411 0 obj << +418 0 obj << /Type /Page -/Contents 412 0 R -/Resources 410 0 R +/Contents 419 0 R +/Resources 417 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R -/Annots [ 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R ] +/Parent 394 0 R +/Annots [ 416 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R ] >> endobj -405 0 obj << +416 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> +>> endobj +411 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [472.743 284.111 480.19 297.744] +/Rect [479.944 284.111 487.391 297.744] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -406 0 obj << +412 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [481.834 284.111 489.281 297.744] +/Rect [489.035 284.111 496.482 297.744] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -407 0 obj << +413 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [369.034 231.858 376.481 243.547] +/Rect [376.234 231.858 383.681 243.547] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -408 0 obj << +414 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [378.125 231.858 385.572 243.547] +/Rect [385.325 231.858 392.772 243.547] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -409 0 obj << +415 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [395.046 135.07 402.493 148.703] +/Rect [402.247 135.07 409.694 148.703] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -413 0 obj << -/D [411 0 R /XYZ 86.4 740.002 null] +420 0 obj << +/D [418 0 R /XYZ 93.6 740.002 null] >> endobj 74 0 obj << -/D [411 0 R /XYZ 86.4 715.095 null] +/D [418 0 R /XYZ 93.6 715.095 null] >> endobj -410 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> +417 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -420 0 obj << -/Length 4098 +426 0 obj << +/Length 4105 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(23)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(24)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G - -401.542 -35.866 Td [(setting)-425(of)-425(the)-426(pr)1(e)-1(condi)1(tioner)-426(parameters.)-720(These)-425(parameters)-425(can)-425(b)-28(e)-425(logically)-426(divi)1(ded)]TJ 0 -13.549 Td [(in)28(to)-333(four)-334(groups,)-333(i.e.)-333(parameters)-334(de\014nin)1(g)]TJ +/F15 10.9091 Tf -203.265 -35.866 Td [(setting)-425(of)-425(the)-426(p)1(re)-1(cond)1(itioner)-426(parameters.)-720(These)-425(parameters)-425(can)-425(b)-28(e)-425(logically)-426(di)1(vided)]TJ 0 -13.549 Td [(in)28(to)-333(four)-334(groups,)-333(i.e.)-333(parameters)-334(de\014nin)1(g)]TJ 0 g 0 G - 13.334 -22.515 Td [(1.)]TJ + 13.333 -22.515 Td [(1.)]TJ 0 g 0 G - [-500(the)-333(t)28(yp)-28(e)-334(of)-333(m)28(ulti-lev)28(el)-334(precondition)1(e)-1(r)1(;)]TJ + [-500(the)-333(t)27(yp)-27(e)-334(of)-333(m)28(ulti-lev)28(el)-334(preconditioner;)]TJ 0 g 0 G 0 -22.516 Td [(2.)]TJ 0 g 0 G @@ -2985,11 +3042,11 @@ BT 0 g 0 G 0 -22.516 Td [(3.)]TJ 0 g 0 G - [-500(the)-333(aggregation)-334(algor)1(ithm;)]TJ + [-500(the)-333(aggregation)-334(algorith)1(m;)]TJ 0 g 0 G 0 -22.515 Td [(4.)]TJ 0 g 0 G - [-500(the)-333(coarse-space)-334(correction)-333(at)-333(the)-334(coarsest)-333(lev)28(e)-1(l.)]TJ -13.334 -22.516 Td [(A)-313(list)-314(of)-313(the)-313(parameters)-314(that)-313(can)-314(b)-27(e)-314(set,)-317(along)-313(with)-314(their)-313(allo)28(w)28(ed)-314(and)-313(default)-313(v)55(alues,)-317(is)]TJ 0 -13.549 Td [(giv)28(en)-296(in)-296(T)83(ables)]TJ + [-500(the)-333(coarse-space)-334(correction)-333(at)-334(th)1(e)-334(coarsest)-333(lev)27(el.)]TJ -13.333 -22.516 Td [(A)-313(list)-314(of)-313(the)-313(parameters)-314(that)-313(can)-313(b)-28(e)-314(set,)-317(along)-313(with)-314(their)-313(allo)28(w)28(ed)-314(and)-313(default)-313(v)55(alues,)-317(is)]TJ 0 -13.549 Td [(giv)28(en)-296(in)-296(T)83(ables)]TJ 0 0 1 rg 0 0 1 RG [-296(2)]TJ 0 g 0 G @@ -3001,737 +3058,733 @@ BT 0 0 1 rg 0 0 1 RG [-470(4)]TJ 0 g 0 G - [(.)-853(The)-470(smo)-28(oth)1(e)-1(r)-469(and)-470(solv)28(er)-469(ob)-56(jects)-470(are)-469(arranged)-470(in)-469(a)-470(hierarc)28(hical)]TJ 0 -13.549 Td [(manner;)-519(when)-457(sp)-28(ecifying)-457(a)-457(smo)-28(other)-457(ob)-55(ject,)-488(its)-457(parameters)-457(including)-457(the)-457(con)27(tained)]TJ 0 -13.549 Td [(solv)28(er)-277(are)-277(set)-277(to)-277(default)-277(v)56(alues,)-288(and)-277(when)-277(a)-277(solv)28(er)-277(ob)-55(ject)-277(is)-277(sp)-28(eci\014ed)-277(its)-277(defaults)-277(are)-276(also)]TJ 0 -13.55 Td [(set,)-300(o)28(v)28(erriding)-292(i)1(n)-292(b)-28(oth)-291(cases)-291(an)27(y)-291(previous)-291(settings)-292(ev)28(en)-291(if)-292(explicitly)-291(sp)-28(eci\014ed.)-430(Therefore)]TJ 0 -13.549 Td [(if)-383(the)-383(user)-383(sets)-383(a)-383(n)1(e)-1(w)-382(smo)-28(other,)-395(and)-383(wishes)-383(to)-383(use)-383(a)-383(solv)28(er)-383(di\013eren)28(t)-383(from)-383(the)-383(default)]TJ 0 -13.549 Td [(one,)-307(the)-300(call)-300(to)-300(set)-300(the)-300(solv)28(er)-300(m)27(ust)-300(come)]TJ/F18 10.9091 Tf 193.685 0 Td [(after)]TJ/F15 10.9091 Tf 26.611 0 Td [(the)-300(call)-300(to)-300(set)-300(the)-300(smo)-28(other.)-434(Compl)1(e)-1(tely)]TJ -220.296 -13.549 Td [(new)-354(smo)-27(other)-354(and/or)-353(solv)27(er)-353(class)-354(deriv)28(ed)-354(f)1(rom)-354(the)-354(base)-353(ob)-56(jects)-353(in)-354(the)-353(library)-354(ma)28(y)-353(b)-28(e)]TJ 0 -13.549 Td [(used)-419(without)-419(recompiling)-419(the)-420(library)-419(itself.)-702(Once)-419(the)-419(new)-419(smo)-28(other/solv)28(er)-420(class)-419(has)]TJ 0 -13.55 Td [(b)-28(een)-422(dev)28(elop)-28(ed,)-444(the)-423(u)1(s)-1(er)-422(can)-422(declare)-422(a)-422(v)55(ariable)-422(of)-422(that)-422(new)-422(t)27(yp)-27(e)-423(in)-422(the)-422(application,)]TJ 0 -13.549 Td [(and)-358(pass)-358(that)-357(v)55(ariable)-357(to)-358(the)]TJ/F44 10.9091 Tf 143.269 0 Td [(p%set\050solver,info\051)]TJ/F15 10.9091 Tf 106.993 0 Td [(call;)-370(the)-358(new)-358(solv)28(er)-358(ob)-55(ject)-358(is)-358(then)]TJ -250.262 -13.549 Td [(dynamically)-333(included)-333(in)-334(the)-333(preconditioner)-333(structure.)]TJ 16.937 -13.549 Td [(The)]TJ/F44 10.9091 Tf 24.16 0 Td [(what,val)]TJ/F15 10.9091 Tf 51.191 0 Td [(pairs)-492(desc)-1(r)1(ib)-28(ed)-493(here)-492(are)-493(those)-492(of)-493(the)-492(prede\014ned)-493(smo)-27(other/solv)27(er)]TJ -92.288 -13.549 Td [(ob)-56(j)1(e)-1(cts;)-333(newly)-333(dev)28(elop)-28(ed)-334(solv)28(ers)-333(ma)28(y)-334(de\014ne)-333(new)-333(pairs)-334(according)-333(to)-333(their)-334(n)1(e)-1(eds.)]TJ + [(.)-853(The)-470(smo)-27(other)-470(and)-470(solv)28(er)-469(ob)-56(jects)-470(are)-469(arranged)-470(in)-469(a)-470(hierarc)28(hical)]TJ 0 -13.549 Td [(manner;)-519(when)-457(sp)-28(ecifying)-457(a)-457(smo)-28(other)-457(ob)-55(ject,)-488(its)-457(parameters)-457(including)-457(the)-457(con)27(tained)]TJ 0 -13.549 Td [(solv)28(er)-277(are)-277(set)-277(to)-277(default)-277(v)56(alues,)-288(and)-277(when)-277(a)-277(solv)28(er)-277(ob)-55(ject)-277(is)-277(sp)-28(eci\014ed)-277(its)-277(defaults)-277(ar)1(e)-277(also)]TJ 0 -13.55 Td [(set,)-300(o)28(v)28(erriding)-291(in)-292(b)-28(oth)-291(cases)-291(an)27(y)-291(previous)-291(settings)-292(ev)28(en)-291(if)-292(explicitly)-291(sp)-28(eci\014ed.)-430(Therefore)]TJ 0 -13.549 Td [(if)-383(the)-383(user)-383(sets)-383(a)-382(new)-383(smo)-28(other,)-395(and)-383(wishes)-383(to)-383(use)-383(a)-383(solv)28(er)-383(di\013eren)28(t)-383(from)-383(the)-383(default)]TJ 0 -13.549 Td [(one,)-307(the)-300(call)-300(to)-300(set)-300(the)-300(solv)28(er)-300(m)27(ust)-300(come)]TJ/F18 10.9091 Tf 193.685 0 Td [(after)]TJ/F15 10.9091 Tf 26.611 0 Td [(the)-300(call)-300(to)-300(set)-300(the)-300(smo)-28(other.)-433(Com)-1(p)1(le)-1(t)1(e)-1(ly)]TJ -220.296 -13.549 Td [(new)-354(smo)-27(other)-354(and/or)-353(solv)27(er)-353(class)-354(deriv)28(ed)-353(from)-354(the)-354(b)1(as)-1(e)-353(ob)-56(jects)-353(in)-354(the)-353(library)-354(ma)28(y)-353(b)-28(e)]TJ 0 -13.549 Td [(used)-419(without)-419(recompiling)-419(the)-420(librar)1(y)-420(itself.)-702(Once)-419(the)-419(new)-419(smo)-28(other/solv)28(er)-420(class)-419(has)]TJ 0 -13.55 Td [(b)-28(een)-422(dev)28(elop)-28(ed,)-444(the)-423(u)1(s)-1(er)-422(can)-422(declare)-422(a)-422(v)55(ariable)-422(of)-422(that)-422(new)-422(t)27(yp)-27(e)-423(in)-422(the)-422(application,)]TJ 0 -13.549 Td [(and)-358(pass)-358(th)1(at)-358(v)55(ariable)-357(to)-358(the)]TJ/F44 10.9091 Tf 143.268 0 Td [(p%set\050solver,info\051)]TJ/F15 10.9091 Tf 106.993 0 Td [(call;)-370(the)-358(new)-358(solv)28(er)-358(ob)-55(ject)-358(is)-358(then)]TJ -250.261 -13.549 Td [(dynamically)-333(included)-333(in)-334(the)-333(preconditioner)-333(structure.)]TJ 16.936 -13.549 Td [(The)]TJ/F44 10.9091 Tf 24.161 0 Td [(what,val)]TJ/F15 10.9091 Tf 51.19 0 Td [(pairs)-492(des)-1(crib)-27(ed)-493(here)-492(are)-493(those)-492(of)-493(the)-492(prede\014ned)-493(smo)-27(other/solv)27(er)]TJ -92.287 -13.549 Td [(ob)-55(jec)-1(ts;)-333(newly)-333(dev)28(elop)-28(ed)-333(s)-1(olv)28(ers)-333(ma)28(y)-334(de\014ne)-333(new)-333(pairs)-334(according)-333(to)-333(their)-333(nee)-1(d)1(s)-1(.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -419 0 obj << +425 0 obj << /Type /Page -/Contents 420 0 R -/Resources 418 0 R +/Contents 426 0 R +/Resources 424 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R -/Annots [ 417 0 R 414 0 R 415 0 R 416 0 R ] ->> endobj -417 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 394 0 R +/Annots [ 421 0 R 422 0 R 423 0 R ] >> endobj -414 0 obj << +421 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [166.9 561.343 174.347 573.032] +/Rect [159.7 561.343 167.147 573.032] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -415 0 obj << +422 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [175.991 561.343 183.438 573.032] +/Rect [168.79 561.343 176.238 573.032] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -416 0 obj << +423 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [173.791 547.793 181.238 559.483] +/Rect [166.591 547.793 174.038 559.483] /Subtype /Link /A << /S /GoTo /D (section.4) >> >> endobj -421 0 obj << -/D [419 0 R /XYZ 93.6 740.002 null] +427 0 obj << +/D [425 0 R /XYZ 86.4 740.002 null] >> endobj -422 0 obj << -/D [419 0 R /XYZ 93.6 683.983 null] +428 0 obj << +/D [425 0 R /XYZ 86.4 683.983 null] >> endobj -423 0 obj << -/D [419 0 R /XYZ 93.6 661.467 null] +429 0 obj << +/D [425 0 R /XYZ 86.4 661.467 null] >> endobj -424 0 obj << -/D [419 0 R /XYZ 93.6 638.952 null] +430 0 obj << +/D [425 0 R /XYZ 86.4 638.952 null] >> endobj -425 0 obj << -/D [419 0 R /XYZ 93.6 616.436 null] +431 0 obj << +/D [425 0 R /XYZ 86.4 616.436 null] >> endobj -418 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F18 174 0 R /F44 202 0 R >> +424 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F18 174 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -428 0 obj << -/Length 4470 +435 0 obj << +/Length 4480 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(24)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(25)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 292.625 715.095 cm +1 0 0 1 299.826 121.521 cm q -0 -1 1 0 0 0 cm +0 1 -1 0 0 0 cm 0 g 0 G 0 g 0 G 0 g 0 G q -1 0 0 1 1.542 87.576 cm +1 0 0 1 1.541 87.576 cm []0 d 0 J 0.398 w 0 0 m 590.492 0 l S Q q -1 0 0 1 1.542 73.828 cm +1 0 0 1 1.541 73.827 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q -1 0 0 1 -292.625 -715.095 cm +1 0 0 1 -299.826 -121.521 cm BT -/F44 10.9091 Tf 300.144 792.987 Td [(what)]TJ +/F44 10.9091 Tf 307.345 199.413 Td [(what)]TJ ET q -1 0 0 1 447.854 788.923 cm +1 0 0 1 455.055 195.348 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 453.832 792.987 Td [(d)22(a)67(t)67(a)-378(type)]TJ +/F41 10.9091 Tf 461.032 199.413 Td [(d)22(a)67(t)66(a)-377(type)]TJ ET q -1 0 0 1 551.445 788.923 cm +1 0 0 1 558.645 195.348 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 557.422 792.987 Td [(val)]TJ +/F44 10.9091 Tf 564.623 199.413 Td [(val)]TJ ET q -1 0 0 1 620.093 788.923 cm +1 0 0 1 627.293 195.348 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 626.07 792.987 Td [(def)89(a)22(ul)67(t)]TJ +/F41 10.9091 Tf 633.271 199.413 Td [(def)89(a)22(ul)67(t)]TJ ET q -1 0 0 1 674.278 788.923 cm +1 0 0 1 681.478 195.348 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 680.256 792.987 Td [(comments)]TJ +/F41 10.9091 Tf 687.456 199.413 Td [(comments)]TJ ET q -1 0 0 1 884.658 788.923 cm +1 0 0 1 891.859 195.348 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 294.167 788.723 cm +1 0 0 1 301.367 195.149 cm []0 d 0 J 0.398 w 0 0 m 590.492 0 l S Q q -1 0 0 1 294.167 747.876 cm +1 0 0 1 301.367 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 300.144 779.04 Td [(mld_ml_type_)]TJ 0 -13.55 Td [(ML_TYPE)]TJ +/F44 10.9091 Tf 307.345 185.465 Td [(mld_ml_type_)]TJ 0 -13.549 Td [(ML_TYPE)]TJ ET q -1 0 0 1 447.854 747.876 cm +1 0 0 1 455.055 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 453.832 779.04 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 461.032 185.465 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 551.445 747.876 cm +1 0 0 1 558.645 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 557.422 779.04 Td [('ADD')]TJ 0 -13.55 Td [('MULT')]TJ +/F44 10.9091 Tf 564.623 185.465 Td [('ADD')]TJ 0 -13.549 Td [('MULT')]TJ ET q -1 0 0 1 620.093 747.876 cm +1 0 0 1 627.293 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 626.07 779.04 Td [('MULT')]TJ +/F44 10.9091 Tf 633.271 185.465 Td [('MULT')]TJ ET q -1 0 0 1 674.278 747.876 cm +1 0 0 1 681.478 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 680.256 779.04 Td [(Basic)-449(m)28(ulti-lev)28(el)-449(framew)27(ork:)-675(additiv)28(e)-449(or)]TJ 0 -13.55 Td [(m)28(ultiplicativ)28(e)-586(among)-587(th)1(e)-587(lev)28(els)-586(\050alw)28(a)27(y)1(s)]TJ 0 -13.549 Td [(additiv)28(e)-333(inside)-334(a)-333(lev)28(el\051.)]TJ +/F15 10.9091 Tf 687.456 185.465 Td [(Basic)-449(m)28(ulti-lev)28(el)-449(framew)27(ork:)-675(additiv)28(e)-449(or)]TJ 0 -13.549 Td [(m)28(ultiplicativ)28(e)-586(among)-587(the)-586(lev)28(els)-586(\050alw)28(a)27(ys)]TJ 0 -13.549 Td [(additiv)28(e)-333(inside)-334(a)-333(lev)28(el\051.)]TJ ET q -1 0 0 1 884.658 747.876 cm +1 0 0 1 891.859 154.302 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 294.167 747.677 cm +1 0 0 1 301.367 154.103 cm []0 d 0 J 0.398 w 0 0 m 590.492 0 l S Q q -1 0 0 1 294.167 706.83 cm +1 0 0 1 301.367 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 300.144 737.994 Td [(mld_smoother_type_)]TJ 0 -13.55 Td [(SMOOTHER_TYPE)]TJ +/F44 10.9091 Tf 307.345 144.419 Td [(mld_smoother_type_)]TJ 0 -13.549 Td [(SMOOTHER_TYPE)]TJ ET q -1 0 0 1 447.854 706.83 cm +1 0 0 1 455.055 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 453.832 737.994 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 461.032 144.419 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 551.445 706.83 cm +1 0 0 1 558.645 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 557.422 737.994 Td [('DIAG')]TJ 0 -13.55 Td [('BJAC')]TJ 0 -13.549 Td [('AS')]TJ +/F44 10.9091 Tf 564.623 144.419 Td [('DIAG')]TJ 0 -13.549 Td [('BJAC')]TJ 0 -13.549 Td [('AS')]TJ ET q -1 0 0 1 620.093 706.83 cm +1 0 0 1 627.293 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 626.07 737.994 Td [('AS')]TJ +/F44 10.9091 Tf 633.271 144.419 Td [('AS')]TJ ET q -1 0 0 1 674.278 706.83 cm +1 0 0 1 681.478 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 680.256 737.994 Td [(Basic)-433(prede\014ned)-434(one-lev)28(el)-433(preconditioner)]TJ 0 -13.55 Td [(\050i.e.)-534(smo)-28(other\051:)-847(diagonal,)-584(blo)-28(c)28(k)-535(Jacobi,)]TJ 0 -13.549 Td [(AS.)]TJ +/F15 10.9091 Tf 687.456 144.419 Td [(Basic)-433(prede\014ned)-434(one-lev)28(el)-433(preconditioner)]TJ 0 -13.549 Td [(\050i.e.)-534(smo)-28(other\051:)-847(diagonal,)-584(blo)-28(c)28(k)-535(Jacobi,)]TJ 0 -13.549 Td [(AS.)]TJ ET q -1 0 0 1 884.658 706.83 cm +1 0 0 1 891.859 113.256 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 294.167 706.631 cm +1 0 0 1 301.367 113.057 cm []0 d 0 J 0.398 w 0 0 m 590.492 0 l S Q q -1 0 0 1 294.167 665.784 cm +1 0 0 1 301.367 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 300.144 696.948 Td [(mld_smoother_pos_)]TJ 0 -13.55 Td [(SMOOTHER_POS)]TJ +/F44 10.9091 Tf 307.345 103.373 Td [(mld_smoother_pos_)]TJ 0 -13.549 Td [(SMOOTHER_POS)]TJ ET q -1 0 0 1 447.854 665.784 cm +1 0 0 1 455.055 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 453.832 696.948 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 461.032 103.373 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 551.445 665.784 cm +1 0 0 1 558.645 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 557.422 696.948 Td [('PRE')]TJ 0 -13.55 Td [('POST')]TJ 0 -13.549 Td [('TWOSIDE')]TJ +/F44 10.9091 Tf 564.623 103.373 Td [('PRE')]TJ 0 -13.549 Td [('POST')]TJ 0 -13.549 Td [('TWOSIDE')]TJ ET q -1 0 0 1 620.093 665.784 cm +1 0 0 1 627.293 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 626.07 696.948 Td [('POST')]TJ +/F44 10.9091 Tf 633.271 103.373 Td [('POST')]TJ ET q -1 0 0 1 674.278 665.784 cm +1 0 0 1 681.478 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 680.256 696.948 Td [(\134P)28(osition")-233(of)-234(the)-233(smo)-28(other:)-394(pre-smo)-28(other,)]TJ 0 -13.55 Td [(p)-28(ost-smo)-28(other,)-333(pre-)-333(and)-333(p)-28(ost-smo)-28(other.)]TJ +/F15 10.9091 Tf 687.456 103.373 Td [(\134P)28(osition")-233(of)-234(the)-233(smo)-28(other:)-394(pre-smo)-28(other,)]TJ 0 -13.549 Td [(p)-28(ost-smo)-28(other,)-333(pre-)-333(and)-334(p)-27(ost-smo)-28(other.)]TJ ET q -1 0 0 1 884.658 665.784 cm +1 0 0 1 891.859 72.21 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 294.167 665.585 cm +1 0 0 1 301.367 72.011 cm []0 d 0 J 0.398 w 0 0 m 590.492 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 425.458 634.896 Td [(T)83(able)-333(2:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(t)28(yp)-27(e)-334(of)-333(m)28(ulti-lev)27(el)-333(preconditioner.)]TJ +/F15 10.9091 Tf 432.658 41.322 Td [(T)83(able)-333(2:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(t)28(yp)-27(e)-334(of)-333(m)28(ulti-lev)27(el)-333(preconditioner.)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 292.625 715.095 cm +1 0 0 1 299.826 121.521 cm Q 0 g 0 G 0 g 0 G 0 g 0 G endstream endobj -427 0 obj << +434 0 obj << /Type /Page -/Contents 428 0 R -/Resources 426 0 R +/Contents 435 0 R +/Resources 433 0 R /MediaBox [0 0 595.276 841.89] -/Parent 392 0 R +/Parent 437 0 R +/Annots [ 432 0 R ] >> endobj -429 0 obj << -/D [427 0 R /XYZ 86.4 740.002 null] +432 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> >> endobj -355 0 obj << -/D [427 0 R /XYZ -3854.722 538.929 null] +436 0 obj << +/D [434 0 R /XYZ 93.6 740.002 null] >> endobj -426 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R >> -/ProcSet [ /PDF /Text ] +361 0 obj << +/D [434 0 R /XYZ 366.446 4378.384 null] >> endobj 433 0 obj << -/Length 9977 +/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +440 0 obj << +/Length 10037 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(25)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(26)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 299.826 121.521 cm +1 0 0 1 292.625 715.095 cm q -0 1 -1 0 0 0 cm +0 -1 1 0 0 0 cm 0 g 0 G 0 g 0 G 0 g 0 G q -1 0 0 1 14.002 196.766 cm +1 0 0 1 14.002 196.767 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q 1 0 0 1 14.002 183.018 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q -1 0 0 1 -299.826 -121.521 cm +1 0 0 1 -292.625 -715.095 cm BT -/F44 10.9091 Tf 319.805 308.604 Td [(what)]TJ +/F44 10.9091 Tf 312.605 902.178 Td [(what)]TJ ET q -1 0 0 1 424.996 304.539 cm +1 0 0 1 417.795 898.113 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 430.973 308.604 Td [(d)22(a)67(t)66(a)-377(type)]TJ +/F41 10.9091 Tf 423.773 902.178 Td [(d)22(a)67(t)67(a)-378(type)]TJ ET q -1 0 0 1 543.969 304.539 cm +1 0 0 1 536.768 898.113 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 549.946 308.604 Td [(val)]TJ +/F44 10.9091 Tf 542.746 902.178 Td [(val)]TJ ET q -1 0 0 1 646.633 304.539 cm +1 0 0 1 639.432 898.113 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 652.61 308.604 Td [(def)89(a)22(ul)67(t)]TJ +/F41 10.9091 Tf 645.41 902.178 Td [(def)89(a)22(ul)67(t)]TJ ET q -1 0 0 1 725.711 304.539 cm +1 0 0 1 718.51 898.113 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 731.688 308.604 Td [(comments)]TJ +/F41 10.9091 Tf 724.488 902.178 Td [(comments)]TJ ET q -1 0 0 1 879.398 304.539 cm +1 0 0 1 872.198 898.113 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 313.828 304.34 cm +1 0 0 1 306.627 897.914 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 277.042 cm +1 0 0 1 306.627 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 319.805 294.656 Td [(mld_sub_ovr_)]TJ 0 -13.549 Td [(SUB_OVR)]TJ +/F44 10.9091 Tf 312.605 888.23 Td [(mld_sub_ovr_)]TJ 0 -13.549 Td [(SUB_OVR)]TJ ET q -1 0 0 1 424.996 277.042 cm +1 0 0 1 417.795 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 430.973 294.656 Td [(integer)]TJ +/F44 10.9091 Tf 423.773 888.23 Td [(integer)]TJ ET q -1 0 0 1 543.969 277.042 cm +1 0 0 1 536.768 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 549.946 294.656 Td [(an)28(y)-334(in)28(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 67.879 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 542.746 888.23 Td [(an)28(y)-333(in)27(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 67.879 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 646.633 277.042 cm +1 0 0 1 639.432 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 652.61 294.656 Td [(1)]TJ +/F15 10.9091 Tf 645.41 888.23 Td [(1)]TJ ET q -1 0 0 1 725.711 277.042 cm +1 0 0 1 718.51 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 731.688 294.656 Td [(Num)28(b)-28(er)-333(of)-334(o)28(v)28(erlap)-333(la)27(y)28(ers.)]TJ +/F15 10.9091 Tf 724.488 888.23 Td [(Num)28(b)-28(er)-333(of)-334(o)28(v)28(erlap)-333(la)28(y)27(ers.)]TJ ET q -1 0 0 1 879.398 277.042 cm +1 0 0 1 872.198 870.616 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 313.828 276.843 cm +1 0 0 1 306.627 870.417 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 222.447 cm +1 0 0 1 306.627 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 319.805 267.159 Td [(mld_sub_restr_)]TJ 0 -13.549 Td [(SUB_RESTR)]TJ +/F44 10.9091 Tf 312.605 860.733 Td [(mld_sub_restr_)]TJ 0 -13.549 Td [(SUB_RESTR)]TJ ET q -1 0 0 1 424.996 222.447 cm +1 0 0 1 417.795 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 430.973 267.159 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 423.773 860.733 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 543.969 222.447 cm +1 0 0 1 536.768 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 549.946 267.159 Td [('HALO')]TJ 0 -13.549 Td [('NONE')]TJ +/F44 10.9091 Tf 542.746 860.733 Td [('HALO')]TJ 0 -13.549 Td [('NONE')]TJ ET q -1 0 0 1 646.633 222.447 cm +1 0 0 1 639.432 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 652.61 267.159 Td [('HALO')]TJ +/F44 10.9091 Tf 645.41 860.733 Td [('HALO')]TJ ET q -1 0 0 1 725.711 222.447 cm +1 0 0 1 718.51 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F15 10.9091 Tf 731.688 267.159 Td [(T)28(yp)-28(e)-501(of)-501(restriction)-501(op)-28(erator:)]TJ/F44 10.9091 Tf 0 -13.549 Td [('HALO')]TJ/F15 10.9091 Tf 42.331 0 Td [(for)-731(taking)-730(in)27(to)-730(ac-)]TJ -42.331 -13.549 Td [(coun)28(t)-354(the)-354(o)28(v)28(erlap,)]TJ/F44 10.9091 Tf 90.45 0 Td [('NONE')]TJ/F15 10.9091 Tf 38.222 0 Td [(for)]TJ -128.672 -13.55 Td [(neglecting)-333(it.)]TJ +/F15 10.9091 Tf 724.488 860.733 Td [(T)28(yp)-28(e)-501(of)-501(restriction)-501(op)-28(erator:)]TJ/F44 10.9091 Tf 0 -13.549 Td [('HALO')]TJ/F15 10.9091 Tf 42.331 0 Td [(for)-731(taking)-730(in)27(to)-730(ac-)]TJ -42.331 -13.549 Td [(coun)28(t)-354(the)-354(o)28(v)28(erlap,)]TJ/F44 10.9091 Tf 90.45 0 Td [('NONE')]TJ/F15 10.9091 Tf 38.222 0 Td [(for)]TJ -128.672 -13.549 Td [(neglecting)-333(it.)]TJ ET q -1 0 0 1 879.398 222.447 cm +1 0 0 1 872.198 816.021 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q q -1 0 0 1 313.828 222.247 cm +1 0 0 1 306.627 815.822 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 167.851 cm +1 0 0 1 306.627 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 319.805 212.564 Td [(mld_sub_prol_)]TJ 0 -13.55 Td [(SUB_PROL)]TJ +/F44 10.9091 Tf 312.605 806.138 Td [(mld_sub_prol_)]TJ 0 -13.549 Td [(SUB_PROL)]TJ ET q -1 0 0 1 424.996 167.851 cm +1 0 0 1 417.795 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 430.973 212.564 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 423.773 806.138 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 543.969 167.851 cm +1 0 0 1 536.768 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 549.946 212.564 Td [('SUM')]TJ 0 -13.55 Td [('NONE')]TJ +/F44 10.9091 Tf 542.746 806.138 Td [('SUM')]TJ 0 -13.549 Td [('NONE')]TJ ET q -1 0 0 1 646.633 167.851 cm +1 0 0 1 639.432 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F44 10.9091 Tf 652.61 212.564 Td [('NONE')]TJ +/F44 10.9091 Tf 645.41 806.138 Td [('NONE')]TJ ET q -1 0 0 1 725.711 167.851 cm +1 0 0 1 718.51 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q BT -/F15 10.9091 Tf 731.688 212.564 Td [(T)28(yp)-28(e)-560(of)-561(prolongati)1(on)-561(op)-28(era-)]TJ 0 -13.55 Td [(tor:)]TJ/F44 10.9091 Tf 21.445 0 Td [('SUM')]TJ/F15 10.9091 Tf 31.465 0 Td [(for)-259(adding)-260(the)-259(con-)]TJ -52.91 -13.549 Td [(tributions)-622(from)-623(th)1(e)-623(o)28(v)28(erlap,)]TJ/F44 10.9091 Tf 0 -13.549 Td [('NONE')]TJ/F15 10.9091 Tf 38 0 Td [(for)-333(neglecting)-334(them.)]TJ +/F15 10.9091 Tf 724.488 806.138 Td [(T)28(yp)-28(e)-560(of)-561(prolon)1(gation)-561(op)-27(e)-1(r)1(a-)]TJ 0 -13.549 Td [(tor:)]TJ/F44 10.9091 Tf 21.445 0 Td [('SUM')]TJ/F15 10.9091 Tf 31.465 0 Td [(for)-259(adding)-260(th)1(e)-260(con-)]TJ -52.91 -13.549 Td [(tributions)-622(from)-623(t)1(he)-623(o)28(v)28(erlap,)]TJ/F44 10.9091 Tf 0 -13.55 Td [('NONE')]TJ/F15 10.9091 Tf 37.999 0 Td [(for)-333(neglecting)-334(them.)]TJ ET q -1 0 0 1 879.398 167.851 cm +1 0 0 1 872.198 761.426 cm []0 d 0 J 0.398 w 0 0 m 0 54.197 l S Q q -1 0 0 1 313.828 167.652 cm +1 0 0 1 306.627 761.226 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 99.707 cm +1 0 0 1 306.627 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 319.805 157.968 Td [(mld_sub_solve_)]TJ 0 -13.549 Td [(SUB_SOLVE)]TJ +/F44 10.9091 Tf 312.605 751.543 Td [(mld_sub_solve_)]TJ 0 -13.549 Td [(SUB_SOLVE)]TJ ET q -1 0 0 1 424.996 99.707 cm +1 0 0 1 417.795 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 430.973 157.968 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 423.773 751.543 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 543.969 99.707 cm +1 0 0 1 536.768 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 549.946 157.968 Td [('ILU')]TJ 0 -13.549 Td [('MILU')]TJ 0 -13.549 Td [('ILUT')]TJ 0 -13.549 Td [('UMF')]TJ 0 -13.549 Td [('SLU')]TJ +/F44 10.9091 Tf 542.746 751.543 Td [('ILU')]TJ 0 -13.549 Td [('MILU')]TJ 0 -13.55 Td [('ILUT')]TJ 0 -13.549 Td [('UMF')]TJ 0 -13.549 Td [('SLU')]TJ ET q -1 0 0 1 646.633 99.707 cm +1 0 0 1 639.432 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 652.61 157.968 Td [('ILU')]TJ +/F44 10.9091 Tf 645.41 751.543 Td [('ILU')]TJ ET q -1 0 0 1 725.711 99.707 cm +1 0 0 1 718.51 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F15 10.9091 Tf 731.688 157.968 Td [(Prede\014ned)-1775(lo)-28(cal)-1775(solv)28(er:)]TJ 0 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051,)-693(MILU\050)]TJ/F22 10.9091 Tf 48.012 0 Td [(p)]TJ/F15 10.9091 Tf 5.488 0 Td [(\051,)-693(ILU\050)]TJ/F22 10.9091 Tf 38.012 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.277 0 Td [(\051,)]TJ -134.46 -13.549 Td [(LU)-931(from)-932(UMFP)83(A)28(CK,)-932(LU)]TJ 0 -13.549 Td [(from)-460(Sup)-28(erLU)-460(\050plus)-461(trian)1(gu-)]TJ 0 -13.549 Td [(lar)-333(solv)27(e\051.)]TJ +/F15 10.9091 Tf 724.488 751.543 Td [(Prede\014ned)-1775(lo)-28(cal)-1775(solv)28(er:)]TJ 0 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p)]TJ/F15 10.9091 Tf 5.488 0 Td [(\051,)-693(MILU\050)]TJ/F22 10.9091 Tf 48.012 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051,)-693(ILU\050)]TJ/F22 10.9091 Tf 38.012 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051,)]TJ -134.459 -13.55 Td [(LU)-931(from)-932(UMFP)83(A)28(CK,)-932(LU)]TJ 0 -13.549 Td [(from)-460(Sup)-28(erLU)-460(\050plus)-461(tr)1(iangu-)]TJ 0 -13.549 Td [(lar)-333(solv)28(e)-1(\051.)]TJ ET q -1 0 0 1 879.398 99.707 cm +1 0 0 1 872.198 693.281 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q q -1 0 0 1 313.828 99.508 cm +1 0 0 1 306.627 693.082 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 72.21 cm +1 0 0 1 306.627 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 319.805 89.824 Td [(mld_sub_fillin_)]TJ 0 -13.549 Td [(SUB_FILLIN)]TJ +/F44 10.9091 Tf 312.605 683.398 Td [(mld_sub_fillin_)]TJ 0 -13.549 Td [(SUB_FILLIN)]TJ ET q -1 0 0 1 424.996 72.21 cm +1 0 0 1 417.795 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 430.973 89.824 Td [(integer)]TJ +/F44 10.9091 Tf 423.773 683.398 Td [(integer)]TJ ET q -1 0 0 1 543.969 72.21 cm +1 0 0 1 536.768 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 549.946 89.824 Td [(An)28(y)-334(in)28(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 70.607 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 542.746 683.398 Td [(An)28(y)-333(in)27(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 70.606 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 646.633 72.21 cm +1 0 0 1 639.432 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 652.61 89.824 Td [(0)]TJ +/F15 10.9091 Tf 645.41 683.398 Td [(0)]TJ ET q -1 0 0 1 725.711 72.21 cm +1 0 0 1 718.51 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 731.688 89.824 Td [(Fill-in)-550(le)-1(v)28(el)]TJ/F22 10.9091 Tf 62.164 0 Td [(p)]TJ/F15 10.9091 Tf 11.495 0 Td [(of)-551(the)-550(incom-)]TJ -73.659 -13.549 Td [(plete)-333(LU)-334(factorizations.)]TJ +/F15 10.9091 Tf 724.488 683.398 Td [(Fill-in)-550(lev)27(el)]TJ/F22 10.9091 Tf 62.164 0 Td [(p)]TJ/F15 10.9091 Tf 11.495 0 Td [(of)-551(th)1(e)-551(incom-)]TJ -73.659 -13.549 Td [(plete)-333(LU)-334(factorizations.)]TJ ET q -1 0 0 1 879.398 72.21 cm +1 0 0 1 872.198 665.784 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 313.828 72.011 cm +1 0 0 1 306.627 665.585 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 44.713 cm +1 0 0 1 306.627 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 319.805 62.327 Td [(mld_sub_iluthrs_)]TJ 0 -13.549 Td [(SUB_ILUTHRS)]TJ +/F44 10.9091 Tf 312.605 655.901 Td [(mld_sub_iluthrs_)]TJ 0 -13.549 Td [(SUB_ILUTHRS)]TJ ET q -1 0 0 1 424.996 44.713 cm +1 0 0 1 417.795 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 430.973 62.327 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ +/F44 10.9091 Tf 423.773 655.901 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ ET q -1 0 0 1 480.351 62.526 cm +1 0 0 1 473.15 656.101 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 483.696 62.327 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051)]TJ +/F18 10.9091 Tf 476.496 655.901 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051)]TJ ET q -1 0 0 1 543.969 44.713 cm +1 0 0 1 536.768 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 549.946 62.327 Td [(An)28(y)-334(r)1(e)-1(al)-333(n)28(um.)]TJ/F25 10.9091 Tf 72.152 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 542.746 655.901 Td [(An)28(y)-333(re)-1(al)-333(n)28(um.)]TJ/F25 10.9091 Tf 72.152 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 646.633 44.713 cm +1 0 0 1 639.432 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 652.61 62.327 Td [(0)]TJ +/F15 10.9091 Tf 645.41 655.901 Td [(0)]TJ ET q -1 0 0 1 725.711 44.713 cm +1 0 0 1 718.51 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 731.688 62.327 Td [(Drop)-1063(toleran)1(c)-1(e)]TJ/F22 10.9091 Tf 90.366 0 Td [(t)]TJ/F15 10.9091 Tf 15.532 0 Td [(in)-1063(th)1(e)]TJ -105.898 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.277 0 Td [(\051)-333(factorization.)]TJ +/F15 10.9091 Tf 724.488 655.901 Td [(Drop)-1063(tol)1(e)-1(r)1(ance)]TJ/F22 10.9091 Tf 90.366 0 Td [(t)]TJ/F15 10.9091 Tf 15.532 0 Td [(in)-1063(t)1(he)]TJ -105.898 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051)-333(factorization.)]TJ ET q -1 0 0 1 879.398 44.713 cm +1 0 0 1 872.198 638.287 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 313.828 44.514 cm +1 0 0 1 306.627 638.088 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q q -1 0 0 1 313.828 -36.981 cm +1 0 0 1 306.627 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q BT -/F44 10.9091 Tf 319.805 34.83 Td [(mld_sub_ren_)]TJ 0 -13.549 Td [(SUB_REN)]TJ +/F44 10.9091 Tf 312.605 628.405 Td [(mld_sub_ren_)]TJ 0 -13.55 Td [(SUB_REN)]TJ ET q -1 0 0 1 424.996 -36.981 cm +1 0 0 1 417.795 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q BT -/F44 10.9091 Tf 430.973 34.83 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 423.773 628.405 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 543.969 -36.981 cm +1 0 0 1 536.768 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q BT -/F44 10.9091 Tf 549.946 34.83 Td [('RENUM)]TJ +/F44 10.9091 Tf 542.746 628.405 Td [('RENUM)]TJ ET q -1 0 0 1 584.997 35.029 cm +1 0 0 1 577.796 628.604 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 588.433 34.83 Td [(NONE')]TJ -38.487 -13.549 Td [('RENUM)]TJ +/F44 10.9091 Tf 581.233 628.405 Td [(NONE')]TJ -38.487 -13.55 Td [('RENUM)]TJ ET q -1 0 0 1 584.997 21.48 cm +1 0 0 1 577.796 615.055 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 588.433 21.281 Td [(GLOBAL')]TJ +/F44 10.9091 Tf 581.233 614.855 Td [(GLOBAL')]TJ ET q -1 0 0 1 646.633 -36.981 cm +1 0 0 1 639.432 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q BT -/F44 10.9091 Tf 652.61 34.83 Td [('RENUM)]TJ +/F44 10.9091 Tf 645.41 628.405 Td [('RENUM)]TJ ET q -1 0 0 1 687.661 35.029 cm +1 0 0 1 680.46 628.604 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 691.097 34.83 Td [(NONE')]TJ +/F44 10.9091 Tf 683.897 628.405 Td [(NONE')]TJ ET q -1 0 0 1 725.711 -36.981 cm +1 0 0 1 718.51 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q BT -/F15 10.9091 Tf 731.688 34.83 Td [(Ro)28(w)-257(and)-256(column)-256(reordering)-256(of)]TJ 0 -13.549 Td [(the)-423(lo)-28(cal)-423(sub)1(m)-1(atr)1(ic)-1(es:)-623(no)-423(re-)]TJ 0 -13.549 Td [(ordering,)-248(reordering)-227(according)]TJ 0 -13.549 Td [(to)-253(the)-254(global)-253(n)28(um)27(b)-27(ering)-254(of)-253(the)]TJ 0 -13.55 Td [(ro)28(ws)-229(and)-229(columns)-229(of)-229(the)-229(whole)]TJ 0 -13.549 Td [(matrix.)]TJ +/F15 10.9091 Tf 724.488 628.405 Td [(Ro)28(w)-257(and)-256(column)-256(reordering)-256(of)]TJ 0 -13.55 Td [(the)-423(lo)-28(cal)-422(s)-1(u)1(bmatrice)-1(s:)-623(no)-423(re-)]TJ 0 -13.549 Td [(ordering,)-248(reordering)-227(according)]TJ 0 -13.549 Td [(to)-253(the)-254(global)-253(n)28(um)27(b)-27(ering)-254(of)-253(the)]TJ 0 -13.549 Td [(ro)28(ws)-229(and)-229(columns)-229(of)-229(the)-229(whole)]TJ 0 -13.549 Td [(matrix.)]TJ ET q -1 0 0 1 879.398 -36.981 cm +1 0 0 1 872.198 556.594 cm []0 d 0 J 0.398 w 0 0 m 0 81.295 l S Q q -1 0 0 1 313.828 -37.18 cm +1 0 0 1 306.627 556.395 cm []0 d 0 J 0.398 w 0 0 m 565.57 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 412.552 -67.869 Td [(T)83(able)-333(3:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(one-lev)28(el)-333(preconditioner)-333(used)-334(as)-333(smo)-28(other.)]TJ +/F15 10.9091 Tf 405.352 525.705 Td [(T)83(able)-333(3:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(on)1(e)-1(-lev)28(el)-333(preconditioner)-333(used)-334(as)-333(smo)-28(other.)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 299.826 121.521 cm +1 0 0 1 292.625 715.095 cm Q 0 g 0 G 0 g 0 G 0 g 0 G endstream endobj -432 0 obj << +439 0 obj << /Type /Page -/Contents 433 0 R -/Resources 431 0 R +/Contents 440 0 R +/Resources 438 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R -/Annots [ 430 0 R ] ->> endobj -430 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 437 0 R >> endobj -434 0 obj << -/D [432 0 R /XYZ 93.6 740.002 null] +441 0 obj << +/D [439 0 R /XYZ 86.4 740.002 null] >> endobj -435 0 obj << -/D [432 0 R /XYZ 475.666 277.581 null] +442 0 obj << +/D [439 0 R /XYZ -3963.913 559.035 null] >> endobj -431 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R /F25 177 0 R /F22 176 0 R /F18 174 0 R >> +438 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R /F25 177 0 R /F22 176 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -439 0 obj << -/Length 12082 +446 0 obj << +/Length 12084 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(26)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(27)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 292.625 715.095 cm +1 0 0 1 299.826 121.521 cm q -0 -1 1 0 0 0 cm +0 1 -1 0 0 0 cm 0 g 0 G 0 g 0 G 0 g 0 G @@ -3740,1063 +3793,1063 @@ q []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 0 223.168 cm +1 0 0 1 0 223.167 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q -1 0 0 1 -292.625 -715.095 cm +1 0 0 1 -299.826 -121.521 cm BT -/F44 10.9091 Tf 298.603 942.327 Td [(what)]TJ +/F44 10.9091 Tf 305.803 348.753 Td [(what)]TJ ET q -1 0 0 1 446.313 938.263 cm +1 0 0 1 453.513 344.688 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 452.29 942.327 Td [(d)22(a)67(t)66(a)-377(type)]TJ +/F41 10.9091 Tf 459.491 348.753 Td [(d)22(a)67(t)66(a)-377(type)]TJ ET q -1 0 0 1 565.286 938.263 cm +1 0 0 1 572.487 344.688 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 571.264 942.327 Td [(val)]TJ +/F44 10.9091 Tf 578.464 348.753 Td [(val)]TJ ET q -1 0 0 1 645.273 938.263 cm +1 0 0 1 652.473 344.688 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 651.25 942.327 Td [(def)89(a)22(ul)67(t)]TJ +/F41 10.9091 Tf 658.451 348.753 Td [(def)89(a)22(ul)67(t)]TJ ET q -1 0 0 1 725.259 938.263 cm +1 0 0 1 732.46 344.688 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 731.237 942.327 Td [(comments)]TJ +/F41 10.9091 Tf 738.437 348.753 Td [(comments)]TJ ET q -1 0 0 1 907.293 938.263 cm +1 0 0 1 914.493 344.688 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 292.625 938.063 cm +1 0 0 1 299.826 344.489 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 843.02 cm +1 0 0 1 299.826 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q BT -/F44 10.9091 Tf 298.603 928.38 Td [(mld_coarse_aggr_size_)]TJ 0 -13.55 Td [(COARSE_AGGR_SIZE)]TJ +/F44 10.9091 Tf 305.803 334.805 Td [(mld_coarse_aggr_size_)]TJ 0 -13.549 Td [(COARSE_AGGR_SIZE)]TJ ET q -1 0 0 1 446.313 843.02 cm +1 0 0 1 453.513 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q BT -/F44 10.9091 Tf 452.29 928.38 Td [(integer)]TJ +/F44 10.9091 Tf 459.491 334.805 Td [(integer)]TJ ET q -1 0 0 1 565.286 843.02 cm +1 0 0 1 572.487 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q BT -/F15 10.9091 Tf 571.264 928.38 Td [(A)-2120(p)-27(ositiv)28(e)]TJ 0 -13.55 Td [(n)28(um)28(b)-28(er)]TJ +/F15 10.9091 Tf 578.464 334.805 Td [(A)-2120(p)-27(ositiv)28(e)]TJ 0 -13.549 Td [(n)28(um)28(b)-28(er)]TJ ET q -1 0 0 1 645.273 843.02 cm +1 0 0 1 652.473 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q BT -/F15 10.9091 Tf 651.25 928.38 Td [(0,)-1792(meaning)]TJ 0 -13.55 Td [(that)-726(the)-727(size)]TJ 0 -13.549 Td [(is)-1296(\014xed)-1296(at)]TJ/F44 10.9091 Tf 0 -13.549 Td [(precinit)]TJ/F15 10.9091 Tf 0 -13.549 Td [(time)]TJ +/F15 10.9091 Tf 658.451 334.805 Td [(0,)-1792(meaning)]TJ 0 -13.549 Td [(that)-726(the)-727(size)]TJ 0 -13.549 Td [(is)-1296(\014xed)-1296(at)]TJ/F44 10.9091 Tf 0 -13.549 Td [(precinit)]TJ/F15 10.9091 Tf 0 -13.549 Td [(time)]TJ ET q -1 0 0 1 725.259 843.02 cm +1 0 0 1 732.46 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q BT -/F15 10.9091 Tf 731.237 928.38 Td [(Coarse)-614(size)-615(threshold)1(.)-1288(Disregard)]TJ 0 -13.55 Td [(the)-360(original)-360(sp)-28(eci\014cation)-360(of)-360(n)28(um)28(b)-28(er)]TJ 0 -13.549 Td [(of)-427(lev)28(els)-427(in)]TJ/F44 10.9091 Tf 57.368 0 Td [(precinit)]TJ/F15 10.9091 Tf 50.476 0 Td [(and)-427(con)28(tin)28(ue)]TJ -107.844 -13.549 Td [(aggregation)-500(un)28(til)-501(either)-500(the)-501(global)]TJ 0 -13.549 Td [(n)28(um)28(b)-28(er)-575(of)-575(v)56(ariables)-575(is)-575(b)-27(elo)27(w)-574(this)]TJ 0 -13.549 Td [(threshold,)-526(or)-487(the)-487(aggregation)-487(do)-28(es)]TJ 0 -13.55 Td [(not)-333(reduce)-334(the)-333(size)-333(an)27(y)-333(longer.)]TJ +/F15 10.9091 Tf 738.437 334.805 Td [(Coarse)-614(size)-615(threshold.)-1287(Disregard)]TJ 0 -13.549 Td [(the)-360(original)-360(sp)-28(eci\014cation)-360(of)-360(n)28(um)27(b)-27(er)]TJ 0 -13.549 Td [(of)-427(lev)28(els)-427(in)]TJ/F44 10.9091 Tf 57.369 0 Td [(precinit)]TJ/F15 10.9091 Tf 50.476 0 Td [(and)-427(con)28(tin)28(ue)]TJ -107.845 -13.549 Td [(aggregation)-500(un)28(til)-501(either)-500(the)-501(global)]TJ 0 -13.549 Td [(n)28(um)28(b)-28(er)-575(of)-575(v)56(ariables)-575(is)-575(b)-27(elo)27(w)-574(this)]TJ 0 -13.55 Td [(threshold,)-526(or)-487(the)-487(aggregation)-488(d)1(o)-28(es)]TJ 0 -13.549 Td [(not)-333(reduce)-334(the)-333(size)-333(an)27(y)-333(longer.)]TJ ET q -1 0 0 1 907.293 843.02 cm +1 0 0 1 914.493 249.445 cm []0 d 0 J 0.398 w 0 0 m 0 94.844 l S Q q -1 0 0 1 292.625 842.82 cm +1 0 0 1 299.826 249.246 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 801.974 cm +1 0 0 1 299.826 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 298.603 833.137 Td [(mld_aggr_alg_)]TJ 0 -13.549 Td [(AGGR_ALG)]TJ +/F44 10.9091 Tf 305.803 239.562 Td [(mld_aggr_alg_)]TJ 0 -13.549 Td [(AGGR_ALG)]TJ ET q -1 0 0 1 446.313 801.974 cm +1 0 0 1 453.513 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 452.29 833.137 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 459.491 239.562 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 565.286 801.974 cm +1 0 0 1 572.487 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 571.264 833.137 Td [('DEC')]TJ +/F44 10.9091 Tf 578.464 239.562 Td [('DEC')]TJ ET q -1 0 0 1 645.273 801.974 cm +1 0 0 1 652.473 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 651.25 833.137 Td [('DEC')]TJ +/F44 10.9091 Tf 658.451 239.562 Td [('DEC')]TJ ET q -1 0 0 1 725.259 801.974 cm +1 0 0 1 732.46 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 731.237 833.137 Td [(Aggregation)-478(algorithm.)-879(Curren)28(tly)83(,)]TJ 0 -13.549 Td [(only)-569(the)-569(decoupled)-569(aggregation)-569(is)]TJ 0 -13.55 Td [(a)28(v)55(ailable.)]TJ +/F15 10.9091 Tf 738.437 239.562 Td [(Aggregation)-478(algorithm.)-879(Curren)28(tly)83(,)]TJ 0 -13.549 Td [(only)-569(the)-569(decoupled)-569(aggregation)-569(is)]TJ 0 -13.549 Td [(a)28(v)55(ailable.)]TJ ET q -1 0 0 1 907.293 801.974 cm +1 0 0 1 914.493 208.399 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 292.625 801.774 cm +1 0 0 1 299.826 208.2 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 760.928 cm +1 0 0 1 299.826 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 298.603 792.091 Td [(mld_aggr_kind_)]TJ 0 -13.549 Td [(AGGR_KIND)]TJ +/F44 10.9091 Tf 305.803 198.516 Td [(mld_aggr_kind_)]TJ 0 -13.549 Td [(AGGR_KIND)]TJ ET q -1 0 0 1 446.313 760.928 cm +1 0 0 1 453.513 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 452.29 792.091 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 459.491 198.516 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 565.286 760.928 cm +1 0 0 1 572.487 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 571.264 792.091 Td [('SMOOTHED')]TJ 0 -13.549 Td [('NONSMOOTHED')]TJ +/F44 10.9091 Tf 578.464 198.516 Td [('SMOOTHED')]TJ 0 -13.549 Td [('NONSMOOTHED')]TJ ET q -1 0 0 1 645.273 760.928 cm +1 0 0 1 652.473 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 651.25 792.091 Td [('SMOOTHED')]TJ +/F44 10.9091 Tf 658.451 198.516 Td [('SMOOTHED')]TJ ET q -1 0 0 1 725.259 760.928 cm +1 0 0 1 732.46 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 731.237 792.091 Td [(T)28(yp)-28(e)-736(of)-736(aggregation:)-1249(smo)-28(othed,)]TJ 0 -13.549 Td [(nonsmo)-28(othed)-464(\050i.e.)-464(using)-464(the)-465(ten)28(ta-)]TJ 0 -13.55 Td [(tiv)28(e)-334(p)1(rolongator\051.)]TJ +/F15 10.9091 Tf 738.437 198.516 Td [(T)28(yp)-28(e)-736(of)-736(aggregation:)-1249(smo)-28(othed,)]TJ 0 -13.549 Td [(nonsmo)-28(othed)-464(\050i.e.)-464(using)-465(th)1(e)-465(ten)28(ta-)]TJ 0 -13.549 Td [(tiv)28(e)-334(pr)1(olongator\051.)]TJ ET q -1 0 0 1 907.293 760.928 cm +1 0 0 1 914.493 167.353 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 292.625 760.728 cm +1 0 0 1 299.826 167.154 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 733.431 cm +1 0 0 1 299.826 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 298.603 751.045 Td [(mld_aggr_thresh_)]TJ 0 -13.55 Td [(AGGR_THRESH)]TJ +/F44 10.9091 Tf 305.803 157.47 Td [(mld_aggr_thresh_)]TJ 0 -13.549 Td [(AGGR_THRESH)]TJ ET q -1 0 0 1 446.313 733.431 cm +1 0 0 1 453.513 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F44 10.9091 Tf 452.29 751.045 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ +/F44 10.9091 Tf 459.491 157.47 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ ET q -1 0 0 1 501.668 751.244 cm +1 0 0 1 508.868 157.67 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 505.014 751.045 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051)]TJ +/F18 10.9091 Tf 512.214 157.47 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051)]TJ ET q -1 0 0 1 565.286 733.431 cm +1 0 0 1 572.487 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 571.264 751.045 Td [(An)28(y)-311(real)-311(n)27(um.)]TJ/F25 10.9091 Tf 0 -13.55 Td [(2)]TJ/F15 10.9091 Tf 10.303 0 Td [([0)]TJ/F22 10.9091 Tf 8.485 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(1])]TJ +/F15 10.9091 Tf 578.464 157.47 Td [(An)28(y)-311(real)-311(n)27(um.)]TJ/F25 10.9091 Tf 0 -13.549 Td [(2)]TJ/F15 10.9091 Tf 10.303 0 Td [([0)]TJ/F22 10.9091 Tf 8.485 0 Td [(;)]TJ/F15 10.9091 Tf 4.848 0 Td [(1])]TJ ET q -1 0 0 1 645.273 733.431 cm +1 0 0 1 652.473 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 651.25 751.045 Td [(0)]TJ +/F15 10.9091 Tf 658.451 157.47 Td [(0)]TJ ET q -1 0 0 1 725.259 733.431 cm +1 0 0 1 732.46 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q BT -/F15 10.9091 Tf 731.237 751.045 Td [(Threshold)]TJ/F22 10.9091 Tf 50.815 0 Td [(\022)]TJ/F15 10.9091 Tf 8.271 0 Td [(in)-261(the)-261(aggregation)-260(algo-)]TJ -59.086 -13.55 Td [(rithm.)]TJ +/F15 10.9091 Tf 738.437 157.47 Td [(Threshold)]TJ/F22 10.9091 Tf 50.816 0 Td [(\022)]TJ/F15 10.9091 Tf 8.27 0 Td [(in)-261(the)-261(aggregation)-261(algo-)]TJ -59.086 -13.549 Td [(rithm.)]TJ ET q -1 0 0 1 907.293 733.431 cm +1 0 0 1 914.493 139.856 cm []0 d 0 J 0.398 w 0 0 m 0 27.098 l S Q q -1 0 0 1 292.625 733.231 cm +1 0 0 1 299.826 139.657 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 665.286 cm +1 0 0 1 299.826 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 298.603 723.548 Td [(mld_aggr_omega_alg_)]TJ 0 -13.549 Td [(AGGR_OMEGA_ALG)]TJ +/F44 10.9091 Tf 305.803 129.973 Td [(mld_aggr_omega_alg_)]TJ 0 -13.549 Td [(AGGR_OMEGA_ALG)]TJ ET q -1 0 0 1 446.313 665.286 cm +1 0 0 1 453.513 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 452.29 723.548 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 459.491 129.973 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 565.286 665.286 cm +1 0 0 1 572.487 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 571.264 723.548 Td [('EIG)]TJ +/F44 10.9091 Tf 578.464 129.973 Td [('EIG)]TJ ET q -1 0 0 1 594.86 723.747 cm +1 0 0 1 602.06 130.173 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 598.296 723.548 Td [(EST')]TJ -27.032 -13.549 Td [('USER)]TJ +/F44 10.9091 Tf 605.497 129.973 Td [(EST')]TJ -27.033 -13.549 Td [('USER)]TJ ET q -1 0 0 1 600.587 710.198 cm +1 0 0 1 607.787 116.623 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 604.023 709.999 Td [(CHOICE')]TJ +/F44 10.9091 Tf 611.224 116.424 Td [(CHOICE')]TJ ET q -1 0 0 1 645.273 665.286 cm +1 0 0 1 652.473 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F44 10.9091 Tf 651.25 723.548 Td [('EIG)]TJ +/F44 10.9091 Tf 658.451 129.973 Td [('EIG)]TJ ET q -1 0 0 1 674.846 723.747 cm +1 0 0 1 682.047 130.173 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 678.283 723.548 Td [(EST')]TJ +/F44 10.9091 Tf 685.483 129.973 Td [(EST')]TJ ET q -1 0 0 1 725.259 665.286 cm +1 0 0 1 732.46 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q BT -/F15 10.9091 Tf 731.237 723.548 Td [(Ho)28(w)-508(the)-507(damping)-508(parameter)]TJ/F22 10.9091 Tf 148.269 0 Td [(!)]TJ/F15 10.9091 Tf 12.719 0 Td [(in)]TJ -160.988 -13.549 Td [(the)-269(smo)-28(othed)-269(aggregation)-269(should)-269(b)-28(e)]TJ 0 -13.55 Td [(computed:)-435(either)-315(via)-314(an)-315(estimate)-314(of)]TJ 0 -13.549 Td [(the)-362(sp)-28(ectral)-361(radius)-362(of)]TJ/F22 10.9091 Tf 106.272 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-369(or)-362(ex-)]TJ -135.107 -13.549 Td [(plicily)-333(sp)-28(eci\014ed)-333(b)27(y)-333(the)-333(user.)]TJ +/F15 10.9091 Tf 738.437 129.973 Td [(Ho)28(w)-508(the)-507(damping)-508(parameter)]TJ/F22 10.9091 Tf 148.269 0 Td [(!)]TJ/F15 10.9091 Tf 12.719 0 Td [(in)]TJ -160.988 -13.549 Td [(the)-269(smo)-28(othed)-269(aggregation)-269(should)-269(b)-28(e)]TJ 0 -13.549 Td [(computed:)-435(either)-315(via)-314(an)-315(estimate)-314(of)]TJ 0 -13.549 Td [(the)-362(sp)-28(ectral)-361(radius)-362(of)]TJ/F22 10.9091 Tf 106.272 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(,)-369(or)-362(ex-)]TJ -135.108 -13.549 Td [(plicily)-333(sp)-28(eci\014ed)-333(b)27(y)-333(the)-333(user.)]TJ ET q -1 0 0 1 907.293 665.286 cm +1 0 0 1 914.493 71.712 cm []0 d 0 J 0.398 w 0 0 m 0 67.746 l S Q q -1 0 0 1 292.625 665.087 cm +1 0 0 1 299.826 71.513 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 624.24 cm +1 0 0 1 299.826 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 298.603 655.403 Td [(mld_aggr_eig_)]TJ 0 -13.549 Td [(AGGR_EIG)]TJ +/F44 10.9091 Tf 305.803 61.829 Td [(mld_aggr_eig_)]TJ 0 -13.549 Td [(AGGR_EIG)]TJ ET q -1 0 0 1 446.313 624.24 cm +1 0 0 1 453.513 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 452.29 655.403 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 459.491 61.829 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 565.286 624.24 cm +1 0 0 1 572.487 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 571.264 655.403 Td [('A)]TJ +/F44 10.9091 Tf 578.464 61.829 Td [('A)]TJ ET q -1 0 0 1 583.405 655.603 cm +1 0 0 1 590.606 62.028 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 586.842 655.403 Td [(NORMI')]TJ +/F44 10.9091 Tf 594.042 61.829 Td [(NORMI')]TJ ET q -1 0 0 1 645.273 624.24 cm +1 0 0 1 652.473 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 651.25 655.403 Td [('A)]TJ +/F44 10.9091 Tf 658.451 61.829 Td [('A)]TJ ET q -1 0 0 1 663.392 655.603 cm +1 0 0 1 670.592 62.028 cm []0 d 0 J 0.398 w 0 0 m 3.436 0 l S Q BT -/F44 10.9091 Tf 666.828 655.403 Td [(NORMI')]TJ +/F44 10.9091 Tf 674.029 61.829 Td [(NORMI')]TJ ET q -1 0 0 1 725.259 624.24 cm +1 0 0 1 732.46 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 731.237 655.403 Td [(Ho)28(w)-319(to)-320(estimate)-319(the)-319(sp)-28(ectral)-319(radius)]TJ 0 -13.549 Td [(of)]TJ/F22 10.9091 Tf 12.939 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)-586(Curren)28(tly)-381(only)-380(the)-381(in\014n-)]TJ -41.775 -13.549 Td [(it)28(y)-333(norm)-334(estimate)-333(is)-334(a)28(v)56(ailable.)]TJ +/F15 10.9091 Tf 738.437 61.829 Td [(Ho)28(w)-319(to)-320(estimate)-319(the)-319(sp)-28(ectral)-319(radius)]TJ 0 -13.549 Td [(of)]TJ/F22 10.9091 Tf 12.94 0 Td [(D)]TJ/F26 7.9701 Tf 9.334 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)-586(Curren)28(tly)-381(only)-380(the)-381(in\014n-)]TJ -41.775 -13.549 Td [(it)28(y)-334(n)1(orm)-334(estimate)-333(is)-334(a)28(v)56(ailable.)]TJ ET q -1 0 0 1 907.293 624.24 cm +1 0 0 1 914.493 30.666 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 292.625 624.041 cm +1 0 0 1 299.826 30.467 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q q -1 0 0 1 292.625 515.448 cm +1 0 0 1 299.826 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F44 10.9091 Tf 298.603 614.357 Td [(mld_aggr_omega_val_)]TJ 0 -13.549 Td [(AGGR_OMEGA_VAL)]TJ +/F44 10.9091 Tf 305.803 20.783 Td [(mld_aggr_omega_val_)]TJ 0 -13.549 Td [(AGGR_OMEGA_VAL)]TJ ET q -1 0 0 1 446.313 515.448 cm +1 0 0 1 453.513 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F44 10.9091 Tf 452.29 614.357 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ +/F44 10.9091 Tf 459.491 20.783 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ ET q -1 0 0 1 501.668 614.556 cm +1 0 0 1 508.868 20.982 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 505.014 614.357 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051)]TJ +/F18 10.9091 Tf 512.214 20.783 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051)]TJ ET q -1 0 0 1 565.286 515.448 cm +1 0 0 1 572.487 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F15 10.9091 Tf 571.264 614.357 Td [(An)28(y)-486(nonnega-)]TJ 0 -13.549 Td [(tiv)28(e)-334(r)1(e)-1(al)-333(n)28(um.)]TJ +/F15 10.9091 Tf 578.464 20.783 Td [(An)28(y)-486(nonnega-)]TJ 0 -13.549 Td [(tiv)28(e)-334(real)-333(n)28(um.)]TJ ET q -1 0 0 1 645.273 515.448 cm +1 0 0 1 652.473 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F15 10.9091 Tf 651.25 614.357 Td [(4)]TJ/F22 10.9091 Tf 5.455 0 Td [(=)]TJ/F15 10.9091 Tf 5.454 0 Td [(\0503)]TJ/F22 10.9091 Tf 9.697 0 Td [(\032)]TJ/F15 10.9091 Tf 5.64 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.181 0 Td [(\051\051)]TJ +/F15 10.9091 Tf 658.451 20.783 Td [(4)]TJ/F22 10.9091 Tf 5.454 0 Td [(=)]TJ/F15 10.9091 Tf 5.455 0 Td [(\0503)]TJ/F22 10.9091 Tf 9.697 0 Td [(\032)]TJ/F15 10.9091 Tf 5.64 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(\051\051)]TJ ET q -1 0 0 1 725.259 515.448 cm +1 0 0 1 732.46 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F15 10.9091 Tf 731.237 614.357 Td [(Damping)-1068(parameter)]TJ/F22 10.9091 Tf 115.342 0 Td [(!)]TJ/F15 10.9091 Tf 18.838 0 Td [(in)-1068(the)]TJ -134.18 -13.549 Td [(smo)-28(othed)-914(aggre)-1(gat)1(ion)-915(algorithm.)]TJ 0 -13.549 Td [(It)-804(m)28(ust)-804(b)-28(e)-803(se)-1(t)-803(b)28(y)-804(the)-804(user)-804(if)]TJ/F44 10.9091 Tf 0 -13.549 Td [(USER_CHOICE)]TJ/F15 10.9091 Tf 75.101 0 Td [(w)28(as)-1110(sp)-28(eci\014ed)-1110(for)]TJ/F44 10.9091 Tf -75.101 -13.55 Td [(mld_aggr_omega_alg_)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-1218(otherwise)]TJ -108.817 -13.549 Td [(it)-354(is)-354(computed)-354(b)28(y)-354(the)-354(library)83(,)-359(using)]TJ 0 -13.549 Td [(the)-303(selected)-303(estimate)-304(of)-303(the)-303(sp)-28(ectral)]TJ 0 -13.549 Td [(radius)]TJ/F22 10.9091 Tf 32.818 0 Td [(\032)]TJ/F15 10.9091 Tf 5.64 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(D)]TJ/F26 7.9701 Tf 9.334 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(\051)-333(of)]TJ/F22 10.9091 Tf 20.303 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -3.959 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)]TJ +/F15 10.9091 Tf 738.437 20.783 Td [(Damping)-1068(parameter)]TJ/F22 10.9091 Tf 115.343 0 Td [(!)]TJ/F15 10.9091 Tf 18.837 0 Td [(in)-1068(the)]TJ -134.18 -13.549 Td [(smo)-28(othed)-915(aggr)1(e)-1(gation)-914(algorithm.)]TJ 0 -13.55 Td [(It)-804(m)28(ust)-804(b)-28(e)-803(s)-1(et)-803(b)27(y)-803(the)-804(user)-804(if)]TJ/F44 10.9091 Tf 0 -13.549 Td [(USER_CHOICE)]TJ/F15 10.9091 Tf 75.101 0 Td [(w)28(as)-1110(sp)-28(eci\014ed)-1110(for)]TJ/F44 10.9091 Tf -75.101 -13.549 Td [(mld_aggr_omega_alg_)]TJ/F15 10.9091 Tf 108.817 0 Td [(,)-1218(otherwise)]TJ -108.817 -13.549 Td [(it)-354(is)-354(computed)-354(b)28(y)-354(the)-354(library)83(,)-359(using)]TJ 0 -13.549 Td [(the)-303(selected)-303(estimate)-304(of)-303(the)-303(sp)-28(ectral)]TJ 0 -13.549 Td [(radius)]TJ/F22 10.9091 Tf 32.818 0 Td [(\032)]TJ/F15 10.9091 Tf 5.64 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.958 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F22 10.9091 Tf 4.733 -3.958 Td [(A)]TJ/F15 10.9091 Tf 8.181 0 Td [(\051)-333(of)]TJ/F22 10.9091 Tf 20.303 0 Td [(D)]TJ/F26 7.9701 Tf 9.335 3.958 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F22 10.9091 Tf 4.732 -3.958 Td [(A)]TJ/F15 10.9091 Tf 8.182 0 Td [(.)]TJ ET q -1 0 0 1 907.293 515.448 cm +1 0 0 1 914.493 -78.126 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q q -1 0 0 1 292.625 515.249 cm +1 0 0 1 299.826 -78.326 cm []0 d 0 J 0.398 w 0 0 m 614.668 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 452.579 484.56 Td [(T)83(able)-333(4:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(aggregation)-333(algorithm.)]TJ +/F15 10.9091 Tf 459.779 -109.015 Td [(T)83(able)-333(4:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(aggregation)-333(algorithm.)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 292.625 715.095 cm +1 0 0 1 299.826 121.521 cm Q 0 g 0 G 0 g 0 G 0 g 0 G endstream endobj -438 0 obj << +445 0 obj << /Type /Page -/Contents 439 0 R -/Resources 437 0 R +/Contents 446 0 R +/Resources 444 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R +/Parent 437 0 R +/Annots [ 443 0 R ] >> endobj -440 0 obj << -/D [438 0 R /XYZ 86.4 740.002 null] +443 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> >> endobj -441 0 obj << -/D [438 0 R /XYZ -4005.058 511.808 null] +447 0 obj << +/D [445 0 R /XYZ 93.6 740.002 null] >> endobj -437 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R /F18 174 0 R /F25 177 0 R /F22 176 0 R /F26 271 0 R /F20 272 0 R >> +448 0 obj << +/D [445 0 R /XYZ 516.591 4405.505 null] +>> endobj +444 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R /F18 174 0 R /F25 177 0 R /F22 176 0 R /F26 278 0 R /F20 279 0 R >> /ProcSet [ /PDF /Text ] >> endobj -445 0 obj << -/Length 10688 +451 0 obj << +/Length 10694 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(27)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(28)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 299.826 121.521 cm +1 0 0 1 292.625 715.095 cm q -0 1 -1 0 0 0 cm +0 -1 1 0 0 0 cm 0 g 0 G 0 g 0 G 0 g 0 G q -1 0 0 1 26.448 250.963 cm +1 0 0 1 26.449 250.963 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 26.448 237.215 cm +1 0 0 1 26.449 237.215 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q -1 0 0 1 -299.826 -121.521 cm +1 0 0 1 -292.625 -715.095 cm BT -/F44 10.9091 Tf 332.252 362.8 Td [(what)]TJ +/F44 10.9091 Tf 325.051 956.375 Td [(what)]TJ ET q -1 0 0 1 437.442 358.736 cm +1 0 0 1 430.241 952.31 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 443.42 362.8 Td [(d)22(a)67(t)67(a)-378(type)]TJ +/F41 10.9091 Tf 436.219 956.375 Td [(d)22(a)67(t)66(a)-377(type)]TJ ET q -1 0 0 1 556.415 358.736 cm +1 0 0 1 549.215 952.31 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F44 10.9091 Tf 562.393 362.8 Td [(val)]TJ +/F44 10.9091 Tf 555.192 956.375 Td [(val)]TJ ET q -1 0 0 1 659.079 358.736 cm +1 0 0 1 651.879 952.31 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 665.057 362.8 Td [(def)89(a)22(ul)67(t)]TJ +/F41 10.9091 Tf 657.856 956.375 Td [(def)89(a)22(ul)67(t)]TJ ET q -1 0 0 1 713.264 358.736 cm +1 0 0 1 706.064 952.31 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F41 10.9091 Tf 719.242 362.8 Td [(comments)]TJ +/F41 10.9091 Tf 712.041 956.375 Td [(comments)]TJ ET q -1 0 0 1 866.952 358.736 cm +1 0 0 1 859.751 952.31 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 326.274 358.536 cm +1 0 0 1 319.074 952.111 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 317.689 cm +1 0 0 1 319.074 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 332.252 348.853 Td [(mld_coarse_mat_)]TJ 0 -13.55 Td [(COARSE_MAT)]TJ +/F44 10.9091 Tf 325.051 942.427 Td [(mld_coarse_mat_)]TJ 0 -13.549 Td [(COARSE_MAT)]TJ ET q -1 0 0 1 437.442 317.689 cm +1 0 0 1 430.241 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 443.42 348.853 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 436.219 942.427 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 556.415 317.689 cm +1 0 0 1 549.215 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 562.393 348.853 Td [('DISTR')]TJ 0 -13.55 Td [('REPL')]TJ +/F44 10.9091 Tf 555.192 942.427 Td [('DISTR')]TJ 0 -13.549 Td [('REPL')]TJ ET q -1 0 0 1 659.079 317.689 cm +1 0 0 1 651.879 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 665.057 348.853 Td [('DISTR')]TJ +/F44 10.9091 Tf 657.856 942.427 Td [('DISTR')]TJ ET q -1 0 0 1 713.264 317.689 cm +1 0 0 1 706.064 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 719.242 348.853 Td [(Coarsest)-498(matrix:)-775(distributed)]TJ 0 -13.55 Td [(among)-276(the)-276(pro)-27(cessors)-276(or)-276(repli-)]TJ 0 -13.549 Td [(cated)-333(on)-334(eac)28(h)-333(of)-334(th)1(e)-1(m.)]TJ +/F15 10.9091 Tf 712.041 942.427 Td [(Coarsest)-498(matrix:)-775(distributed)]TJ 0 -13.549 Td [(among)-276(the)-276(pro)-27(cess)-1(or)1(s)-276(or)-276(repli-)]TJ 0 -13.549 Td [(cated)-333(on)-334(eac)28(h)-333(of)-334(them.)]TJ ET q -1 0 0 1 866.952 317.689 cm +1 0 0 1 859.751 911.264 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 326.274 317.49 cm +1 0 0 1 319.074 911.065 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 181.799 cm +1 0 0 1 319.074 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q BT -/F44 10.9091 Tf 332.252 307.807 Td [(mld_coarse_solve_)]TJ 0 -27.099 Td [(COARSE_SOLVE)]TJ +/F44 10.9091 Tf 325.051 901.381 Td [(mld_coarse_solve_)]TJ 0 -27.098 Td [(COARSE_SOLVE)]TJ ET q -1 0 0 1 437.442 181.799 cm +1 0 0 1 430.241 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q BT -/F44 10.9091 Tf 443.42 307.807 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 436.219 901.381 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 556.415 181.799 cm +1 0 0 1 549.215 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q BT -/F44 10.9091 Tf 562.393 307.807 Td [('BJAC')]TJ 0 -13.55 Td [('UMF')]TJ 0 -13.549 Td [('SLU')]TJ 0 -13.549 Td [('SLUDIST')]TJ +/F44 10.9091 Tf 555.192 901.381 Td [('BJAC')]TJ 0 -13.549 Td [('UMF')]TJ 0 -13.549 Td [('SLU')]TJ 0 -13.55 Td [('SLUDIST')]TJ ET q -1 0 0 1 659.079 181.799 cm +1 0 0 1 651.879 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q BT -/F44 10.9091 Tf 665.057 307.807 Td [('BJAC')]TJ +/F44 10.9091 Tf 657.856 901.381 Td [('BJAC')]TJ ET q -1 0 0 1 713.264 181.799 cm +1 0 0 1 706.064 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q BT -/F15 10.9091 Tf 719.242 307.807 Td [(Solv)28(er)-659(used)-659(at)-660(th)1(e)-660(coarsest)]TJ 0 -13.55 Td [(lev)28(el:)-929(b)1(lo)-28(c)27(k)-575(Jacobi,)-635(s)-1(equ)1(e)-1(n)1(-)]TJ 0 -13.549 Td [(tial)-909(LU)-908(from)-908(UMFP)83(A)28(CK,)]TJ 0 -13.549 Td [(sequen)28(tial)-355(LU)-355(from)-354(Sup)-28(erLU,)]TJ 0 -13.549 Td [(distributed)-1119(LU)-1118(from)-1119(Su-)]TJ 0 -13.549 Td [(p)-28(erLU)]TJ +/F15 10.9091 Tf 712.041 901.381 Td [(Solv)28(er)-659(used)-659(at)-660(the)-659(coarsest)]TJ 0 -13.549 Td [(lev)28(el:)-929(blo)-27(c)27(k)-575(Jacobi,)-636(sequen-)]TJ 0 -13.549 Td [(tial)-909(LU)-908(from)-908(UMFP)83(A)28(CK,)]TJ 0 -13.55 Td [(sequen)28(tial)-355(LU)-355(from)-355(S)1(up)-28(erLU,)]TJ 0 -13.549 Td [(distributed)-1119(LU)-1118(from)-1119(Su-)]TJ 0 -13.549 Td [(p)-28(erLU)]TJ ET q -1 0 0 1 750.381 240.26 cm +1 0 0 1 743.181 833.834 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 753.654 240.061 Td [(Dist.)]TJ/F44 10.9091 Tf 55.775 0 Td [('SLUDIST')]TJ/F15 10.9091 Tf -90.187 -13.55 Td [(requires)-599(the)-599(coarse)-1(st)-599(matrix)]TJ 0 -13.549 Td [(to)-274(b)-28(e)-274(distributed,)-286(while)]TJ/F44 10.9091 Tf 113.096 0 Td [('UMF')]TJ/F15 10.9091 Tf -113.096 -13.549 Td [(and)]TJ/F44 10.9091 Tf 24.426 0 Td [('SLU')]TJ/F15 10.9091 Tf 35.483 0 Td [(require)-628(it)-628(to)-628(b)-27(e)]TJ -59.909 -13.549 Td [(replicated.)]TJ +/F15 10.9091 Tf 746.454 833.635 Td [(Dist.)]TJ/F44 10.9091 Tf 55.775 0 Td [('SLUDIST')]TJ/F15 10.9091 Tf -90.188 -13.549 Td [(requires)-599(the)-599(c)-1(oar)1(s)-1(est)-599(matrix)]TJ 0 -13.549 Td [(to)-274(b)-28(e)-274(distributed,)-286(while)]TJ/F44 10.9091 Tf 113.097 0 Td [('UMF')]TJ/F15 10.9091 Tf -113.097 -13.55 Td [(and)]TJ/F44 10.9091 Tf 24.426 0 Td [('SLU')]TJ/F15 10.9091 Tf 35.483 0 Td [(require)-628(it)-628(to)-628(b)-27(e)]TJ -59.909 -13.549 Td [(replicated.)]TJ ET q -1 0 0 1 866.952 181.799 cm +1 0 0 1 859.751 775.373 cm []0 d 0 J 0.398 w 0 0 m 0 135.492 l S Q q -1 0 0 1 326.274 181.6 cm +1 0 0 1 319.074 775.174 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 73.007 cm +1 0 0 1 319.074 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F44 10.9091 Tf 332.252 171.916 Td [(mld_coarse_subsolve_)]TJ 0 -27.098 Td [(COARSE_SUBSOLVE)]TJ +/F44 10.9091 Tf 325.051 765.49 Td [(mld_coarse_subsolve_)]TJ 0 -27.098 Td [(COARSE_SUBSOLVE)]TJ ET q -1 0 0 1 437.442 73.007 cm +1 0 0 1 430.241 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F44 10.9091 Tf 443.42 171.916 Td [(character\050len=*\051)]TJ +/F44 10.9091 Tf 436.219 765.49 Td [(character\050len=*\051)]TJ ET q -1 0 0 1 556.415 73.007 cm +1 0 0 1 549.215 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F44 10.9091 Tf 562.393 171.916 Td [('ILU')]TJ 0 -13.549 Td [('MILU')]TJ 0 -13.549 Td [('ILUT')]TJ 0 -13.549 Td [('UMF')]TJ 0 -13.55 Td [('SLU')]TJ +/F44 10.9091 Tf 555.192 765.49 Td [('ILU')]TJ 0 -13.549 Td [('MILU')]TJ 0 -13.549 Td [('ILUT')]TJ 0 -13.549 Td [('UMF')]TJ 0 -13.549 Td [('SLU')]TJ ET q -1 0 0 1 659.079 73.007 cm +1 0 0 1 651.879 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F15 10.9091 Tf 665.057 171.916 Td [(See)-333(note)]TJ +/F15 10.9091 Tf 657.856 765.49 Td [(See)-333(note)]TJ ET q -1 0 0 1 713.264 73.007 cm +1 0 0 1 706.064 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q BT -/F15 10.9091 Tf 719.242 171.916 Td [(Solv)28(er)-343(for)-342(the)-342(diagonal)-343(blo)-28(c)28(ks)]TJ 0 -13.549 Td [(of)-456(the)-455(coarse)-456(matrix,)-486(in)-456(case)]TJ 0 -13.549 Td [(the)-304(blo)-28(c)28(k)-304(Jacobi)-304(solv)28(er)-304(is)-304(c)28(ho-)]TJ 0 -13.549 Td [(sen)-727(as)-727(coarsest-lev)28(e)-1(l)-726(s)-1(olv)28(er:)]TJ 0 -13.55 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p)]TJ/F15 10.9091 Tf 5.488 0 Td [(\051,)-693(MILU\050)]TJ/F22 10.9091 Tf 48.012 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051,)-693(ILU\050)]TJ/F22 10.9091 Tf 38.012 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051,)]TJ -134.459 -13.549 Td [(LU)-931(from)-932(UMFP)83(A)28(CK,)-932(LU)]TJ 0 -13.549 Td [(from)-497(Sup)-28(erLU,)-497(plus)-498(triangu)1(-)]TJ 0 -13.549 Td [(lar)-333(solv)28(e)-1(.)]TJ +/F15 10.9091 Tf 712.041 765.49 Td [(Solv)28(er)-343(for)-342(the)-343(d)1(iagonal)-343(blo)-28(c)28(ks)]TJ 0 -13.549 Td [(of)-456(the)-455(coarse)-456(matrix,)-486(in)-456(case)]TJ 0 -13.549 Td [(the)-304(blo)-28(c)28(k)-304(Jacobi)-304(solv)28(er)-304(is)-304(c)28(ho-)]TJ 0 -13.549 Td [(sen)-727(as)-727(coarsest-lev)27(el)-727(solv)28(er:)]TJ 0 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051,)-693(MILU\050)]TJ/F22 10.9091 Tf 48.012 0 Td [(p)]TJ/F15 10.9091 Tf 5.489 0 Td [(\051,)-693(ILU\050)]TJ/F22 10.9091 Tf 38.011 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.277 0 Td [(\051,)]TJ -134.46 -13.55 Td [(LU)-931(from)-932(UMFP)83(A)28(CK,)-932(LU)]TJ 0 -13.549 Td [(from)-497(Sup)-28(erLU,)-497(plus)-498(triangu-)]TJ 0 -13.549 Td [(lar)-333(solv)27(e.)]TJ ET q -1 0 0 1 866.952 73.007 cm +1 0 0 1 859.751 666.581 cm []0 d 0 J 0.398 w 0 0 m 0 108.394 l S Q q -1 0 0 1 326.274 72.808 cm +1 0 0 1 319.074 666.382 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 31.961 cm +1 0 0 1 319.074 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 332.252 63.124 Td [(mld_coarse_sweeps_)]TJ 0 -27.098 Td [(COARSE_SWEEPS)]TJ +/F44 10.9091 Tf 325.051 656.698 Td [(mld_coarse_sweeps_)]TJ 0 -27.098 Td [(COARSE_SWEEPS)]TJ ET q -1 0 0 1 437.442 31.961 cm +1 0 0 1 430.241 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 443.42 63.124 Td [(integer)]TJ +/F44 10.9091 Tf 436.219 656.698 Td [(integer)]TJ ET q -1 0 0 1 556.415 31.961 cm +1 0 0 1 549.215 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 562.393 63.124 Td [(An)28(y)-333(in)27(t.)-333(n)28(um.)]TJ/F22 10.9091 Tf 70.606 0 Td [(>)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 555.192 656.698 Td [(An)28(y)-334(in)28(t.)-333(n)28(um.)]TJ/F22 10.9091 Tf 70.607 0 Td [(>)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 659.079 31.961 cm +1 0 0 1 651.879 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 665.057 63.124 Td [(4)]TJ +/F15 10.9091 Tf 657.856 656.698 Td [(4)]TJ ET q -1 0 0 1 713.264 31.961 cm +1 0 0 1 706.064 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 719.242 63.124 Td [(Num)28(b)-28(er)-1536(of)-1537(Blo)-27(c)27(k-Jacobi)]TJ 0 -13.549 Td [(sw)28(eeps)-486(when)-485('BJA)27(C')-485(is)-486(used)]TJ 0 -13.549 Td [(as)-333(coarses)-1(t-lev)28(el)-333(solv)28(er.)]TJ +/F15 10.9091 Tf 712.041 656.698 Td [(Num)28(b)-28(er)-1536(of)-1537(Blo)-27(c)27(k-Jacobi)]TJ 0 -13.549 Td [(sw)28(eeps)-486(when)-486('BJA)28(C')-485(is)-486(used)]TJ 0 -13.549 Td [(as)-333(coarse)-1(st-lev)28(el)-333(solv)28(er.)]TJ ET q -1 0 0 1 866.952 31.961 cm +1 0 0 1 859.751 625.535 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 326.274 31.762 cm +1 0 0 1 319.074 625.336 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 -9.085 cm +1 0 0 1 319.074 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 332.252 22.078 Td [(mld_coarse_fillin_)]TJ 0 -27.098 Td [(COARSE_FILLIN)]TJ +/F44 10.9091 Tf 325.051 615.652 Td [(mld_coarse_fillin_)]TJ 0 -27.098 Td [(COARSE_FILLIN)]TJ ET q -1 0 0 1 437.442 -9.085 cm +1 0 0 1 430.241 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 443.42 22.078 Td [(integer)]TJ +/F44 10.9091 Tf 436.219 615.652 Td [(integer)]TJ ET q -1 0 0 1 556.415 -9.085 cm +1 0 0 1 549.215 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 562.393 22.078 Td [(An)28(y)-333(in)27(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 70.606 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 555.192 615.652 Td [(An)28(y)-334(in)28(t.)-333(n)28(um.)]TJ/F25 10.9091 Tf 70.607 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 659.079 -9.085 cm +1 0 0 1 651.879 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 665.057 22.078 Td [(0)]TJ +/F15 10.9091 Tf 657.856 615.652 Td [(0)]TJ ET q -1 0 0 1 713.264 -9.085 cm +1 0 0 1 706.064 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 719.242 22.078 Td [(Fill-in)-550(lev)27(el)]TJ/F22 10.9091 Tf 62.164 0 Td [(p)]TJ/F15 10.9091 Tf 11.495 0 Td [(of)-551(th)1(e)-551(incom-)]TJ -73.659 -13.549 Td [(plete)-333(LU)-334(factorizations.)]TJ +/F15 10.9091 Tf 712.041 615.652 Td [(Fill-in)-550(le)-1(v)28(el)]TJ/F22 10.9091 Tf 62.165 0 Td [(p)]TJ/F15 10.9091 Tf 11.494 0 Td [(of)-551(the)-550(incom-)]TJ -73.659 -13.549 Td [(plete)-333(LU)-334(factorizations.)]TJ ET q -1 0 0 1 866.952 -9.085 cm +1 0 0 1 859.751 584.489 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 326.274 -9.284 cm +1 0 0 1 319.074 584.29 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 -50.131 cm +1 0 0 1 319.074 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 332.252 -18.968 Td [(mld_coarse_iluthrs_)]TJ 0 -27.098 Td [(COARSE_ILUTHRS)]TJ +/F44 10.9091 Tf 325.051 574.606 Td [(mld_coarse_iluthrs_)]TJ 0 -27.098 Td [(COARSE_ILUTHRS)]TJ ET q -1 0 0 1 437.442 -50.131 cm +1 0 0 1 430.241 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F44 10.9091 Tf 443.42 -18.968 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ +/F44 10.9091 Tf 436.219 574.606 Td [(real\050)]TJ/F18 10.9091 Tf 28.636 0 Td [(kind)]TJ ET q -1 0 0 1 492.797 -18.769 cm +1 0 0 1 485.597 574.806 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 496.143 -18.968 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051)]TJ +/F18 10.9091 Tf 488.942 574.606 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051)]TJ ET q -1 0 0 1 556.415 -50.131 cm +1 0 0 1 549.215 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 562.393 -18.968 Td [(An)28(y)-289(real.)-290(n)28(um.)]TJ/F25 10.9091 Tf 73.739 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ +/F15 10.9091 Tf 555.192 574.606 Td [(An)28(y)-289(real.)-290(n)28(um.)]TJ/F25 10.9091 Tf 73.739 0 Td [(\025)]TJ/F15 10.9091 Tf 11.515 0 Td [(0)]TJ ET q -1 0 0 1 659.079 -50.131 cm +1 0 0 1 651.879 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 665.057 -18.968 Td [(0)]TJ +/F15 10.9091 Tf 657.856 574.606 Td [(0)]TJ ET q -1 0 0 1 713.264 -50.131 cm +1 0 0 1 706.064 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q BT -/F15 10.9091 Tf 719.242 -18.968 Td [(Drop)-1063(tol)1(e)-1(r)1(ance)]TJ/F22 10.9091 Tf 90.366 0 Td [(t)]TJ/F15 10.9091 Tf 15.532 0 Td [(in)-1063(t)1(he)]TJ -105.898 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.276 0 Td [(\051)-333(factorization.)]TJ +/F15 10.9091 Tf 712.041 574.606 Td [(Drop)-1063(tolerance)]TJ/F22 10.9091 Tf 90.367 0 Td [(t)]TJ/F15 10.9091 Tf 15.531 0 Td [(in)-1063(the)]TJ -105.898 -13.549 Td [(ILU\050)]TJ/F22 10.9091 Tf 23.182 0 Td [(p;)-167(t)]TJ/F15 10.9091 Tf 14.277 0 Td [(\051)-333(factorization.)]TJ ET q -1 0 0 1 866.952 -50.131 cm +1 0 0 1 859.751 543.443 cm []0 d 0 J 0.398 w 0 0 m 0 40.648 l S Q q -1 0 0 1 326.274 -50.331 cm +1 0 0 1 319.074 543.244 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q q -1 0 0 1 326.274 -64.079 cm +1 0 0 1 319.074 529.495 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F43 10.9091 Tf 332.252 -60.014 Td [(Note:)]TJ/F15 10.9091 Tf 35.053 0 Td [(defaults)-333(for)]TJ/F44 10.9091 Tf 57.666 0 Td [(m)]TJ/F15 10.9091 Tf 5.728 0 Td [(ld)]TJ +/F43 10.9091 Tf 325.051 533.56 Td [(Note:)]TJ/F15 10.9091 Tf 35.053 0 Td [(defaults)-333(for)]TJ/F44 10.9091 Tf 57.667 0 Td [(m)]TJ/F15 10.9091 Tf 5.727 0 Td [(ld)]TJ ET q -1 0 0 1 440.444 -59.815 cm +1 0 0 1 433.244 533.759 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 443.717 -60.014 Td [(coarse)]TJ +/F15 10.9091 Tf 436.516 533.56 Td [(coarse)]TJ ET q -1 0 0 1 473.553 -59.815 cm +1 0 0 1 466.353 533.759 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 476.826 -60.014 Td [(subsolv)28(e)]TJ +/F15 10.9091 Tf 469.625 533.56 Td [(subsolv)28(e)]TJ ET q -1 0 0 1 516.996 -59.815 cm +1 0 0 1 509.795 533.759 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 523.905 -60.014 Td [(are)-333(c)27(hosen)-333(as)]TJ +/F15 10.9091 Tf 516.704 533.56 Td [(are)-333(c)27(hosen)-333(as)]TJ ET q -1 0 0 1 866.952 -64.079 cm +1 0 0 1 859.751 529.495 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 326.274 -77.628 cm +1 0 0 1 319.074 515.946 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 332.252 -73.563 Td [(single)-333(precision)-334(v)28(ersion:)-444('SLU')-333(if)-334(installed,)-333('ILU')-333(otherwise)]TJ +/F15 10.9091 Tf 325.051 520.011 Td [(single)-333(precision)-334(v)28(ersion:)-444('SLU')-334(if)-333(installed,)-333('ILU')-333(otherwise)]TJ ET q -1 0 0 1 866.952 -77.628 cm +1 0 0 1 859.751 515.946 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 326.274 -91.177 cm +1 0 0 1 319.074 502.397 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q BT -/F15 10.9091 Tf 332.252 -87.113 Td [(double)-333(precision)-334(v)28(ersion:)-444('UMF')-333(if)-334(installed,)-333(else)-333('SLU')-334(if)-333(installed,)-333('ILU')-333(otherwise)]TJ +/F15 10.9091 Tf 325.051 506.462 Td [(double)-333(precision)-334(v)28(ersion:)-444('UMF')-333(if)-334(installed,)-333(else)-333('SLU')-334(if)-333(installed,)-333('ILU')-333(otherwise)]TJ ET q -1 0 0 1 866.952 -91.177 cm +1 0 0 1 859.751 502.397 cm []0 d 0 J 0.398 w 0 0 m 0 13.549 l S Q q -1 0 0 1 326.274 -91.377 cm +1 0 0 1 319.074 502.198 cm []0 d 0 J 0.398 w 0 0 m 540.678 0 l S Q 0 g 0 G BT -/F15 10.9091 Tf 410.84 -122.066 Td [(T)83(able)-333(5:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(coarse-space)-333(correction)-333(at)-334(the)-333(coarsest)-334(lev)28(el.)]TJ +/F15 10.9091 Tf 403.64 471.509 Td [(T)83(able)-333(5:)-444(P)27(arameters)-333(de\014ning)-333(the)-334(coarse-space)-333(correction)-333(at)-334(the)-333(coarsest)-334(l)1(e)-1(v)28(el.)]TJ 0 g 0 G 0 g 0 G ET -1 0 0 1 299.826 121.521 cm +1 0 0 1 292.625 715.095 cm Q 0 g 0 G 0 g 0 G 0 g 0 G endstream endobj -444 0 obj << +450 0 obj << /Type /Page -/Contents 445 0 R -/Resources 443 0 R +/Contents 451 0 R +/Resources 449 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R -/Annots [ 442 0 R ] ->> endobj -442 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 437 0 R >> endobj -446 0 obj << -/D [444 0 R /XYZ 93.6 740.002 null] +452 0 obj << +/D [450 0 R /XYZ 86.4 740.002 null] >> endobj -356 0 obj << -/D [444 0 R /XYZ 529.563 4356.566 null] +362 0 obj << +/D [450 0 R /XYZ -4018.109 560.748 null] >> endobj -443 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F44 202 0 R /F22 176 0 R /F25 177 0 R /F18 174 0 R /F43 158 0 R >> +449 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F44 202 0 R /F22 176 0 R /F25 177 0 R /F18 174 0 R /F43 158 0 R >> /ProcSet [ /PDF /Text ] >> endobj -452 0 obj << -/Length 3123 +459 0 obj << +/Length 3122 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(28)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(29)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.3)-1125(Subroutine)-375(mld)]TJ +/F17 11.9552 Tf -401.542 -35.866 Td [(6.3)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 209.422 704.336 cm +1 0 0 1 216.622 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 213.457 704.136 Td [(precbld)]TJ +/F17 11.9552 Tf 220.657 704.136 Td [(precbld)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -1.013 -20.594 Td [(mld_precbld\050a,desc_a,p,info\051)]TJ/F15 10.9091 Tf -126.044 -25.505 Td [(This)-318(routine)-319(builds)-318(the)-319(preconditioner)-318(according)-318(to)-319(the)-318(requiremen)27(ts)-318(made)-319(b)28(y)-318(the)-319(user)]TJ 0 -13.549 Td [(through)-333(the)-333(routines)]TJ/F44 10.9091 Tf 101.939 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 72.363 0 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(.)]TJ/F17 11.9552 Tf -258.514 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.806 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-500(the)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matri)1(x)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.499 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.317 -13.549 Td [(real/complex,)-534(single/doub)1(le)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ +/F44 10.9091 Tf -1.012 -20.594 Td [(mld_precbld\050a,desc_a,p,info\051)]TJ/F15 10.9091 Tf -126.045 -25.505 Td [(This)-319(r)1(outine)-319(builds)-318(the)-319(preconditioner)-318(according)-319(t)1(o)-319(the)-318(requiremen)27(ts)-318(made)-319(b)28(y)-318(the)-319(user)]TJ 0 -13.549 Td [(through)-333(the)-334(r)1(outines)]TJ/F44 10.9091 Tf 101.94 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 72.363 0 Td [(and)]TJ/F44 10.9091 Tf 21.212 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 62.999 0 Td [(.)]TJ/F17 11.9552 Tf -258.514 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.806 Td [(a)-3689(type\050psb_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(spmat_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 131.726 0 Td [(.)]TJ -189.645 -13.549 Td [(The)-501(sparse)-501(matrix)-501(structure)-501(con)28(taining)-501(th)1(e)-501(lo)-28(cal)-501(part)-501(of)-501(the)-501(matrix)]TJ 0 -13.549 Td [(to)-470(b)-28(e)-469(preconditioned.)-854(Note)-470(that)]TJ/F18 10.9091 Tf 166.818 0 Td [(x)]TJ/F15 10.9091 Tf 11.5 0 Td [(m)28(ust)-470(b)-28(e)-470(c)28(hosen)-470(according)-470(to)-469(the)]TJ -178.318 -13.549 Td [(real/complex,)-534(single/doubl)1(e)-494(precision)-494(v)28(ersion)-493(of)-494(MLD2P4)-493(under)-494(use.)]TJ 0 -13.549 Td [(See)-333(the)-334(PSBLAS)-333(User's)-333(Guide)-334(for)-333(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(15)]TJ 0 g 0 G - [(].)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.514 0 Td [(.)]TJ -177.543 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F44 10.9091 Tf 162.835 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-354(Gu)1(ide)-354(for)]TJ -168.562 -13.549 Td [(details)-333([)]TJ + [(].)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-354(comm)28(unication)-354(descriptor)-354(of)]TJ/F44 10.9091 Tf 162.836 0 Td [(a)]TJ/F15 10.9091 Tf 5.727 0 Td [(.)-506(See)-354(the)-354(PSBLAS)-354(User's)-353(Guide)-354(for)]TJ -168.563 -13.549 Td [(details)-333([)]TJ 1 0 0 rg 1 0 0 RG [(15)]TJ 0 g 0 G - [(].)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.588 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.696 -13.55 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ + [(].)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.589 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.697 -13.55 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(7)]TJ 0 g 0 G - [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ + [-333(for)-334(details.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -451 0 obj << +458 0 obj << /Type /Page -/Contents 452 0 R -/Resources 450 0 R +/Contents 459 0 R +/Resources 457 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R -/Annots [ 447 0 R 448 0 R 449 0 R ] +/Parent 437 0 R +/Annots [ 456 0 R 453 0 R 454 0 R 455 0 R ] >> endobj -447 0 obj << +456 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> +>> endobj +453 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [357.486 535.842 370.387 544.865] +/Rect [364.686 535.842 377.588 544.865] /Subtype /Link /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> endobj -448 0 obj << +454 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [191.925 495.195 204.826 504.218] +/Rect [199.125 495.195 212.027 504.218] /Subtype /Link /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> endobj -449 0 obj << +455 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [395.046 409.835 402.493 423.468] +/Rect [402.247 409.835 409.694 423.468] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -453 0 obj << -/D [451 0 R /XYZ 86.4 740.002 null] +460 0 obj << +/D [458 0 R /XYZ 93.6 740.002 null] >> endobj 78 0 obj << -/D [451 0 R /XYZ 86.4 715.095 null] +/D [458 0 R /XYZ 93.6 715.095 null] >> endobj -450 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> +457 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -458 0 obj << -/Length 9064 +464 0 obj << +/Length 9096 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(29)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(30)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.4)-1125(Subroutine)-375(mld)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.4)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 216.622 704.336 cm +1 0 0 1 209.422 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 220.657 704.136 Td [(precaply)]TJ +/F17 11.9552 Tf 213.457 704.136 Td [(precaply)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -9.603 -20.594 Td [(mld_precaply\050p,x,y,desc_a,info\051)]TJ -31.5 -13.549 Td [(mld_precaply\050p,x,y,desc_a,info,trans,work\051)]TJ/F15 10.9091 Tf -85.954 -25.505 Td [(This)-382(routine)-381(computes)]TJ/F22 10.9091 Tf 112.644 0 Td [(y)]TJ/F15 10.9091 Tf 9.65 0 Td [(=)]TJ/F22 10.9091 Tf 12.395 0 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)]TJ/F22 10.9091 Tf 6.061 0 Td [(x)]TJ/F15 10.9091 Tf 6.235 0 Td [(,)-394(where)]TJ/F22 10.9091 Tf 39.399 0 Td [(M)]TJ/F15 10.9091 Tf 15.937 0 Td [(is)-382(a)-381(previously)-382(built)-382(preconditi)1(oner,)]TJ -240.431 -13.549 Td [(stored)-424(in)28(to)]TJ/F44 10.9091 Tf 56.907 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-446(and)]TJ/F22 10.9091 Tf 30.092 0 Td [(op)]TJ/F15 10.9091 Tf 15.397 0 Td [(denotes)-424(the)-423(preconditioner)-423(itself)-424(or)-423(its)-424(transp)-28(ose,)-446(according)-423(to)]TJ -108.123 -13.549 Td [(the)-496(v)56(alue)-497(of)]TJ/F44 10.9091 Tf 64.719 0 Td [(trans)]TJ/F15 10.9091 Tf 28.636 0 Td [(.)-933(Note)-496(that,)-536(when)-496(MLD2P4)-496(is)-496(used)-496(with)-496(a)-496(Krylo)27(v)-496(solv)28(er)-496(from)]TJ -93.355 -13.549 Td [(PSBLAS,)]TJ/F44 10.9091 Tf 49.364 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 72.787 0 Td [(is)-372(called)-372(within)-372(the)-373(PSBLAS)-372(routine)]TJ/F44 10.9091 Tf 180.665 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 61.332 0 Td [(and)-372(hence)]TJ -364.148 -13.55 Td [(it)-333(is)-334(completely)-333(transparen)28(t)-333(to)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.55 Td [(The)-282(pr)1(e)-1(cond)1(itioner)-282(data)-281(structure,)-292(con)28(taining)-282(the)-281(lo)-28(cal)-282(part)-281(of)]TJ/F22 10.9091 Tf 297.967 0 Td [(M)]TJ/F15 10.9091 Tf 11.773 0 Td [(.)-427(Note)]TJ -309.74 -13.549 Td [(that)]TJ/F18 10.9091 Tf 25.362 0 Td [(x)]TJ/F15 10.9091 Tf 11.737 0 Td [(m)28(ust)-492(b)-28(e)-491(c)28(hosen)-492(according)-491(to)-492(the)-491(real/c)-1(ompl)1(e)-1(x,)-531(single/dou)1(ble)]TJ -37.099 -13.549 Td [(precision)-333(v)27(ersion)-333(of)-333(MLD2P4)-333(under)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(x)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ +/F44 10.9091 Tf -9.603 -20.594 Td [(mld_precaply\050p,x,y,desc_a,info\051)]TJ -31.5 -13.549 Td [(mld_precaply\050p,x,y,desc_a,info,trans,work\051)]TJ/F15 10.9091 Tf -85.954 -25.505 Td [(This)-382(routine)-381(computes)]TJ/F22 10.9091 Tf 112.644 0 Td [(y)]TJ/F15 10.9091 Tf 9.65 0 Td [(=)]TJ/F22 10.9091 Tf 12.394 0 Td [(op)]TJ/F15 10.9091 Tf 10.777 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.733 -3.959 Td [(\051)]TJ/F22 10.9091 Tf 6.06 0 Td [(x)]TJ/F15 10.9091 Tf 6.235 0 Td [(,)-394(where)]TJ/F22 10.9091 Tf 39.4 0 Td [(M)]TJ/F15 10.9091 Tf 15.937 0 Td [(is)-382(a)-381(previously)-382(built)-382(precondi)1(tioner,)]TJ -240.431 -13.549 Td [(stored)-423(in)27(to)]TJ/F44 10.9091 Tf 56.907 0 Td [(p)]TJ/F15 10.9091 Tf 5.727 0 Td [(,)-446(and)]TJ/F22 10.9091 Tf 30.092 0 Td [(op)]TJ/F15 10.9091 Tf 15.397 0 Td [(denotes)-424(th)1(e)-424(preconditioner)-423(itself)-424(or)-423(its)-424(transp)-28(ose,)-446(according)-423(to)]TJ -108.123 -13.549 Td [(the)-496(v)56(alue)-496(of)]TJ/F44 10.9091 Tf 64.719 0 Td [(trans)]TJ/F15 10.9091 Tf 28.636 0 Td [(.)-933(Note)-496(that,)-536(when)-496(MLD2P4)-496(is)-496(used)-496(with)-496(a)-496(Krylo)27(v)-496(solv)28(er)-496(from)]TJ -93.355 -13.549 Td [(PSBLAS,)]TJ/F44 10.9091 Tf 49.363 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 72.787 0 Td [(is)-372(called)-372(within)-373(th)1(e)-373(PSBLAS)-372(routine)]TJ/F44 10.9091 Tf 180.666 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 61.332 0 Td [(and)-372(hence)]TJ -364.148 -13.55 Td [(it)-333(is)-334(completely)-333(transparen)28(t)-333(to)-334(the)-333(user.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.55 Td [(The)-282(p)1(re)-1(cond)1(itioner)-282(data)-281(structure,)-292(con)28(taining)-282(the)-281(lo)-28(cal)-282(part)-281(of)]TJ/F22 10.9091 Tf 297.967 0 Td [(M)]TJ/F15 10.9091 Tf 11.773 0 Td [(.)-427(Note)]TJ -309.74 -13.549 Td [(that)]TJ/F18 10.9091 Tf 25.362 0 Td [(x)]TJ/F15 10.9091 Tf 11.737 0 Td [(m)28(ust)-492(b)-27(e)-492(c)28(hosen)-492(according)-491(to)-492(the)-491(real/com)-1(p)1(lex,)-532(single/dou)1(ble)]TJ -37.099 -13.549 Td [(precision)-333(v)28(e)-1(rsion)-333(of)-333(MLD2P4)-333(under)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(x)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ ET q -1 0 0 1 208.731 482.841 cm +1 0 0 1 201.531 482.841 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 212.077 482.642 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051,)-525(dimension\050:\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 154.635 0 Td [(.)]TJ -252.794 -13.549 Td [(The)-300(lo)-28(cal)-300(part)-301(of)-300(the)-300(v)28(ector)]TJ/F22 10.9091 Tf 133.656 0 Td [(x)]TJ/F15 10.9091 Tf 6.234 0 Td [(.)-433(Note)-301(that)]TJ/F18 10.9091 Tf 57.038 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 23.053 0 Td [(and)]TJ/F18 10.9091 Tf 20.852 0 Td [(kind)]TJ +/F18 10.9091 Tf 204.876 482.642 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051,)-525(dimension\050:\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 154.635 0 Td [(.)]TJ -252.794 -13.549 Td [(The)-300(lo)-28(cal)-300(part)-301(of)-300(the)-300(v)28(ector)]TJ/F22 10.9091 Tf 133.655 0 Td [(x)]TJ/F15 10.9091 Tf 6.235 0 Td [(.)-433(Note)-301(that)]TJ/F18 10.9091 Tf 57.038 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 23.053 0 Td [(and)]TJ/F18 10.9091 Tf 20.851 0 Td [(kind)]TJ ET q -1 0 0 1 424.059 469.292 cm +1 0 0 1 416.859 469.292 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 427.405 469.093 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 51.844 0 Td [(m)28(ust)]TJ -316.764 -13.55 Td [(b)-28(e)-263(c)28(hosen)-264(accordin)1(g)-264(to)-263(the)-263(real/complex,)-277(s)-1(i)1(ngle/double)-264(precision)-263(v)28(ersion)]TJ 0 -13.549 Td [(of)-333(MLD2P4)-334(un)1(der)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(y)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ +/F18 10.9091 Tf 420.204 469.093 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 51.844 0 Td [(m)28(ust)]TJ -316.763 -13.55 Td [(b)-28(e)-263(c)28(hosen)-264(accordi)1(ng)-264(to)-263(the)-263(real/complex,)-277(single/double)-264(pr)1(e)-1(cision)-263(v)28(ersion)]TJ 0 -13.549 Td [(of)-333(MLD2P4)-334(u)1(nder)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(y)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ ET q -1 0 0 1 208.731 428.644 cm +1 0 0 1 201.531 428.644 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 212.077 428.445 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051,)-525(dimension\050:\051,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.362 0 Td [(.)]TJ -258.521 -13.549 Td [(The)-304(lo)-28(cal)-304(part)-305(of)-304(the)-304(v)28(ector)]TJ/F22 10.9091 Tf 133.918 0 Td [(y)]TJ/F15 10.9091 Tf 5.74 0 Td [(.)-435(Note)-304(that)]TJ/F18 10.9091 Tf 57.139 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 23.097 0 Td [(and)]TJ/F18 10.9091 Tf 20.895 0 Td [(kind)]TJ +/F18 10.9091 Tf 204.876 428.445 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051,)-525(dimension\050:\051,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.362 0 Td [(.)]TJ -258.521 -13.549 Td [(The)-304(lo)-28(cal)-304(part)-305(of)-304(the)-304(v)28(ector)]TJ/F22 10.9091 Tf 133.917 0 Td [(y)]TJ/F15 10.9091 Tf 5.74 0 Td [(.)-435(Note)-304(that)]TJ/F18 10.9091 Tf 57.14 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 23.096 0 Td [(and)]TJ/F18 10.9091 Tf 20.896 0 Td [(kind)]TJ ET q -1 0 0 1 424.016 415.095 cm +1 0 0 1 416.815 415.095 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 427.361 414.896 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 51.888 0 Td [(m)28(ust)]TJ -316.764 -13.549 Td [(b)-28(e)-263(c)28(hosen)-264(accordin)1(g)-264(to)-263(the)-263(real/complex,)-277(s)-1(i)1(ngle/double)-264(precision)-263(v)28(ersion)]TJ 0 -13.55 Td [(of)-333(MLD2P4)-334(un)1(der)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.515 0 Td [(.)]TJ -177.544 -13.549 Td [(The)-320(comm)28(unication)-319(descriptor)-320(asso)-28(ciated)-319(to)-320(the)-319(matrix)-320(t)1(o)-320(b)-28(e)-319(precondi-)]TJ 0 -13.549 Td [(tioned.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +/F18 10.9091 Tf 420.161 414.896 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 51.887 0 Td [(m)28(ust)]TJ -316.763 -13.549 Td [(b)-28(e)-263(c)28(hosen)-264(accordi)1(ng)-264(to)-263(the)-263(real/complex,)-277(single/double)-264(pr)1(e)-1(cision)-263(v)28(ersion)]TJ 0 -13.55 Td [(of)-333(MLD2P4)-334(u)1(nder)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(desc_a)-1064(type\050psb_desc_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 223.514 0 Td [(.)]TJ -177.543 -13.549 Td [(The)-319(c)-1(omm)28(unication)-319(descriptor)-320(asso)-28(ciated)-319(to)-320(th)1(e)-320(matrix)-319(to)-320(b)-28(e)-319(precondi-)]TJ 0 -13.549 Td [(tioned.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(7)]TJ 0 g 0 G - [-333(for)-334(details.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(trans)-1589(character\050len=1\051,)-525(optional,)-525(intent\050in\051.)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(If)]TJ/F44 10.9091 Tf 13.647 0 Td [(trans)]TJ/F15 10.9091 Tf 35.011 0 Td [(=)]TJ/F44 10.9091 Tf 14.859 0 Td [('N','n')]TJ/F15 10.9091 Tf 46.465 0 Td [(then)]TJ/F22 10.9091 Tf 27.587 0 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)-696(=)]TJ/F22 10.9091 Tf 27.915 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(;)-710(if)]TJ/F44 10.9091 Tf 23.512 0 Td [(trans)]TJ/F15 10.9091 Tf 35.011 0 Td [(=)]TJ/F44 10.9091 Tf 14.859 0 Td [('T','t')]TJ/F15 10.9091 Tf -300.067 -13.549 Td [(then)]TJ/F22 10.9091 Tf 25.696 0 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)-407(=)]TJ/F22 10.9091 Tf 21.612 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(T)]TJ/F15 10.9091 Tf 11.088 -3.959 Td [(\050transp)-28(ose)-411(of)]TJ/F22 10.9091 Tf 67.3 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.733 -3.959 Td [(\051;)-450(if)]TJ/F44 10.9091 Tf 23.027 0 Td [(trans)]TJ/F15 10.9091 Tf 33.119 0 Td [(=)]TJ/F44 10.9091 Tf 12.968 0 Td [('C','c')]TJ/F15 10.9091 Tf 44.574 0 Td [(then)]TJ/F22 10.9091 Tf -318.945 -13.549 Td [(op)]TJ/F15 10.9091 Tf 10.777 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)-278(=)]TJ/F22 10.9091 Tf 18.788 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(C)]TJ/F15 10.9091 Tf 10.733 -3.959 Td [(\050conjugate)-333(transp)-28(ose)-333(of)]TJ/F22 10.9091 Tf 115 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051.)]TJ/F44 10.9091 Tf -270.053 -13.549 Td [(work)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(trans)-1589(character\050len=1\051,)-525(optional,)-525(intent\050in\051.)]TJ/F15 10.9091 Tf 45.971 -13.549 Td [(If)]TJ/F44 10.9091 Tf 13.647 0 Td [(trans)]TJ/F15 10.9091 Tf 35.01 0 Td [(=)]TJ/F44 10.9091 Tf 14.86 0 Td [('N','n')]TJ/F15 10.9091 Tf 46.465 0 Td [(then)]TJ/F22 10.9091 Tf 27.586 0 Td [(op)]TJ/F15 10.9091 Tf 10.777 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.733 -3.959 Td [(\051)-696(=)]TJ/F22 10.9091 Tf 27.914 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(;)-710(if)]TJ/F44 10.9091 Tf 23.512 0 Td [(trans)]TJ/F15 10.9091 Tf 35.01 0 Td [(=)]TJ/F44 10.9091 Tf 14.86 0 Td [('T','t')]TJ/F15 10.9091 Tf -300.067 -13.549 Td [(then)]TJ/F22 10.9091 Tf 25.695 0 Td [(op)]TJ/F15 10.9091 Tf 10.777 0 Td [(\050)]TJ/F22 10.9091 Tf 4.242 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)-407(=)]TJ/F22 10.9091 Tf 21.611 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F23 7.9701 Tf 6.587 0 Td [(T)]TJ/F15 10.9091 Tf 11.087 -3.959 Td [(\050transp)-28(ose)-411(of)]TJ/F22 10.9091 Tf 67.301 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.586 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051;)-450(if)]TJ/F44 10.9091 Tf 23.027 0 Td [(trans)]TJ/F15 10.9091 Tf 33.12 0 Td [(=)]TJ/F44 10.9091 Tf 12.968 0 Td [('C','c')]TJ/F15 10.9091 Tf 44.574 0 Td [(then)]TJ/F22 10.9091 Tf -318.945 -13.549 Td [(op)]TJ/F15 10.9091 Tf 10.776 0 Td [(\050)]TJ/F22 10.9091 Tf 4.243 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051)-278(=)]TJ/F22 10.9091 Tf 18.788 0 Td [(M)]TJ/F26 7.9701 Tf 11.773 3.959 Td [(\000)]TJ/F23 7.9701 Tf 6.586 0 Td [(C)]TJ/F15 10.9091 Tf 10.733 -3.959 Td [(\050conjugate)-333(transp)-28(ose)-333(of)]TJ/F22 10.9091 Tf 115.001 0 Td [(M)]TJ/F26 7.9701 Tf 11.772 3.959 Td [(\000)]TJ/F20 7.9701 Tf 6.587 0 Td [(1)]TJ/F15 10.9091 Tf 4.732 -3.959 Td [(\051.)]TJ/F44 10.9091 Tf -270.053 -13.549 Td [(work)]TJ/F18 10.9091 Tf 45.971 0 Td [(typ)51(e)]TJ/F44 10.9091 Tf 19.777 0 Td [(\050)]TJ/F18 10.9091 Tf 5.727 0 Td [(kind)]TJ ET q -1 0 0 1 208.731 252.505 cm +1 0 0 1 201.531 252.505 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 212.077 252.306 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.567 0 Td [(\051,)-525(dimension\050:\051,)-525(optional,)-525(target)]TJ/F15 10.9091 Tf 188.998 0 Td [(.)]TJ -287.157 -13.55 Td [(W)83(orkspace.)-1532(Its)-696(size)-697(should)-696(b)-27(e)-696(at)-696(least)]TJ/F44 10.9091 Tf 219.886 0 Td [(4)-525(*)-525(psb_cd_get_local_)]TJ -219.886 -13.549 Td [(cols\050desc_a\051)]TJ/F15 10.9091 Tf 73.906 0 Td [(\050see)-475(the)-475(PSBLAS)-474(User's)-475(Guide\051.)-869(Note)-475(that)]TJ/F18 10.9091 Tf 223.719 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 24.957 0 Td [(and)]TJ/F18 10.9091 Tf -322.582 -13.549 Td [(kind)]TJ +/F18 10.9091 Tf 204.876 252.306 Td [(p)51(ar)51(ameter)]TJ/F44 10.9091 Tf 48.568 0 Td [(\051,)-525(dimension\050:\051,)-525(optional,)-525(target)]TJ/F15 10.9091 Tf 188.998 0 Td [(.)]TJ -287.157 -13.55 Td [(W)83(orkspace.)-1532(Its)-696(size)-697(shou)1(ld)-696(b)-28(e)-696(at)-696(least)]TJ/F44 10.9091 Tf 219.886 0 Td [(4)-525(*)-525(psb_cd_get_local_)]TJ -219.886 -13.549 Td [(cols\050desc_a\051)]TJ/F15 10.9091 Tf 73.906 0 Td [(\050see)-475(the)-475(PSBLAS)-474(User's)-475(Guide\051.)-869(Note)-475(th)1(at)]TJ/F18 10.9091 Tf 223.719 0 Td [(typ)51(e)]TJ/F15 10.9091 Tf 24.956 0 Td [(and)]TJ/F18 10.9091 Tf -322.581 -13.549 Td [(kind)]TJ ET q -1 0 0 1 183.227 211.857 cm +1 0 0 1 176.026 211.857 cm []0 d 0 J 0.398 w 0 0 m 3.345 0 l S Q BT -/F18 10.9091 Tf 186.572 211.658 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 54.627 0 Td [(m)28(ust)-556(b)-27(e)-556(c)28(hosen)-556(accordin)1(g)-556(to)-555(the)-556(real/complex,)-611(sin-)]TJ -78.714 -13.549 Td [(gle/double)-333(precision)-334(v)28(ersion)-333(of)-333(MLD2P4)-334(under)-333(use.)]TJ +/F18 10.9091 Tf 179.372 211.658 Td [(p)51(ar)51(ameter)]TJ/F15 10.9091 Tf 54.627 0 Td [(m)28(ust)-556(b)-27(e)-556(c)28(hosen)-555(ac)-1(cordi)1(ng)-556(to)-555(the)-556(real/complex,)-611(sin-)]TJ -78.714 -13.549 Td [(gle/double)-333(precision)-334(v)28(ersion)-333(of)-333(MLD2P4)-334(und)1(e)-1(r)-333(use.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -457 0 obj << +463 0 obj << /Type /Page -/Contents 458 0 R -/Resources 456 0 R +/Contents 464 0 R +/Resources 462 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R -/Annots [ 455 0 R 454 0 R ] ->> endobj -455 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 437 0 R +/Annots [ 461 0 R ] >> endobj -454 0 obj << +461 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [402.247 314.99 409.694 328.624] +/Rect [395.046 314.99 402.493 328.624] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -459 0 obj << -/D [457 0 R /XYZ 93.6 740.002 null] +465 0 obj << +/D [463 0 R /XYZ 86.4 740.002 null] >> endobj 82 0 obj << -/D [457 0 R /XYZ 93.6 715.095 null] +/D [463 0 R /XYZ 86.4 715.095 null] >> endobj -456 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F22 176 0 R /F26 271 0 R /F20 272 0 R /F18 174 0 R /F23 270 0 R >> +462 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F22 176 0 R /F26 278 0 R /F20 279 0 R /F18 174 0 R /F23 277 0 R >> /ProcSet [ /PDF /Text ] >> endobj -463 0 obj << -/Length 1577 +470 0 obj << +/Length 1564 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(30)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ +0 g 0 G + [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(31)]TJ 0 g 0 G -/F17 11.9552 Tf -203.265 -35.866 Td [(6.5)-1125(Subroutine)-375(mld)]TJ +/F17 11.9552 Tf -401.542 -35.866 Td [(6.5)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 209.422 704.336 cm +1 0 0 1 216.622 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 213.457 704.136 Td [(precfree)]TJ +/F17 11.9552 Tf 220.657 704.136 Td [(precfree)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 21.896 -20.594 Td [(mld_precfree\050p,info\051)]TJ/F15 10.9091 Tf -148.953 -25.505 Td [(This)-333(routine)-334(d)1(e)-1(allo)-27(cates)-334(the)-333(preconditioner)-333(data)-334(stru)1(c)-1(tu)1(re.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.55 Td [(The)-267(preconditioner)-267(data)-267(s)-1(tr)1(ucture.)-423(Note)-267(that)]TJ/F18 10.9091 Tf 216.639 0 Td [(x)]TJ/F15 10.9091 Tf 9.289 0 Td [(m)28(ust)-267(b)-28(e)-267(c)27(hosen)]TJ -225.928 -13.549 Td [(according)-352(to)-352(the)-352(real/complex,)-357(single/double)-352(pr)1(e)-1(cision)-352(v)28(ersion)]TJ 0 -13.549 Td [(of)-333(MLD2P4)-334(u)1(nder)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-308(co)-28(d)1(e)-1(.)-435(If)-308(no)-308(error,)-313(0)-308(is)-308(returned.)-436(See)-307(Sec)-1(tion)]TJ +/F44 10.9091 Tf 21.897 -20.594 Td [(mld_precfree\050p,info\051)]TJ/F15 10.9091 Tf -148.954 -25.505 Td [(This)-333(routine)-334(deallo)-27(cates)-334(the)-333(preconditioner)-333(data)-334(structur)1(e)-1(.)]TJ/F17 11.9552 Tf 0 -40.647 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050inout\051)]TJ/F15 10.9091 Tf 143.18 0 Td [(.)]TJ -201.099 -13.55 Td [(The)-267(preconditioner)-267(data)-268(stru)1(c)-1(tu)1(re.)-423(Note)-267(that)]TJ/F18 10.9091 Tf 216.639 0 Td [(x)]TJ/F15 10.9091 Tf 9.29 0 Td [(m)28(ust)-267(b)-28(e)-267(c)27(hosen)]TJ -225.929 -13.549 Td [(according)-352(to)-352(the)-352(real/complex,)-357(single/double)-352(precision)-352(v)28(ersion)]TJ 0 -13.549 Td [(of)-333(MLD2P4)-334(un)1(der)-334(use.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-308(co)-28(de.)-435(If)-308(no)-308(error,)-313(0)-308(is)-308(returned.)-436(See)-308(S)1(e)-1(ction)]TJ 0 0 1 rg 0 0 1 RG [-307(7)]TJ 0 g 0 G @@ -4806,103 +4859,103 @@ BT ET endstream endobj -462 0 obj << +469 0 obj << /Type /Page -/Contents 463 0 R -/Resources 461 0 R +/Contents 470 0 R +/Resources 468 0 R /MediaBox [0 0 595.276 841.89] -/Parent 436 0 R -/Annots [ 460 0 R ] +/Parent 472 0 R +/Annots [ 467 0 R 466 0 R ] >> endobj -460 0 obj << +467 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.6) >> +>> endobj +466 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [392.694 531.778 400.141 545.411] +/Rect [399.894 531.778 407.341 545.411] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -464 0 obj << -/D [462 0 R /XYZ 86.4 740.002 null] +471 0 obj << +/D [469 0 R /XYZ 93.6 740.002 null] >> endobj 86 0 obj << -/D [462 0 R /XYZ 86.4 715.095 null] +/D [469 0 R /XYZ 93.6 715.095 null] >> endobj -461 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> +468 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -469 0 obj << -/Length 2260 +476 0 obj << +/Length 2271 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(6)]TJ -0 g 0 G - [-378(User)-377(Interf)88(a)23(ce)]TJ/F15 10.9091 Tf 401.542 0 Td [(31)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(32)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 11.9552 Tf -401.542 -35.866 Td [(6.6)-1125(Subroutine)-375(mld)]TJ +/F17 11.9552 Tf -203.265 -35.866 Td [(6.6)-1125(Subroutine)-375(mld)]TJ ET q -1 0 0 1 216.622 704.336 cm +1 0 0 1 209.422 704.336 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 220.657 704.136 Td [(precdescr)]TJ +/F17 11.9552 Tf 213.457 704.136 Td [(precdescr)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf 19.033 -20.594 Td [(mld_precdescr\050p,info\051)]TJ -14.318 -13.549 Td [(mld_precdescr\050p,info,iout\051)]TJ/F15 10.9091 Tf -131.772 -25.505 Td [(This)-364(routine)-364(prin)27(ts)-364(a)-364(description)-364(of)-364(the)-365(preconditioner)-364(to)-364(the)-364(standard)-364(output)-365(or)-364(to)-364(a)]TJ 0 -13.549 Td [(\014le.)-444(It)-334(m)28(ust)-333(b)-28(e)-333(called)-334(after)]TJ/F44 10.9091 Tf 132.212 0 Td [(mld_precbld)]TJ/F15 10.9091 Tf 66.636 0 Td [(has)-333(b)-28(een)-333(called.)]TJ/F17 11.9552 Tf -198.848 -40.648 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 125.999 0 Td [(.)]TJ -183.918 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.589 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.697 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ +/F44 10.9091 Tf 19.033 -20.594 Td [(mld_precdescr\050p,info\051)]TJ -14.318 -13.549 Td [(mld_precdescr\050p,info,iout\051)]TJ/F15 10.9091 Tf -131.772 -25.505 Td [(This)-364(routine)-364(prin)28(ts)-365(a)-364(description)-364(of)-364(the)-365(preconditioner)-364(to)-364(the)-364(standard)-364(output)-365(or)-364(to)-364(a)]TJ 0 -13.549 Td [(\014le.)-444(It)-334(m)28(ust)-333(b)-28(e)-333(called)-334(after)]TJ/F44 10.9091 Tf 132.212 0 Td [(mld_precbld)]TJ/F15 10.9091 Tf 66.636 0 Td [(has)-333(b)-28(een)-333(called.)]TJ/F17 11.9552 Tf -198.848 -40.648 Td [(Argumen)31(ts)]TJ/F44 10.9091 Tf 22.914 -12.805 Td [(p)-3689(type\050mld_)]TJ/F18 10.9091 Tf 97.516 0 Td [(x)]TJ/F44 10.9091 Tf 6.374 0 Td [(prec_type\051,)-525(intent\050in\051)]TJ/F15 10.9091 Tf 125.998 0 Td [(.)]TJ -183.917 -13.549 Td [(The)-478(preconditioner)-478(data)-478(structure.)-878(Note)-478(that)]TJ/F18 10.9091 Tf 233.108 0 Td [(x)]TJ/F15 10.9091 Tf 11.588 0 Td [(m)28(ust)-478(b)-28(e)-478(c)28(hosen)-478(ac-)]TJ -244.696 -13.549 Td [(cording)-269(to)-269(the)-270(real/complex,)-282(single/double)-269(precision)-269(v)27(ersion)-269(of)-269(MLD2P4)]TJ 0 -13.549 Td [(under)-333(use.)]TJ/F44 10.9091 Tf -45.971 -13.55 Td [(info)-2114(integer,)-525(intent\050out\051)]TJ/F15 10.9091 Tf 160.515 0 Td [(.)]TJ -114.544 -13.549 Td [(Error)-333(co)-28(de.)-444(If)-334(no)-333(error,)-333(0)-334(is)-333(returned.)-444(See)-334(Section)]TJ 0 0 1 rg 0 0 1 RG [-333(7)]TJ 0 g 0 G - [-333(for)-334(details.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(iout)-2114(integer,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(The)-376(id)-376(of)-375(the)-376(\014le)-376(where)-376(the)-376(pr)1(e)-1(cond)1(itioner)-376(description)-376(will)-376(b)-27(e)-376(prin)28(ted;)]TJ 0 -13.549 Td [(the)-333(default)-334(is)-333(the)-333(standard)-333(output.)]TJ + [-333(for)-334(d)1(e)-1(tail)1(s)-1(.)]TJ/F44 10.9091 Tf -45.971 -13.549 Td [(iout)-2114(integer,)-525(intent\050in\051,)-525(optional)]TJ/F15 10.9091 Tf 212.06 0 Td [(.)]TJ -166.089 -13.549 Td [(The)-376(id)-376(of)-375(the)-376(\014le)-376(where)-376(the)-376(p)1(rec)-1(on)1(ditioner)-376(description)-376(will)-376(b)-27(e)-376(prin)28(ted;)]TJ 0 -13.549 Td [(the)-333(default)-334(i)1(s)-334(the)-333(standard)-333(output.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -468 0 obj << +475 0 obj << /Type /Page -/Contents 469 0 R -/Resources 467 0 R +/Contents 476 0 R +/Resources 474 0 R /MediaBox [0 0 595.276 841.89] -/Parent 471 0 R -/Annots [ 466 0 R 465 0 R ] ->> endobj -466 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 100.627 748.453] -/Subtype /Link -/A << /S /GoTo /D (section.6) >> +/Parent 472 0 R +/Annots [ 473 0 R ] >> endobj -465 0 obj << +473 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [402.247 504.679 409.694 518.312] +/Rect [395.046 504.679 402.493 518.312] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -470 0 obj << -/D [468 0 R /XYZ 93.6 740.002 null] +477 0 obj << +/D [475 0 R /XYZ 86.4 740.002 null] >> endobj 90 0 obj << -/D [468 0 R /XYZ 93.6 715.095 null] +/D [475 0 R /XYZ 86.4 715.095 null] >> endobj -467 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> +474 0 obj << +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R /F18 174 0 R >> /ProcSet [ /PDF /Text ] >> endobj -475 0 obj << -/Length 1805 +482 0 obj << +/Length 1804 >> stream 0 g 0 G +0 0 1 rg 0 0 1 RG BT -/F15 10.9091 Tf 86.4 740.002 Td [(32)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ +/F41 10.9091 Tf 93.6 740.002 Td [(7)]TJ 0 g 0 G -/F17 14.3462 Tf -203.265 -35.866 Td [(7)-1125(Error)-375(Handling)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-416(error)-416(handling)-416(in)-417(MLD2P)1(4)-417(is)-416(based)-416(on)-416(the)-417(P)1(SBLAS)-417(\050v)28(ersion)-416(2\051)-416(error)-416(handling.)]TJ 0 -13.549 Td [(Error)-249(conditions)-249(are)-249(signaled)-249(via)-249(an)-249(in)28(teger)-249(argumen)28(t)]TJ/F44 10.9091 Tf 252.187 0 Td [(info)]TJ/F15 10.9091 Tf 22.909 0 Td [(;)-277(whenev)28(er)-249(an)-249(error)-249(condition)]TJ -275.096 -13.549 Td [(is)-315(detec)-1(t)1(e)-1(d,)-318(an)-316(error)-315(trace)-316(stac)28(k)-315(is)-316(built)-315(b)28(y)-316(the)-315(library)-315(up)-316(to)-315(the)-316(top-lev)28(el,)-319(user-callable)]TJ 0 -13.549 Td [(routine.)-552(This)-370(routi)1(ne)-370(will)-369(then)-369(decide,)-379(according)-369(to)-369(the)-370(user)-369(preferences,)-378(whether)-370(the)]TJ 0 -13.55 Td [(error)-275(should)-275(b)-28(e)-275(h)1(andled)-275(b)27(y)-274(te)-1(r)1(m)-1(i)1(nating)-275(the)-275(program)-275(or)-275(b)28(y)-275(returning)-275(the)-275(error)-275(condition)]TJ 0 -13.549 Td [(to)-335(the)-334(user)-335(co)-28(de,)-335(whic)28(h)-335(will)-335(then)-334(tak)27(e)-334(action,)-335(and)-335(whether)-335(an)-335(error)-334(message)-335(should)-335(b)-28(e)]TJ 0 -13.549 Td [(prin)28(ted.)-568(These)-375(options)-374(ma)28(y)-375(b)-28(e)-374(set)-375(b)28(y)-375(usin)1(g)-375(the)-375(P)1(SBLAS)-375(error)-374(handling)-375(routines;)-395(for)]TJ 0 -13.549 Td [(further)-333(details)-333(s)-1(ee)-333(the)-333(PSBLAS)-334(User's)-333(Guide)-333([)]TJ + [-378(Err)22(o)1(r)-378(handling)]TJ/F15 10.9091 Tf 401.542 0 Td [(33)]TJ +0 g 0 G +/F17 14.3462 Tf -401.542 -35.866 Td [(7)-1125(Error)-375(Handling)]TJ/F15 10.9091 Tf 0 -24.352 Td [(The)-416(error)-416(handling)-416(in)-417(MLD2P)1(4)-417(is)-416(based)-416(on)-416(the)-417(PS)1(B)-1(LAS)-416(\050v)28(ersion)-416(2\051)-416(error)-416(handling.)]TJ 0 -13.549 Td [(Error)-249(conditions)-249(are)-249(signaled)-249(via)-249(an)-249(in)28(teger)-249(argumen)28(t)]TJ/F44 10.9091 Tf 252.188 0 Td [(info)]TJ/F15 10.9091 Tf 22.908 0 Td [(;)-277(whenev)28(er)-249(an)-249(error)-249(condition)]TJ -275.096 -13.549 Td [(is)-315(dete)-1(cted,)-319(an)-315(error)-315(trace)-316(stac)28(k)-315(is)-316(built)-315(b)28(y)-316(the)-315(library)-315(up)-316(to)-315(the)-316(top-lev)28(el,)-319(user-callable)]TJ 0 -13.549 Td [(routine.)-552(This)-370(routin)1(e)-370(will)-369(then)-369(decide,)-379(according)-369(to)-369(the)-370(user)-369(preferences,)-378(whether)-370(the)]TJ 0 -13.55 Td [(error)-275(should)-275(b)-28(e)-275(han)1(dled)-275(b)27(y)-275(t)1(e)-1(rmin)1(ating)-275(the)-275(program)-275(or)-275(b)28(y)-275(returning)-275(the)-275(error)-275(condition)]TJ 0 -13.549 Td [(to)-335(the)-334(use)-1(r)-334(co)-28(de,)-335(whic)28(h)-335(will)-335(then)-334(tak)27(e)-334(action,)-335(and)-335(whether)-335(an)-335(error)-334(message)-335(should)-335(b)-28(e)]TJ 0 -13.549 Td [(prin)28(ted.)-568(These)-375(options)-374(ma)28(y)-375(b)-28(e)-374(set)-375(b)28(y)-375(using)-374(the)-375(PS)1(B)-1(LAS)-374(error)-374(handling)-375(routines;)-395(for)]TJ 0 -13.549 Td [(further)-333(details)-334(see)-333(the)-333(PSBLAS)-334(User's)-333(Guide)-333([)]TJ 1 0 0 rg 1 0 0 RG [(15)]TJ 0 g 0 G @@ -4912,104 +4965,73 @@ BT ET endstream endobj -474 0 obj << +481 0 obj << /Type /Page -/Contents 475 0 R -/Resources 473 0 R +/Contents 482 0 R +/Resources 480 0 R /MediaBox [0 0 595.276 841.89] -/Parent 471 0 R -/Annots [ 472 0 R ] +/Parent 472 0 R +/Annots [ 479 0 R 478 0 R ] >> endobj -472 0 obj << +479 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.604 739.006 100.627 748.453] +/Subtype /Link +/A << /S /GoTo /D (section.7) >> +>> endobj +478 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [306.873 583.943 319.775 592.966] +/Rect [314.074 583.943 326.976 592.966] /Subtype /Link /A << /S /GoTo /D (cite.PSBLASGUIDE) >> >> endobj -476 0 obj << -/D [474 0 R /XYZ 86.4 740.002 null] +483 0 obj << +/D [481 0 R /XYZ 93.6 740.002 null] >> endobj 94 0 obj << -/D [474 0 R /XYZ 86.4 715.095 null] +/D [481 0 R /XYZ 93.6 715.095 null] >> endobj -473 0 obj << -/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R >> +480 0 obj << +/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -480 0 obj << -/Length 3978 +486 0 obj << +/Length 3995 >> stream 0 g 0 G -0 0 1 rg 0 0 1 RG BT -/F41 10.9091 Tf 93.6 740.002 Td [(A)]TJ -0 g 0 G - [-378(License)]TJ/F15 10.9091 Tf 401.542 0 Td [(33)]TJ +/F15 10.9091 Tf 86.4 740.002 Td [(34)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ 0 g 0 G -/F17 14.3462 Tf -401.542 -35.866 Td [(A)-1125(License)]TJ/F15 10.9091 Tf 0 -22.758 Td [(The)-333(MLD2P4)-334(is)-333(freely)-333(distributable)-333(under)-334(the)-333(follo)28(wing)-333(cop)27(yrigh)28(t)-333(terms:)]TJ +/F17 14.3462 Tf -203.265 -35.866 Td [(A)-1125(License)]TJ/F15 10.9091 Tf 0 -22.758 Td [(The)-333(MLD2P4)-334(is)-333(freely)-333(distributable)-333(under)-334(the)-333(follo)28(wing)-333(cop)27(yri)1(gh)27(t)-333(terms:)]TJ 0 g 0 G 0 g 0 G -/F44 9.9626 Tf 141.219 -44.832 Td [(MLD2P4)-1050(version)-525(2.0)]TJ -130.758 -11.955 Td [(MultiLevel)-525(Domain)-525(Decomposition)-525(Parallel)-525(Preconditioners)-525(Package)]TJ 57.534 -11.955 Td [(based)-525(on)-525(PSBLAS)-525(\050Parallel)-525(Sparse)-525(BLAS)-525(version)-525(3.0\051)]TJ -57.534 -23.91 Td [(\050C\051)-525(Copyright)-525(2008,2009,2010,)-525(2012)]TJ 104.607 -23.911 Td [(Salvatore)-525(Filippone)-1050(University)-525(of)-525(Rome)-525(Tor)-525(Vergata)]TJ 0 -11.955 Td [(Alfredo)-525(Buttari)-3150(CNRS-IRIT,)-525(Toulouse)]TJ 0 -11.955 Td [(Pasqua)-525(D'Ambra)-3675(ICAR-CNR,)-525(Naples)]TJ 0 -11.955 Td [(Daniela)-525(di)-525(Serafino)-1050(Second)-525(University)-525(of)-525(Naples)]TJ -104.607 -35.866 Td [(Redistribution)-525(and)-525(use)-525(in)-525(source)-525(and)-525(binary)-525(forms,)-525(with)-525(or)-525(without)]TJ 0 -11.955 Td [(modification,)-525(are)-525(permitted)-525(provided)-525(that)-525(the)-525(following)-525(conditions)]TJ 0 -11.955 Td [(are)-525(met:)]TJ 10.461 -11.955 Td [(1.)-525(Redistributions)-525(of)-525(source)-525(code)-525(must)-525(retain)-525(the)-525(above)-525(copyright)]TJ 15.691 -11.955 Td [(notice,)-525(this)-525(list)-525(of)-525(conditions)-525(and)-525(the)-525(following)-525(disclaimer.)]TJ -15.691 -11.956 Td [(2.)-525(Redistributions)-525(in)-525(binary)-525(form)-525(must)-525(reproduce)-525(the)-525(above)-525(copyright)]TJ 15.691 -11.955 Td [(notice,)-525(this)-525(list)-525(of)-525(conditions,)-525(and)-525(the)-525(following)-525(disclaimer)-525(in)-525(the)]TJ 0 -11.955 Td [(documentation)-525(and/or)-525(other)-525(materials)-525(provided)-525(with)-525(the)-525(distribution.)]TJ -15.691 -11.955 Td [(3.)-525(The)-525(name)-525(of)-525(the)-525(MLD2P4)-525(group)-525(or)-525(the)-525(names)-525(of)-525(its)-525(contributors)-525(may)]TJ 15.691 -11.955 Td [(not)-525(be)-525(used)-525(to)-525(endorse)-525(or)-525(promote)-525(products)-525(derived)-525(from)-525(this)]TJ 0 -11.956 Td [(software)-525(without)-525(specific)-525(written)-525(permission.)]TJ -26.152 -23.91 Td [(THIS)-525(SOFTWARE)-525(IS)-525(PROVIDED)-525(BY)-525(THE)-525(COPYRIGHT)-525(HOLDERS)-525(AND)-525(CONTRIBUTORS)]TJ 0 -11.955 Td [(``AS)-525(IS'')-525(AND)-525(ANY)-525(EXPRESS)-525(OR)-525(IMPLIED)-525(WARRANTIES,)-525(INCLUDING,)-525(BUT)-525(NOT)-525(LIMITED)]TJ 0 -11.955 Td [(TO,)-525(THE)-525(IMPLIED)-525(WARRANTIES)-525(OF)-525(MERCHANTABILITY)-525(AND)-525(FITNESS)-525(FOR)-525(A)-525(PARTICULAR)]TJ 0 -11.955 Td [(PURPOSE)-525(ARE)-525(DISCLAIMED.)-525(IN)-525(NO)-525(EVENT)-525(SHALL)-525(THE)-525(MLD2P4)-525(GROUP)-525(OR)-525(ITS)-525(CONTRIBUTORS)]TJ 0 -11.956 Td [(BE)-525(LIABLE)-525(FOR)-525(ANY)-525(DIRECT,)-525(INDIRECT,)-525(INCIDENTAL,)-525(SPECIAL,)-525(EXEMPLARY,)-525(OR)]TJ 0 -11.955 Td [(CONSEQUENTIAL)-525(DAMAGES)-525(\050INCLUDING,)-525(BUT)-525(NOT)-525(LIMITED)-525(TO,)-525(PROCUREMENT)-525(OF)]TJ 0 -11.955 Td [(SUBSTITUTE)-525(GOODS)-525(OR)-525(SERVICES;)-525(LOSS)-525(OF)-525(USE,)-525(DATA,)-525(OR)-525(PROFITS;)-525(OR)-525(BUSINESS)]TJ 0 -11.955 Td [(INTERRUPTION\051)-525(HOWEVER)-525(CAUSED)-525(AND)-525(ON)-525(ANY)-525(THEORY)-525(OF)-525(LIABILITY,)-525(WHETHER)-525(IN)]TJ 0 -11.955 Td [(CONTRACT,)-525(STRICT)-525(LIABILITY,)-525(OR)-525(TORT)-525(\050INCLUDING)-525(NEGLIGENCE)-525(OR)-525(OTHERWISE\051)]TJ 0 -11.955 Td [(ARISING)-525(IN)-525(ANY)-525(WAY)-525(OUT)-525(OF)-525(THE)-525(USE)-525(OF)-525(THIS)-525(SOFTWARE,)-525(EVEN)-525(IF)-525(ADVISED)-525(OF)-525(THE)]TJ 0 -11.956 Td [(POSSIBILITY)-525(OF)-525(SUCH)-525(DAMAGE.)]TJ +/F44 9.9626 Tf 141.219 -44.832 Td [(MLD2P4)-1050(version)-525(2.0)]TJ -130.759 -11.955 Td [(MultiLevel)-525(Domain)-525(Decomposition)-525(Parallel)-525(Preconditioners)-525(Package)]TJ 57.534 -11.955 Td [(based)-525(on)-525(PSBLAS)-525(\050Parallel)-525(Sparse)-525(BLAS)-525(version)-525(3.0\051)]TJ -57.534 -23.91 Td [(\050C\051)-525(Copyright)-525(2008,2009,2010,)-525(2012)]TJ 104.607 -23.911 Td [(Salvatore)-525(Filippone)-1050(University)-525(of)-525(Rome)-525(Tor)-525(Vergata)]TJ 0 -11.955 Td [(Alfredo)-525(Buttari)-3150(CNRS-IRIT,)-525(Toulouse)]TJ 0 -11.955 Td [(Pasqua)-525(D'Ambra)-3675(ICAR-CNR,)-525(Naples)]TJ 0 -11.955 Td [(Daniela)-525(di)-525(Serafino)-1050(Second)-525(University)-525(of)-525(Naples)]TJ -104.607 -35.866 Td [(Redistribution)-525(and)-525(use)-525(in)-525(source)-525(and)-525(binary)-525(forms,)-525(with)-525(or)-525(without)]TJ 0 -11.955 Td [(modification,)-525(are)-525(permitted)-525(provided)-525(that)-525(the)-525(following)-525(conditions)]TJ 0 -11.955 Td [(are)-525(met:)]TJ 10.461 -11.955 Td [(1.)-525(Redistributions)-525(of)-525(source)-525(code)-525(must)-525(retain)-525(the)-525(above)-525(copyright)]TJ 15.691 -11.955 Td [(notice,)-525(this)-525(list)-525(of)-525(conditions)-525(and)-525(the)-525(following)-525(disclaimer.)]TJ -15.691 -11.956 Td [(2.)-525(Redistributions)-525(in)-525(binary)-525(form)-525(must)-525(reproduce)-525(the)-525(above)-525(copyright)]TJ 15.691 -11.955 Td [(notice,)-525(this)-525(list)-525(of)-525(conditions,)-525(and)-525(the)-525(following)-525(disclaimer)-525(in)-525(the)]TJ 0 -11.955 Td [(documentation)-525(and/or)-525(other)-525(materials)-525(provided)-525(with)-525(the)-525(distribution.)]TJ -15.691 -11.955 Td [(3.)-525(The)-525(name)-525(of)-525(the)-525(MLD2P4)-525(group)-525(or)-525(the)-525(names)-525(of)-525(its)-525(contributors)-525(may)]TJ 15.691 -11.955 Td [(not)-525(be)-525(used)-525(to)-525(endorse)-525(or)-525(promote)-525(products)-525(derived)-525(from)-525(this)]TJ 0 -11.956 Td [(software)-525(without)-525(specific)-525(written)-525(permission.)]TJ -26.152 -23.91 Td [(THIS)-525(SOFTWARE)-525(IS)-525(PROVIDED)-525(BY)-525(THE)-525(COPYRIGHT)-525(HOLDERS)-525(AND)-525(CONTRIBUTORS)]TJ 0 -11.955 Td [(``AS)-525(IS'')-525(AND)-525(ANY)-525(EXPRESS)-525(OR)-525(IMPLIED)-525(WARRANTIES,)-525(INCLUDING,)-525(BUT)-525(NOT)-525(LIMITED)]TJ 0 -11.955 Td [(TO,)-525(THE)-525(IMPLIED)-525(WARRANTIES)-525(OF)-525(MERCHANTABILITY)-525(AND)-525(FITNESS)-525(FOR)-525(A)-525(PARTICULAR)]TJ 0 -11.955 Td [(PURPOSE)-525(ARE)-525(DISCLAIMED.)-525(IN)-525(NO)-525(EVENT)-525(SHALL)-525(THE)-525(MLD2P4)-525(GROUP)-525(OR)-525(ITS)-525(CONTRIBUTORS)]TJ 0 -11.956 Td [(BE)-525(LIABLE)-525(FOR)-525(ANY)-525(DIRECT,)-525(INDIRECT,)-525(INCIDENTAL,)-525(SPECIAL,)-525(EXEMPLARY,)-525(OR)]TJ 0 -11.955 Td [(CONSEQUENTIAL)-525(DAMAGES)-525(\050INCLUDING,)-525(BUT)-525(NOT)-525(LIMITED)-525(TO,)-525(PROCUREMENT)-525(OF)]TJ 0 -11.955 Td [(SUBSTITUTE)-525(GOODS)-525(OR)-525(SERVICES;)-525(LOSS)-525(OF)-525(USE,)-525(DATA,)-525(OR)-525(PROFITS;)-525(OR)-525(BUSINESS)]TJ 0 -11.955 Td [(INTERRUPTION\051)-525(HOWEVER)-525(CAUSED)-525(AND)-525(ON)-525(ANY)-525(THEORY)-525(OF)-525(LIABILITY,)-525(WHETHER)-525(IN)]TJ 0 -11.955 Td [(CONTRACT,)-525(STRICT)-525(LIABILITY,)-525(OR)-525(TORT)-525(\050INCLUDING)-525(NEGLIGENCE)-525(OR)-525(OTHERWISE\051)]TJ 0 -11.955 Td [(ARISING)-525(IN)-525(ANY)-525(WAY)-525(OUT)-525(OF)-525(THE)-525(USE)-525(OF)-525(THIS)-525(SOFTWARE,)-525(EVEN)-525(IF)-525(ADVISED)-525(OF)-525(THE)]TJ 0 -11.956 Td [(POSSIBILITY)-525(OF)-525(SUCH)-525(DAMAGE.)]TJ 0 g 0 G 0 g 0 G ET endstream endobj -479 0 obj << +485 0 obj << /Type /Page -/Contents 480 0 R -/Resources 478 0 R +/Contents 486 0 R +/Resources 484 0 R /MediaBox [0 0 595.276 841.89] -/Parent 471 0 R -/Annots [ 477 0 R ] ->> endobj -477 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [92.604 739.006 103.475 748.453] -/Subtype /Link -/A << /S /GoTo /D (appendix.A) >> +/Parent 472 0 R >> endobj -481 0 obj << -/D [479 0 R /XYZ 93.6 740.002 null] +487 0 obj << +/D [485 0 R /XYZ 86.4 740.002 null] >> endobj 98 0 obj << -/D [479 0 R /XYZ 93.6 715.095 null] ->> endobj -478 0 obj << -/Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F44 202 0 R >> -/ProcSet [ /PDF /Text ] +/D [485 0 R /XYZ 86.4 715.095 null] >> endobj 484 0 obj << -/Length 174 ->> -stream -0 g 0 G -BT -/F15 10.9091 Tf 86.4 740.002 Td [(34)]TJ/F41 10.9091 Tf 203.265 0 Td [(MLD2P4)-378(User)67('s)-378(and)-378(Ref)1(erence)-378(Guide)]TJ -0 g 0 G -0 g 0 G -0 g 0 G -ET -endstream -endobj -483 0 obj << -/Type /Page -/Contents 484 0 R -/Resources 482 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 471 0 R ->> endobj -485 0 obj << -/D [483 0 R /XYZ 86.4 740.002 null] ->> endobj -482 0 obj << -/Font << /F15 123 0 R /F41 124 0 R >> +/Font << /F15 123 0 R /F41 124 0 R /F17 111 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -488 0 obj << +490 0 obj << /Length 6685 >> stream @@ -5071,60 +5093,60 @@ BT ET endstream endobj -487 0 obj << +489 0 obj << /Type /Page -/Contents 488 0 R -/Resources 486 0 R +/Contents 490 0 R +/Resources 488 0 R /MediaBox [0 0 595.276 841.89] -/Parent 471 0 R +/Parent 472 0 R >> endobj -489 0 obj << -/D [487 0 R /XYZ 93.6 740.002 null] +491 0 obj << +/D [489 0 R /XYZ 93.6 740.002 null] >> endobj 102 0 obj << -/D [487 0 R /XYZ 93.6 693.333 null] +/D [489 0 R /XYZ 93.6 693.333 null] >> endobj 180 0 obj << -/D [487 0 R /XYZ 93.6 697.153 null] +/D [489 0 R /XYZ 93.6 697.153 null] >> endobj -280 0 obj << -/D [487 0 R /XYZ 93.6 660.294 null] +287 0 obj << +/D [489 0 R /XYZ 93.6 660.294 null] >> endobj -281 0 obj << -/D [487 0 R /XYZ 93.6 598.457 null] +288 0 obj << +/D [489 0 R /XYZ 93.6 598.457 null] >> endobj -282 0 obj << -/D [487 0 R /XYZ 93.6 538.741 null] +289 0 obj << +/D [489 0 R /XYZ 93.6 538.741 null] >> endobj -292 0 obj << -/D [487 0 R /XYZ 93.6 488.332 null] +298 0 obj << +/D [489 0 R /XYZ 93.6 488.332 null] >> endobj -252 0 obj << -/D [487 0 R /XYZ 93.6 442.166 null] +258 0 obj << +/D [489 0 R /XYZ 93.6 442.166 null] >> endobj -253 0 obj << -/D [487 0 R /XYZ 93.6 393.878 null] +259 0 obj << +/D [489 0 R /XYZ 93.6 393.878 null] >> endobj -283 0 obj << -/D [487 0 R /XYZ 93.6 357.018 null] +290 0 obj << +/D [489 0 R /XYZ 93.6 357.018 null] >> endobj 219 0 obj << -/D [487 0 R /XYZ 93.6 308.124 null] +/D [489 0 R /XYZ 93.6 308.124 null] >> endobj -226 0 obj << -/D [487 0 R /XYZ 93.6 259.837 null] +227 0 obj << +/D [489 0 R /XYZ 93.6 259.837 null] >> endobj 215 0 obj << -/D [487 0 R /XYZ 93.6 212.155 null] +/D [489 0 R /XYZ 93.6 212.155 null] >> endobj 216 0 obj << -/D [487 0 R /XYZ 93.6 163.867 null] +/D [489 0 R /XYZ 93.6 163.867 null] >> endobj -486 0 obj << +488 0 obj << /Font << /F41 124 0 R /F15 123 0 R /F17 111 0 R /F18 174 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -492 0 obj << +494 0 obj << /Length 7080 >> stream @@ -5200,121 +5222,121 @@ BT ET endstream endobj -491 0 obj << +493 0 obj << /Type /Page -/Contents 492 0 R -/Resources 490 0 R +/Contents 494 0 R +/Resources 492 0 R /MediaBox [0 0 595.276 841.89] -/Parent 471 0 R +/Parent 472 0 R >> endobj -493 0 obj << -/D [491 0 R /XYZ 86.4 740.002 null] +495 0 obj << +/D [493 0 R /XYZ 86.4 740.002 null] >> endobj -494 0 obj << -/D [491 0 R /XYZ 86.4 715.095 null] +496 0 obj << +/D [493 0 R /XYZ 86.4 715.095 null] >> endobj -293 0 obj << -/D [491 0 R /XYZ 86.4 670.523 null] +299 0 obj << +/D [493 0 R /XYZ 86.4 670.523 null] >> endobj 184 0 obj << -/D [491 0 R /XYZ 86.4 636.454 null] +/D [493 0 R /XYZ 86.4 636.454 null] >> endobj 183 0 obj << -/D [491 0 R /XYZ 86.4 587.928 null] +/D [493 0 R /XYZ 86.4 587.928 null] >> endobj 182 0 obj << -/D [491 0 R /XYZ 86.4 552.95 null] +/D [493 0 R /XYZ 86.4 552.95 null] >> endobj 218 0 obj << -/D [491 0 R /XYZ 86.4 505.333 null] +/D [493 0 R /XYZ 86.4 505.333 null] >> endobj 217 0 obj << -/D [491 0 R /XYZ 86.4 457.109 null] +/D [493 0 R /XYZ 86.4 457.109 null] >> endobj -495 0 obj << -/D [491 0 R /XYZ 86.4 408.885 null] +228 0 obj << +/D [493 0 R /XYZ 86.4 408.885 null] >> endobj -284 0 obj << -/D [491 0 R /XYZ 86.4 360.662 null] +291 0 obj << +/D [493 0 R /XYZ 86.4 360.662 null] >> endobj 179 0 obj << -/D [491 0 R /XYZ 86.4 338.931 null] +/D [493 0 R /XYZ 86.4 338.931 null] >> endobj 185 0 obj << -/D [491 0 R /XYZ 86.4 293.434 null] +/D [493 0 R /XYZ 86.4 293.434 null] >> endobj -278 0 obj << -/D [491 0 R /XYZ 86.4 256.639 null] +285 0 obj << +/D [493 0 R /XYZ 86.4 256.639 null] >> endobj -279 0 obj << -/D [491 0 R /XYZ 86.4 210.536 null] +286 0 obj << +/D [493 0 R /XYZ 86.4 210.536 null] >> endobj 181 0 obj << -/D [491 0 R /XYZ 86.4 160.191 null] +/D [493 0 R /XYZ 86.4 160.191 null] >> endobj -490 0 obj << +492 0 obj << /Font << /F15 123 0 R /F41 124 0 R /F18 174 0 R /F44 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj -496 0 obj +497 0 obj [892.9] endobj -497 0 obj +498 0 obj [674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4 571.4] endobj -498 0 obj +499 0 obj [877 323.4 384.9 323.4 569.5 569.5 569.5] endobj -499 0 obj +500 0 obj [458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.4 472.2 833.3 833.3 833.3 833.3 833.3 1444.4 1277.8 555.6 1111.1 1111.1 1111.1 1111.1 1111.1 944.4 1277.8 555.6 1000 1444.4 555.6 1000 1444.4 472.2 472.2 527.8 527.8 527.8 527.8 666.7 666.7 1000] endobj -500 0 obj +501 0 obj [566.2 523.3 571.8 644 590.3 466.4 725.7 736.1 750 621.5 571.8 726.7 639 716.5 582.1 689.8 742.1 767.4 819.4 779.9 586.7 750.7 1021.9 639 487.8 811.6 1222.2 1222.2 1222.2 1222.2 379.6 379.6 638.9 638.9 638.9 638.9 638.9 638.9 638.9 638.9 638.9 638.9 638.9 638.9 379.6 379.6 963 638.9 963 638.9 658.7 924.1 926.6 883.7 998.3 899.8 775 952.9 999.5 547.7 681.6 1025.7 846.3 1161.6 967.1 934.1 780 966.5 922.1 756.7 731.1 838.1 729.6 1150.9 1001.4 726.4 837.7 509.3 509.3 509.3 1222.2 1222.2 518.5 674.9 547.7 559.1 642.5 589 600.7 607.7 725.7 445.6] endobj -501 0 obj +502 0 obj [531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4] endobj -502 0 obj +503 0 obj [826.4 295.1 826.4] endobj -503 0 obj +504 0 obj [470.1 429.5 467 533.2 495.7 376.2 612.3 619.8 639.2 522.3 467 610.1 544.1 607.2 471.5 576.4 631.6 659.7 694.5 660.7 490.6 632.1 882.1 544.1 388.9 692.4 1062.5 1062.5 1062.5 1062.5 295.1 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 826.4 531.3 826.4 531.3 559.7 795.8 801.4 757.3 871.7 778.7 672.4 827.9 872.8 460.7 580.4 896 722.6 1020.4 843.3 806.2 673.6 835.7 800.2 646.2 618.6 718.8 618.8 1002.4 873.9 615.8 720 413.2 413.2 413.2 1062.5 1062.5 434 564.4 454.5 460.2 546.7 492.9 510.4 505.6 612.3 361.7 429.7 553.2 317.1 939.8 644.7 513.5 534.8 474.4 479.5 491.3] endobj -504 0 obj +505 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -505 0 obj +506 0 obj [777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500] endobj -506 0 obj +507 0 obj [444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.5 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.2 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.7 361.1 572.5 484.7 715.9 571.5 490.3 465] endobj -507 0 obj +508 0 obj [613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6 408.9] endobj -508 0 obj +509 0 obj [638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6] endobj -509 0 obj +510 0 obj [319.4 436.1 436.1 552.8 844.4 319.4 377.8 319.4 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 319.4 319.4 844.4 844.4 844.4 523.6 844.4 813.9 770.8 786.1 829.2 741.7 712.5 851.4 813.9 405.6 566.7 843 683.3 988.9 813.9 844.4 741.7 844.4 800 611.1 786.1 813.9 813.9 1105.5 813.9 813.9 669.4 319.4 552.8 319.4 552.8 319.4 319.4 613.3 580 591.1 624.4 557.8 535.6 641.1 613.3 302.2 424.4 635.6 513.3 746.7 613.3 635.6 557.8 635.6 602.2 457.8 591.1 613.3 613.3 835.6 613.3 613.3] endobj -510 0 obj +511 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 500 500] endobj -511 0 obj +512 0 obj [489.6 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8] endobj -512 0 obj +513 0 obj [350 300 500 500 500 500 500 500 500 500 500 500 500 300 300 300 750 500 500 750 726.9 688.4 700 738.4 663.4 638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450] endobj -513 0 obj +514 0 obj [625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.2 531.2 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7 500] endobj -514 0 obj << -/Length1 1500 -/Length2 10025 +515 0 obj << +/Length1 1483 +/Length2 9825 /Length3 0 -/Length 11525 +/Length 11308 >> stream %!PS-AdobeFont-1.1: CMBX10 1.00B @@ -5330,7 +5352,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /SNDFJH+CMBX10 def +/FontName /JVXWMJ+CMBX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -5371,7 +5393,6 @@ dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put -dup 57 /nine put dup 111 /o put dup 49 /one put dup 112 /p put @@ -5396,44 +5417,50 @@ currentfile eexec N(-C :ߒw .B bw0$["PU~NY*64C>N^?0^~o&fZ9-(*ϟVV9 |J7@s.$DFYMi+M즒DSW['1qy4qZ;]6y@F< V&N3n]Db a[sK kԃ9$[F=e,&Ȩ)uv1DVIjaIç# -5k~QaMjFJL3.0lVem; YnⱪyRyh$&'gYx Qi- o 7kacg92X3]*#5sJ^fXגbA>!đkLa\wi\p d³JKWpt+2~-OC=<ߨ7H'4FDS٤d4isCD3M`=eO7mfz~6H36&UԍPց(5ۍX.:|[H"ɂ7SyZ?actS[lDA\t966an,2A?":6ߙ7xH/5e=v es% .,?RIGM< ,9M&^;mN`0\@'tM@/f+d)9*CSeE-&bqPQxVyï^>Ye['@O&IӁ7_yջ19qxavʶD\BhI.fN2iRC 05H-Ga/qB_7Ue>h];[MgaJ>?-.}6 - P^$0 ->B}|CR;0̦Fh2ie(I:CxVtgoqǙL6n zrWV_2;L6쥉\ؗ~=ViswķWEd21gxC<%JeG@>O@DYW:SL≖d}/F⋙j$˚ ԗ8SQ -Idl -FU"-EI\]T;/nǕ!b#i`XcqlOl!켷M!Mc98ub@ ;Fc"Y_HkhA˧A( 0Uة}d+IoQwe`",*ڕ%oi",G#pyVT@"]Kփ0Myuhv㞻|e 0 ixy./;/c$~qGME(_k-12tY|B Ztsss=n^ܘS -u]ߓn @&xwŃL8ֆe;o9S:P.dBz_UOJk#|ݕ~gaATVŸ=Rb+b쯃G2QQ@(.P!̜(.H CPOcIjx7dLJW\Z;P}镜ѡ["Xz :4CTϝĸx ,u8| 0ԌD,kl;LxV#+:4a ?- Q=TH6 vXk ⩝>ɒL1l#]^ۤF?2XNHo*.ҢK5nt&]`=J yGbZ@.0J_"'0TzG;AY~H!8MV?۝Rw'^pg[Ι̣AYQ0,߶WbNEJ4蝙هZ]. veo)2쁅eVs}KPHyWpϕZ`|i,PbE~N`;rc+Fgpyi>( mZ[H-'Od A!J8}vwNl# \%a /NJQYF;ӧOJ--$UZ+9I4}b"p rK !Q>V{X`=$U:,iuob2]vw@cwXohe%ap4iatf:[tAq<,`ff+SP4Nr +Ot+R?"RlZTq0iIzS2;c\8IC|6țp{t#].' 79 P|eW0oK/}\vѬロJE kDh@Fq`zL ef=Q̧hra~ ]gO[8 FPiOn -%cm FH35XM:)522ǒlԞ Lv7C}.zзSj9K 0~FT+%C4D>ݛm.Ԯ%sʼ1E+Ƹ]RAF:5l(r %XHNV|V*x+**ҶM{k;H+W=-j`:)W5"j&?&N//H&.j7Ve{cc%XHg̾?]_ZU8k٥D;z%~GpJ @4@KQ/2\3FBOL4^1gCR*aِmLMc7.&E5nӮbX[zϗ4jENe3a2nxpvhZ.Lr!.U]nw&B xVn2wcthre{"F+ΓCs|!NEwJB u"VD*.TgWi<|`ͺA icm^OhI$zHРhtO|2uwKXytaQ׳5*q !F꫿(S}Ivv ?_Pdc~`VYxڞrDJXLEݮr)̣S%GIg+Ӈe%\dty5+,n}l=#(X*_W:@4xiZ+&Ǵ&;%Omq,iXx~,ve)xpO)sΘifoR8Bkؾ~cHӺhn!)J\yh[p`Uvt}YPjR)яH "rwm -UP.4GH7(enQ0aPؔC@oCzE4ǭ.ߖPi0n}';+&gzSTɫs[~Ɏw5'4'DtR>sj|Je0([:!3aCKludb("ړ=(' -T wӸb '-ڸ[H: O -2 F睹׻ͣ_u -*pu6C1B<(M® q}pŇSaw_PhM)@!%/mUUIhJ&\ *[4Sbu[bRWBs઼5irJȵ5vi(L!w3 fM@S|@snm[}Ei - ?J{j__6d ަJ]PdH%7o& $[ ј,J0[ziNm "YRmAMVitMX RkojIb1"TAoa5O#;sVD,2`W834(vIU 灶2[tg5fFRkg0njFhjIia҅['4懁DŽ4xyu[8I?UL769 -de -AaVN \*mK Sq쑍6Y 07֚l#r( έZM'ē8~vOzdK[oy (Bތ߾c)'#Wr E{$<@\٫?%m :?cѽS]qK'X.Kq\?g}DNKf˲OCGUŖ"6Gq.l5-)S@A{b\Ҫ$v/Jb-'p$N?I kjifp^BƈHdFe{@ 8;WM6 ho?("׍;s3B:iؼǵS,I'"CXc&Tq۲eQok}k!.Qܗ$o6w^B#GTNuW7i5cxxRFy;;U KͪNcevnwehOUcw. -h茕®1ՓP,s_|F-1s -lf^ oS$fHף#~b6}&Y+'q? gTʹNptpd8/-"0V(4 -!!Q,jK̔J) Vx`EaCrDp1TB:, J^&>)rʭ9U`.3Lq,xwHoFKӀLdR}A[*ژZφ~4qQi%6?'\l",/QyrnwCeݐ#3vo^z jO]/I8| jmk=lnBeǛpԠT * v]nFtCoLbm}I:wpv60=AZ =ln:=fN|^[{ޙaS ct NKJ.:/{{#pC}A9wbȈ^E^5wXwsT.qyPԋ]m0s8K'Fb1t]3\ /1fZWJV_96He{5t4 -`N,&#}H[ N}ФpW냇~kϠ&Abp - -4/{V(PHճQށǍŘo~u 7 ^p(U k~!f[3!p7 Ofs[}c,N.+BGŮm G@bImmň7@ -!Bw_ejqZo^⊺v`t9|7д*"uRr^DdaB\ߴ-ЃmrI1&t%]SS ]Wp|Mܮώ oYo'hbpӁb}[CvT~yE+ϒw61%j|T3W]AƐaPbaﶱ!ӧVJ{Cʵ-N-cCE%rh$qbTFEOVb9>zM /]3}VZ5E9.h)Iv"3K\3r@4os5UeCd"SN}0`X')vwVlVɹNTX[5F?]<Cy5 S}@2_QOvG Rni&]}wEvdoVeWXE bIy@]#6v$]T&M˵ݲIK)@~ObԸ UYF F5 -XҎ5c$rJÖГB P-Q{jShhZtV@wͅ]m&MZLƑ2'jtÕy,½yls!X)R$[wW.{^EcZDr42ӣ޳<6{ -Ni~q:ڷ]U[r>$ }1%ͣ1ݏDY<פT[Kl~m$~)mv:<6IXFߠ?*psPW,s&t"K .V0Ϩ"ʾQUPkMFD5x52~1xb +n{R eg6e<c>aW"*dpY _Ҫ:¥w[Y~駬#VP$K} -aaMQk~4(LؓKxk_`|VpM=;nx1c+UC+McrX1ƞ1矧ЋħEec5*DFqԭ#s! j8m~5i/J_z9MJxA06iʕh |ZL7aLӪ"s2K$#p*ӶNWN/v{a0E1̫ͨ[:sj#۱&Qr 7RZw]%mhz|oXfGv3kO]X;{X<0%G[tTrXX}G/K ʞV?XfzhhjMS\M LaNnUv5%cP5CtT!џqFfb^.X~֛Fsԟt啍& -P+IPe׸Y&$rfCa ' - ,[#Z.+B0\XnP|(dqqK^~VF}+KPGÂ@\/53NqN~ {!Xk$#/I1تu&"Es+<TobA]vnE)rNv_a5lړ 7>} *`mm\xQfnEk mc7a`FuG~ud~=9็$کn.RB.b؞g> ]o|#Dm\2|%4AV G-P%¿!CbY,O_~{>]ԥOỦr`8*[WT,g&c -BQFAy`%/Mз*~+W.ir߹ema0-&Ab$ҷp(;y`'}ƏQCD N`!pJ}:ƺ2V_@Aʯ{cr/ jN+ѤqFEһ{e|q¾-éB\}$5bbV/2Q8bzgï zӧ͕}PMbT(V+TWX !%NG}s;+] +5k~QaMjFJL3.0lVem; YnⱪyRyh$&'gYx Qi- o 7kacg92X3]*#5sJ^fXגbA>!đkLa\wi\p d³JKWpt+2~-OC=<ߨ7H'4FDS٤d4isCD3M`=eO7mfz~6H36&UԍPց(5ۍX.:|[H"ɂ7SyZ?actS[lDA\t966an,2A?":6ߙ7xH/5e=v es% .,?RIGM< ,9JK y[A]:{\,dlHGU!IBefpXvhv\Ko <>_n.'gm 6 Cx![hPɳI-mTk7;a ' |mm8y9|b &ol՘4t|>͙q Es3#TtppK$E/jXLB̤p??DݦA>0v|VƐ:ٺ>=`*lneԯ~x;G{,r`PaN0-S)w'~7ʕÞt$ 6q_Cùv)Inf8۷)J E5(\\41. &!Z*/"YCF>0piar_򍔺UŋT6{\6@Nb|q߃Y3d{V}N E@LX +pЬ63;`엟w5-9ɮY7!ﯲ<Ⳓcy87 Y|WwW "O~uH}.3w2<:)DSi~JECl@&' s l\O";2&(@]]_|/ҘiAc]YHL +L9EɆo2_q'\~g""LLy`lE< ۃ׎̯l[cS"Sz[* KI:lA?Oy7^ٲ-qTxD`3m>]0WFZ`jKhgْX۸)WUT4r?9}RkϼұJ_$ݸjzD\;$I1ڙs^cH`actǁ`ξ.{*ڬJ*8Gמˮd$mFM$ޖMzY(O3AQ;@l-ႄRgju*~oycn">FFK‘ʠSp2(^?nѫ4TU +Α=g1x_`&[*Ea1XS]$:P4]p>RiS3`yI8:[sJ#Ds#xt·wچ:ICtEcGbJ8n]L9<+Z8Tx?{*iLjZ礒h>DKb6в86B.qqآ.F/|%2NpoTt|}R1u:6Z>X¡8>j -LVN^ǐ&꧿a¿+o9WzeiE6{$GxI7 큻3\ b`JHz)w4Ĭ$U  e'}#kǠͿL1F#I!&y(.x^ڻuK5\ +M=nX."K>5v>"hpzPf% fyҬsFřSv%%\VjSsx_o0Bʓay*8">[~o* +ad&bNC.ja0,]-ήZ!+ZѷGhz*)/Uq[Z_ЁaY+n0Ǘ.ZMxn[=V +}f6\wx7WFid&8RO4H4MDj(sV(_i*MCg8$YyÀZiZ8zVנx4n 5Dm5|ڨ럧dC[UR#gc pbOxWros16 jk"7{6<={.vOMA؀Fva[+㢍^ @fp,[Z- \hJ[θ- +WZ +ACd;VX!D+ޤDk)AoYIy +t𞁩˻P"/mWZ#M.ʙ&Eaup[[z v͆pg4Vf]`ݏUX<f[Թi?.Pv|9q Ӫ;Xcҽ T5,_U1"dL{D0iOgdyKppoTjn gg]zS P2{RlRRuͭ8]YbO92ލkγ>XaaeХ;~Ĝ^n#]6}yeQۍ2YlڞYX:`;*'cLЀlS`f +yH¤) Mȟס@8~~|L}p̫?DYn,kJ5ʟ&< +hZξ +>ౝ0j0^q B;RpMP[>n@Nݑ`7rĒVU7ot|=,oq D +N8N:G?qlR{X 9UtYZ߻rG, +d(]a*qzG'm8ޤB8z1(|Џțq C{hC+gG28͞ 'F[3tۢL=Q!(X+7T!l*($/UUOVdmdO@_%2~l| aMNƀn{J*ʝiHF pK=pVtĵTPQˎALf`okHW6h|`FtNym!@uǗ>8Y6wEp x5πyGm?eB o^_" ncp(c8>ݬv>fLQVK.6S2#`&kD6wXLT]$J-]<ȍMR:0tB*d8]pVDvb13=[+-6o$LUpj)#gC(-`(u"|kMZ3H5\;qy˟PEVe!ϣ'z~ʄ6Q! G QfgX48 +0/p,;c븿>؃L.O_im$:s/nѫ#ĀqX6P*g<b~Jߪ?טKf*K|!8O CGtǩ`1TęBd L8Ԑr!Na `m%G NHRpwXˀV&K6Y= + -|vVZ=ƕKNWȓxD}-p"n̨vfDOp*LANTQ=sqPUbdDL Y o`vu}ַ}FIwçD$ sw< 8$c#Ș kXĿK&4'sޠ 6 %͂f͐ +]ZU!Se}2U?R;tlYM\K"244h+`q/73nRBPʲRP4y^KA0V?l`~EQCHghkԋK /C 9y= (?0ְ n :q,+Jh]=r5Gs{٩)ЙY='V+qB$ +4Rjnw$^;lj,_]gә6Ye N +9^?vحf o+JTHQ?\ +i"Ic =6guEo)cưB Herď,dU!zP-n;Ɓ\v[#CO7&i5ꪼDM~`@y@E~sbmQI~ +V m'f':y 2=,z>|^5[Z e ODfKt\PJ +cu 3꒛L j-寽⶗{{T"NE%Tvc-rޏ ȘEJ+D)vH^QeXj,kEq~X*AzCG>\a^VG1h~}˜c9Pv =HCc`P?,ߜFf)~U7zދqVnSS]'A]"%v +L1s)Yps"J 7ba5rrLchsPb"$ v;HV&x;BSZK\hh=HFAf q"DȦa3{X{"U'0O8FE6c_嗪>ۢ18hњmU #CWHO>ےOѫE+<󮬲R + Raɴǭ2B^ %lR&N\Q+`2;Z:. +R[%rN뤃1Nƻ$]ۍ R3l,avmV<_8`]N 5gC:6U&ϭbdZX]N-HXURt1dE޹5cv]-g$zˢD8=)  >&;,!ҠynX|[Yf #<>BC3杝=@K\<,9B.k!G5 Ie(I,- }dn,{twK +qUa^GYkSvi+tW\K} Ys҂۶n2f,?@?Љn yvTaIb;N/<@K/C@6L,5*1Y+_K\Bkda2"т @ Gh ݗBf a5YʎQn,8]1swvoIxo"(b" (Ck]bu芸-ʲME*k JQ$@maH4XRL+]8"x@*ŭۿ#_׆E^ ͮM WWJNU'd|{K +my$%UZeo )=y8?{}# +ѣD,ޡޖF3vieeu/IR`Ugi+K:s׀՜F~tuh 6\ZNKV4eo֒Q.瑇@.Y$5LַBֱB[nC +u/c, d(;40j]ZGp$ J?e(?l n["EL1XaB1d`̄#0J=U^7@RO=`1 +3 mGk8QbQs40l Ro*?rОjYHxV endstream endobj -515 0 obj << +516 0 obj << /Type /FontDescriptor -/FontName /SNDFJH+CMBX10 +/FontName /JVXWMJ+CMBX10 /Flags 4 /FontBBox [-301 -250 1164 946] /Ascent 694 @@ -5442,10 +5469,10 @@ endobj /ItalicAngle 0 /StemV 114 /XHeight 444 -/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/U/a/b/c/colon/d/e/f/fi/five/four/g/hyphen/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/t/three/two/u/v/w/zero) -/FontFile 514 0 R +/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/U/a/b/c/colon/d/e/f/fi/five/four/g/hyphen/i/k/l/m/n/o/one/p/period/r/s/seven/six/t/three/two/u/v/w/zero) +/FontFile 515 0 R >> endobj -516 0 obj << +517 0 obj << /Length1 1513 /Length2 8660 /Length3 0 @@ -5558,7 +5585,7 @@ y p,d]' :BY endstream endobj -517 0 obj << +518 0 obj << /Type /FontDescriptor /FontName /VZSPNB+CMBX12 /Flags 4 @@ -5570,13 +5597,13 @@ endobj /StemV 109 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/O/P/R/S/U/a/b/c/d/e/f/fi/five/four/g/h/hyphen/i/k/l/m/n/o/one/p/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y/z) -/FontFile 516 0 R +/FontFile 517 0 R >> endobj -518 0 obj << -/Length1 1385 -/Length2 7697 +519 0 obj << +/Length1 1432 +/Length2 8170 /Length3 0 -/Length 9082 +/Length 9602 >> stream %!PS-AdobeFont-1.1: CMCSC10 1.0 @@ -5592,7 +5619,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /EZCVYY+CMCSC10 def +/FontName /WARYBH+CMCSC10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -5602,6 +5629,7 @@ dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put +dup 69 /E put dup 71 /G put dup 73 /I put dup 76 /L put @@ -5620,6 +5648,7 @@ dup 102 /f put dup 53 /five put dup 52 /four put dup 103 /g put +dup 104 /h put dup 45 /hyphen put dup 105 /i put dup 107 /k put @@ -5633,6 +5662,7 @@ dup 40 /parenleft put dup 39 /quoteright put dup 114 /r put dup 115 /s put +dup 55 /seven put dup 54 /six put dup 116 /t put dup 51 /three put @@ -5650,45 +5680,47 @@ currentfile eexec 0v7ϱ9 àE(O&k{ǛHFſꇼw R^q&AԛhF8N&{oi(^[ol W%'5,.V!0&u%ˎKxZ4pX:;[4+ @c ߌ -}s$)PͶ'/CզxBCxSƫE\ 'MXpͰԁ C q6 2T1e|jԲH*} t.-"k5,h:J.X 4Z@0v)FEʫ@"jKNJrYDdcm!G~,f\HAӮhcc>SK}pkkRX>LfU8dWNb䊌b ?g~8o|R<)C쩔f{ -D -*%;:&vA$+@!gCHF "$/핞}pio$ 㤗:]p" -h.yI-ND7mTonu 5U)ٍTF HHU;A)QUZ3xyAg<)2K)BQ2:('\'hwYsN5/W4c{M RiO4an;6/D'koΏ`9Cy<[((IFiSާ6TyGgyK7bp} }xPG!}f\׌|v%<@jв[T%TEcY^s?t!$ѳ@}N;I|N 5uUSb{ Y*~s)"# * A=iK{PA{ݒGS\ jePJ/%cBtJ32cy! -nXd۠oH_",[GR Y~fMFQD3M1o á7o~MThъ6)5≀wݸ8ѩ\t%3]vZPI؆f1 Qd.!Giߛ~(dY^qںxC}lV%f7k]?hČ08CԧeMWcQw1 nB,MXkv'.g )׷@=&hq='J-AEf́4aOȊaCOQHUˀhzgEn(K1B֫6ܚ\}/@JX2ŵM>g4(z7tfyMFzLXv6tQDK4F! Y/͒Iz>M5mTObCSO-*x]r +Ͻhk`ovl^ƮxBߗ -ͩ8"+fY~Yld.^c&`yrP=p`TFWP)qp|ز`=|yk6;xh!]q+k j|6P2͘ /,O)9@ j Es-KJU[z%h})H-qÿ߄ ?OMGs -;x#Rh+t-V$L'/rQuGoRLu?.;eooʷ|' ۈ"$\™r aC;8vJfSQ!me_dSkuh^h/+aΔqԭ6vH+'XbR" ^D/`D*‰dj,z̟g,Y:oLe2} lVDED4z"Wg،׈X -wٯ]ǯ>TZ5#][paeN0ϥNFv͞eFYL/H,F׳ -SHٴ !N;{%bp&E2ʕB*r [CSI6al-ьP#I'Z+#O6S0s|"='ڝbPN&QF)儈(M祼O;jk%}Ib/YURz LPJ.}A9?2V(;#Ln"| -ɬp -ubjҴApA!)5< ~Azj=*$=DOE -8 7t6kZ/3I{B,j%9Egc|֍JL(<7Q,{#c))nMԼ)܊o&!@荧')?.䏢㎘BkK͎jH'>(Ll&4y F?aӖ<wX61 %H'|=X#c>iBPGD,—^4}p_k@#-v3K0cBʫ;B'nڕ kta`G&x *^Qi:)w Cm+#5\)SEWp" =">cɊ>Ar?lف݃ݝ[0w -AQ5ïzDBR;l>[-De.#GF֒R~VAv]Һ\*vEO -‰ZWεuv҃A4B%+ -8XQx 01,oYOW1!$*K}Gĝ,v>f ZOTP IZW؁T 9>M#w Yov[ۖ$o Φ4h?Zut -<@s"|:8? J)y` -Bbx?H4`aſnWإdKw>}bF[2I_oJK鈀]"=|݈2lce'#y+m%Nu\ys'坤'E!1*_Cb -c0nU6";? R5mYK?|\3¾]ؒ;xo T?@ sS -7 Bl#EXLz0Uu$k -!̼ӕwEbYZ dɃ"C}W 5 kѢ%]*#hU@9Ə*s=l=x]KT,$Ә_bǰS4 Oz.s5cpʬKp_jKdq1V> S00o#,eY?~Ŭ<FTJEE>w͖{Q5 Nފʩfhuh9>m;AP+)҂Kt;%BQn p7Vs{lJHD KZD3~qصrZHˏY/'(=@ #ӶL!B= >l"Z?[ Gw%A&Uw 5O͵=Gd[tp,"ZLwS?m@%Rqn[ΛgpQ?FNm΁WrsN -)&ՎpDzxz --P')9 -Tx$X)2 0.ssb+%ϱ^??p.}o(1`Yq.aTIcSSnc!y5ß+r_kf)q//G=$v{TlatC=w㡂p_ңD崊al~7p4Sb?֗(\W+x:*[eXXЊSA8,GÄK4k%3.ѤJ1b:E.v0ܲ!-jn0X% ōKk"ΗXZ$yJ21-f͏KMzd,mn&9n{W )'|("Ls^zJB6rSi4P#P/{=֙)6 -nBi4xS =u_EPD|:)20Rٹd٤$\ɪK|R#" %mg"1ȈG"QJ[cvZ$ U"hڜa3a9([}A@L]^CMfp*{Ug92$]ᴻ?0=^޹ hY!3K|EwhcMà(6R/ѴjLʑj mS8ŵ9k5K {6P b 4jIP*]hiw[wm)hL>^6m|=7ZOr)dDn 8h.{c-d}{+{ΣOYhԧ&eitW?J2Y!d:r;sêt  -"[ Ʉ.>G&]wJ chՐViӥ1qy -[G96 " k~}Fv^ft׻"vnE:Z$՛C=D8f0,fksPƶTTo2L]Iߡ<;"qecy+ -)beײi/_𖂼KemT~OAӆu-4b#)Ko ťʇ\), ﻒnCuQqK(?+j`3Ch#ԟu?,k> +}s$)PͶ'/CզxBCxSƫE\ 'MXpͰԁ C q6 2T1e|jԲH*} t.-"k5,h:J.X 4Z@0v)FEʫ@"jKNJrYDdcm!G~,f\HAӮhcc>SK}pkkRX>LfU8dWNb䊌b ?g~8o|R<)C쩔fxgm.sAQjEbp]ly''͔Ϟ[tVt{`z +D$V{ EV|4-<G"퓾.?ךe\^/fWn8Yzs=p2΀.1pTxK(ۤc ]?ٷcP'eOz?.ǴB5ҙoScfaK1k;G/{b28m u- VG?DpB4HvG}hUƜonɎz Ϟɵfv.Y83 w._n=m8ջ̒J2-oјx w.%(7䔛ųZXT4 Vr|1_ &B(E:'N@uuݰ_̱+DƅhYD{֮1D`'hyzE;W +zx))?IwuϻRG924ďk|^qeE_idwt䀓w{ + D17h""JŐ" !Ӣ`>J^UEpX gU)S&%]fsJ]筷bŇ;_/ɡ@2詟LtK=Wi(D/cv+m) l_8 + + ҢaYu1ĸQȔ25ޛDzLSEMr0$[/zTȈ Ib {og;n":")[hHwvGWxBxBѷ&+ ƻPdaUc:q=q)Ү^:CnuEg1\Dce` C| oV`w'chPՀڈܔ+~8$9XDcV衙WpF{[یR۠rܑw0ԠϒxcuQm#twjd, (LvɏTzGXt csWZOi}po?x{g#|!]wpݛd 1NHK}ԨaT}{zd\n2D Wx>(C\vLG:ΐ^ zt8,f)s,zvqRy)㏿}]?Tmܾ- OOWsЂ*]lL}7C +8SWHA{Κ\S% ~~xL4^"2çq>9+\݈ .)VjZ耕 3ృΟ0թxD*{= ZmHQuA#eReu~X%bf*K'c$:*}. &)wG8aP+-(C|]" c+[ H`eI ṁ$Lxlc17-PY #{0J\"6 +κ=ӈй2VZc}d<8,e u|ˁ(ǟO5>NIۺ1 cb"4f 7'ɳE=T96ܮl:lt&9q5j*O 춇IG#n.=elT_cQFCYK^=OF"Y!yM'}T:P j)N]xhu"-b7 +7d4WmIh;eU"ٝsGɘ +͜bb@ +kZ6Z3l-BV6~_c( ώ1l+r*NzX!mW邏L-}:3xa攎? (dy2U!L-:NW [c|HcC`q& qԅì9=w6 +0%j g/Q%]4e4p?s' 6@pņHto+rݗY  +~h qRa ,:}Az=kYB>—DXV@qlK2Kτ%wlzZ :X,y'Xşa.'mDTq{/0P}t0>V[5\l"3"eOO 9qj:y!l]Aݗ!Qa"d[|Kƍ'``dW2/ՈAqs*"4w ҁUS e&(ʀEۥ~kZU!k`d +۷la, %hn Arla_\1' h<_fjߔ}u N{Gg ٕtvk( ?ŧcfOF :Ww8doNVhkC9?ݠtԡd7ʎL!!dbP=Wl! +5&/(қxR:y,x=uyxI{LJ0 ٦1-9372 +֡wyuޗxc_<%+p/f ɭU3Zقe ]b +}p Ne2 AluѺ.wE EJVĭaǑh~-Y|. 5 XbXt{woVEf!OWO}ێwagg2@p譸@7&=ήK4]7܋>ؗשI  ٵԭN^(>E52}n(Xy-kD2 gjݟgO[Ls8ksZT>c#=Ws`;9P˾r3NjĿ&wS` fҴ FBupb:'8oUH'i vz .[2GSNN?K8"@9tV +JZŭ>q0ը1,A;A +gHѱ6ƂQr)UFN+VȗbvMm2*xbB( xOTƟvhmkV;o +((lDh.Lx8)e҂W\GJkr{੡Ȳrg=B%aث]LɃzLAg0-͠R0Į罼pRX>3X%FlP\^DScqzUٟbˋsXQYAn PH?/RpI>V&lU `[McaA{LQ課6XJ(r"#(OU%tqX ](5,8ns1MC@ &WTY_UdnؼTn9Umq,&|B0]M\pQY w*2}ę0X2DhaCmA؁߸? +:{n51`KZ +\k=@ROC5nfcPn`EZZGD&/n`ۥs+4YӸU@sP.bPNcJ>~h爼͚YI9#oY ,&T^yl.WP0E#TݼEsT"K04-wbJ9d~>vZ>OI奓Wn,zU!j%͚XkiI%>dCu(dʛߏe wJ^gH|X wsj.3[uMVtn6=`{zlt9 OOwE~RrA/(X @w[?ZC,Z(Aw(LP0ȻNliVR\Z{#[x%՜)$* Gu3Iv+L 2ЙU 0-P+ +'j-Cs$SW`ʹ'"l0g w'Ȟ8Eݏ1J6!-xY?u!mab/<@-9)nq^4U!r*-!#O5yd}pv[z*eK՗FA!+ zo}P:jz<6Cʹ?%WKLJ]fTe]*"bCDp~PQi\ևv=y6s + +'ZE מYfDB/oHx~Dz%)wUq;ynKs3tfe2*"Sgz=$5İ,Xcˤʁ SL{g}K|Wg6iOD1 Tᕿn@&Z>4{%ɶጾtE:@ȇ,NP!y5bq4.} +'!4JL`$",l2n6>d{N5&tURT=O=hb0C.`P(e$^c} Jo3ePݾA}M]g#l?8/G "qD2п&N`͎NѼrji='"+jO],VK8VOw)f<۟>?'މkm'uhpC]ݳ +:X0$hVb ҅r4C|Ovn.-nw і +a}}ǍIfNC +ϳ6}m endstream endobj -519 0 obj << +520 0 obj << /Type /FontDescriptor -/FontName /EZCVYY+CMCSC10 +/FontName /WARYBH+CMCSC10 /Flags 4 /FontBBox [14 -250 1077 750] /Ascent 514 @@ -5697,10 +5729,10 @@ endobj /ItalicAngle 0 /StemV 72 /XHeight 431 -/CharSet (/A/B/C/D/G/I/L/M/O/P/R/S/U/a/b/c/d/e/f/five/four/g/hyphen/i/k/l/m/n/o/one/p/parenleft/quoteright/r/s/six/t/three/two/u/v/w/y) -/FontFile 518 0 R +/CharSet (/A/B/C/D/E/G/I/L/M/O/P/R/S/U/a/b/c/d/e/f/five/four/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/quoteright/r/s/seven/six/t/three/two/u/v/w/y) +/FontFile 519 0 R >> endobj -520 0 obj << +521 0 obj << /Length1 935 /Length2 2339 /Length3 0 @@ -5752,7 +5784,7 @@ A _gPsB1uU zF9)[?h|)bg3.&Bj: X3;Gk(B,v endstream endobj -521 0 obj << +522 0 obj << /Type /FontDescriptor /FontName /QZSJAN+CMEX10 /Flags 4 @@ -5764,9 +5796,9 @@ endobj /StemV 47 /XHeight 431 /CharSet (/braceleftBig/braceleftbigg/bracerightBig/parenleftbig/parenrightbig/radicalbig/summationdisplay/summationtext) -/FontFile 520 0 R +/FontFile 521 0 R >> endobj -522 0 obj << +523 0 obj << /Length1 1315 /Length2 8350 /Length3 0 @@ -5873,7 +5905,7 @@ $ی }HЃ KrR,higQ-x!|+XZyB.8r^hڡ)}ň*UcW[Y}ab7cb ߈$qrbD6$'8+x}j3k7194Ͻ=}|BQr4fjpsXMMq[>T`T<;gug1KQjOւBW];رQ+Zz;>~S'3305X@ΖT~A݁޹l;Sx6-TY>xCS,J&v ehX-W{)&v~JZY%b^P)aZ')z&Ύ쑰&J:yǗ Q}ɵ'_b'DDb+1˜tPXzNrhC(‹5l˯9^>m^o(ǨI-*9BCL}Ov]MGI/o < /P3!o@3]`̡%Qɦģ#_RYu_&jĜρឩ K)5v[)67Riu8*3H js2ZBue!M<ި۱J%a솁@-N^!!KIJ7^|VT &OUXQ{ 8'YA3]~φ9SPy~tK^$dkXu7b+u?7>l<  C:gup*UATe-yt,ɢ{Lt[: ; DټW/J|B|==L ǡ@>r/Wc2_ZrsY :K0쎓 ǝxC2|Lu<4\gdhQ`T.HgyѤk=_sh!ߥ-o'5ZCVcAD˫bpzmg7ܺ\~E,waDK?]r]ˀ1"_EMԉW);D(5Lbc5!LV7jj/OR\~f/W*}Vƚ;uJ*]t0ޠaӦ^kث=7DroA=<`^0TA@,$ '9428;d,DuMIXC֣–i~o&'ݕig 0L()C4BD~N ` &fv$kѣCx(],?G)kI$=X40Wϋ9Xñq9٦T]Gگ"#rVl6rF& õawa]K8Fe^qqUv> "xByuzR29 M@,ăS\~oI 7ڽvS1&813M#EL œIq[Lsmw_RoxR)#w3PN*.3@k?M'~=Sz6Q endstream endobj -523 0 obj << +524 0 obj << /Type /FontDescriptor /FontName /SQUASS+CMMI10 /Flags 4 @@ -5885,9 +5917,9 @@ endobj /StemV 72 /XHeight 431 /CharSet (/A/D/E/G/I/M/N/P/R/S/V/W/a/b/comma/delta/e/greater/i/j/l/m/n/o/omega/p/period/r/rho/s/slash/t/theta/v/w/x/y/z) -/FontFile 522 0 R +/FontFile 523 0 R >> endobj -524 0 obj << +525 0 obj << /Length1 777 /Length2 1473 /Length3 0 @@ -5930,7 +5962,7 @@ currentfile eexec ^׵GS761z'CUH gG(?W f%[*&T&":|6A $< UDԐ5 > endstream endobj -525 0 obj << +526 0 obj << /Type /FontDescriptor /FontName /OFGSEC+CMMI6 /Flags 4 @@ -5942,9 +5974,9 @@ endobj /StemV 85 /XHeight 431 /CharSet (/C/delta/i) -/FontFile 524 0 R +/FontFile 525 0 R >> endobj -526 0 obj << +527 0 obj << /Length1 803 /Length2 1857 /Length3 0 @@ -5985,7 +6017,7 @@ currentfile eexec RBٝ1jGO._=] Vi氚l@%f齅YB1q4Mk$_N>B0}\SZh?sȀOwJXmQ68XN3A?(Y}ND$R{տ& \\z޺m块*P k-죰BF *♹8clmotgJ(Olj^~^&Y0TI\1'6ؓBcx3|']PxTi\[`߻,}y*1PA@H1}c >I|N_Dkغ^~+($65)qAahJҾU(qs3FjékX[;8v;;$=NYn \X=(iv/Qg_,\-]C 3ӈG;V-|yn^4@dx]*~.|8D?,㋽5`a endstream endobj -527 0 obj << +528 0 obj << /Type /FontDescriptor /FontName /CFAIUE+CMMI7 /Flags 4 @@ -5997,9 +6029,9 @@ endobj /StemV 81 /XHeight 431 /CharSet (/T/e/l/n/v) -/FontFile 526 0 R +/FontFile 527 0 R >> endobj -528 0 obj << +529 0 obj << /Length1 994 /Length2 4891 /Length3 0 @@ -6062,7 +6094,7 @@ d ,'N]d.KiYVpi Ԏa8".8y 7yݟ݉sMBbHI_g,ۄ9ЬΌ~MX~Ɯ2t8bCP3=(˜[ *]V5OD2pϡ2~4{؄?_Hf;\%7WiGèǩ-IWj>Y:6atsNroh8H`2s~)Ӄyoo2>>YQWu>;-ٜ<,E3r/g.#R/ff1|zMT!Dz/x*);bkZkҎ1kLQ\ 5ݒ/XлWb~E.C6cWS|Lߦ "c,/T2ɺSz=~̞g+f)9AX(3יFY9['vӒÄ7k5z>-Gh=UEQ#ǸLΞ<9c@<޴mdkFtTT iwX-4^;qKL}IBR& Hx1Nw v̸H>i,N~IG-PCD endstream endobj -529 0 obj << +530 0 obj << /Type /FontDescriptor /FontName /VCFHMD+CMMI8 /Flags 4 @@ -6074,9 +6106,9 @@ endobj /StemV 78 /XHeight 431 /CharSet (/A/C/E/H/L/O/P/R/S/T/delta/i/j/l/m/n/r/s) -/FontFile 528 0 R +/FontFile 529 0 R >> endobj -530 0 obj << +531 0 obj << /Length1 2138 /Length2 15267 /Length3 0 @@ -6257,7 +6289,7 @@ y" _RPc f:_WLH|MDouͤЬeQ˶9Cmո7d{C#WS<Ǩ]ʤ!lٕn .jo?LbO}-n$9ӍjaЌPaOΉ}Vux8 woC endstream endobj -531 0 obj << +532 0 obj << /Type /FontDescriptor /FontName /KZBLKD+CMR10 /Flags 4 @@ -6269,13 +6301,13 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/a/b/bracketleft/bracketright/c/caron/colon/comma/d/dieresis/e/eight/emdash/endash/equal/exclam/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/tilde/two/u/v/w/x/y/z/zero) -/FontFile 530 0 R +/FontFile 531 0 R >> endobj -532 0 obj << -/Length1 1367 -/Length2 7254 +533 0 obj << +/Length1 1320 +/Length2 6862 /Length3 0 -/Length 8621 +/Length 8182 >> stream %!PS-AdobeFont-1.1: CMR12 1.0 @@ -6291,7 +6323,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /WJKWIK+CMR12 def +/FontName /ZTRAPY+CMR12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -6300,22 +6332,21 @@ end readonly def dup 65 /A put dup 67 /C put dup 73 /I put -dup 74 /J put dup 78 /N put +dup 79 /O put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 97 /a put -dup 98 /b put dup 99 /c put dup 58 /colon put dup 44 /comma put dup 100 /d put dup 101 /e put dup 102 /f put -dup 52 /four put +dup 53 /five put dup 103 /g put dup 45 /hyphen put dup 105 /i put @@ -6331,9 +6362,7 @@ dup 34 /quotedblright put dup 114 /r put dup 115 /s put dup 116 /t put -dup 51 /three put dup 50 /two put -dup 117 /u put dup 118 /v put dup 119 /w put dup 121 /y put @@ -6343,38 +6372,33 @@ readonly def currentdict end currentfile eexec oc;j~EЪ*BgNӽ ؑlKq*޲Xws|QFqv`zXMyp"5O˩YŝP(DT![v67XFlU&3!Rq4wσ~j+ou\@[6]nhmlhaH+4/?3&n=a6E#|~.ԅˠLw2.槝sNY ڻ.,VnNX3|裠k(QIOs m;fߖC1}_a Io#0wݙ\P,f *bG3Z2کP8L3r[vnc_Eh~g9|M) }YaѕH|1m![AzXpPNCU7Uֲ7ΖTgx_hyW^]W}s_Zfs@dYr ȟsy&vJx)ݱ~Kq -45hL#q:4pP?g |GJSn^i26M Ęz0. v31껰xCj 7}0a `~iEfÎ}O>&*gϿ60CL͘sc·^X0IF +3yP.wP=vH?tx??jKvcJ ފO(WfnYc+ՈuMWkSMpy2La }gH,HA ngVU4NN4@70 x?7%8X, -1};uiBajlJ\WY1+@n3V\ VޏEbf,@Yl7#uCہ؋z(AȯagsN+FLuӣoIR ݒyUUWm]|2DVJ{2hm56״ pVV3gE荸'p -ڵg9<À-bOC$fvL/wa.,Ccz{wT2b/4/Rs^I|Nwd–T-e i* d%yiO6#i8“ԓ|9ִXٍh`q4Ї@*ޤ[Y.(@.$'|{5)aW9'iCn9WK~Y+n=1>vp 3@o%4(蒫IngH5FXOĔېܬmzaiVU81Pj<\ĩٜ(rk9$t1j46[Z M{tm[e ?V$ :J6AeWþV:(d34iEŁTИ5dῥ -S킳սB=A\iyG,J CjLZlTMt Xb'/ -8^%SRo`]}xxM*]DEϒID'G}I^aFдDǧ::(Qyɵ~hmjiz3M,%g^Öz7,`rs4#}*H53FШ@b ~l3vEҲ+/5I[0pcJ7ZA(AdPpW] -~iT0u `W4(膇dڧPUݱUmɀQP_\W:HjteLY4g?E@:ҰGB̰oѿGq/3hGV@ݛXu9iKZJ}X]0j%#y3ͭ<L P؝X@Z b;(*LXp- <בo&l'1D _ϵ:^M(4Y-nL]{Q`ES4g%OPx,ЮƑM>Mt^K_d(Xɛ !>'KdwgR \5^Y: R&qHѸОG ޚ?6S[TZ/D,*L; PTOWؾ4a:W*jM̝ݦEI#O8DфŴw!/fMِ'؞Jɷ {j(^Hoޕ0gh`Y} !?sm-(ƺK xbShXqpm -n̅>U_)/xH{+3'mP}4oxNzca!D˖Oz"z GFʐ`K^-5$$N$ߴhLBZ] 8hRu9(0_EW,* MumΥX'Ȯyb m줨sPgشičmRtŇ4O4uB5*Qx -4e"IzJ$U""M'ȠuRWeh-}M=} _t -/+5Yެ%hΝډM q{&!{ dpT҇!omn}ܼJwx[ 1dRʩi#jM[ݰ]Y,A[̩a 'λ^'ni̗ПYl1y|BRϯr"QEN[A< -`6C0Mۍ[| -`Z XNڨH[jiipu& :]9f935{aMTŤ,J䘟ׅojGy4VՇ򑢧c%sf;bco})m:Et{qdGW"Z7 -ct#>dMwJM}(`FY#VXa-q Xy∪#1N^B6`'>jn_{ JQ<_QU` b-SYKNd*t* _"#0gEuVj6qWJmx5^o}OQPw$w*,B%QFpPY% -KZ5Œ[n:-bEo!{:RIlkJ #6@!ϫ -_ىhOE$<^2xL:AK}]kcQ+zGעMv,Q/U-WD@/;#J"zA#!yQ}G\&:/>=DuqW]o:cHPS}'p;nՃٚf  #e9V<0(FfQtn&Ra0=Dֱ@.Lh 3U硘~8DixkȈ+:8,u%%g\t[΅zٷ$>/h ab#FHi?kE{ Ǘ$m^=lGBZL~wqmZt;p*K޵j$yPۈ96zQM?cŪ݉t 2ںKp,Oi7d)<7zK 9YHOkß&{Z)i)2[@{MΟeORĽ=N1t ۻT|#'ۛ.Z3ht -^{ljPm5֓n"+k^: xq 7m<:ꋑFqbHnVN4ֈ$>Ќ|{ܾITFNQ?x'ү(GQw;Ei`&"ma>kk$wZj YE¸$$7,(N6B컞v"gĮOwE[CQef8 -yfSx! V/<Hk Y59Xpv#gcWk臿'ōU -K~,SdV_#'Z/'5 #{ M̶Xh殶$/^`SE228c VE<}vt4NfDL&e!o*}_8S@})bԧC2'rw@h@C־3o}G8O(.9#,1~x/*)jD.m^f7eŢUPV ٘+n2F[ wGe2*L#L2HԞ7U߬B)ߖ+Iр޳85TԬ3ktwp ]g'Tr174nr@0\˞4O 5$loMIn]]9+!{_g:u6XeGBܶwU36[mf IFyL:\8=M_fcg:~0<⾣)B :oG?̮GK{?Kz13Z-/U&ChSOT]t {0TD<<$ \|b¥HyE,֚^3FLr?J|׊8*ylY9AE=̻ik㜈p}̂IpA<5'J;s.{~Qs.Sqg$^kRk= =ug }QZu7D3u2(% *՛^Os4خBXn.WoPg~K/C8I%k.~2:(SINUbvX&{+~/ڔ쁦Y`VƄ0E\!  CZ&A3\? ts1L6+/fdr&g l#~t|?nƛ9D`KY$I][LfdaqS=ƾIUn8cfπ)0n'3bM7Hgh@?ovU`,έ%4N!B57 B>b¶wZe+L} pe@V'j0QQy.|0?aȌ~678:b"ݻRUSgHA8X ]37"uO*V2T/ B,Q:@C2 Ʋ!>N>%s/q=ske>Dz˄d׺D4a'-ʅ0`"30%Q5\6Zju% 0U1O/bkR -}GZChGxnLl7wʃn>BA]a讜5&Z<kD61tӂ DT3QnF ]g[fԬ -0+(ǂԶX@-: -IF}w.!>5+=sdq63JudljrP&:#@yɹTJ6y Ay,[flyN;e#Y/4)DvhƻT;/Pxq_ }tɶUCYbN.s0J:~44(wyBq-`ʄo |3i٬COqa~u'GB,vq6e+'ԅ8Ҷ Y}37ڋqB{FSKυD*q -ibƛ}S°ٷ*WYvX6>aOeyXR&sFj>m kb۩`4LV PYxڎ(b?N*ʾXcLS$SҶ#P2E=AՒ=3ewTV@ɰ3 kTvXT z]nK?̩baqґG%U +45hL#q:4pP?g |GJSn^i26M Ęz0. v31껰xCj 7}0a `~iEfÎ}O>&*gϿ60CL͘sc·^X0IF +3yP.wP=vH?tx??jKvcJ ފO(WfnYc+ՈuMWkSMpy2La }gH,HA ngVU4NN7ree|JriL>2ڵ iA% $?;j.} Հ؛6C(!Qx͵u'2!W 4qҋtlp˵<ƶ&ZfjU@~x2ec< N#ٮS]oQ_ys_P-G5Ϥz̶ãHTNa{{J`97@loS(pV_$whC-ek+^!$%c8 LI]O8“lk;EvL*IUz‚&){ cT׫}#0RXi:jP{?)M3ߩ#jyB%ΐGjE!-|맷 F[E;R2a{J>ԺFT#,`3Q&۝$nv)1[&EûU p٢]diU +"zan`t┰n^msw撪,q&OqDw99iQ P,Gea=@Œ,4G> w#RH a3ߪ@xG lJ΢1^ (5[9!;Iޥ +bYqP/XGu7 C\Df6r9-%I9賶֦z\{đzk$۴v z*&@m8-soTXA]2i_mٳ RA2If=X́F.Z,'I&r&TȵJ.0G^J rp^Պ 'PS'gEҵƕݩo_mU?F TT(KwyIe_Tjae.f2<=ܾPDBt9>W*+'Z$,!V:~_qҘǴe)zNҜsJQO{t4DnDgfQD!axT|8/?w>[~A0&"{]] rdTygn3o&ڟ`~%cߓjԛw ף!2̵VEt/Q|#d"1UTIvnsz?wz/X Ɨ]+zWY\l&u%ӊEp}zOrMeHӢ[7-` ;k>D?I Xc~8BDeG\"~^ +r U@Q%{rqv.Dn UBNӌ\v@Qy$&>揙/io$Y.c<W>k]؄2$0I`+hۏt:ujD>Bsb%Φ`i JPբ(W:)_z"-ySV֒a]I2 c ݨo;zDGhR?6 4s%Et?4Rb% jʑ*2b}ɕDF]UqjBFE`t +ZPXi$ +efضc։+=9 $sT(Ip,rB0~f2ߣԥ.D\-koeڟX~6KVL:R,6\s!KDR9}AU딯1qP;}R=.#LNQjqnWߒ M]eE*I'3{%B($\1xL[ Yj $ѐWe +*b?M:ސƅi_2xݍKx+5VH=O\oݲS#uN;A,@j1UO pʪLxw\pi\a%h~#R݄ +FzX6UcX UQv$1O^VJ߃zpOl ؉_ +2~^@Zu8za$M0êP1&\h\ 5Xz."#"yAeY^C&Hqؽ^}ƽ^eB1gХpξ32Wh~-cP<᳋Ni/ֻGjt-]w1}gr28ƑT⫂Sogy80 Λxǝ(`\Gyį#-߶1bN.f"h ǀ>rBu _!VD~%O5EkdaaY@{PPnzhh鴆8|XO4 SrHN>еB\w{Ɂ0%oNd PM+@y[2|N4Q%$jBOP};SMT +ľ3 d]ۊ@+h5.d /_UvG#|d&LH4 5t ?Biyv ڏu>4HV@>VĉpO>6Nh˙Ѝ+Yo>O*%=M*fcvi[T/vz3ĿȲ.wѤb>Ńآ 2IW,'h: AO|_`/ ~P '-ξl%~ovh4xHjܗzŪ*դLZ>JPT$A1cR]zҜl~N+@m$6yH(x f~àuJ0a.ĂYiW3KzYpam1X,|8lVC Q d|ee._v7' dd%a!53*bx^SMD~6jz㉃}Xr4kgٚ. }.%p/N -:$tM.#90j[+VBj+N8i2mEQmԴVE M𧅙r7S-13R`F S[$fAJdIo^udaI'}b (uѨSzLTW?6ln|4v%N hZY%>aGųb*P&(F'`}r?7P|K+`hg#b`W ^jZ8 ~ BE[h< 1 k"fHq9*L~ҏZfsV%)|w$'R%$eASϊ2ey1 +x_F +Jvg17)67IC%4) +?=# u!Nt%uY!A#} KYKMAǶkC,qDɻbN|QL_Xe8|mZҁz/jH&< qd,I/{<WkgVtsx:̢kcb- 櫲 ;"{հ2s>xhÉK@B.GqZN#/p'F8҄ak>xj-֝Ub>FKs+r#4F@@ܳʔ_Ȼ+Lqv*hBLK_H,2W߁vY @|d_c)!: eX D 'n-y[lDE?Kl&x˙QUH.gXx_KXUyZߦ 6r endstream endobj -533 0 obj << +534 0 obj << /Type /FontDescriptor -/FontName /WJKWIK+CMR12 +/FontName /ZTRAPY+CMR12 /Flags 4 /FontBBox [-34 -251 988 750] /Ascent 694 @@ -6383,10 +6407,10 @@ endobj /ItalicAngle 0 /StemV 65 /XHeight 431 -/CharSet (/A/C/I/J/N/R/S/T/U/V/a/b/c/colon/comma/d/e/f/four/g/hyphen/i/l/m/n/o/one/p/period/quotedblleft/quotedblright/r/s/t/three/two/u/v/w/y/zero) -/FontFile 532 0 R +/CharSet (/A/C/I/N/O/R/S/T/U/V/a/c/colon/comma/d/e/f/five/g/hyphen/i/l/m/n/o/one/p/period/quotedblleft/quotedblright/r/s/t/two/v/w/y/zero) +/FontFile 533 0 R >> endobj -534 0 obj << +535 0 obj << /Length1 752 /Length2 1167 /Length3 0 @@ -6425,7 +6449,7 @@ _2 ias1 +'_m 'd,]X{&41Y9HY_\*2|$g}/M#9]rZRa^3cs!7烬yD6$1/nh endstream endobj -535 0 obj << +536 0 obj << /Type /FontDescriptor /FontName /TQVOAL+CMR7 /Flags 4 @@ -6437,9 +6461,9 @@ endobj /StemV 79 /XHeight 431 /CharSet (/one/plus) -/FontFile 534 0 R +/FontFile 535 0 R >> endobj -536 0 obj << +537 0 obj << /Length1 786 /Length2 1479 /Length3 0 @@ -6483,7 +6507,7 @@ Df 9cO `+m.f)KZҜ/ȫMf?PG,|Ϲq-Zy#nbly@Jnz2GE]=̤+&@<~h'u &B3+*/h:,uv޽GCb-ĈizzeԠ=˻iK_xjx%ZUL1(Se]/^ǝ ama[ ‘a`TQ)|FNj+mC[P+> endobj -538 0 obj << +539 0 obj << /Length1 1016 /Length2 2355 /Length3 0 @@ -6554,7 +6578,7 @@ oS 6ٜ[A#=MdP'V\'C E4 9\d{$eMqvbN6իpE$3cʝpR]Z<t*!'ě4a{K ?JeRraΝ&>6.ɯ*]#O0^N+k]1<ÐŮ*g5]_$9^6oMdGj endstream endobj -539 0 obj << +540 0 obj << /Type /FontDescriptor /FontName /WYYAGH+CMSY10 /Flags 4 @@ -6566,9 +6590,9 @@ endobj /StemV 85 /XHeight 431 /CharSet (/Rfractur/backslash/bar/braceleft/braceright/bullet/element/greaterequal/minus/negationslash/propersubset/propersuperset/union) -/FontFile 538 0 R +/FontFile 539 0 R >> endobj -540 0 obj << +541 0 obj << /Length1 745 /Length2 581 /Length3 0 @@ -6603,7 +6627,7 @@ currentfile eexec AȜ;k5,4Cof^^ "XWeBL'>@{.'b[>PP.DW,={ #VX6nzT`qN&=`~+GH c%=TF{v/҄fwsj j-${fwkxze4G$JB%p"&g4BW[x-n)ǡ~('?CE-QeSO9sY=`lz%i$/neu*TVyBܡ mM/|8ySx{+˄sߨ39Ӟ:QXE':c *ȝ?/vwC'kH endstream endobj -541 0 obj << +542 0 obj << /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 @@ -6615,9 +6639,9 @@ endobj /StemV 93 /XHeight 431 /CharSet (/minus) -/FontFile 540 0 R +/FontFile 541 0 R >> endobj -542 0 obj << +543 0 obj << /Length1 765 /Length2 745 /Length3 0 @@ -6652,7 +6676,7 @@ currentfile eexec oc;j~EЪ/ ȭX~id}S5Q!gtⵎkJc;rN^X5.Sy +'IqV:r㚉#,# dBZ *R*"7٨y! [R߻*|]~[C֨a[#ԙ jY!4J"3&ejc\J$2626wIaUIrnFB/Г(Hp%#O.,snݸt%\b9?_\ <+n6rBPYԥ Tlp4űI=+rp% !<'y1# 0wyr(X|X> endobj -544 0 obj << +545 0 obj << /Length1 1724 /Length2 14199 /Length3 0 @@ -6829,7 +6853,7 @@ Z| C3 endstream endobj -545 0 obj << +546 0 obj << /Type /FontDescriptor /FontName /PJRLOW+CMTI10 /Flags 4 @@ -6841,9 +6865,9 @@ endobj /StemV 68 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/T/U/V/W/a/b/c/colon/comma/d/e/eight/f/ff/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/t/three/two/u/v/w/x/y/z/zero) -/FontFile 544 0 R +/FontFile 545 0 R >> endobj -546 0 obj << +547 0 obj << /Length1 1144 /Length2 6097 /Length3 0 @@ -6926,7 +6950,7 @@ Y| GD+Y|jXGf- ZSRs ū qv[b=ornLRD7o0n*X<rS ^'N`8i$)o/["84Yacqn T2>Nԩ9 ȨەDsc endstream endobj -547 0 obj << +548 0 obj << /Type /FontDescriptor /FontName /BABWJL+CMTI12 /Flags 4 @@ -6938,9 +6962,9 @@ endobj /StemV 63 /XHeight 431 /CharSet (/A/B/D/L/M/P/S/a/b/c/d/e/f/g/h/hyphen/i/k/l/m/n/o/p/r/s/t/u/v) -/FontFile 546 0 R +/FontFile 547 0 R >> endobj -548 0 obj << +549 0 obj << /Length1 2140 /Length2 13849 /Length3 0 @@ -7109,7 +7133,7 @@ r t+\dU endstream endobj -549 0 obj << +550 0 obj << /Type /FontDescriptor /FontName /EXISZL+CMTT10 /Flags 4 @@ -7121,230 +7145,230 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asciitilde/asterisk/at/b/backslash/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/slash/t/three/two/u/underscore/v/w/x/y/z/zero) -/FontFile 548 0 R +/FontFile 549 0 R >> endobj 158 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /SNDFJH+CMBX10 -/FontDescriptor 515 0 R +/BaseFont /JVXWMJ+CMBX10 +/FontDescriptor 516 0 R /FirstChar 12 /LastChar 119 -/Widths 508 0 R +/Widths 509 0 R >> endobj 111 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VZSPNB+CMBX12 -/FontDescriptor 517 0 R +/FontDescriptor 518 0 R /FirstChar 12 /LastChar 122 -/Widths 513 0 R +/Widths 514 0 R >> endobj 124 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /EZCVYY+CMCSC10 -/FontDescriptor 519 0 R +/BaseFont /WARYBH+CMCSC10 +/FontDescriptor 520 0 R /FirstChar 39 /LastChar 121 -/Widths 509 0 R +/Widths 510 0 R >> endobj -274 0 obj << +281 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QZSJAN+CMEX10 -/FontDescriptor 521 0 R +/FontDescriptor 522 0 R /FirstChar 0 /LastChar 112 -/Widths 499 0 R +/Widths 500 0 R >> endobj 176 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SQUASS+CMMI10 -/FontDescriptor 523 0 R +/FontDescriptor 524 0 R /FirstChar 14 /LastChar 122 -/Widths 506 0 R +/Widths 507 0 R >> endobj -273 0 obj << +280 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OFGSEC+CMMI6 -/FontDescriptor 525 0 R +/FontDescriptor 526 0 R /FirstChar 14 /LastChar 105 -/Widths 500 0 R +/Widths 501 0 R >> endobj -315 0 obj << +322 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CFAIUE+CMMI7 -/FontDescriptor 527 0 R +/FontDescriptor 528 0 R /FirstChar 84 /LastChar 118 -/Widths 497 0 R +/Widths 498 0 R >> endobj -270 0 obj << +277 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VCFHMD+CMMI8 -/FontDescriptor 529 0 R +/FontDescriptor 530 0 R /FirstChar 14 /LastChar 115 -/Widths 503 0 R +/Widths 504 0 R >> endobj 123 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KZBLKD+CMR10 -/FontDescriptor 531 0 R +/FontDescriptor 532 0 R /FirstChar 11 /LastChar 127 -/Widths 510 0 R +/Widths 511 0 R >> endobj 113 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /WJKWIK+CMR12 -/FontDescriptor 533 0 R +/BaseFont /ZTRAPY+CMR12 +/FontDescriptor 534 0 R /FirstChar 34 /LastChar 121 -/Widths 511 0 R +/Widths 512 0 R >> endobj -314 0 obj << +321 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TQVOAL+CMR7 -/FontDescriptor 535 0 R +/FontDescriptor 536 0 R /FirstChar 43 /LastChar 49 -/Widths 498 0 R +/Widths 499 0 R >> endobj -272 0 obj << +279 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CGCFOU+CMR8 -/FontDescriptor 537 0 R +/FontDescriptor 538 0 R /FirstChar 48 /LastChar 61 -/Widths 501 0 R +/Widths 502 0 R >> endobj 177 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WYYAGH+CMSY10 -/FontDescriptor 539 0 R +/FontDescriptor 540 0 R /FirstChar 0 /LastChar 110 -/Widths 505 0 R +/Widths 506 0 R >> endobj -316 0 obj << +323 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 -/FontDescriptor 541 0 R +/FontDescriptor 542 0 R /FirstChar 0 /LastChar 0 -/Widths 496 0 R +/Widths 497 0 R >> endobj -271 0 obj << +278 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VOEFGO+CMSY8 -/FontDescriptor 543 0 R +/FontDescriptor 544 0 R /FirstChar 0 /LastChar 2 -/Widths 502 0 R +/Widths 503 0 R >> endobj 174 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PJRLOW+CMTI10 -/FontDescriptor 545 0 R +/FontDescriptor 546 0 R /FirstChar 11 /LastChar 122 -/Widths 507 0 R +/Widths 508 0 R >> endobj 112 0 obj << /Type /Font /Subtype /Type1 /BaseFont /BABWJL+CMTI12 -/FontDescriptor 547 0 R +/FontDescriptor 548 0 R /FirstChar 45 /LastChar 118 -/Widths 512 0 R +/Widths 513 0 R >> endobj 202 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EXISZL+CMTT10 -/FontDescriptor 549 0 R +/FontDescriptor 550 0 R /FirstChar 33 /LastChar 126 -/Widths 504 0 R +/Widths 505 0 R >> endobj 114 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R +/Parent 551 0 R /Kids [106 0 R 116 0 R 120 0 R 126 0 R 154 0 R 160 0 R] >> endobj 178 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R -/Kids [172 0 R 194 0 R 199 0 R 212 0 R 223 0 R 228 0 R] +/Parent 551 0 R +/Kids [172 0 R 194 0 R 199 0 R 212 0 R 224 0 R 230 0 R] >> endobj -236 0 obj << +238 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R -/Kids [233 0 R 238 0 R 249 0 R 267 0 R 289 0 R 300 0 R] +/Parent 551 0 R +/Kids [235 0 R 240 0 R 245 0 R 255 0 R 274 0 R 295 0 R] >> endobj -320 0 obj << +310 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R -/Kids [311 0 R 325 0 R 345 0 R 362 0 R 377 0 R 384 0 R] +/Parent 551 0 R +/Kids [307 0 R 318 0 R 332 0 R 351 0 R 369 0 R 383 0 R] >> endobj -392 0 obj << +394 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R -/Kids [389 0 R 395 0 R 402 0 R 411 0 R 419 0 R 427 0 R] +/Parent 551 0 R +/Kids [391 0 R 396 0 R 402 0 R 408 0 R 418 0 R 425 0 R] >> endobj -436 0 obj << +437 0 obj << /Type /Pages /Count 6 -/Parent 550 0 R -/Kids [432 0 R 438 0 R 444 0 R 451 0 R 457 0 R 462 0 R] +/Parent 551 0 R +/Kids [434 0 R 439 0 R 445 0 R 450 0 R 458 0 R 463 0 R] >> endobj -471 0 obj << +472 0 obj << /Type /Pages /Count 6 -/Parent 551 0 R -/Kids [468 0 R 474 0 R 479 0 R 483 0 R 487 0 R 491 0 R] +/Parent 552 0 R +/Kids [469 0 R 475 0 R 481 0 R 485 0 R 489 0 R 493 0 R] >> endobj -550 0 obj << +551 0 obj << /Type /Pages /Count 36 -/Parent 552 0 R -/Kids [114 0 R 178 0 R 236 0 R 320 0 R 392 0 R 436 0 R] +/Parent 553 0 R +/Kids [114 0 R 178 0 R 238 0 R 310 0 R 394 0 R 437 0 R] >> endobj -551 0 obj << +552 0 obj << /Type /Pages /Count 6 -/Parent 552 0 R -/Kids [471 0 R] +/Parent 553 0 R +/Kids [472 0 R] >> endobj -552 0 obj << +553 0 obj << /Type /Pages /Count 42 -/Kids [550 0 R 551 0 R] +/Kids [551 0 R 552 0 R] >> endobj -553 0 obj << +554 0 obj << /Type /Outlines /First 7 0 R /Last 7 0 R @@ -7523,723 +7547,724 @@ endobj 7 0 obj << /Title 8 0 R /A 5 0 R -/Parent 553 0 R +/Parent 554 0 R /First 11 0 R /Last 103 0 R /Count -10 >> endobj -554 0 obj << -/Names [(Doc-Start) 110 0 R (Item.1) 275 0 R (Item.10) 351 0 R (Item.11) 352 0 R (Item.12) 353 0 R (Item.13) 422 0 R] +555 0 obj << +/Names [(Doc-Start) 110 0 R (Item.1) 282 0 R (Item.10) 357 0 R (Item.11) 358 0 R (Item.12) 359 0 R (Item.13) 428 0 R] /Limits [(Doc-Start) (Item.13)] >> endobj -555 0 obj << -/Names [(Item.14) 423 0 R (Item.15) 424 0 R (Item.16) 425 0 R (Item.2) 276 0 R (Item.3) 277 0 R (Item.4) 317 0 R] +556 0 obj << +/Names [(Item.14) 429 0 R (Item.15) 430 0 R (Item.16) 431 0 R (Item.2) 283 0 R (Item.3) 284 0 R (Item.4) 324 0 R] /Limits [(Item.14) (Item.4)] >> endobj -556 0 obj << -/Names [(Item.5) 318 0 R (Item.6) 319 0 R (Item.7) 348 0 R (Item.8) 349 0 R (Item.9) 350 0 R (appendix.A) 98 0 R] +557 0 obj << +/Names [(Item.5) 325 0 R (Item.6) 326 0 R (Item.7) 354 0 R (Item.8) 355 0 R (Item.9) 356 0 R (appendix.A) 98 0 R] /Limits [(Item.5) (appendix.A)] >> endobj -557 0 obj << -/Names [(cite.BLACS) 494 0 R (cite.BREZINA_VANEK) 180 0 R (cite.CAI_SARKIS) 292 0 R (cite.Cai_Widlund_92) 252 0 R (cite.EFSTATHIOU) 293 0 R (cite.MLD2P4_TOMS) 283 0 R] +558 0 obj << +/Names [(cite.BLACS) 496 0 R (cite.BREZINA_VANEK) 180 0 R (cite.CAI_SARKIS) 298 0 R (cite.Cai_Widlund_92) 258 0 R (cite.EFSTATHIOU) 299 0 R (cite.MLD2P4_TOMS) 290 0 R] /Limits [(cite.BLACS) (cite.MLD2P4_TOMS)] >> endobj -558 0 obj << -/Names [(cite.MPI1) 185 0 R (cite.MPI2) 218 0 R (cite.PSBLAS3) 183 0 R (cite.PSBLASGUIDE) 184 0 R (cite.SUPERLU) 226 0 R (cite.SUPERLUDIST) 495 0 R] +559 0 obj << +/Names [(cite.MPI1) 185 0 R (cite.MPI2) 218 0 R (cite.PSBLAS3) 183 0 R (cite.PSBLASGUIDE) 184 0 R (cite.SUPERLU) 227 0 R (cite.SUPERLUDIST) 228 0 R] /Limits [(cite.MPI1) (cite.SUPERLUDIST)] >> endobj -559 0 obj << -/Names [(cite.Saad_book) 284 0 R (cite.StubenGMD69_99) 278 0 R (cite.TUMINARO_TONG) 279 0 R (cite.UMFPACK) 219 0 R (cite.VANEK_MANDEL_BREZINA) 181 0 R (cite.aaecc_07) 281 0 R] +560 0 obj << +/Names [(cite.Saad_book) 291 0 R (cite.StubenGMD69_99) 285 0 R (cite.TUMINARO_TONG) 286 0 R (cite.UMFPACK) 219 0 R (cite.VANEK_MANDEL_BREZINA) 181 0 R (cite.aaecc_07) 288 0 R] /Limits [(cite.Saad_book) (cite.aaecc_07)] >> endobj -560 0 obj << -/Names [(cite.apnum_07) 282 0 R (cite.blas1) 217 0 R (cite.blas2) 216 0 R (cite.blas3) 215 0 R (cite.dd1_94) 253 0 R (cite.dd2_96) 179 0 R] +561 0 obj << +/Names [(cite.apnum_07) 289 0 R (cite.blas1) 217 0 R (cite.blas2) 216 0 R (cite.blas3) 215 0 R (cite.dd1_94) 259 0 R (cite.dd2_96) 179 0 R] /Limits [(cite.apnum_07) (cite.dd2_96)] >> endobj -561 0 obj << -/Names [(cite.para_04) 280 0 R (cite.psblas_00) 182 0 R (equation.1) 175 0 R (equation.2) 328 0 R (equation.3) 329 0 R (equation.4) 330 0 R] +562 0 obj << +/Names [(cite.para_04) 287 0 R (cite.psblas_00) 182 0 R (equation.1) 175 0 R (equation.2) 335 0 R (equation.3) 336 0 R (equation.4) 337 0 R] /Limits [(cite.para_04) (equation.4)] >> endobj -562 0 obj << -/Names [(figure.1) 303 0 R (figure.2) 365 0 R (figure.3) 380 0 R (figure.4) 381 0 R (figure.5) 382 0 R (page.1) 109 0 R] +563 0 obj << +/Names [(figure.1) 311 0 R (figure.2) 372 0 R (figure.3) 386 0 R (figure.4) 387 0 R (figure.5) 388 0 R (page.1) 109 0 R] /Limits [(figure.1) (page.1)] >> endobj -563 0 obj << -/Names [(page.10) 269 0 R (page.11) 291 0 R (page.12) 302 0 R (page.13) 313 0 R (page.14) 327 0 R (page.15) 347 0 R] +564 0 obj << +/Names [(page.10) 257 0 R (page.11) 276 0 R (page.12) 297 0 R (page.13) 309 0 R (page.14) 320 0 R (page.15) 334 0 R] /Limits [(page.10) (page.15)] >> endobj -564 0 obj << -/Names [(page.16) 364 0 R (page.17) 379 0 R (page.18) 386 0 R (page.19) 391 0 R (page.2) 118 0 R (page.20) 397 0 R] +565 0 obj << +/Names [(page.16) 353 0 R (page.17) 371 0 R (page.18) 385 0 R (page.19) 393 0 R (page.2) 118 0 R (page.20) 398 0 R] /Limits [(page.16) (page.20)] >> endobj -565 0 obj << -/Names [(page.21) 404 0 R (page.22) 413 0 R (page.23) 421 0 R (page.24) 429 0 R (page.25) 434 0 R (page.26) 440 0 R] +566 0 obj << +/Names [(page.21) 404 0 R (page.22) 410 0 R (page.23) 420 0 R (page.24) 427 0 R (page.25) 436 0 R (page.26) 441 0 R] /Limits [(page.21) (page.26)] >> endobj -566 0 obj << -/Names [(page.27) 446 0 R (page.28) 453 0 R (page.29) 459 0 R (page.3) 201 0 R (page.30) 464 0 R (page.31) 470 0 R] +567 0 obj << +/Names [(page.27) 447 0 R (page.28) 452 0 R (page.29) 460 0 R (page.3) 201 0 R (page.30) 465 0 R (page.31) 471 0 R] /Limits [(page.27) (page.31)] >> endobj -567 0 obj << -/Names [(page.32) 476 0 R (page.33) 481 0 R (page.34) 485 0 R (page.35) 489 0 R (page.36) 493 0 R (page.4) 214 0 R] +568 0 obj << +/Names [(page.32) 477 0 R (page.33) 483 0 R (page.34) 487 0 R (page.35) 491 0 R (page.36) 495 0 R (page.4) 214 0 R] /Limits [(page.32) (page.4)] >> endobj -568 0 obj << -/Names [(page.5) 225 0 R (page.6) 230 0 R (page.7) 235 0 R (page.8) 240 0 R (page.9) 251 0 R (page.i) 122 0 R] +569 0 obj << +/Names [(page.5) 226 0 R (page.6) 232 0 R (page.7) 237 0 R (page.8) 242 0 R (page.9) 247 0 R (page.i) 122 0 R] /Limits [(page.5) (page.i)] >> endobj -569 0 obj << +570 0 obj << /Names [(page.ii) 128 0 R (page.iii) 156 0 R (page.iv) 162 0 R (section*.1) 10 0 R (section*.2) 157 0 R (section*.3) 102 0 R] /Limits [(page.ii) (section*.3)] >> endobj -570 0 obj << +571 0 obj << /Names [(section.1) 14 0 R (section.2) 18 0 R (section.3) 22 0 R (section.4) 46 0 R (section.5) 58 0 R (section.6) 66 0 R] /Limits [(section.1) (section.6)] >> endobj -571 0 obj << +572 0 obj << /Names [(section.7) 94 0 R (subsection.3.1) 26 0 R (subsection.3.2) 30 0 R (subsection.3.3) 34 0 R (subsection.3.4) 38 0 R (subsection.3.5) 42 0 R] /Limits [(section.7) (subsection.3.5)] >> endobj -572 0 obj << +573 0 obj << /Names [(subsection.4.1) 50 0 R (subsection.4.2) 54 0 R (subsection.5.1) 62 0 R (subsection.6.1) 70 0 R (subsection.6.2) 74 0 R (subsection.6.3) 78 0 R] /Limits [(subsection.4.1) (subsection.6.3)] >> endobj -573 0 obj << -/Names [(subsection.6.4) 82 0 R (subsection.6.5) 86 0 R (subsection.6.6) 90 0 R (table.1) 354 0 R (table.2) 355 0 R (table.3) 435 0 R] -/Limits [(subsection.6.4) (table.3)] ->> endobj 574 0 obj << -/Names [(table.4) 441 0 R (table.5) 356 0 R (title.0) 6 0 R] -/Limits [(table.4) (title.0)] +/Names [(subsection.6.4) 82 0 R (subsection.6.5) 86 0 R (subsection.6.6) 90 0 R (table.1) 360 0 R (table.2) 361 0 R (table.3) 442 0 R] +/Limits [(subsection.6.4) (table.3)] >> endobj 575 0 obj << -/Kids [554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R] -/Limits [(Doc-Start) (cite.aaecc_07)] +/Names [(table.4) 448 0 R (table.5) 362 0 R (title.0) 6 0 R] +/Limits [(table.4) (title.0)] >> endobj 576 0 obj << -/Kids [560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R] -/Limits [(cite.apnum_07) (page.26)] +/Kids [555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R] +/Limits [(Doc-Start) (cite.aaecc_07)] >> endobj 577 0 obj << -/Kids [566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R] -/Limits [(page.27) (subsection.3.5)] +/Kids [561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R] +/Limits [(cite.apnum_07) (page.26)] >> endobj 578 0 obj << -/Kids [572 0 R 573 0 R 574 0 R] -/Limits [(subsection.4.1) (title.0)] +/Kids [567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R] +/Limits [(page.27) (subsection.3.5)] >> endobj 579 0 obj << -/Kids [575 0 R 576 0 R 577 0 R 578 0 R] -/Limits [(Doc-Start) (title.0)] +/Kids [573 0 R 574 0 R 575 0 R] +/Limits [(subsection.4.1) (title.0)] >> endobj 580 0 obj << -/Dests 579 0 R +/Kids [576 0 R 577 0 R 578 0 R 579 0 R] +/Limits [(Doc-Start) (title.0)] >> endobj 581 0 obj << +/Dests 580 0 R +>> endobj +582 0 obj << /Type /Catalog -/Pages 552 0 R -/Outlines 553 0 R -/Names 580 0 R +/Pages 553 0 R +/Outlines 554 0 R +/Names 581 0 R /PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 2 << /S /r >> 6 << /S /D >> ] >> /OpenAction 105 0 R >> endobj -582 0 obj << +583 0 obj << /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.0) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords() -/CreationDate (D:20130621175654+02'00') -/ModDate (D:20130621175654+02'00') +/CreationDate (D:20151014164028+02'00') +/ModDate (D:20151014164028+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) >> endobj xref -0 583 +0 584 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000000 00000 f 0000000015 00000 n -0000003834 00000 n -0000432539 00000 n +0000003823 00000 n +0000434760 00000 n 0000000058 00000 n 0000000109 00000 n -0000008264 00000 n -0000432467 00000 n +0000008253 00000 n +0000434688 00000 n 0000000155 00000 n 0000000182 00000 n -0000029578 00000 n -0000432381 00000 n +0000029568 00000 n +0000434602 00000 n 0000000228 00000 n 0000000265 00000 n -0000038068 00000 n -0000432295 00000 n +0000038058 00000 n +0000434516 00000 n 0000000311 00000 n 0000000349 00000 n -0000046433 00000 n -0000432172 00000 n +0000046364 00000 n +0000434393 00000 n 0000000395 00000 n 0000000447 00000 n -0000046491 00000 n -0000432098 00000 n +0000046422 00000 n +0000434319 00000 n 0000000498 00000 n 0000000534 00000 n -0000046549 00000 n -0000432011 00000 n +0000046480 00000 n +0000434232 00000 n 0000000585 00000 n 0000000638 00000 n -0000052026 00000 n -0000431924 00000 n +0000052548 00000 n +0000434145 00000 n 0000000689 00000 n 0000000733 00000 n -0000065055 00000 n -0000431837 00000 n +0000065950 00000 n +0000434058 00000 n 0000000784 00000 n 0000000820 00000 n -0000065113 00000 n -0000431763 00000 n +0000066008 00000 n +0000433984 00000 n 0000000871 00000 n 0000000919 00000 n -0000074695 00000 n -0000431640 00000 n +0000077354 00000 n +0000433861 00000 n 0000000965 00000 n 0000001029 00000 n -0000091766 00000 n -0000431566 00000 n +0000094618 00000 n +0000433787 00000 n 0000001080 00000 n 0000001138 00000 n -0000119715 00000 n -0000431492 00000 n +0000122592 00000 n +0000433713 00000 n 0000001189 00000 n 0000001232 00000 n -0000147884 00000 n -0000431369 00000 n +0000150520 00000 n +0000433590 00000 n 0000001278 00000 n 0000001314 00000 n -0000158612 00000 n -0000431308 00000 n +0000161437 00000 n +0000433529 00000 n 0000001365 00000 n 0000001396 00000 n -0000181808 00000 n -0000431185 00000 n +0000184663 00000 n +0000433406 00000 n 0000001442 00000 n 0000001477 00000 n -0000185855 00000 n -0000431111 00000 n +0000188561 00000 n +0000433332 00000 n 0000001528 00000 n 0000001577 00000 n -0000193620 00000 n -0000431024 00000 n +0000196521 00000 n +0000433245 00000 n 0000001628 00000 n 0000001676 00000 n -0000242303 00000 n -0000430937 00000 n +0000245288 00000 n +0000433158 00000 n 0000001727 00000 n 0000001775 00000 n -0000252116 00000 n -0000430850 00000 n +0000254974 00000 n +0000433071 00000 n 0000001826 00000 n 0000001875 00000 n -0000254336 00000 n -0000430763 00000 n +0000257340 00000 n +0000432984 00000 n 0000001926 00000 n 0000001975 00000 n -0000257346 00000 n -0000430689 00000 n +0000260202 00000 n +0000432910 00000 n 0000002026 00000 n 0000002076 00000 n -0000259749 00000 n -0000430603 00000 n +0000262763 00000 n +0000432824 00000 n 0000002122 00000 n 0000002157 00000 n -0000264305 00000 n -0000430515 00000 n +0000267164 00000 n +0000432736 00000 n 0000002204 00000 n 0000002233 00000 n -0000271892 00000 n -0000430439 00000 n +0000274255 00000 n +0000432660 00000 n 0000002281 00000 n 0000002311 00000 n -0000003597 00000 n -0000003891 00000 n +0000003586 00000 n +0000003880 00000 n 0000002363 00000 n -0000003716 00000 n -0000003775 00000 n -0000426854 00000 n -0000428994 00000 n -0000428002 00000 n -0000429282 00000 n -0000004258 00000 n -0000004080 00000 n -0000003989 00000 n -0000004199 00000 n -0000008322 00000 n -0000008086 00000 n -0000004299 00000 n -0000008205 00000 n -0000427859 00000 n -0000426998 00000 n -0000008736 00000 n -0000008558 00000 n -0000008420 00000 n -0000008677 00000 n -0000015628 00000 n -0000015779 00000 n -0000015930 00000 n -0000016081 00000 n -0000016232 00000 n -0000016389 00000 n -0000016546 00000 n -0000016703 00000 n -0000016859 00000 n -0000017015 00000 n -0000017166 00000 n -0000017323 00000 n -0000017480 00000 n -0000017631 00000 n -0000017788 00000 n -0000017938 00000 n -0000018095 00000 n -0000018252 00000 n -0000018407 00000 n -0000018562 00000 n -0000018719 00000 n -0000018876 00000 n -0000019027 00000 n -0000019179 00000 n -0000019449 00000 n -0000015305 00000 n -0000008808 00000 n -0000019331 00000 n -0000019390 00000 n -0000426710 00000 n -0000019863 00000 n -0000019685 00000 n -0000019547 00000 n -0000019804 00000 n -0000028473 00000 n -0000028627 00000 n -0000028788 00000 n -0000028956 00000 n -0000029113 00000 n -0000029268 00000 n -0000029426 00000 n -0000028322 00000 n -0000029697 00000 n -0000028127 00000 n -0000019935 00000 n -0000428850 00000 n -0000029636 00000 n -0000427286 00000 n -0000428427 00000 n -0000429399 00000 n -0000280630 00000 n -0000271951 00000 n -0000280866 00000 n -0000280336 00000 n -0000280277 00000 n -0000280218 00000 n -0000280689 00000 n -0000034672 00000 n -0000034824 00000 n -0000034976 00000 n -0000035125 00000 n -0000035277 00000 n -0000035428 00000 n -0000035580 00000 n -0000035732 00000 n -0000034485 00000 n -0000029834 00000 n -0000037856 00000 n -0000037705 00000 n -0000038126 00000 n -0000037558 00000 n -0000035817 00000 n -0000038009 00000 n -0000429138 00000 n -0000045141 00000 n -0000045294 00000 n -0000045447 00000 n -0000045600 00000 n -0000045752 00000 n -0000045904 00000 n -0000046063 00000 n -0000046220 00000 n -0000046607 00000 n -0000044946 00000 n -0000038237 00000 n -0000046374 00000 n -0000272541 00000 n -0000272600 00000 n -0000280453 00000 n -0000280394 00000 n -0000272423 00000 n -0000051813 00000 n -0000051662 00000 n -0000052084 00000 n -0000051515 00000 n -0000046731 00000 n -0000051967 00000 n -0000272482 00000 n -0000056214 00000 n -0000056036 00000 n -0000052221 00000 n -0000056155 00000 n -0000060289 00000 n -0000060499 00000 n -0000060150 00000 n -0000056312 00000 n -0000060440 00000 n -0000429516 00000 n -0000065170 00000 n -0000064877 00000 n -0000060597 00000 n -0000064996 00000 n -0000073861 00000 n -0000074023 00000 n -0000074177 00000 n -0000074331 00000 n -0000074484 00000 n -0000089975 00000 n -0000073710 00000 n -0000074753 00000 n -0000073531 00000 n -0000065281 00000 n -0000074636 00000 n -0000272246 00000 n -0000272305 00000 n -0000090136 00000 n -0000090296 00000 n -0000090461 00000 n -0000090620 00000 n -0000090775 00000 n -0000090930 00000 n -0000091086 00000 n -0000091244 00000 n -0000091398 00000 n -0000091550 00000 n -0000106429 00000 n -0000106586 00000 n -0000092001 00000 n -0000089756 00000 n -0000074864 00000 n -0000091707 00000 n -0000427716 00000 n -0000428710 00000 n -0000428286 00000 n -0000427430 00000 n -0000427143 00000 n -0000091824 00000 n -0000091883 00000 n -0000091942 00000 n -0000280748 00000 n -0000280807 00000 n -0000272010 00000 n -0000272069 00000 n -0000272128 00000 n -0000272364 00000 n -0000280571 00000 n -0000106744 00000 n -0000106898 00000 n -0000106278 00000 n -0000107111 00000 n -0000106107 00000 n -0000092203 00000 n -0000107052 00000 n -0000272187 00000 n -0000280159 00000 n -0000118870 00000 n -0000119023 00000 n -0000119176 00000 n -0000119327 00000 n -0000119488 00000 n -0000119773 00000 n -0000118699 00000 n -0000107300 00000 n -0000119656 00000 n -0000131683 00000 n -0000130829 00000 n -0000130985 00000 n -0000131152 00000 n -0000131308 00000 n -0000131464 00000 n -0000130678 00000 n -0000131921 00000 n -0000130499 00000 n -0000119962 00000 n -0000131624 00000 n -0000428145 00000 n -0000427573 00000 n -0000428570 00000 n -0000131745 00000 n -0000131804 00000 n -0000131863 00000 n -0000429633 00000 n -0000136225 00000 n -0000136386 00000 n -0000136548 00000 n -0000136952 00000 n -0000136070 00000 n -0000132135 00000 n -0000136707 00000 n -0000136766 00000 n -0000136828 00000 n -0000136890 00000 n -0000146447 00000 n -0000146606 00000 n -0000146754 00000 n -0000146909 00000 n -0000147061 00000 n -0000147210 00000 n -0000147360 00000 n -0000147511 00000 n -0000147668 00000 n -0000157729 00000 n -0000157884 00000 n -0000158040 00000 n -0000146296 00000 n -0000148296 00000 n -0000146085 00000 n -0000137141 00000 n -0000147825 00000 n -0000147942 00000 n -0000148001 00000 n -0000148060 00000 n -0000148119 00000 n -0000148178 00000 n -0000148237 00000 n -0000158551 00000 n -0000203836 00000 n -0000238224 00000 n -0000158192 00000 n -0000158342 00000 n -0000166113 00000 n -0000166269 00000 n -0000158669 00000 n -0000157558 00000 n -0000148420 00000 n -0000158492 00000 n -0000171568 00000 n -0000166428 00000 n -0000166579 00000 n -0000166730 00000 n -0000166885 00000 n -0000167035 00000 n -0000167185 00000 n -0000167335 00000 n -0000167486 00000 n -0000167637 00000 n -0000165962 00000 n -0000167846 00000 n -0000165735 00000 n -0000158806 00000 n -0000167787 00000 n -0000175159 00000 n -0000175221 00000 n -0000175283 00000 n -0000171629 00000 n -0000171390 00000 n -0000167944 00000 n -0000171509 00000 n -0000174949 00000 n -0000175345 00000 n -0000174810 00000 n -0000171727 00000 n -0000175100 00000 n -0000429750 00000 n -0000181593 00000 n -0000181866 00000 n -0000181454 00000 n -0000175443 00000 n -0000181749 00000 n -0000185496 00000 n -0000185644 00000 n -0000185345 00000 n -0000185913 00000 n -0000185190 00000 n -0000182042 00000 n -0000185796 00000 n -0000192811 00000 n -0000192960 00000 n -0000193110 00000 n -0000193260 00000 n -0000193410 00000 n -0000193678 00000 n -0000192640 00000 n -0000186037 00000 n -0000193561 00000 n -0000198273 00000 n -0000198421 00000 n -0000198571 00000 n -0000198122 00000 n -0000199018 00000 n -0000197959 00000 n -0000193802 00000 n -0000198723 00000 n -0000198782 00000 n -0000198841 00000 n -0000198900 00000 n -0000198959 00000 n -0000203900 00000 n -0000203658 00000 n -0000199129 00000 n -0000203777 00000 n -0000214173 00000 n -0000214445 00000 n -0000214034 00000 n -0000203998 00000 n -0000214324 00000 n -0000214383 00000 n -0000429867 00000 n -0000226965 00000 n -0000226723 00000 n -0000214582 00000 n -0000226842 00000 n -0000226901 00000 n -0000238014 00000 n -0000238287 00000 n -0000237875 00000 n -0000227128 00000 n -0000238165 00000 n -0000241774 00000 n -0000241933 00000 n -0000242092 00000 n -0000242361 00000 n -0000241619 00000 n -0000238437 00000 n -0000242244 00000 n -0000251906 00000 n -0000251755 00000 n -0000252174 00000 n -0000251608 00000 n -0000242485 00000 n -0000252057 00000 n -0000254125 00000 n -0000254394 00000 n -0000253986 00000 n -0000252350 00000 n -0000254277 00000 n -0000257135 00000 n -0000256984 00000 n -0000257404 00000 n -0000256837 00000 n -0000254518 00000 n -0000257287 00000 n -0000429984 00000 n -0000259531 00000 n -0000259807 00000 n -0000259392 00000 n -0000257528 00000 n -0000259690 00000 n -0000264094 00000 n -0000264363 00000 n -0000263955 00000 n -0000259918 00000 n -0000264246 00000 n -0000264885 00000 n -0000264707 00000 n -0000264474 00000 n -0000264826 00000 n -0000272659 00000 n -0000271714 00000 n -0000264970 00000 n -0000271833 00000 n -0000280925 00000 n -0000279922 00000 n -0000272783 00000 n -0000280041 00000 n -0000280100 00000 n -0000280512 00000 n -0000281036 00000 n -0000281061 00000 n -0000281292 00000 n -0000281351 00000 n -0000282047 00000 n -0000282611 00000 n -0000282714 00000 n -0000282751 00000 n -0000283380 00000 n -0000283775 00000 n -0000284411 00000 n -0000285032 00000 n -0000285701 00000 n -0000286316 00000 n -0000286828 00000 n -0000287472 00000 n -0000287956 00000 n -0000288313 00000 n -0000288954 00000 n -0000300579 00000 n -0000300942 00000 n -0000311214 00000 n -0000311577 00000 n -0000320758 00000 n -0000321097 00000 n -0000324469 00000 n -0000324795 00000 n -0000334559 00000 n -0000334888 00000 n -0000337236 00000 n -0000337464 00000 n -0000340222 00000 n -0000340449 00000 n -0000346432 00000 n -0000346691 00000 n -0000364196 00000 n -0000364766 00000 n -0000373486 00000 n -0000373839 00000 n -0000375856 00000 n -0000376081 00000 n -0000378444 00000 n -0000378679 00000 n -0000382149 00000 n -0000382495 00000 n -0000383918 00000 n -0000384143 00000 n -0000385750 00000 n -0000385984 00000 n -0000402007 00000 n -0000402426 00000 n -0000409766 00000 n -0000410047 00000 n -0000426136 00000 n -0000430101 00000 n -0000430219 00000 n -0000430296 00000 n +0000003705 00000 n +0000003764 00000 n +0000429075 00000 n +0000431215 00000 n +0000430223 00000 n +0000431503 00000 n +0000004247 00000 n +0000004069 00000 n +0000003978 00000 n +0000004188 00000 n +0000008311 00000 n +0000008075 00000 n +0000004288 00000 n +0000008194 00000 n +0000430080 00000 n +0000429219 00000 n +0000008725 00000 n +0000008547 00000 n +0000008409 00000 n +0000008666 00000 n +0000015618 00000 n +0000015769 00000 n +0000015920 00000 n +0000016071 00000 n +0000016222 00000 n +0000016379 00000 n +0000016536 00000 n +0000016693 00000 n +0000016849 00000 n +0000017005 00000 n +0000017156 00000 n +0000017313 00000 n +0000017470 00000 n +0000017621 00000 n +0000017778 00000 n +0000017928 00000 n +0000018085 00000 n +0000018242 00000 n +0000018397 00000 n +0000018552 00000 n +0000018709 00000 n +0000018866 00000 n +0000019017 00000 n +0000019169 00000 n +0000019439 00000 n +0000015295 00000 n +0000008797 00000 n +0000019321 00000 n +0000019380 00000 n +0000428931 00000 n +0000019853 00000 n +0000019675 00000 n +0000019537 00000 n +0000019794 00000 n +0000028463 00000 n +0000028617 00000 n +0000028778 00000 n +0000028946 00000 n +0000029103 00000 n +0000029258 00000 n +0000029416 00000 n +0000028312 00000 n +0000029687 00000 n +0000028117 00000 n +0000019925 00000 n +0000431071 00000 n +0000029626 00000 n +0000429507 00000 n +0000430648 00000 n +0000431620 00000 n +0000282993 00000 n +0000274314 00000 n +0000283229 00000 n +0000282699 00000 n +0000282640 00000 n +0000282581 00000 n +0000283052 00000 n +0000034662 00000 n +0000034814 00000 n +0000034966 00000 n +0000035115 00000 n +0000035267 00000 n +0000035418 00000 n +0000035570 00000 n +0000035722 00000 n +0000034475 00000 n +0000029824 00000 n +0000037846 00000 n +0000037695 00000 n +0000038116 00000 n +0000037548 00000 n +0000035807 00000 n +0000037999 00000 n +0000431359 00000 n +0000045072 00000 n +0000045225 00000 n +0000045378 00000 n +0000045531 00000 n +0000045683 00000 n +0000045835 00000 n +0000045994 00000 n +0000046151 00000 n +0000046538 00000 n +0000044877 00000 n +0000038227 00000 n +0000046305 00000 n +0000274904 00000 n +0000274963 00000 n +0000282816 00000 n +0000282757 00000 n +0000274786 00000 n +0000052176 00000 n +0000052330 00000 n +0000052025 00000 n +0000052606 00000 n +0000051870 00000 n +0000046662 00000 n +0000052489 00000 n +0000274845 00000 n +0000282875 00000 n +0000056705 00000 n +0000056527 00000 n +0000052743 00000 n +0000056646 00000 n +0000060625 00000 n +0000060835 00000 n +0000060486 00000 n +0000056803 00000 n +0000060776 00000 n +0000431737 00000 n +0000066066 00000 n +0000065772 00000 n +0000060933 00000 n +0000065891 00000 n +0000067835 00000 n +0000068045 00000 n +0000067696 00000 n +0000066177 00000 n +0000067986 00000 n +0000076521 00000 n +0000076683 00000 n +0000076836 00000 n +0000076990 00000 n +0000077143 00000 n +0000092827 00000 n +0000077412 00000 n +0000076350 00000 n +0000068143 00000 n +0000077295 00000 n +0000274609 00000 n +0000274668 00000 n +0000092988 00000 n +0000093148 00000 n +0000093313 00000 n +0000093472 00000 n +0000093627 00000 n +0000093782 00000 n +0000093938 00000 n +0000094096 00000 n +0000094250 00000 n +0000094402 00000 n +0000109115 00000 n +0000109272 00000 n +0000092676 00000 n +0000094853 00000 n +0000092449 00000 n +0000077523 00000 n +0000094559 00000 n +0000429937 00000 n +0000430931 00000 n +0000430507 00000 n +0000429651 00000 n +0000429364 00000 n +0000094676 00000 n +0000094735 00000 n +0000094794 00000 n +0000283111 00000 n +0000283170 00000 n +0000274373 00000 n +0000274432 00000 n +0000274491 00000 n +0000274727 00000 n +0000282934 00000 n +0000109430 00000 n +0000109584 00000 n +0000109797 00000 n +0000108952 00000 n +0000095055 00000 n +0000109738 00000 n +0000274550 00000 n +0000282522 00000 n +0000121746 00000 n +0000121899 00000 n +0000122053 00000 n +0000122204 00000 n +0000122365 00000 n +0000121595 00000 n +0000122650 00000 n +0000121416 00000 n +0000109986 00000 n +0000122533 00000 n +0000431854 00000 n +0000134319 00000 n +0000133465 00000 n +0000133621 00000 n +0000133788 00000 n +0000133944 00000 n +0000134100 00000 n +0000134557 00000 n +0000133294 00000 n +0000122839 00000 n +0000134260 00000 n 0000430366 00000 n -0000432637 00000 n -0000432810 00000 n -0000432976 00000 n -0000433145 00000 n -0000433378 00000 n -0000433591 00000 n -0000433833 00000 n -0000434036 00000 n -0000434238 00000 n -0000434412 00000 n -0000434582 00000 n -0000434751 00000 n -0000434921 00000 n -0000435090 00000 n -0000435258 00000 n -0000435420 00000 n -0000435602 00000 n -0000435782 00000 n -0000435992 00000 n -0000436212 00000 n -0000436407 00000 n -0000436521 00000 n -0000436638 00000 n -0000436753 00000 n -0000436869 00000 n -0000436961 00000 n -0000437056 00000 n -0000437094 00000 n -0000437291 00000 n +0000429794 00000 n +0000430791 00000 n +0000134381 00000 n +0000134440 00000 n +0000134499 00000 n +0000139063 00000 n +0000139224 00000 n +0000139386 00000 n +0000138912 00000 n +0000139791 00000 n +0000138749 00000 n +0000134771 00000 n +0000139546 00000 n +0000139605 00000 n +0000139667 00000 n +0000139729 00000 n +0000149084 00000 n +0000149243 00000 n +0000149391 00000 n +0000149546 00000 n +0000149698 00000 n +0000149848 00000 n +0000149997 00000 n +0000150148 00000 n +0000150304 00000 n +0000160552 00000 n +0000160708 00000 n +0000160864 00000 n +0000150932 00000 n +0000148881 00000 n +0000139980 00000 n +0000150461 00000 n +0000150578 00000 n +0000150637 00000 n +0000150696 00000 n +0000150755 00000 n +0000150814 00000 n +0000150873 00000 n +0000161376 00000 n +0000206765 00000 n +0000241050 00000 n +0000161016 00000 n +0000161167 00000 n +0000168767 00000 n +0000168923 00000 n +0000160401 00000 n +0000161494 00000 n +0000160222 00000 n +0000151056 00000 n +0000161317 00000 n +0000174424 00000 n +0000169082 00000 n +0000169233 00000 n +0000169384 00000 n +0000169539 00000 n +0000169689 00000 n +0000169839 00000 n +0000169989 00000 n +0000170140 00000 n +0000170291 00000 n +0000170500 00000 n +0000168548 00000 n +0000161631 00000 n +0000170441 00000 n +0000177823 00000 n +0000177885 00000 n +0000177946 00000 n +0000174214 00000 n +0000174485 00000 n +0000174075 00000 n +0000170598 00000 n +0000174365 00000 n +0000431971 00000 n +0000178008 00000 n +0000177645 00000 n +0000174583 00000 n +0000177764 00000 n +0000184448 00000 n +0000184297 00000 n +0000184721 00000 n +0000184150 00000 n +0000178106 00000 n +0000184604 00000 n +0000188200 00000 n +0000188350 00000 n +0000188619 00000 n +0000188053 00000 n +0000184897 00000 n +0000188502 00000 n +0000195711 00000 n +0000195861 00000 n +0000196011 00000 n +0000196161 00000 n +0000196311 00000 n +0000195560 00000 n +0000196579 00000 n +0000195381 00000 n +0000188743 00000 n +0000196462 00000 n +0000201022 00000 n +0000201170 00000 n +0000201319 00000 n +0000201766 00000 n +0000200867 00000 n +0000196703 00000 n +0000201471 00000 n +0000201530 00000 n +0000201589 00000 n +0000201648 00000 n +0000201707 00000 n +0000206555 00000 n +0000206828 00000 n +0000206416 00000 n +0000201877 00000 n +0000206706 00000 n +0000432088 00000 n +0000217264 00000 n +0000217022 00000 n +0000206926 00000 n +0000217141 00000 n +0000217200 00000 n +0000229683 00000 n +0000229956 00000 n +0000229544 00000 n +0000217401 00000 n +0000229834 00000 n +0000229893 00000 n +0000241114 00000 n +0000240872 00000 n +0000230119 00000 n +0000240991 00000 n +0000244759 00000 n +0000244918 00000 n +0000245077 00000 n +0000244608 00000 n +0000245346 00000 n +0000244445 00000 n +0000241264 00000 n +0000245229 00000 n +0000254764 00000 n +0000255032 00000 n +0000254625 00000 n +0000245470 00000 n +0000254915 00000 n +0000257129 00000 n +0000256978 00000 n +0000257398 00000 n +0000256831 00000 n +0000255208 00000 n +0000257281 00000 n +0000432205 00000 n +0000259991 00000 n +0000260260 00000 n +0000259852 00000 n +0000257522 00000 n +0000260143 00000 n +0000262545 00000 n +0000262394 00000 n +0000262821 00000 n +0000262247 00000 n +0000260384 00000 n +0000262704 00000 n +0000267222 00000 n +0000266986 00000 n +0000262932 00000 n +0000267105 00000 n +0000275022 00000 n +0000274077 00000 n +0000267333 00000 n +0000274196 00000 n +0000283288 00000 n +0000282285 00000 n +0000275146 00000 n +0000282404 00000 n +0000282463 00000 n +0000283399 00000 n +0000283424 00000 n +0000283655 00000 n +0000283714 00000 n +0000284410 00000 n +0000284974 00000 n +0000285077 00000 n +0000285114 00000 n +0000285743 00000 n +0000286138 00000 n +0000286774 00000 n +0000287395 00000 n +0000288064 00000 n +0000288679 00000 n +0000289191 00000 n +0000289835 00000 n +0000290319 00000 n +0000290676 00000 n +0000291317 00000 n +0000302724 00000 n +0000303082 00000 n +0000313354 00000 n +0000313717 00000 n +0000323418 00000 n +0000323767 00000 n +0000327139 00000 n +0000327465 00000 n +0000337229 00000 n +0000337558 00000 n +0000339906 00000 n +0000340134 00000 n +0000342892 00000 n +0000343119 00000 n +0000349102 00000 n +0000349361 00000 n +0000366866 00000 n +0000367436 00000 n +0000375717 00000 n +0000376060 00000 n +0000378077 00000 n +0000378302 00000 n +0000380665 00000 n +0000380900 00000 n +0000384370 00000 n +0000384716 00000 n +0000386139 00000 n +0000386364 00000 n +0000387971 00000 n +0000388205 00000 n +0000404228 00000 n +0000404647 00000 n +0000411987 00000 n +0000412268 00000 n +0000428357 00000 n +0000432322 00000 n +0000432440 00000 n +0000432517 00000 n +0000432587 00000 n +0000434858 00000 n +0000435031 00000 n +0000435197 00000 n +0000435366 00000 n +0000435599 00000 n +0000435812 00000 n +0000436054 00000 n +0000436257 00000 n +0000436459 00000 n +0000436633 00000 n +0000436803 00000 n +0000436972 00000 n +0000437142 00000 n +0000437311 00000 n +0000437479 00000 n +0000437641 00000 n +0000437823 00000 n +0000438003 00000 n +0000438213 00000 n +0000438433 00000 n +0000438628 00000 n +0000438742 00000 n +0000438859 00000 n +0000438974 00000 n +0000439090 00000 n +0000439182 00000 n +0000439277 00000 n +0000439315 00000 n +0000439512 00000 n trailer -<< /Size 583 -/Root 581 0 R -/Info 582 0 R -/ID [<3419275CBC31BF7D03199F2FDECDE2BA> <3419275CBC31BF7D03199F2FDECDE2BA>] >> +<< /Size 584 +/Root 582 0 R +/Info 583 0 R +/ID [<0E3100EDA4CF58C4F14BC59E2C25D4FF> <0E3100EDA4CF58C4F14BC59E2C25D4FF>] >> startxref -438034 +440255 %%EOF diff --git a/docs/src/building.tex b/docs/src/building.tex index 0d4e7561..759a3cc2 100644 --- a/docs/src/building.tex +++ b/docs/src/building.tex @@ -63,12 +63,12 @@ for multilevel preconditioners may change to reflect their presence. A sparse direct factorization package available from \\ \verb|http://crd.lbl.gov/~xiaoye/SuperLU/|; provides serial factorization and triangular system solution for single and double precision, - real and complex data. We have tested version 4.3. -% \item[SuperLU\_Dist] \cite{SUPERLUDIST} -% A sparse direct factorization package available -% from the same site as SuperLU; provides parallel factorization and -% triangular system solution for double precision real and complex data. -% We have tested version 2.5 and 3.3. + real and complex data. We have tested version 4.3 and 5.0. + \item[SuperLU\_Dist] \cite{SUPERLUDIST} + A sparse direct factorization package available + from the same site as SuperLU; provides parallel factorization and + triangular system solution for double precision real and complex data. + We have tested version 3.3 and 4.2. \end{description} \subsection{Configuration options} @@ -100,7 +100,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print `checking ...' messages + -q, --quiet, --silent do not print `checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files @@ -159,8 +159,8 @@ Optional Packages: --with-extra-libs List additional link flags here. For example, --with-extra-libs=-lspecial_system_lib or --with-extra-libs=-L/path/to/libs - --with-umfpack=LIBNAME Specify the library name for UMFPACK library. - Default: "-lumfpack -lamd" + --with-umfpack=LIBNAME Specify the library name for UMFPACK and its support + libraries. Default: "-lumfpack -lamd" --with-umfpackdir=DIR Specify the directory for UMFPACK library and includes. --with-umfpackincdir=DIR