Initial Work

This commit is contained in:
Joshua Coles 2023-03-01 20:48:14 +00:00
commit 7541cb1c68
8 changed files with 1179 additions and 0 deletions

BIN
IOPGraphicsGuidelines.pdf Normal file

Binary file not shown.

BIN
IOPLaTeXGuidelines.pdf Normal file

Binary file not shown.

68
IOPLaTeXGuidelines.tex Normal file
View File

@ -0,0 +1,68 @@
\documentclass[12pt]{iopart}
\newcommand{\gguide}{{\it Preparing graphics for IOP Publishing journals}}
%Uncomment next line if AMS fonts required
%\usepackage{iopams}
\usepackage{todonotes}
\begin{document}
\title[Diffusion Limited Aggregation Investigation]{Analysis of Diffusion Limited Aggregation under a variety of behaviours}
\author{Candidate Number: XXXXX}
\vspace{10pt}
\begin{indented}
\item[]March 2023
\end{indented}
\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{abstract}
\section{Introduction}
\section{Discussion}
We identify three orthogonal characteristics of the system which we can vary to change the behaviour of the system:
\begin{enumerate}
\item The sticking behaviour, for example introducing a sticking probability to the system such that a particle will not always stick when moving adjacent to the cluster.
\item The random walk behaviour, for instance introducing a different probability distribution, or applying an external force.
\item The space which the DLA process is embedded in, most notably its dimension.
\end{enumerate}
From this we will take the following observables
\begin{enumerate}
\item The measured fractal dimension of the cluster.
\item TODO the consequent critical exponent of the system
\item The surface area of the cluster at various points in its evolution, both total and external.
\item The percentage occupation of the cluster in a ball of equal radius.
\end{enumerate}
\todo{We will want to break up that observable discussion into multiple paragraphs, talk about how the critical exponent is related to the fractal dimension, how that relates to the embedding dimension, etc. Why one might be interested in the two other observables we pulled out of our ass.}
\section{Method}
\todo{What tense should this method be in?}
We will investigate these characteristics in turn as time and computational modelling allows through the following process. Starting with the provided code and working towards a more bespoke and customisable model.
We first took the initially provided code for DLA modelling \ref{IPC} and make minimal alterations such that it will run with reasonable speed \footnote[1]{When running on macOS systems the rendering code slows down the model by several orders of magnitude making it unsuitable for large scale modelling, hence it is removed and replaced with image generation mitigation as discussed later.} and output data for analysis. This data will be analysed and compared with literature\ref{initial-fractal-dimension-data} to confirm agreement. This will then act as a baseline implementation of the DLA model against which we can compare future alterations to ground them and ensure preservation of correct behaviour. In addition we will be creating a small auxiliary program to generate static images of the final result for manual verification of qualitative characteristics as the rendering code is not suitable for large data collection\footnotemark[1].
\todo{Should we reference git commits here? Or keep them all in one repo. Maybe a combo and have them as submodules in a report branch allowing for a linear history and also concurrent presentation for a report.}
Once this minimal viable alteration is complete we will implement our first proper change to the system, introducing a sticking probability, $p_{stick}$, such that a particle is no longer guaranteed to stick when moving adjacent to the cluster, but instead has a chance of simply passing by. This represents a change in our first identified orthogonal behaviour of the model, and the simplest to implement in the framework of the initially provided code. We will verify behaviour against the minimal viable alteration to ensure it is correct. Once this has been done this data will then be analysed to identify a quantitive relationship between $p_{stick}$ and our observables previously listed.
\todo{Do we want to talk about testing, for example that we get a uniform offset, etc.}
\todo{Do we have any theory to link for this? Probably in results but worth bearing in mind}
For further alterations a new codebase will be engineered to allow for more efficient alteration of the other two, more systematic, orthogonal characteristics of the system, containing initially the sticking probability alteration. To ensure fidelity of results we will compare the behaviour and observables of this new system to that of the minimal viable alteration, as well as the sticking probability alteration of it \todo{Better word}.
Once accuracy has been determined the model will be embedded in spaces of higher dimensions, with different values of $p_{stick}$, to observe changes in our desired behaviour and compared against literature where possible.
Finally a system for more complex particle motion will be developed such that we can plug in multiple walk modes in addition to a standard random walk, for example by introducing an external force or various varieties.
\end{document}

