From e4275f14cd4e66ad194d92748007d6f9b83b0f40 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 19 Feb 2007 21:52:22 +0100 Subject: [PATCH 1/1] Initial commit. --- 0-demo/0-demo.tex | 37 +++ 0-demo/Makefile | 3 + Makefile | 7 + Makerules | 33 ++ all/Makefile | 25 ++ all/ads.tex | 7 + all/preprocess | 20 ++ lecnotes.tex | 144 +++++++++ mjmac.tex | 335 +++++++++++++++++++ slides/Makefile | 10 + slides/funcs.eps | 767 ++++++++++++++++++++++++++++++++++++++++++++ slides/funcs.gp | 6 + slides/funcs2.eps | 683 +++++++++++++++++++++++++++++++++++++++ slides/funcs2.gp | 6 + slides/growth.pl | 14 + slides/growth.tex | 70 ++++ slides/slidemac.tex | 70 ++++ 17 files changed, 2237 insertions(+) create mode 100644 0-demo/0-demo.tex create mode 100644 0-demo/Makefile create mode 100644 Makefile create mode 100644 Makerules create mode 100644 all/Makefile create mode 100644 all/ads.tex create mode 100755 all/preprocess create mode 100644 lecnotes.tex create mode 100644 mjmac.tex create mode 100644 slides/Makefile create mode 100644 slides/funcs.eps create mode 100755 slides/funcs.gp create mode 100644 slides/funcs2.eps create mode 100755 slides/funcs2.gp create mode 100755 slides/growth.pl create mode 100644 slides/growth.tex create mode 100644 slides/slidemac.tex diff --git a/0-demo/0-demo.tex b/0-demo/0-demo.tex new file mode 100644 index 0000000..6b7a5e2 --- /dev/null +++ b/0-demo/0-demo.tex @@ -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 index 0000000..98def69 --- /dev/null +++ b/0-demo/Makefile @@ -0,0 +1,3 @@ +P=0-demo + +include ../Makerules diff --git a/Makefile b/Makefile new file mode 100644 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 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 index 0000000..a45b7e4 --- /dev/null +++ b/all/Makefile @@ -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 index 0000000..419ff8f --- /dev/null +++ b/all/ads.tex @@ -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 index 0000000..57223e3 --- /dev/null +++ b/all/preprocess @@ -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 () { + /^\\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 index 0000000..61df352 --- /dev/null +++ b/lecnotes.tex @@ -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\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 index 0000000..18f81cc --- /dev/null +++ b/mjmac.tex @@ -0,0 +1,335 @@ +% MJ's TeX Macro Collection +% (c) 1995--2004 Martin Mares +% 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 index 0000000..da9464a --- /dev/null +++ b/slides/Makefile @@ -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 index 0000000..b106277 --- /dev/null +++ b/slides/funcs.eps @@ -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 index 0000000..65da34f --- /dev/null +++ b/slides/funcs.gp @@ -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 index 0000000..dccf4b8 --- /dev/null +++ b/slides/funcs2.eps @@ -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 index 0000000..e91250f --- /dev/null +++ b/slides/funcs2.gp @@ -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 index 0000000..de8d1a4 --- /dev/null +++ b/slides/growth.pl @@ -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 index 0000000..a398af5 --- /dev/null +++ b/slides/growth.tex @@ -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 index 0000000..3948e56 --- /dev/null +++ b/slides/slidemac.tex @@ -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} -- 2.39.2