]> mj.ucw.cz Git - ads1.git/commitdiff
Initial commit.
authorMartin Mares <mj@ucw.cz>
Mon, 19 Feb 2007 20:52:22 +0000 (21:52 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 19 Feb 2007 20:52:22 +0000 (21:52 +0100)
17 files changed:
0-demo/0-demo.tex [new file with mode: 0644]
0-demo/Makefile [new file with mode: 0644]
Makefile [new file with mode: 0644]
Makerules [new file with mode: 0644]
all/Makefile [new file with mode: 0644]
all/ads.tex [new file with mode: 0644]
all/preprocess [new file with mode: 0755]
lecnotes.tex [new file with mode: 0644]
mjmac.tex [new file with mode: 0644]
slides/Makefile [new file with mode: 0644]
slides/funcs.eps [new file with mode: 0644]
slides/funcs.gp [new file with mode: 0755]
slides/funcs2.eps [new file with mode: 0644]
slides/funcs2.gp [new file with mode: 0755]
slides/growth.pl [new file with mode: 0755]
slides/growth.tex [new file with mode: 0644]
slides/slidemac.tex [new file with mode: 0644]

diff --git a/0-demo/0-demo.tex b/0-demo/0-demo.tex
new file mode 100644 (file)
index 0000000..6b7a5e2
--- /dev/null
@@ -0,0 +1,37 @@
+\input ../lecnotes.tex
+
+\prednaska{0}{Ukázka pou¾ití maker}{(zapsal Martin Mare¹)}
+
+% Takhle vypadá nadpis
+\h{Pøedposlední kapitola}
+
+% \> zaøídí, aby se odstavec neodsadil. Pomocí \I se sází kurzíva, \foot vyrobí poznámku pod èarou.
+\>Je svaèveèer. {\I Lysperní jezeleni} se vírnì vtráèejí v~mokøavì.\foot{Viz Lewis Caroll: Jabberwocky.}
+
+\itemize\ibull
+\:Takhle.
+\:Vypadají.
+\:Odrá¾ky.
+\endlist
+
+\h{Druhá kapitola}
+
+\s{Vìta:} Paøez není strom.
+
+\proof
+Strom je speciálním pøípadem lesa. Les je (podle definice) graf bez kru¾nic.
+Paøez obsahuje alespoò jednu kru¾nici. Proto paøez nemù¾e být les, a~tedy ani
+strom.
+\qed
+
+\s{Algoritmus:} (tøídìní posloupnosti $a_1,\ldots,a_n$ pomocí {\sc Stupidsort}u)
+
+\algo
+\:$\pi \leftarrow \hbox{identická permutace na~mno¾inì $\{1,\ldots,n\}$}$.
+\:Opakuj:
+\::Ovìø, zda je posloupnost $a_{\pi(1)},a_{\pi(2)},\ldots,a_{\pi(n)}$ uspoøádána vzestupnì.
+   Pokud je, vra» ji jako výsledek.
+\::Nahraï $\pi$ jejím lexikografickým následníkem.
+\endalgo
+
+\bye
diff --git a/0-demo/Makefile b/0-demo/Makefile
new file mode 100644 (file)
index 0000000..98def69
--- /dev/null
@@ -0,0 +1,3 @@
+P=0-demo
+
+include ../Makerules
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..9d6901a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all:
+
+clean:
+       for a in *-* all ; do ( cd $$a && make clean ) ; done
+       rm -f *~
+
+.SECONDARY:
diff --git a/Makerules b/Makerules
new file mode 100644 (file)
index 0000000..9b24925
--- /dev/null
+++ b/Makerules
@@ -0,0 +1,33 @@
+all: $P.ps
+
+%.dvi: %.tex ../lecnotes.tex ../mjmac.tex
+       csplain $<
+
+#%.pdf: %.tex ../lecnotes.tex ../mjmac.tex
+#      pdfcsplain $<
+
+%.ps: %.dvi
+       dvips -D600 -o $@ -O-15.4mm,-15.4mm -t a5 $<
+
+%.pdf: %.dvi
+       dvipdfm -o $@ -x 9mm -y 9mm -p a5 -r 600 -z 9 $<
+
+%-booklet.ps: %.ps
+       psbook <$< | pstops '2:0L(210mm,0)+1L(210mm,148mm)' | sed 's/^%%BoundingBox: .*/%%BoundingBox: 0 0 595 842/;s/^%%DocumentPaperSizes:.*/%%DocumentPaperSizes: a4\n%%Orientation: Landscape/' >$@
+
+%-2in1.ps: %.ps
+       pstops '2:0L(210mm,0mm)+1L(210mm,148mm)' <$< | sed 's/^%%BoundingBox: .*/%%BoundingBox: 0 0 595 842/;s/^%%DocumentPaperSizes:.*/%%DocumentPaperSizes: a4\n%%Orientation: Landscape/' >$@
+
+mostlyclean:
+       rm -f *.dvi *.log *~ core *.o *.aux *.bbl *.blg
+
+clean:: mostlyclean
+       rm -f *.ps *.pdf
+
+ifndef CUSTOM_UPLOAD
+upload::
+       make $P-booklet.ps
+       scp -C $P-booklet.ps jabberwock:www/vyuka/0607/ads1/$P-booklet.ps
+endif
+
+.SECONDARY:
diff --git a/all/Makefile b/all/Makefile
new file mode 100644 (file)
index 0000000..a45b7e4
--- /dev/null
@@ -0,0 +1,25 @@
+P=ads
+X:=$(shell for a in 0 ; do echo ../$$a-*/$$a-*.tex ; done)
+
+%universe: all ChangeLog
+
+CUSTOM_UPLOAD=1
+include ../Makerules
+
+ads.dvi: ads.tex body.tex
+
+body.tex: $(X) preprocess
+       ./preprocess $(X) >$@
+
+%ChangeLog:
+%      git-log -C --pretty=medium --since='4 weeks ago' --stat | grep -v '^---' >ChangeLog
+
+clean::
+       rm -f body.tex ChangeLog
+
+upload::
+       make $P.ps $P-2in1.ps
+       scp -C $P.ps $P-2in1.ps jabberwock:www/vyuka/0607/ads/
+       ( cd .. && make clean )
+       ( cd ../.. && tar czf - --exclude .git ads ) | ssh jabberwock 'cd www/vyuka/0607/ads/ && cat >ads.tar.gz.new && mv ads.tar.gz.new ads.tar.gz'
+       #make ChangeLog && cat ChangeLog | ssh jabberwock 'cd www/vyuka/ads && cat >ChangeLog.new && mv ChangeLog.new ChangeLog'
diff --git a/all/ads.tex b/all/ads.tex
new file mode 100644 (file)
index 0000000..419ff8f
--- /dev/null
@@ -0,0 +1,7 @@
+\input ../lecnotes.tex
+
+\def\chapterend{\bigbreak\bigbreak}
+
+\input body.tex
+
+\bye
diff --git a/all/preprocess b/all/preprocess
new file mode 100755 (executable)
index 0000000..57223e3
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+foreach my $f (@ARGV) {
+       my $d = $f;
+       $d =~ s@/[^/]*$@/@;
+       open X, $f or die;
+       while (<X>) {
+               /^\\input .*lecnotes\.tex/ && next;
+               /^\\references/ && next;
+               /^\\bye/ && last;
+               s@\\(figure|fig|inlinefig|epsfbox){([^}]+)}@\\$1\{$d$2}@g;
+               s@\\(twofigures){([^}]+)}({[^}]+}{[^}]+}){([^}]+)}@\\$1\{$d$2}$3\{$d$4}@g;
+               print;
+       }
+       close X;
+       print "\\chapterend\n";
+}
diff --git a/lecnotes.tex b/lecnotes.tex
new file mode 100644 (file)
index 0000000..61df352
--- /dev/null
@@ -0,0 +1,144 @@
+% Makra pro sazbu zapisku z prednasky
+
+\input mjmac.tex
+\input epsf.tex
+%%\input btxmac.tex
+
+\language=\czech
+\chyph
+\lefthyphenmin=2
+\righthyphenmin=2
+
+% A4 s 0.5in okraji
+%\hsize=184.6mm
+%\vsize=271.6mm
+%\parindent=0.25in
+
+% A5 s 1cm okraji, dolni rozsiren o 10pt, aby se tam veslo cislo stranky
+\hsize=128mm
+\vsize=190mm
+\advance\vsize by -10pt
+\parindent=0.8cm
+
+% Zacatek prednasky {cislo prednasky}{jmeno prednasky}{jmeno zapisovatele}
+\def\prednaska#1#2#3{%
+\line{{\Large\bf #1. #2} \hfil {\it #3}}
+\vskip 4pt
+\hrule
+\medskip
+}
+
+% Nadpis {text}
+\def\h#1{\medbreak\leftline{\bf #1}\nobreak\smallskip\nobreak}
+
+% Zvyrazneny zacatek odstavce coby podnadpis (napr. vety apod.)
+\def\s#1{\noindent {\bo #1}}
+
+% A kdyz stoji samostatne (aby se naodlamoval)
+\def\ss#1{\noindent {\bo #1}\par\nobreak}
+
+% Dùkaz
+\def\proof{\noindent {\sl Dùkaz:} }
+
+% Srdicko na konci dukazu
+\def\qed{{\parfillskip=0pt\allowbreak\hfill\nobreak $\heartsuit$\par}}
+
+% pokud je v seznamu:
+\def\qeditem{{\parfillskip=0pt\hfill\rlap{\hskip\rightskip\llap{$\heartsuit$}}\par}}
+
+% Poznamky pod carou
+\newcount\footcnt
+\footcnt=0
+\def\foot#1{\global\advance\footcnt by 1{\parindent=0.25in\parskip=0pt\footnote{$^{\left<\the\footcnt\right>}$}{#1}}}
+
+% \noindent se casto hodi, tak na nej mame zkratku
+\let\>=\noindent
+
+% Sazba algoritmu:
+%      \algo
+%      \:krok
+%      \:krok
+%      \::vnoreny krok
+%      \endalgo
+
+\def\algo{
+\interlistskip
+\begingroup
+\let\:=\algoitem
+\let\*=\algohang
+\parskip=1pt plus 1pt minus 0.3pt
+\rightskip=2em
+\itemcount=0
+}
+\def\endalgo{\interlistskip\endgroup}
+\def\algoitem{\par
+\parindent=2em
+\hangindent=4em
+\hangafter=1
+\advance\itemcount by 1
+\leavevmode\hbox to 2em{\hss \the\itemcount. }%
+\futurelet\next\algoitemh}
+\def\algoitemh{\ifx\next:\let\next=\algohang\else\let\next=\relax\fi\next}
+\def\algohang:{\advance\hangindent by 2em \hskip 2em\futurelet\next\algoitemh}
+
+% Nekolikapismenkova promenna (mozno pouzit v textovem i math modu)
+\def\<#1>{\hbox{\it #1\/}}
+
+% Asymptoticke O-cko
+\def\O{{\cal O}}
+
+% Vlozeni obrazku {obrazek}{popisek}{sirka}
+\def\figure#1#2#3{\bigskip\vbox{\centerline{\epsfxsize=#3\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip}
+
+% Varianta bez popisku
+\def\fig#1#2{\medskip\centerline{\epsfxsize=#2\epsfbox{#1}}\medskip}
+
+% Dva obrazky vedle sebe s popiskami
+\def\twofigures#1#2#3#4#5#6{\bigskip\centerline{\vbox{\halign{\hfil##\hfil\hskip 4em&\hfil##\hfil\cr
+\epsfxsize=#3\epsfbox{#1}&\epsfxsize=#6\epsfbox{#4}\cr
+\noalign{\smallskip}
+#2&#5\cr}}}\bigskip}
+
+% Obrazek vlozeny do praveho okraje odstavce {obrazek}{sirka}
+% Pouzit na zacatku odstavce a nejlepe celou konstrukci zavrit do vboxu, aby se nerozlomila
+\def\inlinefig#1#2{
+\setbox0=\hbox{\epsfxsize=#2\epsfbox{#1}}
+\hangindent=-\wd0
+\advance\hangindent by -3em
+\dimen0=\ht0
+\advance\dimen0 by 8ex
+\advance\dimen0 by \normalbaselineskip
+\count0=\dimen0
+\divide\count0 by \normalbaselineskip
+\hangafter=-\count0
+\dimen0=\normalbaselineskip
+\multiply\dimen0 by \count0
+\vbox to 0pt{}
+\nointerlineskip
+\vbox to 0pt{\vbox to \dimen0{\vss\rightline{\box0\hskip 1em}\vss}}
+\nointerlineskip
+}
+
+% Todo
+\def\todo#1{{\bf TODO: \it #1}}
+
+% Blackboard bold font
+\newfam\bbfam
+\font\bbten=bbold10
+\textfont\bbfam=\bbten
+\def\bb{\bbten\fam\bbfam}
+
+% Reference na konci kapitoly
+%\bibliographystyle{abbrv}
+%\def\references{\h{Literatura}\dumprefs}
+%\def\dumprefs{
+%\def\bblhook{\parskip=2pt plus 1pt minus 0.5pt}
+%\bibliography{../ga}
+%}
+
+% Predefinujeme odsazovani odrazek z mjmacu
+\def\itemspacingrules{\ifitem\advance\leftskip by \parindent\parindent=0pt\itemfalse\else
+\advance\leftskip by 2.5em\fi\rightskip=\leftskip}
+
+% Matematicke symboly
+\def\symdiff{\mathop{\Delta}}
diff --git a/mjmac.tex b/mjmac.tex
new file mode 100644 (file)
index 0000000..18f81cc
--- /dev/null
+++ b/mjmac.tex
@@ -0,0 +1,335 @@
+% MJ's TeX Macro Collection
+% (c) 1995--2004 Martin Mares <mj@ucw.cz>
+% Freely distributable as long as the author's copyright is left intact
+
+% History:
+% 2.0 (05-11-95)  Itemization and list system completely rewritten. Hopefully
+%                it's usable now.
+% 2.1 (11-05-96)  Added \fixfont.
+% 2.2 (15-02-97)  Modified \fixfont not to leave extra spaces.
+%                Added \relax at the end of \tt.
+%                Added a very limited support for picture drawing.
+% 2.3 (21-05-01)  Modified \fixfont to use \fntdesignsize,
+%                Added \fntmath(|s|ss)size and used it in \setmath
+%                Added \twelvepoint
+% 2.4 (10-07-03)  Added \bo
+% 2.5 (27-09-03)  Added \verblocaldefs
+% 2.6 (21-03-04)  Added \itemspacingrules
+% 2.7 (10-04-04)  There were collisions between our \[bB]ig and the same
+%                macro used in plain to implement \bigl et al. Now we rename
+%                the original \[bB]ig to \plain[bB]ig and re-define \[bB]ig[lrm]
+%                to call the renamed version instead.
+
+% We'll use internal macros of plain TeX
+
+\catcode`@=11
+
+\newcount\mjtempcount
+
+% Page size definition
+% --------------------
+
+% Standard A4 dimensions are used. For different set of dimensions, redefine the
+% \setpagesize macro to set everything you want in true units. Don't forget to
+% call the macro immediately to refresh current setting. \magnification can be
+% set prior to inclusion of these macros.
+
+\def\setpagesize{\hsize=7truein\vsize=9.2truein}
+\def\m@g{\mag\count@\setpagesize\dimen\footins8truein}
+\setpagesize
+
+% Spacing
+% -------
+
+\parindent=1.4cm
+\parskip=3pt plus 1pt minus 1pt
+
+% We want to override \[bB]ig in plain, so save the original definition
+% ---------------------------------------------------------------------
+
+\let\plainbig=\big
+\let\plainBig=\Big
+\def\bigl{\mathopen\plainbig}
+\def\bigm{\mathrel\plainbig}
+\def\bigr{\mathclose\plainbig}
+\def\Bigl{\mathopen\plainBig}
+\def\Bigm{\mathrel\plainBig}
+\def\Bigr{\mathclose\plainBig}
+
+% Font selection system
+% ---------------------
+
+% The heart of the font selection system is the \setfont macro which selects
+% the current font according to the following settings:
+% \fntprefix - font name prefix (usually cm or cs)
+% \fntdesignsize - font design size in points (normally 10)
+% \fnttokprefix - prefix of control sequence the font is assigned to ('ten')
+% \fntmag - font magnification factor
+% \fnttoksuffix - control sequence suffix ('A' to 'G' according to mag)
+% \fntstyle - font name suffix determining font style ('bx', 'r' etc.)
+
+\def\fntprefix{cs}
+\def\fntdesignsize{10}
+\def\fnttokprefix{ten}
+\def\fntmag{\magstep0}
+\def\fnttoksuffix{A}
+\def\fntstyle{r}
+
+\def\setfont{%
+\toks0=\expandafter{\csname\fnttokprefix\fntstyle\fnttoksuffix\endcsname}%
+\expandafter\ifx\the\toks0\relax%
+%\immediate\write-1{aa \the\toks0=\fntprefix\fntstyle\fntdesignsize\space scaled \fntmag}%
+\global\expandafter\font\the\toks0=\fntprefix\fntstyle\fntdesignsize\space scaled \fntmag%
+\fi%
+\edef\currentfont{\the\toks0}\currentfont}
+
+\setfont  % Initialize the whole mechanism
+
+\def\mathf@nt#1#2#3#4{%
+\toks0=\expandafter{\csname#1#2\fnttoksuffix\endcsname}%
+\expandafter\ifx\the\toks0\relax%
+%\immediate\write-1{bb \the\toks0=#4#2#3\space scaled \fntmag}%
+\global\expandafter\font\the\toks0=#4#2#3\space scaled \fntmag%
+\fi%
+\edef\m@@f{\the\toks0}}
+
+\def\fntmathsize{10}
+\def\fntmathtok{ten}
+\def\fntmathssize{7}
+\def\fntmathstok{seven}
+\def\fntmathsssize{5}
+\def\fntmathsstok{five}
+
+\def\setmath{%
+\mathf@nt{\fntmathtok}{r}{\fntmathsize}{cs}\textfont0=\m@@f
+\mathf@nt{\fntmathstok}{r}{\fntmathssize}{cs}\scriptfont0=\m@@f
+\mathf@nt{\fntmathsstok}{r}{\fntmathsssize}{cs}\scriptscriptfont0=\m@@f
+\mathf@nt{\fntmathtok}{mi}{\fntmathsize}{cm}\skewchar\m@@f='177\textfont1=\m@@f
+\mathf@nt{\fntmathstok}{mi}{\fntmathssize}{cm}\skewchar\m@@f='177\scriptfont1=\m@@f
+\mathf@nt{\fntmathsstok}{mi}{\fntmathsssize}{cm}\skewchar\m@@f='177\scriptscriptfont1=\m@@f
+\mathf@nt{\fntmathtok}{sy}{\fntmathsize}{cm}\skewchar\m@@f='60\textfont2=\m@@f
+\mathf@nt{\fntmathstok}{sy}{\fntmathssize}{cm}\skewchar\m@@f='60\scriptfont2=\m@@f
+\mathf@nt{\fntmathsstok}{sy}{\fntmathsssize}{cm}\skewchar\m@@f='60\scriptscriptfont2=\m@@f
+\mathf@nt{\fntmathtok}{ex}{\fntmathsize}{cm}\textfont3=\m@@f\scriptfont3=\m@@f\scriptscriptfont3=\m@@f
+\mathf@nt{\fntmathtok}{ti}{\fntmathsize}{cs}\textfont\itfam=\m@@f
+\mathf@nt{\fntmathtok}{sl}{\fntmathsize}{cs}\textfont\slfam=\m@@f
+\mathf@nt{\fntmathtok}{bx}{\fntmathsize}{cs}\textfont\bffam=\m@@f
+\mathf@nt{\fntmathtok}{tt}{\fntmathsize}{cs}\hyphenchar\m@@f=-1\textfont\ttfam=\m@@f
+}
+
+% Call \fixfont to fix lineskip, math fonts and the strut box
+
+\def\fixfont{\setfont\setmath
+\mjtempcount=\fntdesignsize
+\multiply\mjtempcount by \fntmag
+\normalbaselineskip=0.12pt
+\multiply\normalbaselineskip by \mjtempcount
+\divide\normalbaselineskip by 100
+\normallineskip=0.01pt
+\multiply\normallineskip by \mjtempcount
+\divide\normallineskip by 100
+\normalbaselines
+\dimen0=0.085pt
+\multiply\dimen0 by \mjtempcount
+\divide\dimen0 by 100
+\dimen1=0.035pt
+\multiply\dimen1 by \mjtempcount
+\divide\dimen1 by 100
+\setbox\strutbox=\hbox{\vrule height\dimen0 depth\dimen1 width\z@}}
+
+% You can use the following macros to change the magnification:
+
+\def\normal{\def\fntmag{\magstep0}\def\fnttoksuffix{A}\setfont}       % Normal size
+\def\halflarge{\def\fntmag{\magstephalf}\def\fnttoksuffix{b}\setfont} % Magstephalf
+\def\large{\def\fntmag{\magstep1}\def\fnttoksuffix{B}\setfont}        % Magstep 1
+\def\Large{\def\fntmag{\magstep2}\def\fnttoksuffix{C}\setfont}
+\def\big{\def\fntmag{\magstep3}\def\fnttoksuffix{D}\setfont}
+\def\Big{\def\fntmag{\magstep4}\def\fnttoksuffix{E}\setfont}
+\def\huge{\def\fntmag{\magstep5}\def\fnttoksuffix{F}\setfont}
+\def\Huge{\def\fntmag{\magstep6}\def\fnttoksuffix{G}\setfont}         % Magstep 6
+\def\fm#1{\def\fntmag{\magstep#1}\edef\fnttoksuffix{\ifcase #1 A\or B\or C%
+\or D\or E\or F\or G\fi}\setfont}                                    % User mag
+
+% And to change the style:
+
+\def\rm{\fam\z@\def\fntstyle{r}\setfont}       % Roman
+\def\it{\fam\itfam\def\fntstyle{ti}\setfont}   % Italic
+\def\bo{\fam\bffam\def\fntstyle{b}\setfont}    % Bold
+\def\bf{\fam\bffam\def\fntstyle{bx}\setfont}   % Bold extended
+\def\ss{\def\fntstyle{ss}\setfont}             % Sans serif
+\def\tt{\fam\ttfam\def\fntstyle{tt}\setfont%
+\hyphenchar\currentfont=-1\relax}              % Typewriter
+\def\sc{\def\fntstyle{csc}\setfont}            % Caps and small caps
+\def\ssi{\def\fntstyle{ssi}\setfont}           % Sans serif italic
+\def\sl{\fam\slfam\def\fntstyle{sl}\setfont}   % Slanted
+\def\ssbf{\def\fntstyle{ssbx}\setfont}         % Sans serif bold
+\def\ssdc{\def\fntstyle{ssdc}\setfont}         % Sans serif demi condensed
+
+% Switch to large font set
+
+\def\twelvepoint{
+\def\fntdesignsize{12}
+\def\fnttokprefix{twelve}
+\def\fntmathsize{12}\def\fntmathtok{twelve}
+\def\fntmathssize{8}\def\fntmathstok{eight}
+\def\fntmathsssize{6}\def\fntmathsstok{six}
+\fixfont
+}
+
+% Itemization
+% -----------
+
+\newif\ifitem\itemtrue
+\newbox\itembox
+\newcount\itemcount
+
+\def\interlistskip{\vskip 3pt plus 2pt minus 1pt}
+
+\def\itemspacingrules{\ifitem\advance\leftskip by \parindent\parindent=0pt\itemfalse\fi
+\advance\leftskip by 2.5em}
+
+\def\inititemize{\interlistskip\begingroup
+\parskip=1pt plus 0.3pt minus 0.1pt
+\itemspacingrules}
+
+\def\itemize#1{\inititemize\setbox\itembox\llap{#1\hskip 0.4em}%
+\let\:=\singleitem}
+
+\def\singleitem{\par\leavevmode\copy\itembox}
+
+\def\endlist{\interlistskip\endgroup}
+
+\def\ibull{\raise0.2ex\hbox{$\bullet$}} % Signs frequently used for \itemize
+\def\idot{\raise0.2ex\hbox{$\cdot$}}
+\def\istar{\raise0.2ex\hbox{$\ast$}}
+
+\def\numlist#1{\inititemize\itemcount=0\let\:=\numbereditem
+\let\itemnumbering=#1}
+
+\def\numbereditem{\par\leavevmode\advance\itemcount by 1
+\llap{\itemnumbering\hskip 0.4em}}
+
+\def\nnorm{\the\itemcount}
+\def\ndotted{\nnorm.}
+\def\nparen{\nnorm)}
+\def\nroman{\romannumeral\itemcount}
+\def\nromanp{\nroman)}
+\def\nalpha{\count@=96\advance\count@ by\itemcount\char\count@)}
+\def\nAlpha{\count@=64\advance\count@ by\itemcount\char\count@)}
+\def\ngreek{$\ifcase\itemcount\or\alpha\or\beta\or\gamma\or\delta\or\epsilon\or
+\zeta\or\eta\or\theta\or\iota\or\kappa\or\lambda\or\mu\or\nu\or\xi\or\pi\or\rho
+\or\sigma\or\tau\or\upsilon\or\phi\or\chi\or\psi\or\omega\fi$)}
+
+\def\itm{\:}
+
+% Additional math functions
+% -------------------------
+
+\def\mod{\;{\rm mod}\;}
+\def\div{\;{\rm div}\;}
+\def\xor{\;{\rm xor}\;}
+
+\def\mathbox#1{  % Typeset math formula enclosed in a box.
+$$\vbox{
+\hrule
+\hbox{\vrule height 10pt depth 5pt\hskip3mm\hbox{$#1$}\hskip3mm\vrule }
+\hrule
+}$$}
+
+% Italic typesetting   (automatic \/)
+% ------------------
+
+\def\I{\it\aftergroup\/}
+
+% New \frenchspacing, which doesn't leave unwanted spaces in text.
+
+\def\frenchsp@cing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m%
+\sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m}
+
+% Typesetting of one verbatim word
+% --------------------------------
+
+\def\make@ther#1{\catcode`#1=12\relax}
+\def\setverb@tim{\tt\frenchsp@cing\catcode`\`=13\catcode`\'=13\n@ligs%
+\let\do=\make@ther\dospecials\obeyspaces}
+
+{\catcode`'=13
+\catcode``=13
+\gdef\n@ligs{\def`{\relax\lq}\def'{\relax\rq}}}
+
+{\obeyspaces
+\global\chardef\sp@ce=32
+\gdef\showspaces{\let =\sp@ce}
+\global\let =\ }
+
+\catcode124=\active % Make | active
+\def\ttst@rt{\begingroup\setverb@tim\let|=\endgroup}
+\let|=\ttst@rt
+
+% Typesetting of verbatim text  (enclosed in { } )
+% ----------------------------
+
+\newskip\verbglue\newskip\verblineglue
+\verbglue=3pt plus 1pt minus 0.3pt
+\verblineglue=0pt plus 1.5pt
+\def\verblocaldefs{}
+
+\newdimen\tabwidth
+\newcount\tabsize
+\tabsize=8
+\newdimen\t@b
+
+\newcount\vercnt
+\def\v@rbend{\par\endgroup\vskip\verbglue}
+\def\v@rbl{\ifnum\vercnt>0\{\fi\global\advance\vercnt by 1\relax}
+\def\v@rbr{\ifnum\vercnt>1\}\else\v@rbend\fi\global\advance\vercnt by -1\relax}
+\def\v@rbparams{\setverb@tim\parskip=\verblineglue\parindent=0pt\raggedbottom%
+\rightskip\z@ plus1fil\pretolerance=10000\tolerance=10000\vercnt=0%
+\catcode124=12\setupt@bs\vskip\verbglue\defb@x\obeylines}
+
+\def\startb@x{\setbox0=\hbox\bgroup}
+\def\defb@x{\def\par{\leavevmode\egroup\box0\endgraf}%
+\everypar{\startb@x}}
+
+{\catcode`\^^I=\active
+\gdef\setupt@bs{\catcode`\^^I=\active
+\setbox0=\hbox{\tt\ }\tabwidth=\wd0\multiply\tabwidth by \tabsize
+\def^^I{\leavevmode\egroup\t@b=\wd0\divide\t@b by \tabwidth%
+\multiply\t@b by \tabwidth%
+\advance\t@b by \tabwidth\advance\t@b by -\wd0\box0\hbox to \t@b{}\startb@x}
+}}
+
+{
+\catcode`[=1\catcode`]=2\catcode123=\active\catcode125=\active
+\gdef\verbatim[\begingroup\v@rbparams\catcode123=\active\catcode125=\active%
+\let{=\v@rbl\let}=\v@rbr\chardef\{=123\chardef\}=125\verblocaldefs
+]]
+
+% Input file verbatim
+% -------------------
+
+\def\verbinput#1{\begingroup\v@rbparams\input #1\endgroup}
+
+% Pictures
+% --------
+% Allowed direction vectors are 0<=x<=6, -6<=y<=6, GCD(x,y)=1
+
+\def\initlines{\font\lif=line10}
+\def\linechar#1#2{\ifnum #1=0 \hbox to 0pt{\hss\vrule height 10pt\hss}\else
+\ifnum #2=0 \vbox to 0pt{\vss\hrule width 10pt\vss}\else
+{\count255=#1\multiply\count255 by 8
+\ifnum #2>0 \advance\count255 by #2 \advance\count255 by -9
+\else\advance\count255 by -#2 \advance\count255 by 55\fi
+\lif\char\count255}\fi\fi}
+\def\picture#1#2#3{\initlines\medskip\centerline{\vbox to #2{\hbox to #1{#3\hss}\vss}}\medskip}
+\def\place#1#2#3{{\setbox0=\hbox to 0pt{#3 \hss}\ht0=0pt\dp0=0pt
+\hbox to 0pt{\hskip #1\lower #2\box0\hss}}}
+\def\pl@celine{\ifnum \count255>0 \place{\dimen0}{\dimen1}{\copy0}\advance\dimen0 by \wd0
+\advance\dimen1 by -\ht0 \advance\count255 by -1 \pl@celine\fi}
+\def\placeline#1#2#3#4#5{{\setbox0=\hbox{\linechar{#3}{#4}}\ifnum #4<0\setbox0=\hbox to -\wd0{\hss\box0}\fi
+\dimen0=#1\dimen1=#2\count255=#5\pl@celine}}
+\def\cplace#1#2#3{\place{#1}{#2}{\hss #3}}
+
+% Let's hide all internal macros
+
+\catcode`@=12
diff --git a/slides/Makefile b/slides/Makefile
new file mode 100644 (file)
index 0000000..da9464a
--- /dev/null
@@ -0,0 +1,10 @@
+all: growth.ps
+
+%.dvi: %.tex slidemac.tex
+       csplain $<
+
+%.ps: %.dvi
+       dvips -o $@ -D600 -T250mm,187mm -O-1in,-1in $<
+
+clean:
+       rm -f *~ *.log *.tfm *.*pk *.*gf *.ps *.dvi *.pdf
diff --git a/slides/funcs.eps b/slides/funcs.eps
new file mode 100644 (file)
index 0000000..b106277
--- /dev/null
@@ -0,0 +1,767 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: funcs.eps
+%%Creator: gnuplot 4.0 patchlevel 0
+%%CreationDate: Mon Feb 19 13:02:05 2007
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 410 302
+%%Orientation: Portrait
+%%EndComments
+/gnudict 256 dict def
+gnudict begin
+/Color true def
+/Solid false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+/vshift -46 def
+/dl {10.0 mul} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+/Rounded false def
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow { currentpoint stroke M
+  0 vshift R show } def
+/Rshow { currentpoint stroke M
+  dup stringwidth pop neg vshift R show } def
+/Cshow { currentpoint stroke M
+  dup stringwidth pop -2 div vshift R show } def
+/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
+/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def
+/BL { stroke userlinewidth 2 mul setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/AL { stroke userlinewidth 2 div setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/UL { dup gnulinewidth mul /userlinewidth exch def
+      dup 1 lt {pop 1} if 10 mul /udl exch def } def
+/PL { stroke userlinewidth setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/LTw { PL [] 1 setgray } def
+/LTb { BL [] 0 0 0 DL } def
+/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
+/LT0 { PL [] 1 0 0 DL } def
+/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
+/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
+/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
+/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
+/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
+/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
+/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
+/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
+/Pnt { stroke [] 0 setdash
+   gsave 1 setlinecap M 0 0 V stroke grestore } def
+/Dia { stroke [] 0 setdash 2 copy vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke
+  Pnt } def
+/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
+  currentpoint stroke M
+  hpt neg vpt neg R hpt2 0 V stroke
+  } def
+/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke
+  Pnt } def
+/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
+  hpt2 vpt2 neg V currentpoint stroke M
+  hpt2 neg 0 R hpt2 vpt2 V stroke } def
+/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke
+  Pnt  } def
+/Star { 2 copy Pls Crs } def
+/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V  hpt2 0 V  0 vpt2 V
+  hpt2 neg 0 V  closepath fill } def
+/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath fill } def
+/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke
+  Pnt  } def
+/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath fill } def
+/Pent { stroke [] 0 setdash 2 copy gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore Pnt } def
+/PentF { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath fill grestore } def
+/Circle { stroke [] 0 setdash 2 copy
+  hpt 0 360 arc stroke Pnt } def
+/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
+/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450  arc } bind def
+/C1 { BL [] 0 setdash 2 copy        moveto
+       2 copy  vpt 0 90 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C2 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 90 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C3 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C4 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 180 270 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C5 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 90 arc
+       2 copy moveto
+       2 copy  vpt 180 270 arc closepath fill
+               vpt 0 360 arc } bind def
+/C6 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 90 270 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C7 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 0 270 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C8 { BL [] 0 setdash 2 copy moveto
+      2 copy vpt 270 360 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C9 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 270 450 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+       2 copy moveto
+       2 copy vpt 90 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C11 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 180 arc closepath fill
+       2 copy moveto
+       2 copy  vpt 270 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C12 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 180 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C13 { BL [] 0 setdash  2 copy moveto
+       2 copy  vpt 0 90 arc closepath fill
+       2 copy moveto
+       2 copy  vpt 180 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C14 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 90 360 arc closepath fill
+               vpt 0 360 arc } bind def
+/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/Rec   { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+       neg 0 rlineto closepath } bind def
+/Square { dup Rec } bind def
+/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
+/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
+/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
+/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
+/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
+/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
+/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
+       exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
+/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
+/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+       2 copy vpt Square fill
+       Bsquare } bind def
+/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
+/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
+/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+       Bsquare } bind def
+/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+       Bsquare } bind def
+/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
+/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+       2 copy vpt Square fill Bsquare } bind def
+/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+       2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
+/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
+/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
+/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
+/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
+/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
+/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
+/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
+/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
+/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
+/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
+/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
+/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
+/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
+/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
+/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
+/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
+/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
+/DiaE { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke } def
+/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke } def
+/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke } def
+/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke } def
+/PentE { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore } def
+/CircE { stroke [] 0 setdash 
+  hpt 0 360 arc stroke } def
+/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
+/DiaW { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V Opaque stroke } def
+/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V Opaque stroke } def
+/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V Opaque stroke } def
+/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V Opaque stroke } def
+/PentW { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  Opaque stroke grestore } def
+/CircW { stroke [] 0 setdash 
+  hpt 0 360 arc Opaque stroke } def
+/BoxFill { gsave Rec 1 setgray fill grestore } def
+/BoxColFill {
+  gsave Rec
+  /Fillden exch def
+  currentrgbcolor
+  /ColB exch def /ColG exch def /ColR exch def
+  /ColR ColR Fillden mul Fillden sub 1 add def
+  /ColG ColG Fillden mul Fillden sub 1 add def
+  /ColB ColB Fillden mul Fillden sub 1 add def
+  ColR ColG ColB setrgbcolor
+  fill grestore } def
+%
+% PostScript Level 1 Pattern Fill routine
+% Usage: x y w h s a XX PatternFill
+%      x,y = lower left corner of box to be filled
+%      w,h = width and height of box
+%        a = angle in degrees between lines and x-axis
+%       XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill { gsave /PFa [ 9 2 roll ] def
+    PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+    PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+    gsave 1 setgray fill grestore clip
+    currentlinewidth 0.5 mul setlinewidth
+    /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+    0 0 M PFa 5 get rotate PFs -2 div dup translate
+       0 1 PFs PFa 4 get div 1 add floor cvi
+       { PFa 4 get mul 0 M 0 PFs V } for
+    0 PFa 6 get ne {
+       0 1 PFs PFa 4 get div 1 add floor cvi
+       { PFa 4 get mul 0 2 1 roll M PFs 0 V } for
+    } if
+    stroke grestore } def
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+end
+%%EndProlog
+gnudict begin
+gsave
+50 50 translate
+0.050 0.050 scale
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+1.000 UL
+LTb
+742 280 M
+63 0 V
+6157 0 R
+-63 0 V
+658 280 M
+( 0) Rshow
+1.000 UL
+LTb
+742 1198 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 2000) Rshow
+1.000 UL
+LTb
+742 2117 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 4000) Rshow
+1.000 UL
+LTb
+742 3035 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 6000) Rshow
+1.000 UL
+LTb
+742 3954 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 8000) Rshow
+1.000 UL
+LTb
+742 4872 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 10000) Rshow
+1.000 UL
+LTb
+1307 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 10) Cshow
+1.000 UL
+LTb
+1936 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 20) Cshow
+1.000 UL
+LTb
+2564 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 30) Cshow
+1.000 UL
+LTb
+3192 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 40) Cshow
+1.000 UL
+LTb
+3821 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 50) Cshow
+1.000 UL
+LTb
+4449 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 60) Cshow
+1.000 UL
+LTb
+5077 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 70) Cshow
+1.000 UL
+LTb
+5705 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 80) Cshow
+1.000 UL
+LTb
+6334 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 90) Cshow
+1.000 UL
+LTb
+6962 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 100) Cshow
+1.000 UL
+LTb
+1.000 UL
+LTb
+742 280 M
+6220 0 V
+0 4592 V
+-6220 0 V
+742 280 L
+1.000 UP
+1.000 UL
+LT0
+LTb
+6311 4739 M
+(50*x) Rshow
+LT0
+6395 4739 M
+399 0 V
+742 303 M
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 22 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 22 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 22 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 22 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+63 23 V
+62 23 V
+63 23 V
+63 23 V
+1.000 UL
+LT1
+LTb
+6311 4599 M
+(15*x*log\(x\)) Rshow
+LT1
+6395 4599 M
+399 0 V
+742 280 M
+63 10 V
+63 13 V
+62 15 V
+63 17 V
+63 19 V
+63 20 V
+63 21 V
+63 21 V
+62 23 V
+63 23 V
+63 23 V
+63 25 V
+63 24 V
+63 26 V
+62 26 V
+63 26 V
+63 26 V
+63 27 V
+63 28 V
+63 27 V
+62 28 V
+63 29 V
+63 28 V
+63 29 V
+63 29 V
+63 30 V
+62 30 V
+63 30 V
+63 30 V
+63 30 V
+63 31 V
+63 31 V
+62 31 V
+63 31 V
+63 32 V
+63 31 V
+63 32 V
+62 32 V
+63 32 V
+63 33 V
+63 32 V
+63 33 V
+63 33 V
+62 33 V
+63 33 V
+63 33 V
+63 34 V
+63 34 V
+63 33 V
+62 34 V
+63 34 V
+63 34 V
+63 35 V
+63 34 V
+63 35 V
+62 34 V
+63 35 V
+63 35 V
+63 35 V
+63 35 V
+63 36 V
+62 35 V
+63 35 V
+63 36 V
+63 36 V
+63 35 V
+62 36 V
+63 36 V
+63 36 V
+63 37 V
+63 36 V
+63 36 V
+62 37 V
+63 36 V
+63 37 V
+63 37 V
+63 37 V
+63 37 V
+62 37 V
+63 37 V
+63 37 V
+63 37 V
+63 38 V
+63 37 V
+62 38 V
+63 37 V
+63 38 V
+63 38 V
+63 38 V
+63 37 V
+62 38 V
+63 39 V
+63 38 V
+63 38 V
+63 38 V
+63 39 V
+62 38 V
+63 38 V
+63 39 V
+1.000 UL
+LT2
+LTb
+6311 4459 M
+(x**2) Rshow
+LT2
+6395 4459 M
+399 0 V
+742 280 M
+63 2 V
+63 2 V
+62 3 V
+63 4 V
+63 6 V
+63 6 V
+63 6 V
+63 8 V
+62 9 V
+63 10 V
+63 10 V
+63 12 V
+63 12 V
+63 13 V
+62 15 V
+63 15 V
+63 16 V
+63 17 V
+63 18 V
+63 19 V
+62 19 V
+63 21 V
+63 21 V
+63 23 V
+63 23 V
+63 25 V
+62 25 V
+63 26 V
+63 27 V
+63 28 V
+63 29 V
+63 30 V
+62 31 V
+63 32 V
+63 32 V
+63 34 V
+63 34 V
+62 35 V
+63 37 V
+63 37 V
+63 38 V
+63 39 V
+63 40 V
+62 41 V
+63 42 V
+63 42 V
+63 44 V
+63 45 V
+63 45 V
+62 46 V
+63 48 V
+63 48 V
+63 49 V
+63 50 V
+63 51 V
+62 52 V
+63 53 V
+63 53 V
+63 55 V
+63 56 V
+63 56 V
+62 58 V
+63 58 V
+63 59 V
+63 60 V
+63 61 V
+62 62 V
+63 63 V
+63 64 V
+63 65 V
+63 65 V
+63 67 V
+62 68 V
+63 68 V
+63 69 V
+63 71 V
+63 71 V
+63 72 V
+62 73 V
+63 74 V
+63 75 V
+63 75 V
+63 77 V
+63 78 V
+62 78 V
+63 80 V
+63 80 V
+63 81 V
+63 83 V
+63 83 V
+62 84 V
+63 85 V
+63 85 V
+63 87 V
+63 88 V
+63 89 V
+62 89 V
+63 91 V
+63 91 V
+1.000 UL
+LTb
+742 280 M
+6220 0 V
+0 4592 V
+-6220 0 V
+742 280 L
+1.000 UP
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica
diff --git a/slides/funcs.gp b/slides/funcs.gp
new file mode 100755 (executable)
index 0000000..65da34f
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/gnuplot
+
+set output "funcs.eps"
+set terminal postscript eps color
+plot [1:100] 50*x, 15*x*log(x), x**2
+#pause mouse
diff --git a/slides/funcs2.eps b/slides/funcs2.eps
new file mode 100644 (file)
index 0000000..dccf4b8
--- /dev/null
@@ -0,0 +1,683 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: funcs2.eps
+%%Creator: gnuplot 4.0 patchlevel 0
+%%CreationDate: Mon Feb 19 13:07:47 2007
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 410 302
+%%Orientation: Portrait
+%%EndComments
+/gnudict 256 dict def
+gnudict begin
+/Color true def
+/Solid false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+/vshift -46 def
+/dl {10.0 mul} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+/Rounded false def
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow { currentpoint stroke M
+  0 vshift R show } def
+/Rshow { currentpoint stroke M
+  dup stringwidth pop neg vshift R show } def
+/Cshow { currentpoint stroke M
+  dup stringwidth pop -2 div vshift R show } def
+/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
+/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def
+/BL { stroke userlinewidth 2 mul setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/AL { stroke userlinewidth 2 div setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/UL { dup gnulinewidth mul /userlinewidth exch def
+      dup 1 lt {pop 1} if 10 mul /udl exch def } def
+/PL { stroke userlinewidth setlinewidth
+      Rounded { 1 setlinejoin 1 setlinecap } if } def
+/LTw { PL [] 1 setgray } def
+/LTb { BL [] 0 0 0 DL } def
+/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
+/LT0 { PL [] 1 0 0 DL } def
+/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
+/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
+/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
+/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
+/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
+/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
+/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
+/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
+/Pnt { stroke [] 0 setdash
+   gsave 1 setlinecap M 0 0 V stroke grestore } def
+/Dia { stroke [] 0 setdash 2 copy vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke
+  Pnt } def
+/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
+  currentpoint stroke M
+  hpt neg vpt neg R hpt2 0 V stroke
+  } def
+/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke
+  Pnt } def
+/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
+  hpt2 vpt2 neg V currentpoint stroke M
+  hpt2 neg 0 R hpt2 vpt2 V stroke } def
+/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke
+  Pnt  } def
+/Star { 2 copy Pls Crs } def
+/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V  hpt2 0 V  0 vpt2 V
+  hpt2 neg 0 V  closepath fill } def
+/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath fill } def
+/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke
+  Pnt  } def
+/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath fill } def
+/Pent { stroke [] 0 setdash 2 copy gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore Pnt } def
+/PentF { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath fill grestore } def
+/Circle { stroke [] 0 setdash 2 copy
+  hpt 0 360 arc stroke Pnt } def
+/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
+/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450  arc } bind def
+/C1 { BL [] 0 setdash 2 copy        moveto
+       2 copy  vpt 0 90 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C2 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 90 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C3 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C4 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 180 270 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C5 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 90 arc
+       2 copy moveto
+       2 copy  vpt 180 270 arc closepath fill
+               vpt 0 360 arc } bind def
+/C6 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 90 270 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C7 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 0 270 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C8 { BL [] 0 setdash 2 copy moveto
+      2 copy vpt 270 360 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C9 { BL [] 0 setdash 2 copy moveto
+      2 copy  vpt 270 450 arc closepath fill
+              vpt 0 360 arc closepath } bind def
+/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+       2 copy moveto
+       2 copy vpt 90 180 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C11 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 0 180 arc closepath fill
+       2 copy moveto
+       2 copy  vpt 270 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C12 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 180 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C13 { BL [] 0 setdash  2 copy moveto
+       2 copy  vpt 0 90 arc closepath fill
+       2 copy moveto
+       2 copy  vpt 180 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/C14 { BL [] 0 setdash 2 copy moveto
+       2 copy  vpt 90 360 arc closepath fill
+               vpt 0 360 arc } bind def
+/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+               vpt 0 360 arc closepath } bind def
+/Rec   { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+       neg 0 rlineto closepath } bind def
+/Square { dup Rec } bind def
+/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
+/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
+/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
+/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
+/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
+/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
+/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
+       exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
+/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
+/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+       2 copy vpt Square fill
+       Bsquare } bind def
+/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
+/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
+/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+       Bsquare } bind def
+/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+       Bsquare } bind def
+/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
+/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+       2 copy vpt Square fill Bsquare } bind def
+/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+       2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
+/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
+/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
+/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
+/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
+/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
+/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
+/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
+/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
+/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
+/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
+/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
+/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
+/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
+/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
+/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
+/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
+/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
+/DiaE { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke } def
+/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke } def
+/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke } def
+/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke } def
+/PentE { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore } def
+/CircE { stroke [] 0 setdash 
+  hpt 0 360 arc stroke } def
+/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
+/DiaW { stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V Opaque stroke } def
+/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V Opaque stroke } def
+/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V Opaque stroke } def
+/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V Opaque stroke } def
+/PentW { stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  Opaque stroke grestore } def
+/CircW { stroke [] 0 setdash 
+  hpt 0 360 arc Opaque stroke } def
+/BoxFill { gsave Rec 1 setgray fill grestore } def
+/BoxColFill {
+  gsave Rec
+  /Fillden exch def
+  currentrgbcolor
+  /ColB exch def /ColG exch def /ColR exch def
+  /ColR ColR Fillden mul Fillden sub 1 add def
+  /ColG ColG Fillden mul Fillden sub 1 add def
+  /ColB ColB Fillden mul Fillden sub 1 add def
+  ColR ColG ColB setrgbcolor
+  fill grestore } def
+%
+% PostScript Level 1 Pattern Fill routine
+% Usage: x y w h s a XX PatternFill
+%      x,y = lower left corner of box to be filled
+%      w,h = width and height of box
+%        a = angle in degrees between lines and x-axis
+%       XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill { gsave /PFa [ 9 2 roll ] def
+    PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+    PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+    gsave 1 setgray fill grestore clip
+    currentlinewidth 0.5 mul setlinewidth
+    /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+    0 0 M PFa 5 get rotate PFs -2 div dup translate
+       0 1 PFs PFa 4 get div 1 add floor cvi
+       { PFa 4 get mul 0 M 0 PFs V } for
+    0 PFa 6 get ne {
+       0 1 PFs PFa 4 get div 1 add floor cvi
+       { PFa 4 get mul 0 2 1 roll M PFs 0 V } for
+    } if
+    stroke grestore } def
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+end
+%%EndProlog
+gnudict begin
+gsave
+50 50 translate
+0.050 0.050 scale
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+1.000 UL
+LTb
+742 280 M
+63 0 V
+6157 0 R
+-63 0 V
+658 280 M
+( 0) Rshow
+1.000 UL
+LTb
+742 854 M
+63 0 V
+6157 0 R
+-63 0 V
+658 854 M
+( 10000) Rshow
+1.000 UL
+LTb
+742 1428 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 20000) Rshow
+1.000 UL
+LTb
+742 2002 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 30000) Rshow
+1.000 UL
+LTb
+742 2576 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 40000) Rshow
+1.000 UL
+LTb
+742 3150 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 50000) Rshow
+1.000 UL
+LTb
+742 3724 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 60000) Rshow
+1.000 UL
+LTb
+742 4298 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 70000) Rshow
+1.000 UL
+LTb
+742 4872 M
+63 0 V
+6157 0 R
+-63 0 V
+-6241 0 R
+( 80000) Rshow
+1.000 UL
+LTb
+1336 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 20) Cshow
+1.000 UL
+LTb
+1961 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 40) Cshow
+1.000 UL
+LTb
+2586 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 60) Cshow
+1.000 UL
+LTb
+3211 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 80) Cshow
+1.000 UL
+LTb
+3836 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 100) Cshow
+1.000 UL
+LTb
+4461 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 120) Cshow
+1.000 UL
+LTb
+5087 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 140) Cshow
+1.000 UL
+LTb
+5712 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 160) Cshow
+1.000 UL
+LTb
+6337 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 180) Cshow
+1.000 UL
+LTb
+6962 280 M
+0 63 V
+0 4529 R
+0 -63 V
+0 -4669 R
+( 200) Cshow
+1.000 UL
+LTb
+1.000 UL
+LTb
+742 280 M
+6220 0 V
+0 4592 V
+-6220 0 V
+742 280 L
+1.000 UP
+1.000 UL
+LT0
+LTb
+6311 4739 M
+(x**2+70*x+5000) Rshow
+LT0
+6395 4739 M
+399 0 V
+742 571 M
+63 9 V
+63 9 V
+62 9 V
+63 10 V
+63 10 V
+63 11 V
+63 12 V
+63 11 V
+62 13 V
+63 12 V
+63 14 V
+63 13 V
+63 14 V
+63 15 V
+62 15 V
+63 15 V
+63 16 V
+63 17 V
+63 17 V
+63 17 V
+62 18 V
+63 18 V
+63 19 V
+63 19 V
+63 20 V
+63 20 V
+62 20 V
+63 22 V
+63 21 V
+63 22 V
+63 22 V
+63 23 V
+62 24 V
+63 24 V
+63 24 V
+63 25 V
+63 25 V
+62 26 V
+63 26 V
+63 26 V
+63 28 V
+63 27 V
+63 28 V
+62 29 V
+63 29 V
+63 29 V
+63 30 V
+63 30 V
+63 31 V
+62 31 V
+63 32 V
+63 32 V
+63 33 V
+63 33 V
+63 34 V
+62 34 V
+63 34 V
+63 35 V
+63 36 V
+63 35 V
+63 37 V
+62 37 V
+63 37 V
+63 38 V
+63 38 V
+63 39 V
+62 39 V
+63 39 V
+63 40 V
+63 41 V
+63 41 V
+63 42 V
+62 41 V
+63 43 V
+63 43 V
+63 43 V
+63 44 V
+63 44 V
+62 45 V
+63 45 V
+63 46 V
+63 46 V
+63 46 V
+63 47 V
+62 48 V
+63 48 V
+63 48 V
+63 49 V
+63 50 V
+63 49 V
+62 51 V
+63 50 V
+63 52 V
+63 51 V
+63 52 V
+63 53 V
+62 53 V
+63 54 V
+63 54 V
+1.000 UL
+LT1
+LTb
+6311 4599 M
+(2*x**2) Rshow
+LT1
+6395 4599 M
+399 0 V
+742 280 M
+63 1 V
+63 2 V
+62 3 V
+63 3 V
+63 5 V
+63 6 V
+63 6 V
+63 7 V
+62 9 V
+63 9 V
+63 10 V
+63 11 V
+63 13 V
+63 12 V
+62 14 V
+63 15 V
+63 16 V
+63 17 V
+63 17 V
+63 19 V
+62 19 V
+63 21 V
+63 21 V
+63 22 V
+63 24 V
+63 24 V
+62 25 V
+63 26 V
+63 27 V
+63 27 V
+63 29 V
+63 30 V
+62 30 V
+63 32 V
+63 32 V
+63 34 V
+63 34 V
+62 35 V
+63 37 V
+63 37 V
+63 38 V
+63 39 V
+63 40 V
+62 40 V
+63 42 V
+63 43 V
+63 43 V
+63 45 V
+63 45 V
+62 47 V
+63 47 V
+63 48 V
+63 50 V
+63 50 V
+63 51 V
+62 52 V
+63 52 V
+63 54 V
+63 55 V
+63 56 V
+63 56 V
+62 58 V
+63 58 V
+63 60 V
+63 60 V
+63 61 V
+62 62 V
+63 63 V
+63 64 V
+63 65 V
+63 66 V
+63 67 V
+62 68 V
+63 68 V
+63 70 V
+63 70 V
+63 72 V
+63 72 V
+62 73 V
+63 75 V
+63 75 V
+63 76 V
+63 77 V
+63 78 V
+62 79 V
+63 79 V
+63 81 V
+63 82 V
+63 82 V
+63 84 V
+62 84 V
+63 86 V
+63 86 V
+63 87 V
+63 88 V
+63 89 V
+62 90 V
+63 91 V
+63 92 V
+1.000 UL
+LTb
+742 280 M
+6220 0 V
+0 4592 V
+-6220 0 V
+742 280 L
+1.000 UP
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica
diff --git a/slides/funcs2.gp b/slides/funcs2.gp
new file mode 100755 (executable)
index 0000000..e91250f
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/gnuplot
+
+set output "funcs2.eps"
+set terminal postscript eps color
+plot [1:200] x**2+70*x+5000, 2*x**2
+#pause mouse
diff --git a/slides/growth.pl b/slides/growth.pl
new file mode 100755 (executable)
index 0000000..de8d1a4
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/perl
+
+foreach my $x (10, 20, 30, 50, 100, 1000, 1000000) {
+       my @d = (
+               log($x) / log(2),
+               $x,
+               $x * log($x) / log(2),
+               $x ** 2,
+               $x ** 3,
+               2 ** $x
+       );
+       @d = map { $_ / 1000000000 } @d;
+       print $x, "\t&", join("\t&", @d), "\n";
+}
diff --git a/slides/growth.tex b/slides/growth.tex
new file mode 100644 (file)
index 0000000..a398af5
--- /dev/null
@@ -0,0 +1,70 @@
+\input slidemac.tex
+\input epsf.tex
+
+\language=\czech
+\chyph
+
+\slide{Srovnání rychlostí algoritmù (pøedpokládáme $10^9$ operací za sekundu)}
+
+\def\[#1]{\,\hbox{#1}}
+$$\vbox{
+\halign{$#$ \hfil&\quad\hfil $#$&\quad\hfil $#$&\quad\hfil $#$&\quad\hfil $#$&\quad\hfil $#$&\quad\hfil $#$&\quad\hfil $#$\cr
+\hbox{funkce / $n=$\hskip-2em}& 10             & 20            & 30            & 50            & 100           & 1\,000        & 1\,000\,000 \cr
+\noalign{\medskip\hrule\bigskip}
+\log_2 n       & 3.3\[ns]      & 4.3\[ns]      & 4.9\[ns]      & 5.6\[ns]      & 6.6\[ns]      & 10.0\[ns]     & 19.9\[ns]     \cr
+n              & 10\[ns]       & 20\[ns]       & 30\[ns]       & 50\[ns]       & 100\[ns]      & 1\[$\mu$s]    & 1\[ms]        \cr
+n\cdot\log_2 n\hskip-1em       & 33\[ns]       & 86\[ns]       & 147\[ns]      & 282\[ns]      & 664\[ns]      & 10\[$\mu$s]   & 20\[ms]       \cr
+n^2            & 100\[ns]      & 400\[ns]      & 900\[ns]      & 2.5\[$\mu$s]  & 100\[$\mu$s]  & 1\[ms]        & 1\,000\[s]    \cr
+n^3            & 1\[$\mu$s]    & 8\[$\mu$s]    & 27\[$\mu$s]   & 125\[$\mu$s]  & 1\[ms]        & 1\[s]         & 10^9\[s]      \cr
+2^n            & 1\[$\mu$s]    & 1\[ms]        & 1\[s]         & 10^6\[s]      & 10^{21}\[s]   & 10^{292}\[s]  & \approx\infty \cr
+n!             & 10^6\[s]      & 10^{18}\[s]   & 10^{32}\[s]   & 10^{64}\[s]   & 10^{158}\[s]  & 10^{2567}\[s] & \approx\infty \cr
+}}$$
+
+\bigskip
+
+\halign{#\hfil&\quad #\hfil\cr
+Pro pøedstavu: &$1\,000\[s]$ je asi tak ètvrt hodiny\cr
+               &$1\,000\,000\[s]$ je necelých 12 dní\cr
+               &$10^9\[s]$ je 31 let\cr
+               &$10^{18}\[s]$ je asi tak stáøí Vesmíru. \cr}
+
+\endslide
+
+\slide{Poèítaèe se nám zrychlují aneb Mooreùv zákon}
+
+\bigskip
+
+\uv{Ka¾dé dva roky se výkon poèítaèù zdvojnásobí} -- Gordon Moore (prý)
+
+\bigskip
+\bigskip
+
+\qquad \dots\ Není tedy lep¹í chvíli poèkat ne¾ vymý¹let lep¹í algoritmus? :-)
+
+\bigskip
+\bigskip
+
+$$\vbox{\halign{\hfil$#$\quad&\hfil$#$\quad&\hfil$#$\qquad&#\hfil\cr
+\hbox{funkce} & 10^6\;\hbox{op.} & 2\cdot10^6\;\hbox{op.} & zmìna \cr
+\noalign{\medskip\hrule\bigskip}
+n      &1\,000\,000    &2\,000\,000    &2-krát více            \cr
+n^2    &1\,000         &1\,414         &$\sqrt{2}\approx 1.41$-krát více       \cr
+n^3    &100            &126            &$\root3\of2\approx 1.26$-krát více     \cr
+2^n    &20             &21             &o 1 více       \cr
+}}$$
+
+\endslide
+
+\slide{Asymptotický rùst funkcí}
+
+\centerline{\epsfxsize=0.85\hsize\epsfbox{funcs.eps}}
+
+\endslide
+
+\slide{Asymptotický rùst funkcí: èleny ni¾¹ích øádù se schovají do konstant}
+
+\centerline{\epsfxsize=0.85\hsize\epsfbox{funcs2.eps}}
+
+\endslide
+
+\end
diff --git a/slides/slidemac.tex b/slides/slidemac.tex
new file mode 100644 (file)
index 0000000..3948e56
--- /dev/null
@@ -0,0 +1,70 @@
+\hsize=230mm
+\vsize=157mm
+\voffset=10mm
+\hoffset=10mm
+\nopagenumbers
+
+\font\srm=csss12 scaled \magstep3
+\font\stit=csb12 scaled \magstep3
+\font\sem=csssbx12 scaled \magstep3
+\font\sit=csssi12 scaled \magstep3
+\font\stt=cstt12 scaled \magstep3
+\font\stitle=cscsc12 scaled \magstep4
+
+\baselineskip=25pt
+\lineskip=2.1pt
+\parindent=0pt
+\parskip=4pt
+\abovedisplayskip=24pt plus 6pt minus 18pt
+\abovedisplayshortskip=0pt plus 6pt
+\belowdisplayskip=24pt plus 6pt minus 18pt
+\belowdisplayshortskip=14pt plus 6pt minus 8pt
+
+\def\em#1{{\sem #1}}
+\srm
+
+\newfam\bbfam
+\font\rmfont=cmr10 scaled \magstep4
+\font\ttfont=cmtt10 scaled \magstep4
+\font\ifont=cmmi10 scaled \magstep4
+\font\symfont=cmsy10 scaled \magstep4
+\font\exfont=cmex10 scaled \magstep4
+\font\rmfonts=cmr7 scaled \magstep4
+\font\ifonts=cmmi7 scaled \magstep4
+\font\symfonts=cmsy7 scaled \magstep4
+\font\exfonts=cmex7 scaled \magstep4
+\font\rmfontss=cmr5 scaled \magstep4
+\font\ifontss=cmmi5 scaled \magstep4
+\font\symfontss=cmsy5 scaled \magstep4
+\font\exfontss=cmex5 scaled \magstep4
+\font\bbfont=bbold10 scaled \magstep4
+\textfont0=\rmfont
+\textfont1=\ifont
+\textfont2=\symfont
+\textfont3=\exfont
+\textfont\bbfam=\bbfont
+\scriptfont0=\rmfonts
+\scriptfont1=\ifonts
+\scriptfont2=\symfonts
+\scriptfont3=\exfonts
+\scriptscriptfont0=\rmfontss
+\scriptscriptfont1=\ifontss
+\scriptscriptfont2=\symfontss
+\scriptscriptfont3=\exfontss
+
+\def\slide#1{\begingroup
+\ifx:#1:\else
+\line{\vrule width 0pt height 25pt depth 4pt \stit #1\hfill}
+\medskip
+\hrule height 2pt
+\bigskip
+\bigskip
+\fi
+}
+\def\endslide{\vfill\eject\endgroup}
+
+\def\\{\hfil\break}
+\def\itemize#1{\par{\advance\leftskip by 35pt{\parskip=5pt #1}\par}}
+\def\:{\par\leavevmode\llap{$\bullet$\hskip 7pt}}
+\def\>{\par\leavevmode\llap{$\circ$\hskip 7pt}}
+\def\bbold{\bbfont\fam\bbfam}