1
iopams.sty Normal file
View File

@ -0,0 +1 @@
%% %% This is file `iopams.sty' %% File to include AMS fonts and extra definitions for bold greek %% characters for use with iopart.cls %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{iopams}[1997/02/13 v1.0] \RequirePackage{amsgen}[1995/01/01] \RequirePackage{amsfonts}[1995/01/01] \RequirePackage{amssymb}[1995/01/01] \RequirePackage{amsbsy}[1995/01/01] % \iopamstrue % \newif\ifiopams in iopart.cls & iopbk2e.cls % % allows optional text to be in author guidelines % % Bold lower case Greek letters % \newcommand{\balpha}{\boldsymbol{\alpha}} \newcommand{\bbeta}{\boldsymbol{\beta}} \newcommand{\bgamma}{\boldsymbol{\gamma}} \newcommand{\bdelta}{\boldsymbol{\delta}} \newcommand{\bepsilon}{\boldsymbol{\epsilon}} \newcommand{\bzeta}{\boldsymbol{\zeta}} \newcommand{\bfeta}{\boldsymbol{\eta}} \newcommand{\btheta}{\boldsymbol{\theta}} \newcommand{\biota}{\boldsymbol{\iota}} \newcommand{\bkappa}{\boldsymbol{\kappa}} \newcommand{\blambda}{\boldsymbol{\lambda}} \newcommand{\bmu}{\boldsymbol{\mu}} \newcommand{\bnu}{\boldsymbol{\nu}} \newcommand{\bxi}{\boldsymbol{\xi}} \newcommand{\bpi}{\boldsymbol{\pi}} \newcommand{\brho}{\boldsymbol{\rho}} \newcommand{\bsigma}{\boldsymbol{\sigma}} \newcommand{\btau}{\boldsymbol{\tau}} \newcommand{\bupsilon}{\boldsymbol{\upsilon}} \newcommand{\bphi}{\boldsymbol{\phi}} \newcommand{\bchi}{\boldsymbol{\chi}} \newcommand{\bpsi}{\boldsymbol{\psi}} \newcommand{\bomega}{\boldsymbol{\omega}} \newcommand{\bvarepsilon}{\boldsymbol{\varepsilon}} \newcommand{\bvartheta}{\boldsymbol{\vartheta}} \newcommand{\bvaromega}{\boldsymbol{\varomega}} \newcommand{\bvarrho}{\boldsymbol{\varrho}} \newcommand{\bvarzeta}{\boldsymbol{\varsigma}} %NB really sigma \newcommand{\bvarsigma}{\boldsymbol{\varsigma}} \newcommand{\bvarphi}{\boldsymbol{\varphi}} % % Bold upright capital Greek letters % \newcommand{\bGamma}{\boldsymbol{\Gamma}} \newcommand{\bDelta}{\boldsymbol{\Delta}} \newcommand{\bTheta}{\boldsymbol{\Theta}} \newcommand{\bLambda}{\boldsymbol{\Lambda}} \newcommand{\bXi}{\boldsymbol{\Xi}} \newcommand{\bPi}{\boldsymbol{\Pi}} \newcommand{\bSigma}{\boldsymbol{\Sigma}} \newcommand{\bUpsilon}{\boldsymbol{\Upsilon}} \newcommand{\bPhi}{\boldsymbol{\Phi}} \newcommand{\bPsi}{\boldsymbol{\Psi}} \newcommand{\bOmega}{\boldsymbol{\Omega}} % % Bold versions of miscellaneous symbols % \newcommand{\bpartial}{\boldsymbol{\partial}} \newcommand{\bell}{\boldsymbol{\ell}} \newcommand{\bimath}{\boldsymbol{\imath}} \newcommand{\bjmath}{\boldsymbol{\jmath}} \newcommand{\binfty}{\boldsymbol{\infty}} \newcommand{\bnabla}{\boldsymbol{\nabla}} \newcommand{\bdot}{\boldsymbol{\cdot}} % % Symbols for caption % \renewcommand{\opensquare}{\mbox{$\square$}} \renewcommand{\opentriangle}{\mbox{$\vartriangle$}} \renewcommand{\opentriangledown}{\mbox{$\triangledown$}} \renewcommand{\opendiamond}{\mbox{$\lozenge$}} \renewcommand{\fullsquare}{\mbox{$\blacksquare$}} \newcommand{\fulldiamond}{\mbox{$\blacklozenge$}} \newcommand{\fullstar}{\mbox{$\bigstar$}} \newcommand{\fulltriangle}{\mbox{$\blacktriangle$}} \newcommand{\fulltriangledown}{\mbox{$\blacktriangledown$}} \endinput %% %% End of file `iopams.sty'.

