\relax \bibstyle{plain} \@writefile{toc}{\contentsline {part}{\uppercase {i}\hspace {1em}Introduction}{15}} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{17}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {1.1}Software Design}{18}} \newlabel{chapter:softwareDesign}{{1.1}{18}} \citation{hr98-msndtalk} \citation{karypis98metis} \@writefile{toc}{\contentsline {section}{\numberline {1.2}Changes from Release 1.0}{21}} \newlabel{section:intro:changes-1.0}{{1.2}{21}} \@writefile{toc}{\contentsline {section}{\numberline {1.3}Changes from Release 2.0}{21}} \newlabel{section:intro:changes-2.0}{{1.3}{21}} \@writefile{toc}{\contentsline {part}{\uppercase {ii}\hspace {1em}Utility Objects and Methods}{23}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}{\tt A2}: Real or complex 2-D array}{25}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {2.1}Data Structure}{25}} \newlabel{section:A2:dataStructure}{{2.1}{25}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Prototypes and descriptions of {\tt A2} methods}{25}} \newlabel{section:A2:proto}{{2.2}{25}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Basic methods}{26}} \newlabel{subsection:A2:proto:basics}{{2.2.1}{26}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Instance methods}{26}} \newlabel{subsection:A2:proto:instance}{{2.2.2}{26}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Initialize methods}{28}} \newlabel{subsection:A2:proto:initial}{{2.2.3}{28}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Methods used in the $QR$ factorization}{28}} \newlabel{subsection:A2:proto:QR}{{2.2.4}{28}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.5}Norm methods}{29}} \newlabel{subsection:A2:proto:norms}{{2.2.5}{29}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.6}Sort methods}{30}} \newlabel{subsection:A2:proto:sort}{{2.2.6}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.7}Utility methods}{30}} \newlabel{subsection:A2:proto:utilities}{{2.2.7}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.8}IO methods}{33}} \newlabel{subsection:A2:proto:IO}{{2.2.8}{33}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}Driver programs for the {\tt A2 object}}{34}} \newlabel{section:A2:drivers}{{2.3}{34}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}{\tt Coords}: Coordinates Object}{36}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Data Structure}{36}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Prototypes and descriptions of {\tt Coords} methods}{36}} \newlabel{section:Coords:proto}{{3.2}{36}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Basic methods}{36}} \newlabel{subsection:Coords:proto:basics}{{3.2.1}{36}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Initializer methods}{37}} \newlabel{subsection:Coords:proto:initializers}{{3.2.2}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Utility methods}{38}} \newlabel{subsection:Coords:proto:utilities}{{3.2.3}{38}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}IO methods}{38}} \newlabel{subsection:Coords:proto:IO}{{3.2.4}{38}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Driver programs for the {\tt Coords} object}{39}} \newlabel{section:Coords:drivers}{{3.3}{39}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}{\tt DV}: Double Vector Object}{41}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {4.1}Data Structure}{41}} \newlabel{section:DV:dataStructure}{{4.1}{41}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}Prototypes and descriptions of {\tt DV} methods}{42}} \newlabel{section:DV:proto}{{4.2}{42}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Basic methods}{42}} \newlabel{subsection:DV:proto:basics}{{4.2.1}{42}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Instance methods}{42}} \newlabel{subsection:DV:proto:Instance}{{4.2.2}{42}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Initializer methods}{43}} \newlabel{subsection:DV:proto:initializers}{{4.2.3}{43}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Utility methods}{44}} \newlabel{subsection:DV:proto:utilities}{{4.2.4}{44}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}IO methods}{45}} \newlabel{subsection:DV:proto:IO}{{4.2.5}{45}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}Driver programs for the {\tt DV object}}{47}} \newlabel{section:DV:drivers}{{4.3}{47}} \citation{and90-random} \@writefile{toc}{\contentsline {chapter}{\numberline {5}{\tt Drand}: \penalty -\@M Simple Random Number Generator}{48}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Data Structure}{48}} \newlabel{section:Drand:dataStructure}{{5.1}{48}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Prototypes and descriptions of {\tt Drand} methods}{48}} \newlabel{section:Drand:proto}{{5.2}{48}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Basic methods}{49}} \newlabel{subsection:Drand:proto:basics}{{5.2.1}{49}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Initializer methods}{49}} \newlabel{subsection:Drand:proto:initializers}{{5.2.2}{49}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Utility methods}{50}} \newlabel{subsection:Drand:proto:utilities}{{5.2.3}{50}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}Driver programs for the {\tt Drand} object}{50}} \newlabel{section:Drand:drivers}{{5.3}{50}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}{\tt I2Ohash}: Two Key Hash Table}{52}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {6.1}Data Structure}{52}} \newlabel{section:I2Ohash:dataStructure}{{6.1}{52}} \@writefile{toc}{\contentsline {section}{\numberline {6.2}Prototypes and descriptions of {\tt I2Ohash} methods}{53}} \newlabel{section:I2Ohash:proto}{{6.2}{53}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Basic methods}{53}} \newlabel{subsection:I2Ohash:proto:basics}{{6.2.1}{53}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Initializer methods}{53}} \newlabel{subsection:I2Ohash:proto:initializers}{{6.2.2}{53}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Utility methods}{54}} \newlabel{subsection:I2Ohash:proto:utilities}{{6.2.3}{54}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}IO methods}{54}} \newlabel{subsection:I2Ohash:proto:IO}{{6.2.4}{54}} \@writefile{toc}{\contentsline {section}{\numberline {6.3}Driver programs for the {\tt I2Ohash object}}{54}} \newlabel{section:I2Ohash:drivers}{{6.3}{54}} \@writefile{toc}{\contentsline {chapter}{\numberline {7}{\tt IIheap}: (Key, Value) Heap}{56}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {7.1}Data Structure}{56}} \newlabel{section:IIheap:dataStructure}{{7.1}{56}} \@writefile{toc}{\contentsline {section}{\numberline {7.2}Prototypes and descriptions of {\tt IIheap} methods}{56}} \newlabel{section:IIheap:proto}{{7.2}{56}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Basic methods}{56}} \newlabel{subsection:IIheap:proto:basics}{{7.2.1}{56}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}Initializer methods}{57}} \newlabel{subsection:IIheap:proto:initializers}{{7.2.2}{57}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Utility methods}{57}} \newlabel{subsection:IIheap:proto:utilities}{{7.2.3}{57}} \@writefile{toc}{\contentsline {chapter}{\numberline {8}{\tt IV}: Integer Vector Object}{58}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {8.1}Data Structure}{58}} \newlabel{section:IV:dataStructure}{{8.1}{58}} \@writefile{toc}{\contentsline {section}{\numberline {8.2}Prototypes and descriptions of {\tt IV} methods}{59}} \newlabel{section:IV:proto}{{8.2}{59}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2.1}Basic methods}{59}} \newlabel{subsection:IV:proto:basics}{{8.2.1}{59}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2.2}Instance methods}{59}} \newlabel{subsection:IV:proto:Instance}{{8.2.2}{59}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2.3}Initializer methods}{60}} \newlabel{subsection:IV:proto:initializers}{{8.2.3}{60}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2.4}Utility methods}{61}} \newlabel{subsection:IV:proto:utilities}{{8.2.4}{61}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2.5}IO methods}{63}} \newlabel{subsection:IV:proto:IO}{{8.2.5}{63}} \@writefile{toc}{\contentsline {section}{\numberline {8.3}Driver programs for the {\tt IV object}}{65}} \newlabel{section:IV:drivers}{{8.3}{65}} \@writefile{toc}{\contentsline {chapter}{\numberline {9}{\tt IVL}: Integer Vector List Object}{66}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {9.1}Data Structure}{66}} \newlabel{section:IVL:dataStructure}{{9.1}{66}} \@writefile{toc}{\contentsline {section}{\numberline {9.2}Prototypes and descriptions of {\tt IVL} methods}{67}} \newlabel{section:IVL:proto}{{9.2}{67}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Basic methods}{67}} \newlabel{subsection:IVL:proto:basics}{{9.2.1}{67}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.2}Instance methods}{68}} \newlabel{subsection:IVL:proto:instance}{{9.2.2}{68}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.3}Initialization and resizing methods}{68}} \newlabel{subsection:IVL:proto:initializers}{{9.2.3}{68}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.4}List manipulation methods}{69}} \newlabel{subsection:IVL:proto:listmanip}{{9.2.4}{69}} \citation{ash95-compressed-graphs} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.5}Utility methods}{70}} \newlabel{subsection:IVL:proto:utilities}{{9.2.5}{70}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.6}Miscellaneous methods}{71}} \newlabel{subsection:IVL:proto:miscellaneous}{{9.2.6}{71}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.2.7}IO methods}{72}} \newlabel{subsection:IVL:proto:IO}{{9.2.7}{72}} \@writefile{toc}{\contentsline {section}{\numberline {9.3}Driver programs for the {\tt IVL} object}{73}} \newlabel{section:IVL:drivers}{{9.3}{73}} \@writefile{toc}{\contentsline {chapter}{\numberline {10}{\tt Ideq}: Integer Dequeue}{74}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {10.1}Data Structure}{74}} \newlabel{section:Ideq:dataStructure}{{10.1}{74}} \@writefile{toc}{\contentsline {section}{\numberline {10.2}Prototypes and descriptions of {\tt Ideq} methods}{74}} \newlabel{section:Ideq:proto}{{10.2}{74}} \@writefile{toc}{\contentsline {subsection}{\numberline {10.2.1}Basic methods}{74}} \newlabel{subsection:Ideq:proto:basics}{{10.2.1}{74}} \@writefile{toc}{\contentsline {subsection}{\numberline {10.2.2}Initializer methods}{75}} \newlabel{subsection:Ideq:proto:initializers}{{10.2.2}{75}} \@writefile{toc}{\contentsline {subsection}{\numberline {10.2.3}Utility methods}{75}} \newlabel{subsection:Ideq:proto:utilities}{{10.2.3}{75}} \@writefile{toc}{\contentsline {subsection}{\numberline {10.2.4}IO methods}{76}} \newlabel{subsection:Ideq:proto:IO}{{10.2.4}{76}} \@writefile{toc}{\contentsline {chapter}{\numberline {11}{\tt Lock}: Mutual Exclusion Lock object}{77}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:Lock}{{11}{77}} \@writefile{toc}{\contentsline {section}{\numberline {11.1}Data Structure}{77}} \newlabel{section:Lock:dataStructure}{{11.1}{77}} \@writefile{toc}{\contentsline {section}{\numberline {11.2}Prototypes and descriptions of {\tt Lock} methods}{77}} \newlabel{section:Lock:proto}{{11.2}{77}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.2.1}Basic methods}{77}} \newlabel{subsection:Lock:proto:basics}{{11.2.1}{77}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.2.2}Initializer method}{78}} \newlabel{subsection:Lock:proto:initializers}{{11.2.2}{78}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.2.3}Utility methods}{78}} \newlabel{subsection:Lock:proto:Utility}{{11.2.3}{78}} \@writefile{toc}{\contentsline {chapter}{\numberline {12}{\tt Perm}: Permutation Object}{79}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {12.1}Data Structure}{79}} \newlabel{section:Perm:dataStructure}{{12.1}{79}} \@writefile{toc}{\contentsline {section}{\numberline {12.2}Prototypes and descriptions of {\tt Perm} methods}{79}} \newlabel{section:Perm:proto}{{12.2}{79}} \@writefile{toc}{\contentsline {subsection}{\numberline {12.2.1}Basic methods}{79}} \newlabel{subsection:Perm:proto:basics}{{12.2.1}{79}} \@writefile{toc}{\contentsline {subsection}{\numberline {12.2.2}Initializer methods}{80}} \newlabel{subsection:Perm:proto:initializers}{{12.2.2}{80}} \@writefile{toc}{\contentsline {subsection}{\numberline {12.2.3}Utility methods}{80}} \newlabel{subsection:Perm:proto:utilities}{{12.2.3}{80}} \@writefile{toc}{\contentsline {subsection}{\numberline {12.2.4}IO methods}{81}} \newlabel{subsection:Perm:proto:IO}{{12.2.4}{81}} \citation{bent93-sort} \@writefile{toc}{\contentsline {chapter}{\numberline {13}{\tt Utilities } directory }{83}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:Utilities}{{13}{83}} \@writefile{toc}{\contentsline {section}{\numberline {13.1}Data Structures}{83}} \newlabel{section:Utilities:dataStructure}{{13.1}{83}} \@writefile{toc}{\contentsline {section}{\numberline {13.2}Prototypes and descriptions of {\tt Utilities} methods}{83}} \newlabel{section:Utilities:proto}{{13.2}{83}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.1}{\tt CV} : {\tt char} vector methods}{84}} \newlabel{subsection:Utilities:proto:CV}{{13.2.1}{84}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.2}{\tt DV} : {\tt double} vector methods}{84}} \newlabel{subsection:Utilities:proto:DV}{{13.2.2}{84}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.3}{\tt ZV} : {\tt double complex } vector methods}{90}} \newlabel{subsection:Utilities:proto:ZV}{{13.2.3}{90}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.4}{\tt IV} : {\tt int} vector methods}{96}} \newlabel{subsection:Utilities:proto:IV}{{13.2.4}{96}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.5}{\tt FV} : {\tt float} vector methods}{98}} \newlabel{subsection:Utilities:proto:FV}{{13.2.5}{98}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.6}{\tt PCV} : {\tt char *} vector methods}{101}} \newlabel{subsection:Utilities:proto:PCV}{{13.2.6}{101}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.7}{\tt PDV} : {\tt double *} vector methods}{101}} \newlabel{subsection:Utilities:proto:PDV}{{13.2.7}{101}} \@writefile{toc}{\contentsline {subsubsection}{{\tt PIV} : {\tt int *} vector methods}{101}} \newlabel{subsubsection:Utilities:proto:PIV}{{13.2.7}{101}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.8}{\tt PFV} : {\tt float *} vector methods}{102}} \newlabel{subsection:Utilities:proto:PFV}{{13.2.8}{102}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.9}Sorting routines}{102}} \newlabel{subsection:Utilities:proto:sort}{{13.2.9}{102}} \@writefile{toc}{\contentsline {subsubsection}{Validation routines}{102}} \newlabel{subsubsection:Utilities:proto:sort:validate}{{13.2.9}{102}} \@writefile{toc}{\contentsline {subsubsection}{Insert sort routines}{102}} \newlabel{subsubsection:Utilities:proto:sort:insert}{{13.2.9}{102}} \@writefile{toc}{\contentsline {subsubsection}{Quicksort routines}{103}} \newlabel{subsubsection:Utilities:proto:sort:quicksort}{{13.2.9}{103}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.10}Sort and compress routines}{104}} \newlabel{subsection:Utilities:proto:sortAndCompress}{{13.2.10}{104}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.11}{\tt IP} : {\tt (int, pointer)} singly linked-list methods}{105}} \newlabel{subsection:Utilities:proto:IP}{{13.2.11}{105}} \@writefile{toc}{\contentsline {subsection}{\numberline {13.2.12}{\tt I2OP} : {\tt (int, int, void*, pointer)} singly linked-list methods}{106}} \newlabel{subsection:Utilities:proto:I2OP}{{13.2.12}{106}} \@writefile{toc}{\contentsline {section}{\numberline {13.3}Driver programs }{107}} \newlabel{section:Utilities:drivers}{{13.3}{107}} \@writefile{toc}{\contentsline {chapter}{\numberline {14}{\tt ZV}: Double Complex Vector Object}{108}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {14.1}Data Structure}{108}} \newlabel{section:ZV:dataStructure}{{14.1}{108}} \@writefile{toc}{\contentsline {section}{\numberline {14.2}Prototypes and descriptions of {\tt ZV} methods}{109}} \newlabel{section:ZV:proto}{{14.2}{109}} \@writefile{toc}{\contentsline {subsection}{\numberline {14.2.1}Basic methods}{109}} \newlabel{subsection:ZV:proto:basics}{{14.2.1}{109}} \@writefile{toc}{\contentsline {subsection}{\numberline {14.2.2}Instance methods}{109}} \newlabel{subsection:ZV:proto:Instance}{{14.2.2}{109}} \@writefile{toc}{\contentsline {subsection}{\numberline {14.2.3}Initializer methods}{110}} \newlabel{subsection:ZV:proto:initializers}{{14.2.3}{110}} \@writefile{toc}{\contentsline {subsection}{\numberline {14.2.4}Utility methods}{111}} \newlabel{subsection:ZV:proto:utilities}{{14.2.4}{111}} \@writefile{toc}{\contentsline {subsection}{\numberline {14.2.5}IO methods}{112}} \newlabel{subsection:ZV:proto:IO}{{14.2.5}{112}} \@writefile{toc}{\contentsline {section}{\numberline {14.3}Driver programs for the {\tt ZV object}}{113}} \newlabel{section:ZV:drivers}{{14.3}{113}} \@writefile{toc}{\contentsline {part}{\uppercase {iii}\hspace {1em}Ordering Objects and Methods}{115}} \@writefile{toc}{\contentsline {chapter}{\numberline {15}{\tt BKL}: Block Kernighan-Lin Object}{117}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:BKL}{{15}{117}} \@writefile{toc}{\contentsline {section}{\numberline {15.1}Data Structure}{117}} \newlabel{section:BKL:dataStructure}{{15.1}{117}} \@writefile{toc}{\contentsline {section}{\numberline {15.2}Prototypes and descriptions of {\tt BKL} methods}{118}} \newlabel{section:BKL:proto}{{15.2}{118}} \@writefile{toc}{\contentsline {section}{\numberline {15.3}Basic methods}{118}} \newlabel{subsection:BKL:proto:basics}{{15.3}{118}} \@writefile{toc}{\contentsline {subsection}{\numberline {15.3.1}Initializer methods}{118}} \newlabel{subsection:BKL:proto:initializers}{{15.3.1}{118}} \@writefile{toc}{\contentsline {subsection}{\numberline {15.3.2}Utility methods}{119}} \newlabel{subsection:BKL:proto:utilities}{{15.3.2}{119}} \@writefile{toc}{\contentsline {subsection}{\numberline {15.3.3}Partition evaluation methods}{120}} \newlabel{subsection:BKL:proto:evaluation}{{15.3.3}{120}} \@writefile{toc}{\contentsline {subsection}{\numberline {15.3.4}Partition improvement methods}{120}} \newlabel{subsection:BKL:proto:improve}{{15.3.4}{120}} \citation{ash97-DDSEP} \citation{ash98-maxflow} \@writefile{toc}{\contentsline {chapter}{\numberline {16}{\tt BPG}: Bipartite Graph Object}{122}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:BPG}{{16}{122}} \citation{ash98-maxflow} \@writefile{toc}{\contentsline {section}{\numberline {16.1}Data Structure}{124}} \newlabel{section:BPG:dataStructure}{{16.1}{124}} \@writefile{toc}{\contentsline {section}{\numberline {16.2}Prototypes and descriptions of {\tt BPG} methods}{124}} \newlabel{section:BPG:proto}{{16.2}{124}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.1}Basic methods}{124}} \newlabel{subsection:BPG:proto:basics}{{16.2.1}{124}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.2}Initializer methods}{125}} \newlabel{subsection:BPG:proto:initializers}{{16.2.2}{125}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.3}Generate induced graphs}{125}} \newlabel{subsection:BPG:proto:induced-graphs}{{16.2.3}{125}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.4}Utility methods}{125}} \newlabel{subsection:BPG:proto:utilities}{{16.2.4}{125}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.5}Dulmage-Mendelsohn decomposition method}{126}} \newlabel{subsection:BPG:proto:DM}{{16.2.5}{126}} \@writefile{toc}{\contentsline {subsection}{\numberline {16.2.6}IO methods}{126}} \newlabel{subsection:BPG:proto:IO}{{16.2.6}{126}} \@writefile{toc}{\contentsline {section}{\numberline {16.3}Driver programs for the {\tt BPG} object}{127}} \newlabel{section:BPG:drivers}{{16.3}{127}} \@writefile{toc}{\contentsline {chapter}{\numberline {17}{\tt DSTree}: \penalty -\@M A Domain/Separator Tree Object}{129}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:DSTree:intro}{{17}{129}} \@writefile{toc}{\contentsline {section}{\numberline {17.1}Data Structure}{129}} \newlabel{section:DSTree:dataStructure}{{17.1}{129}} \@writefile{toc}{\contentsline {section}{\numberline {17.2}Prototypes and descriptions of {\tt DSTree} methods}{129}} \newlabel{section:DSTree:proto}{{17.2}{129}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.1}Basic methods}{130}} \newlabel{subsection:DSTree:proto:basics}{{17.2.1}{130}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.2}Instance methods}{130}} \newlabel{subsection:DSTree:proto:instance}{{17.2.2}{130}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.3}Initializer methods}{130}} \newlabel{subsection:DSTree:proto:initializers}{{17.2.3}{130}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.4}Stage methods}{131}} \newlabel{subsection:DSTree:proto:stages}{{17.2.4}{131}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.5}Utility methods}{132}} \newlabel{subsection:DSTree:proto:utilities}{{17.2.5}{132}} \@writefile{toc}{\contentsline {subsection}{\numberline {17.2.6}IO methods}{132}} \newlabel{subsection:DSTree:proto:IO}{{17.2.6}{132}} \@writefile{toc}{\contentsline {section}{\numberline {17.3}Driver programs for the {\tt DSTree} object}{133}} \newlabel{section:DSTree:drivers}{{17.3}{133}} \@writefile{toc}{\contentsline {chapter}{\numberline {18}{\tt EGraph}: Element Graph Object}{135}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {18.1}Data Structure}{135}} \@writefile{toc}{\contentsline {section}{\numberline {18.2}Prototypes and descriptions of {\tt EGraph} methods}{135}} \newlabel{section:EGraph:proto}{{18.2}{135}} \@writefile{toc}{\contentsline {subsection}{\numberline {18.2.1}Basic methods}{136}} \newlabel{subsection:EGraph:proto:basics}{{18.2.1}{136}} \@writefile{toc}{\contentsline {subsection}{\numberline {18.2.2}Initializer methods}{136}} \newlabel{subsection:EGraph:proto:initializers}{{18.2.2}{136}} \@writefile{toc}{\contentsline {subsection}{\numberline {18.2.3}Utility methods}{136}} \newlabel{subsection:EGraph:proto:utilities}{{18.2.3}{136}} \@writefile{toc}{\contentsline {subsection}{\numberline {18.2.4}IO methods}{137}} \newlabel{subsection:EGraph:proto:IO}{{18.2.4}{137}} \@writefile{toc}{\contentsline {section}{\numberline {18.3}Driver programs for the {\tt EGraph} object}{138}} \newlabel{section:EGraph:drivers}{{18.3}{138}} \@writefile{toc}{\contentsline {chapter}{\numberline {19}{\tt ETree}: Elimination and Front Trees}{140}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:ETree}{{19}{140}} \@writefile{toc}{\contentsline {section}{\numberline {19.1}Data Structure}{140}} \@writefile{toc}{\contentsline {section}{\numberline {19.2}Prototypes and descriptions of {\tt ETree} methods}{141}} \newlabel{section:ETree:proto}{{19.2}{141}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.1}Basic methods}{141}} \newlabel{subsection:ETree:proto:basics}{{19.2.1}{141}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.2}Instance methods}{141}} \newlabel{subsection:ETree:proto:instance}{{19.2.2}{141}} \citation{liu90-etree} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.3}Initializer methods}{143}} \newlabel{subsection:ETree:proto:initializers}{{19.2.3}{143}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.4}Utility methods}{144}} \newlabel{subsection:ETree:proto:utilities}{{19.2.4}{144}} \citation{liu91-generalizedEnvelope} \citation{ash89-relaxed} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.5}Metrics methods}{146}} \newlabel{subsection:ETree:proto:metrics}{{19.2.5}{146}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.6}Compression methods}{146}} \newlabel{subsection:ETree:proto:compression}{{19.2.6}{146}} \citation{liu85-mfstorage} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.7}Justification methods}{147}} \newlabel{subsection:ETree:proto:justify}{{19.2.7}{147}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.8}Permutation methods}{148}} \newlabel{subsection:ETree:proto:permutation}{{19.2.8}{148}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.9}Multisector methods}{148}} \newlabel{subsection:ETree:proto:multisector}{{19.2.9}{148}} \citation{duf83-multifrontal} \citation{ash89-relaxed} \citation{ash89-relaxed} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.10}Transformation methods}{150}} \newlabel{subsection:ETree:proto:transformation}{{19.2.10}{150}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.11}Parallel factorization map methods}{151}} \newlabel{subsection:ETree:proto:map}{{19.2.11}{151}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.12}Storage profile methods}{152}} \newlabel{subsection:ETree:proto:storage}{{19.2.12}{152}} \@writefile{toc}{\contentsline {subsection}{\numberline {19.2.13}IO methods}{153}} \newlabel{subsection:ETree:proto:IO}{{19.2.13}{153}} \@writefile{toc}{\contentsline {section}{\numberline {19.3}Driver programs for the {\tt ETree} object}{154}} \newlabel{section:ETree:drivers}{{19.3}{154}} \@writefile{lof}{\contentsline {figure}{\numberline {19.1}{\ignorespaces {\sc GRD7x7}: Working storage for the forward sparse factorization of the nested dissection ordering. On the left is the storage required to factor ${\mathaccent "0362\relax J}$ and its update matrix. On the right is the storage required to factor $J$ and all of its ancestors. Both plots have the same scale.}}{158}} \newlabel{fig-GRD7x7-FStree}{{19.1}{158}} \@writefile{lof}{\contentsline {figure}{\numberline {19.2}{\ignorespaces {\sc GRD7x7x7}: Four tree plots for a $7 \times 7 \times 7$ grid matrix ordered using nested dissection. The top left tree measure number of original matrix entries in a front. The top right tree measure number of factor matrix entries in a front. The bottom left tree measure number of factor operations in a front for a forward looking factorization, e.g., forward sparse. The bottom right tree measure number of factor operations in a front for a backward looking factorization, e.g., general sparse.}}{162}} \newlabel{fig-GRD7x7x7-metrics}{{19.2}{162}} \citation{ash89-relaxed} \citation{duf83-multifrontal} \citation{ash97-DDSEP} \citation{ash98-maxflow} \@writefile{toc}{\contentsline {chapter}{\numberline {20}{\tt GPart}: Graph Partitioning Object}{165}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:GPart:intro}{{20}{165}} \@writefile{toc}{\contentsline {section}{\numberline {20.1}Data Structures}{166}} \newlabel{section:GPart:dataStructure}{{20.1}{166}} \@writefile{toc}{\contentsline {section}{\numberline {20.2}Prototypes and descriptions of {\tt GPart} methods}{167}} \newlabel{section:GPart:proto}{{20.2}{167}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.1}Basic methods}{167}} \newlabel{subsection:GPart:proto:basics}{{20.2.1}{167}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.2}Initializer methods}{168}} \newlabel{subsection:GPart:proto:initializers}{{20.2.2}{168}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.3}Utility methods}{168}} \newlabel{subsection:GPart:proto:utilities}{{20.2.3}{168}} \citation{ash97-DDSEP} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.4}Domain decomposition methods}{169}} \newlabel{subsection:GPart:proto:domain-decomposition}{{20.2.4}{169}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.5}Methods to generate a 2-set partition}{170}} \newlabel{subsection:GPart:proto:2-set}{{20.2.5}{170}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.6}Methods to improve a 2-set partition}{170}} \newlabel{subsection:GPart:proto:improve}{{20.2.6}{170}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.7}Recursive Bisection method}{172}} \newlabel{subsection:GPart:proto:RB}{{20.2.7}{172}} \@writefile{toc}{\contentsline {subsection}{\numberline {20.2.8}{\tt DDsepInfo} methods}{172}} \newlabel{subsection:GPart:proto:DDsepInfo}{{20.2.8}{172}} \citation{ash97-DDSEP} \citation{ash97-DDSEP} \@writefile{toc}{\contentsline {section}{\numberline {20.3}Driver programs for the {\tt GPart} object}{173}} \newlabel{section:GPart:drivers}{{20.3}{173}} \citation{ash97-DDSEP} \citation{ash95-compressed-graphs} \citation{dam92-compressed} \@writefile{toc}{\contentsline {chapter}{\numberline {21}{\tt Graph}: A Graph object}{177}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:Graph}{{21}{177}} \@writefile{toc}{\contentsline {section}{\numberline {21.1}Data Structure}{178}} \newlabel{section:Graph:dataStructure}{{21.1}{178}} \@writefile{toc}{\contentsline {section}{\numberline {21.2}Prototypes and descriptions of {\tt Graph} methods}{178}} \newlabel{section:Graph:proto}{{21.2}{178}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.1}Basic methods}{178}} \newlabel{subsection:Graph:proto:basics}{{21.2.1}{178}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.2}Initializer methods}{179}} \newlabel{subsection:Graph:proto:initializers}{{21.2.2}{179}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.3}Compress and Expand methods}{180}} \newlabel{subsection:Graph:proto:compress}{{21.2.3}{180}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.4}Wirebasket domain decomposition ordering}{180}} \newlabel{subsection:Graph:proto:wirebasket}{{21.2.4}{180}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.5}Utility methods}{181}} \newlabel{subsection:Graph:proto:utilities}{{21.2.5}{181}} \@writefile{toc}{\contentsline {subsection}{\numberline {21.2.6}IO methods}{182}} \newlabel{subsection:Graph:proto:IO}{{21.2.6}{182}} \@writefile{toc}{\contentsline {section}{\numberline {21.3}Driver programs for the {\tt Graph} object}{183}} \newlabel{section:Graph:drivers}{{21.3}{183}} \citation{ame96-amd} \citation{sparsematlab} \citation{ame96-amd} \citation{ng96-mindefIdaho} \citation{rot96-mindefIdaho} \citation{rot98-mindef} \@writefile{toc}{\contentsline {chapter}{\numberline {22}{\tt MSMD}: \penalty -\@M {\tt M}ulti-{\tt S}tage {\tt M}inimum {\tt D}egree Object}{187}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {22.1}Data Structure}{188}} \citation{ame96-amd} \citation{ame96-amd} \@writefile{toc}{\contentsline {subsection}{\numberline {22.1.1}{\tt MSMDinfo} : define your algorithm}{189}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.1.2}{\tt MSMD} : driver object}{190}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.1.3}{\tt MSMDstageInfo} : statistics object for a stage of the elimination}{190}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.1.4}{\tt MSMDvtx} : vertex object}{191}} \@writefile{toc}{\contentsline {section}{\numberline {22.2}Prototypes and descriptions of {\tt MSMDinfo} methods}{191}} \newlabel{section:MSMDinfo:proto}{{22.2}{191}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.2.1}Basic methods}{191}} \newlabel{subsection:MSMDinfo:proto:basics}{{22.2.1}{191}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.2.2}Utility methods}{192}} \newlabel{subsection:MSMDinfo:proto:utility}{{22.2.2}{192}} \@writefile{toc}{\contentsline {section}{\numberline {22.3}Prototypes and descriptions of {\tt MSMD} methods}{192}} \newlabel{section:MSMD:proto}{{22.3}{192}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.3.1}Basic methods --- public}{192}} \newlabel{subsection:MSMD:proto:basics}{{22.3.1}{192}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.3.2}Initialization methods --- public}{193}} \newlabel{subsection:MSMD:proto:init}{{22.3.2}{193}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.3.3}Ordering methods --- public}{193}} \newlabel{subsection:MSMD:proto:order}{{22.3.3}{193}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.3.4}Extraction methods --- public}{193}} \newlabel{subsection:MSMD:proto:extraction}{{22.3.4}{193}} \@writefile{toc}{\contentsline {subsection}{\numberline {22.3.5}Internal methods --- private}{194}} \newlabel{subsection:MSMD:proto:private}{{22.3.5}{194}} \@writefile{toc}{\contentsline {section}{\numberline {22.4}Prototypes and descriptions of {\tt MSMDvtx} methods}{195}} \newlabel{section:MSMDvtx:proto}{{22.4}{195}} \@writefile{toc}{\contentsline {section}{\numberline {22.5}Driver programs for the {\tt MSMD} object}{195}} \newlabel{section:MSMD:drivers}{{22.5}{195}} \@writefile{toc}{\contentsline {chapter}{\numberline {23}{\tt Network}: Simple Max-flow solver}{198}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {23.1}Data Structure}{199}} \@writefile{toc}{\contentsline {section}{\numberline {23.2}Prototypes and descriptions of {\tt Network} methods}{200}} \newlabel{section:Network:proto}{{23.2}{200}} \@writefile{toc}{\contentsline {subsection}{\numberline {23.2.1}Basic methods}{200}} \newlabel{subsection:Network:proto:basics}{{23.2.1}{200}} \@writefile{toc}{\contentsline {subsection}{\numberline {23.2.2}Initializer methods}{201}} \newlabel{subsection:Network:proto:initializers}{{23.2.2}{201}} \@writefile{toc}{\contentsline {subsection}{\numberline {23.2.3}Utility methods}{201}} \newlabel{subsection:Network:proto:utilities}{{23.2.3}{201}} \@writefile{toc}{\contentsline {subsection}{\numberline {23.2.4}IO methods}{202}} \newlabel{subsection:Network:proto:IO}{{23.2.4}{202}} \@writefile{toc}{\contentsline {chapter}{\numberline {24}{\tt SolveMap}: Forward and Backsolve Map}{203}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {24.1}Data Structure}{203}} \newlabel{section:SolveMap:dataStructure}{{24.1}{203}} \@writefile{toc}{\contentsline {section}{\numberline {24.2}Prototypes and descriptions of {\tt SolveMap} methods}{204}} \newlabel{section:SolveMap:proto}{{24.2}{204}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.1}Basic methods}{204}} \newlabel{subsection:SolveMap:proto:basics}{{24.2.1}{204}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.2}Instance methods}{204}} \newlabel{subsection:SolveMap:proto:instance}{{24.2.2}{204}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.3}Initialization method}{205}} \newlabel{subsection:SolveMap:proto:init}{{24.2.3}{205}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.4}Map creation methods}{206}} \newlabel{subsection:SolveMap:proto:maps}{{24.2.4}{206}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.5}Solve setup methods}{206}} \newlabel{subsection:SolveMap:proto:setup}{{24.2.5}{206}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.6}Utility methods}{206}} \newlabel{subsection:SolveMap:proto:utilities}{{24.2.6}{206}} \@writefile{toc}{\contentsline {subsection}{\numberline {24.2.7}IO methods}{207}} \newlabel{subsection:SolveMap:proto:IO}{{24.2.7}{207}} \citation{liu90-etree} \citation{duf83-multifrontal} \citation{eis76-elementModel} \@writefile{toc}{\contentsline {chapter}{\numberline {25}{\tt Tree}: A Tree Object}{209}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {25.1}Data Structure}{209}} \newlabel{section:Tree:dataStructure}{{25.1}{209}} \@writefile{toc}{\contentsline {section}{\numberline {25.2}Prototypes and descriptions of {\tt Tree} methods}{209}} \newlabel{section:Tree:proto}{{25.2}{209}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.1}Basic methods}{210}} \newlabel{subsection:Tree:proto:basics}{{25.2.1}{210}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.2}Instance methods}{210}} \newlabel{subsection:Tree:proto:instance}{{25.2.2}{210}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.3}Initializer methods}{211}} \newlabel{subsection:Tree:proto:initializers}{{25.2.3}{211}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.4}Utility methods}{211}} \newlabel{subsection:Tree:proto:utilities}{{25.2.4}{211}} \citation{liu91-generalizedEnvelope} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.5}Metrics methods}{213}} \newlabel{subsection:Tree:proto:metrics}{{25.2.5}{213}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.6}Compression methods}{214}} \newlabel{subsection:Tree:proto:compression}{{25.2.6}{214}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.7}Justification methods}{214}} \newlabel{subsection:Tree:proto:justify}{{25.2.7}{214}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.8}Permutation methods}{214}} \newlabel{subsection:Tree:proto:permutation}{{25.2.8}{214}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.9}Drawing method}{215}} \newlabel{subsection:Tree:proto:drawing}{{25.2.9}{215}} \@writefile{toc}{\contentsline {subsection}{\numberline {25.2.10}IO methods}{216}} \newlabel{subsection:Tree:proto:IO}{{25.2.10}{216}} \@writefile{toc}{\contentsline {section}{\numberline {25.3}Driver programs for the {\tt Tree} object}{217}} \newlabel{section:Tree:drivers}{{25.3}{217}} \@writefile{lof}{\contentsline {figure}{\numberline {25.1}{\ignorespaces {\sc R2D100}: domain/separator tree. On the left {\tt heightflag = 'H'} and {\tt coordflag = 'C'}, on the right {\tt heightflag = 'D'} and {\tt coordflag = 'C'}.}}{218}} \newlabel{fig-R2D100-tree-HC}{{25.1}{218}} \@writefile{lof}{\contentsline {figure}{\numberline {25.2}{\ignorespaces {\sc R2D100}: domain/separator tree. On the left {\tt heightflag = 'H'} and {\tt coordflag = 'P'}, on the right {\tt heightflag = 'D'} and {\tt coordflag = 'P'}.}}{218}} \newlabel{fig-R2D100-tree-HP}{{25.2}{218}} \@writefile{toc}{\contentsline {part}{\uppercase {iv}\hspace {1em}Numeric Objects and Methods}{219}} \@writefile{toc}{\contentsline {chapter}{\numberline {26}{\tt Chv}: Block chevron}{221}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {26.1}Data Structure}{223}} \newlabel{section:Chv:dataStructure}{{26.1}{223}} \@writefile{toc}{\contentsline {section}{\numberline {26.2}Prototypes and descriptions of {\tt Chv} methods}{223}} \newlabel{section:Chv:proto}{{26.2}{223}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.1}Basic methods}{224}} \newlabel{subsection:Chv:proto:basics}{{26.2.1}{224}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.2}Instance methods}{224}} \newlabel{subsection:Chv:proto:instance}{{26.2.2}{224}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.3}Initialization methods}{226}} \newlabel{subsection:Chv:proto:initial}{{26.2.3}{226}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.4}Search methods}{227}} \newlabel{subsection:Chv:proto:search}{{26.2.4}{227}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.5}Pivot methods}{228}} \newlabel{subsection:Chv:proto:pivot}{{26.2.5}{228}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.6}Update methods}{228}} \newlabel{subsection:Chv:proto:updates}{{26.2.6}{228}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.7}Assembly methods}{229}} \newlabel{subsection:Chv:proto:assembly}{{26.2.7}{229}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.8}Factorization methods}{229}} \newlabel{subsection:Chv:proto:factor}{{26.2.8}{229}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.9}Copy methods}{230}} \newlabel{subsection:Chv:proto:copy}{{26.2.9}{230}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.10}Swap methods}{232}} \newlabel{subsection:Chv:proto:swap}{{26.2.10}{232}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.11}Utility methods}{233}} \newlabel{subsection:Chv:proto:utilities}{{26.2.11}{233}} \@writefile{toc}{\contentsline {subsection}{\numberline {26.2.12}IO methods}{234}} \newlabel{subsection:Chv:proto:IO}{{26.2.12}{234}} \@writefile{toc}{\contentsline {section}{\numberline {26.3}Driver programs for the {\tt Chv object}}{235}} \newlabel{section:Chv:drivers}{{26.3}{235}} \@writefile{toc}{\contentsline {chapter}{\numberline {27}{\tt ChvList}: {\tt Chv} list object }{240}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {27.1}Data Structure}{241}} \newlabel{section:ChvList:dataStructure}{{27.1}{241}} \@writefile{toc}{\contentsline {section}{\numberline {27.2}Prototypes and descriptions of {\tt ChvList} methods}{241}} \newlabel{section:ChvList:proto}{{27.2}{241}} \@writefile{toc}{\contentsline {subsection}{\numberline {27.2.1}Basic methods}{241}} \newlabel{subsection:ChvList:proto:basics}{{27.2.1}{241}} \@writefile{toc}{\contentsline {subsection}{\numberline {27.2.2}Initialization methods}{242}} \newlabel{subsection:ChvList:proto:initial}{{27.2.2}{242}} \@writefile{toc}{\contentsline {subsection}{\numberline {27.2.3}Utility methods}{242}} \newlabel{subsection:ChvList:proto:utility}{{27.2.3}{242}} \@writefile{toc}{\contentsline {subsection}{\numberline {27.2.4}IO methods}{242}} \newlabel{subsection:ChvList:proto:IO}{{27.2.4}{242}} \@writefile{toc}{\contentsline {chapter}{\numberline {28}{\tt ChvManager}: {\tt Chv} manager object }{243}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {28.1}Data Structure}{244}} \newlabel{section:ChvManager:dataStructure}{{28.1}{244}} \@writefile{toc}{\contentsline {section}{\numberline {28.2}Prototypes and descriptions of {\tt ChvManager} methods}{244}} \newlabel{section:ChvManager:proto}{{28.2}{244}} \@writefile{toc}{\contentsline {subsection}{\numberline {28.2.1}Basic methods}{244}} \newlabel{subsection:ChvManager:proto:basics}{{28.2.1}{244}} \@writefile{toc}{\contentsline {subsection}{\numberline {28.2.2}Initialization methods}{245}} \newlabel{subsection:ChvManager:proto:initial}{{28.2.2}{245}} \@writefile{toc}{\contentsline {subsection}{\numberline {28.2.3}Utility methods}{245}} \newlabel{subsection:ChvManager:proto:utility}{{28.2.3}{245}} \@writefile{toc}{\contentsline {subsection}{\numberline {28.2.4}IO methods}{245}} \newlabel{subsection:ChvManager:proto:IO}{{28.2.4}{245}} \@writefile{toc}{\contentsline {chapter}{\numberline {29}{\tt DenseMtx}: Dense matrix object}{246}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {29.1}Data Structure}{246}} \newlabel{section:DenseMtx:dataStructure}{{29.1}{246}} \@writefile{toc}{\contentsline {section}{\numberline {29.2}Prototypes and descriptions of {\tt DenseMtx} methods}{247}} \newlabel{section:DenseMtx:proto}{{29.2}{247}} \@writefile{toc}{\contentsline {subsection}{\numberline {29.2.1}Basic methods}{247}} \newlabel{subsection:DenseMtx:proto:basics}{{29.2.1}{247}} \@writefile{toc}{\contentsline {subsection}{\numberline {29.2.2}Instance methods}{247}} \newlabel{subsection:DenseMtx:proto:instance}{{29.2.2}{247}} \@writefile{toc}{\contentsline {subsection}{\numberline {29.2.3}Initialization methods}{249}} \newlabel{subsection:DenseMtx:proto:initial}{{29.2.3}{249}} \@writefile{toc}{\contentsline {subsection}{\numberline {29.2.4}Utility methods}{250}} \newlabel{subsection:DenseMtx:proto:utility}{{29.2.4}{250}} \@writefile{toc}{\contentsline {subsection}{\numberline {29.2.5}IO methods}{252}} \newlabel{subsection:DenseMtx:proto:IO}{{29.2.5}{252}} \@writefile{toc}{\contentsline {chapter}{\numberline {30}{\tt FrontMtx}: Front matrix}{254}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {30.1}Data Structures}{257}} \newlabel{section:FrontMtx:dataStructure}{{30.1}{257}} \@writefile{toc}{\contentsline {section}{\numberline {30.2}Prototypes and descriptions of {\tt FrontMtx} methods}{259}} \newlabel{section:FrontMtx:proto}{{30.2}{259}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.1}Basic methods}{259}} \newlabel{subsection:FrontMtx:proto:basics}{{30.2.1}{259}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.2}Instance methods}{259}} \newlabel{subsection:FrontMtx:proto:instance}{{30.2.2}{259}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.3}Initialization methods}{261}} \newlabel{subsection:FrontMtx:proto:initialization}{{30.2.3}{261}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.4}Utility Factorization methods}{262}} \newlabel{subsection:FrontMtx:proto:utility-factor}{{30.2.4}{262}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.5}Serial Factorization method}{264}} \newlabel{subsection:FrontMtx:proto:factor}{{30.2.5}{264}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.6}QR factorization utility methods}{265}} \newlabel{subsection:FrontMtx:proto:utilityQR}{{30.2.6}{265}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.7}Serial $QR$ Factorization method}{266}} \newlabel{subsection:FrontMtx:proto:factorQR}{{30.2.7}{266}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.8}Postprocessing methods}{266}} \newlabel{subsection:FrontMtx:proto:postprocess}{{30.2.8}{266}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.9}Utility Solve methods}{267}} \newlabel{subsection:FrontMtx:proto:utility-solve}{{30.2.9}{267}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.10}Serial Solve method}{268}} \newlabel{subsection:FrontMtx:proto:solve-serial}{{30.2.10}{268}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.11}Serial $QR$ Solve method}{269}} \newlabel{subsection:FrontMtx:proto:QRsolve-serial}{{30.2.11}{269}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.12}Utility methods}{269}} \newlabel{subsection:FrontMtx:proto:utility}{{30.2.12}{269}} \@writefile{toc}{\contentsline {subsection}{\numberline {30.2.13}IO methods}{270}} \newlabel{subsection:FrontMtx:proto:IO}{{30.2.13}{270}} \@writefile{toc}{\contentsline {section}{\numberline {30.3}Driver programs for the {\tt DFrontMtx} object}{271}} \newlabel{section:DFrontMtx:drivers}{{30.3}{271}} \@writefile{toc}{\contentsline {chapter}{\numberline {31}{\tt ILUMtx}: Incomplete $LU$ Matrix Object}{273}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:ILUMtx}{{31}{273}} \@writefile{toc}{\contentsline {section}{\numberline {31.1}Data Structure}{273}} \newlabel{section:ILUMtx:dataStructure}{{31.1}{273}} \@writefile{toc}{\contentsline {section}{\numberline {31.2}Prototypes and descriptions of {\tt ILUMtx} methods}{274}} \newlabel{section:ILUMtx:proto}{{31.2}{274}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.1}Basic methods}{274}} \newlabel{subsection:ILUMtx:proto:basics}{{31.2.1}{274}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.2}Initialization Methods}{275}} \newlabel{subsection:ILUMtx:proto:initializers}{{31.2.2}{275}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.3}Factorization Methods}{275}} \newlabel{subsection:ILUMtx:proto:factor}{{31.2.3}{275}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.4}Solve Methods}{275}} \newlabel{subsection:ILUMtx:proto:solve}{{31.2.4}{275}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.5}Utility methods}{276}} \newlabel{subsection:ILUMtx:proto:utility}{{31.2.5}{276}} \@writefile{toc}{\contentsline {subsection}{\numberline {31.2.6}IO methods}{276}} \newlabel{subsection:ILUMtx:proto:IO}{{31.2.6}{276}} \@writefile{toc}{\contentsline {section}{\numberline {31.3}Driver programs for the {\tt ILUMtx} object}{277}} \newlabel{section:ILUMtx:drivers}{{31.3}{277}} \@writefile{toc}{\contentsline {chapter}{\numberline {32}{\tt InpMtx}: Input Matrix Object}{278}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:InpMtx}{{32}{278}} \@writefile{toc}{\contentsline {section}{\numberline {32.1}Data Structure}{279}} \newlabel{section:InpMtx:dataStructure}{{32.1}{279}} \@writefile{toc}{\contentsline {section}{\numberline {32.2}Prototypes and descriptions of {\tt InpMtx} methods}{281}} \newlabel{section:InpMtx:proto}{{32.2}{281}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.1}Basic methods}{281}} \newlabel{subsection:InpMtx:proto:basics}{{32.2.1}{281}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.2}Instance Methods}{281}} \newlabel{subsection:InpMtx:proto:instance}{{32.2.2}{281}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.3}Methods to initialize and change state}{284}} \newlabel{subsection:InpMtx:proto:initializers}{{32.2.3}{284}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.4}Input methods}{285}} \newlabel{subsection:InpMtx:proto:input}{{32.2.4}{285}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.5}Permutation, map and support methods}{286}} \newlabel{subsection:InpMtx:proto:permute}{{32.2.5}{286}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.6}Matrix-matrix multiply methods}{287}} \newlabel{subsection:InpMtx:proto:mvm}{{32.2.6}{287}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.7}Graph construction methods}{289}} \newlabel{subsection:InpMtx:proto:construct}{{32.2.7}{289}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.8}Submatrix extraction method}{290}} \newlabel{subsection:InpMtx:proto:extract}{{32.2.8}{290}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.9}Utility methods}{290}} \newlabel{subsection:InpMtx:proto:utility}{{32.2.9}{290}} \@writefile{toc}{\contentsline {subsection}{\numberline {32.2.10}IO methods}{292}} \newlabel{subsection:InpMtx:proto:IO}{{32.2.10}{292}} \@writefile{toc}{\contentsline {section}{\numberline {32.3}Driver programs for the {\tt InpMtx} object}{293}} \newlabel{section:InpMtx:drivers}{{32.3}{293}} \@writefile{toc}{\contentsline {chapter}{\numberline {33}{\tt Iter}: Iterative Methods}{301}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {33.1}Data Structure}{301}} \newlabel{section:Iter:dataStructure}{{33.1}{301}} \@writefile{toc}{\contentsline {section}{\numberline {33.2}Prototypes and descriptions of {\tt Iter} methods}{301}} \newlabel{section:Iter:proto}{{33.2}{301}} \@writefile{toc}{\contentsline {subsection}{\numberline {33.2.1}Utility methods}{301}} \newlabel{subsection:Iter:proto:utility}{{33.2.1}{301}} \@writefile{toc}{\contentsline {subsection}{\numberline {33.2.2}Iterative methods}{303}} \@writefile{toc}{\contentsline {section}{\numberline {33.3}Driver programs}{306}} \newlabel{section:Iter:drivers}{{33.3}{306}} \@writefile{toc}{\contentsline {chapter}{\numberline {34}{\tt PatchAndGoInfo}: Pivot Modification Object}{311}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {34.1}Data Structure}{312}} \newlabel{section:PatchAndGoInfo:dataStructure}{{34.1}{312}} \@writefile{toc}{\contentsline {section}{\numberline {34.2}Prototypes and descriptions of {\tt PatchAndGoInfo} methods}{312}} \newlabel{section:PatchAndGoInfo:proto}{{34.2}{312}} \@writefile{toc}{\contentsline {subsection}{\numberline {34.2.1}Basic methods}{312}} \newlabel{subsection:PatchAndGoInfo:proto:basics}{{34.2.1}{312}} \@writefile{toc}{\contentsline {subsection}{\numberline {34.2.2}Initializer methods}{313}} \newlabel{subsection:PatchAndGoInfo:proto:initializers}{{34.2.2}{313}} \@writefile{toc}{\contentsline {chapter}{\numberline {35}{\tt Pencil}: Matrix pencil}{314}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {35.1}Data Structure}{314}} \newlabel{section:Pencil:dataStructure}{{35.1}{314}} \@writefile{toc}{\contentsline {section}{\numberline {35.2}Prototypes and descriptions of {\tt Pencil} methods}{314}} \newlabel{section:Pencil:proto}{{35.2}{314}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.2.1}Basic methods}{314}} \newlabel{subsection:Pencil:proto:basics}{{35.2.1}{314}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.2.2}Initialization methods}{315}} \newlabel{subsection:Pencil:proto:initial}{{35.2.2}{315}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.2.3}Utility methods}{315}} \newlabel{subsection:Pencil:proto:utilities}{{35.2.3}{315}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.2.4}IO methods}{316}} \newlabel{subsection:Pencil:proto:IO}{{35.2.4}{316}} \@writefile{toc}{\contentsline {chapter}{\numberline {36}{\tt SemiImplMtx}: Semi-Implicit Factorization}{317}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:SemiImplMtx}{{36}{317}} \@writefile{toc}{\contentsline {section}{\numberline {36.1}Data Structure}{318}} \newlabel{section:SemiImplMtx:dataStructure}{{36.1}{318}} \@writefile{toc}{\contentsline {section}{\numberline {36.2}Prototypes and descriptions of {\tt SemiImplMtx} methods}{318}} \newlabel{section:SemiImplMtx:proto}{{36.2}{318}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2.1}Basic methods}{318}} \newlabel{subsection:SemiImplMtx:proto:basics}{{36.2.1}{318}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2.2}Initialization Methods}{319}} \newlabel{subsection:SemiImplMtx:proto:initializers}{{36.2.2}{319}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2.3}Solve Methods}{319}} \newlabel{subsection:SemiImplMtx:proto:solve}{{36.2.3}{319}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2.4}Utility methods}{320}} \newlabel{subsection:SemiImplMtx:proto:utility}{{36.2.4}{320}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2.5}IO methods}{320}} \newlabel{subsection:SemiImplMtx:proto:IO}{{36.2.5}{320}} \@writefile{toc}{\contentsline {section}{\numberline {36.3}Driver programs for the {\tt SemiImplMtx} object}{320}} \newlabel{section:SemiImplMtx:drivers}{{36.3}{320}} \@writefile{toc}{\contentsline {chapter}{\numberline {37}{\tt SubMtx}: Submatrix object}{322}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {37.1}Data Structure}{323}} \newlabel{section:SubMtx:dataStructure}{{37.1}{323}} \@writefile{toc}{\contentsline {section}{\numberline {37.2}Prototypes and descriptions of {\tt SubMtx} methods}{324}} \newlabel{section:SubMtx:proto}{{37.2}{324}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.1}Basic methods}{325}} \newlabel{subsection:SubMtx:proto:basics}{{37.2.1}{325}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.2}Instance methods}{325}} \newlabel{subsection:SubMtx:proto:instance}{{37.2.2}{325}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.3}Initialization methods}{328}} \newlabel{subsection:SubMtx:proto:initial}{{37.2.3}{328}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.4}Vector scaling methods}{329}} \newlabel{subsection:SubMtx:proto:scale}{{37.2.4}{329}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.5}Solve methods}{329}} \newlabel{subsection:SubMtx:proto:solve}{{37.2.5}{329}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.6}Utility methods}{330}} \newlabel{subsection:SubMtx:proto:utility}{{37.2.6}{330}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2.7}IO methods}{331}} \newlabel{subsection:SubMtx:proto:IO}{{37.2.7}{331}} \@writefile{toc}{\contentsline {section}{\numberline {37.3}Driver programs for the {\tt SubMtx object}}{333}} \newlabel{section:SubMtx:drivers}{{37.3}{333}} \@writefile{toc}{\contentsline {chapter}{\numberline {38}{\tt SubMtxList}: {\tt SubMtx} list object }{337}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {38.1}Data Structure}{338}} \newlabel{section:SubMtxList:dataStructure}{{38.1}{338}} \@writefile{toc}{\contentsline {section}{\numberline {38.2}Prototypes and descriptions of {\tt SubMtxList} methods}{338}} \newlabel{section:SubMtxList:proto}{{38.2}{338}} \@writefile{toc}{\contentsline {subsection}{\numberline {38.2.1}Basic methods}{338}} \newlabel{subsection:SubMtxList:proto:basics}{{38.2.1}{338}} \@writefile{toc}{\contentsline {subsection}{\numberline {38.2.2}Initialization methods}{339}} \newlabel{subsection:SubMtxList:proto:initial}{{38.2.2}{339}} \@writefile{toc}{\contentsline {subsection}{\numberline {38.2.3}Utility methods}{339}} \newlabel{subsection:SubMtxList:proto:utility}{{38.2.3}{339}} \@writefile{toc}{\contentsline {subsection}{\numberline {38.2.4}IO methods}{339}} \newlabel{subsection:SubMtxList:proto:IO}{{38.2.4}{339}} \@writefile{toc}{\contentsline {chapter}{\numberline {39}{\tt SubMtxManager}: {\tt SubMtx} object manager}{340}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {39.1}Data Structure}{341}} \newlabel{section:SubMtxManager:dataStructure}{{39.1}{341}} \@writefile{toc}{\contentsline {section}{\numberline {39.2}Prototypes and descriptions of {\tt SubMtxManager} methods}{341}} \newlabel{section:SubMtxManager:proto}{{39.2}{341}} \@writefile{toc}{\contentsline {subsection}{\numberline {39.2.1}Basic methods}{341}} \newlabel{subsection:SubMtxManager:proto:basics}{{39.2.1}{341}} \@writefile{toc}{\contentsline {subsection}{\numberline {39.2.2}Initialization methods}{342}} \newlabel{subsection:SubMtxManager:proto:initial}{{39.2.2}{342}} \@writefile{toc}{\contentsline {subsection}{\numberline {39.2.3}Utility methods}{342}} \newlabel{subsection:SubMtxManager:proto:utility}{{39.2.3}{342}} \@writefile{toc}{\contentsline {subsection}{\numberline {39.2.4}IO methods}{342}} \newlabel{subsection:SubMtxManager:proto:IO}{{39.2.4}{342}} \@writefile{toc}{\contentsline {chapter}{\numberline {40}{\tt SymbFac}: Symbolic Factorization}{343}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:SymbFac}{{40}{343}} \@writefile{toc}{\contentsline {section}{\numberline {40.1}Data Structure}{343}} \@writefile{toc}{\contentsline {section}{\numberline {40.2}Prototypes and descriptions of {\tt SymbFac} methods}{343}} \newlabel{subsection:SymbFac:proto}{{40.2}{343}} \@writefile{toc}{\contentsline {subsection}{\numberline {40.2.1}Symbolic factorization methods}{343}} \newlabel{subsection:SymbFac:proto:symbfac}{{40.2.1}{343}} \@writefile{toc}{\contentsline {section}{\numberline {40.3}Driver programs }{344}} \newlabel{section:SymbFac:drivers}{{40.3}{344}} \@writefile{toc}{\contentsline {part}{\uppercase {v}\hspace {1em}Miscellaneous Methods}{346}} \citation{bha93-localND} \@writefile{toc}{\contentsline {chapter}{\numberline {41}{\tt Misc} directory}{348}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:Misc}{{41}{348}} \@writefile{toc}{\contentsline {section}{\numberline {41.1}Prototypes and descriptions of methods in the {\tt Misc} directory}{348}} \newlabel{section:Misc:proto}{{41.1}{348}} \@writefile{toc}{\contentsline {subsection}{\numberline {41.1.1}Theoretical nested dissection methods}{348}} \citation{bha93-localND} \citation{bha93-localND} \@writefile{toc}{\contentsline {subsection}{\numberline {41.1.2}Multiple minimum degree, Nested dissection and multisection wrapper methods}{350}} \@writefile{toc}{\contentsline {subsection}{\numberline {41.1.3}Graph drawing method}{351}} \@writefile{toc}{\contentsline {subsection}{\numberline {41.1.4}Linear system construction}{351}} \@writefile{toc}{\contentsline {section}{\numberline {41.2}Driver programs found in the {\tt Misc} directory}{352}} \newlabel{section:Misc:drivers}{{41.2}{352}} \@writefile{lof}{\contentsline {figure}{\numberline {41.1}{\ignorespaces {\sc R2D100}}}{355}} \newlabel{fig-R2D100}{{41.1}{355}} \@writefile{lof}{\contentsline {figure}{\numberline {41.2}{\ignorespaces {\sc R2D100: fishnet domain decomposition}}}{356}} \newlabel{fig-R2D100-fishnet}{{41.2}{356}} \@writefile{toc}{\contentsline {part}{\uppercase {vi}\hspace {1em}Multithreaded Methods}{361}} \@writefile{toc}{\contentsline {chapter}{\numberline {42}{\tt MT} directory}{363}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:MT}{{42}{363}} \@writefile{toc}{\contentsline {section}{\numberline {42.1}Data Structure}{364}} \newlabel{section:MT:dataStructure}{{42.1}{364}} \@writefile{toc}{\contentsline {section}{\numberline {42.2}Prototypes and descriptions of {\tt MT} methods}{364}} \newlabel{section:MT:proto}{{42.2}{364}} \@writefile{toc}{\contentsline {subsection}{\numberline {42.2.1}Matrix-matrix multiply methods}{364}} \newlabel{subsection:MT:proto:mvm}{{42.2.1}{364}} \@writefile{toc}{\contentsline {subsection}{\numberline {42.2.2}Multithreaded Factorization methods}{365}} \newlabel{subsection:FrontMtx:proto:factorMT}{{42.2.2}{365}} \@writefile{toc}{\contentsline {subsection}{\numberline {42.2.3}Multithreaded $QR$ Factorization method}{366}} \newlabel{subsection:FrontMtx:proto:factorQR_MT}{{42.2.3}{366}} \@writefile{toc}{\contentsline {subsection}{\numberline {42.2.4}Multithreaded Solve method}{366}} \newlabel{subsection:FrontMtx:proto:solve-multithreaded}{{42.2.4}{366}} \@writefile{toc}{\contentsline {subsection}{\numberline {42.2.5}Multithreaded $QR$ Solve method}{367}} \newlabel{subsection:FrontMtx:proto:QRsolve-MT}{{42.2.5}{367}} \@writefile{toc}{\contentsline {section}{\numberline {42.3}Driver programs for the multithreaded functions}{367}} \newlabel{section:MT:drivers}{{42.3}{367}} \@writefile{toc}{\contentsline {part}{\uppercase {vii}\hspace {1em}MPI Methods}{373}} \@writefile{toc}{\contentsline {chapter}{\numberline {43}{\tt MPI} directory}{375}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:MPI}{{43}{375}} \@writefile{toc}{\contentsline {section}{\numberline {43.1}Data Structure}{375}} \newlabel{section:MPI:dataStructure}{{43.1}{375}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.1.1}{\tt MatMulInfo} : Matrix-matrix multiply information object}{375}} \newlabel{subsection:MatMulInfo}{{43.1.1}{375}} \@writefile{toc}{\contentsline {section}{\numberline {43.2}Prototypes and descriptions of {\tt MPI} methods}{376}} \newlabel{section:MPI:proto}{{43.2}{376}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.1}Split and redistribution methods}{376}} \newlabel{subsection:MPI:proto:split}{{43.2.1}{376}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.2}Gather and scatter methods}{379}} \newlabel{subsection:MPI:proto:gather-scatter}{{43.2.2}{379}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.3}Symbolic Factorization methods}{379}} \newlabel{subsection:MPI:proto:symbfac}{{43.2.3}{379}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.4}Numeric Factorization methods}{380}} \newlabel{subsection:MPI:proto:factor}{{43.2.4}{380}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.5}Post-processing methods}{381}} \newlabel{subsection:MPI:proto:postprocess}{{43.2.5}{381}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.6}Numeric Solve methods}{382}} \newlabel{subsection:MPI:proto:solve}{{43.2.6}{382}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.7}Matrix-matrix multiply methods}{383}} \newlabel{subsection:MPI:proto:mmm}{{43.2.7}{383}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.8}Broadcast methods}{384}} \newlabel{subsection:MPI:proto:broadcast}{{43.2.8}{384}} \@writefile{toc}{\contentsline {subsection}{\numberline {43.2.9}Utility methods}{385}} \newlabel{subsection:MPI:proto:utility}{{43.2.9}{385}} \@writefile{toc}{\contentsline {section}{\numberline {43.3}Driver programs}{386}} \newlabel{section:MPI:drivers}{{43.3}{386}} \bibdata{spooles} \bibcite{ame96-amd}{1} \bibcite{and90-random}{2} \bibcite{ash95-compressed-graphs}{3} \bibcite{ash89-relaxed}{4} \bibcite{ash97-DDSEP}{5} \bibcite{ash98-maxflow}{6} \bibcite{bent93-sort}{7} \bibcite{bha93-localND}{8} \bibcite{dam92-compressed}{9} \bibcite{duf83-multifrontal}{10} \bibcite{eis76-elementModel}{11} \bibcite{sparsematlab}{12} \bibcite{hr98-msndtalk}{13} \bibcite{karypis98metis}{14} \bibcite{liu85-mfstorage}{15} \bibcite{liu90-etree}{16} \bibcite{liu91-generalizedEnvelope}{17} \bibcite{ng96-mindefIdaho}{18} \bibcite{rot96-mindefIdaho}{19} \bibcite{rot98-mindef}{20}