~ubuntu-branches/debian/wheezy/texlive-extra/wheezy

« back to all changes in this revision

Viewing changes to texmf-dist/source/latex/siam/sodaptex.all

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2007-01-12 19:08:37 UTC
  • mfrom: (1.2.1 upstream) (3.1.2 feisty)
  • Revision ID: james.westby@ubuntu.com-20070112190837-1cm7kyizrcdtk1ac
Tags: 2005.dfsg.3-1
blacklist siam.tpm and build new upstream, as the siam macros are not
DFSG free (no selling clause) (Closes: #406426)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
%% This is sodaptex.all. This file is to be used for creating a paper
2
 
%% in the ACM/SIAM Preprint series with Plain TeX. It consists of the following
3
 
%% two files:
4
 
%%
5
 
%%       ptexpprt.tex ---- an example and documentation file
6
 
%%       ptexpprt.sty ---- the macro file
7
 
%%
8
 
%% To use, cut this file apart at the appropriate places.  You can run the
9
 
%% example file with the macros to get sample output.
10
 
%%
11
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  CUT HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12
 
%
13
 
%
14
 
%%%%%%%%%%%%%%%%%%%%%%%%%%  ptexpprt.tex  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
 
%
16
 
% This is ptexpprt.tex, an example file for use with the ACM/SIAM Plain TeX
17
 
% Preprint Series macros. It is designed to produce double-column output.
18
 
% Comments are placed at the beginning and throughout this file. Please
19
 
% take the time to read them as they document how to use these macros.
20
 
% This file can be composed and printed out for use as sample output.
21
 
 
22
 
% Any comments or questions regarding these macros should be directed to:
23
 
%
24
 
%                 Corey Gray
25
 
%                 SIAM
26
 
%                 3600 University City Science Center
27
 
%                 Philadelphia, PA 19104-2688
28
 
%                 USA
29
 
%                 Telephone: (215) 382-9800
30
 
%                 Fax: (215) 386-7999
31
 
%                 e-mail: gray@siam.org
32
 
 
33
 
% This file is to be used as an example for style only. It should not be read
34
 
% for content.
35
 
 
36
 
%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
37
 
 
38
 
%%  1. You must use the numbered reference style([1],[2]), listing the
39
 
%%     references at the end of the chapter either by order of citation
40
 
%%     or alphabetically.
41
 
%%
42
 
%%  2. Unless otherwise stated by your editor, do your chapter as if it
43
 
%%     is Chapter 1.
44
 
%%     If you know which number your chapter is, you must do the following:
45
 
%%
46
 
%%            Go into the style file (ptexfrnt.sty) and search for the
47
 
%%            \def\chapter#1 definition. At the end of this definition
48
 
%%            there is a command \headcount=1. Change the 1 to
49
 
%%            the appropriate number. This change will cause the headings
50
 
%%            in your chapter to match the chapter number.
51
 
%%
52
 
%%  3. This macro is set up for two levels of headings. The macro will
53
 
%%     automatically number the headings for you.
54
 
%%
55
 
%%  4. The running heads are defined in the output routine. It will be
56
 
%%     necessary for you to alter the information currently included.
57
 
%%     To do this, go into the style file and search for OUTPUT. Once there,
58
 
%%     scroll through the file until you see the command \def\rhead. Replace
59
 
%%     CHAPTER TITLE with the title (or shortened title) of your paper.
60
 
%%     Replace AUTHORS NAMES with the appropriate names.
61
 
%%     Neither running head may be longer than 50 characters.
62
 
%%
63
 
%%  5. Theorems, Lemmas, Definitions, etc. are to be triple numbered,
64
 
%%     indicating the chapter, section, and the occurence of that element
65
 
%%     within that section. (For example, the first theorem in the second
66
 
%%     section of chapter three would be numbered 3.2.1. This numbering must
67
 
%%     be done manually.
68
 
%%
69
 
%%  6. Figures and equations must be manually double-numbered, indicating
70
 
%%     chapter and occurence. Use \leqno for equation numbering. See the
71
 
%%     example of \caption for figure numbering.
72
 
%%     Note. Although not shown, tables must also be double-numbered. The
73
 
%%     command \caption can also be used for table captions.
74
 
%%
75
 
%%  7. At the first occurence of each new element there is a description
76
 
%%     of how to use the coding.
77
 
%%
78
 
%%%%%%%  PLEASE NOTE THE FOLLOWING POTENTIAL PROBLEMS:
79
 
%
80
 
%%  1. A bug exists that prevents a page number from printing on the first
81
 
%%     page of the paper. Please ignore this problem. It will be handled
82
 
%%     after you submit your paper.
83
 
%%
84
 
%%  2. The use of \topinsert and \midinsert to allow space for figures can
85
 
%%     result in unusual page breaks, or unusual looking pages in general.
86
 
%%     If you encounter such a situation, contact the SIAM office at the
87
 
%%     address listed above for instructions.
88
 
%%
89
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90
 
 
91
 
\input ptexpprt.sty
92
 
\voffset=.25in
93
 
\titlepage
94
 
 
95
 
% It will be necessary to hard code the chapter title and chapter authors.
96
 
% You must decide where to break the lines. For the authors, please follow
97
 
% the following conventions:
98
 
%  1. If 2 authors are on a line, use \hskip4pc between them. If 3 authors,
99
 
%     use \hskip2pc. Do not put more than 3 authors on the same line.
100
 
%  2. Use the following notation: asterisk, dagger, double-dagger, section
101
 
%     symbol, paragraph symbol, double asterisk. If more are needed, contact
102
 
%     the SIAM office.
103
 
 
104
 
\centerline{\chapterfont Chapter 1}
105
 
\vskip2pt
106
 
\centerline{\titlefont SIAM/ACM Preprint Series Macros for
107
 
Plain TeX\footnote*{Supported by GSF grants ABC123, DEF456, and GHI 789.}}
108
 
\vskip15pt
109
 
\centerline{\authorfont J. Corey Gray\footnote\dag{Society for Industrial and
110
 
Applied Mathematics.}\hskip2pc Tricia Manning\footnote\ddag{Society for
111
 
Industrial and Applied Mathematics.}\hskip2pc Vickie Kearn\footnote\S{Society
112
 
for Industrial and Applied Mathematics.}}
113
 
\vskip2pc
114
 
 
115
 
\begindoublecolumns
116
 
 
117
 
% Use \headone for the first level headings. The macro will automatically
118
 
% number the headings.
119
 
 
120
 
\headone{Problem Specification}
121
 
In this paper,  we consider the solution of the $N \times N$ linear
122
 
system
123
 
$$A x = b\leqno(1.1)$$
124
 
where $A$ is large, sparse, symmetric, and positive definite.  We consider
125
 
the direct solution of by means of general sparse Gaussian
126
 
elimination.  In such a procedure, we find a permutation matrix $P$, and
127
 
compute the decomposition
128
 
$$
129
 
P A P^{t} = L D L^{t}
130
 
$$
131
 
where $L$ is unit lower triangular and $D$ is diagonal.
132
 
 
133
 
\headone{Design Considerations}
134
 
Several good ordering algorithms (nested dissection and minimum degree)
135
 
are available for computing $P$  [1], [2].
136
 
Since our interest here does not
137
 
focus directly on the ordering, we assume for convenience that $P=I$,
138
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
139
 
 
140
 
% Use \headtwo for second level headings. They will be numbered automatically.
141
 
 
142
 
\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
143
 
the sorting and intersection problems that arise in the
144
 
sparse formulation of the algorithm.
145
 
 
146
 
\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
147
 
approaches to the intersection problem for the special case of
148
 
an $n \times n$ grid ordered by nested dissection. The special
149
 
structure of this problem allows us to make exact estimates of
150
 
the complexity. To our knowledge, the m-tree previously has not been applied in
151
 
this
152
 
fashion to the numerical factorization, but it has been used,
153
 
directly or indirectly, in several optimal order algorithms for
154
 
computing the fill-in during the symbolic factorization phase
155
 
[4] - [10], [5], [6].
156
 
This is accomplished by exploiting the m-tree,
157
 
a particular spanning tree for the graph of the filled-in matrix.
158
 
Our purpose here is to examine the nonnumerical complexity of the
159
 
sparse elimination algorithm given in  [3].
160
 
As was shown there, a general sparse elimination scheme based on the
161
 
bordering algorithm requires less storage for pointers and
162
 
row/column indices than more traditional implementations of general
163
 
sparse elimination. This is accomplished by exploiting the m-tree,
164
 
a particular spanning tree for the graph of the filled-in matrix.
165
 
 
166
 
 
167
 
% Use \thm and \endthm for theorems. They must be numbered manually.
168
 
% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
169
 
% propositions (\prop \endprop) are coded the same as theorems and must
170
 
% also be numbered manually.
171
 
 
172
 
\thm{Theorem 2.1.} The method  was extended to three
173
 
dimensions. For the standard multigrid
174
 
coarsening
175
 
(in which, for a given grid, the next coarser grid has $1/8$
176
 
as many points), anisotropic problems require plane
177
 
relaxation to
178
 
obtain a good smoothing factor.\endthm
179
 
 
180
 
Several good ordering algorithms (nested dissection and minimum degree)
181
 
are available for computing $P$  [1], [2].
182
 
Since our interest here does not
183
 
focus directly on the ordering, we assume for convenience that $P=I$,
184
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
185
 
Several good ordering algorithms (nested dissection and minimum degree)
186
 
are available for computing $P$  [1], [2].
187
 
Since our interest here does not
188
 
focus directly on the ordering, we assume for convenience that $P=I$,
189
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
190
 
 
191
 
% Use \prf to begin a proof.
192
 
 
193
 
\prf{Proof} In this paper we consider two methods. The first method
194
 
is
195
 
basically the method considered with two differences:
196
 
first, we perform plane relaxation by a two-dimensional
197
 
multigrid method, and second, we use a slightly different
198
 
choice of
199
 
interpolation operator, which improves performance
200
 
for nearly singular problems. In the second method coarsening
201
 
is done by successively coarsening each.
202
 
 
203
 
% Use \dfn to begin definitions.
204
 
 
205
 
\dfn{Definition 1.2.1.}We describe the two methods in \S\ 1.2. This is a
206
 
definition in the plain tex macro.
207
 
 
208
 
This is accomplished by exploiting the m-tree,
209
 
a particular spanning tree for the graph of the filled-in matrix.
210
 
Our purpose here is to examine the nonnumerical complexity of the
211
 
sparse elimination algorithm given in  [3].
212
 
As was shown there, a general sparse elimination scheme based on the
213
 
bordering algorithm requires less storage for pointers and
214
 
row/column indices than more traditional implementations of general
215
 
sparse elimination. This is accomplished by exploiting the m-tree,
216
 
a particular spanning tree for the graph of the filled-in matrix.
217
 
Our purpose here is to examine the nonnumerical complexity of the
218
 
sparse elimination algorithm given in  [3].
219
 
As was shown there, a general sparse elimination scheme based on the
220
 
bordering algorithm requires less storage for pointers and
221
 
row/column indices than more traditional implementations of general
222
 
sparse elimination. This is accomplished by exploiting the m-tree,
223
 
a particular spanning tree for the graph of the filled-in matrix.
224
 
Since our interest here does not
225
 
focus directly on the ordering, we assume for convenience that $P=I$,
226
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
227
 
 
228
 
 
229
 
To our knowledge, the m-tree previously has not been applied in this
230
 
fashion to the numerical factorization, but it has been used,
231
 
directly or indirectly, in several optimal order algorithms for
232
 
computing the fill-in during the symbolic factorization phase
233
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
234
 
approaches to the intersection problem for the special case of
235
 
an $n \times n$ grid ordered by nested dissection. The special
236
 
structure of this problem allows us to make exact estimates of
237
 
the complexity. To our knowledge, the m-tree previously has not been applied in
238
 
this
239
 
fashion to the numerical factorization, but it has been used,
240
 
directly or indirectly, in several optimal order algorithms for
241
 
computing the fill-in during the symbolic factorization phase
242
 
[4] - [10], [5], [6].
243
 
Several good ordering algorithms (nested dissection and minimum degree)
244
 
are available for computing $P$  [1], [2].
245
 
Since our interest here does not
246
 
focus directly on the ordering, we assume for convenience that $P=I$,
247
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
248
 
For the old approach, we show that the
249
 
complexity of the intersection problem is $O(n^{3})$, the same
250
 
as the complexity of the numerical computations.  For the
251
 
new approach, the complexity of the second part is reduced to
252
 
$O(n^{2} (\log n)^{2})$.
253
 
 
254
 
% Use \midinsert along with \caption to allow space for
255
 
% figures. See note above in problem section.
256
 
%\midinsert\vskip15.5pc\caption{Fig. 1.1. {\nineit This is figure 1.}}
257
 
%   \endcaption\endinsert
258
 
 
259
 
In this paper, we consider the solution of the $N \times N$ linear
260
 
system
261
 
where $A$ is large, sparse, symmetric, and positive definite.  We consider
262
 
the direct solution of by means of general sparse Gaussian
263
 
elimination.  In such a procedure, we find a permutation matrix $P$, and
264
 
compute the decomposition
265
 
where $L$ is unit lower triangular and $D$ is diagonal.
266
 
 
267
 
\headone{Design Considerations}
268
 
Several good ordering algorithms (nested dissection and minimum degree)
269
 
are available for computing $P$  [1], [2].
270
 
Since our interest here does not
271
 
focus directly on the ordering, we assume for convenience that $P=I$,
272
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
273
 
 
274
 
Several good ordering algorithms (nested dissection and minimum degree)
275
 
are available for computing $P$  [1], [2].
276
 
Since our interest here does not
277
 
focus directly on the ordering, we assume for convenience that $P=I$,
278
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
279
 
Several good ordering algorithms (nested dissection and minimum degree)
280
 
are available for computing $P$  [1], [2].
281
 
Since our interest here does not
282
 
focus directly on the ordering, we assume for convenience that $P=I$,
283
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
284
 
Our purpose here is to examine the nonnumerical complexity of the
285
 
sparse elimination algorithm given in  [3].
286
 
As was shown there, a general sparse elimination scheme based on the
287
 
bordering algorithm requires less storage for pointers and
288
 
row/column indices than more traditional implementations of general
289
 
sparse elimination. This is accomplished by exploiting the m-tree,
290
 
a particular spanning tree for the graph of the filled-in matrix.
291
 
Since our interest here does not
292
 
focus directly on the ordering, we assume for convenience that $P=I$,
293
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
294
 
 
295
 
% Use \lem and \endlem to begin and end lemmas.
296
 
 
297
 
\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
298
 
which is a generalization. We assume that $G^{k-1}$ is
299
 
obtained
300
 
from $G^k$
301
 
by standard coarsening; that is, if $G^k$ is a tensor product
302
 
grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
303
 
$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
304
 
where $G_{x}^{k-1}$ is obtained by deleting every other grid
305
 
point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
306
 
\endlem
307
 
 
308
 
To our knowledge, the m-tree previously has not been applied in this
309
 
fashion to the numerical factorization, but it has been used,
310
 
directly or indirectly, in several optimal order algorithms for
311
 
computing the fill-in during the symbolic factorization phase
312
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
313
 
approaches to the intersection problem for the special case of
314
 
an $n \times n$ grid ordered by nested dissection. The special
315
 
structure of this problem allows us to make exact estimates of
316
 
the complexity. To our knowledge, the m-tree previously has not been applied in
317
 
this
318
 
fashion to the numerical factorization, but it has been used,
319
 
directly or indirectly, in several optimal order algorithms for
320
 
computing the fill-in during the symbolic factorization phase
321
 
[4] - [10], [5], [6].
322
 
 
323
 
% Use \headtwo for second level headings. They will be numbered automatically.
324
 
 
325
 
\headone{Problem Solving}In \S 1.2, we review the bordering algorithm, and
326
 
introduce
327
 
the sorting and intersection problems that arise in the
328
 
sparse formulation of the algorithm.
329
 
 
330
 
\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
331
 
approaches to the intersection problem for the special case of
332
 
an $n \times n$ grid ordered by nested dissection. The special
333
 
structure of this problem allows us to make exact estimates of
334
 
the complexity. To our knowledge, the m-tree previously has not been applied in
335
 
this
336
 
fashion to the numerical factorization, but it has been used,
337
 
directly or indirectly, in several optimal order algorithms for
338
 
computing the fill-in during the symbolic factorization phase
339
 
[4] - [10], [5], [6].
340
 
 
341
 
 
342
 
\headtwo{Complexity}For the old approach, we show that the
343
 
complexity of the intersection problem is $O(n^{3})$, the same
344
 
as the complexity of the numerical computations.  For the
345
 
new approach, the complexity of the second part is reduced to
346
 
$O(n^{2} (\log n)^{2})$.
347
 
 
348
 
To our knowledge, the m-tree previously has not been applied in this
349
 
fashion to the numerical factorization, but it has been used,
350
 
directly or indirectly, in several optimal order algorithms for
351
 
computing the fill-in during the symbolic factorization phase
352
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
353
 
approaches to the intersection problem for the special case of
354
 
an $n \times n$ grid ordered by nested dissection. The special
355
 
structure of this problem allows us to make exact estimates of
356
 
the complexity. To our knowledge, the m-tree previously has not been applied in
357
 
this
358
 
fashion to the numerical factorization, but it has been used,
359
 
directly or indirectly, in several optimal order algorithms for
360
 
computing the fill-in during the symbolic factorization phase
361
 
[4] - [10], [5], [6].
362
 
 
363
 
% The command \Refs sets the word Reference as a heading and allows the proper
364
 
% amount of space before the start of the references. Each reference must
365
 
% begin with \ref\\. The article or title of the reference should be in
366
 
% italic. Use the \it command within brackets. End each reference with
367
 
% \endref and allow two returns between references. Use the command
368
 
% \sameauthor (see reference 8)  when the same author or group of authors
369
 
% is listed consecutively.
370
 
 
371
 
\Refs
372
 
 
373
 
\ref 1\\R.~E. Bank, {\it PLTMG  users' guide, edition 5.0}, tech. report,
374
 
  Department of Mathematics, University of California, San Diego, CA,
375
 
1988.\endref
376
 
 
377
 
\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
378
 
  multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
379
 
 
380
 
\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
381
 
  permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
382
 
  pp.~574--584.\endref
383
 
 
384
 
\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
385
 
  Algorithms and data structures for sparse symmetric gaussian elimination},
386
 
  SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
387
 
 
388
 
\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Positive
389
 
  Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
390
 
 
391
 
\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
392
 
  factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
393
 
 
394
 
\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for factors
395
 
  using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
396
 
 
397
 
\ref 8\\\sameauthor , {\it The role of
398
 
  elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
399
 
  of Computer Science, York University, Ontario, Canada, 1987.\endref
400
 
 
401
 
\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
402
 
  sparse positive definite systems}, in Graph Theory and Computing,
403
 
  Academic Press, New York, 1972.\endref
404
 
 
405
 
\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
406
 
  vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
407
 
\enddoublecolumns
408
 
 
409
 
\bye
410
 
%%
411
 
%%
412
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  CUT HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413
 
%
414
 
%
415
 
%%%%%%%%%%%%%%%%%%%%%%%%%%  ptexpprt.sty  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416
 
%
417
 
%       This is a file of macros and definitions for creating a chapter
418
 
%       for publication in the ACM/SIAM Preprint Series using Plain TeX.
419
 
%       This file may be freely distributed but may not be altered in any way.
420
 
%    Any comments or questions regarding these macros should be directed to:
421
 
 
422
 
%                 Corey Gray
423
 
%                 SIAM
424
 
%                 3600 University City Science Center
425
 
%                 Philadelphia, PA 19104-2688
426
 
%                 USA
427
 
%                 Telephone: (215) 382-9800
428
 
%                 Fax: (215) 386-7999
429
 
%                 e-mail: gray@siam.org
430
 
%
431
 
 
432
 
%    Report the version.
433
 
\message{*** ACM/SIAM Plain TeX Preprint Series macro package, version 1.0,
434
 
September 24, 1990.***}
435
 
 
436
 
% Make the @ sign a letter for internal control sequences.
437
 
\catcode`\@=11
438
 
%
439
 
%
440
 
%
441
 
 
442
 
 
443
 
 
444
 
%%%  DIMENSIONS  %%%
445
 
 
446
 
\newdimen\pagewidth
447
 
\hsize=41pc
448
 
\pagewidth=\hsize
449
 
\newdimen\pageheight
450
 
\vsize=50pc
451
 
\pageheight=\vsize
452
 
\newdimen\ruleht
453
 
\ruleht=.5pt
454
 
\maxdepth=2.2pt
455
 
 
456
 
\parindent=18truept
457
 
\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
458
 
\parskip=0pt plus 1pt
459
 
 
460
 
 
461
 
%%%  FONTS  %%%
462
 
 
463
 
\font\tenrm=cmr10
464
 
\font\tenbf=cmbx10
465
 
\font\tenit=cmti10
466
 
\font\tensmc=cmcsc10
467
 
\def\tenpoint{%
468
 
   \def\rm{\tenrm}\def\bf{\tenbf}%
469
 
   \def\it{\tenit}\def\smc{\tensmc}
470
 
        \textfont0=\tenrm \scriptfont0=\sevenrm
471
 
        \textfont1=\teni \scriptfont1=\seveni
472
 
        \textfont2=\tensy \scriptfont2=\sevensy
473
 
        \textfont3=\tenex \scriptfont3=\tenex
474
 
\baselineskip=12pt\rm}%
475
 
 
476
 
\font\ninerm=cmr9
477
 
\font\ninebf=cmbx9
478
 
\font\nineit=cmti9
479
 
\def\ninepoint{%
480
 
   \def\rm{\ninerm}\def\bf{\ninebf}%
481
 
   \def\it{\nineit}\baselineskip=11pt\rm}%
482
 
 
483
 
\font\eightrm=cmr8
484
 
\font\eightbf=cmbx8
485
 
\font\eightit=cmti8
486
 
\font\eighti=cmmi8
487
 
\font\eightsy=cmsy8
488
 
\def\eightpoint{%
489
 
   \def\rm{\eightrm}\def\bf{\eightbf}%
490
 
   \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
491
 
        \textfont0=\eightrm \scriptfont0=\sixrm
492
 
        \textfont1=\eighti \scriptfont1=\sixi
493
 
        \textfont2=\eightsy \scriptfont2=\sixsy
494
 
        \textfont3=\tenex \scriptfont3=\tenex
495
 
}
496
 
 
497
 
\font\sixrm=cmr6
498
 
\font\sixbf=cmbx6
499
 
\font\sixi=cmmi6
500
 
\font\sixsmc=cmr5
501
 
\font\sixsy=cmsy6
502
 
\def\sixpoint{%
503
 
   \def\rm{\sixrm}\def\bf{\sixbf}%
504
 
   \def\smc{\sixsmc}\baselineskip=8pt\rm}%
505
 
 
506
 
\fontdimen13\tensy=2.6pt
507
 
\fontdimen14\tensy=2.6pt
508
 
\fontdimen15\tensy=2.6pt
509
 
\fontdimen16\tensy=1.2pt
510
 
\fontdimen17\tensy=1.2pt
511
 
\fontdimen18\tensy=1.2pt
512
 
 
513
 
\font\eightrm=cmr8
514
 
\font\ninerm=cmr9
515
 
\font\twelverm=cmr10 scaled\magstep1
516
 
\font\twelvebf=cmbx10 scaled\magstep 1
517
 
\font\sixteenrm=cmr10 scaled\magstep2
518
 
\def\titlefont{\sixteenrm}
519
 
\def\chapterfont{\twelvebf}
520
 
\def\authorfont{\twelverm}
521
 
\def\rheadfont{\tenrm}
522
 
\def\smc{\tensmc}
523
 
 
524
 
 
525
 
 
526
 
 
527
 
%%%  COUNTERS FOR HEADINGS  %%%
528
 
 
529
 
\newcount\headcount
530
 
\headcount=1
531
 
\newcount\seccount
532
 
\seccount=1
533
 
\newcount\subseccount
534
 
\subseccount=1
535
 
\def\reset{\global\seccount=1}
536
 
\global\headcount=0
537
 
 
538
 
%%%  HEADINGS  %%%
539
 
 
540
 
\def\headone#1{\global\advance\headcount by 1
541
 
\vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount
542
 
\hskip11truept #1.}\par\nobreak\firstpar\global\advance\headcount by 0
543
 
   %\global\advance\seccount by 1
544
 
\reset\vskip2truept}
545
 
 
546
 
\def\headtwo#1{%\advance\seccount by -1%
547
 
   \vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount.%
548
 
   \the\seccount\hskip11truept #1.}\enspace\ignorespaces\firstpar
549
 
   \global\advance\headcount by 0\global\advance\seccount by 1}
550
 
%   \global\advance\subseccount by 1}
551
 
 
552
 
 
553
 
%%%  THEOREMS, PROOFS, DEFINITIONS, etc.  %%%
554
 
 
555
 
\def\thm#1{{\smc
556
 
#1\enspace}
557
 
\begingroup\it\ignorespaces\firstpar}
558
 
 
559
 
\let\lem=\thm
560
 
\let\cor=\thm
561
 
\let\prop=\thm
562
 
 
563
 
\def\endthm{\endgroup}
564
 
\let\endlem=\endthm
565
 
\let\endcor=\endthm
566
 
\let\endprop=\endthm
567
 
 
568
 
\def\prf#1{{\it #1.}\rm\enspace\ignorespaces}
569
 
\let\rem=\prf
570
 
\let\case=\prf
571
 
 
572
 
 
573
 
\def\dfn#1{{\smc
574
 
#1\enspace}
575
 
\rm\ignorespaces}
576
 
 
577
 
 
578
 
 
579
 
%%%  FIGURES AND CAPTIONS  %%%
580
 
 
581
 
\def\caption#1\endcaption{\vskip18pt\ninerm\centerline{#1}\vskip18pt\tenrm}
582
 
 
583
 
\newinsert\topins \newif\ifp@ge \newif\if@mid
584
 
\def\topinsert{\@midfalse\p@gefalse\@ins}
585
 
\def\midinsert{\@midtrue\@ins}
586
 
\def\pageinsert{\@midfalse\p@getrue\@ins}
587
 
\skip\topins=0pt %no space added when a topinsert is present
588
 
\count\topins=1000 %magnification factor (1 to 1)
589
 
\dimen\topins=\maxdimen
590
 
\def\@ins{\par\begingroup\setbox0=\vbox\bgroup}
591
 
\def\endinsert{\egroup
592
 
    \if@mid \dimen@=\ht0 \advance\dimen@ by\dp0
593
 
       \advance\dimen@ by12\p@ \advance\dimen@ by\pagetotal
594
 
       \ifdim\dimen@>\pagegoal \@midfalse\p@gefalse\fi\fi
595
 
    \if@mid \bigskip \box0 \bigbreak
596
 
    \else\insert\topins{\penalty100
597
 
      \splittopskip=0pt \splitmaxdepth=\maxdimen \floatingpenalty=0
598
 
      \ifp@ge \dimen@=\dp0
599
 
      \vbox to\vsize{\unvbox0 \kern-\dimen@}
600
 
    \else \box0 \nobreak\bigskip\fi}\fi\endgroup}
601
 
 
602
 
 
603
 
%%%  REFERENCES  %%%
604
 
 
605
 
\newdimen\refindent@
606
 
\newdimen\refhangindent@
607
 
\newbox\refbox@
608
 
\setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [00]}%   Default 2 digits
609
 
\refindent@=\wd\refbox@
610
 
 
611
 
\def\resetrefindent#1{%
612
 
        \setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [#1]}%
613
 
        \refindent@=\wd\refbox@}
614
 
 
615
 
\def\Refs{%
616
 
        \unskip\vskip1pc
617
 
        \leftline{\noindent\tenpoint\bf References}%
618
 
        \penalty10000
619
 
        \vskip4pt
620
 
        \penalty10000
621
 
        \refhangindent@=\refindent@
622
 
        \global\advance\refhangindent@ by .5em
623
 
        \global\everypar{\hangindent\refhangindent@}%
624
 
        \parindent=0pt\ninepoint\rm}
625
 
 
626
 
\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
627
 
    \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
628
 
 
629
 
\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
630
 
 
631
 
 
632
 
%%%  OUTPUT  %%%
633
 
 
634
 
\newinsert\margin
635
 
\dimen\margin=\maxdimen
636
 
\count\margin=0 \skip\margin=0pt
637
 
 
638
 
 
639
 
\def\footnote#1{\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
640
 
  \insert\footins\bgroup\eightpoint\hsize=30pc
641
 
  \interlinepenalty100 \let\par=\endgraf
642
 
   \leftskip=0pt \rightskip=0pt
643
 
   \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
644
 
\smallskip
645
 
\item{#1}\bgroup\strut\aftergroup\@foot\let\next}
646
 
\skip\footins=6pt plus 2pt minus 4pt
647
 
\dimen\footins=30pc
648
 
 
649
 
\newif\iftitle
650
 
 
651
 
 
652
 
\def\titlepage{\global\titletrue\footline={\hss\ninepoint\rm\folio\hss}}
653
 
\def\rhead{\ifodd\pageno CHAPTER TITLE
654
 
 \else AUTHORS NAMES\fi}
655
 
 
656
 
\def\makefootline{\ifnum\pageno>1\global\footline={\hfill}\fi
657
 
   \baselineskip24\p@\vskip12\p@\fullline{\the\footline}}
658
 
\def\leftheadline{\hbox to \pagewidth{
659
 
  \vbox to 10pt{}
660
 
  {\kern-8pt\tenrm\folio\hfill\ninerm\rhead}}}
661
 
\def\rightheadline{\hbox to \pagewidth{
662
 
  \vbox to 10pt{}
663
 
  \kern-8pt\ninerm\rhead\hfil
664
 
  {\kern-1pc\tenrm\folio}}}
665
 
 
666
 
\def\onepageout#1{\shipout\vbox{
667
 
\offinterlineskip
668
 
 \vbox to 2.25pc{%
669
 
  \iftitle \global\titlefalse
670
 
%   \setcornerrules
671
 
 \else\ifodd\pageno\rightheadline\else\leftheadline\fi\fi \vfill}
672
 
\vbox to \pageheight{
673
 
  \ifvoid\margin\else
674
 
  \rlap{\kern31pc\vbox to0pt{\kern4pt\box\margin \vss}}\fi
675
 
 #1 %
676
 
\ifvoid\footins\else
677
 
 \vskip\skip\footins \kern 0pt
678
 
 \hrule height\ruleht width 2.5pc \kern-\ruleht \kern 0pt
679
 
 \unvbox\footins\fi
680
 
\boxmaxdepth=\maxdepth}}
681
 
\advancepageno}
682
 
 
683
 
\def\setcornerrules{\hbox to \pagewidth{
684
 
  \vrule width 1pc height\ruleht \hfil \vrule width 1pc}
685
 
  \hbox to \pagewidth{\llap{\sevenrm(page \folio)\kern1pc}
686
 
  \vrule height1pc width\ruleht depth0pt
687
 
  \hfil \vrule width\ruleht depth0pt}}
688
 
\output{\onepageout{\unvbox255}}
689
 
 
690
 
\newbox\partialpage
691
 
\def\begindoublecolumns{\begingroup
692
 
  \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}\eject
693
 
  \output={\doublecolumnout} \hsize=20pc \vsize=101pc}
694
 
\def\enddoublecolumns{\output={\balancecolumns}\eject
695
 
  \endgroup \pagegoal=\vsize}
696
 
 
697
 
\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
698
 
 \dimen@=50pc \advance\dimen@ by-\ht\partialpage
699
 
 \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
700
 
 \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
701
 
\def\pagesofar{\unvbox\partialpage
702
 
 \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
703
 
\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
704
 
 \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
705
 
 \divide\dimen@ by2 \splittopskip=\topskip
706
 
{\vbadness=10000 \loop \global\setbox3=\copy0
707
 
 \global\setbox1=\vsplit3 to\dimen@
708
 
 \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
709
 
 \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox 3}
710
 
\pagesofar}
711
 
 
712
 
 
713
 
 
714
 
 
715
 
%       Turn off @ as being a letter.
716
 
%
717
 
\catcode`\@=13
718
 
 
719
 
% End of ptexpprt.sty
720
 
 
721
 
 
722
 
CUT HERE............