1107
iopart.cls Normal file

File diff suppressed because it is too large Load Diff

1
iopart10.clo Normal file
View File

@ -0,0 +1 @@
%% %% This is file `iopart10.clo' %% %% This file is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %% %% \CharacterTable %% {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 %% 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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \ProvidesFile{iopart10.clo}[1997/01/13 v1.0 IOP Book file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \normalsize \newcommand\small{% \@setfontsize\small\@ixpt{11}% \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus2\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip } \newcommand\footnotesize{% \@setfontsize\footnotesize\@viiipt{9.5}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 3\p@ \@plus\p@ \@minus\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip } \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} \newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} \newcommand\large{\@setfontsize\large\@xiipt{14}} \newcommand\Large{\@setfontsize\Large\@xivpt{18}} \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} \newcommand\huge{\@setfontsize\huge\@xxpt{25}} \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} \if@twocolumn \setlength\parindent{12\p@} \else \setlength\parindent{15\p@} \fi \setlength\headheight{12\p@} \setlength\headsep {12\p@} \setlength\topskip {10\p@} \setlength\footskip{20\p@} \setlength\maxdepth{.5\topskip} \setlength\@maxdepth\maxdepth \setlength\textwidth{31pc} \setlength\textheight{49pc} \setlength\oddsidemargin {24\p@} \setlength\evensidemargin {24\p@} \setlength\marginparwidth {72\p@} \setlength\marginparsep {10\p@} \setlength\marginparpush{5\p@} \setlength\topmargin{\z@} \setlength\footnotesep{6.65\p@} \setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@} \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@} \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} \setlength\@fptop{0\p@} \setlength\@fpsep{8\p@ \@plus 2fil} \setlength\@fpbot{0\p@} \setlength\@dblfptop{0\p@} \setlength\@dblfpsep{8\p@ \@plus 2fil} \setlength\@dblfpbot{0\p@} \setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} \def\@listI{\leftmargin\leftmargini \parsep=\z@ \topsep=5\p@ \@plus3\p@ \@minus3\p@ \itemsep=3\p@ \@plus2\p@ \@minus\p@} \let\@listi\@listI \@listi \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep=2\p@ \@plus2\p@ \@minus\p@ \parsep=\z@ \itemsep=\parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep=\z@ \parsep=\z@ \partopsep=\z@ \itemsep=\z@} \def\@listiv {\leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} \def\@listv {\leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep} \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} \endinput %% %% End of file `iopart.clo'.

1
iopart12.clo Normal file
View File

