# to unbundle, sh this file (in an empty directory) echo docultex.tex 1>&2 sed >docultex.tex <<'-------cut here----- docultex.tex' 's/^X//' X%% X%% This is file `docultex.tex', X%% Documentation for siam macros for use with LaTeX 2e X%% X%% By Paul Duggan for the Society for Industrial and Applied X%% Mathematics. X%% X%% December 1, 1995 X%% X%% Version 1.0a X%% X%% You are not allowed to change this file. X%% X%% You are allowed to distribute this file under the condition that X%% it is distributed together with all of the files in the siam macro X%% distribution. These are: X%% X%% siamltex.cls (main LaTeX macro for SIAM) X%% siamltex.sty (includes siamltex.cls for compatibility mode) X%% siam10.clo (size option for 10pt papers) X%% subeqn.clo (allows equation numbners with lettered subelements) X%% siam.bst (bibliographic style file for BibTeX) X%% docultex.tex (this file) X%% lexample.tex (example file for latex macro) X%% X%% If you receive only some of these files from someone, complain! X%% X%% You are NOT ALLOWED to distribute this file alone. You are NOT X%% ALLOWED to take money for the distribution or use of either this X%% file or a changed version, except for a nominal charge for copying X%% etc. X%% \CharacterTable X%% {Upper-case \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 X%% Lower-case \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 X%% Digits \0\1\2\3\4\5\6\7\8\9 X%% Exclamation \! Double quote \" Hash (number) \# X%% Dollar \$ Percent \% Ampersand \& X%% Acute accent \' Left paren \( Right paren \) X%% Asterisk \* Plus \+ Comma \, X%% Minus \- Point \. Solidus \/ X%% Colon \: Semicolon \; Less than \< X%% Equals \= Greater than \> Question mark \? X%% Commercial at \@ Left bracket \[ Backslash \\ X%% Right bracket \] Circumflex \^ Underscore \_ X%% Grave accent \` Left brace \{ Vertical bar \| X%% Right brace \} Tilde \~} X X\documentclass[final]{siamltex} X X\title{USING SIAM'S \LaTeX\ MACROS\thanks{This work was Xsupported by the Society for Industrial and Applied XMathematics}} X X\author{Paul Duggan\thanks{Society for Industrial and XApplied Mathematics, Philadelphia, Pennsylvania. X(duggan@siam. org). Questions, comments, or corrections Xto this document may be directed to that email address.}} X X X\begin{document} X\maketitle X X\begin{abstract} XDocumentation is given for use of the SIAM \LaTeX\ macros. These Xmacros are now compatible with \LaTeX$2_{\varepsilon}$. XInstructions and suggestions for compliance with SIAM style Xstandards are also included. Familiarity with standard \LaTeX\ commands Xis assumed. X\end{abstract} X X\begin{keywords}\end{keywords} X X\begin{AMS}\end{AMS} X X X\pagestyle{myheadings} X\thispagestyle{plain} X\markboth{PAUL DUGGAN}{USING SIAM'S \LaTeX\ MACROS} X X\section{Introduction} X XThis file is documentation for the SIAM \LaTeX\ macros, and Xprovides instruction for submission of your files. X XTo accommodate authors who electronically typeset their manuscripts, XSIAM supports the use of \LaTeX. To ensure quality typesetting according Xto SIAM style standards, SIAM provides a \LaTeX\ macro style file. XUsing \LaTeX\ to format a manuscript should simplify the editorial process Xand lessen the author's proofreading burden. However, Xit is still necessary to proofread the galley proofs with care. X XElectronic files should not be submitted until the paper has been Xaccepted, and then not until requested to do so by someone in the SIAM Xoffice. Once an article is slated for an issue, Xsomeone from the SIAM office will contact the author about any or all Xof the following: editorial and stylistic queries, Xsupplying the source files (and any supplementary macros) Xfor the properly formatted article, and handling figures. X XWhen submitting electronic files (electronic submissions) X(to {\tt tex@siam.org}) include the journal, issue, and author's Xname in the subject line of the message. XAuthors are responsible for ensuring that the paper generated Xfrom the source files exactly matches the paper that Xwas accepted for publication by the review editor. If it does not, Xinformation on how it differs should be indicated in the transmission Xof the file. When submitting a file, please be sure to include any Xadditional macros (other than those provided by SIAM) that will be Xneeded to run the paper. X XSIAM uses MS-DOS-based computers for \LaTeX\ processing. Therefore Xall filenames should be restricted to eight characters or less, Xplus a three character extension. X XOnce the files are corrected here at SIAM, we will mail the revised Xproofs to be read against the original edited hardcopy Xmanuscript. We are not Xset up to shuttle back and forth varying electronic versions of each Xpaper, so we must rely on hard copy of the galleys. The author's proofreading Xis an important but easily overlooked step. Even if SIAM were not Xto introduce a single editorial change into your manuscript, there Xwould still be a need to check, because electronic transmission Xcan introduce errors. X XThe distribution contains the following items: {\tt Xsiamltex.cls}, the main macro package based on {\tt Xarticle.cls}; {\tt siam10.clo}, for the ten-point size option;\linebreak X{\tt subeqn.clo}, a style option for equation numbering (see \S3 for Xan explanation); and {\tt siam.bst}, X the style file for use with {\sc Bib}\TeX. Also included are this Xfile {\tt docultex.tex} and a sample file {\tt lexample.tex}. XThe sample file represents a standard application of Xthe macros. The rest of this paper will highlight Xsome keys to effective macro use, as well as point out options and Xspecial cases, and describe SIAM style standards to which Xauthors should conform. X X X\section{Headings} XThe top matter of a journal paper falls into a standard Xformat. It begins of course with the \verb|\documentclass| command X X\begin{verbatim} X X\documentclass{siamltex} X X\end{verbatim} X XOther class options can be included Xin the bracketed argument of the command, separated by commas. X X XThe title and author parts are formatted using the X\verb|\title| and \verb|\author| commands as described in Lamport X\cite{Lamport}. The \verb|\date| Xcommand is not used. \verb|\maketitle| produces the actual Xoutput of the commands. X XThe addresses and support acknowledgments are put into the X\verb|\author| commands via \verb|\thanks|. If support is Xoverall for the authors, the support acknowledgment should Xbe put in a \verb|\thanks| command in the \verb|\title|. XSpecific support should go following the addresses of the Xindividual authors in the same \verb|\thanks| command. X XSometimes authors have support or addresses in common which Xnecessitates having multiple \verb|\thanks| commands for Xeach author. Unfortunately \LaTeX\ does not normally allow this, Xso a special procedure must be used. An example of this procedure Xfollows. Grant information can also be run into both authors' Xfootnotes. X X\begin{verbatim} X X\title{TITLE OF PAPER} X X\author{A.~U. Thorone\footnotemark[2]\ \footnotemark[5] X\and A.~U. Thortwo\footnotemark[3]\ \footnotemark[5] X\and A.~U. Thorthree\footnotemark[4]} X X\begin{document} X\maketitle X X\renewcommand{\thefootnote}{\fnsymbol{footnote}} X X\footnotetext[2]{Address of A.~U. Thorone} X\footnotetext[3]{Address of A.~U. Thortwo} X\footnotetext[4]{Address of A.~U. Thorthree} X\footnotetext[5]{Support in common for the first and second Xauthors.} X X\renewcommand{\thefootnote}{\arabic{footnote}} X X\end{verbatim} X XNotice that the footnote marks begin with {\tt [2]} Xbecause the first mark (the asterisk) will be used in the Xtitle for date-received information by SIAM, even if not Xalready used for support data. This is just one example; Xother situations follow a similar pattern. X XFollowing the author and title is the abstract, key words Xlisting, and AMS subject classification number(s), Xdesignated using the \verb|{abstract}|, \verb|{keywords}|, Xand \verb|{AMS}| environments. If Xthere is only one AMS number, the commands X\verb|\begin{AM}| and \verb|\end{AM}| are used Xinstead of \verb|{AMS}|. This causes the heading to be Xin the singular. Authors are responsible for providing AMS numbers. XThey can be found in the Annual Index of Math Reviews, or Xthrough {\tt e-Math} ({\tt telnet e-math.ams.com}; login Xand password are both {\tt e-math}). X XLeft and right running heads should be provided in the Xfollowing way. X X\begin{verbatim} X X\pagestyle{myheadings} X\thispagestyle{plain} X\markboth{A.~U. THORONE AND A.~U. THORTWO}{SHORTER PAPER XTITLE} X X\end{verbatim} X X\section{Equations and mathematics} X XOne advantage of \LaTeX\ is that it can automatically number Xequations and refer to these equation numbers in text. While plain \TeX's Xmethod of equation numbering (explicit numbering using X\verb|\leqno|) works in the SIAM macro, it is not preferred Xexcept in certain cases. SIAM style guidelines call for Xaligned equations in many circumstances, and \LaTeX's X\verb|{eqnarray}| environment is not compatible with X\verb|\leqno| and \LaTeX\ is not compatible with the plain X\TeX\ command \verb|\eqalign| and \verb|\leqalignno|. Since XSIAM may have to alter or realign certain groups of Xequations, it is necessary to use the \LaTeX\ system of Xautomatic numbering. X XSometimes it is desirable to designate subequations of a larger Xequation number. The subequations are designated with X(roman font) letters appended after the number. SIAM has Xsupplemented its macros with the {\tt subeqn.clo} option which Xdefines the environment \verb|{subequations}|. X X\begin{verbatim} X X\begin{subequations}\label{EKx} X\begin{equation} X y_k = B y_{k-1} + f, \qquad k=1,2,3,\ldots X\end{equation} Xfor any initial vector $ y_0$. Then X\begin{equation} X y_k\rightarrow u \mbox{\quad iff\quad} \rho( B)<1. X\end{equation} X\end{subequations} X X\end{verbatim} X XAll equations within the \verb|{subequations}| environment Xwill keep the same overall number, but the letter Xdesignation will increase. X XClear equation formatting using \TeX\ can be challenging. Aside from Xthe regular \TeX\ documentation, authors will find Nicholas XJ. Higham's book {\em Handbook of Writing for the Mathematical XSciences\/} \cite{Higham} useful for guidelines and tips on Xformatting with \TeX. The book covers many other topics related Xto article writing as well. X XAuthors commonly make mistakes by using X \verb|<|, \verb|>|, \verb|\mid|, and X\verb|\parallel| as delimiters, instead of X\verb|\langle|, \verb|\rangle|, \verb:|:, Xand \verb:\|:. The incorrect symbols have particular Xmeanings distinct from the correct ones and should not be confused. X X\begin{table}[htbp] X\caption{Illustration of incorrect delimiter use.} X\begin{center}\footnotesize X\renewcommand{\arraystretch}{1.3} X\begin{tabular}{|ll|ll|}\hline X\multicolumn{2}{|c|}{{\bf Wrong}} & \multicolumn{2}{c|}{{\bf Right}}\\ \hline X\verb|| & $$ & \verb|\langle x, y\rangle| & $\langle x, y\rangle$\\ X\verb|5 < \mid A \mid| & $5 < \mid A \mid$ & \verb:5 < |A|: & $5 < |A|$\\ X\verb|6x = \parallel x|&&&\\ X\verb| - 1\parallel_{i}| & $6x = \parallel x - 1\parallel_{i}$ & X \verb:6x = \|x - 1\|_{i}: & $6x = \| x - 1\|_{i}$\\ \hline X\end{tabular} X\end{center} X\end{table} X XAnother common author error is to put large (and even medium sized) Xmatrices in-line with the text, rather than displaying them. This Xcreates unattractive line spacing problems, and should be assiduously Xavoided. Text-sized matrices (like $({a \atop b} {b \atop c})$) might Xbe used but anything much more complex than the example cited will Xnot be easy to read and should be displayed. X XMore information on the formatting of equations and aligned Xequations is found in Lamport \cite{Lamport}. Authors bear Xprimary responsibility for formatting their equations within Xmargins and in an aesthetically pleasing and informative manner. X XThe SIAM macros include additional roman math words, or ``log-like" Xfunctions, to those provided in standard \TeX. The following Xcommands are added: \verb:\const:, \verb:\diag:, \verb:\grad:, X\verb:\Range:, \verb:\rank:, and \verb:\supp:. XThese commands produce the same word as the command name Xin math mode, in upright type. X X\section{Special fonts} X XSIAM supports the use of the AMS-\TeX\ fonts (version 2.0 Xand later). The package \verb|amsfonts| can be included with Xthe command\linebreak \verb|\usepackage{amsfonts}|. This package Xis part of the AMS-\LaTeX distribution, available Xfrom the AMS or from the Comprehensive TeX Archive XNetwork (anonymous ftp to ftp.shsu.edu). The blackboard bold font in this Xfont package can be used for designating number sets. XThis is preferable to other methods of combining letters X(such as I and R for the real numbers) to produce pseudo-bold Xletters but this is tolerable as well. Typographically speaking, Xnumber sets may simply be designated using regular bold letters; Xthe blackboard bold typeface was designed to fulfil a desire Xto simulate the limitations of a chalk board in printed type. X X X\subsection{Punctuation} XAll standard punctuation and all numerals should be set in roman type X(upright) even within italic text. The only exceptions are periods and Xcommas. They may be set to match the surrounding text. X XReferences to sections should use the symbol \S, generated by X\verb|\S|. (If the reference begins a sentence, the term ``Section'' Xshould be spelled out in full.) Authors should not redefine X\verb|\S|, say, to be a calligraphic S, because \verb|\S| Xmust be reserved for use as the section symbol. X XAuthors sometimes confuse the use of various types of dashes. XHyphens (\verb|-|, -) are used for some compound words (many Xsuch words should have no hyphen but must be run together, Xlike ``nonzero,'' or split apart, like ``well defined''). XMinus signs (\verb|$-$|, $-$) Xshould be used in math to represent subtraction or negative numbers. XEn dashes (\verb|--|, --) are used for ranges (like 3--5, XJune--August), or for joined names (like Runge--Kutta). Em dashes X(\verb|---|, ---) are used to set off a clause---such as this Xone---from the rest of the sentence. X X X\subsection{Text formatting} X XSIAM style preferences do not make regular use of the \verb|{enumerate}| Xand \verb|{itemize}| environments. Instead, X{\tt siamltex.cls} includes definitions of two alternate list Xenvironments, \verb|{remunerate}| and \verb|{romannum}|. XUnlike the standard itemized lists, these environments do Xnot indent the secondary lines of text. The labels, whether Xdefaults or the optional user-defined, are always aligned Xflush right. X XThe \verb|{remunerate}| environment consecutively numbers Xeach item with an arabic numeral followed by a period. This Xnumber is always upright, even in slanted Xenvironments. (For those wondering at the unusual Xnaming of this environment, it comes from Seroul and Levy's X\cite{SerLev} definition of a similar macro for plain \TeX: X%{\tt \char"5C meti} X\verb|\meti| which is X% {\tt \char"5C item} X\protect\verb|\item| spelled backwards. Thus X%{\tt \{remunerate\}}, X\verb|{remunerate}| Xa portion of X%{\tt \{enumerate\}} X\verb|{enumerate}| Xspelled backwards.) X XThe \verb|{romannum}| environment consecutively numbers Xeach item with a lower-case roman numeral enclosed in Xparentheses. This number will always be upright within Xslanted environments (as in theorems). X X X\section{Theorems and Lemmas} XTheorems, lemmas, corollaries, definitions, and propositions are covered Xin the SIAM macros by the theorem-environments X\verb|{theorem}|, \verb|{lemma}|, \verb|{corollary}|, X\verb|{definition}| and \verb|{proposition}|. These are all Xnumbered in the same sequence and produce labels in small Xcaps with an italic body. Other environments may be specified by the X\verb|\newtheorem| command. SIAM's style is for Remarks and Examples Xto appear with italic labels and an upright roman body. X X\begin{verbatim} X X\begin{theorem} XSample theorem included for illustration. XNumbers and parentheses, like equation $(3.2)$, should be set Xin roman type. Note that words (as opposed to ``log-like'' Xfunctions) in displayed equations, such as X$$ x^2 = Y^2 \sin z^2 \mbox{ for all } x $$ Xwill appear in italic type in a theorem, though normally Xthey should appear in roman.\end{theorem} X X\end{verbatim} X XThis sample produces Theorem 4.1 below. X X\begin{theorem} XSample theorem included for illustration. XNumbers and parentheses, like equation $(3.2)$, should be set Xin roman type. Note that words (as opposed to ``log-like'' Xfunctions) in displayed equations, such as X$$ x^2 = Y^2 \sin z^2 \mbox{ for all } x $$ Xwill appear in italic type in a theorem, though normally Xthey should appear in roman. X\end{theorem} X X XProofs are handled with the \verb|\begin{proof}| X\verb|\end{proof}| environment. A ``QED'' box \endproof\ is created Xautomatically by \verb|\end{proof}|, but this should be Xpreceded with a \verb|\qquad|. X XNamed proofs, if used, must be done independently by the Xauthors. SIAM style specifies that proofs which end with Xdisplayed equations should have the QED box two ems (\verb|\qquad|) Xfrom the end of the equation on line with it horizontally. XBelow is an example of how this can be done: X X\begin{verbatim} X X{\em Proof}. Proof of the previous theorem X . X . X . Xthus, X$$ Xa^2 + b^2 = c^2 \qquad\endproof X$$ X X\end{verbatim} X X X\section{Figures and tables} XFigures and tables sometimes require special consideration. XTables in SIAM style are need to be set in eight point size Xby using the \verb|\footnotesize| command inside the X\verb|\begin{table}| environment. Also, they should be designed Xso that they do not extend beyond the text margins. X XSIAM style requires that no figures or tables appear in the Xreferences section of the paper. \LaTeX\ is notorious for Xmaking figure placement difficult, so it is important to Xpay particular attention to figure placement near the Xreferences in the text. All figures and tables should Xbe referred to in the text. X XSIAM supports the use of {\tt epsfig} for including {\sc PostScript} Xfigures. All {\sc Post\-Script} figures should be sent in separate Xfiles. See the {\tt epsfig} documentation (available via Xanonymous ftp from CTAN: ftp.shsu.edu) for more details on the use Xof this style option. It is a good idea to submit high-quality Xhardcopy of all {\sc Post\-Script} figures just in case there Xis difficulty in the reproduction of the figure. Figures produced Xby other non-\TeX\ methods should be included as high-quality Xhardcopy when the manuscript is submitted. X X{\sc PostScript} figures that are sent should be generated with Xsufficient line thickness. Some past figures authors have sent Xhad their line widths become very faint when SIAM set the papers Xusing a high-quality 1200dpi printer. X XHardcopy for non-{\sc PostScript} figures should be included in Xthe submission of the hardcopy of the manuscript. Space Xshould be left in the \verb|{figure}| command for the Xhardcopy to be inserted in production. X X\section{Bibliography and Bib\TeX} X XIf using {\sc Bib}\TeX, authors need not submit the {\tt .bib} file for Xtheir papers. Merely submit the completed {\tt .bbl} file, having used X{\tt siam.bst} as their bibliographic style file. {\tt siam.bst} Xonly works with Bib\TeX\ version 99i and later. The use of XBib\TeX\ and the preparation of a {\tt .bib} file is Xdescribed in greater detail in \cite{Lamport}. X XIf not using Bib\TeX, SIAM bibliographic references follow Xthe format of the following examples: X X\begin{verbatim} X X\bibitem{Ri} {\sc W. Riter}, X{\em Title of a paper appearing in a book}, in The Book XTitle, E.~D. One, E.~D. Two, and A.~N. Othereditor, eds., XPublisher, Location, 1992, pp.~000--000. X X\bibitem{AuTh1} {\sc A.~U. Thorone}, {\em Title of paper Xwith lower case letters}, SIAM J. Abbrev. Correctly, 2 X(1992), pp.~000--000. X X\bibitem{A1A2} {\sc A.~U. Thorone and A.~U. Thortwo}, {\em XTitle of paper appearing in book}, in Book Title: With All XInitial Caps, Publisher, Location, 1992. X X\bibitem{A1A22} \sameauthor, % generates the 3 em rule X{\em Title of Book{\rm :} Note Initial Caps and {\rm ROMAN XTYPE} for Punctuation and Acronyms}, Publisher, XLocation, pp.~000--000, 1992. X X\bibitem{AuTh3} {\sc A.~U. Thorthree}, {\em Title of paper Xthat's not published yet}, SIAM. J. Abbrev. Correctly, to appear. X X\end{verbatim} X XOther types of references fall into the same general Xpattern. See the sample file or any SIAM journal for other Xexamples. Authors must correctly format their bibliography to Xbe considered as having used the macros correctly. An incorrectly Xformatted bibliography is not only time-consuming for SIAM to Xprocess but it is possible that errors may be introduced into Xit by keyboarders/copy editors. X XAs an alternative to the above style of reference, an alphanumeric Xcode may be used in place of the number (e.g., [AUTh90]). The same Xcommands are used, but \verb|\bibitem| takes an optional argument Xcontaining the desired alphanumeric code. X XAnother alternative is no number, simply the authors' names and Xthe year of publication following in parentheses. The rest of the Xformat is identical. The macros do not support this alternative Xdirectly, but modifications to the macro definition are possible Xif this reference style is preferred. X X X\section{Conclusion} Many other style suggestions and tips Xcould be given to help authors but are beyond the scope of this Xdocument. Simple mistakes can be avoided by increasing your familiarity Xwith how \LaTeX\ functions. The books referred to throughout this document Xare also useful to the author who wants clear, beautiful typography Xwith minimal mistakes. X X\Appendix X\section{The use of appendices} XThe \verb|\appendix| command may be used before the final sections Xof a paper to designate them as appendices. Once \verb|\appendix| Xis called, all subsequent sections will appear as X X\appendix X\section{Title of appendix} Each one will be sequentially lettered Xinstead of numbered. Theorem-like environments, subsections, Xand equations will also have the section number changed to a letter. X XIf there is only {\em one} appendix, however, the \verb|\Appendix| X(with a capital letter) should be used instead. This produces only Xthe word {\bf Appendix} in the section title, and does not add a letter. XEquation numbers, theorem numbers and subsections of the appendix Xwill have the letter ``A'' designating the section number. X XIf you don't want to title your appendix, and just call it X{\bf Appendix A.} for example, use \verb|\appendix\section*{}| Xand don't include anything in the title field. This works Xopposite to the way \verb|\section*| usually works, by including the Xsection number, but not using a title. X X XAppendices should appear before the bibliography section, not after, Xand any acknowledgments should be placed after the appendices and before Xthe bibliography. X X\begin{thebibliography}{1} X\bibitem{GoMiSa} {\sc M. Goossens, F. Mittelbach, and A. Samarin}, X{\em The} \LaTeX\ {\em Companion}, Addison-Wesley, Reading, MA, 1994. X X\bibitem{Higham} {\sc N.~J. Higham}, {\em Handbook of Writing for Xthe Mathematical Sciences}, Society for Industrial and Applied XMathematics, Philadelphia, PA, 1993. X X\bibitem{Lamport} {\sc L. Lamport}, \LaTeX: {\em A Document XPreparation System}, Addison-Wesley, Reading, MA, 1986. X X\bibitem{SerLev} {\sc R. Seroul and S. Levy}, {\em A XBeginner's Book of} \TeX, Springer-Verlag, Berlin, New XYork, 1991. X\end{thebibliography} X X X\end{document} X%% end of file `docultex.tex' -------cut here----- docultex.tex echo lexample.tex 1>&2 sed >lexample.tex <<'-------cut here----- lexample.tex' 's/^X//' X%% X%% This is file `lexample.tex', X%% Sample file for siam macros for use with LaTeX 2e X%% X%% By Paul Duggan for the Society for Industrial and Applied X%% Mathematics. X%% X%% October 1, 1995 X%% X%% Version 1.0 X%% X%% You are not allowed to change this file. X%% X%% You are allowed to distribute this file under the condition that X%% it is distributed together with all of the files in the siam macro X%% distribution. These are: X%% X%% siamltex.cls (main LaTeX macro file for SIAM) X%% siamltex.sty (includes siamltex.cls for compatibility mode) X%% siam10.clo (size option for 10pt papers) X%% subeqn.clo (allows equation numbners with lettered subelements) X%% siam.bst (bibliographic style file for BibTeX) X%% docultex.tex (documentation file) X%% lexample.tex (this file) X%% X%% If you receive only some of these files from someone, complain! X%% X%% You are NOT ALLOWED to distribute this file alone. You are NOT X%% ALLOWED to take money for the distribution or use of either this X%% file or a changed version, except for a nominal charge for copying X%% etc. X%% \CharacterTable X%% {Upper-case \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 X%% Lower-case \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 X%% Digits \0\1\2\3\4\5\6\7\8\9 X%% Exclamation \! Double quote \" Hash (number) \# X%% Dollar \$ Percent \% Ampersand \& X%% Acute accent \' Left paren \( Right paren \) X%% Asterisk \* Plus \+ Comma \, X%% Minus \- Point \. Solidus \/ X%% Colon \: Semicolon \; Less than \< X%% Equals \= Greater than \> Question mark \? X%% Commercial at \@ Left bracket \[ Backslash \\ X%% Right bracket \] Circumflex \^ Underscore \_ X%% Grave accent \` Left brace \{ Vertical bar \| X%% Right brace \} Tilde \~} X X X\documentclass[final]{siamltex} X X% definitions used by included articles, reproduced here for X% educational benefit, and to minimize alterations needed to be made X% in developing this sample file. X X\newcommand{\pe}{\psi} X\def\d{\delta} X\def\ds{\displaystyle} X\def\e{{\epsilon}} X\def\eb{\bar{\eta}} X\def\enorm#1{\|#1\|_2} X\def\Fp{F^\prime} X\def\fishpack{{FISHPACK}} X\def\fortran{{FORTRAN}} X\def\gmres{{GMRES}} X\def\gmresm{{\rm GMRES($m$)}} X\def\Kc{{\cal K}} X\def\norm#1{\|#1\|} X\def\wb{{\bar w}} X\def\zb{{\bar z}} X X% some definitions of bold math italics to make typing easier. X% They are used in the corollary. X X\def\bfE{\mbox{\boldmath$E$}} X\def\bfG{\mbox{\boldmath$G$}} X X\title{Sample file for SIAM \LaTeX\ macro package\thanks{This X work was supported by the Society for Industrial and X Applied Mathematics, Philadelphia, Pennsylvania.}} X X% The thanks line in the title should be filled in if there is X% any support acknowledgement for the overall work to be included X% This \thanks is also used for the received by date info, but X% authors are not expected to provide this. X X\author{Paul Duggan\thanks{Composition Department, Society X for Industrial and Applied Mathematics, 3600 Univeristy X City Science Center, Philadelphia, Pennsylvania, X 19104-2688 ({\tt duggan@siam.org}).} X \and Various A.~U. Thors\thanks{Various Affiliations, X supported by various foundation grants.}} X X\begin{document} X X\maketitle X X\begin{abstract} XAn example of SIAM \LaTeX\ macros is presented. Various Xaspects of composing manuscripts for SIAM's journal series Xare illustrated with actual examples from accepted Xmanuscripts. SIAM's stylistic standards are adhered to Xthroughout, and illustrated. X\end{abstract} X X\begin{keywords} Xsign-nonsingular matrix, LU-factorization, indicator Xpolynomial X\end{keywords} X X\begin{AMS} X15A15, 15A09, 15A23 X\end{AMS} X X\pagestyle{myheadings} X\thispagestyle{plain} X\markboth{P. DUGGAN AND V. A. U. THORS}{SIAM MACRO EXAMPLES} X X X\section{Introduction and examples} XThis paper presents a sample file for the use of SIAM's X\LaTeX\ macro package. It illustrates the features of the Xmacro package, using actual examples culled from various Xpapers published in SIAM's journals. It is to be expected Xthat this sample will provide examples of how to use the Xmacros to generate standard elements of journal papers, Xe.g., theorems, definitions, or figures. This paper also Xserves as an example of SIAM's stylistic preferences for Xthe formatting of such elements as bibliographic references, Xdisplayed equations, and equation arrays, among others. XSome special circumstances are not dealt with in this Xsample file; for such information one should see the Xincluded documentation file. X X{\em Note:} This paper is not to be read in any form for content. XThe conglomeration of equations, lemmas, and other text elements were Xput together solely for typographic illustrative purposes and don't Xmake any sense as lemmas, equations, etc. X X\subsection{Sample text} XLet $S=[s_{ij}]$ ($1\leq i,j\leq n$) be a $(0,1,-1)$-matrix Xof order $n$. Then $S$ is a {\em sign-nonsingular matrix} X(SNS-matrix) provided that each real matrix with the same Xsign pattern as $S$ is nonsingular. There has been Xconsiderable recent interest in constructing and Xcharacterizing SNS-matrices \cite{bs}, \cite{klm}. There Xhas also been interest in strong forms of Xsign-nonsingularity \cite{djd}. In this paper we give a new Xgeneralization of SNS-matrices and investigate some of Xtheir basic properties. X XLet $S=[s_{ij}]$ be a $(0,1,-1)$-matrix of order $n$ and Xlet $C=[c_{ij}]$ be a real matrix of order $n$. The pair X$(S,C)$ is called a {\em matrix pair of order} $n$. XThroughout, $X=[x_{ij}]$ denotes a matrix of order $n$ Xwhose entries are algebraically independent indeterminates Xover the real field. Let $S\circ X$ denote the Hadamard Xproduct (entrywise product) of $S$ and $X$. We say that the Xpair $(S,C)$ is a {\em sign-nonsingular matrix pair of Xorder} $n$, abbreviated SNS-{\em matrix pair of order} $n$, Xprovided that the matrix \[A=S\circ X+C\] is nonsingular Xfor all positive real values of the $x_{ij}$. If $C=O$ Xthen the pair $(S,O)$ is a SNS-matrix pair if and only if X$S$ is a SNS-matrix. If $S=O$ then the pair $(O,C)$ is a XSNS-matrix pair if and only if $C$ is nonsingular. Thus XSNS-matrix pairs include both nonsingular matrices and Xsign-nonsingular matrices as special cases. X XThe pairs $(S,C)$ with X\[S=\left[\begin{array}{cc}1&0\\0&0\end{array}\right],\qquad XC=\left[\begin{array}{cc}1&1\\1&1\end{array}\right]\] and X\[S=\left[\begin{array}{ccc}1&1&0\\1&1&0\\0&0&0\end{array}\right],\qquad XC=\left[\begin{array}{ccc}0&0&1\\0&2&0\\ X3&0&0\end{array}\right]\] are examples of SNS-matrix pairs. X X\subsection{A remuneration list} XIn this paper we consider the evaluation of integrals of the Xfollowing forms: X\begin{equation} X\int_a^b \left( \sum_i E_i B_{i,k,x}(t) \right) X \left( \sum_j F_j B_{j,l,y}(t) \right) dt,\label{problem} X\end{equation} X\begin{equation} X\int_a^b f(t) \left( \sum_i E_i B_{i,k,x}(t) \right) dt,\label{problem2} X\end{equation} Xwhere $B_{i,k,x}$ is the $i$th B-spline of order $k$ defined over the Xknots $x_i, x_{i+1}, \ldots, x_{i+k}$. XWe will consider B-splines normalized so that their integral is one. XThe splines may be of different orders and Xdefined on different knot sequences $x$ and $y$. XOften the limits of integration will be the entire real line, $-\infty$ Xto $+\infty$. Note that (\ref{problem}) is a special case of (\ref{problem2}) Xwhere $f(t)$ is a spline. X X XThere are five different methods for calculating (\ref{problem}) Xthat will be considered: X\begin{remunerate} X\item Use Gauss quadrature on each interval. X\item Convert the integral to a linear combination of X integrals of products of B-splines and provide a recurrence for X integrating the product of a pair of B-splines. X\item Convert the sums of B-splines to piecewise X B\'{e}zier format and integrate segment X by segment using the properties of the Bernstein polynomials. X\item Express the product of a pair of B-splines as a linear combination X of B-splines. X Use this to reformulate the integrand as a linear combination X of B-splines, and integrate term by term. X\item Integrate by parts. X\end{remunerate} XOf these five, only methods 1 and 5 are suitable for calculating X(\ref{problem2}). The first four methods will be touched on and the Xlast will be discussed at length. X X X\subsection{Some displayed equations and \{{\tt eqnarray}\}s} X By introducing the product topology on $R^{m \times m} \times XR^{n \times n}$ with the induced inner product X\begin{equation} X\langle (A_{1},B_{1}), (A_{2},B_{2})\rangle := \langle A_{1},A_{2}\rangle X+ \langle B_{1},B_{2}\rangle,\label{eq2.10} X\end{equation} Xwe calculate the Fr\'{e}chet derivative of $F$ as follows: X\begin{eqnarray} X F'(U,V)(H,K) &=& \langle R(U,V),H\Sigma V^{T} + U\Sigma K^{T} - XP(H\Sigma V^{T} + U\Sigma K^{T})\rangle \nonumber \\ X &=& \langle R(U,V),H\Sigma V^{T} + U\Sigma K^{T}\rangle \label{eq2.11} \\ X&=& \langle R(U,V)V\Sigma^{T},H\rangle + \langle \Sigma^{T}U^{T}R(U,V),K^{T}\rangle. \nonumber X\end{eqnarray} XIn the middle line of (\ref{eq2.11}) we have used the fact that the range of X$R$ is always perpendicular to the range of $P$. The gradient $\nabla F$ of X$F$, therefore, may be interpreted as the Xpair of matrices: X\begin{equation} X \nabla F(U,V) = (R(U,V)V\Sigma^{T},R(U,V)^{T}U\Sigma ) \in XR^{m \times m} \times R^{n \times n}. \label{eq2.12} X\end{equation} XBecause of the product topology, we know X\begin{equation} X {\cal T}_{(U,V)}({\cal O} (m) \times {\cal O} (n)) = X{\cal T}_{U}{\cal O} (m) \times {\cal T}_{V}{\cal O} (n), \label{eq2.13} X\end{equation} Xwhere ${\cal T}_{(U,V)}({\cal O} (m) \times {\cal O} (n))$ stands for the Xtangent space to the manifold ${\cal O} (m) \times {\cal O} (n)$ at $(U,V) X\in {\cal O} (m) \times {\cal O} (n)$ and so on. The projection of X$\nabla F(U,V)$ onto ${\cal T}_{(U,V)}({\cal O} (m) \times {\cal O} (n))$, Xtherefore, is the product of the projection of the first component of X$\nabla F(U,V)$ onto ${\cal T}_{U}{\cal O} (m)$ and the projection of the Xsecond component of $\nabla F(U,V)$ onto ${\cal T}_{V}{\cal O} (n)$. XIn particular, we claim that the Xprojection $ g(U,V)$ of the gradient $\nabla F(U,V)$ onto X${\cal T}_{(U,V)}({\cal O} (m) \times {\cal O} (n))$ is given by the pair of Xmatrices: X\begin{eqnarray} Xg(U,V) = && \left( \frac{R(U,V)V\Sigma^{T}U^{T}-U\Sigma V^{T}R(U,V)^{T}}{2}U, X\right. \nonumber \\[-1.5ex] X\label{eq2.14}\\[-1.5ex] X&&\quad \left. \frac{R(U,V)^{T}U\Sigma V^{T}-V X \Sigma^{T}U^{T}R(U,V)}{2}V \right).\nonumber X\end{eqnarray} XThus, the vector field X\begin{equation} X\frac{d(U,V)}{dt} = -g(U,V) \label{eq2.15} X\end{equation} Xdefines a steepest descent flow on the manifold ${\cal O} (m) \times X{\cal O} (n)$ for the objective function $F(U,V)$. X X X\section{Main results} X XLet $(S,C)$ be a matrix pair of order $n$. The determinant X\[\det (S\circ X+C)\] Xis a polynomial in the indeterminates of $X$ of degree at Xmost $n$ over the real field. We call this polynomial the X{\em indicator polynomial} of the matrix pair $(S,C)$ Xbecause of the following proposition. X X\begin{theorem} X\label{th:prop} XThe matrix pair $(S,C)$ is a {\rm SNS}-matrix pair if and Xonly if all the nonzero coefficients in its indicator Xpolynomial have the same sign and there is at least one Xnonzero coefficient. X\end{theorem} X X\begin{proof} XAssume that $(S,C)$ is a SNS-matrix pair. Clearly the Xindicator polynomial has a nonzero coefficient. Consider a Xmonomial X\begin{equation} X\label{eq:mono} Xb_{i_{1},\ldots,i_{k};j_{1},\ldots,j_{k}}x_{i_{1}j_{1}}\cdots Xx_{i_{k}j_{k}} X\end{equation} Xoccurring in the indicator polynomial with a nonzero Xcoefficient. By taking the $x_{ij}$ that occur in X(\ref{eq:mono}) large and all others small, we see that any Xmonomial that occurs in the indicator polynomial with a Xnonzero coefficient can be made to dominate all others. XHence all the nonzero coefficients have the same sign. The Xconverse is im-\linebreak mediate. \qquad\end{proof} X X XFor SNS-matrix pairs $(S,C)$ with $C=O$ the indicator Xpolynomial is a homogeneous polynomial of degree $n$. In Xthis case Theorem \ref{th:prop} is a standard fact about XSNS-matrices. X X\begin{lemma}[{\rm Stability}] X\label{stability} XGiven $T>0$, suppose that $\| \epsilon (t) \|_{1,2} \leq h^{q-2}$ Xfor $0 \leq t \leq T$ and $q \geq 6$. XThen there exists a positive number $B$ that depends on X$T$ and the exact solution $\pe$ only such that for all $0 \leq t \leq T$, X\begin{equation} X\label{Gron} X\frac {d}{dt} \| \epsilon (t) \| _{1,2} \leq B X ( h^{q-3/2} + \| \epsilon (t) \|_{1,2})\;. X\end{equation} XThe function $B(T)$ can be chosen to be nondecreasing in time. X\end{lemma} X X X\begin{theorem} X\label{th:gibson} XThe maximum number of nonzero entries in a {\rm SNS}-matrix X$S$ of order $n$ equals \[\frac{n^{2}+3n-2}{2}\] with Xequality if and only if there exist permutation matrices Xsuch that $P|S|Q=T_{n}$ where X\begin{equation} X\label{eq:gibson} XT_{n}=\left[\begin{array}{cccccc} 1&1&\cdots&1&1&1\\ X1&1&\cdots&1&1&1\\ 0&1&\cdots&1&1&1\\ X\vdots&\vdots&\ddots&\vdots&\vdots&\vdots\\ X0&0&\cdots&1&1&1\\ 0&0&\cdots&0&1&1\end{array}\right]. X\end{equation} X\end{theorem} X XWe note for later use that each submatrix of $T_{n}$ of Xorder $n-1$ has all 1s on its main diagonal. X XWe now obtain a bound on the number of nonzero entries of X$S$ in a SNS-matrix pair $(S,C)$ in terms of the degree of Xthe indicator polynomial. We denote the strictly upper Xtriangular (0,1)-matrix of order $m$ with all 1s above the Xmain diagonal by $U_{m}$. The all 1s matrix of size $m$ by X$p$ is denoted by $J_{m,p}$. X X X\begin{proposition}[{\rm Convolution theorem}] X\label{pro:2.1} Let X\begin{eqnarray*} Xa\ast u(t) = \int_0^t a(t- \tau) u(\tau) d\tau, \hspace{.2in} t \in X(0, \infty). X\end{eqnarray*} XThen X\begin{eqnarray*} X\widehat{a\ast u}(s) = \widehat{a}(s)\widehat{u}(s). X\end{eqnarray*} X\end{proposition} X X\begin{lemma} X\label{lem:3.1} XFor $s_0 >0$, if X$$ X\int_0^{\infty} e^{-2s_0 t}v^{(1)}(t) v(t) dt \; \leq 0 \;, X$$ Xthen X\begin{eqnarray*} X\int_0^{\infty} e^{-2s_0 t} v^2(t) dt \; \leq \; \frac{1}{2s_0} v^2(0). X\end{eqnarray*} X\end{lemma} X X{\em Proof}. Applying integration by parts, we obtain X\begin{eqnarray*} X\int_0^{\infty} e^{-2s_0 t} [v^2(t)-v^2(0)] dt X&=&\lim_{t\rightarrow \infty}\left ( X-\frac{1}{2s_0}e^{-2s_0 t}v^2(t) \right ) +\frac{1}{s_0} X\int_0^{\infty} e^{-2s_0 t}v^{(1)}(t)v(t)dt\\ X&\leq& \frac{1}{s_0} \int_0^{\infty} e^{-2s_0 t} v^{(1)}(t)v(t) dt \;\; X\leq \;\; 0. X\end{eqnarray*} XThus X$$ X\int_0^{\infty} e^{-2s_0 t} v^2(t) dt \;\;\leq v^2(0) \int_0^{\infty} X\;\;e^{-2s_0 t} dt\;\;=\;\;\frac{1}{2s_0} v^2(0).\eqno\endproof X$$ X X\begin{corollary}\label{c4.1} XLet $ \bfE $ satisfy $(5)$--$(6)$ and Xsuppose $ \bfE^h $ satisfies $(7)$ and $(8)$ Xwith a general $ \bfG $. Let $ \bfG= \nabla \times {\bf \Phi} + \nabla p,$ X$p \in H_0^1 (\Omega) $. Suppose that $\nabla p$ and $ \nabla \times X{\bf \Phi} $ satisfy all the assumptions of Theorems $4.1$ and X$4.2$, respectively. In addition suppose all the regularity Xassumptions of Theorems $4.1$--$4.2$ are satisfied. Then Xfor $ 0 \le t \le T $ and $ 0 < \epsilon \le \epsilon_0 $ there exists a Xconstant $ C = C(\epsilon, T) $ such that X$$ X\Vert (\bfE - \bfE^h)(t) \Vert_0 \le C h^{k+1- \epsilon}, X$$ Xwhere $ C $ also depends on the constants given in Theorems X$4.1$ and $4.2$. X\end{corollary} X X X\begin{definition} XLet $S$ be an isolated invariant set with isolating neighborhood $N$. XAn {\em index pair} for $S$ is a pair of compact sets $(N_{1},N_{0})$ Xwith $N_{0} \subset N_{1} \subset N$ such that: X\begin{romannum} X\item $cl(N_{1} \backslash N_{0})$ Xis an isolating neighborhood for $S$. X\item $N_{i}$ is positively invariant relative to $N$ for $i=0,1$, Xi.e., given X$x \in N_{i}$ and $x \cdot [0,t] \subset N$, then $x \cdot [0,t] \subset XN_{i}$. X\item $N_{0}$ is an exit set for $N_{1}$, i.e. if $x \in N_{1}$, X$x \cdot [0, \infty ) \not\subset N_{1}$, then there is a $T \geq 0$ such Xthat $x \cdot [0,T] \subset N_{1}$ and $x \cdot T \in N_{0}$. X\end{romannum} X\end{definition} X X\subsection{Numerical experiments} We conducted numerical experiments Xin computing inexact Newton steps for discretizations of a X{\em modified Bratu problem}, given by X\begin{eqnarray} X{\ds \Delta w + c e^w + d{ {\partial w}\over{\partial x} } } X&=&{\ds f \quad {\rm in}\ D, }\nonumber\\[-1.5ex] X\label{bratu} \\[-1.5ex] X{\ds w }&=&{\ds 0 \quad {\rm on}\ \partial D , } \nonumber X\end{eqnarray} Xwhere $c$ and $d$ are constants. The actual Bratu problem has $d=0$ and X$f \equiv0$. It provides a simplified model of nonlinear diffusion Xphenomena, e.g., in combustion and semiconductors, and has been Xconsidered by Glowinski, Keller, and Rheinhardt \cite{GloKR85}, Xas well as by a number of other investigators; see \cite{GloKR85} Xand the references therein. See also problem 3 by Glowinski and Keller Xand problem 7 by Mittelmann in the collection of nonlinear model Xproblems assembled by Mor\'e \cite{More}. The modified problem X(\ref{bratu}) has been used as a test problem for inexact Newton Xmethods by Brown and Saad \cite{Brown-Saad1}. X XIn our experiments, we took $D = [0,1]\times[0,1]$, $f \equiv0$, X$c=d=10$, and discretized (\ref{bratu}) using the usual second-order Xcentered differences over a $100\times100$ mesh of equally Xspaced points in $D$. In \gmres($m$), we took $m=10$ and used fast XPoisson right preconditioning as in the experiments in \S2. The computing Xenvironment was as described in \S2. All computing was done Xin double precision. X X X X\begin{figure}[ht] X\vspace{2.5in} X\caption{{\rm Log}$_{10}$ of the residual norm versus the number of X{\rm GMRES$(m)$} iterations for the finite difference methods.} X\label{diff} X\end{figure} X X X XIn the first set of experiments, we allowed each method to Xrun for $40$ {\gmresm} iterations, starting with zero as the initial Xapproximate solution, after which the limit of residual norm Xreduction had been reached. The results are shown in Fig.~\ref{diff}. XIn Fig.~\ref{diff}, the top curve was produced by method FD1. XThe second curve from the top is actually a superposition of Xthe curves produced by methods EHA2 and FD2; the two curves are Xvisually indistinguishable. Similarly, the third curve from Xthe top is a superposition of the curves produced by methods EHA4 Xand FD4, and the fourth curve from the top, which lies barely above Xthe bottom curve, is a superposition of the curves produced by Xmethods EHA6 and FD6. The bottom curve was produced by method A. X XIn the second set of experiments, our purpose was to assess the Xrelative amount of computational work required by the methods Xwhich use higher-order differencing to reach comparable levels Xof residual norm reduction. We compared pairs of methods EHA2 Xand FD2, EHA4 and FD4, and EHA6 and FD6 by observing in each of X20 trials the number of {\gmresm} iterations, number of $F$-evaluations, Xand run time required by each method to reduce the residual norm Xby a factor of $\e$, where for each pair of methods $\e$ was chosen Xto be somewhat greater than the limiting ratio of final to Xinitial residual norms obtainable by the methods. In these trials, Xthe initial approximate solutions were obtained by generating random Xcomponents as in the similar experiments in \S2. We note that for every Xmethod, the numbers of {\gmresm} iterations and $F$-evaluations required Xbefore termination did not vary at all over the 20 trials. The {\gmresm} Xiteration counts, numbers of $F$-evaluations, and means and standard Xdeviations of the run times are given in Table \ref{diffstats}. X X\begin{table} X\caption{Statistics over $20$ trials of {\rm GMRES$(m)$} iteration numbers, X$F$-evaluations, and run times required to reduce the residual norm by Xa factor of $\e$. For each method, the number of {\rm GMRES$(m)$} iterations Xand $F$-evaluations was the same in every trial.} X X\begin{center} \footnotesize X\begin{tabular}{|c|c|c|c|c|c|} \hline X&& Number of & Number of & Mean Run Time & Standard \\ XMethod & $\e$ & Iterations & $F$-Evaluations& (Seconds) & Deviation \\ \hline X\lower.3ex\hbox{EHA2} & \lower.3ex\hbox{$10^{-10}$} & \lower.3ex\hbox{26} & X\lower.3ex\hbox{32} & \lower.3ex\hbox{47.12} & \lower.3ex\hbox{.1048} \\ XFD2 & $10^{-10}$ & 26 & 58 & 53.79 & .1829 \\ \hline X\lower.3ex\hbox{EHA4} & \lower.3ex\hbox{$10^{-12}$} & \lower.3ex\hbox{30} & X\lower.3ex\hbox{42} & \lower.3ex\hbox{56.76} & \lower.3ex\hbox{.1855} \\ XFD4 & $10^{-12}$ & 30 & 132 & 81.35 & .3730 \\ \hline X\lower.3ex\hbox{EHA6} & \lower.3ex\hbox{$10^{-12}$} & \lower.3ex\hbox{30} & X\lower.3ex\hbox{48} & \lower.3ex\hbox{58.56} & \lower.3ex\hbox{.1952} \\ XFD6 & $10^{-12}$ & 30 & 198 & 100.6 & .3278 \\ \hline X\end{tabular} X\end{center} X\label{diffstats} X\end{table} X XIn our first set of experiments, we took $c=d=10$ and used right Xpreconditioning with a fast Poisson solver from {\fishpack} X\cite{Swarztrauber-Sweet}, which is very effective for these Xfairly small values of $c$ and $d$. We first started each method Xwith zero as the initial approximate solution and allowed it Xto run for 40 {\gmresm} iterations, after which the limit of residual Xnorm reduction had been reached. Figure \ref{pdep} shows plots Xof the logarithm of the Euclidean norm of the residual versus Xthe number of {\gmresm} iterations for the three methods. We note Xthat in Fig.~\ref{pdep} and in all other figures below, the plotted Xresidual norms were not the values maintained by {\gmresm}, but rather Xwere computed as accurately as possible ``from scratch.'' That is, Xat each {\gmresm} iteration, the current approximate solution was Xformed and its product with the coefficient matrix was subtracted Xfrom the right-hand side, all in double precision. XIt was important to compute the residual norms in this way because Xthe values maintained by {\gmresm} become increasingly untrustworthy Xas the limits of residual norm reduction are neared; see \cite{Walker88}. XIt is seen in Fig.~\ref{pdep} that Algorithm EHA achieved Xthe same ultimate level of residual norm reduction as the FDP Xmethod and required only a few more {\gmresm} iterations to do Xso. X X\begin{figure}[t] X\vspace{3in} X\caption{{\rm Log}$_{10}$ of the residual norm versus the number of X{\rm GMRES}$(m)$ iterations for $c=d=10$ with fast Poisson Xpreconditioning. Solid curve: Algorithm {\rm EHA}; dotted Xcurve: {\rm FDP} method; dashed curve: {\rm FSP} method.} X\label{pdep} X\end{figure} X X XIn our second set of experiments, we took $c=d=100$ and carried out Xtrials analogous to those in the first set above. No preconditioning Xwas used in these experiments, both because we wanted to compare Xthe methods without preconditioning and because the fast XPoisson preconditioning used in the first set of experiments is Xnot cost effective for these large values of $c$ and $d$. We first Xallowed each method to run for 600 {\gmresm} iterations, Xstarting with zero as the initial approximate solution, after which Xthe limit of residual norm reduction had been reached. X X X\section*{Acknowledgments} XThe author thanks the anonymous authors whose work largely Xconstitutes this sample file. He also thanks the INFO-TeX mailing Xlist for the valuable indirect assistance he received. X X X\begin{thebibliography}{10} X\bibitem{bs} {\sc R.~A. Brualdi and B.~L. Shader}, X{\em On sign-nonsingular matrices and the conversion of the Xpermanent into the determinant}, in Applied Geometry and XDiscrete Mathematics, The Victor Klee Festschrift, P. XGritzmann and B. Sturmfels, eds., American Mathematical XSociety, Providence, RI, 1991, pp. 117--134. X X\bibitem{djd} {\sc J. Drew, C.~R. Johnson, and P. van den Driessche}, X{\em Strong forms of nonsingularity}, Linear Algebra Appl., X162 (1992), to appear. X X\bibitem{g} {\sc P.~M. Gibson}, {\em Conversion of the permanent into the Xdeterminant}, Proc. Amer. Math. Soc., 27 (1971), Xpp.~471--476. X X\bibitem{klm} X{\sc V.~Klee, R.~Ladner, and R.~Manber}, {\it XSignsolvability revisited}, Linear Algebra Appl., 59 X(1984), pp.~131--157. X X\bibitem{m} X{\sc K. Murota}, LU-{\em decomposition of a matrix with Xentries of different kinds}, Linear Algebra Appl., 49 X(1983), pp.~275--283. X X\bibitem{Axelsson} X{\sc O.~Axelsson}, {\em Conjugate gradient type methods for unsymmetric and X inconsistent systems of linear equations}, Linear Algebra Appl., 29 (1980), X pp.~1--16. X X\bibitem{Brown-Saad1} X{\sc P.~N. Brown and Y.~Saad}, {\em Hybrid {K}rylov methods for nonlinear X systems of equations}, SIAM J. Sci. Statist. Comput., 11 (1990), X pp.~450--481. X X\bibitem{DES} X{\sc R.~S. Dembo, S.~C. Eisenstat, and T.~Steihaug}, {\em Inexact {N}ewton X methods}, SIAM J. Numer. Anal., 19 (1982), pp.~400--408. X X\bibitem{EES} X{\sc S.~C. Eisenstat, H.~C. Elman, and M.~H. Schultz}, {\em Variational X iterative methods for nonsymmetric systems of linear equations}, SIAM J. X Numer. Anal., 20 (1983), pp.~345--357. X X\bibitem{Elman} X{\sc H.~C. Elman}, {\em Iterative methods for large, sparse, nonsymmetric X systems of linear equations}, Ph.D. thesis, Department of Computer X Science, Yale University, New Haven, CT, 1982. X X\bibitem{GloKR85} X{\sc R.~Glowinski, H.~B. Keller, and L.~Rheinhart}, {\em Continuation-conjugate X gradient methods for the least-squares solution of nonlinear boundary value X problems}, SIAM J. Sci. Statist. Comput., 6 (1985), pp.~793--832. X X\bibitem{Golub-VanLoan} X{\sc G.~H. Golub and C.~F. Van~Loan}, {\em Matrix Computations}, X Second ed., The Johns Hopkins University Press, Baltimore, MD, 1989. X X\bibitem{More} X{\sc J.~J. Mor\'e}, {\em A collection of nonlinear model problems}, in X Computational Solutions of Nonlinear Systems of Equations, E.~L. Allgower and X K.~Georg, eds., Lectures in Applied Mathematics, Vol. 26, American X Mathematical Society, Providence, RI, 1990, pp.~723--762. X X\bibitem{Saad} X{\sc Y.~Saad}, {\em Krylov subspace methods for solving large unsymmetric X linear systems}, Math. Comp., 37 (1981), pp.~105--126. X X\bibitem{Saad-Schultz} X{\sc Y.~Saad and M.~H. Schultz}, {\em {\rm GMRES}: A generalized minimal X residual method for solving nonsymmetric linear systems}, SIAM J. Sci. Statist. X Comput., 7 (1986), pp.~856--869. X X\bibitem{Swarztrauber-Sweet} X{\sc P.~N. Swarztrauber and R.~A. Sweet}, {\em Efficient {\rm FORTRAN} X subprograms for the solution of elliptic partial differential equations}, ACM X Trans. Math. Software, 5 (1979), pp.~352--364. X X\bibitem{Walker88} X{\sc H.~F. Walker}, {\em Implementation of the {\rm GMRES} method using X {H}ouseholder transformations}, SIAM J. Sci. Statist. Comput., 9 (1988), X pp.~152--163. X X\bibitem{Walker89} X\sameauthor, {\em Implementations of X the {\rm GMRES} method}, Computer Phys. Comm., 53 (1989), pp.~311--320. X X\end{thebibliography} X X\end{document} X -------cut here----- lexample.tex echo siam.bst 1>&2 sed >siam.bst <<'-------cut here----- siam.bst' 's/^X//' X% ====================== SIAM.BST ================================ % X% SIAM bibliography style (24-Jan-88 version) X% numeric labels, alphabetic order, Mathematical Reviews abbreviations, X% names in \sc, titles in italics, book titles mixed upper-lower and X%article X% titles lowercase, commas separate all fields except before "notes". X% X% History X% 1/30/86 (HWT) Original version, by Howard Trickey. X% 6/15/87 (HWT) Fix format.editors---Martin Costabel. X% 1/24/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik; X% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i. X XENTRY X { address X author X booktitle X chapter X edition X editor X howpublished X institution X journal X key X month X note X number X organization X pages X publisher X school X series X title X type X volume X year X } X {} X { label } X XINTEGERS { output.state before.all mid.sentence after.block } X XFUNCTION {init.state.consts} X{ #0 'before.all := X #1 'mid.sentence := X #2 'after.block := X} X XSTRINGS { s t } X XFUNCTION {output.nonnull} X{ 's := X output.state mid.sentence = X { ", " * write$ } X { output.state after.block = X { add.period$ write$ X newline$ X "\newblock " write$ X } X 'write$ X if$ X mid.sentence 'output.state := X } X if$ X s X} X XFUNCTION {output} X{ duplicate$ empty$ X 'pop$ X 'output.nonnull X if$ X} X XFUNCTION {output.check} X{ 't := X duplicate$ empty$ X { pop$ "empty " t * " in " * cite$ * warning$ } X 'output.nonnull X if$ X} X XFUNCTION {output.bibitem} X{ newline$ X "\bibitem{" write$ X cite$ write$ X "}" write$ X newline$ X "" X before.all 'output.state := X} X XFUNCTION {fin.entry} X{ add.period$ X write$ X newline$ X} X XFUNCTION {new.block} X{ output.state before.all = X 'skip$ X { after.block 'output.state := } X if$ X} X XFUNCTION {not} X{ { #0 } X { #1 } X if$ X} X XFUNCTION {and} X{ 'skip$ X { pop$ #0 } X if$ X} X XFUNCTION {or} X{ { pop$ #1 } X 'skip$ X if$ X} X XFUNCTION {new.block.checka} X{ empty$ X 'skip$ X 'new.block X if$ X} X XFUNCTION {field.or.null} X{ duplicate$ empty$ X { pop$ "" } X 'skip$ X if$ X} X XFUNCTION {emphasize} X{ duplicate$ empty$ X { pop$ "" } X { "{\em " swap$ * "}" * } X if$ X} X XFUNCTION {scapify} X{ duplicate$ empty$ X { pop$ "" } X { "{\sc " swap$ * "}" * } X if$ X} X XINTEGERS { nameptr namesleft numnames } X XFUNCTION {format.names} X{ 's := X #1 'nameptr := X s num.names$ 'numnames := X numnames 'namesleft := X { namesleft #0 > } X { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := X nameptr #1 > X { namesleft #1 > X { ", " * t * } X { numnames #2 > X { "," * } X 'skip$ X if$ X t "others" = X { " et~al." * } X { " and " * t * } X if$ X } X if$ X } X 't X if$ X nameptr #1 + 'nameptr := X namesleft #1 - 'namesleft := X } X while$ X} X XSTRINGS { last.authors } X XFUNCTION {init.last.authors} X{ "" 'last.authors := X} X XFUNCTION {format.authors} X{ author empty$ X { "" 'last.authors := X "" X } X { author last.authors = X { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } X { author format.names scapify } X if$ X author 'last.authors := X } X if$ X} X XFUNCTION {format.organization} X{ organization empty$ X { "" 'last.authors := X "" X } X { organization last.authors = X { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } X { organization scapify } X if$ X organization 'last.authors := X } X if$ X} X XFUNCTION {format.editors} X{ editor empty$ X { "" 'last.authors := X "" X } X { editor last.authors = X { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } X { editor format.names scapify } X if$ X editor num.names$ #1 > X { ", eds." * } X { ", ed." * } X if$ X editor 'last.authors := X } X if$ X} X XFUNCTION {format.ineditors} X{ editor empty$ X { "" } X { editor format.names X editor num.names$ #1 > X { ", eds." * } X { ", ed." * } X if$ X } X if$ X} X XFUNCTION {format.title} X{ title empty$ X { "" } X { title "t" change.case$ emphasize } X if$ X} X XFUNCTION {n.dashify} X{ 't := X "" X { t empty$ not } X { t #1 #1 substring$ "-" = X { t #1 #2 substring$ "--" = not X { "--" * X t #2 global.max$ substring$ 't := X } X { { t #1 #1 substring$ "-" = } X { "-" * X t #2 global.max$ substring$ 't := X } X while$ X } X if$ X } X { t #1 #1 substring$ * X t #2 global.max$ substring$ 't := X } X if$ X } X while$ X} X XFUNCTION {format.date} X{ year empty$ X { month empty$ X { "" } X { "there's a month but no year in " cite$ * warning$ X month X } X if$ X } X { month empty$ X 'year X { month " " * year * } X if$ X } X if$ X} X XFUNCTION {format.btitle} X{ title emphasize X} X XFUNCTION {tie.or.space.connect} X{ duplicate$ text.length$ #3 < X { "~" } X { " " } X if$ X swap$ * * X} X XFUNCTION {either.or.check} X{ empty$ X 'pop$ X { "can't use both " swap$ * " fields in " * cite$ * warning$ } X if$ X} X XFUNCTION {format.bvolume} X{ volume empty$ X { "" } X { "vol.~" volume * X series empty$ X 'skip$ X { " of " * series * } X if$ X "volume and number" number either.or.check X } X if$ X} X XFUNCTION {format.number.series} X{ volume empty$ X { number empty$ X { series field.or.null } X { "no.~" number * X series empty$ X { "there's a number but no series in " cite$ * warning$ } X { " in " * series * } X if$ X } X if$ X } X { "" } X if$ X} X XFUNCTION {format.edition} X{ edition empty$ X { "" } X { edition "l" change.case$ "~ed." * } X if$ X} X XINTEGERS { multiresult } X XFUNCTION {multi.page.check} X{ 't := X #0 'multiresult := X { multiresult not X t empty$ not X and X } X { t #1 #1 substring$ X duplicate$ "-" = X swap$ duplicate$ "," = X swap$ "+" = X or or X { #1 'multiresult := } X { t #2 global.max$ substring$ 't := } X if$ X } X while$ X multiresult X} X XFUNCTION {format.pages} X{ pages empty$ X { "" } X { pages multi.page.check X { "pp.~" pages n.dashify * } X { "p.~" pages * } X if$ X } X if$ X} X XFUNCTION {format.vol.year} X{ volume field.or.null X year empty$ X { "empty year in " cite$ * warning$ } X { " (" year * ")" * * } X if$ X} X XFUNCTION {format.chapter.pages} X{ chapter empty$ X 'format.pages X { type empty$ X { "ch.~" chapter * } X { type "l" change.case$ chapter tie.or.space.connect } X if$ X pages empty$ X 'skip$ X { ", " * format.pages * } X if$ X } X if$ X} X XFUNCTION {format.in.ed.booktitle} X{ booktitle empty$ X { "" } X { editor empty$ X { "in " booktitle * } X { "in " booktitle * ", " * format.ineditors * } X if$ X } X if$ X} X XFUNCTION {empty.misc.check} X{ author empty$ title empty$ howpublished empty$ X month empty$ year empty$ note empty$ X and and and and and X key empty$ not and X { "all relevant fields are empty in " cite$ * warning$ } X 'skip$ X if$ X} X XFUNCTION {format.thesis.type} X{ type empty$ X 'skip$ X { pop$ X type "l" change.case$ X } X if$ X} X XFUNCTION {format.tr.number} X{ type empty$ X { "Tech. Report" } X 'type X if$ X number empty$ X { "l" change.case$ } X { number tie.or.space.connect } X if$ X} X XFUNCTION {format.article.crossref} X{ key empty$ X { journal empty$ X { "need key or journal for " cite$ * " to crossref " * crossref * X warning$ X "" X } X { "in " journal * } X if$ X } X { "in " key * } X if$ X " \cite{" * crossref * "}" * X} X XFUNCTION {format.crossref.editor} X{ editor #1 "{vv~}{ll}" format.name$ X editor num.names$ duplicate$ X #2 > X { pop$ " et~al." * } X { #2 < X 'skip$ X { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = X { " et~al." * } X { " and " * editor #2 "{vv~}{ll}" format.name$ * } X if$ X } X if$ X } X if$ X} X XFUNCTION {format.book.crossref} X{ volume empty$ X { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ X "in " X } X { "vol.~" volume * X " of " * X } X if$ X editor empty$ X editor field.or.null author field.or.null = X or X { key empty$ X { series empty$ X { "need editor, key, or series for " cite$ * " to crossref " * X crossref * warning$ X "" * X } X { series * } X if$ X } X { key * } X if$ X } X { format.crossref.editor * } X if$ X " \cite{" * crossref * "}" * X} X XFUNCTION {format.incoll.inproc.crossref} X{ editor empty$ X editor field.or.null author field.or.null = X or X { key empty$ X { booktitle empty$ X { "need editor, key, or booktitle for " cite$ * " to crossref " * X crossref * warning$ X "" X } X { "in " booktitle * } X if$ X } X { "in " key * } X if$ X } X { "in " format.crossref.editor * } X if$ X " \cite{" * crossref * "}" * X} X XFUNCTION {article} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X crossref missing$ X { journal "journal" output.check X format.vol.year output X } X { format.article.crossref output.nonnull } X if$ X format.pages output X new.block X note output X fin.entry X} X XFUNCTION {book} X{ output.bibitem X author empty$ X { format.editors "author and editor" output.check } X { format.authors output.nonnull X crossref missing$ X { "author and editor" editor either.or.check } X 'skip$ X if$ X } X if$ X format.btitle "title" output.check X crossref missing$ X { format.bvolume output X format.number.series output X publisher "publisher" output.check X address output X } X { format.book.crossref output.nonnull } X if$ X format.edition output X format.date "year" output.check X new.block X note output X fin.entry X} X XFUNCTION {booklet} X{ output.bibitem X format.authors output X format.title "title" output.check X howpublished new.block.checka X howpublished output X address output X format.date output X new.block X note output X fin.entry X} X XFUNCTION {inbook} X{ output.bibitem X author empty$ X { format.editors "author and editor" output.check } X { format.authors output.nonnull X crossref missing$ X { "author and editor" editor either.or.check } X 'skip$ X if$ X } X if$ X format.btitle "title" output.check X crossref missing$ X { format.bvolume output X format.number.series output X publisher "publisher" output.check X address output X } X { format.book.crossref output.nonnull } X if$ X format.edition output X format.date "year" output.check X format.chapter.pages "chapter and pages" output.check X new.block X note output X fin.entry X} X XFUNCTION {incollection} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X crossref missing$ X { format.in.ed.booktitle "booktitle" output.check X format.bvolume output X format.number.series output X publisher "publisher" output.check X address output X format.edition output X format.date "year" output.check X } X { format.incoll.inproc.crossref output.nonnull } X if$ X format.chapter.pages output X new.block X note output X fin.entry X} X XFUNCTION {inproceedings} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X crossref missing$ X { format.in.ed.booktitle "booktitle" output.check X format.bvolume output X format.number.series output X address empty$ X { organization output X publisher output X format.date "year" output.check X } X { address output.nonnull X format.date "year" output.check X organization output X publisher output X } X if$ X } X { format.incoll.inproc.crossref output.nonnull } X if$ X format.pages output X new.block X note output X fin.entry X} X XFUNCTION {conference} { inproceedings } X XFUNCTION {manual} X{ output.bibitem X author empty$ X { format.organization output } X { format.authors output.nonnull } X if$ X format.btitle "title" output.check X author empty$ X 'skip$ X { organization output } X if$ X address output X format.edition output X format.date output X new.block X note output X fin.entry X} X XFUNCTION {mastersthesis} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X "master's thesis" format.thesis.type output.nonnull X school "school" output.check X address output X format.date "year" output.check X new.block X note output X fin.entry X} X XFUNCTION {misc} X{ output.bibitem X format.authors output X format.title output X howpublished new.block.checka X howpublished output X format.date output X new.block X note output X fin.entry X empty.misc.check X} X XFUNCTION {phdthesis} X{ output.bibitem X format.authors "author" output.check X format.btitle "title" output.check X "PhD thesis" format.thesis.type output.nonnull X school "school" output.check X address output X format.date "year" output.check X new.block X note output X fin.entry X} X XFUNCTION {proceedings} X{ output.bibitem X editor empty$ X { format.organization output } X { format.editors output.nonnull } X if$ X format.btitle "title" output.check X format.bvolume output X format.number.series output X address empty$ X { editor empty$ X 'skip$ X { organization output } X if$ X publisher output X format.date "year" output.check X } X { address output.nonnull X format.date "year" output.check X editor empty$ X 'skip$ X { organization output } X if$ X publisher output X } X if$ X new.block X note output X fin.entry X} X XFUNCTION {techreport} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X format.tr.number output.nonnull X institution "institution" output.check X address output X format.date "year" output.check X new.block X note output X fin.entry X} X XFUNCTION {unpublished} X{ output.bibitem X format.authors "author" output.check X format.title "title" output.check X new.block X note "note" output.check X format.date output X fin.entry X} X XFUNCTION {default.type} { misc } X XMACRO {jan} {"Jan."} X XMACRO {feb} {"Feb."} X XMACRO {mar} {"Mar."} X XMACRO {apr} {"Apr."} X XMACRO {may} {"May"} X XMACRO {jun} {"June"} X XMACRO {jul} {"July"} X XMACRO {aug} {"Aug."} X XMACRO {sep} {"Sept."} X XMACRO {oct} {"Oct."} X XMACRO {nov} {"Nov."} X XMACRO {dec} {"Dec."} X XMACRO {acmcs} {"ACM Comput. Surveys"} X XMACRO {acta} {"Acta Inf."} X XMACRO {cacm} {"Comm. ACM"} X XMACRO {ibmjrd} {"IBM J. Res. Dev."} X XMACRO {ibmsj} {"IBM Syst.~J."} X XMACRO {ieeese} {"IEEE Trans. Softw. Eng."} X XMACRO {ieeetc} {"IEEE Trans. Comput."} X XMACRO {ieeetcad} X {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} X XMACRO {ipl} {"Inf. Process. Lett."} X XMACRO {jacm} {"J.~Assoc. Comput. Mach."} X XMACRO {jcss} {"J.~Comput. System Sci."} X XMACRO {scp} {"Sci. Comput. Programming"} X XMACRO {sicomp} {"SIAM J. Comput."} X XMACRO {tocs} {"ACM Trans. Comput. Syst."} X XMACRO {tods} {"ACM Trans. Database Syst."} X XMACRO {tog} {"ACM Trans. Gr."} X XMACRO {toms} {"ACM Trans. Math. Softw."} X XMACRO {toois} {"ACM Trans. Office Inf. Syst."} X XMACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} X XMACRO {tcs} {"Theoretical Comput. Sci."} X XREAD X XFUNCTION {sortify} X{ purify$ X "l" change.case$ X} X XINTEGERS { len } X XFUNCTION {chop.word} X{ 's := X 'len := X s #1 len substring$ = X { s len #1 + global.max$ substring$ } X 's X if$ X} X XFUNCTION {sort.format.names} X{ 's := X #1 'nameptr := X "" X s num.names$ 'numnames := X numnames 'namesleft := X { namesleft #0 > } X { nameptr #1 > X { " " * } X 'skip$ X if$ X s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := X nameptr numnames = t "others" = and X { "et al" * } X { t sortify * } X if$ X nameptr #1 + 'nameptr := X namesleft #1 - 'namesleft := X } X while$ X} X XFUNCTION {sort.format.title} X{ 't := X "A " #2 X "An " #3 X "The " #4 t chop.word X chop.word X chop.word X sortify X #1 global.max$ substring$ X} X XFUNCTION {author.sort} X{ author empty$ X { key empty$ X { "to sort, need author or key in " cite$ * warning$ X "" X } X { key sortify } X if$ X } X { author sort.format.names } X if$ X} X XFUNCTION {author.editor.sort} X{ author empty$ X { editor empty$ X { key empty$ X { "to sort, need author, editor, or key in " cite$ * warning$ X "" X } X { key sortify } X if$ X } X { editor sort.format.names } X if$ X } X { author sort.format.names } X if$ X} X XFUNCTION {author.organization.sort} X{ author empty$ X { organization empty$ X { key empty$ X { "to sort, need author, organization, or key in " cite$ * warning$ X "" X } X { key sortify } X if$ X } X { "The " #4 organization chop.word sortify } X if$ X } X { author sort.format.names } X if$ X} X XFUNCTION {editor.organization.sort} X{ editor empty$ X { organization empty$ X { key empty$ X { "to sort, need editor, organization, or key in " cite$ * warning$ X "" X } X { key sortify } X if$ X } X { "The " #4 organization chop.word sortify } X if$ X } X { editor sort.format.names } X if$ X} X XFUNCTION {presort} X{ type$ "book" = X type$ "inbook" = X or X 'author.editor.sort X { type$ "proceedings" = X 'editor.organization.sort X { type$ "manual" = X 'author.organization.sort X 'author.sort X if$ X } X if$ X } X if$ X " " X * X year field.or.null sortify X * X " " X * X title field.or.null X sort.format.title X * X #1 entry.max$ substring$ X 'sort.key$ := X} X XITERATE {presort} X XSORT X XSTRINGS { longest.label } X XINTEGERS { number.label longest.label.width } X XFUNCTION {initialize.longest.label} X{ "" 'longest.label := X #1 'number.label := X #0 'longest.label.width := X} X XFUNCTION {longest.label.pass} X{ number.label int.to.str$ 'label := X number.label #1 + 'number.label := X label width$ longest.label.width > X { label 'longest.label := X label width$ 'longest.label.width := X } X 'skip$ X if$ X} X XEXECUTE {initialize.longest.label} X XITERATE {longest.label.pass} X XFUNCTION {begin.bib} X{ preamble$ empty$ X 'skip$ X { preamble$ write$ newline$ } X if$ X "\begin{thebibliography}{" longest.label * "}" * write$ newline$ X} X XEXECUTE {begin.bib} X XEXECUTE {init.state.consts} X XEXECUTE {init.last.authors} X XITERATE {call.type$} X XFUNCTION {end.bib} X{ newline$ X "\end{thebibliography}" write$ newline$ X} X XEXECUTE {end.bib} X X -------cut here----- siam.bst echo siam10.clo 1>&2 sed >siam10.clo <<'-------cut here----- siam10.clo' 's/^X//' X%% X%% This is file `siam10.clo', based on size10.clo X%% Revision of siam macros for use with LaTeX 2e X%% X%% By Paul Duggan for the Society for Industrial and Applied X%% Mathematics. X%% X%% October 1, 1995 X%% X%% Version 1.0 X%% X%% You are not allowed to change this file. X%% X%% You are allowed to distribute this file under the condition that X%% it is distributed together with all of the files in the siam macro X%% distribution. These are: X%% X%% siamltex.cls (main LaTeX macro for SIAM) X%% siamltex.sty (includes siamltex.cls for compatibility mode) X%% siam10.clo (this file) X%% subeqn.clo (allows equation numbners with lettered subelements) X%% siam.bst (bibliographic style file for use with BibTeX) X%% docultex.tex (documentation file) X%% lexample.tex (example file for latex macro) X%% X%% If you receive only some of these files from someone, complain! X%% X%% You are NOT ALLOWED to distribute this file alone. You are NOT X%% ALLOWED to take money for the distribution or use of either this X%% file or a changed version, except for a nominal charge for copying X%% etc. X%% \CharacterTable X%% {Upper-case \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 X%% Lower-case \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 X%% Digits \0\1\2\3\4\5\6\7\8\9 X%% Exclamation \! Double quote \" Hash (number) \# X%% Dollar \$ Percent \% Ampersand \& X%% Acute accent \' Left paren \( Right paren \) X%% Asterisk \* Plus \+ Comma \, X%% Minus \- Point \. Solidus \/ X%% Colon \: Semicolon \; Less than \< X%% Equals \= Greater than \> Question mark \? X%% Commercial at \@ Left bracket \[ Backslash \\ X%% Right bracket \] Circumflex \^ Underscore \_ X%% Grave accent \` Left brace \{ Vertical bar \| X%% Right brace \} Tilde \~} X\ProvidesFile{siam10.clo} X [1994/10/01 v1.0 X SIAM LaTeX file (size option)] X\renewcommand{\normalsize}{% X \@setfontsize\normalsize\@xpt\@xiipt X \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ X \abovedisplayshortskip \abovedisplayskip X \belowdisplayshortskip \belowdisplayskip X \belowdisplayskip \abovedisplayskip X \let\@listi\@listI} X\normalsize X\newcommand{\small}{% X \@setfontsize\small\@ixpt{11}% X \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ X \abovedisplayshortskip \z@ \@plus2\p@ X \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ X \def\@listi{\leftmargin\leftmargini X \topsep 4\p@ \@plus2\p@ \@minus2\p@ X \parsep 2\p@ \@plus\p@ \@minus\p@ X \itemsep \parsep}% X \belowdisplayskip \abovedisplayskip X} X\newcommand{\footnotesize}{% X \@setfontsize\footnotesize\@viiipt{9.5}% X \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ X \abovedisplayshortskip \abovedisplayskip X \belowdisplayshortskip \belowdisplayskip X \def\@listi{\leftmargin\leftmargini X \topsep \z@ X \parsep \z@ X \itemsep \parsep}% X \belowdisplayskip \abovedisplayskip X} X\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt} X\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt} X\newcommand{\large}{\@setfontsize\large\@xiipt{14}} X\newcommand{\Large}{\@setfontsize\Large\@xivpt{18}} X\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{22}} X\newcommand{\huge}{\@setfontsize\huge\@xxpt{25}} X\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{30}} X\if@twocolumn X \setlength\parindent{1em} X\else X \setlength\parindent{.25in} X\fi X\setlength\headheight{10\p@} X\setlength\headsep {.2in} X%\setlength\topskip {10\p@} X\setlength\footskip{.2in} X\if@compatibility X \setlength\maxdepth{4\p@} X\else X \setlength\maxdepth{.5\topskip} X\fi X\setlength\@maxdepth\maxdepth X\if@compatibility X \if@twocolumn X \setlength\textwidth{410\p@} X \else X \setlength\textwidth{5.125in} X \fi X\else X \if@twocolumn X \setlength\textwidth{410\p@} X \else X \setlength\textwidth{5.125in} X \fi X\fi X%\if@compatibility\else X% \@settopoint\textwidth X%\fi X\if@compatibility X \setlength\textheight{8.25in} X\else X \setlength\textheight{8.25in} X\fi X%\addtolength\textheight{\topskip} X\if@compatibility X \if@twoside X \setlength\oddsidemargin {.5in} X \setlength\evensidemargin {.5in} X \setlength\marginparwidth {1.25in} X \else X \setlength\oddsidemargin {.5in} X \setlength\evensidemargin {.5in} X \setlength\marginparwidth {1.25in} X \fi X \if@twocolumn X \setlength\oddsidemargin {30\p@} X \setlength\evensidemargin {30\p@} X \setlength\marginparwidth {48\p@} X \fi X\else X \if@twoside X \setlength\oddsidemargin {.5in} X \setlength\evensidemargin {.5in} X \setlength\marginparwidth {1.25in} X \else X \setlength\oddsidemargin {.5in} X \setlength\evensidemargin {.5in} X \setlength\marginparwidth {1.25in} X \fi X \@settopoint\oddsidemargin X \@settopoint\marginparwidth X\fi X\if@twocolumn X \setlength\marginparsep {10\p@} X\else X \setlength\marginparsep{11\p@} X\fi X\setlength\marginparpush{5\p@} X\if@compatibility X \setlength\topmargin{\z@} X\else X\setlength\topmargin {\z@} X% \@settopoint\topmargin X\fi X X\setlength\footnotesep{6.65\p@} X\skip\footins 13\p@ \@plus 4\p@ \@minus 2\p@ X\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} X\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} X\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} X\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} X\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} X\setlength\@fptop{0\p@ \@plus 1fil} X\setlength\@fpsep{8\p@ \@plus 2fil} X\setlength\@fpbot{0\p@ \@plus 1fil} X\setlength\@dblfptop{0\p@ \@plus 1fil} X\setlength\@dblfpsep{8\p@ \@plus 2fil} X\setlength\@dblfpbot{0\p@ \@plus 1fil} X\setlength\partopsep{\z@} X\def\@listI{\leftmargin\leftmargini X \parsep \z@ X \topsep \z@ X \itemsep \parsep} X\let\@listi\@listI X\@listi X\def\@listii {\leftmargin\leftmarginii X \labelwidth\leftmarginii X \advance\labelwidth-\labelsep X \topsep \z@ X \parsep \z@ X \itemsep \parsep} X\def\@listiii{\leftmargin\leftmarginiii X \labelwidth\leftmarginiii X \advance\labelwidth-\labelsep X \topsep \z@ X \parsep \z@ X \partopsep \z@ X \itemsep \topsep} X\def\@listiv {\leftmargin\leftmarginiv X \labelwidth\leftmarginiv X \advance\labelwidth-\labelsep} X\def\@listv {\leftmargin\leftmarginv X \labelwidth\leftmarginv X \advance\labelwidth-\labelsep} X\def\@listvi {\leftmargin\leftmarginvi X \labelwidth\leftmarginvi X \advance\labelwidth-\labelsep} X\endinput X%% X%% End of file `siam10.clo'. -------cut here----- siam10.clo echo siamltex.cls 1>&2 sed >siamltex.cls <<'-------cut here----- siamltex.cls' 's/^X//' X%% X%% This is file `siamltex.cls', based on article.cls X%% Revision of siam macros for use with LaTeX 2e X%% X%% By Paul Duggan for the Society for Industrial and Applied X%% Mathematics. X%% X%% October 1, 1995 X%% X%% Version 1.0 X%% X%% You are not allowed to change this file. X%% X%% You are allowed to distribute this file under the condition that X%% it is distributed together with all of the files in the siam macro X%% distribution. These are: X%% X%% siamltex.cls (this file) X%% siamltex.sty (includes siamltex.cls for compatibility mode) X%% siam10.clo (size option for 10pt papers) X%% subeqn.clo (allows equation numbners with lettered subelements) X%% siam.bst (bibliographic style file for BibTeX) X%% docultex.tex (documentation file) X%% lexample.tex (example file for latex macro) X%% X%% If you receive only some of these files from someone, complain! X%% X%% You are NOT ALLOWED to distribute this file alone. You are NOT X%% ALLOWED to take money for the distribution or use of either this X%% file or a changed version, except for a nominal charge for copying X%% etc. X%% \CharacterTable X%% {Upper-case \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 X%% Lower-case \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 X%% Digits \0\1\2\3\4\5\6\7\8\9 X%% Exclamation \! Double quote \" Hash (number) \# X%% Dollar \$ Percent \% Ampersand \& X%% Acute accent \' Left paren \( Right paren \) X%% Asterisk \* Plus \+ Comma \, X%% Minus \- Point \. Solidus \/ X%% Colon \: Semicolon \; Less than \< X%% Equals \= Greater than \> Question mark \? X%% Commercial at \@ Left bracket \[ Backslash \\ X%% Right bracket \] Circumflex \^ Underscore \_ X%% Grave accent \` Left brace \{ Vertical bar \| X%% Right brace \} Tilde \~} X\NeedsTeXFormat{LaTeX2e} X\ProvidesClass{siamltex} X [1995/10/01 v1.0 LaTeX document class] X\newcommand\@ptsize{} X\newif\if@restonecol X\newif\if@titlepage X\@titlepagefalse X%\newif\if@openbib X%\@openbibfalse X\DeclareOption{a4paper} X {\setlength\paperheight {297mm}% X \setlength\paperwidth {210mm}} X\DeclareOption{a5paper} X {\setlength\paperheight {210mm}% X \setlength\paperwidth {148mm}} X\DeclareOption{b5paper} X {\setlength\paperheight {250mm}% X \setlength\paperwidth {176mm}} X\DeclareOption{letterpaper} X {\setlength\paperheight {11in}% X \setlength\paperwidth {8.5in}} X\DeclareOption{legalpaper} X {\setlength\paperheight {14in}% X \setlength\paperwidth {8.5in}} X\DeclareOption{executivepaper} X {\setlength\paperheight {10.5in}% X \setlength\paperwidth {7.25in}} X\DeclareOption{landscape} X {\setlength\@tempdima {\paperheight}% X \setlength\paperheight {\paperwidth}% X \setlength\paperwidth {\@tempdima}} X\DeclareOption{10pt}{\renewcommand\@ptsize{0}} X\DeclareOption{11pt}{\renewcommand\@ptsize{1}} X\DeclareOption{12pt}{\renewcommand\@ptsize{2}} X\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} X\DeclareOption{draft}{\setlength\overfullrule{5pt}} X\DeclareOption{final}{\setlength\overfullrule{0pt}} X\DeclareOption{notitlepage}{\@titlepagefalse} X\DeclareOption{onecolumn}{\@twocolumnfalse} X\DeclareOption{twocolumn}{\@twocolumntrue} X\DeclareOption{leqno}{\input{leqno.clo}} X\DeclareOption{subeqn}{\input{subeqn.clo}} X%\DeclareOption{openbib}{\@openbibtrue} X\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,leqno,draft,notitlepage} X\ProcessOptions X\input{siam1\@ptsize.clo} X\setlength\lineskip{1\p@} X\setlength\normallineskip{1\p@} X\renewcommand\baselinestretch{} X\setlength\parskip{0\p@ \@plus \p@} X\@lowpenalty 51 X\@medpenalty 151 X\@highpenalty 301 X\setcounter{topnumber}{2} X\renewcommand\topfraction{.9} X\setcounter{bottomnumber}{1} X\renewcommand\bottomfraction{.1} X\setcounter{totalnumber}{3} X\renewcommand\textfraction{.1} X\renewcommand\floatpagefraction{.91} X\setcounter{dbltopnumber}{2} X\renewcommand\dbltopfraction{.7} X\renewcommand\dblfloatpagefraction{.5} X\renewcommand{\ps@plain}{\let\@mkboth\@gobbletwo% X \renewcommand{\@oddhead}{}% X \renewcommand{\@evenhead}{}% X \renewcommand{\@evenfoot}{\hfil\footnotesize\textrm{\thepage}\hfil}% X \renewcommand{\@oddfoot}{\@evenfoot}} X X \def\ps@headings{% X \let\@oddfoot\@empty\let\@evenfoot\@empty X \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}% %! X \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %! X \let\@mkboth\markboth X \def\sectionmark##1{% X \markboth {\uppercase{\ifnum \c@secnumdepth >\z@ X \thesection.\hskip 1em\relax\fi X ##1}}{}}% X \def\subsectionmark##1{% X \markright {\ifnum \c@secnumdepth >\@ne X \thesubsection\hskip 1em\relax \fi X ##1}}} X X\def\ps@myheadings{% X \let\@oddfoot\@empty\let\@evenfoot\@empty X \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}% %! X \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %! X \let\@mkboth\@gobbletwo X \let\sectionmark\@gobble X \let\subsectionmark\@gobble X } X X X\newcommand\maketitle{\par X \begingroup X \renewcommand{\thefootnote}{\fnsymbol{footnote}}% X \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% X \long\def\@makefntext##1{\parindent 1em\noindent X \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% X \if@twocolumn X \ifnum \col@number=\@ne X \@maketitle X \else X \twocolumn[\@maketitle]% X \fi X \else X \global\@topnum\z@ % Prevents figures from going at top of page. X \@maketitle X \fi X \thispagestyle{plain}\@thanks X \endgroup X \setcounter{footnote}{0}% X \let\maketitle\relax\let\@maketitle\relax X \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} X\def\@maketitle{% X \null X \begin{center}% X {\bfseries\@ucnothanks\@title\par}% X \vskip .075in% X {\footnotesize X \spaceskip=1.5\fontdimen2\the\font X \def\and{\ \scriptsize AND } X \@tempswafalse\expandafter\@doauth\@author\and\relax}% X \end{center}% X \par X \vskip .11in} X\def\@ucnothanks#1{\expandafter\@ucnt#1\thanks\relax} X\def\@ucnt#1\thanks{\uppercase{#1}\futurelet\@tempa\@ucnta} X\def\@ucnta{\ifx\@tempa\relax\else\@ucntb\fi} X\def\@ucntb#1\thanks\relax{\thanks{#1}} X\def\@doauth#1\and{\let\@nextdoa=\@doauth X \def\@tempc{\@ucnothanks{#1}} X \futurelet\@tempa\@doautha} X\def\@doautha{\ifx\@tempa\relax X \if@tempswa {\and}\fi X \let\@nextdoa=\relax X \else X \if@tempswa \gdef\and{,\ \scriptsize AND }, \fi X \fi X \@tempc\unskip\@tempswatrue\@nextdoa} X\let\and=\relax X X X X\setcounter{secnumdepth}{3} X\newcounter {section} X\newcounter {subsection}[section] X\newcounter {subsubsection}[subsection] X\newcounter {paragraph}[subsubsection] X\newcounter {subparagraph}[paragraph] X\renewcommand\thesection {\arabic{section}} X\renewcommand\thesubsection {\thesection.\arabic{subsection}} X\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}} X\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} X\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} X X X\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth X \def\@svsec{}\else X \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .5em }\fi X \@tempskipa #5\relax X \ifdim \@tempskipa>\z@ X \begingroup #6\relax X \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} X \endgroup X \csname #1mark\endcsname{#7}\addcontentsline X {toc}{#1}{\ifnum #2>\c@secnumdepth \else X \protect\numberline{\csname the#1\endcsname}\fi X #7}\else X \def\@svsechd{#6\hskip #3\@svsec #8.\csname #1mark\endcsname X {#7}\addcontentsline X {toc}{#1}{\ifnum #2>\c@secnumdepth \else X \protect\numberline{\csname the#1\endcsname}\fi X #7}}\fi X \@xsect{#5}} X\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax X \ifdim \@tempskipa>\z@ X \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M X#5.\par}\endgroup X \else \def\@svsechd{#4\hskip #1\relax #5.}\fi X \@xsect{#3}} X X X\newcommand\section{\@startsection{section}{1}{.25in}% X {1.3ex \@plus .5ex \@minus .2ex}% X {-.5em \@plus -.1em}% X {\reset@font\normalsize\bfseries}} X\newcommand\subsection{\@startsection{subsection}{2}{.25in}% X {1.3ex\@plus .5ex \@minus .2ex}% X {-.5em \@plus -.1em}% X {\reset@font\normalsize\bfseries}} X\newcommand\subsubsection{\@startsection{subsubsection}{3}{.25in}% X {1.3ex\@plus .5ex \@minus .2ex}% X {-.5em \@plus -.1em}% X {\reset@font\normalsize\bfseries}} X\newcommand\paragraph{\@startsection{paragraph}{4}{.25in}% X {\parskip}% X {-.5em plus -.1em}% X {\reset@font\normalsize\itshape}} X\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% X {\parskip}% X {-.5em plus -.1em}% X {\reset@font\normalsize\itshape}} X\if@twocolumn X \setlength\leftmargini {2em} X\else X \setlength\leftmargini {0.5in} X\fi X\setlength\leftmarginii {22pt} X\setlength\leftmarginiii {18.7pt} X\setlength\leftmarginiv {17pt} X\if@twocolumn X \setlength\leftmarginv {.5em} X \setlength\leftmarginvi {.5em} X\else X \setlength\leftmarginv {10pt} X \setlength\leftmarginvi {10pt} X\fi X\setlength \leftmargin{\leftmargini} X\setlength \labelsep {.5em} X\setlength \labelwidth{\leftmargini} X\addtolength\labelwidth{-\labelsep} X\@beginparpenalty -\@lowpenalty X\@endparpenalty -\@lowpenalty X\@itempenalty -\@lowpenalty X\renewcommand\theenumi{\arabic{enumi}} X\renewcommand\theenumii{\alph{enumii}} X\renewcommand\theenumiii{\roman{enumiii}} X\renewcommand\theenumiv{\Alph{enumiv}} X\newcommand\labelenumi{\theenumi.} X\newcommand\labelenumii{(\theenumii)} X\newcommand\labelenumiii{\theenumiii.} X\newcommand\labelenumiv{\theenumiv.} X\renewcommand\p@enumii{\theenumi} X\renewcommand\p@enumiii{\theenumi\theenumii} X\renewcommand\p@enumiv{\p@enumiii\theenumiii} X\newcommand\labelitemi{$\m@th\bullet$} X\newcommand\labelitemii{\normalfont\bfseries --} X\newcommand\labelitemiii{$\m@th\ast$} X\newcommand\labelitemiv{$\m@th\cdot$} X\newenvironment{description} X {\list{}{\labelwidth\z@ \itemindent-\leftmargin X \let\makelabel\descriptionlabel}} X {\endlist} X\newcommand\descriptionlabel[1]{\hspace\labelsep X \normalfont\bfseries #1} X\newcounter{rmnum} X\newenvironment{romannum} X {\begin{list}{{\rm (\roman{rmnum})}}{\usecounter{rmnum} X \setlength{\leftmargin}{0pt} X \setlength{\itemindent}{42pt}}}{\end{list}} X\newcounter{muni} X\newenvironment{remunerate} X {\begin{list}{{\rm \arabic{muni}.}}{\usecounter{muni} X \setlength{\leftmargin}{0pt} X \setlength{\itemindent}{38pt}}}{\end{list}} X X\newenvironment{@abssec}[1]{% X \if@twocolumn X \section*{#1}% X \else X \vspace{.05in}\footnotesize X \parindent .2in X {\bfseries #1. }\ignorespaces X \fi} X {\if@twocolumn\else\par\vspace{.1in}\fi} X X\newenvironment{abstract}{\begin{@abssec}{\abstractname}}{\end{@abssec}} X\newenvironment{keywords}{\begin{@abssec}{\keywordsname}}{\end{@abssec}} X\newenvironment{AMS}{\begin{@abssec}{\AMSname}}{\end{@abssec}} X\newenvironment{AM}{\begin{@abssec}{\AMname}}{\end{@abssec}} X X X\newenvironment{verse} X {\let\\=\@centercr X \list{}{\itemsep \z@ X \itemindent -1.5em% X \listparindent\itemindent X \rightmargin \leftmargin X \advance\leftmargin 1.5em}% X \item[]} X {\endlist} X\newenvironment{quotation} X {\list{}{\listparindent 1.5em% X \itemindent \listparindent X \rightmargin \leftmargin X \parsep \z@ \@plus\p@}% X \item[]} X {\endlist} X\newenvironment{quote} X {\list{}{\rightmargin\leftmargin}% X \item[]} X {\endlist} X\def\@begintheorem#1#2{\par\bgroup{\scshape #1\ #2. }\it\ignorespaces} X\def\@opargbegintheorem#1#2#3{\par\bgroup% X {\scshape #1\ #2\ ({\upshape #3}). }\it\ignorespaces} X\def\@endtheorem{\egroup} X\def\proof{\par{\it Proof}. \ignorespaces} X X\def\endproof{\vbox{\hrule height0.6pt\hbox{% X \vrule height1.3ex width0.6pt\hskip0.8ex X \vrule width0.6pt}\hrule height0.6pt X }} X X\newtheorem{theorem}{Theorem}[section] X\newtheorem{lemma}[theorem]{Lemma} X\newtheorem{corollary}[theorem]{Corollary} X\newtheorem{proposition}[theorem]{Proposition} X\newtheorem{definition}[theorem]{Definition} X X X X% FROM FIXUP.STY X% We now redefine the eqnarray environment to correct the space around X% the operator. Any changes to the definition in LaTeX itself X% will cause the `Warning: unable...' X% message to appear. If this happens it will be necessary to update the X% definition of \@tempb below and incorperate the changes into X% the new definitions of \eqnarray. X X X% This is the current definition of \eqnarray for the fleqn document style X% latex.ltx X X\def\@tempb{% X \stepcounter{equation}% X \def\@currentlabel{\p@equation\theequation}% X \global\@eqnswtrue X \m@th X \global\@eqcnt\z@ X \tabskip\@centering X \let\\\@eqncr X $$\everycr{}\halign to\displaywidth\bgroup X \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel X &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil X &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep X $\displaystyle{##}$\hfil\tabskip\@centering X &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup X \tabskip\z@skip X \cr X} X\ifx\eqnarray\@tempb % Try the default eqnarray environment X \def\eqnarray{% X \stepcounter{equation}% X \def\@currentlabel{\p@equation\theequation}% X \global\@eqnswtrue X \m@th X \global\@eqcnt\z@ X \tabskip\@centering X \let\\\@eqncr X $$\everycr{}\halign to\displaywidth\bgroup X \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel X &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil X &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering X &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup X \tabskip\z@skip X \cr X} X\else \typeout{Warning: Unable to fix unknown version of \string\eqnarray.} X\fi X X\def\@tempb{} X X X%% New Mathops. X X\newcommand\const{\mathop{\operator@font const}\nolimits} X\newcommand\diag{\mathop{\operator@font diag}\nolimits} X\newcommand\grad{\mathop{\operator@font grad}\nolimits} X\newcommand\Range{\mathop{\operator@font Range}\nolimits} X\newcommand\rank{\mathop{\operator@font rank}\nolimits} X\newcommand\supp{\mathop{\operator@font supp}\nolimits} X X\newcommand\appendix{% X\renewcommand{\section}{% X\secdef\append\sappend}% X \setcounter{section}{0}% X \setcounter{subsection}{0}% X \renewcommand\thesection{\Alph{section}}} X X\newcommand\Appendix{% X\renewcommand{\section}{% X\secdef\Append\sAppend}% X \setcounter{section}{0}% X \setcounter{subsection}{0}% X \renewcommand\thesection{\Alph{section}}} X X\newcommand\append[2][?]{% X\refstepcounter{section}% X{\vskip 1.3ex \@plus .5ex \@minus .2ex X\reset@font\normalsize\bfseries\appendixname\ \thesection. #2.}} X X\newcommand\sappend[1]{% X\refstepcounter{section} X{\vskip 1.3ex \@plus .5ex \@minus .2ex X\reset@font\normalsize\bfseries\appendixname\ \thesection.}} X X\newcommand\Append[2][?]{% X\refstepcounter{section}% X{\vskip 1.3ex \@plus .5ex \@minus .2ex X\reset@font\normalsize\bfseries\appendixname. #2.}} X X\newcommand\sAppend[1]{% X\refstepcounter{section} X{\vskip 1.3ex \@plus .5ex \@minus .2ex X\reset@font\normalsize\bfseries\appendixname.}} X X\setlength\arraycolsep{5\p@} X\setlength\tabcolsep{6\p@} X\setlength\arrayrulewidth{.4\p@} X\setlength\doublerulesep{2\p@} X\setlength\tabbingsep{\labelsep} X\skip\@mpfootins = \skip\footins X\setlength\fboxsep{3\p@} X\setlength\fboxrule{.4\p@} X X X\newcounter{figure} X\renewcommand\thefigure{\@arabic\c@figure} X\def\fps@figure{tp} X\def\ftype@figure{1} X\def\ext@figure{lof} X\def\fnum@figure{\figurename~\thefigure} X\newenvironment{figure} X {\@float{figure}} X {\end@float} X\newenvironment{figure*} X {\@dblfloat{figure}} X {\end@dblfloat} X\newcounter{table} X\renewcommand{\thetable}{\@arabic\c@table} X\def\fps@table{tp} X\def\ftype@table{2} X\def\ext@table{lot} X\def\fnum@table{\tablename~\thetable} X\newenvironment{table} X {\@float{table}} X {\end@float} X\newenvironment{table*} X {\@dblfloat{table}} X {\end@dblfloat} X\newlength\abovecaptionskip X\newlength\belowcaptionskip X\setlength\abovecaptionskip{10\p@} X\setlength\belowcaptionskip{10\p@} X\def\@figtxt{figure} X\long\def\@makecaption#1#2{% X \footnotesize X \setlength{\parindent}{1.5pc} X \ifx\@captype\@figtxt X \vskip\abovecaptionskip X \setbox\@tempboxa\hbox{{\normalfont\scshape #1}. {\normalfont\itshape #2}}% X \ifdim \wd\@tempboxa >\hsize X {\normalfont\scshape #1}. {\normalfont\itshape #2}\par X \else X \global\@minipagefalse X \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% X \fi X \else X \hbox to\hsize{\hfil{\normalfont\scshape #1}\hfil}% X \setbox\@tempboxa\hbox{{\normalfont\itshape #2}}% X \ifdim \wd\@tempboxa >\hsize X {\normalfont\itshape #2}\par X \else X \global\@minipagefalse X \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% X \fi X \vskip\belowcaptionskip X \fi} X\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} X\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} X\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} X\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} X\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} X\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} X\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} X\DeclareRobustCommand*\cal{\@fontswitch{\relax}{\mathcal}} X\DeclareRobustCommand*\mit{\@fontswitch{\relax}{\mathnormal}} X\newcommand\@pnumwidth{1.55em} X\newcommand\@tocrmarg {2.55em} X\newcommand\@dotsep{4.5} X X\newdimen\bibindent X\bibindent=16pt X\newenvironment{thebibliography}[1] X {\par\addvspace{.25in} X \begin{center} X \footnotesize\uppercase\expandafter{\refname} X \end{center} X \@mkboth{\uppercase\expandafter{\refname}}{\uppercase\expandafter{\refname}} X \addvspace{.15in}\nopagebreak% X \list{\@biblabel{\arabic{enumi}}}% X {\settowidth\labelwidth{\@biblabel{#1}}% X \leftmargin\labelwidth X \advance\leftmargin\labelsep X% \if@openbib X \advance\leftmargin\bibindent X \itemindent -\bibindent X \listparindent \itemindent X \parsep \z@ X% \fi X \usecounter{enumi}% X \let\p@enumi\@empty X \renewcommand\theenumi{\arabic{enumi}}}% X% \if@openbib X% \renewcommand\newblock{\par} X% \else X \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% X% \fi X \sloppy\clubpenalty4000\widowpenalty4000% X \sfcode`\.=\@m\relax\footnotesize} X {\def\@noitemerr X {\@latex@warning{Empty `thebibliography' environment}}% X \endlist} X\newcommand\newblock{} X\newenvironment{theindex} X {\if@twocolumn X \@restonecolfalse X \else X \@restonecoltrue X \fi X \columnseprule \z@ X \columnsep 35\p@ X \twocolumn[\section*{\indexname}]% X \@mkboth{\uppercase{\indexname}}% X {\uppercase{\indexname}}% X \thispagestyle{plain}\parindent\z@ X \parskip\z@ \@plus .3\p@\relax X \let\item\@idxitem} X {\if@restonecol\onecolumn\else\clearpage\fi} X\newcommand\@idxitem {\par\hangindent 40\p@} X\newcommand\subitem {\par\hangindent 40\p@ \hspace*{20\p@}} X\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} X\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} X\renewcommand\footnoterule{% X \kern-3\p@ X \hrule width .5in X \kern 2.6\p@} X\long\def\@makefntext#1{% X \parindent .25in% X \noindent X \hbox to .25in{\hss\@makefnmark}#1} X\newcommand\contentsname{Contents} X\newcommand\listfigurename{List of Figures} X\newcommand\listtablename{List of Tables} X\newcommand\refname{References} X\newcommand\indexname{Index} X\newcommand\figurename{Fig.} X\newcommand\tablename{Table} X\newcommand\partname{Part} X\newcommand\appendixname{Appendix} X\newcommand\abstractname{Abstract} X\newcommand\keywordsname{Key words} X\newcommand\AMSname{AMS subject classifications} X\newcommand\AMname{AMS subject classification} X\newcommand\today{\ifcase\month\or X January\or February\or March\or April\or May\or June\or X July\or August\or September\or October\or November\or December\fi X \space\number\day, \number\year} X\newcommand\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt} X\setlength\columnsep{10\p@} X\setlength\columnseprule{0\p@} X\pagestyle{plain} X\pagenumbering{arabic} % Arabic page numbers X X\if@compatibility% X\else X \@addtoreset{equation}{section} % Makes \section reset 'equation' counter. X \renewcommand{\theequation}{\thesection.\arabic{equation}} X% X \@addtoreset{figure}{section} X \renewcommand{\thefigure}{\thesection.\@arabic\c@figure} X% X \@addtoreset{table}{section} X \renewcommand{\thetable}{\thesection.\@arabic\c@table} X\fi X X\onecolumn X\endinput X%% X%% End of file `siamltex.cls'. X -------cut here----- siamltex.cls echo siamltex.sty 1>&2 sed >siamltex.sty <<'-------cut here----- siamltex.sty' 's/^X//' X%% X%% This is file `siamltex.cls', based on article.cls X%% Revision of siam macros for use with LaTeX 2e X%% X%% By Paul Duggan for the Society for Industrial and Applied X%% Mathematics. X%% X%% December 1, 1995 X%% X%% Version 1.0 X%% X%% You are not allowed to change this file. X%% X%% You are allowed to distribute this file under the condition that X%% it is distributed together with all of the files in the siam macro X%% distribution. These are: X%% X%% siamltex.cls (main macro) X%% siamltex.sty (this file) X%% siam10.clo (size option for 10pt papers) X%% subeqn.clo (allows equation numbners with lettered subelements) X%% siam.bst (bibliographic style file for BibTeX) X%% docultex.tex (documentation file) X%% lexample.tex (example file for latex macro) X%% X%% If you receive only some of these files from someone, complain! X%% X%% You are NOT ALLOWED to distribute this file alone. You are NOT X%% ALLOWED to take money for the distribution or use of either this X%% file or a changed version, except for a nominal charge for copying X%% etc. X%% \CharacterTable X%% {Upper-case \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 X%% Lower-case \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 X%% Digits \0\1\2\3\4\5\6\7\8\9 X%% Exclamation \! Double quote \" Hash (number) \# X%% Dollar \$ Percent \% Ampersand \& X%% Acute accent \' Left paren \( Right paren \) X%% Asterisk \* Plus \+ Comma \, X%% Minus \- Point \. Solidus \/ X%% Colon \: Semicolon \; Less than \< X%% Equals \= Greater than \> Question mark \? X%% Commercial at \@ Left bracket \[ Backslash \\ X%% Right bracket \] Circumflex \^ Underscore \_ X%% Grave accent \` Left brace \{ Vertical bar \| X%% Right brace \} Tilde \~} X\NeedsTeXFormat{LaTeX2e} X\@obsoletefile{siamltex.cls}{siamltex.sty} X\LoadClass{siamxtex} X\endinput X%% X%% End of file `siamltex.sty'. -------cut here----- siamltex.sty echo subeqn.clo 1>&2 sed >subeqn.clo <<'-------cut here----- subeqn.clo' 's/^X//' X% subeqn.sty X% ---------------------------------------------------------------------- X% This LaTeX environment is for X% printing subequations. To use this environment, include in the X% \documentstyle header a command to load in the .sty file containing this X% macro. For example: X% \documentstyle[subeqn]{article} X% if you have the macro in a file subeqn.sty. The environment seems pretty X% well documented in the comments. X% X% Modified : June 8, 1989. You can now reference either individual X% equations in the subequations environment, or all of X% them. If you use a \label command immediately after the X% \begin{subequations} command, then a reference to that X% label will generate a reference to the equation number X% without the alphabetic extension. X% X% Modified : 16 - january - 1989 by Johannes Braams ( BRAAMS@HLSDNL5) X% Added \global\@ignoretrue in the definition of X% \endsubequations in order to prevent a spurious space X% at the beginning of the next text-line. Also added %'s X% at the end of each command-line for the same reasons. X% X%%%---------------------------------------------------------------- X%%% File: subeqn.sty X%%% The subequations environment %%% X% X% Within the subequations environment, the only change is that X% equations are labeled differently. The number stays the same, X% and lower case letters are appended. For example, if after doing X% three equations, numbered 1, 2, and 3, you start a subequations X% environmment and do three more equations, they will be numbered X% 4a, 4b, and 4c. After you end the subequations environment, the X% next equation will be numbered 5. X% X% Both text and equations can be put inside the subequations environment. X% X% If you make any improvements, I'd like to hear about them. X% X% X\newtoks\@stequation X X\def\subequations{\refstepcounter{equation}% X\edef\@savedequation{\the\c@equation}% X\@stequation=\expandafter{\theequation}% %only want \theequation X\edef\@savedtheequation{\the\@stequation}% %expanded once X\edef\oldtheequation{\theequation}% X\setcounter{equation}{0}% X\def\theequation{\oldtheequation\alph{equation}}}% X X\def\endsubequations{% X\setcounter{equation}{\@savedequation}% X\@stequation=\expandafter{\@savedtheequation}% X\edef\theequation{\the\@stequation}\global\@ignoretrue} X%%%---------------------------- X -------cut here----- subeqn.clo .