@ -0,0 +1 @@
%% %% This is file `iopart12.clo' %% %% This file is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %% %% \CharacterTable %% {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 %% 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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \ProvidesFile{iopart12.clo}[1997/01/15 v1.0 LaTeX2e file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xiipt{16}% \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \normalsize \newcommand\small{% \@setfontsize\small\@xipt{14}% \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 9\p@ \@plus3\p@ \@minus5\p@ \parsep 4.5\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip } \newcommand\footnotesize{% % \@setfontsize\footnotesize\@xpt\@xiipt \@setfontsize\footnotesize\@xpt{13}% \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ \@plus2\p@ \@minus2\p@ \parsep 3\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep}% \belowdisplayskip \abovedisplayskip } \newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} \newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} \newcommand\large{\@setfontsize\large\@xivpt{18}} \newcommand\Large{\@setfontsize\Large\@xviipt{22}} \newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}} \newcommand\huge{\@setfontsize\huge\@xxvpt{30}} \let\Huge=\huge \if@twocolumn \setlength\parindent{14\p@} \else \setlength\parindent{18\p@} \fi \setlength\headheight{14\p@} \setlength\headsep{14\p@} \setlength\topskip{12\p@} \setlength\footskip{24\p@} \setlength\maxdepth{.5\topskip} \setlength\@maxdepth\maxdepth \setlength\textwidth{37.2pc} \setlength\textheight{56pc} \setlength\oddsidemargin {\z@} \setlength\evensidemargin {\z@} \setlength\marginparwidth {72\p@} \setlength\marginparsep{10\p@} \setlength\marginparpush{5\p@} \setlength\topmargin{-12pt} \setlength\footnotesep{8.4\p@} \setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@} \setlength\floatsep {14\p@ \@plus 2\p@ \@minus 4\p@} \setlength\textfloatsep {24\p@ \@plus 2\p@ \@minus 4\p@} \setlength\intextsep {16\p@ \@plus 4\p@ \@minus 4\p@} \setlength\dblfloatsep {16\p@ \@plus 2\p@ \@minus 4\p@} \setlength\dbltextfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} \setlength\@fptop{0\p@} \setlength\@fpsep{10\p@ \@plus 1fil} \setlength\@fpbot{0\p@} \setlength\@dblfptop{0\p@} \setlength\@dblfpsep{10\p@ \@plus 1fil} \setlength\@dblfpbot{0\p@} \setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@} \def\@listI{\leftmargin\leftmargini \parsep=\z@ \topsep=6\p@ \@plus3\p@ \@minus3\p@ \itemsep=3\p@ \@plus2\p@ \@minus1\p@} \let\@listi\@listI \@listi \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep=3\p@ \@plus2\p@ \@minus\p@ \parsep=\z@ \itemsep=\parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep=\z@ \parsep=\z@ \partopsep=\z@ \itemsep=\z@} \def\@listiv {\leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep} \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} \endinput %% %% End of file `iopart12.clo'.

1
setstack.sty Normal file
View File

@ -0,0 +1 @@
%% %% This is file `setstack.sty', created by VIK 15 Dec 1998 %% Reproduces useful macros from amsmath.sty, thus avoiding the need to load the entire %% amsmath.sty and run into conflicts %% Adds definitions for \overset, \underset, \sideset, \substack, \boxed, \leftroot, %% \uproot, \dddot, \ddddot, \varrow, \harrow (see The LateX Companion, pp 225-227) \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) [1998/12/15]% LaTeX date must December 1998 or later \ProvidesPackage{setstack} \DeclareRobustCommand{\text}{% \ifmmode\expandafter\text@\else\expandafter\mbox\fi} \let\nfss@text\text \def\text@#1{\mathchoice {\textdef@\displaystyle\f@size{#1}}% {\textdef@\textstyle\tf@size{\firstchoice@false #1}}% {\textdef@\textstyle\sf@size{\firstchoice@false #1}}% {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}% \check@mathfonts } \def\textdef@#1#2#3{\hbox{{% \everymath{#1}% \let\f@size#2\selectfont #3}}} % adds underset, overset, sideset and % substack features from amsmath.sty (Companion p. 226) \def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag} \def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} \def\default@tag{\let\tag\dft@tag} \def\Let@{\let\\\math@cr} \def\restore@math@cr{\def\math@cr@@@{\cr}} \def\overset#1#2{\binrel@{#2}% \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} \def\underset#1#2{\binrel@{#2}% \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} \def\sideset#1#2#3{% \@mathmeasure\z@\displaystyle{#3}% \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ \setbox\tw@\box\@ne \@mathmeasure4\displaystyle{\copy\tw@#1}% \@mathmeasure6\displaystyle{#3\nolimits#2}% \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% } \newenvironment{subarray}[1]{% \vcenter\bgroup \Let@ \restore@math@cr \default@tag \baselineskip\fontdimen10 \scriptfont\tw@ \advance\baselineskip\fontdimen12 \scriptfont\tw@ \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ \lineskiplimit\lineskip \ialign\bgroup\ifx c#1\hfil\fi $\m@th\scriptstyle##$\hfil\crcr }{% \crcr\egroup\egroup } \newcommand{\substack}[1]{\subarray{c}#1\endsubarray} % definitions of dddot and ddddot(p. 225) \def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont ...}\vss}}}} \def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont....}\vss}}}} % definitions of leftroot, uproot (p.225) \begingroup \catcode`\"=12 \gdef\@@sqrt#1{\radical"270370 {#1}} \endgroup \def\leftroot{\@amsmath@err{\Invalid@@\leftroot}\@eha} \def\uproot{\@amsmath@err{\Invalid@@\uproot}\@eha} \newcount\uproot@ \newcount\leftroot@ \def\root{\relaxnext@ \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else \ifx\@let@token\leftroot\let\next@\nextiii@\else \let\next@\plainroot@\fi\fi\next@}% \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else \DN@.{\FN@\nextv@}\fi\next@.}% \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else \let\next@\plainroot@\fi\next@}% \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% \def\nextvii@{\ifx\@let@token\@sptoken \DN@. {\FN@\nextviii@}\else \DN@.{\FN@\nextviii@}\fi\next@.}% \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else \let\next@\plainroot@\fi\next@}% \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} \def\plainroot@#1\of#2{\setbox\rootbox\hbox{% $\m@th\scriptscriptstyle{#1}$}% \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} \def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}% \dimen@\ht\z@\advance\dimen@-\dp\z@ \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% \advance\dimen@ by1.667\wd\@ne \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\mkern\leftroot@ mu\boxz@} % definition of \boxed (math in frame, no dollars) p 225 \def\boxed#1{\fbox{\m@th$\displaystyle#1$}} % definition of \smash for top and bottom parts of expression in braces (p.227) \renewcommand{\smash}[2][tb]{% \def\smash@{#1}% \ifmmode\@xp\mathpalette\@xp\mathsm@sh\else \@xp\makesm@sh\fi{#2}} % additional difinitions for arrows % zero mm wide #2 mm long vertical arrow shifted 1 mm to left, 1 mm up \newcommand{\varrow}[2]{% \unitlength=1mm \begin{picture}(0,6) % (0,0) % - for #1 to point arrow down,+ to point arrow up \end{picture}% \put(0,6){\vector(0,#1 3){#2}} % 6,- for down, 0, + for up } % 1 mm high #2 mm long horizontal arrow shifted 1 mm up (0,-1) \newcommand{\harrow}[2]{% \unitlength=1mm \begin{picture}(8,1)(0,-1) % % 1 mm distance between arrow and stackreled object over it (8,1) \put(0,0){\vector(#1 2,0){#2}} % - to point arrow left, + right \end{picture}% } \endinput %% end of setstack.sty %% Corrections history: %%