From cce4c451f1b7723ccd6f1e1578736f7c82b2e02f Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 22 Mar 2010 10:22:41 +0100 Subject: [PATCH 1/1] Added book chapter submitted in 2009 and rejected in 2010. --- chapitre-2009/Density.ps | 755 ++ chapitre-2009/DynamicComparison.ps | 767 ++ chapitre-2009/DynamicTopology.ps | 610 ++ chapitre-2009/DynamicTopologyTime.ps | 590 ++ chapitre-2009/ErrorNbIteration.ps | 769 ++ chapitre-2009/ErrorNbIterationCompar.ps | 863 ++ chapitre-2009/Fusion-chapter.aux | 135 + chapitre-2009/Fusion-chapter.bbl | 127 + chapitre-2009/Fusion-chapter.blg | 47 + chapitre-2009/Fusion-chapter.dvi | Bin 0 -> 67032 bytes chapitre-2009/Fusion-chapter.log | 414 + chapitre-2009/Fusion-chapter.pdf | Bin 0 -> 168763 bytes chapitre-2009/Fusion-chapter.ps | 8333 +++++++++++++++++ chapitre-2009/Fusion-chapter.tex | 1103 +++ chapitre-2009/NewNbIterations.ps | 799 ++ chapitre-2009/Ratio.ps | 737 ++ chapitre-2009/TimeDensity.ps | 705 ++ chapitre-2009/authinst.pdf | Bin 0 -> 123690 bytes chapitre-2009/authsamp.pdf | Bin 0 -> 113371 bytes chapitre-2009/dynamic/DynamicComparison.ps | 767 ++ chapitre-2009/dynamic/DynamicTopologyTime.ps | 0 chapitre-2009/dynamic/MoyenXiao | 10 + .../dynamic/MoyennIterAsynch-50-Proba | 11 + chapitre-2009/dynamic/pl.plot | 11 + chapitre-2009/editor/edinst.pdf | Bin 0 -> 107317 bytes chapitre-2009/editor/edsamp.pdf | Bin 0 -> 130485 bytes chapitre-2009/editor/templates/acknow.tex | 11 + chapitre-2009/editor/templates/acronym.tex | 18 + chapitre-2009/editor/templates/appendix.tex | 79 + chapitre-2009/editor/templates/author.tex | 283 + chapitre-2009/editor/templates/cblist.tex | 16 + chapitre-2009/editor/templates/dedic.tex | 14 + chapitre-2009/editor/templates/editor.tex | 64 + chapitre-2009/editor/templates/figure.eps | 2510 +++++ chapitre-2009/editor/templates/foreword.tex | 20 + chapitre-2009/editor/templates/glossary.tex | 22 + chapitre-2009/editor/templates/part.tex | 13 + chapitre-2009/editor/templates/preface.tex | 25 + chapitre-2009/editor/templates/referenc.tex | 144 + chapitre-2009/example.fig.bak | 33 + chapitre-2009/example.pdf | Bin 0 -> 189874 bytes chapitre-2009/exampleFusion.eps | 176 + chapitre-2009/exampleFusion.fig | 33 + chapitre-2009/fixe/ErrorNbIteration.ps | 903 ++ chapitre-2009/fixe/ErrorNbIterationCompar.ps | 863 ++ chapitre-2009/fixe/MoyenXIAO | 7 + chapitre-2009/fixe/MoyennIterAsynch-50-Err | 7 + chapitre-2009/fixe/pl.plot | 11 + chapitre-2009/ftpinfo.txt | 24 + chapitre-2009/history.txt | 128 + chapitre-2009/instruct.pdf | Bin 0 -> 118729 bytes chapitre-2009/jointly.eps | 266 + chapitre-2009/jointly.fig | 78 + chapitre-2009/jointly.fig.bak | 67 + chapitre-2009/old.tex | 25 + chapitre-2009/quickstart.pdf | Bin 0 -> 31706 bytes chapitre-2009/readme.txt | 67 + chapitre-2009/references.bib | 213 + chapitre-2009/references.log | 35 + chapitre-2009/refguide.pdf | Bin 0 -> 190989 bytes chapitre-2009/spbasic.bst | 1659 ++++ chapitre-2009/spmpsci.bst | 1513 +++ chapitre-2009/spphys.bst | 1442 +++ chapitre-2009/styles/spbasic.bst | 1659 ++++ chapitre-2009/styles/spmpsci.bst | 1513 +++ chapitre-2009/styles/spphys.bst | 1442 +++ chapitre-2009/styles/svind.ist | 7 + chapitre-2009/styles/svindd.ist | 8 + chapitre-2009/styles/svmult.cls | 2369 +++++ chapitre-2009/svind.ist | 7 + chapitre-2009/svindd.ist | 8 + chapitre-2009/svmult.cls | 2369 +++++ 72 files changed, 37704 insertions(+) create mode 100644 chapitre-2009/Density.ps create mode 100644 chapitre-2009/DynamicComparison.ps create mode 100644 chapitre-2009/DynamicTopology.ps create mode 100644 chapitre-2009/DynamicTopologyTime.ps create mode 100644 chapitre-2009/ErrorNbIteration.ps create mode 100644 chapitre-2009/ErrorNbIterationCompar.ps create mode 100644 chapitre-2009/Fusion-chapter.aux create mode 100644 chapitre-2009/Fusion-chapter.bbl create mode 100644 chapitre-2009/Fusion-chapter.blg create mode 100644 chapitre-2009/Fusion-chapter.dvi create mode 100644 chapitre-2009/Fusion-chapter.log create mode 100644 chapitre-2009/Fusion-chapter.pdf create mode 100644 chapitre-2009/Fusion-chapter.ps create mode 100644 chapitre-2009/Fusion-chapter.tex create mode 100644 chapitre-2009/NewNbIterations.ps create mode 100644 chapitre-2009/Ratio.ps create mode 100644 chapitre-2009/TimeDensity.ps create mode 100644 chapitre-2009/authinst.pdf create mode 100644 chapitre-2009/authsamp.pdf create mode 100644 chapitre-2009/dynamic/DynamicComparison.ps create mode 100644 chapitre-2009/dynamic/DynamicTopologyTime.ps create mode 100644 chapitre-2009/dynamic/MoyenXiao create mode 100644 chapitre-2009/dynamic/MoyennIterAsynch-50-Proba create mode 100644 chapitre-2009/dynamic/pl.plot create mode 100644 chapitre-2009/editor/edinst.pdf create mode 100644 chapitre-2009/editor/edsamp.pdf create mode 100644 chapitre-2009/editor/templates/acknow.tex create mode 100644 chapitre-2009/editor/templates/acronym.tex create mode 100644 chapitre-2009/editor/templates/appendix.tex create mode 100644 chapitre-2009/editor/templates/author.tex create mode 100644 chapitre-2009/editor/templates/cblist.tex create mode 100644 chapitre-2009/editor/templates/dedic.tex create mode 100644 chapitre-2009/editor/templates/editor.tex create mode 100644 chapitre-2009/editor/templates/figure.eps create mode 100644 chapitre-2009/editor/templates/foreword.tex create mode 100644 chapitre-2009/editor/templates/glossary.tex create mode 100644 chapitre-2009/editor/templates/part.tex create mode 100644 chapitre-2009/editor/templates/preface.tex create mode 100644 chapitre-2009/editor/templates/referenc.tex create mode 100644 chapitre-2009/example.fig.bak create mode 100644 chapitre-2009/example.pdf create mode 100644 chapitre-2009/exampleFusion.eps create mode 100644 chapitre-2009/exampleFusion.fig create mode 100644 chapitre-2009/fixe/ErrorNbIteration.ps create mode 100644 chapitre-2009/fixe/ErrorNbIterationCompar.ps create mode 100644 chapitre-2009/fixe/MoyenXIAO create mode 100644 chapitre-2009/fixe/MoyennIterAsynch-50-Err create mode 100644 chapitre-2009/fixe/pl.plot create mode 100644 chapitre-2009/ftpinfo.txt create mode 100644 chapitre-2009/history.txt create mode 100644 chapitre-2009/instruct.pdf create mode 100644 chapitre-2009/jointly.eps create mode 100644 chapitre-2009/jointly.fig create mode 100644 chapitre-2009/jointly.fig.bak create mode 100644 chapitre-2009/old.tex create mode 100644 chapitre-2009/quickstart.pdf create mode 100644 chapitre-2009/readme.txt create mode 100644 chapitre-2009/references.bib create mode 100644 chapitre-2009/references.log create mode 100644 chapitre-2009/refguide.pdf create mode 100644 chapitre-2009/spbasic.bst create mode 100644 chapitre-2009/spmpsci.bst create mode 100644 chapitre-2009/spphys.bst create mode 100644 chapitre-2009/styles/spbasic.bst create mode 100644 chapitre-2009/styles/spmpsci.bst create mode 100644 chapitre-2009/styles/spphys.bst create mode 100644 chapitre-2009/styles/svind.ist create mode 100644 chapitre-2009/styles/svindd.ist create mode 100644 chapitre-2009/styles/svmult.cls create mode 100644 chapitre-2009/svind.ist create mode 100644 chapitre-2009/svindd.ist create mode 100644 chapitre-2009/svmult.cls diff --git a/chapitre-2009/Density.ps b/chapitre-2009/Density.ps new file mode 100644 index 0000000..de94357 --- /dev/null +++ b/chapitre-2009/Density.ps @@ -0,0 +1,755 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Density.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:29:59 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1020 600 M +63 0 V +5777 0 R +-63 0 V +900 600 M +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +1020 1067 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +1020 1533 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +1020 2000 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 50) Rshow +grestore +1.000 UL +LTb +1020 2467 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +1020 2933 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 70) Rshow +grestore +1.000 UL +LTb +1020 3400 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +1020 3867 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 90) Rshow +grestore +1.000 UL +LTb +1020 4333 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 100) Rshow +grestore +1.000 UL +LTb +1020 4800 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 110) Rshow +grestore +1.000 UL +LTb +1521 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +2188 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +2855 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +3523 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +4190 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +4858 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +5525 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 160) Cshow +grestore +1.000 UL +LTb +6193 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 180) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 200) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Number of Iterations) Cshow +grestore +grestore +LTb +3940 100 M +gsave 0 setgray +(Nodes Density) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1020 3493 M +42 -42 V +42 -41 V +42 -41 V +43 -41 V +42 -40 V +42 -39 V +42 -39 V +42 -38 V +42 -38 V +43 -37 V +42 -36 V +42 -37 V +43 -35 V +42 -35 V +43 -35 V +43 -34 V +43 -33 V +43 -33 V +43 -32 V +43 -32 V +43 -32 V +44 -31 V +44 -30 V +44 -30 V +44 -30 V +44 -29 V +45 -28 V +45 -29 V +45 -27 V +46 -27 V +46 -27 V +46 -26 V +47 -26 V +47 -26 V +47 -25 V +48 -24 V +48 -24 V +49 -24 V +49 -23 V +50 -23 V +50 -23 V +50 -22 V +52 -21 V +51 -22 V +53 -21 V +52 -20 V +54 -20 V +54 -20 V +55 -19 V +55 -19 V +56 -19 V +56 -18 V +58 -18 V +58 -18 V +58 -17 V +60 -17 V +60 -16 V +61 -16 V +61 -16 V +62 -16 V +63 -15 V +64 -15 V +64 -14 V +66 -14 V +66 -14 V +66 -14 V +68 -13 V +68 -13 V +69 -12 V +70 -12 V +70 -12 V +72 -12 V +72 -11 V +72 -11 V +74 -11 V +74 -10 V +75 -10 V +75 -10 V +76 -9 V +77 -9 V +78 -9 V +78 -8 V +78 -8 V +80 -8 V +80 -7 V +80 -7 V +81 -7 V +81 -6 V +82 -7 V +82 -5 V +83 -6 V +83 -5 V +83 -5 V +84 -4 V +83 -4 V +84 -4 V +85 -3 V +84 -3 V +84 -2 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +-5600 83 R +42 -74 V +42 -72 V +42 -70 V +43 -67 V +42 -66 V +42 -63 V +42 -61 V +42 -59 V +42 -57 V +43 -56 V +42 -53 V +42 -52 V +43 -50 V +42 -49 V +43 -46 V +43 -46 V +43 -43 V +43 -42 V +43 -41 V +43 -39 V +43 -38 V +44 -37 V +44 -35 V +44 -34 V +44 -33 V +44 -32 V +45 -30 V +45 -30 V +45 -28 V +46 -27 V +46 -27 V +46 -25 V +47 -25 V +47 -23 V +47 -23 V +48 -22 V +48 -21 V +49 -20 V +49 -19 V +50 -19 V +50 -18 V +50 -18 V +52 -16 V +51 -17 V +53 -15 V +52 -15 V +54 -14 V +54 -14 V +55 -14 V +55 -12 V +56 -13 V +56 -12 V +58 -11 V +58 -11 V +58 -11 V +60 -10 V +60 -10 V +61 -9 V +61 -9 V +62 -9 V +63 -9 V +64 -8 V +64 -8 V +66 -7 V +66 -8 V +66 -7 V +68 -7 V +68 -6 V +69 -7 V +70 -6 V +70 -6 V +72 -6 V +72 -5 V +72 -6 V +74 -5 V +74 -5 V +75 -5 V +75 -5 V +76 -4 V +77 -5 V +78 -4 V +78 -4 V +78 -5 V +80 -4 V +80 -3 V +80 -4 V +81 -4 V +81 -3 V +82 -4 V +82 -3 V +83 -3 V +83 -3 V +83 -3 V +84 -3 V +83 -3 V +84 -3 V +85 -2 V +84 -3 V +84 -2 V +1.000 UP +1.000 UL +LT2 +1020 3493 Pls +1854 2653 Pls +2689 2093 Pls +3523 1767 Pls +5191 1533 Pls +6860 1487 Pls +1.000 UP +1.000 UL +LT3 +1020 4520 Crs +1854 3027 Crs +2689 2700 Crs +3523 2560 Crs +5191 2467 Crs +6860 2420 Crs +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/DynamicComparison.ps b/chapitre-2009/DynamicComparison.ps new file mode 100644 index 0000000..60e93ad --- /dev/null +++ b/chapitre-2009/DynamicComparison.ps @@ -0,0 +1,767 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicComparison.ps +%%Creator: gnuplot 4.2 patchlevel 5 +%%CreationDate: Thu Sep 24 18:25:24 2009 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (DynamicComparison.ps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 5 ) + /Author (Abdallah Makhoul,,,) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Thu Sep 24 18:25:24 2009) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} 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 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} 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 +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 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 +/Density { + /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} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% 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 +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/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 +854 448 M +63 0 V +6073 0 R +-63 0 V +770 448 M +( 60) Rshow +1.000 UL +LTb +854 1080 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 80) Rshow +1.000 UL +LTb +854 1712 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 100) Rshow +1.000 UL +LTb +854 2344 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 120) Rshow +1.000 UL +LTb +854 2976 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 140) Rshow +1.000 UL +LTb +854 3608 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 160) Rshow +1.000 UL +LTb +854 4240 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 180) Rshow +1.000 UL +LTb +854 4872 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 200) Rshow +1.000 UL +LTb +854 448 M +0 63 V +0 4361 R +0 -63 V +854 308 M +( 0) Cshow +1.000 UL +LTb +2081 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.1) Cshow +1.000 UL +LTb +3308 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.2) Cshow +1.000 UL +LTb +4536 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.3) Cshow +1.000 UL +LTb +5763 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.4) Cshow +1.000 UL +LTb +6990 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.5) Cshow +1.000 UL +LTb +1.000 UL +LTb +854 4872 N +854 448 L +6136 0 V +0 4424 V +-6136 0 V +Z stroke +LCb setrgbcolor +280 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Number of iterations) Cshow +grestore +LTb +LCb setrgbcolor +3922 98 M +(Probability of link failure) Cshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +6339 4739 M +(Our approach) Rshow +LT0 +6423 4739 M +399 0 V +854 764 M +109 32 V +106 31 V +101 32 V +97 31 V +95 32 V +91 31 V +88 31 V +85 31 V +83 32 V +81 31 V +79 31 V +76 31 V +75 31 V +73 31 V +71 32 V +71 31 V +68 32 V +68 31 V +66 32 V +66 32 V +64 32 V +64 32 V +63 33 V +62 32 V +61 33 V +61 33 V +61 33 V +60 34 V +59 34 V +59 34 V +59 34 V +58 34 V +58 35 V +58 35 V +58 35 V +57 36 V +57 35 V +57 36 V +57 36 V +57 36 V +57 37 V +56 37 V +57 37 V +56 37 V +56 37 V +56 38 V +56 38 V +57 38 V +56 38 V +56 39 V +56 38 V +56 39 V +55 40 V +56 39 V +56 40 V +56 41 V +56 41 V +56 41 V +56 41 V +55 42 V +56 43 V +56 43 V +56 44 V +56 45 V +55 45 V +56 47 V +56 47 V +56 48 V +56 49 V +55 51 V +56 52 V +56 53 V +56 54 V +55 57 V +56 58 V +56 60 V +56 62 V +56 64 V +55 66 V +56 69 V +56 71 V +56 74 V +55 78 V +56 80 V +56 83 V +56 87 V +56 91 V +55 94 V +56 99 V +56 103 V +54 103 V +stroke +LT1 +LTb +6339 4599 M +(Metropolis Approach) Rshow +LT1 +6423 4599 M +399 0 V +854 1238 M +109 15 V +106 16 V +101 17 V +97 19 V +95 19 V +91 21 V +88 22 V +85 24 V +83 24 V +81 26 V +79 27 V +76 28 V +75 29 V +73 31 V +71 32 V +71 33 V +68 34 V +68 35 V +66 37 V +66 37 V +64 39 V +64 40 V +63 41 V +62 41 V +61 43 V +61 44 V +61 45 V +60 45 V +59 47 V +59 47 V +59 48 V +58 49 V +58 50 V +58 50 V +58 51 V +57 51 V +57 53 V +57 52 V +57 54 V +57 54 V +57 54 V +56 55 V +57 55 V +56 56 V +56 57 V +56 57 V +56 57 V +57 57 V +56 59 V +56 58 V +56 59 V +56 60 V +55 60 V +56 60 V +56 61 V +56 61 V +56 62 V +56 62 V +56 63 V +55 63 V +56 63 V +56 65 V +56 65 V +56 65 V +55 66 V +56 66 V +56 68 V +56 67 V +56 69 V +55 69 V +56 70 V +56 70 V +56 71 V +55 72 V +32 42 V +stroke +LTb +854 4872 N +854 448 L +6136 0 V +0 4424 V +-6136 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/DynamicTopology.ps b/chapitre-2009/DynamicTopology.ps new file mode 100644 index 0000000..1997256 --- /dev/null +++ b/chapitre-2009/DynamicTopology.ps @@ -0,0 +1,610 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicTopology.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:23:08 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1020 600 M +63 0 V +5777 0 R +-63 0 V +900 600 M +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +1020 1067 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +1020 1533 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 100) Rshow +grestore +1.000 UL +LTb +1020 2000 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 120) Rshow +grestore +1.000 UL +LTb +1020 2467 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 140) Rshow +grestore +1.000 UL +LTb +1020 2933 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 160) Rshow +grestore +1.000 UL +LTb +1020 3400 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 180) Rshow +grestore +1.000 UL +LTb +1020 3867 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 200) Rshow +grestore +1.000 UL +LTb +1020 4333 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 220) Rshow +grestore +1.000 UL +LTb +1020 4800 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 240) Rshow +grestore +1.000 UL +LTb +1020 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2188 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.1) Cshow +grestore +1.000 UL +LTb +3356 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.2) Cshow +grestore +1.000 UL +LTb +4524 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.3) Cshow +grestore +1.000 UL +LTb +5692 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.4) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.5) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(number of iterations) Cshow +grestore +grestore +LTb +3940 100 M +gsave 0 setgray +(Probability of link failure) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1020 833 M +104 24 V +100 23 V +97 23 V +92 23 V +90 24 V +87 23 V +84 23 V +81 23 V +79 23 V +77 23 V +75 23 V +73 23 V +71 23 V +69 23 V +68 23 V +67 23 V +65 24 V +65 23 V +63 23 V +62 24 V +62 24 V +60 23 V +60 24 V +59 24 V +59 25 V +58 24 V +57 25 V +57 24 V +57 25 V +56 26 V +56 25 V +56 25 V +55 26 V +55 26 V +55 26 V +54 26 V +55 26 V +54 27 V +54 26 V +54 27 V +54 27 V +54 27 V +53 27 V +54 28 V +54 27 V +53 28 V +53 28 V +54 28 V +53 29 V +54 28 V +53 29 V +53 28 V +53 30 V +53 29 V +54 29 V +53 30 V +53 30 V +53 31 V +53 30 V +53 31 V +53 32 V +54 32 V +53 32 V +53 33 V +53 34 V +53 34 V +53 35 V +53 35 V +53 37 V +53 37 V +53 38 V +54 40 V +53 40 V +53 42 V +53 42 V +53 45 V +53 45 V +53 48 V +53 49 V +53 50 V +53 53 V +53 55 V +54 57 V +53 59 V +53 62 V +53 64 V +53 67 V +53 70 V +53 72 V +53 76 V +53 79 V +53 83 V +53 86 V +54 90 V +53 93 V +53 98 V +53 102 V +53 105 V +53 111 V +1.000 UP +1.000 UL +LT1 +1020 833 Pls +2188 1090 Pls +2772 1347 Pls +3356 1557 Pls +3940 1907 Pls +4524 2210 Pls +5108 2537 Pls +5692 2770 Pls +6276 3400 Pls +6860 4637 Pls +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/DynamicTopologyTime.ps b/chapitre-2009/DynamicTopologyTime.ps new file mode 100644 index 0000000..c1604c4 --- /dev/null +++ b/chapitre-2009/DynamicTopologyTime.ps @@ -0,0 +1,590 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicTopologyTime.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Apr 8 13:22:28 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +900 600 M +63 0 V +5897 0 R +-63 0 V +780 600 M +gsave 0 setgray +( 15) Rshow +grestore +1.000 UL +LTb +900 1200 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +900 1800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 25) Rshow +grestore +1.000 UL +LTb +900 2400 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +900 3000 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 35) Rshow +grestore +1.000 UL +LTb +900 3600 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +900 4200 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 45) Rshow +grestore +1.000 UL +LTb +900 4800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 50) Rshow +grestore +1.000 UL +LTb +900 600 M +0 63 V +0 4137 R +0 -63 V +900 400 M +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2092 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.1) Cshow +grestore +1.000 UL +LTb +3284 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.2) Cshow +grestore +1.000 UL +LTb +4476 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.3) Cshow +grestore +1.000 UL +LTb +5668 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.4) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.5) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Simulated time) Cshow +grestore +grestore +LTb +3880 100 M +gsave 0 setgray +(Probability of link failure) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +900 774 M +106 19 V +102 19 V +99 20 V +95 19 V +91 20 V +89 19 V +85 20 V +83 19 V +81 20 V +78 19 V +77 20 V +74 20 V +72 19 V +71 20 V +70 20 V +68 20 V +67 20 V +65 21 V +65 20 V +63 21 V +63 21 V +62 21 V +61 22 V +60 21 V +60 22 V +59 22 V +59 23 V +58 22 V +58 24 V +57 23 V +57 23 V +57 24 V +56 25 V +57 24 V +56 25 V +55 25 V +56 25 V +55 26 V +56 26 V +55 26 V +55 26 V +54 27 V +55 26 V +55 28 V +55 27 V +54 27 V +55 28 V +54 28 V +55 29 V +54 28 V +54 29 V +55 29 V +54 29 V +54 30 V +55 29 V +54 31 V +54 30 V +54 31 V +55 31 V +54 32 V +54 32 V +54 32 V +54 33 V +55 34 V +54 34 V +54 35 V +54 36 V +54 36 V +55 38 V +54 38 V +54 39 V +54 40 V +54 42 V +54 43 V +55 44 V +54 45 V +54 47 V +54 49 V +54 50 V +55 52 V +54 54 V +54 57 V +54 58 V +54 61 V +54 63 V +55 66 V +54 69 V +54 72 V +54 74 V +54 78 V +55 81 V +54 84 V +54 88 V +54 92 V +54 96 V +54 99 V +55 104 V +54 108 V +54 112 V +1.000 UP +1.000 UL +LT1 +900 774 Pls +2092 984 Pls +2688 1219 Pls +3284 1360 Pls +3880 1740 Pls +4476 2048 Pls +5072 2368 Pls +5668 2618 Pls +6264 3270 Pls +6860 4529 Pls +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/ErrorNbIteration.ps b/chapitre-2009/ErrorNbIteration.ps new file mode 100644 index 0000000..05bf9c4 --- /dev/null +++ b/chapitre-2009/ErrorNbIteration.ps @@ -0,0 +1,769 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ErrorNbIteration.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:27:47 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1260 600 M +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-06) Rshow +grestore +1.000 UL +LTb +1260 811 M +31 0 V +5569 0 R +-31 0 V +1260 1089 M +31 0 V +5569 0 R +-31 0 V +1260 1232 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-05) Rshow +grestore +1.000 UL +LTb +1260 1511 M +31 0 V +5569 0 R +-31 0 V +1260 1789 M +31 0 V +5569 0 R +-31 0 V +1260 1932 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-04) Rshow +grestore +1.000 UL +LTb +1260 2211 M +31 0 V +5569 0 R +-31 0 V +1260 2489 M +31 0 V +5569 0 R +-31 0 V +1260 2632 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.001) Rshow +grestore +1.000 UL +LTb +1260 2911 M +31 0 V +5569 0 R +-31 0 V +1260 3189 M +31 0 V +5569 0 R +-31 0 V +1260 3332 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.01) Rshow +grestore +1.000 UL +LTb +1260 3611 M +31 0 V +5569 0 R +-31 0 V +1260 3889 M +31 0 V +5569 0 R +-31 0 V +1260 4032 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.1) Rshow +grestore +1.000 UL +LTb +1260 4311 M +31 0 V +5569 0 R +-31 0 V +1260 4589 M +31 0 V +5569 0 R +-31 0 V +1260 4732 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1) Rshow +grestore +1.000 UL +LTb +1260 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2007 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 20) Cshow +grestore +1.000 UL +LTb +2753 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +3500 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +4247 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +4993 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +5740 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +6487 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1260 600 M +5600 0 V +0 4200 V +-5600 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Mean Error ) Cshow +grestore +grestore +LTb +4060 100 M +gsave 0 setgray +(Number of Iterations) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1297 4800 M +25 -42 V +26 -43 V +25 -42 V +26 -43 V +26 -42 V +26 -43 V +27 -42 V +27 -42 V +27 -43 V +27 -42 V +28 -43 V +28 -42 V +28 -43 V +29 -42 V +29 -42 V +29 -43 V +30 -42 V +30 -43 V +31 -42 V +30 -42 V +31 -43 V +32 -42 V +32 -43 V +32 -42 V +32 -43 V +33 -42 V +33 -42 V +33 -43 V +34 -42 V +34 -43 V +35 -42 V +34 -43 V +35 -42 V +36 -42 V +35 -43 V +36 -42 V +36 -43 V +37 -42 V +37 -43 V +36 -42 V +38 -42 V +37 -43 V +38 -42 V +37 -43 V +38 -42 V +38 -43 V +39 -42 V +38 -42 V +39 -43 V +38 -42 V +39 -43 V +39 -42 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +38 -43 V +39 -42 V +38 -42 V +39 -43 V +38 -42 V +38 -43 V +38 -42 V +37 -43 V +38 -42 V +37 -42 V +37 -43 V +37 -42 V +37 -43 V +37 -42 V +36 -43 V +36 -42 V +36 -42 V +36 -43 V +36 -42 V +35 -43 V +36 -42 V +35 -42 V +35 -43 V +35 -42 V +35 -43 V +35 -42 V +35 -43 V +35 -42 V +35 -42 V +35 -43 V +35 -42 V +36 -43 V +35 -42 V +36 -43 V +36 -42 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +1297 4800 M +43 -42 V +43 -43 V +42 -42 V +43 -43 V +42 -42 V +42 -43 V +42 -42 V +42 -42 V +41 -43 V +42 -42 V +42 -43 V +41 -42 V +41 -43 V +42 -42 V +41 -42 V +42 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -42 V +42 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +41 -43 V +42 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +42 -43 V +41 -42 V +42 -43 V +42 -42 V +41 -42 V +42 -43 V +42 -42 V +42 -43 V +42 -42 V +43 -42 V +42 -43 V +42 -42 V +43 -43 V +43 -42 V +43 -43 V +43 -42 V +43 -42 V +44 -43 V +43 -42 V +44 -43 V +44 -42 V +45 -43 V +44 -42 V +45 -42 V +45 -43 V +45 -42 V +46 -43 V +46 -42 V +46 -43 V +46 -42 V +47 -42 V +47 -43 V +48 -42 V +47 -43 V +48 -42 V +49 -43 V +49 -42 V +49 -42 V +49 -43 V +50 -42 V +50 -43 V +50 -42 V +51 -42 V +51 -43 V +52 -42 V +52 -43 V +52 -42 V +52 -43 V +53 -42 V +53 -42 V +53 -43 V +54 -42 V +53 -43 V +54 -42 V +54 -43 V +55 -42 V +1.000 UL +LTb +1260 600 M +5600 0 V +0 4200 V +-5600 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/ErrorNbIterationCompar.ps b/chapitre-2009/ErrorNbIterationCompar.ps new file mode 100644 index 0000000..b35fda9 --- /dev/null +++ b/chapitre-2009/ErrorNbIterationCompar.ps @@ -0,0 +1,863 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ErrorNbIterationCompar.ps +%%Creator: gnuplot 4.2 patchlevel 5 +%%CreationDate: Thu Sep 24 18:36:26 2009 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -66 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (ErrorNbIterationCompar.ps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 5 ) + /Author (Abdallah Makhoul,,,) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Thu Sep 24 18:36:26 2009) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} 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 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} 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 +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 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 +/Density { + /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} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% 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 +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/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 200 scalefont setfont +1.000 UL +LTb +1580 640 M +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1e-06) Rshow +1.000 UL +LTb +1580 849 M +31 0 V +5289 0 R +-31 0 V +1580 1125 M +31 0 V +5289 0 R +-31 0 V +1580 1266 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1e-05) Rshow +1.000 UL +LTb +1580 1542 M +31 0 V +5289 0 R +-31 0 V +1580 1818 M +31 0 V +5289 0 R +-31 0 V +1580 1959 M +31 0 V +5289 0 R +-31 0 V +-5289 68 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.0001) Rshow +1.000 UL +LTb +1580 2235 M +31 0 V +5289 0 R +-31 0 V +1580 2511 M +31 0 V +5289 0 R +-31 0 V +1580 2653 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.001) Rshow +1.000 UL +LTb +1580 2929 M +31 0 V +5289 0 R +-31 0 V +1580 3205 M +31 0 V +5289 0 R +-31 0 V +1580 3346 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.01) Rshow +1.000 UL +LTb +1580 3622 M +31 0 V +5289 0 R +-31 0 V +1580 3898 M +31 0 V +5289 0 R +-31 0 V +1580 4039 M +31 0 V +5289 0 R +-31 0 V +-5289 68 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.1) Rshow +1.000 UL +LTb +1580 4315 M +31 0 V +5289 0 R +-31 0 V +1580 4591 M +31 0 V +5289 0 R +-31 0 V +1580 4733 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1) Rshow +1.000 UL +LTb +2364 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 20) Cshow +1.000 UL +LTb +3188 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 40) Cshow +1.000 UL +LTb +4013 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 60) Cshow +1.000 UL +LTb +4838 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 80) Cshow +1.000 UL +LTb +5663 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 100) Cshow +1.000 UL +LTb +6488 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 120) Cshow +1.000 UL +LTb +1.000 UL +LTb +1580 4800 N +0 -4160 V +5320 0 V +0 4160 V +-5320 0 V +Z stroke +LCb setrgbcolor +400 2720 M +currentpoint gsave translate 90 rotate 0 0 M +(Mean Error) Cshow +grestore +LTb +LCb setrgbcolor +4240 140 M +(Iteration Number) Cshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +5997 4637 M +(Our approach) Rshow +LT0 +6117 4637 M +543 0 V +1580 4800 M +47 -42 V +48 -42 V +46 -42 V +47 -42 V +47 -42 V +46 -42 V +47 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +45 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -43 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +47 -42 V +46 -42 V +46 -42 V +47 -42 V +47 -42 V +46 -42 V +47 -42 V +47 -42 V +48 -42 V +47 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +49 -42 V +49 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +51 -42 V +50 -42 V +51 -42 V +52 -42 V +51 -42 V +52 -43 V +53 -42 V +53 -42 V +53 -42 V +53 -42 V +54 -42 V +54 -42 V +55 -42 V +55 -42 V +55 -42 V +56 -42 V +56 -42 V +56 -42 V +57 -42 V +58 -42 V +57 -42 V +58 -42 V +58 -42 V +59 -42 V +59 -42 V +59 -42 V +59 -42 V +60 -42 V +59 -42 V +60 -42 V +stroke +LT1 +LTb +5997 4437 M +(Metropolis Approach) Rshow +LT1 +6117 4437 M +543 0 V +1580 4800 M +59 -42 V +59 -42 V +57 -42 V +57 -42 V +55 -42 V +55 -42 V +54 -42 V +53 -42 V +53 -42 V +52 -42 V +51 -42 V +51 -42 V +51 -42 V +50 -42 V +50 -42 V +49 -42 V +50 -42 V +48 -42 V +49 -42 V +49 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -43 V +48 -42 V +48 -42 V +47 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +49 -42 V +48 -42 V +49 -42 V +48 -42 V +49 -42 V +49 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +51 -42 V +50 -42 V +50 -42 V +51 -42 V +51 -42 V +51 -42 V +51 -42 V +51 -42 V +52 -42 V +51 -42 V +52 -42 V +52 -42 V +53 -42 V +52 -42 V +53 -42 V +52 -42 V +53 -42 V +54 -42 V +53 -42 V +53 -42 V +54 -42 V +54 -42 V +54 -42 V +55 -42 V +54 -42 V +55 -42 V +55 -42 V +56 -43 V +55 -42 V +56 -42 V +56 -42 V +57 -42 V +57 -42 V +57 -42 V +57 -42 V +58 -42 V +58 -42 V +59 -42 V +59 -42 V +59 -42 V +60 -42 V +60 -42 V +61 -42 V +62 -42 V +62 -42 V +62 -42 V +63 -42 V +64 -42 V +65 -42 V +65 -42 V +67 -42 V +67 -42 V +stroke +LTb +1580 4800 N +0 -4160 V +5320 0 V +0 4160 V +-5320 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/Fusion-chapter.aux b/chapitre-2009/Fusion-chapter.aux new file mode 100644 index 0000000..ea25b02 --- /dev/null +++ b/chapitre-2009/Fusion-chapter.aux @@ -0,0 +1,135 @@ +\relax +\immediate\closeout\minitoc +\let \MiniTOC =N +\citation{12} +\citation{22} +\citation{23} +\citation{24} +\citation{20} +\citation{21} +\citation{25} +\@writefile{toc}{\contentsline {titlech}{\numberline {1}Distributed Average Consensus in Large Asynchronous Sensor Networks}{1}} +\@writefile{toc}{\authcount {1}} +\@writefile{toc}{\contentsline {authorch}{Jacques M. Bahi, Arnaud Giersh, Abdallah Makhoul and Ahmed Mostefaoui}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {1.1}Introduction}{1}} +\citation{2} +\citation{20} +\citation{21} +\citation{2} +\citation{20} +\citation{5} +\citation{9} +\citation{10} +\citation{16} +\citation{17} +\citation{18} +\citation{2} +\citation{1} +\citation{2} +\citation{2} +\citation{3} +\citation{4} +\citation{5} +\citation{11} +\citation{16} +\citation{17} +\citation{2} +\citation{2} +\citation{3} +\citation{4} +\citation{10} +\citation{20} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}Overview of Averaging Problem in Sensor Networks}{3}} +\citation{20} +\citation{2} +\@writefile{toc}{\contentsline {section}{\numberline {1.3}Asynchronous Distributed Consensus with messages loss}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Problem Formulation}{4}} +\newlabel{eqno1}{{1.1}{4}} +\citation{6} +\@writefile{lot}{\contentsline {table}{\numberline {1.1}{\ignorespaces Notations}}{5}} +\newlabel{notations}{{1.1}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Asynchronous scheme}{5}} +\citation{2} +\citation{7} +\citation{6} +\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces The General Algorithm.}}{6}} +\newlabel{general}{{1}{6}} +\newlabel{x_(t+1)}{{1.2}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.3}Theoretical Analysis (Convergence)}{6}} +\newlabel{assump:ConnectedGraph}{{1}{6}} +\newlabel{Inf Assumption}{{2}{6}} +\newlabel{PingPong}{{3}{6}} +\newlabel{h5_2}{{1.3}{6}} +\citation{6} +\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Example of jointly connected graphs}}{7}} +\newlabel{fig:jointly}{{1.1}{7}} +\newlabel{THE}{{1}{7}} +\newlabel{conservation}{{1.5}{7}} +\newlabel{lemma:1}{{1}{7}} +\newlabel{Event E_1}{{1.6}{8}} +\newlabel{Event E_2}{{1.7}{8}} +\newlabel{lemma:2}{{2}{8}} +\newlabel{lemma:3}{{3}{8}} +\newlabel{lemma:4}{{4}{9}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.4}Practical Issues}{9}} +\newlabel{h5_2bis}{{1.8}{10}} +\newlabel{h6}{{1.9}{10}} +\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Temporally updating weights of node $i$.}}{11}} +\newlabel{WeightUpdate}{{2}{11}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.5}Illustrative Example}{11}} +\citation{8} +\citation{2} +\citation{20} +\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces An example of a sensor network composed of four nodes with their initial measurements. }}{12}} +\newlabel{fig:example}{{1.2}{12}} +\@writefile{toc}{\contentsline {section}{\numberline {1.4}Experimental Results}{12}} +\newlabel{Exp}{{1.4}{12}} +\citation{8} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.1}Basic Behaviour}{13}} +\newlabel{BH}{{1.4.1}{13}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces The Mean Error $\varepsilon $}}{14}} +\newlabel{Error}{{1.3}{14}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.2}Dynamic topology}{14}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.4}{\ignorespaces Number of Iterations}}{14}} +\newlabel{Dynamic}{{1.4}{14}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Simulated Time}}{15}} +\newlabel{DynamicTime}{{1.5}{15}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.3}Larger Sensor Network}{15}} +\@writefile{toc}{\contentsline {section}{\numberline {1.5}Further Discussions}{15}} +\newlabel{DISC}{{1.5}{15}} +\citation{2} +\citation{18} +\citation{12} +\citation{2} +\citation{2} +\@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces Number of iterations}}{16}} +\newlabel{Density}{{1.6}{16}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.7}{\ignorespaces Simulated Time}}{16}} +\newlabel{DensityTime}{{1.7}{16}} +\bibstyle{unsrt} +\bibdata{references} +\bibcite{12}{1} +\bibcite{22}{2} +\bibcite{23}{3} +\bibcite{24}{4} +\@writefile{toc}{\contentsline {section}{\numberline {1.6}Conclusion and Future Work}{17}} +\@writefile{toc}{\contentsline {section}{References}{17}} +\@mtwritefile{\contentsline {mtchap}{References}{17}} +\bibcite{20}{5} +\bibcite{21}{6} +\bibcite{25}{7} +\bibcite{2}{8} +\bibcite{5}{9} +\bibcite{9}{10} +\bibcite{10}{11} +\bibcite{16}{12} +\bibcite{17}{13} +\bibcite{18}{14} +\bibcite{1}{15} +\bibcite{3}{16} +\bibcite{4}{17} +\bibcite{11}{18} +\bibcite{6}{19} +\bibcite{7}{20} +\bibcite{8}{21} +\immediate\closeout\minitoc diff --git a/chapitre-2009/Fusion-chapter.bbl b/chapitre-2009/Fusion-chapter.bbl new file mode 100644 index 0000000..d450abf --- /dev/null +++ b/chapitre-2009/Fusion-chapter.bbl @@ -0,0 +1,127 @@ +\begin{thebibliography}{10} + +\bibitem{12} +I.~Akyildiz, W.~Su, Y.~Sankarasubramniam, and E.~Cayirci. +\newblock A survey on sensor networks. +\newblock {\em IEEE Communications Magazine}, pages 102--114, 2002. + +\bibitem{22} +N.A. Lynch. +\newblock Distributed algorithms. +\newblock {\em Morgan Kaufmann Publishers, Inc.}, 1996. + +\bibitem{23} +Y.~Rabani, A.~Sinclair, and R.~Wanka. +\newblock Local divergence of markov chains and the analysis of iterative + load-balancing schemes. +\newblock {\em in Proceedings of the IEEE Symp. on Found. of Comp. Sci., Palo + Alto}, 1998. + +\bibitem{24} +P.A. Bliman and G.~Ferrari-Trecate. +\newblock Average consensus problems in networks of agents with delayed + communications. +\newblock {\em Journal of IFAC}, 44(8):1985--1995, 2008. + +\bibitem{20} +R.~Olfati-Saber and R.~M. Murray. +\newblock Consensus problems in networks of agents with switching topology and + time-delays. +\newblock {\em IEEE Transaction on Automatic Control}, 49(9):1520--1533. + +\bibitem{21} +Jacques Bahi, Arnaud Giersch, and Abdallah Makhoul. +\newblock A scalable fault tolerant diffusion scheme for data fusion in sensor + networks. +\newblock {\em The Third International ICST Conference on Scalable Information + Systems, Infoscale 2008, ACM}, june 2008. + +\bibitem{25} +C.~C. Moallemi and B.~V. Roy. +\newblock Consensus propagation. +\newblock {\em IEEE Trans. Inf. Theory}, 52(11):4753--4766, Nov 2006. + +\bibitem{2} +L.~Xiao, S.~Boyd, and S.~lall. +\newblock A scheme for robust distributed sensor fusion based on average + consensus. +\newblock {\em Proc. of the International Conference on Information processing + in Sensor Networks (IPSN)}, pages 63--70, 2005. + +\bibitem{5} +A.~Speranzon, C.~Fischione, and K.H. Johansson. +\newblock Distributed and collaborative estimation over wireless sensor + networks. +\newblock {\em Proceedings of 45th IEEE Conference on Decision and Control}, + 2006. + +\bibitem{9} +L.~Xiao, S.~Boyd, and S.~Lall. +\newblock A space-time diffusion scheme for peer-to-peer least-squares + estimation. +\newblock {\em Proc. of Fifth International Conf. on Information Processing in + Sensor Networks (IPSN 2006)}, pages 168--176, 2006. + +\bibitem{10} +Mohammad~S. Talebi, Mahdi Kefayati, Babak~H. Khalaj, and Hamid~R. Rabiee. +\newblock Adaptive consensus averaging for information fusion over sensor + networks. +\newblock {\em In the proceedings of The Third IEEE International Conference on + Mobile Ad-hoc and Sensor Systems (MASS'06)}, 2006. + +\bibitem{16} +D.~Spanos, R.~Olfati-Saber, and R.M. Murray. +\newblock Distributed sensor fusion using dynamic consensus. +\newblock {\em proceedings of IFAC}, 2005. + +\bibitem{17} +D.S. Scherber and H.C. Papadopoulos. +\newblock Distributed computation of averages over ad hoc networks. +\newblock {\em IEEE journal on Selected Areas in Communications}, + 23(4):776--787, April 2005. + +\bibitem{18} +Mohammad~S. Talebi, Mahdi Kefayati, Babak~H. Khalaj, and Hamid~R. Rabiee. +\newblock Adaptive consensus averaging for information fusion over sensor + networks. +\newblock {\em IEEE International Conference on Mobile Adhoc and Sensor Systems + (MASS)}, pages 562--565, 2006. + +\bibitem{1} +J~A. Legg. +\newblock Tracking and sensor fusion issues in the tactical land environement. +\newblock {\em Technical Report TN.0605}, 2005. + +\bibitem{3} +R.~Olfati-Saber and J.~S. Shamma. +\newblock Consensus filters for sensor networks and distributed sensor fusion. +\newblock {\em Proceedings of 44th IEEE Conference on Decision and Control + CDC-ECC}, 2005. + +\bibitem{4} +R.~Olfati-Saber. +\newblock Distributed kalman filter with embeded consensus filters. +\newblock {\em Proceedings of 44th IEEE Conference on Decision and Control}, + 2005. + +\bibitem{11} +R.~Olfati-Saber, J.A. Fax, and R.M. Murray. +\newblock Consensus and cooperation in networked multi-agent systems. +\newblock {\em Proc. of IEEE}, pages 215--233, 2007. + +\bibitem{6} +Dimitri~P. Bertsekas and John~N. Tsitsiklis. +\newblock {\em Parallel and Distributed Computation: Numerical Methods}. +\newblock Athena Scientific, 1997. + +\bibitem{7} +Jacques Bahi, Raphael Couturier, and Flavien Vernier. +\newblock Synchronous distributed load balancing on dynamic networks. +\newblock {\em Journal of Parallel and Distributed Computing}, + 65(11):1397--1405, 2005. + +\bibitem{8} +{OMNeT++}. +\newblock http://www.omnetpp.org/. + +\end{thebibliography} diff --git a/chapitre-2009/Fusion-chapter.blg b/chapitre-2009/Fusion-chapter.blg new file mode 100644 index 0000000..f76c992 --- /dev/null +++ b/chapitre-2009/Fusion-chapter.blg @@ -0,0 +1,47 @@ +This is BibTeX, Version 0.99c (Web2C 7.5.6) +The top-level auxiliary file: Fusion-chapter.aux +The style file: unsrt.bst +Database file #1: references.bib +Warning--empty year in 20 +You've used 21 entries, + 1791 wiz_defined-function locations, + 552 strings with 6650 characters, +and the built_in function-call counts, 4545 in all, are: += -- 397 +> -- 194 +< -- 5 ++ -- 73 +- -- 52 +* -- 262 +:= -- 723 +add.period$ -- 62 +call.type$ -- 21 +change.case$ -- 20 +chr.to.int$ -- 0 +cite$ -- 22 +duplicate$ -- 220 +empty$ -- 434 +format.name$ -- 52 +if$ -- 1041 +int.to.chr$ -- 0 +int.to.str$ -- 21 +missing$ -- 21 +newline$ -- 107 +num.names$ -- 21 +pop$ -- 60 +preamble$ -- 1 +purify$ -- 0 +quote$ -- 0 +skip$ -- 128 +stack$ -- 0 +substring$ -- 261 +swap$ -- 64 +text.length$ -- 5 +text.prefix$ -- 0 +top$ -- 0 +type$ -- 0 +warning$ -- 1 +while$ -- 36 +width$ -- 23 +write$ -- 218 +(There was 1 warning) diff --git a/chapitre-2009/Fusion-chapter.dvi b/chapitre-2009/Fusion-chapter.dvi new file mode 100644 index 0000000000000000000000000000000000000000..9cbd58890a698d225d07a47b2dcbe1c2fc4c6651 GIT binary patch literal 67032 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 literal 0 HcmV?d00001 diff --git a/chapitre-2009/Fusion-chapter.log b/chapitre-2009/Fusion-chapter.log new file mode 100644 index 0000000..c6b3609 --- /dev/null +++ b/chapitre-2009/Fusion-chapter.log @@ -0,0 +1,414 @@ +This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2009.9.15) 22 SEP 2009 13:55 +entering extended mode + %&-line parsing enabled. +**Fusion-chapter +(./Fusion-chapter.tex +LaTeX2e <2005/12/01> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, arabic, farsi, croatian, ukrainian, russian, bulgarian, czech, slov +ak, danish, dutch, finnish, basque, french, german, ngerman, ibycus, greek, mon +ogreek, ancientgreek, hungarian, italian, latin, mongolian, norsk, icelandic, i +nterlingua, turkish, coptic, romanian, welsh, serbian, slovenian, estonian, esp +eranto, uppersorbian, indonesian, polish, portuguese, spanish, catalan, galicia +n, swedish, ukenglish, pinyin, loaded. +(./svmult.cls +Document Class: svmult 2007/06/25 v5.4 +Springer Verlag global LaTeX document class for multi authored books +Class Springer-SVMult Info: extra/valid Springer sub-package +(Springer-SVMult) not found in option list - using "global" style. +(/usr/share/texmf-texlive/tex/latex/base/article.cls +Document Class: article 2005/09/16 v1.4f Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo +File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +\svparindent=\dimen103 +\bibindent=\dimen104 +\betweenumberspace=\dimen105 +\headlineindent=\dimen106 +\minitoc=\write3 +\c@minitocdepth=\count87 +\c@chapter=\count88 +\mottowidth=\dimen107 +\svitemindent=\dimen108 +\verbatimindent=\dimen109 +LaTeX Font Info: Redeclaring math symbol \Gamma on input line 963. +LaTeX Font Info: Redeclaring math symbol \Delta on input line 964. +LaTeX Font Info: Redeclaring math symbol \Theta on input line 965. +LaTeX Font Info: Redeclaring math symbol \Lambda on input line 966. +LaTeX Font Info: Redeclaring math symbol \Xi on input line 967. +LaTeX Font Info: Redeclaring math symbol \Pi on input line 968. +LaTeX Font Info: Redeclaring math symbol \Sigma on input line 969. +LaTeX Font Info: Redeclaring math symbol \Upsilon on input line 970. +LaTeX Font Info: Redeclaring math symbol \Phi on input line 971. +LaTeX Font Info: Redeclaring math symbol \Psi on input line 972. +LaTeX Font Info: Redeclaring math symbol \Omega on input line 973. +\tocchpnum=\dimen110 +\tocsecnum=\dimen111 +\tocsectotal=\dimen112 +\tocsubsecnum=\dimen113 +\tocsubsectotal=\dimen114 +\tocsubsubsecnum=\dimen115 +\tocsubsubsectotal=\dimen116 +\tocparanum=\dimen117 +\tocparatotal=\dimen118 +\tocsubparanum=\dimen119 +\foot@parindent=\dimen120 +\spthmsep=\dimen121 +\c@theorem=\count89 +\c@case=\count90 +\c@conjecture=\count91 +\c@corollary=\count92 +\c@definition=\count93 +\c@example=\count94 +\c@exercise=\count95 +\c@lemma=\count96 +\c@note=\count97 +\c@problem=\count98 +\c@property=\count99 +\c@proposition=\count100 +\c@question=\count101 +\c@solution=\count102 +\c@remark=\count103 +\c@prob=\count104 +\instindent=\dimen122 +\figgap=\dimen123 +\bildb@x=\box26 +\figcapgap=\dimen124 +\tabcapgap=\dimen125 +\c@merk=\count105 +\c@@inst=\count106 +\c@@auth=\count107 +\c@auco=\count108 +\instindent=\dimen126 +\authrun=\box27 +\authorrunning=\toks14 +\tocauthor=\toks15 +\titrun=\box28 +\titlerunning=\toks16 +\toctitle=\toks17 +\c@contribution=\count109 +LaTeX Info: Redefining \abstract on input line 2320. +) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty +Package: amsmath 2000/07/18 v2.13 AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 + +(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 +\@emptytoks=\toks18 +\ex@=\dimen127 +)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d +\pmbraise@=\dimen128 +) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty +Package: amsopn 1999/12/14 v2.01 operator names +) +\inf@bad=\count110 +LaTeX Info: Redefining \frac on input line 211. +\uproot@=\count111 +\leftroot@=\count112 +LaTeX Info: Redefining \overline on input line 307. +\classnum@=\count113 +\DOTSCASE@=\count114 +LaTeX Info: Redefining \ldots on input line 379. +LaTeX Info: Redefining \dots on input line 382. +LaTeX Info: Redefining \cdots on input line 467. +\Mathstrutbox@=\box29 +\strutbox@=\box30 +\big@size=\dimen129 +LaTeX Font Info: Redeclaring font encoding OML on input line 567. +LaTeX Font Info: Redeclaring font encoding OMS on input line 568. + + +Package amsmath Warning: Unable to redefine math accent \vec. + +\macc@depth=\count115 +\c@MaxMatrixCols=\count116 +\dotsspace@=\muskip10 +\c@parentequation=\count117 +\dspbrk@lvl=\count118 +\tag@help=\toks19 +\row@=\count119 +\column@=\count120 +\maxfields@=\count121 +\andhelp@=\toks20 +\eqnshift@=\dimen130 +\alignsep@=\dimen131 +\tagshift@=\dimen132 +\tagwidth@=\dimen133 +\totwidth@=\dimen134 +\lineht@=\dimen135 +\@envbody=\toks21 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks22 +LaTeX Info: Redefining \[ on input line 2666. +LaTeX Info: Redefining \] on input line 2667. +) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2001/10/25 v2.2f +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 132. +) +(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2002/01/22 v2.2d +) +(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks23 +) +(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty +Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/etc/texmf/tex/latex/config/graphics.cfg +File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive +) +Package graphics Info: Driver file: dvips.def on input line 90. + +(/usr/share/texmf-texlive/tex/latex/graphics/dvips.def +File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR) +)) +\Gin@req@height=\dimen136 +\Gin@req@width=\dimen137 +) +(/usr/share/texmf-texlive/tex/latex/algorithms/algorithm.sty +Package: algorithm + +Document Style `algorithm' - floating environment +(/usr/share/texmf-texlive/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count122 +\float@exts=\toks24 +\float@box=\box31 +\@float@everytoks=\toks25 +\@floatcapt=\box32 +) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +) +\@float@every@algorithm=\toks26 +\c@algorithm=\count123 +) +(/usr/share/texmf-texlive/tex/latex/algorithms/algorithmic.sty +Package: algorithmic 2006/06/02 + +Document Style `algorithmic' - environment +(/usr/share/texmf-texlive/tex/latex/tools/calc.sty +Package: calc 2005/08/06 v4.2 Infix arithmetic (KKT,FJ) +\calc@Acount=\count124 +\calc@Bcount=\count125 +\calc@Adimen=\dimen138 +\calc@Bdimen=\dimen139 +\calc@Askip=\skip46 +\calc@Bskip=\skip47 +LaTeX Info: Redefining \setlength on input line 75. +LaTeX Info: Redefining \addtolength on input line 76. +\calc@Ccount=\count126 +\calc@Cskip=\skip48 +) +\c@ALC@line=\count127 +\c@ALC@rem=\count128 +\c@ALC@depth=\count129 +\ALC@tlm=\skip49 +\algorithmicindent=\skip50 +) +\c@assumption=\count130 + +(/usr/share/texmf-texlive/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) (./Fusion-chapter.aux) +\openout1 = `Fusion-chapter.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 50. +LaTeX Font Info: ... okay on input line 50. +LaTeX Font Info: Try loading font information for OT1+ptm on input line 50. + +(/usr/share/texmf-texlive/tex/latex/psnfss/ot1ptm.fd +File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. +) +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <14> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 62. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <16> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 62. +LaTeX Font Info: Try loading font information for U+msa on input line 62. + +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2002/01/19 v2.2g AMS font definitions +) +LaTeX Font Info: Try loading font information for U+msb on input line 62. + +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2002/01/19 v2.2g AMS font definitions +) +LaTeX Font Info: Calculating math sizes for size <8.5> on input line 62. + + +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <4.25> not available +(Font) size <5> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OML/cmm/m/it' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OML/cmm/m/it' in size <4.25> not available +(Font) size <5> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <4.25> not available +(Font) size <5> substituted on input line 62. + + +LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `U/msa/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `U/msa/m/n' in size <4.25> not available +(Font) size <5> substituted on input line 62. + + +LaTeX Font Warning: Font shape `U/msb/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + + +LaTeX Font Warning: Font shape `U/msb/m/n' in size <4.25> not available +(Font) size <5> substituted on input line 62. + +LaTeX Font Info: Try loading font information for OMS+ptm on input line 62. +(/usr/share/texmf-texlive/tex/latex/psnfss/omsptm.fd +File: omsptm.fd +) +LaTeX Font Info: Font shape `OMS/ptm/m/n' in size <8.5> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 62. + + +LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <8.5> not available +(Font) size <8> substituted on input line 62. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 80. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 83. +Missing character: There is no â in font ptmr7t! +Missing character: There is no € in font ptmr7t! +Missing character: There is no “ in font ptmr7t! +Missing character: There is no â in font ptmr7t! +Missing character: There is no € in font ptmr7t! +Missing character: There is no “ in font ptmr7t! +[1 + + + +] +LaTeX Font Info: Font shape `OMS/ptm/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 180. + [2] [3] +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <12> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 274. + [4] +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <8.5> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 344. + [5] +Overfull \hbox (2.12305pt too wide) in paragraph at lines 420--426 +\OT1/ptm/m/n/10 two ver-tices $\OML/cmm/m/it/10 i$ \OT1/ptm/m/n/10 and $\OML/cm +m/m/it/10 j$ \OT1/ptm/m/n/10 there ex-ists a se-quence of edges $\OT1/cmr/m/n/1 +0 (\OML/cmm/m/it/10 i; k[]\OT1/cmr/m/n/10 )\OML/cmm/m/it/10 ; \OT1/cmr/m/n/10 +(\OML/cmm/m/it/10 k[]; k[]\OT1/cmr/m/n/10 )\OML/cmm/m/it/10 ; [] ; \OT1/cmr/m/n +/10 (\OML/cmm/m/it/10 k[]; k[]\OT1/cmr/m/n/10 )\OML/cmm/m/it/10 ; [] + [] + +File: jointly.eps Graphic file (type eps) + + +LaTeX Warning: `h' float specifier changed to `ht'. + +[6] [7] [8] [9] [10] +File: exampleFusion.eps Graphic file (type eps) + + +LaTeX Warning: `h' float specifier changed to `ht'. + +[11] [12] +File: ErrorNbIteration.ps Graphic file (type eps) + + +LaTeX Warning: `h' float specifier changed to `ht'. + +[13] +File: DynamicTopology.ps Graphic file (type eps) + +File: DynamicTopologyTime.ps Graphic file (type eps) + [14] +File: Density.ps Graphic file (type eps) + + +LaTeX Warning: `h' float specifier changed to `ht'. + +File: TimeDensity.ps Graphic file (type eps) + + +LaTeX Warning: `h' float specifier changed to `ht'. + +[15] [16] (./Fusion-chapter.bbl [17]) [18] (./Fusion-chapter.aux) + +LaTeX Font Warning: Size substitutions with differences +(Font) up to 0.75pt have occurred. + + ) +Here is how much of TeX's memory you used: + 2452 strings out of 94075 + 28008 string characters out of 1165176 + 89742 words of memory out of 1500000 + 5712 multiletter control sequences out of 10000+50000 + 17544 words of font info for 52 fonts, out of 1200000 for 2000 + 645 hyphenation exceptions out of 8191 + 30i,10n,22p,209b,513s stack positions out of 5000i,500n,6000p,200000b,5000s + +Output written on Fusion-chapter.dvi (18 pages, 67032 bytes). diff --git a/chapitre-2009/Fusion-chapter.pdf b/chapitre-2009/Fusion-chapter.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d7c13666a5c93420f1c301ca3961ef45a4d3fc6c GIT binary patch literal 168763 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 literal 0 HcmV?d00001 diff --git a/chapitre-2009/Fusion-chapter.ps b/chapitre-2009/Fusion-chapter.ps new file mode 100644 index 0000000..e7062c8 --- /dev/null +++ b/chapitre-2009/Fusion-chapter.ps @@ -0,0 +1,8333 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software +%%Title: D:/Texte/Sensors/Fusion/Fusion-chapitre/Fusion-chapter.dvi +%%CreationDate: Tue Jun 30 21:21:13 2009 +%%Pages: 18 +%%PageOrder: Ascend +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: Times-Bold Times-Roman CMMI7 CMSY8 Times-Italic CMSY10 +%%+ Times-BoldItalic CMMI10 CMR10 MSBM10 CMEX10 CMR7 CMSY7 CMMI5 CMMI8 +%%+ CMR8 CMMI6 MSBM7 CMSY6 CMR6 MSAM10 CMR5 CMSY5 Helvetica +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: "C:\Program Files\MiKTeX 2.5\miktex\bin\dvips.exe" +%+ D:/Texte/Sensors/Fusion/Fusion-chapitre/Fusion-chapter.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2009.06.30:2121 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc 0 0 +% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 +% +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, +% W. Schmidt, P. Lehman", +% version = "2.0", +% date = "27nov06", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the encoding vector for Type1 and TrueType +% fonts to be used with TeX. This file is part of the +% PSNFSS bundle, version 9" +% @} +% +% The idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, +% MacRoman, and some extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% These are /dotlessj /ff /ffi /ffl. +% +% (4) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (5) /Euro was assigned to 128, as in Windows ANSI +% +% (6) Missing characters from MacRoman encoding incorporated as follows: +% +% PostScript MacRoman TeXBase1 +% -------------- -------------- -------------- +% /notequal 173 0x16 +% /infinity 176 0x17 +% /lessequal 178 0x18 +% /greaterequal 179 0x19 +% /partialdiff 182 0x1A +% /summation 183 0x1B +% /product 184 0x1C +% /pi 185 0x1D +% /integral 186 0x81 +% /Omega 189 0x8D +% /radical 195 0x8E +% /approxequal 197 0x8F +% /Delta 198 0x9D +% /lozenge 215 0x9E +% +/TeXBase1Encoding [ +% 0x00 + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef /breve + /minus /.notdef /Zcaron /zcaron +% 0x10 + /caron /dotlessi /dotlessj /ff + /ffi /ffl /notequal /infinity + /lessequal /greaterequal /partialdiff /summation + /product /pi /grave /quotesingle +% 0x20 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /.notdef +% 0x80 + /Euro /integral /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /Omega /radical /approxequal +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /Delta /lozenge /Ydieresis +% 0xA0 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot /hyphen /registered /macron +% 0xB0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +%%BeginFont: CMEX10 +%!PS-AdobeFont-1.1: CMEX10 1.00 +%%CreationDate: 1992 Jul 23 21:22:48 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMEX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /parenleftbig put +dup 1 /parenrightbig put +dup 8 /braceleftbig put +dup 9 /bracerightbig put +dup 16 /parenleftBig put +dup 17 /parenrightBig put +dup 18 /parenleftbigg put +dup 19 /parenrightbigg put +dup 26 /braceleftbigg put +dup 32 /parenleftBigg put +dup 33 /parenrightBigg put +dup 48 /parenlefttp put +dup 49 /parenrighttp put +dup 56 /bracelefttp put +dup 58 /braceleftbt put +dup 60 /braceleftmid put +dup 64 /parenleftbt put +dup 65 /parenrightbt put +dup 80 /summationtext put +dup 83 /uniontext put +dup 88 /summationdisplay put +readonly def +/FontBBox{-24 -2960 1454 772}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910 +DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8 +8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987 +FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422 +BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52 +EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8 +DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1 +EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C +6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281 +E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350 +E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38 +4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5 +8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023 +8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2 +FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A +EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387 +680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35 +5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664 +3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666 +DD4DD1C1C82AC22700F059ED0B61444FD899D2E5C1362757233ED25226A374DB +DEB02FDFA39FAA62C7103BBD658B0C380FBAB50705F749A6A3103C287C45F92B +8F852A714DB0989FAEAE42BF55F317B8B0567FA278467F30AC5AE86765A1F4A9 +326299383B56A2D52368F3A15B22E755EF4FB0A0B5DA96F210484F3548C6E7B2 +A907927C5F77451F5842609DDBE28CDD0BEA393CBA0DAC84EE51A1530F48A296 +4EA735EFF9348071315BD7114A79B722254FF02C8704EA365EA26114CBD1BA0B +3E9143239551DC2DFFF65CD96CB970CA4243E524386D994824BA652DF5C7A899 +F9FFDC763E96B85E947AE27F83D58E2DBAA3288FAA81CD7BA68B5D884FC84E6B +63AF61F15BF09F9CEC5506D987311C81D3729D2CC3D95817D35B5117DEE54C88 +47AD0325B429CA487345139A32BF5AE9FCA1E27EA475C7670D833193B7777096 +F11FDD14D91C37E9134395BC85D5F22C6D9F990892E2DC6A78E0CAB6B3BFAA32 +835BE39AE8D06A9C737F224B1698FAECFBA0C059CFE989958958DD5125784AD8 +E3A2CAB256E4BD7D52CB57958F2155E74F08C83C8302CC0B8B8BFB0131C42637 +F2189487FB6A7E7F802CE1B724FE84D62C0403AD0383BB68B336CE4BABB5E123 +19EAFAEB98B38BC928A09DEC9325C7B9C89B3B3A28EDF01015D6816F5FF8E8B5 +3F8795594488552D10DBEB9FDB7262BA332367C6D6A5B7D761E89E0470A020DA +FCB20402DD772E5CA372EC7665534D34AEEBFC14237127CC79850D65716007D8 +63408E53E13A65BE34D1FB68829C88FA20C174BDF30155CFC33F06944E7263C8 +2EEA6C618A9E51217D330F1CAF2551CC09D7230EFC38DDFD93BBC6B83A1856C4 +90537D8735B9D9E97001979A83E88FB49C5FFFCC58BE83CC5C721AC4AF71B82E +E41298899DE9D1EB7607E37D6BE7788BDA1761AB39F0D31906079C95FBAA75F0 +5C9FAC005DAC85B9CB6F312ACDD7BDA6248BD6C9D669FD17DD7D5486ECE392F2 +5633ED27F5C25D63BE46BA0B2AB837E89891DFAD2B41DB0C3BF290F8F98384E2 +BD2DB5F80A05BA32F9C42BD592A82D8A3A46CC3C568F75BDA6878E531F4F0F4E +42B28F6B14A44173BA5BBAB22AEA338FCFB5B008D7E1B3759B519B660B0D13BF +FD32D7D1CA71DE0F41146ED9859BF8275FC09E1AB9829E8CDFA4D90AB4B04328 +86641236E5D9F98677766B9FC0ACF1A5FC70E212FA976024E0FF7700CDA067D5 +C0F43559B11C6FC41E29922A805BD7AFB33F2C99896AEB036FE62AA6BE7ABC19 +EE13304574E48798F67322998C662E2AC9E8A8BD6104E45D6919FD1250EC3697 +4EC4FCDC79F1FEA48FA431B774FD28E74503E3EFF8B334007C07A354672EDD43 +C8E4C094F3C47FDBB2FF9067266661008AA7AAEB42159AC509D615A6E2CEF184 +D189609DE05F7C50766156DF1EBE2617AE6B2CAA4ACF11423F35360B5829588E +2396BB2D0CBE8A05CFF92FCC3D9D6D21A00F28AA9126F400954BDC4A999B751E +5B71B7E80979B729475024E966965E01D1398A12712BEFE723CBCE35160D855E +6718FE89971CDB525907764997DA16922AB51D316BA7EFE6C5111AC5FF6D7129 +20F34F6B8996981B2B119EB3138FD7F176FE209A2324D0873D59D8EB801A69A4 +5E399C1814047418B0127101FCD4F617891946C983440FE180E3B109E6F18AFA +AB62309BFD236AA4D0B25F9FE4789FD71A76A0E3D87C4393E13959F2B34C7139 +F53CB3AD2F81B747E8F17D324A1EDBB5DF7F86CCB6F94C54C9034613A475CCD2 +DA3E68DB2C15CB0E32C9698CDC1AF99A98CA2902667AAB8D26CBDCA7E3BD4EA5 +1A205DE4441FFC0413818D5628F1B2F65D51585F34DAF1B6A34EA0AADD3DF965 +EA3B725E83C22B196A5B39C4CCBBB7960A3E73B081228A2AE3217F4941F32DA7 +3E81D55089683D436A7E8C3280F8532A4C8083CF170678A9D3F625B51A1E0B62 +C3CABCA195D3C8E1FC799DB26DD9B4995236960C1FEAE3ABF457279C4BFB9FCF +C568F50D289490A91120C2F4033DC241874E968D9FEFCEED55C2C1AD36C7D84B +985F6B47F16BFA8A4E59C4F6548D6EE6FB287678C2C6010F5D26D51687BA208E +75A4DA595C5732949E8E49AFC653AD17C714ED1977B120522C3E46B92FDE73C0 +2553144C6B4305D9A98C62734247518350DDD28B24E832B2BD294C40ECB93E66 +0A1ACFDA178DBAA5D9375FA5237FB84AAA7FD656C0DF8BDD94E33DC10F0F4FAF +4C788227BE77BDBD08C12CEBACC9FBCD04094FC0F1C26CCCB15054287E23221B +26D0C1FBBFA35559275780E02DA955A3024EAC2DE4D1DDDF2961F86A08127E87 +3A470868DEA26FEAA63D8A0B016787EE1D205AA3D6459D91F6E3A20E14D29AE8 +394EA46F82E1AE284BE0A03383FDD062541AC923D5C107DAFBDAA9508A7AF797 +82E319F4B4BF74E41862B22E2AF5BC2098EAAFB34F3644202537CF9F9B1600ED +CC8E4EB9AD080A04587D5CBA945773489442AFEC8BD1E28C29C273C7FF08A89E +85681EF5E7A193F6F1B2343AA67BE97334C18937C260D8F6F9923A57A667ECE7 +FC30F59FEB258CC2EA7845EA59D53ECFEACE6D3933A7DB6F27CD0C9F1815101E +C2A6CB63F59DD61C210613663EC664562C049490E8627B02616E2E428291E542 +A385A508387A34403013666BF2E7E01267FADB8C20739CFA86F1B834A0270629 +2A6E44CD5ABFBFF84EF88A00D02826CCA09875381EAE5AC0D076D265A00D4A3D +EC4DCC270F2069D8CB84F088D4FE648F7168F75A2449A85141793DC2E3BFB4A4 +7353C8DF3F277100A5FFEDD4C5873B746DCEC559D13F1CCE0F1DA1889F3030DA +59C129DDF372E3666E8645B763187D4CC84E4433F5C1FD517480D7069F42E9C4 +D6E9AA82B8CCC6DEB32CABAC209A928F0BD52BB76BECB0F351A583025B37B0B6 +29146E1D55A9A34D53E59DFA45797DEF0ED2E22F1CDC8276D799559968F8625F +DD171A68DB520BD02DDAFC4D8E5EDECBE976AA45488B1FCE5A4963AC6DE30FF5 +AAD06C4869727383C013C43DF2B399BAF49240A4D7DAB532BDDE4595220D6A8C +CBC36CAC03D6C3D27FC3549E30B9BF97493DE922810DDB6F4AA3482B26EA95AD +436B4CDB3CEC449CEFDC841A95849A26B0EB658EE7AAD9673CC19686E42C2F48 +C88D50F9C05900D7536211FC0B94A9F4C4456F38889E0EF8F2FE36999B58E627 +290CAF623116AFA1B75FF487079EEAF945BD907A612E7F2E931D83972D8D5A04 +1009693D949F427B1F3E59B08CF38B8C93638DD322C272065BED9B8330A04D8B +FF359D355EA8D859D4D0D30F02AA4EF54CBE4A73FAABB7F2628B11F0A2BAE147 +40F0352550738478A418136593ABB317B6EC86A932CC700571475451361D304F +5230406434BA54A273D02CB2BFB2B1742D43347E2D9920680963193D527A575A +14503046529A3BEBD9F2B2D82D4C772D6B36B204AF1D9D2D827D74F06396D770 +823A9600CD8FDEFF10DD077B3723694E1B3D2F59026A572E07C7277B9ADD8082 +4733DB75FB37EE586D8D085947102E992E423D2E71023BDDB4B20FB2DD89CDA4 +D006CB376F9CA5E0672600FCA76649DE67CE2298BDA6961E132A6DC9F700FE49 +37D189C9E7EE2C064AB4A8427D7B11EA839674695629891507AE51D24F2D7F50 +BD8D7F32D0A066566BA02DDB3BD30841992CB7ACCB15853C6C783A6B7636DEB3 +E0C0F3FC5BFEEBB84AFC0F3ECA0BCBC2C72E16940D612FA35207496B892C4030 +470C659488F7D75B5EBF165A030C3398F900A408B511B724694FC7280722742D +9BA88EDBCCABC1F69AF8C782168E183767755B0DB0030BBED66C8A25FC09E003 +CB5F25235572F44751B34ED8A33C220AEBE4298DB09D494F87CB693D89138AEA +8AAE674F53BDDD0A5D54B0C5C5A686D6C4321BDEC80455F16708FBAB0E5A8AB4 +32A279C6780DAD7B636193086C316F2A64DA2D3E52F894DB2FD8E7F5D8243BAE +98FC851C25AD5870222F655CCBBE0D3FED575FC5533EE54BF62A926BD20B0919 +ECDA438E3771592DB0680ED11596DCF8ACCBB794B5AD094001F5CCBF93EDCA54 +4999D36F2E22F791846E2010530DF646E4BB09E23C414E2FCD08C13E36BE5F2C +0AE96BB3698E9F01468EC5E23C6D1BB9FC44D5D352E761EB50E264B120AD90AA +4A202942207823C1B4311F7533AFB4DFAB70D8821723C3525A23BD6466921BA6 +88875D08A0122AB492455B6D90FE15BE4830C879F298F66A9EBE44C5BBAB5266 +BF0FB3D1B963268BF9952D8C19ADF21E60F8D06A279D0719AB3F4466186EF06D +7373D5CF8C626BAF1937E246752486746674B5372D40F95C2A5772F3BE49E080 +C6DB891F40DA9EB3219C43A10D3947C537C1CCE8B1677C96D1D13BCA8DAB6BE3 +A59806A953523E22E64E2B471FB46C405346870C4E7968987CA6243EE14CA35B +3F9CE97BD096366DE32768A5EC58077AA97117ADA747211512F1FBBBD704FD93 +DA6229603FED0979D87C64F5D36C316DFA91F98AB1D55D06DD7B1F7D51AF277A +FF664B10DD3042F2D183B958F2714295D51D6E1DB85D071BFA544C4802AB4537 +0B17A665C703FD2851343003039F2251C2ADDFF4BFBF8D625C87119101E6718D +6EADA1A2D4D4F9917D1CCAC71AACBEB66FE5A9ED13201A544B127114B95DB20C +59756DD68993754AE72EC12A3879476C51CEFC0FD1A095116A5D63AEB3E64FF5 +2A90EA74B7B5AED8157B6CA1B78E3FE0C3544CD0F6DE38B0E12265124A64E120 +921310B40BE68631EBD0368D4572709032E69D1C964EED7246DA3729584F165C +1548074357F771546AD8F134E40068367FD33FBBE76EF3BFCDE364D4CE7ADADB +DF2B6B7EB349BB563DC7D42EFD0159C37517D94770918758D434477D3DC5583B +6325C41BB9FAAD37207EC71F6C492EF0039A3813773C4B6848ABB9E96055F432 +C32AFEBAF21EF58E1DD3DD6378A208D816F3BE7E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY5 +%!PS-AdobeFont-1.1: CMSY5 1.0 +%%CreationDate: 1991 Aug 15 07:21:16 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY5 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 3 /asteriskmath put +dup 54 /negationslash put +readonly def +/FontBBox{21 -944 1448 791}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBAF552B11EFFB6A16C +F03FB920C15AE724EFDF0CCBF00A838D34440FF9FED532F44036AD22561184C5 +283722DDFA7285E62754372D716D704AC0E00B2F6AB67154241C7449AA047833 +94CEDB08E8C92907FE72A0B05AE36A7B9226ACD6E7890A0B528FDDE84A950FC6 +801DE75CF2E739E9121149CCB8B1C87A106822648D84A3D3FBF295EE6C4BF403 +BBE9A1C1F6DAEDD1E642ACC486E609703D7612BFFD10C324F5DC710811F7F614 +3691B400E3773987424C0D2B0D8A736873C6371DDB2442F05E018A2B5CA9A4AA +17AABB95D09E5890CFFFED5AC01495D89A53D3CEB6E0F620D2A75CB26E31E1FD +557B4C4A08F62668770C8BE63D101DB2855E6EE41C21A7EC6A61FAFC6ECC5AE3 +AAAD9BF81CBE3446C7B97DF168DA97FD62D7624466B71DEC005100D9A9E96639 +5D681ABD5C673876B65E5CDA906D4950EB1B40C47DFD9BCF198D7AAF69608C0C +F2E8D8277402CCADBB663813DD60A089594BB10D56DEC9DCC9E89CB253F58CEE +FC570B8A5F8B89E0C4A302DF19E296F0793EFA5507D8D7E2E51EBEA0D9696541 +AC24DACD40760D63AB92FAB1349335C832AA4CE4CE25D3D9EE2BEAF2E5F8D06D +7B08C203EA99C65EFAB0275C7E67A26060A302E1AF9D754B8A3B8F99C5D08BD2 +9DC4B91ECCDED59EC130D23879D661D6A88A1E4C9F1B8016677E9862207CD130 +82EAD659F71962275FF7FD327D060189598AF43EE08B0B3F59BEEDA85D669388 +54AD47864979967289ABF1BFD965EEB0709BD424D81911042305F9D016A9919F +006068063E85E7D500860B84C3775A79E432E5504E7F9DB79F2210AEDAA599FD +92A117C7DF17AF424DE6F15D852479ED82B14DC553C33CD3A5A1CBFBB82A4D7D +00B5D21DA064B209BDB93761D773A7B528AC1B167B522E55049DCB932A19D753 +F8D75D35D31A4E582A2758E566394CFB2D479C4C3D10EDEB4ED3832C358BFF2C +4E21E6F3784952F7DD66D38141DA12292E5D8BA1D369C208C283161D02E577B5 +EDAD1FDFB896119EA9F763EF3EA93A92AF0BDAF63DFFACD5B23461E1F8FBFB66 +A0365FCE1F6F823C405959D53E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR5 +%!PS-AdobeFont-1.1: CMR5 1.00B +%%CreationDate: 1992 Feb 19 19:55:02 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR5 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 61 /equal put +readonly def +/FontBBox{-341 -250 1304 965}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA1F9B0FF4CFF25B8E64D0747A3 +7CAD14E0DBA3E3CA95F10F24B7D5D75451845F1FB7221D7794A860756CFBB3E7 +704A52A22448C34812C3DBEDD41892577AABA7D555E9298C1A0F7DA638078167 +F56E29672683C51CF1C003764A8E7AD9D8ADE77B4983F56FE2D12723AAD8BF36 +682CFBB71B1D12210144D39DD841A971F71DB82AC6CD815987CDCF29ABC3CC96 +5EEBD5D661F452C6E0C74F9ED8D0C5B3755551A172E0FE31EA02344176E32666 +14B6853A1C303A5E818C2E455A6CF8FC9A66DC6E279101D61C523BD9DB8EB82F +EAF4D7FDF6372383C0794C4568D079648689A199D4B65BA646CF95B7647E4BEC +83856C27A8EF177B3A686EDA6354FE9573E123C12EC4BA56A7E8BFB8F9B75147 +9DD79A743968F36F7D0D479FA610F0816E6267E5CE327686A5485AB72201525C +FB3B7CA10E1BF26E44C24E1696CB089CB0055BD692C89B237CF269F77A31DC81 +0F4B75C8400ABCFDCEC6443CD0E81871CD71AA3064ABDE882C4C52322C27FA8B +41C689F827FB0F8AAF8022CF3C1F41C0B45601190C1328831857CBF9B1E7D1AA +246117E56D6B7938488055F4E63E2A1C8D57C17D213729C68349FEC2C3466F41 +171E00413D39DF1F67BC15912F30775AFDF7FB3312587E20A68CF77AD3906040 +842D63C45E19278622DD228C18ABDD024DD9613CDC0B109095DB0ADC3A3C0CB5 +AB597D490189EA81239E39202CBC7A829EB9B313A8F962F7879D374ADF529BD0 +5533EF977142F647AD2F5975BA7E340419116099B19ACCCC37C551215F95BB1E +F7F5CE777B793F81BBD695D7862EC0B69F926F9A86C5917EA882629C25DA56FE +F992F1E8194EF0A4BB389A18FAC96E294D0724A431AF70FC1DC09D5C1485B413 +6A9EAFF96BD5096A84D88ED750E9A76B0203817C64D1A5AE26833EC72A3FD987 +198B788BA8F5B3FAF3F1D7C7E6CE2D0B518936CAA12E25F32C13FCB7F105E815 +BD670D0A4ECC9916AF3CB33A6694C1614371C674BAA401C552B6982C61344614 +F26390D4F983A7B66A57079C2C6954EE9602B44D7B65F3B0FD98879D74FFE26A +0CA78061BB0465354B76DE1980FD81410FDC6B18E92A4876B7BC36F06A1546AC +0D967C58B3CAD756410D6F34F6CEB9A7550DB7DC639B4FB27508E1E8472DB30C +F4DCA3B3FB0DC5BFDBDD061D13D4CCBEB458EAFF9CE68A5A76A6C3FCE4DC1C03 +ADFE8FB2ED57419FCA02536BECC4437730B8DD1817F91A9E2D75861049FBB71A +1E32BA6DB96D4C6C56A3C9715E798F7838F698F22E38164E32F82701D95A01FF +75B63EB2446373ECADF88FFD96602F096D31B52C4F19A2F11869DC40D8915B95 +6D3588887D1191689605C6FF32E8DBE65FCA9B287F121851BF9D7E6E23FA1A3C +93A1F68811B0115ECDA9E2B21E24B37D73B486F8C5DD30DD12792295867D9BFB +7F1EE7998523EA2C8FB19EFE4ED89F9C476A965C8AEF923762F5D6422D736073 +9CA2E2F74A82DE980A1625B603929BD7971E55FAA5DAC4738770DD79372E73BD +C601B4801004E5293649D3BAFFAA70427AC19087D279ED81EAFB747CAAF33B3A +3DE8F6900B3BCAAB6F40853D02B7A7AA08E8A65905583E45EF901944E61EFFE0 +2DA1D0E8FC1857750C4A86447CA83765C0F0D9BE6161D26113A4663326D41CD0 +021249A9A99A693FE560F6B8F9824934261D3C85DB3E81F57032B4A01DFC89D7 +7D8420AF1B0E8F9016C3CE2C04F9D6180B7C9BC97A05304100A627485C11A642 +10986FDB1C2484EFFB0B9EF691EE4F25A337C0FC494A876FEFFE9C4E374330EA +FF5E38711111BA05AD784E5F46C1FFD4BBFD440BBE44870FDC5A63FDBCAB5E9E +1C4DB0C0B5DF6D05A69F117F850D26D70F75A754A68A2343B6AA2DBCD01589A6 +9FCD39D5AEB4620A1E76F5E92A056B45F18FA2E619D52499800713ECC7D1061E +A093ACB9ED05000284C51C7D3C74C965331A16EC8CF1E90F5C36DE4A8501550A +7EEA807F9B4881DDEC7865CF36993D4A21C9A381F3F7FFE7CA6EB909EAE3D68B +59989A7351425FB5899089D78203CA73FA2B90165D60F1E316147EA115D2DB47 +1C304181D4E4C48B537AC92A69B51A93B4396555D989120A0B0C81C1F10B7B1B +FB267022B927E04CAE7D6F0626D65DE0AA8DB01D7D12433CA55FE9C45C7A45E9 +A778FCCC7BA020A70DC6AFDD761F181C61EE72E04A29CD9991F1 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: MSAM10 +%!PS-AdobeFont-1.1: MSAM10 2.1 +%%CreationDate: 1993 Sep 17 09:05:00 +% Math Symbol fonts were designed by the American Mathematical Society. +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (2.1) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (MSAM10) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /MSAM10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 62 /greaterorequalslant put +readonly def +/FontBBox{8 -463 1331 1003}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1C87678CE98C24B934A76220 +4DD9B2FF3A49786028E35DDE10AD2C926BD30AD47015FFE9469DE1F793D1C53A +C8812CBCD402444EAEA7A50EC5FD93D6A04C2783B50EA48059E3E7407537CB8D +4C206846EF0764C05289733920E2399E58AD8F137C229F3CE3E34D2D1EAB2D53 +20D44EFAC8EFA4D14A2EFE389D952527F98D0E49BD5BD2C8D58FF9CB9C78D974 +75C2AB5467D73D2B5E277A3FDC35909938A9DF0EB91BD9159D3437BE22EE4544 +3429AC8E2BFBE34AE54D3BA3AD04BDF3F4F43A2B43992DF88678681B3AB32CFD +A23E2C98D1AF00AB206AC95B78BBE6316F7A0AB6BD3236C28C76288B3C25D1EB +E9ABB3576C5EC15A71D26177F5883E9B48293D59015615E2EEAF2E9BA04151ED +5497B9A1C41CBA44BAFF13EA218F5EAC11952EE336AD1DBE6CE92F002EAA3B3D +3BE4C3792F3405763C4BD93EFC3B4FC34193439561841BA989DD8D9F9AEE7A7B +24AEB4654B35023C9720B8F31AA9452E29753FB7915CB29977E725611E37C0B7 +784BCC26FACF8A7A0EB1E54290D27FFE52B2D87FAD080AD15EE1984C37E0EB30 +122C3012D3A16B09C28903D138352AB5462674B6CFB63F1371768D094DDF288C +36FB9B58443F872D61F2CD8CED42FE0EFF3D7E9952A172BB1AFECB60BF79F2B6 +04265FDE4F78BC9FD619AA733CD0412F1D9A7C13B271BF827DCBDC8ABAE24FF0 +74D3C220621D7FF0EFE62D835A221D0A7C139E2E6681FC2BBA58FA3B80D416EC +3854C63BA040A4262B458340DAA18AA6AEA3BBAC61615CB85982B18664D3D3AF +340C65B969071CF2D0CABEB80E04623D0526F862ECA8280EEE236C535F70561A +854181132E677674AD5E14C6636F57541D3C821F0776D2CB9B8526D4B826791A +0B179B386967E7B1725D1D0970983F7604FDB7DFCFF041F68133338974A281DA +04EAAAEB8CF074B11C56A8AD80F139546845157987B04DDE6B9DC8D327FD2DAB +5B7F4BACBC9D9FE3831736B0A3C5057FDA4F636318EEAF5FD32A87BF6B4D947B +1756CF885D4B955A1E36E5E44A89E35C68C70921505EC8D6DB40F82A8A3BD84E +3641F58211A7BF5EA5B6A84E2EBF805583095B25F2CD40DA5806FC701D751095 +6432DCF5AB12A90F940B5738502202440AD44143D76009297F8BB80EA6EC702E +A5153B7D4431D1D93A64412B6C244CF9623A555D5FD7B133AFF4406A9E2326D6 +25B250F6ECBF3123A4AA424080D3E6F962734BC08AED525787F406C3BF239B0E +28450A0DCA6479749F0E40AF5E6FECA657735650114DDA61637670B4B90252C4 +D4F133FDF1998F09CF2360D498BD7E792A +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR6 +%!PS-AdobeFont-1.1: CMR6 1.0 +%%CreationDate: 1991 Aug 20 16:39:02 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR6 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +/FontBBox{-20 -250 1193 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C +BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E +CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A +C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5 +D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D +23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8 +D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B +93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711 +6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4 +EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953 +CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF +D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE +00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5 +B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA +99B797CE549B5C45238DD0FADD6B99D233AC69282DF0D91EA2DBD08CE0083904 +A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB +11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5 +50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB67C3039A0F +BF0BA4B455D035FF3126F33A4DEA730DB0644CCE0E14E89E8F5873C19FAEFA91 +9D14A603CF4D917A6AEDB4301981BAB51630CCACD37CC4A7AEECFA7E8A6A3F22 +E517F781BFBF64CA02D39D6B759536AFA1A1D4C2F82C78C45F4BF81AE4193314 +90EF9297156578BC9F14FA6D4328AA000C3B96C324921C95DB11D9AD73216475 +52B066C2221D5904718F2E84DCEC6652309C58EAE065AE3F072211FDB5C97B97 +6596D115A234B2C48CEA758207F0206C4AFDC0CD642C1473C591DAD250F472B8 +6F8FDDF769B1150B9C9CBFA0C3370561CD16D089392F99A25B518A44B428CCBE +2C57E58016C7F8A68C60E760E11AC94DE463C3EBA0E113B0D88901D5D8423A24 +E73A9255D36E89736F4769475E1A82A0A7BF57DBB8FEB2D2F4F2E6FAB9528C67 +F633939E9A05D02468C1CF3EBE7BB304769F75844E7FDA5FF39EBA3D7ADBC733 +B4A79E6B21849511BD087D192F4ED43F7900928C03D931DF04EBBED296AF1045 +AC2B727A931D4C293CBE0EE977B9243D3EC7E68A +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY6 +%!PS-AdobeFont-1.1: CMSY6 1.0 +%%CreationDate: 1991 Aug 15 07:21:34 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY6 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /element put +readonly def +/FontBBox{-4 -948 1329 786}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFB7605D7BA557CC35D6 +49F6EB651B83771034BA0C39DB8D426A24543EF4529E2D939125B5157482688E +9045C2242F4AFA4C489D975C029177CD6497EACD181FF151A45F521A4C4043C2 +1F3E76EF5B3291A941583E27DFC68B9211105827590393ABFB8AA4D1623D1761 +6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0 +007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673 +F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115 +C5FD550F53CE5583743B50B0F9B7C4F836DEF7499F439A6EBE9BF559D2EE0571 +CE54AEC467FDC60394336D84666336B29652E7076462DF70C6087A99A89F69C5 +887D9E651A859D64D64649A90837FD8FAE50336E1A69FD1B55B3FC15A80642F3 +B6DC7AE39CE05B80EBE2031397C75759FA201BB78D9A63F539C2DB47D8A215DB +A7BD86A86F74FE9CC5DA6AF8E35E75815E2DFCBAA3B3C879942818DA1E884AE5 +A257826EE787C4AF487B9E3645FB1763B2D83C7165666B3E63303694122477BF +C4F7A7570D968C2B5D7DB6251125B1440B6E0E74FF49EEF9D6D3CFDCC7A02AEB +53EFD2FF61BF1E9254DC034198C94BACDF6EF8A2890F5513840B1B32E734C5B8 +509F254CD0F211948F13252CE39236B64C66B7D6CD8955F744A43EA5247BC134 +20B6A2DDAED0FD34 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: MSBM7 +%!PS-AdobeFont-1.1: MSBM7 2.1 +%%CreationDate: 1992 Oct 17 08:30:50 +% Math Symbol fonts were designed by the American Mathematical Society. +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (2.1) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (MSBM7) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /MSBM7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 82 /R put +readonly def +/FontBBox{0 -504 2615 1004}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6A66A4000A13D5F68BFF326D +1D432B0D064B56C598F4338C319309181D78E1629A31ECA5DD8536379B03C383 +D10F04E2CB7C8461B10646CD63AFEB7608468CA0FCFC4D3458FB43D22879B515 +27DD9CCF44C2BFCD95A4DE911E4915FBC02335E9999FD9B546134081D6DA3792 +EC4A76DEBA77635BE52E09986268A919CB48B5EFB1A1301EE0683CB5709BC8CE +D819D799020CBA673BA39C911075501395B1FD20EAD392C9D5A8C9FD1198C737 +D1A614CF0C0432F29DDEB4BF9DB026908DBE89EE522B7D55DE9BF64AFBE6248E +2E10466655EB9083E7D23E3F0EE26154F191BEBC9987930CD4B4CABE1275BDF9 +8755EF3D531FDF91D54954FC53F15A38D1E8F8D1E36447484FA2C09D34813615 +838B6330FEAE536D08376E4A0FDDF58CDF5647C9F1FF3A7D1ACAD376DB3CADB6 +9459F7A5D4F1864863B79E9F93A1EDE8B99C3138D26227C01F6FE0AAC800F2E5 +94DD81CF7B1355B642CE45CB532FC5B535D66EDFFEA076C009E87406D9772D71 +848C3C53B7496A5D6B58679EF11E114C5F457C6A0D3CDE50278E4A89D5393B1C +F877CF4E2142A4D045C4AA9138105D748903BACC28FD43DFEDB341E1FCDBE2EA +D412498FBB5374D6836CFBEB13D4C2B7B9625C25B037FDA9DCC42F5679C4B3C1 +6340E341F73A9215092C0ACC505A859FA935BE5172F4F6D4A30E73914DBD5297 +7FE0CEB5CD0B92176B8174870F9FAFD22BD2ADDE02B5705B5FAFDEE372F17857 +40C1B4024C9F04375B9CF997E9D0C0F7D82465D678BB9810016E6BCC9C4374EA +6B2CC834894FDCA891643D9417369458A630FD498794823FFA55705315F0687E +7592A5DFC8B8D6FE2F3C64B4A4F9D37F5F2200BAA277F2E0BA8E5A849CB4D8F7 +C59D7605F06ECAA3A01F5180E25F1DEA34F81CDA7DD6C90BA8D0478E3ABF9F76 +58C0FE1BC6594E230018ED14DED710EB9A11F6C4355EA61D9CA083951E8C374A +4EAB8971BDCD6C396BD1C6E07313B338068845A962F0A32548FD253D1F237BE9 +1AC8C1412AA46DDA13D4C1840D75D6A94043A7DB11C57487035D4652902449AD +C7AAE657D1B0142D78D4F39E90DD6222E11320DE4D2939F427FA7058FE5E0386 +BF4560B2EFA31802BCC6804027634DE8C10ECDE7C259AFEFCADB80AA07D433DC +7DB619FA8DBD44762B287B9E9F085584A0C1BA1F128CB59BB17F975B3556E024 +F8845387ACEE0DD08394C0325AA73AF4DDD4AD8C60281BC9425D64DAFB3A2710 +78C3CD4165BBBE89E342D2A94A5CD76083C217A5443E10811DE9E45E54DABE9D +D44746617B833A165E33EBE90C99203967A6CE4219C7B6ABBA9878BD4A75006F +EC7A3969713A7B9ECE7DD01EFAA64A36B5AF8854692597C9AF0A300660AF1AF9 +23E4379A2624968AB762A960E148AE2718911B0EE896ADECAB44055924F1AB8B +88D6A95770B69EC27997889FD2E789F0967F67DAD4E94557FD3BB057F05A9399 +1F23464A92DD140642E3A7B1973849E64D1A3CF6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI6 +%!PS-AdobeFont-1.1: CMMI6 1.100 +%%CreationDate: 1996 Jul 23 07:53:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI6 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 78 /N put +dup 96 /lscript put +dup 105 /i put +dup 106 /j put +dup 108 /l put +dup 116 /t put +readonly def +/FontBBox{11 -250 1241 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DDF0342CA1080743A076089583 +6AD6FB2DC4C13F077F17789476E48402796E685107AF60A63FB0DE0266D55CF1 +8D0AD65B9342CB686E564758C96164FFA711B11C1CE8C726F3C7BB1044BBD283 +9AA4675747DF61E130A55E297CA5F0182A3F12F9085AF2F503481071724077A9 +387E27879A9649AD5F186F33500FAC8F7FA26634BDCE1221EC0ED0E359E5EA5E +6166526FEB90C30D30099FBDC1BC2F9B62EFEEC48345160804AA98F8D0AA54B7 +A480E715426651865C8E444EDB798C7E11040AF6E5A7ED1888653C6DBF5E6169 +70BCD9C063B63B561EF165BF3AF11F8E519F37C6FDA2827685739DE2C48B5ADE +EE84F067D704D4511DBFA49E166D543CFD9ECD7417055D8A827F51E087CD2927 +BAFC7E6CFBD70B0FE969F890A11149D3D44D422C3370495DA9951AEE7253A49F +3A9444C8CD9158D84117299F7F2332FEB0F94E6ED8BC7AA789A3219BC2F227D3 +3B5BC75FB53B55D72AF4A6A7BB613FA235B11BB37D059FD87127CEF73D5B3FBF +9F91ABAD78BD9240BD9525EBA78095EA0BDB25D1A19E876F292882EAD5619D46 +D20317A345D931F4FF4EAE6216C27044CBA525E3B917CEA25A04C120466C4B93 +FC720E6BA832A06CCA0A3916CEF0968D49085AEBD243C41A448289A6F05CE3F5 +79148DC112A3CC7E8FF810B8C1A09E05F496C0F1EBA334E42E05C376C98F5F69 +C06C71BFC0A2F3AC9951CFBB143C66FB84F9C4ED27DF70869352D61BD5E11508 +0797B87C74D8E22C8581255E53BBF5A60D2A2093A425A021E255B00856C47694 +056E8F0A73CD14138EACBB90E79319071145231E91DCB5E8422BEA39DB99D9CF +308838B85C4A3D8572F1B1C3F89D4D48DD8275F6D6031ABA7CF8DACE056CAF25 +570C1433215C80E5FAB7C8D351597F728FD5C2FF648B7AACEE7DA976FF79E5AE +9B9AC3D01CCF011066D60181CD6148867443D458D042E973B14EC68E18064395 +C1409FE5DFAFB6CEFD37EB8C8874BA5993D35B4BD539FF4B4A303289FF74F700 +22D13184A1E61DD2497FD54D5838E238FB498115F4B416AA4DB7871C0B5A238D +3D2E66AE5D286C6E4B2A3174BD9B5B96AD900F150CA151A42F2C65C76883EF63 +F962DA68917E4A59BB1E009161DC4F9DC7F2345BB6612020EF59A2C75D5CFCD7 +17010ED172B307EAA545228C5667D9796715F9A98C0B6AC42667D40D2A69202B +820B7E8D1CBC1287C2CCD5CA4C85460C206052D09C8535037C58D0DB11EA2C4F +23894D736BDACEF1108F6EE73120329168FF7B916B890D437D19ACE8822DBAAF +3A644B20ED314735EBEA5BC537B37123FD913DA09B7B20CFD369C65892B4E522 +D315E106E776667073BA791CEEA4853CE8F6B13D6835EE6C3E094D013BACEC8B +78B9946EE658F19542C18EC86FE493974A5356270A530B5A3A6C858120834245 +AC68A257DD74FF769EEFFEB2C95FC706F93EB79616F016241F872F1E338543AE +D8BE7FFB9E87B61AF59249045BDF3FF393B56F19E50739D1A28CFF40AC87B0A4 +5650B82EF5D30F5347EB463EDC5AA0663528820F8352A37D7D604110702D1379 +21945AFB562B1EF9E0275744930775F7AC1D245B7CDF0DB436C79F8DE147A987 +62DAA64282F84107F86221EB641A4D4DEFFD18EFD67A642D83D26B855C92BB7D +17E1CBE8CB120E6423B4B43100FAC3AB90AB59B8D3C267E8D040D46F1F253143 +A6F2C82CBCD962F07F40D7636A276DB59A5CEC5AF694B31A8E239AB788C866B4 +4F835EF5C7015EF350F445CEFA288FF84A83469FE1602E914F3FAB0ED43E6AEB +4A995583380EF8A1F74D91AE6D8CE0A42BD2B8A67DAA15B809D1DDFC58D86620 +8BB99ADE04B4176C643F6887E7B97D460F49E94B2C3A6B0AF8A3ABFCD9633C53 +9B6B55F9B68C6CF3FBFB1D8CD74573F1ABC34CDEBF02DAE85FBBA28DD33D80E8 +1DA41FD702C5846534ADDE9A1D4ED55FA5F1BAF8F2270325FAE389D5A9A212B5 +BFF18235F70347F8A0756377E52D3FE93866D58A4B0E2016A17FF6DC584FADAB +617BC85D6486E122DF147CB14DCBB037677AEBD51C2D83D64453DBDC103A9D93 +12EA8D18D5DD35DC816177C123A43322938E196EF7C076EF41843C0686CE65B6 +EF5441CE6353B0109834584C260F600C8DA3D9FBA75D261E12F40227A4C9FCE3 +9AE78D414C1FAEEEBDE84E8D2B25044819A5C175E406607F46064F07BD0B8075 +1F9530D3D4F4E1DF10F450ECA272B1A909533AD5685B565BDC208141A3B87CA9 +1BF93DEB65D4D01DF36125FC82D692D1B73AC1FF0EC5F541F659A39E5ABFA7A4 +A024FCD9DC6DF5A46A0B11F02EF6DE5AF13B056127BDAC7EA62036523F19F0D1 +BF29AF28E9744349EEB1AAD69EBD07E47787006483089435A3401D479B3CE2E2 +ADD405F2105159DF4542A467E9046D5D916B65DDCE4D071D8F64A321A16586E9 +C0E4BA2506507191B820D837AD12222F17F0F1903629B3861D3F2AFF9DE1D4A8 +084DEA13640F817F475837761E5D3DC5FACDC9F39FBC48FB7CB2B56CD4E70391 +4230711C9BF715424FBB02C48E9C465727EF89D28D23A8E424B0ED79E36674A6 +03FF938F6A462B70228EDC2EDD2FC07BA54EFE020925A10DA5FB62 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.1: CMR8 1.0 +%%CreationDate: 1991 Aug 20 16:39:40 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 48 /zero put +dup 49 /one put +dup 61 /equal put +dup 91 /bracketleft put +dup 93 /bracketright put +readonly def +/FontBBox{-36 -250 1070 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 +48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 +9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB +0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB +8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F +EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 +FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 +9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 +D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 +9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 +ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 +10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 +83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 +2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30 +4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632 +BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B +041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721 +3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762B25948ADE0C6 +5FB5E59A5E169CB7633AC83D2840106BA5AE2D3F7C49820D71F65EA74CD13077 +336F23919B54FD4168346F73C7767D4D870D037852940C5C7BCED2B78164F530 +05C26260AED7DFFE53672DAD21896126121196B6764DD92C16C7B51CBFE6843F +415E5FB1214F3EB152D430489F62EF6F1AFB0359E9612527F58E7E2646E6DC83 +FD6C9156DF9ACE936EABDFE94DF079851377E67D1B3565FCDE89490ADE425CE5 +4A73843763E20704FA6DB60C9C69BF18170F343FFDCD34A516D02CD1A50B678C +271C95C079190B0B1E678E6786E3C21432C6569A2133BCDC7E5113617E4CC150 +FF9D1A288469B30604493E64ADCAA05B53EC315E77ECE26626D2302B02BB7C7D +477DD854A95D178B156C53361C49BE7AEE25DF247E93457F5C7BE57336806255 +9850B382252B4EBBD908AF413987CC557B36D9D1274D67A3A58479B12BADEFF7 +0243DE07A7EA70AD44F12127AE604A9C22AEBC9E45EBF30BE96EDBC30C5FB15C +E15D5761F79978BF82EC0D713849A2E7A03D3DDCBA027D8EAEB0A2DED5A7BA72 +56A1ECA78CC389DC2C79A3B34222994E270725D675382D16897618021F2FBE16 +08A5EDA351904CBA0B539CAAB2757FD3BC7162F9316C318F5EBAA3C38DF2A589 +A84B89CE4C7A9150251E983314A0E4F876AA0749C26523D5DB7F5095278647A1 +DEFE3F9E8C16ADB6D8B624AA9433DC8AF01C0C8F16DB5FE49A45B83E26FDB3EE +21D9CB7E732C6197ED832D3FDE8163300D518653EFCDC971B8AF1E7FB51654F7 +08AD3E17C7E76ABDDC04FEAD33094EF2D16EBB2735B2875A215471B0FA823906 +2429A528B6598A111F2FB8609687E396A07BBBCDB12D4243320E4378FC7F932B +3EF9A7597F23E0966F9A666091B97DD1B95B6C113E22614B14F1E825C8BD7053 +90827BA813CFB2358A509877B069020D3B36D2B1F9DF4A4BC5077D1243A8EFEE +5F8DE09D69219761F06E25EDB309CD8FC3F8402272C2FDAE0AE187F3430B7ED4 +079C943F8DD28E00CD0C685FA700D1EB1C2AA2B47396C750BE3957414512584E +41D8E590B67EACF8972C0C23A1371ED2F9E65D1EDA301E6B4D89CCE3A6276B93 +0A2BE8D91A5AFD6148971B829D8FF390849229705E56F60AD2002F6123A91E23 +4E12C6729F7EDA481D91CCD763FC282B1FDA3864422662BE79E822077818BEBB +36A6422531C48A9532C5DF5E998B7D719A2B27CBBAB61DE021B2795D20B03183 +BE8E850C0092463A8251F32A11027D5DA0D99CC551E9977F93B7154F977FB842 +B99EA51A061DE4D28BC78A05A7BA79CC58AF5EDEB22DC632105A520EDF15AF93 +5AD60AEBFAA68B63D37EE452263206B156364C34DBD58E896C0FA41A80BFC257 +1D79706E91225AB66CBBED13022F7EF4B726E8BE989F253320A8009889250D15 +847CDB506F0F2F8DAFB9064CA637B2CD9C43FABBF6AE5B9C9A1A150F924DA690 +2DBE29239F0F80E40B7D8E9B2AB4008EE1DA7ABA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI8 +%!PS-AdobeFont-1.1: CMMI8 1.100 +%%CreationDate: 1996 Jul 23 07:53:54 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /Delta put +dup 11 /alpha put +dup 17 /eta put +dup 34 /epsilon put +dup 58 /period put +dup 60 /less put +dup 61 /slash put +dup 65 /A put +dup 68 /D put +dup 71 /G put +dup 78 /N put +dup 79 /O put +dup 83 /S put +dup 84 /T put +dup 96 /lscript put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 120 /x put +dup 122 /z put +readonly def +/FontBBox{-24 -250 1110 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120 +788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62 +C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32 +617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1 +D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63 +532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B +5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8 +4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6 +DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E +B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2 +A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89 +8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA +D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817 +AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04 +AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748 +A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827 +AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011 +85B385124DEB4D6B1F34D50F7D5EB409B8B352FE8465719EFA2D4E9DE8BF7082 +61FDE83F6977EC1158A1CCBEDB2A515CD1FF8BDBC440B26CF9381DFB5946BEEE +C0E5ECEA4FEAF88C0B28EF150E026F88CB356DD5AAFBD882E9F225BE41084A24 +3C1CDC0F4F3478C30FA3F4DB8CAA8889E678D4505BBEA50F7D90165D2C51376B +9E14C7D7763FBC84EF1159468BDD1BB17F9777DF9977BF038D7E4B50FF3294C0 +739F8E38761FBAD032C949EB7511B31D0233D6BA2F7D775E96212CCF0C92AA48 +2EC76E274D50E22E5FDB458694EF323B6CE12DA8B5D8A7FA49C16DAF3613E9A4 +F41A100EC900F711F8E70C1C10DF6851FB39D39809C327C7EB06621E6B88A824 +B894434B86CC0AC552304FC4D0DF6D6F0B047BECC9E6D93B2C7592A73EFF1F86 +75A36D6890378F9CA5592F200513B1108DA18070578C96FF88D7BF0D15A132AC +FBD73A689F933DEDE585700DF249A85B3B0ED2EF0D24D4BD13C67FFF1275A4C8 +2D7F71F3BA6921E7B47A02AAAFA07150D162C74EF8CD0657592A10A410BDE572 +61CE2D9ABF6D058F7D3305BA6E7EF6161756F21759B14A1AC99EC3E3B6AB8B36 +D0F6BA680BC042E2E1AB5869AF8C552C3557DDC333CFB59CFE43541D745BCD48 +B0CDA26507EED6AF1A35E71D3E16967EB570A6CE207749D248AB652165B5E70C +9D26FDE46EA0347FEE3643123678D1D2AFA8FEE4533815C2F3BCE21CB78F4083 +0993641EEF9DBB1E0658A95A0F42037BD0506427E4414CC7D811224665CBF9C8 +F4B29B44647E3AD66439C25334A5217D7709A1BDA7474D1C567E3D0BEE852B19 +E9DC7E66C3EC495AC6EF25726EAA24AAF9AF7BB95DA02F7ED0E669DBBC8B9926 +3D5C8328F32CC88813036474C1E2F4B7AAEE76322A3094DC370401A57982A96C +437A84BBAA11F977E95F322A966660E07677A51C51BBBCF9EF7DAE75C97C3262 +268236A3659F8AF9A6E4DF779C46E5E1CBC924AA7F141D2DD05EC0CB59C031BB +1AA17312C106CE96A98B380539F33B8FB0DB2C18755E8DDEDE1E81C379617CC0 +4C37E0176E4D58D4AE1BF44BDA60AEC65F60FE53D7139652FF32189F7A7D25E1 +C47724D2412A38615F474CB5325B6DD895DD288428A8D4367AD95DC78C793012 +83C4AF263D7D1E27645BDF385F04656BBEEFBD37803A78CAE1231090FBA9C4FA +56A5C982C4F8B0A465D04755D8A7AFFA5742246117C4980D5E5C82AF4E048EC9 +2B4475D9C4A5E227F5DBD455348CDCAE2E7F81488888450C119E109D56A1DA79 +EF3E7E597B2452066F5F2EBC990385A6ECFF6EA5F7EB296B29DF5D4AE910B1D1 +57D79D08563EAED8E4CA4AAC63DF9F39A8EF847DAE907EE7243458A85ABC8272 +B0F1AC84771FB7B91253087ECFA926422A617151BD151A51758F5DF75E8EA741 +D627B88BD1361EB4BE45D953A8BD16B867635CFB0E12FB15B75C74D3A80CE7C0 +D61EFE791A739FBD4F805C65FB9DEDAA565F9BEC532DD6D6F183C9CDE98C5336 +906B6B2AF16FA97DD86ABF717730256ADA02E5382B4BAEE4974FCF8ABF036104 +98317399988351C31BDE41041AA2CE812E00F53E8DF1A3F0C1EB1528775483A7 +45FE24F342FDA2BF28A1A3C6737DE401FAC0BFE1B750B7003257A986E042D0D9 +3645AF133B37F911AEBF129BD145021C152E5D917CAA9F88F9CC51DAD187C81C +70583F40C0C57F64CE962678FA90D5BB81B1E4E90408782CE91D6DEAAE0FE613 +5B2FB368D08A1789B2085707FA9375B8269F93F439D42A27E1E94001F909C84B +53E0272A33BB5A2E1BF3E187E63052B059CBFEDBE7AA5D6D48246599D2268696 +02E8A82CBF6CB0B585CAC1622D235DF86834CBE0E190C9535619D7482B62E619 +034DB94648887C3007EF57C7A68E49305EC8F58D8AB7E1E2BC573637721CCB78 +1BF76E9F862A601B580983FD871DB404A0522F52120F3BD5367584EF9FCA4356 +6C4FFE64A16D9CD1F00993093ED704CEDB634C9124A45E6A10D00AAE5A0AC001 +FD37F8C36A35883BBDE158500B1849CF212E0F72C8970E85648655473D6B4F55 +16985CE30AC296207A5A511967594F615F9D32AABF0A3B7797333A4A19C77741 +CF62EA9F2DF6D8BBB752D0A26A3BEB369CBF0C05E5EFE9433B4624CF253C861E +8A0953715BC98682A2BF8D1136CFA154F5981766D446967E56FF20B7ABC94DCD +78BDE591E643AB0CEED992481D9E076859724F0AD5DD3C9817EBD91E72B2F374 +F6A0A5A566FE3E28E07CF917CA555E7D776B8418A63AAC49D1BB1238D4CE636E +46924BB61FD4C5893CA1A059C45BD63294322664C4A7ECC8A8176835499BD3D3 +9341756A605B6DB6A1E5696CCC6B2A8481AD55CA78E4260E9C2DD9B9C2D5CF30 +76C29A190122A03E33FC2BB55C4DEDEECC3BDDF9CF72F9962AC38A591552CBC5 +14A7110F549C51B986210F29F13E7C927D250C7225629DB853BB3E491671A8E5 +B247C64323751F4F1BA2186C33A27F01EDE9AF9A8056AF34C3D3ABC7B158680D +DD97B7C1A55023B76C8E38984901BE10C3D54EE69CD351929DE0FE58A96D37D9 +FBD6E83D5957B23047FBB5DC2B0C5BFED753593CD1880F6AAB2258ED12392172 +28F88CCB84CCE3BAFC522E804E173A632D2ED19082911AB7D83847CE47D28F39 +68A891C0CC402C218D468B8C950232766426DB756ABDD1ECE9673E3084098F0B +E9710C8D4F0C39ECAE014C26D0A6868ADC42567CC8E5535A219B5CA0897C3055 +955D275E62ABB02032797E1A5164EE3092E276C76CFBAE6E4C1FFE5B69E0C1FD +AF52070189C95AA58751AE0829474BD8CA30A84E8639B3ECA2796336E2675D0F +2C714CB160AB18E87699B4C415A5E52AED38C69033C224909BA810E9EA99AC38 +186F5F79DD33DEE3C1A869717D4192B300DD5225DAA2DE488C1942EF1A786A08 +C6030CE7857B8F00A9D4AB5EE74557E41D989C38AB24B8494422B24A542632C9 +020A9B791AC8685FC9302FAB1AB954E08A674C1A666EB205E0986C92624944D1 +4F9C5EF98E3B190567B052680D4E2E334F0B1E33C29AFE2B46635E53016DF72D +4C47FC64B537EE981AA393BDAA508691E722F54CD2CEC741DF3560D946307339 +735CE54BC208DF14EFA0C2893F3EFC2895BB3C13561395105C2788E6E761BEE4 +11F121F7925BC54D24C5DF01BB1A9BFEF0D2F584FCE6C5B1DDA96CBCD6452F0E +8E8F511902C1283E5C4B7C6FAA9F0AEBE354A66568CEBDD700F381A12A505D94 +53B20D7AF9286EC3582E88B63E8CE762416645685952E67108087652EA89630A +1A8FF796EF05E69542880DD08249A3435B5F6605701BE14707B07194E515A8EE +A149501D09B5228DF8F5C97A7CEDA9D7D1DD1C7E41FDF5085B7918491945DD35 +9E2B44A650787830A428C04FC8C671D62E02541B90638D3AC28BB66CA4D5E510 +CE730116B309FC55977381F62418F59D4E6141E61AFE3BB8FA1F1D240B3C58FF +5FB005EC900D263A2AF8E42647847365A6BF631B75423440E13476E1E39634DE +A9B65D56F3F68A982DDDE729E25B4B4082543A53E9C3B61F6A715D2BFBE23BF4 +98067E6BC7DAA10E96378A277FF0A71D071E6D7F8B9458995F076B80E611D853 +44A260855913B9476B8E7E43478454F445C1677AF4A8B8C6B0058409E1BA87C6 +CF667DA020E6ABBE3405CB0EC3F4AB459C09B8E7525FBA6D6D10BB834D1AB0B0 +89791AD48003593F6D902E8D77A1058B83057B68D66B3A234B8965B3A60FD635 +238D489EC23FA5EEB227639471F60B6051C534D422EE1190C1A693775A0D787D +BD21CBE83583D763298963D3CE94415AF1714F6F29A02300EDC7A895FCDE7F26 +3C3DE15A458C4AB9E4615B2B8BB96F0F53BFC6D2E5A0B08AA999462C027BB2F8 +B8BC46E0760629FF73E22391C5474903173B74DB8816D257489D621CFF393851 +D97FDBB149CD9BABE3BA5A0632B2378F2C3592E191B7CCDADE93051AB5231E47 +A31C43F4CF1801119E5096674034D35ED633C0C6B610E64C4A5FCE3F1DC089A4 +7FF7976D0DA25B1E4FF2D795AD65B4528B22FFE988CB8BFDFBC4E106E033D9CD +01C237B77BECC20600DF62EC3FC24F1EFA9E46BD58FF89CE18DBFA3390AFEFA0 +7E7DA969EEEE8FB06C2CA7D4A8A76B6F2949C8AA1D836FEFC90004FE60EE9FBA +71B386E7BE583D7E94DAD0456A6E29FB02BF7C8CFE2280724D8CBE7717A196A1 +952E98F1FF1403E54EF15B170CECB73B5384553C942B1AD19C38386192908303 +F8862C8257E363C74295F2DA8D9462828BF44B538ECE359275952AF8C4B271C3 +41664F30CCBE4B86FBFA34BD0798F5B56D79A57D41D106F33DBFF6C3688F3532 +87C3B0E18E8F483BA0B731EFAD2557998A4AA930EB37DAD917B1DC6E8337589A +FBCA67E3888B9AFFE84768F3FD1AE4466C234FE0FFDAFB26768506C1C4EA66B1 +E588071C99507FC2854DF103F017F4548F324BC39FC56160669134FA285E3F4A +9C7927920591986172F8F6045293379F7A82C4B016EAD9A52CBEB4A4D237388A +38FC689CF4EA6E68DA7A897E064CBEBC58106901FD6307E7A08A24F86A8C4931 +42562B433EF42B33D49A7725943091388D19AA7FE9E9D73A998040C9EB80FBF0 +1E0AE084A8DE7A846B13C34990CDEDEEAC89BBFE4E4654738383F5C4444A300C +172463FB7AEF5F5E1D740CB94E7E4396301A664E9EC313AE80B362BE4E7276F3 +E419985D865B45FE4A2FAC68F136E31DE139B398A817D0028767DB9BB912E8CB +F17F2E613B1F4C29CBDF3D01E9C7DD0B3E614C2183E8D397ABC27FD8A30200CE +5F75C90B2BE229A977EE30A60934CB84FC9396E4B6E7258D30EA5D1102F2B135 +C162E0B53FAD3FA1B055B20079E876499B4C79472BAA9BCDB8854FBDCC5AACDA +541B48B4AA9B3C45E07915B533A9DE18E6E53076B8561C7EE5F972C497D920BB +895E5C479ACA25EF9AFA47DCBA728FE6DF454390F08F65793777D43209A40E9D +39C7FC5EF0F09F28E7B0BFC8EB7E98038C2D93312C92ABA07C0CAACDF9C3CBFF +8A639E1189922A07FD8683BDFBA46DC719C9B78D1B53D70DF71786B3F29C07D0 +CCA7BB2EA9C7EBB96C1B31D3D3E5A96BC820DA605BA0A0CB530D93CAD69A345F +FF12A2BF51BBB101CF97033170E8DB495003A4274961ABE7BD138BE64CA62A9D +896FB8CC251D83921407F9211034203EDA31BAD0C5EA6CB45F25BDE4B19F2CB4 +7F2FE03592618DC8C7FA2305D5E8758A253BC865CFDC016E53982F2A4326F238 +02B7C2192F1D6CF4DFECB58F80F3A0B6AE680AF3335400B2136807E65D3C7B53 +1C266BC362DE6DAAFF6906A3130862C42452F32FC15E7B2E9ABC83EE7EDA26B6 +C4AA07C193872AF319BF57D30AC4FF5F25780624988F4FFFD20C7A0F4FBC789B +1590B1A36A8C021A431514A70DAC9F851FC389037B7989CC888107E926B7D0F7 +F0B88966CEDF5F4047B50498B00646B5F32D06D5765C228F59823BA8FA0EB86A +D6FDBB721E4C833911997A9875B0E9BB2E4FE7A7A1B7BF3B72D3B7220815291E +53E940DA8F80D64499D7A9BEA074C340BE27662440DEBBE611262AC10070E863 +888C4C51FDCE8CEC5AE7BB1B96E5E7B9497AB373AF48E1DC314A87DD87BD557C +65169EEF650ED153837FFA95D1F6C1ABFCF7144B55A5E7C6F3FD1D44C1D9CF7C +83ACA2FB215D5450077B6B96C338FFFBAC412663BFBF7BFEA81544EC9549890F +C9402560DA9668F039E6E1C0C77F3EF7B94CC399D50133983A2122C3ECBA4296 +E59B2614DC9230F3038B87FFD840FC4AEAF5D667A368B23005A7A29DCDE64B09 +2B3BB141CCF2DDAF403E7520E2C48683220874F2DE004E5AB8E19C38568CD8EF +F167D6146C431925708D5C4F5ED0E1937116ACB0C9D71DAD38AFB5311E860164 +250C36A35ADFF20560DA6251A44EF9093FE2DF6A83ACD133C85018FEA16C773E +0464676D6201EBC569999660E31B19F206A55A2E1BA58916ADC9BF3E2A4901F5 +730DDE11FC0CC507F37FFAB91546883DACA773AC7D6166C500475F0A16913451 +562E017457240A7FED196976AB5E52765A0665E2F2CE684E3587BB3AFC6A7956 +1B73B0DDB1C07788E46D80277852231F860A24C0ED35E29E876F8CF53099652D +C07F2C42D649A0B3F5020CB957F7AC51D5BEC5BE635B088C5CA087FC6BB67DD4 +A467B84DA1F2718D3FA227AB78C0D79637840F8F97CED4C7F32FE339C1150398 +FAF9B68C35022F3C249E0890076885BC87BFE10226F683083E37F1CEA64D6480 +FB264E650E9B2D522D5B59AF605B41EA9C42FB881D5147DCEF50764F72BF8F59 +747395B9E75CFBEF903CBD782E05FD7F884B6DDC766CA672548663C76AC5890C +B026A37D6FA5C19C09D6601F974F93F75AFF6973932A244F361219EAF6E9AA5D +D7877341D4F6528E7B20D6DA3C5602D65B1AA5378981C82512263040FCE9354A +49ACA47BDFFC378691FAC77C5211FDF38527DECF8CCA0BF495DF8F85CF01E45A +0FC222543713B1FE6EE92259FF0EF12102B992A4A0EE7AEDD62951F25E5364BF +0870F18EFB3285B8AE8EBD98B071204E1E082B5B1993EEBD5F766ECA63019A90 +A4C0E5CE7E0BE885EF60FBE4C394033E1D006723C1D29185ADBA5A75686C5369 +800AB33608085BDE89F56223D3759A0797C58B89D2A0CBD8F54AFE00A6CA100A +B75DF2D752062BE41D098F161D077947CCA269DD6136AC9D7C9B53D9A0170CC1 +C19AE4F5AF20C19422E5C369834AAF46FFC5D1923F87E72F1FAE11D5C3845910 +358CBF4F9DFC1FDF05652D0B6E793EE3D7A44EEBA66E3F31622F4808EC3EB566 +A3F7353E28EFDBD33CB1D216173DF8EEA67D359B4B4BE6BBE73033225169070A +C52AD4E5884F2A4FADE805F8F9486AC5587126DDDD97AD67988411581FD6F90F +D52093704830DD2A32D10A55A16C7077F75297B54A6F5B45ED00FCF6568C69C1 +8794092075F5FEAF7001A922EB8FB402C92123DE83C0B8A475E59B72B9A8C2D6 +FFB67CF6E8F024E1E3FCFE82FFABE1A647520FAE583E1C52F5A274C0EBDEC561 +5A1171860904C3421705E34625D8ECBC5C2F8AD749D10DC1806432684EA42393 +44519507F197FF613A73A52EFD91CBBADF8CC32B6600B5E6ACB0FB846D4CBA88 +DA22206547A1A9B13F3320C5655FC667403578D9280663927A02161D8443FA04 +C70A5A896059C768C28E20C8EEFDADA3E76702561A9230D1C1E69CF94038E553 +0FC7E0561642AAF4256B046E4374ACA1B16D562FEC56BEBA816143E09240871C +FFD679092317AA21AF966ED44F17CFFB4257FE203DD3C5A4D6CC254FB8C2B717 +04A149C9F2CE9F198DBED7E561DD919C338EFA0EAD9FE1166A632EBC501BDB34 +6377843EF9565DAB972AD2725288C93040D744889A8D4E27DABF0382ABDCDBB0 +2510D2B11528FD212144E9D7ADD2B9D65FA756E85BAC941AAB5D53F918DC79A7 +FFDE5D672EFD8A0B7809195D07CBCAFE6FA24B65AD7A9E7FCED615C25BF5E108 +C8210F1E12FE4BD0843B54F1012829FFCDA2DAC69B000131EE7E9C74B7E28FD1 +C60669D8267EAAC1D56E8299E1A8F9B4B5198C3846C0169C755E3643DFB82395 +9724AFFAC477E7C09CBC250D30F3F21925EBDFCF7EE42C161AEB80A0F514760A +B701ADFD69884918E1FD6CF7ED8E3F792BC15368B489D5F035260C8EB7F6BCD5 +C4C109033511C0C4947638850C9BFC7324AFCE8DE070474994BB8CA2B6A338D2 +FF460D87A0CC4DB329A20DA6DC5E1EE2DADDE2FF5EAD1ED91DE06F8F191EF64F +11B3AEC998E8EB50D126F925725805C45FB8D7EDBFB71645825F002798544976 +9843D1F4ED7B50B612DA6564430B61D1786D953889D3B4EFB89527A0B093EA5F +8A30E37DCE4240175F219C11A631F98C1645D893702EE8B51A105A2E0B900D42 +AB92437BD48CAE277511B1898615F47B652767879CFC2083A864B80C9898272B +C01925BD9E33CF8C41BB6C59912AE10069EF2940E846992642566945D6DBD9C5 +B85F29C1A672D11C7F77BE160025541BEB5FDC1212AEE60C2D6A0B8C6F299B36 +83AD09EFA04DED58D91C2D328CDF07A6AC2E88D366D9807D563C34B4293E818F +2A31AD8968FC8BB54893419BAF7FC1A75F0BFB4EBBFD9A46043A08A2357448A0 +6C2CB8444007CC6C378E8C5588365416F7460E55B883008075DF4C372D181846 +4C26784A7FC303B0B42F530FC95A3798E8F9BDEA8F0E293FE68BB4DF05DA1E6E +3E71A7F9153169D8D60DA76943FDF883D1773FC4B8534DA48C2C323E01C2F21A +5218306512AC6AA9CD1C3BB69E01152ADE10DB2DFDD1AFB56E679528D5762FDB +675D0DEF2E1E0038BB3AA0635275ED545E0DF79C443AC5D79545CBF9BCBAA450 +FE1331B15C5219EB9A231D22FE70DBC4AA81AF78226278E5237F068F9BEC8CD7 +8BE2DC4CBE545AA4AD3C9D137E4C7E0DF51065C384073D1514F538B492DCF523 +7E4BE3BB43A91FE2BA52C5CD6539ACAD6DA763138FD31584534C1F538BA52244 +4677BB8D0CD30A1D1846CED8C6FBB8599C3E05596AEB76E06F28F0FC1841BDED +9B947CAC264C74E4B360E2D71557A70C4A3D74F47C9BC00A489795BA41621314 +C8C1F723632B9C84F6BB98A2EE3BD8FBB677F139DBD0B3A70818D90574E01857 +1008DA0D1BE1D0E5A92EE82F28 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI5 +%!PS-AdobeFont-1.1: CMMI5 1.100 +%%CreationDate: 1996 Aug 02 08:21:10 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI5 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 66 /B put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 116 /t put +readonly def +/FontBBox{37 -250 1349 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA06DA87FC7163A5A2A756A598FAB07633 +89DE8BB201D5DB4627484A80A431B6AFDBBBF23D4157D4AFE17E6B1C853DD417 +25F84CD55402AB88AB7EEFDEDBF2C2C731BD25567C53B474CCF739188A930039 +098A197F9C4BE7594D79442B2C8A67447DE44698321145D7689B91EF235EA80E +B600AA8E238064F154284096C4C2554EFE8DDF13AFF8D3CE30E0999375C0FEE6 +F992DEA5FC3897E2CC8B7A90238E61E41622DE80F438DD994C73275CC52249D9 +F6686F87F394FB7BB668138B210BEC9E46415A1B58C990B81E7D7DD301143517 +4C2A259D2A0A1E200F8101469C10D7D537B0D4D39296A9AB3F132DA9A3B459B0 +F850E2B3A03BDCB35AEF82285D19C38F474FB414F8EC971B994D1C7DD753B271 +2B71549DF497C665DF0F266988209D9EB616E4D9BA229FF984E7A886DB01FD21 +48ED2E4859FD6416C2CE52537464EA884C8C9C2D1083E2B83BE4B766474C23B6 +6E8EC5003200AB10514BB44D14CA700416AB6B2683E80862E7D5B49A05526A32 +554BB23AB8B0824BBA198E3825CE82380CC0FECF46651E3E5D77F09465E73164 +20342822F29572BC7F73F2C3BF95ED3BB6FDEADC20C6AC866C4F2C679594D7E8 +8D944704A3C5D771DC39503BECAB89F34D8CDB8FDB91AFE21F3F0260D05E90C5 +73E2C13DFA022C4522E5918EE25038A0498FBB530DA33B0AE238B1C6ED03FC04 +2BFED8236E07820C5BAB411EAE1B31D93A2FA7C374B1725FEC359ABCB88E2C89 +214529A263D795AACB0B95A3AB2F4E08EF350C282CE521716DBB06E5B8291B3F +5D4ACA230FA192F64BC902A4C8842C0F916F92FBD002ADD408BF0401D0284FBB +F05D4C6DB631420747CC902C5E1617E6573612FB26C8378DF41FFB5048D3CF06 +4893DBA48EF4B043D760F60C75712169D16C83EE020C45369E443E853E1809DD +F395B812067D6FDBD26111B34F42C21036AF952D0D767FD17F6959D9FDD46005 +D64FFF54772B50BB9B173AE79702981F58F9F235C591F476A31852174DF0619C +A470359153DC32610E782B204E7945515464DACE9099B81EEECC7EBD4B5126AF +C3FD9DDFB329AF1C95C41FA4A5F6958869509A23BD7210386329771FA46FF926 +0E54AC35106253EE140449425A8670E1F92B178A02A58EB57540F4BD8110E548 +BB584EA6D625C5F5FE0124A98E49915F1A1B95D2125874360EED1C4379FEF3C6 +90E5780C20309F11F2F23FAD635C44BA030B39EFF083A3ECCDD2641DC6515508 +CAC76EE7A83AE31B88BECAAC4DF67DB37FB506FB665E5586B8315128A8B532E9 +631B84F6DDAAE8DD2ABF50F23D1F9DDA1BC3E65F0466E1A5AA0743F1B21899AE +D3D2895AF7BCCA9E9F6A258BDD1152CBFDC36F902C267516CF782DACD4438AF8 +E8CA7F71FE3FC27D0CCACACADA2FDA80392A06FAD08DDEDDB7A237184FA4915E +5191A3D04C42AC147539E7F37AA221AD62CBABD71AA8DC30254E3B6ED43CCFAF +50D174C8DB7C36B9643B6BCA099D4122EA54AD284A0C8613C49C6594E66480C1 +4B91C48AF2D40BAF0EFD85A70A64CB2DDAB68EA8F88D8C7285453860CD23461A +C5C3F5961D7F7162E95ABDD4D546235A1AF6A6ED5BBE1243A5ED98A5CA5BEC91 +57EAB9AFDCD5202F89DE05F7EB6483471D75107F5FEF0E45FDA1559AD189DB74 +571629E9C030649B1EEED5B2E86CDB4417D7235A884DD3EECF10186D957F5C3A +81D30D943279D57D16903327E97068135D38EFABECBE94F809D445F0E0545816 +A18BC115F7A64EEEC3794AFF9A157656335809FD29EAEB542849850339C6F35E +D5FE9CD245D1442374A6935B243AFCFC2AD9DF644B3E81A1CB4B722D28DD9F84 +8923E66747372FCEFD9434EE70A56AA7319D265F11F3DDDFE26C09C6DBC173BA +0081877F1FF971D88A82957EEA0A1C148C5D30C2D198CCD3EADE24B13A88E80F +175989686F229A0AB178C56A3E4F366C8F477BFACFA31DACF45D7D103619533F +635BFA06086F524FA336975CD2A3CC2A4EE2785C33076818AA5E43A32482FF36 +56E379E29F9CDF2474CA767DF1DE565A9AEC334BD9A36CFB8948FF562743E754 +EE4882484D95C172E3616FD5182EEA9429950E42EA4F68869683A241E519B4E4 +807E81E3CAA3C95B93B7803ED305D6D1A9A28B4B301B48B80FF5359CE17185D3 +6E05B53184E11A35043EF3A4796678E7D59BE814A00A18F0049823596D633B3D +66203FA6FD99E1DEC46B9D70BE3937B8BFBEC01685DE6E02CDCD4DAAA1A05094 +18A4DC9F485EF81D115D84B9EB52DEC444846E74AD6728EA2D9B2F9279B2E895 +4895C766FA93F5EF158B626924A09E3E3C2FBFB18BD84B9749BBEABCA998DABF +D58C29932B3527951FC532C50BEF4138D61115E7BF68EB0EFFE8283528DA50FF +BBEA958CDD234CEE8DEB93D19C1B7558FA666793BC740E63C854EE0BF4006EAC +E1272AB51A29F48298231CCD993F3A9E7C2381569C05158CE8C6C2215B06DD71 +2BC92BD131C295D07247A8F3DE1601E643796CD4B02ABF1EB4E564DE04A5879E +F08A1A5F4365DB385B8CEA3CF370871004CFACC8AF566A132322993D94F25792 +9AFC825E36D844DB342CFD005362F93B1BD9B31168F5CCE14C444867A359D639 +E43D4DA9D1498A206AE3415BCE1EBC0038948AF13553FCC31F414C893C964D46 +7D0D7EFD74FE03A81E158D280B088CFCA5B4451372B94929BFBA8E3504484801 +E7CBAEB4AC66063F65D1D5EDBE0692CFFF1F8232B3615E053A495D713EC85880 +065A716E462EC14E376065C1120B6C7A48A8C7E3FD11C341487ECEBB85CAAF05 +4754C2D09E5EA75AE9CBB5F414BE32D51BB091BF9D40AC361987FF11BE8791CD +3E95A3A1A6D1351BF4323D4407C9F87E459ED2E28CC71BE19F2F2E3F0F4176E5 +85109BB1EC7FD61825676CDBBAC21DA2EF414DCC72BBA0116B921847C7B13A1F +1DFCFB7F8DCBDE9AE55CE72D9A7A0BE621941AAEE8C2466B7E8297D54344A182 +DFF7DB01109CC60ECF88E5989357961B00CCDFB24C250238C75B2E2EFC532966 +03F06108A3CB2D246C778ED471ECDA9AA2625EA5E9D5F70DC503EB69BDE1A4D9 +1E6C06DC3F7630025E04CF60BF5A223E69DDF30A3307AC793D8EDA179DDA784D +F7DE6D478495B7190EC3D3F4DB9DEB3FF5EAF358428AB6F8CBAEF89FE57F5436 +E9FED8E2D85D77D75361C3948D0C41FCAE0FAEAF98A2B81777DEA0059E8885BB +51D455531194F7A99D76C2FFF45FF61CB56E30E5D09A772D226F7A469D16D440 +752172F70A007707774BF8F93A250FC2D037BA2B93BA58EE3AFD016EBCBC1A76 +31C610B5A3F87E5D8BA87BEF7A90093632772B9D3AD65E10277A969D868B0504 +3AC8EBE553C2AEDCC76EC434A4750CFCB5EA797ABD6EA35FBBE957BBD438C367 +E3C887E010D7C7DD611F866A91A745BFA24559A69FC32FEB42D3584508B577DE +45F4DC5DAE055910E7720827043A7B9E9356A5370EEF0F485CC1B1558ACE7F15 +4ADD5CB3F0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY7 +%!PS-AdobeFont-1.1: CMSY7 1.0 +%%CreationDate: 1991 Aug 15 07:21:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 3 /asteriskmath put +dup 20 /lessequal put +dup 33 /arrowright put +dup 48 /prime put +dup 49 /infinity put +dup 50 /element put +dup 54 /negationslash put +readonly def +/FontBBox{-15 -951 1252 782}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D251491EBF65A98C9FE2B1CF8D725A70281949 +8F4AFFE638BBA6B12386C7F32BA350D62EA218D5B24EE612C2C20F43CD3BFD0D +F02B185B692D7B27BEC7290EEFDCF92F95DDEB507068DE0B0B0351E3ECB8E443 +E611BE0A41A1F8C89C3BC16B352C3443AB6F665EAC5E0CC4229DECFC58E15765 +424C919C273E7FA240BE7B2E951AB789D127625BBCB7033E005050EB2E12B1C8 +E5F3AD1F44A71957AD2CC53D917BFD09235601155886EE36D0C3DD6E7AA2EF9C +C402C77FF1549E609A711FC3C211E64E8F263D60A57E9F2B47E3480B978AAF63 +868AEA25DA3D5413467B76D2F02F8097D2841598387C588CB084A0351E1B0134 +ACDAF9FF07D2ADCD8915FB8792BD7F250469A256B05DED7089E2D994E72C1877 +5619AC07A1EF0EC47C91002DFEF22111173232C13CBDC15B370BEF2F39E24CAA +8BDE80F48411B56D37603BBA5A934F8F24EE7B7D2310D38F128E141775ED4CD8 +D4E13F205D5F5E173E6755D013884306F3AE2D2A85A3A1F2161FAD28954AB8E9 +2B830051DA7BEBAE46C04D2FEDF469B94B3AAD91F66D22A983FCFDEDF23EE52C +FDD3450DA0A26EEA38087A0B4EBCD3BD49D9E3001E7054184D063F80A3E86115 +A80FDAB9B533FBBA55E33B9DDF7846045765A0B0F448620D4E14A86338BE1721 +A6A730BE29A3619F62E42CCFD42944240C866F8A085D8C6716E1C0D5DC45BD1A +5D9DC1AB368C9B65E1C6133EC3393388EB9EC8A5815F6C41A4383FFE387C7CC0 +A2DFE557E8D04AFD894B739E11273D5AC4DB522C308C1F73056EA1407D751447 +B900ED64FEDCF3E58944F17DCE2D10B3CD6038BC2D539925E9333CABF11093F1 +81AFCAC45B0EFD3983A3DB4FAA2FC3589A8C165865F428E0C8047E97D500717F +2A1EF7025058B8B1602406B1DB450D8AB78AC7DBA98D808F10CB3121DADDB69D +506A9B93F58F8D6713940203F7E85CD4FF76871ECE63ADE5EEE921C780289FB7 +0CAE047A107086881CF9850EC905C6FB2621EEC100F307221D630EFE84D8A853 +56DD483778DEF21C1FEAB944167FDCE9538E7B1E7CEF76FD3CE6C9EF0F7855E2 +AFC37EC5BA807C09F30D04889CCE201BEDCE98528D22A4CA16E352506AD9D75D +B862FBCAAAB49642A5E2BA4380C9297E365AFB455EF374D30A5590C57B51158C +6F3071C88709D217492A55D2539E779E49118513C040BAB6C8E1F37661310092 +872B490036997C82B6CC4A351F302F3B79BC2EE171D11FAF3A652A2964447CC4 +DF75F246C26B1D6FB57AD8231CA9469A13C7B3B88CD390AC3870C8729FF8656F +6A90EA7C56B7EC46C12C8143B033816551B11CC6E4FE1610AD25B9EFABB6AB33 +DA7F511392D04AB04916460E56571DD126DF2A3614DCA88649901C9F49409803 +B045ED6F6418690731513C3FBCCF489E425419D0FB7688D196F55E0B8A04EBA7 +E23C81DBFA11B5BF5BD50E9EA667617F48AC06BB489822757701D21D7D2A1543 +33DA57EA644495AE33A2D66ADFBECD09C34C64F24B815CB95794572428BA1F88 +F1D43BCF0ECBE5608B5A7F9AF0079B16B61E62B2F05555592F74DDAC84D5D8EC +09B8373720E1E417FBCE77AABC5C0256373412B783CA4A8A4CF2FB1B9989A634 +7C9BBC0D619BC23A8D7E8F2AD2BF3646877D2E2F9A257D73C4840D66306B3F4F +D57E0C27A16A10578AED727585F95A0EDE1E85FA87B0A9A2F925133BA6E25192 +0CB7F5033662D2077F18555C6727148EECDF9EC178800492EB5CCB1DAE9A19B5 +C687C1F036E5F2EB4E1D1C351E1E5DBAEB2131952CA2041D37BC52FA89C4E607 +C6649306D6D9E16384AB81B8FD70E60947653FEBC748A393ABB5250DDC1A0691 +F4D8D5E31BB46BB83596E833078EA834FAFF38642B9C34D029F33AEC3A803F27 +9EF8F6A110392CE635C798055E3FF9774353C910B7E05D7EB2A5FC72F34CA41D +FDABDBF0F8D39213E4CDF0E1A27895776C63E846578D5833F64A98A6E393CC9B +E45DF220E08C4DDF8AAE0C29059D8FBED3F9BD9A56C7706E68B964BB15678E2F +F54143F27BA422E8F4F18ACA984AF4AB59 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR7 +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 61 /equal put +readonly def +/FontBBox{-27 -250 1122 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D +E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8 +47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C +8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4 +78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486 +1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E +01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B +C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0 +F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30 +8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF +A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7 +455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2 +9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105 +EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B +52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97 +563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F +0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB +7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1 +0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4 +1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4EA1CA80B6FD +7B4D795B4D2972F034BCCD77C8250AEAB2F838CC94C02F44AF24FF8985D8E5C3 +1C4D9038E24E06639E7B418ECBD7C1CBE3A728B738BDF28E70B34B6CC2143A0A +8EA5B2B33E03466833125AEFA21A833A326E54BA79822671B7FAB4DB3151BCD3 +5261150E52DCEE3C246CFCCB96A60B10DEE13ABE610E8B4B96A2671A33FDE074 +0BB1861F736BC34EDD3433C1091FBC16178A83BE62E6ECFEA1EA4B36A5B82B76 +5FB811D821B0A08C103FFA9CDBE09C58FCFF079E9C1681476AF4ABFFBFA9210C +2EC2F945B707B7C1658D178DA98C7707EA3DE9A1078CAEB7715159374B8A1128 +0620C487536E94D66A30E6245ED6DB6C5A84F7952A687D7508F97D30188B3432 +863470387A95130623BED34B2D59F41E6ACF425C94F7470FC8474E0DB9AD7314 +B14D02DE228904FC9A52F1612686DD679117D58E6639C3B40811268103087DB2 +92C2CF28E40D046F577E702E170E2988B15DD8D7C3EB2381ABDF95D7961CC893 +0FCF2848C99E523A5F987C85C75CF91F1CF4C552E4D2CD4B7B4B791882C836CA +9D2FB3C287B2D4A787BD0C7EF3D969428B4C3C067EB3790A0C2CF595DAC4C72F +41D784FABDA7222433F68B4F67FA8EFCD85F2D4EDB8428BE84D7B59424ECE816 +04132C33DF3E7BB02158E40F5DD46FCA7B63CA552C22A875B75E8AE742B41666 +A6D699419F870C22B198F64E10D143B513CCEE72AF316EA4732F9669952774B0 +09C61679DC5B4762250491A19B9695C5B5AF1919C49610A012E71DF031E4C284 +B0182AFEE29029F385FFB67AA2D95228A311FFABB491E58518C4F1729825073C +D204253248D2CD6686A4114A7FCC5D9A7496D8BB33C7ADD89C8877E761C43480 +5CDC4BBB62BA0360F8453B4A4B4351065717B913B6981727EDF090E100B64F67 +1BD18215DDABED31BAEEDE0432E958E56C783C89605120C70B51AE417105251B +363163CDD890D9171BADC12A6856B4FE10050CD5E91043BD7723A3B8B82B053C +6BE9D3797477D7A83FA010091C220EC9EDAE1DA21EC1A4F857ABCE61E3C6993E +26C9ABF398E57B8432264335EAB57490C56CA0A1B2393FFE835D389500F8043F +9A384021798E7982C3110E23B2A08F41BC23964CD3992E8B50AA8B62B9900FFC +58F70D1A10D7CA081C0B3AE770FB679BC2D93B808168B6FE4C6F392B14054D2D +6906D1BEA5CB0964794B6ECCFE2876A7334A0AE979CF41CD5482BADBFDA7A2B0 +50C279CD6313B5C1806AB9BE343C51FB1DCF0E4576BFE6C493CB34C66A375FA1 +E375C01DE69AD695B5D399243546430814E703944559941F68D1D16964236930 +E5F22431328529287E00E4B4DE6887E22391F8EB9988EF7E3009DF95081E9DB6 +1520C8F7733A34E669EC2B2155B255DBC003A161BAE9C5C1DEA06F922453EF51 +23582312F722BCCCB051BABD67F035A6B3E5F7824BC6B3E7BEBE33DB4388EB78 +FBBEE6D782DF21F0925C09D901CDAB59E679879A01FEB7457BF32AD64A034B3E +5D759BC9FC9EB8D30B898D80472887A29578C96A35D37969ADEDBF51EE70667C +3EEC44A9E5CCE99859E51374A25878C0C3DDA644C0E99EEA7BFC2DC11F76B675 +813B0EED5892C8F88A10754E7EB0DCB4F5B5A11E88929A5CF0F65A1C047FBE10 +8AA1FFB7CF0B900165EACC9158A9C898290B98C101BBF0A1B22807B2B0182B11 +83F4A5CB7EAC1F71731A625634AC3FA56D5F1E5DB2BB0F86577718F8566CAAF5 +9CBE80BEF66CA6CB19D5C7ED4C02A4B3E05C69868462E88170D11772CBA44E12 +59025AE4E68909637E4879ABE51DBEAAFF59F7041C059A42B9CCBB04E3A92534 +77A31A0D826A527C3B6F890FE4C238C91C7C46A837F1E08A4E1D2BEB3671F861 +BC46296D453AFF8C68016B7472D30E5BD81D42E7DFC54D33D00362788BB8A435 +75 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: MSBM10 +%!PS-AdobeFont-1.1: MSBM10 2.1 +%%CreationDate: 1993 Sep 17 11:10:37 +% Math Symbol fonts were designed by the American Mathematical Society. +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (2.1) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (MSBM10) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /MSBM10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 78 /N put +dup 82 /R put +readonly def +/FontBBox{-55 -420 2343 920}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6A66A4000A13D5F68BFF326D +1D432B0D064B56C598F4338C319309181D78E1629A31ECA5DD8536379B03C383 +D10F04E2C2822D3E73F25B81C424627D3D9A158EAB554233A25D3C6849ABA86F +1F25C1667CB57D2E79B7803083CB7CC0616467F68450D9A3FEAB534EB9721003 +DBFEEFD050F3AC3492F5C74162A9A531ECEC0F47610B4940E946D21CAA771D30 +A6C27ECBA11708CC46C62396BF9D1990D579D0C394899D24FE7A4382EA18E7E1 +160E7283AF5BE17254790628E79FCC206F28B5566075B3A5697D5209062544FF +D85FD89D6F43D6588B242AB2666B5D2861CD38A8CE676503EDFAE84D12A71E77 +8405E468FE391F4F3F50D2C57ED55512036B0DB8E76A7EF413ED08673E56DE2C +16A3B65CD478433C0D2F9FEC4E662D54DAA43CFA6957D2A9AF8979BE06F70B68 +ED4C8C493D6DAC4971A3F1D010A7726D084EC1074FECD7D12D72AE16C26194AF +21AF5774D9B860EEE8608D34F150092F09C19959BAA670022B9A9F263CD391E3 +74DD1D1B4CD4D75273CAA4E37F68C631723E08FA35AD34C0AFB4621AE6689861 +854D16CE1C375FD159A337E221A6FF1CFFB5693A0623E7EBB58C2969F590D081 +AD92DD9E5322E26D6A15023664AC73A355998BCC48ADD0E7A4BC79790519606F +A1FEF6075033BCD1A542ED2F7EE4943A13D927138CB26A52F33F52249DD24930 +BBA9773D5DEB5B8115804C2E65EDBCCB17469C47F2591BB232690DAC5F1780A5 +6FE9861DC450426725D35E3E8006C022026C0A383B0A6E8AA30A52055E7E139B +DF6ABC491AF90C7A3884582B7407C0DDF37CC49F3CBA0126D07A3639A615400A +01FC5412668335BC7FB0C5C62F533276BC13716EA27CCD3924408650605BEEDE +2A68B5B6105D8766B9DD6A877DE6AEA9C3179677B7C0726022D0F929E7E63574 +4692A959C7B4919DEC77FA5012A3CB81439F809D15DA7739FAB5D8E03BD8F283 +FB6832C9864D18C4CD499B20534D33C822226FC199D26116A73ABA2B5CAB0B63 +42F1B4A3003688088F1F6DA3C61363B4C0C44269FD21F981DA0BDC5D180FFD2C +8BAB61F4330FE5806A35F1235364554FAA1CA61EC79EB01793D586FB1B62F4E9 +3FA5AF30CF24A87271CFB59FFED6FB662A77D0A42516634A0604BCB334503FFD +60641E6BC62B28A8B3A44A5D50389994BF95AB3E7184E9954625B28EDBE99914 +4558E2F68FDE7E65D0B777A64FB3A7A2E4A27F656FA2F9075269F70B020FAD56 +BAFB1BC4FD259C2C9F2299D4421DCFD38C947ED4EAF5FD02B9A31AA37DD2E82A +315797E6456601502E47F85EDE87851E6AAB854DF59522CFA9BC02F4DBB3F024 +C6EAC54AC427B5AA039A9697F52ABAA45083CC1159604CBBF1F7BE585146391C +D45F718B12F8CB4C65D6FE61F5D07FE09C3E5F7FECBF1A649853517E4D75CE59 +B1A78262991D56EBFAAB32A539C9294B74AFBC46835874F8FE7D7A5D2F54294B +8586601992F7A8FCCA63C680CD8EE5CCF50EB13DBBDD94499526038035791451 +90636C5FB2B5BFDF13A9A6AD4A34DD28ADDFD5C9FBF3E714B08C53C967F7CA09 +3385CCD9517F0EBDC6B04DF729525EF98F7D7F0AC48DFE22CDD47381CB5E8874 +5770D238E7055D33BD55B18BDC6B03EEA14C983E1E4E7FAD2EACAD9CA038A873 +B4D30413CB0B0880E00D582F464B676762A73EACD395A12AC1C5F23E03B691FB +E3BDD8090D8B966910C9FFD5064408E361FFC59ACCFEC21BCE3E0D63B17CAE20 +419BDD735F5215A8B860B9A2693998CB2E4DD7BACBBB845EE1BFD40C594EC2E0 +9D86326CB2E7F13DAC4878964E7E8A4774C55B954F30AAA3B88BDFA0ABCAA75D +B224D2D212B8CD2568EB8E4235587F088D81171E16AB9743BED043F4B3BE8AC0 +DD207FF7AB4F4087E85A151CEE8029167DECF2655CC12601C5A7AB3923ECC8C6 +B68747EEB74DA7E2144289C8236983985623CEEC393F3FE3B866C4C0A6508EB9 +FABD07269EC2764C03D8B14E7A2ADCEFFCE4C842518324F5EFE79EB5544A2A41 +8C7EF948062E6BB97EE89492B050EEBE8262D03267CAD70A8FED6CBF2E731FE0 +B01F59541166760F42 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 59 /semicolon put +dup 61 /equal put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 97 /a put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 120 /x put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 +87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F +D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 +92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C +295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 +409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C +4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF +2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E +0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E +B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 +24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B +43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF +D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 +5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC +96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 +7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BE25C8568CF4BC850 +439D42F682507AEBFF9F37311AA179E371A7C248D03B5BF40C3B7E0FDD80D521 +09B4D0044C5EFBC5C4A8DF9B5F734ECA6099F8A76881278EC54549F51532AC62 +0D85E2178D1B416514B03BC33767A58057CF521F2620B53DE2A240D58312B92A +7C1F9BD0A11514B5CAB87219A1F5C4982A83380B0896597EE5E42BDC6F85E6AF +68ED6994484CDC022ABE678A7F2E298A7FAD967A2EA7DC426F07342ECC66E68B +983E966FCFB745795C4D2C87CC15BAA041EF80C5BDC12EC1F5786BB41A5A2107 +3EE0BC436B346E014DB4099EDC67BC432E470A4B779FD556341061CA3F2BE8EF +A332637AEC878C2BB189CA3267B2BE5B8178E6B7889A33771F86276E6F0B8E89 +BD209DB0CCDDC342CC3D438356296934D03FE107CACD00545E375162DF567C70 +F2DCE2E5A2C5F61EDC0DAE9A91044DD214031FE8339581A9798BC43F1349593B +D408714EFAD02AD4B6763945ED645A0FD4A71D4226EED9EA1633950350CF4B2D +0C0ACDF3AA03DB3E75DA4B8ACE7EB90A31F0FCDBC0AA03FE0E68E0D0E81EEAEB +EA79EDE22B71BA5BA148841DE5394BBBFE694D7796A13E19A4A782F9ED05B50E +FFE29BCD196CC096B282BB7AE080A50DF19D5AEEC98C5D392138E7847EEF4548 +2B20A84D10CF3920BD583A05B1FD1AFA82D69696C4D1B13FF62DB165293D4A2D +92CC4527109F177093E43F3507E188F59B4A5B1D4D8710979472394392C53B46 +1F7A7A2CF4A0F4BAA4D5D965566E53A74EE43286559F3757D2AA52B6B9BC320A +56578B512393D038E0E8873DE31C3642B13807520C8B4F0FC5EC6ED3A7A0E86C +8EB19DA903FE24988EBA6FC48DF96A5239CDFD85C441C0D7A174C40F2366A899 +77662CCDD85C7C702542DCC4F62DD4CE83D8B0A6B2D3D7E84A09F7B7B2AC0F91 +5A89AB253EFA653E29CDBE7BEB5FD80244BC4D6F73FDE34846245FB19B5036E5 +A40FFAC0C4FB4F8BD6C351707A524187ED4C6A8323B06159EF2110B228B69FB6 +94766199A37C9125F07C07B4CBE2BD76FE9D80DF7F55C7713138573A95C3FCD1 +B346DD76961F4397CAB8E1FEBC2FF6ECCABC763FF7C995738B082B37F0870572 +3A5D49D049F420266F034B72EE3B707AFF6A4D0F63DCCFD3D9B0BD93DC13B78C +EE8C67EB4676EB693EFE23F1DC6CECF28ED4A1EA517C986C17D8154607A330CD +FC0D83A62A5197EB7489706826CFB01F22A944EF21FAA6C12D3BAC92E531CE07 +A2D62B606AEDA91D12E735B99AD63514C776517D0D3A978D0E785FF8B39B9AEB +B0B61DADB95FBF85DE427B414A399042E3C2861A8331B8E7E7BFE5FA1FFB966A +D8B1F0104864F4826EAFFE30B73AD8DA53156B55BB19BAD0846CFF85E381D78C +A56B0B1FC0B5C7144384BB3F835DEDEB15B90B3BC0AD1168CE5CEF4637B662B1 +F3935E6330C048B5BD2C7B9427773F5710D80D06B41F46D2334BE4463A8C6DB7 +6BB7067A5E3D974EB7210DDCE1582827DCD3005F5FE2634AF79323BC08F75F51 +C8BB41D31A002780A221C9299E4A10F95F7EB12B018BB216691D1038BC9B51BA +DB30A21E23E2365531AB5909911BC2D4A3925CB8205DAAC4A0C54AB311F611B8 +5E5E087EFA21F48267D6380AC1E942D73E95E67632F1BC5C4189E3B959BF854E +3293FABAEB3F9233F9BCBE9BCEBBE063C0A953134A42372B14891CEF77FA5F89 +6AA64CBC0441F98BB140604B6EED20F46B1B2392AD3BF0699D5628AF4FC88F92 +AAFD2B62E930F39F92BE7FECF851D13195F8B26F881A99E8DEDC4A8E95D87801 +850C23E5BDD17002A81CF4C256B6550FC9080EEE86568000F12AC4B7EC5B7107 +8458696C6298971108059DC9ED523108AFD437F76573F4A86F28A242455C4C8B +679FD4879D5462CFA122EF2A2C077D055C46E786C3EDC06A7EAD55E34B67A2B8 +2565C660AA219EF220DAE4625F30803DC44A6D3DDF4513C2B12F553B26ED5215 +852976EF0233CB4900E74EC232D6657D28A4CF8C4EB7A7D1538AFFF4F1900F9A +2F068351C46B6FAC8B545FA407C2F40578C0EAF674CF2CF80FB4872C3865FC75 +6F576AEF692CCF675AE84CDE56A2A6B4902D95065C9C9D54E52A834ABFF5A10A +D0EA765525FF0AE205D4776F6BCA0931141770E56AB9F288290459810A10CF23 +DE33768DF2517E779B20C73A60376729DA90B07B21D036A7D5AE25DC32C12A09 +AECFAEC457EA9B6A5A0C75AE8963B66BC6A659361B0A08BCF1AB747915110064 +3EFE41493ACA61CF596D1D41DA9F3F18BB3F1AEF850D0DD0F7535B7F2B77B340 +71B51E4C4EC95D9D6210FFAFE3D5DD8C45A14599557A626ADADECFF1290EC47F +7D1CF7D000B0A5ED22F9CEBFB5C47208A5D94CD256EB0E930E18FAE3DCFF672D +B88E6C04FAE98AC54740CECE9202C177416A5AB0131A279797F962F273DDF12B +10D70989ADA78C283634C7EC9D30B8530DE2A9E1FEA2433A93EB73FD18AE2AE0 +83EE7FF31D1072482DC03AB107D9B22104BB92B339D5DAFB82E3A9D8BE73838A +C69641CCFA93123CC40E88D8809E2DBCE6B3866B02CB89C57B3E3A4CA1A54028 +4D168DF6BE032D3E6DD7DA4353390CAF76CB103C6608B3D628FB22436915D58D +5F72BFB76F5637FD54623E8986103F777762BA2AF9BB8DD944D158A7331D2FC5 +6C7F30B321561AE3AE28AE5A85777F1B688BB2C1FCC14FB5A5F59F8754C583EF +C7E9CBA6F21CE37E8CEAFF27B2F35F86519B09716C7376A6CE80543592139660 +3BB9E8E619EDCF66C52A7EFFC7B83A969D1275FD6F009C7162C84CDC7BC01049 +82028AD7772DB414507D795689C812C11F69D9697A49E064D56A52D421A773FB +E3B8D6330F4204364B957CCA13AEA09257D6C48345F0B15106A18DBF6C402F83 +392C5A17C1BB9D81FFB0FD65DE01DDC751430D946A80E615B71D0229A07EE860 +65171165045081BC1F82CCD049D0DEBF0468EA9BD6A44AA07774E3F723CFA8BB +892D98A46193FD299DE77F8B097DBED7BED3B0B15ABB32D6283C45AD1B272216 +C556BEC5BA1F8CEDC7DDAC33A735D919469F0C560772E369D4358346FD7EA472 +08BDA9C424BDF3AD5E5BB2F14958A24ECC5FF0DD44AF6FEF700B2F67B87E2502 +E022176919749D13726410BD6601036F0A702B4FDA5D322DEBED2247CAF244F8 +7F470FC87053A6C2FC7F4491B7043FAE6B58BC1271C1953D385DDE9603BA1838 +EECE49EA716119042BBEFB70B544BF18465730186EE62E7C0F410C48F2C03E2A +3663C80DDE23993A48B3E9EB1799E78D59052C95ABF56E7D16246E73E3017AFB +5455A95B0CDE8EDA98B8D4A408FD3A8FEC48CE9E7137A297092D491B4EBB6017 +8D8D6F0831CCED874D4759AF185454F44EF58A613C8021B283FA3EAAFF1EE97B +08C9CE032606A0772595699DA356EAE1A6BE29B91BFD9ECBA535D400209DBFF0 +35352E0145B8FEEAB8BC22BAA72A2E00BAE3EE50B453C5E2BCEFFD1861EFA852 +94EEF92615A7A3186652530DC17204D5BDE1BDDC17A071A3D2962E58962FB015 +6CCFE9FB2E339408EAE8C4F1BA820C0B9620C2010BD3CC124D23BD364705CD23 +DEAE35E2109EBAFFECCE7E29CBE003F89AF9C9638D2AB5D062E9EC4AA4DC99A1 +1FAE3469F60BE1991C56AD71FE23F57244174C67FB4A2E06234343AB82EA749E +62011332C48672AADCD50F8089E0BCE4C57D58F69F493EDA0BEB60F2226C714A +89B2E1FC512E7864AFAE4F84A6914ADC0F017AF97534BCD44B4001D0AF7BAEB4 +251494C831D5035001DE48B3207DEA2E3F4A85FA4AEE711DD6C28F5E2E5BCA7F +870FD73010CD0A16876B521B1AFDE743162E5E5136014584F72DA8EB84AB614B +E8BCD061BBC1D37C1C79B61CDBF8A0DA63C7580481E4D969018DA780EC1E5E6B +1DEFC64F69D23A966D2A61F643054DD02EAF95CEE954A2D2DCE3EA813CD74FC6 +247766CC787549A5913B5A3F2479728A73CB64A2D06C6ACD85679CD9F9AEA261 +D977FBC0D0C864E2A1AE5EDA9EA457EA316B295A07FCEE6306EF122423E06E53 +F4981E5F495DC62B2E5E27E606DDB2908348F45A659D7636748A3F92B9501EB9 +2F66685224482AF232A93EA7D1C2634DDA6195E7DAAB7ABFD3670C43AD87D1BF +CD52965F587C79D6A2DE1D26CD431E98DA18FFEB1C79A16B5C06DA22F615B5D1 +C98C808F7DB252B6BB7896971FCF06BDBFEE9C063971A72A8837B718C6835699 +08C17CE5A5EFB8BAACB9B320CB76885212A606A82CE5CAE1EF16FB8D4EA56676 +57343C5C27A3E8BCE846D642F06471A8B616E6E2C3E8E5DE8540FA56D6B8E0DD +86558F347C9BFB1CED6350E0BC25C2F57BD650F49E1FCB05EC186463A66474E7 +3574139564C0EBD025289DDD359CBA44A761400F8F1EFE67AB9079BBA7CAAD30 +BAF63292D64F72DD2973F065F0CCAEEE1FF134A23048BE32405C405239724C2C +A9A1AF53A17FCE53B1CB8849A03E91C3814FA753A58BBF29796642225A5AF8AB +0F2A088632F517BC552B901A0B3F66F69B01B6AEB098026ECC8F8D4808B4F87C +0EEA0FD79ACF789E844532E74BB3AD5EC3DF790862F55070DB64F5A0598312CB +C875428E1FCCD50BB2CC4E09E62130FE240A2FC2FA3DF1DD6860CAB16F8113B6 +C2B6013EA3D62D5A7179BD9B3E8B0D54C79BC0EAF02210C70B75792F3AF4B6F4 +075AC1F19FA3ADFCBCCE4CEAA04D8E83A7C4198F41804DC24CE7F304AD2F047B +55E4C87F0B1A91502F86793B3BAEE685EA0383600EC7165DE21F51AA577DE8D5 +B1044FB516A6647053C790E30C907AA6DB54AEF674E227AB2A2812B8705B1F61 +B79B378ED61A160AB02AE4D2CFD11702A2CB7D9299F1A28770786FEB3ABEE014 +F2A0AB35C9583FB922C83FD1927C2CFE595F34B1AE7C81A06EC9EF5F498855D9 +BAB8C2CF0F56D60D55E9CB52D9675B6E820BC0301A7D606C77EC06206EAE0647 +DFE727234FD89F3ED4E2312116B95D7BE64E7142866CD5C84085893781CA48D6 +BCC0E52B676B8D1119BCB81BE05545D3F7FC35C40B99E43CA20F77E0C5C11B68 +05B0CB984D94BD6630CEB96A9E7A60DFDA304B30CA0B3FE69BFDA984BA95B318 +9174CE3BDEB589BAC46C82703D498EB35CB25A54A6A1BCFDB950B461F47DF126 +9E02D60F5AF7F65C4B14E259511796191979C58830B9121BC6EA1F80DFC26DFD +52F6007FFA1C08181974D0617F92C5EF0E8FAA0E97BC852C098DB6D8CBFF589D +E5E2389C537F1C2C8AD8888E0584F39B114DA2CACCEB38B5C99CF93E1FDAB0CE +8EEEEA5563D0358566D7627E97FFDAFA7EA4F0BFA4431645D4E24620438CDB99 +036ABCFA8B597643C98056D5D8FC00F68642C0CE811502153816C55C7A0BFE4B +8098E6AEC78C998172320A33FB5B46B9D21BEB42B34D8D6262BB4DE936A51516 +0830C108ABF4D0DC6C7188BB6F52C471C78D79F5DE13CE1C1A5C6D8134BA7D9D +54652582C284D027DC1B5AB97AF8E1DF490BBC18421B91099DEE930D3D377E53 +7DD081DC875791B0A81398BFB46F02EF975FB2B8ED39C6D5BAE92EC2E85B2B7D +290E3B9AC864AC17680A345EAEA41E9E50A22D4DAECA50A5285443493B18C178 +DAF904E6A6447F8D4CD0FD885D1D9192708560C88F378001F29EDD92A80A2457 +084A5E0486700A19C1E48882098DC901E20DE43CB8E5CA992120ED5812B382EC +A360085E7A53C0BC0CB865A70C3F666F3F5198E5E50DD12F19B9804DF96FD9E8 +8F0970DC799E3F5D1D989BB2C100B16B724BA1AE0BD9A1459B2A5780DB956DD6 +A7EAE3166574B28B49259BC32A7C257A8D065A739D8BEC7FF6DFDFFFE33E952C +FB5EBEEEA9F0745846FEF1823FFED7B3AA5D6EF101D58254E385F3864B888F37 +F5F2B65A4C3255EEA67D1329B2DBB253F051C7185783F42F8521B756CACB8AA2 +C654C5FDB699BA2C8F7D163E3E258C38B7496BEE5FFB4A5461188CA80D7301C0 +4EB3E5BB99FD8DC294A9799D2B3E18E9B0E43E54492E4295ECE6E814F3BCC9A9 +8E0F2738AFBBF8A9EA81D553EBA2A45F41E8466208E0A33394FEE2171A49BD92 +177DA001B9C12812BE1D9F9E23DE521D87F10DFAB3FA7FEF7111AD4F61CEEB9B +C03DB3FB22597C2AE32E8DF982B824B774CEC964AD24390D42BBD53B3A3144EB +342220ED35BBCE069BE99EC2955B02541D9777FF828BDD2A27D7DB61346F9B79 +05B3C0355C87697F3C26990AE871EFB9548DA44EB064AC9EEBC7B2A9FFAD18E9 +0AA04D6871E2333AEBAD4E407F4EFE9429A3B575BFF62B73931543CBD85A3CE5 +915633A52AB76856C1E7639C54CAD10D18F3B629A40D3A1DE09728946D689E48 +44CE6E4CF644597120C4C5FCA145E8777AF94C0F93897732EDA2AD31B9D16BF5 +AC8876090D204C7DB7B3C7053F16E94F0D0F6DD9F919F73EBECCB7F17EA26D9B +35AEA187CB1F56442B6106074E139A0FE9E8511CA485FB85962B4D8B607C626A +C8F72DFE +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /Delta put +dup 6 /Sigma put +dup 11 /alpha put +dup 12 /beta put +dup 14 /delta put +dup 17 /eta put +dup 28 /tau put +dup 34 /epsilon put +dup 58 /period put +dup 59 /comma put +dup 60 /less put +dup 61 /slash put +dup 62 /greater put +dup 66 /B put +dup 68 /D put +dup 69 /E put +dup 71 /G put +dup 77 /M put +dup 78 /N put +dup 86 /V put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 118 /v put +dup 120 /x put +dup 121 /y put +dup 122 /z put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +956017667084E248B4E19A77B7C42DF6762413BB3B142E19AFF7DF267DB0C315 +9F7C9061FA1216806E4FEB424713C5D8197A3216EA5540D1BEC26AC1B17D190D +F66A096A8854AC846932C735D064DB56287BAB4AEB352600851833F5C49B00F8 +F2324E5A873315CFE2B0C71FB263E0213C5FC83F2D011C1361570621BAF2F34D +8A46195798F84660F710C7BE1D31D123ECA0B7965A2AEBEC6CD5FD55DC0B2945 +AA442125F7EC382E849F98EADF4F5F8B92C04669C9CA2CEEC6B904368DC374A5 +0E4372048210A63C055B13F9E04405E805900BA040C9AF9C9BBA6A02F87C60BA +9DCEAD5A9E7BBECEBEE887F378676C72FD00978D15D0046C0690C0D4B5AD4183 +95F6A9DD88C772D9F7C38A6F51BA692B81D60BFF93CFE887516378210D1CA765 +8E15C57545A0C95EDFB7AB40039E89D027860AF114E89850C0AC2E50B696B3D1 +19400E123569E9EFBA7E0876DE9628B90A373547C96FE290965906EA8A1E846C +43EA4B0C01D84702059B6888DA48DC3EC87D6ED3F5BE7322567E660586843571 +65ACDE826977A8C05ABD73491F800D6D3F31DAC2DCC94197008699B08F389271 +28BE1BBE243F5A59EBA25059F90C5148C0D606AAB186BF88BCE51E82C6A2DD2B +1B5DD50987E914FC3223EC169BDEF18BE4DE7F5E824D414CA186C54B4DE4EAC5 +E5F84C3748283E8F0FBA0F0FD9DE1459D068B624626911999B9CA785A9314F26 +C71D43DDC0D792520DB3774AEF341ED2B3FEABC2C8131FE13C4B04FD64DB5AE8 +8BFE43A83344D7466A8C2F51709E771F02CF369255DF519732B0F4EB2EDE5E86 +062A91DCD0D42B2C5D6D3DF29F30F24BC98093AB95B06097B5CF3B612F477E84 +9065E1C60CD71608A16C9FA59D10106282E225EF38B15225B57F6784EFAC91BE +83E6991EB5E59C8FD13193BE20323ABBAA06E81D0D1BA749129C0E898EC3F8F0 +4452FD5428802DE83F6833563C49AADCB28DCE3E4040F69CDE82FA6F2D2DC7FC +88E96641F227A44A979EA58706672D7AD1FB23E699BE729B99864FE3F043C042 +10725788C5260E5053CC94FC9B4A9A134787D1F3E6FC5B3CCD7C7D624E6683D7 +B49A02B37FBE56AF6C230B7563D38A40591E9BD14E8339A28B8F86F30242F86C +F43FC20C80DDF37AAB23BB01381D769E6E4523F403C11CAABFE5DCC58CB19E28 +37989C46A1D21F1637021091E39E3C9F8244AA9F43A137932113C8CB2C2D7239 +364C52EADAD13C1297A463D8F94355394F18D79925958280344AAF911BC0DD44 +31DD6047080F51C49F77C1E587CEBDA32718B9CC19533857B3950BB69C9D18DF +D5914FB8D36EFD05D15ED1AE8BC3DBCEE2FD15F65838DA357F0E30B8FACFB381 +A658B95C852032D9F6E57785622DA212CEC31CCDDDDC9773EAA46F18750FE121 +251615AB53D597437F068C2462A4E8B90521F4C85B9300264A6C35B46EC2A22D +C90D48C4108FD50D8B089DA431BD8FDDFA8CF8D6C257F03F0ED907BEB2E91CEF +B3AB4A6A8E4016419033ECEB7473EC8093ACF80EDC48F1D4F525F7AE6D09B48D +D5D83DAB680696E72D6A3BA755523DB0BE5639C1703D2711789F2C5D2E7BCDBA +FD5654CBF4BDC05DAD38DC84A2A8FB043A22FF580F065BCA6BF5E17DE21B6680 +A5AAE78B4711C5D056E1F7BB4A48127233CFACED2E947993EEF6F12327DF1CB4 +5ED203F8212BAF4F6D4A076A6F2E826E45C4DEA2F42FC5F5C1892DBDC8065C62 +5D5A6A91EB9DBD71E32935EB22D69E8E6529F95A95E533E52E705213A2CCF3CD +F83FC853B06563A1C7206EE24589FB3071F24213EF4A04656F22D433F22A8D92 +CD838E13F7B626AB0497BE49BD8F4EC69D4CDCB375B38AD21DB8DA302BC51BA9 +EA150C7759581AE01584F9121C9CE9C989DCAED80D9BA22CDD513E92F85C1596 +6ED92395A424FB4309C3F6E83990195DB61797AFA1B85A68A2FD36AB94E0E665 +C2E2E32A5A66B8319153DF96F2B06FAC6D3ADE8304CE693B83F81938F177598A +239FF172A50B421A5982879525D59E0179D0C4A3F3DF97772B0768DE450264C4 +164003BA7FD408EF75215221763D87E7E8D743317D6F80906D27B118D15E6A9C +1C43D54B8FB7C844A58F9FC5A88B6B0B6541C1776248A8A008BEB038A4BB0EB5 +EC122B46A3F3BCB2998738056AABADF60223CD7C48FFD5AD6A77536E198646B9 +4518780667FA2B61C2EB8326F81CAC89AB6F0635351614F3521B131BADE73283 +27930084D3C1B26CA3554B0660EE8C8DEC57B0FF344B961975193B988FCAA78A +7160F3E94231B31A3E46DC16CB21BC65DFCE7AC4DC610AC6388B9AE12BDE1F1A +DECD3BA34297B989B731846ABC57844E1B53238C421ADDDB00ABCDC743235480 +F61CC25445C9119AADAA47C7B8913CFE1640FEC333BC9C35803CF02C508BD62C +440B27BB184EDD0C04B157C259D71E5B58050FDA4967A25A5FABCCA029088BF3 +03E8AE975E543D496F7638A4103BA925EA27905DFD62666108B633927E07136B +613888EB04C1F5E216F08A1BBC7D9303B77FF23A4FDBD58CE711E1D362ECCC8F +9B687CA125A13C454B12F9BD42DD7D42EF796994BA4FD41288946E52C41AEC6D +8C7BEEB04D24682A243AB54C3992BC938F41A1E46509A4B3A28700C645EC7C34 +C90A38E31DF02E0E22BB0FCCCB9EF87E5BD185830FC5A719BFB74ADC6385715F +50730FF41DCE1C5B8202FA7EA5253718FCC3E4F18D37DB28A0685C7A195D2C78 +A0539C23E57FCC25A07E77EF12C4E6E59D94144048EA45336F13C9C337DAB239 +B844668515CED8836B8B0DE5BFA514CB92979AF9CFD08C31E436AEE956243011 +FCD5BB877A0F8CA1BC70FD7EEBA250EFA3D878ADDF40F532B4C7D0AD2799C2D6 +E8A55A0029E87C1A6E37E3B803B7F3C4182BDFCDD3B3A36FF1686045558C4335 +1F10FF8C796B05BE183D751CA322F63E66B35C0F6B7DDDFDB7B36ED2B49DDE72 +870F88089AD1EA69F54C5CD55807056F61568B98721C47E7E63E9FDD5820E954 +C4B2FE72815FCE308F8D9E091314971A833E4FD9B51751BBD4FB9216AA150A7B +83D714AACEEB5938780319CF8D3FE580B608DFE6E6E76D1380A60130359AA274 +66ECBE181CD60F2D4B48AE2D1299E16B2007699E23D6A2177CFD5E5233638009 +9E821985ED328356FF8CE1EE59D16B2830AB24F852798515C95D5EC178784CB6 +B4C09A8379A9FCCD91468DB83EEC2AFDA0B6AEDC44BF9903BC0898831AB62298 +7A5D2185748707BAD6AA2E1765B5A9D6E00E014AD00BB68F0F29B144E131EDA7 +8EED997B78B95043D611A3FD50784F253921838BDB152424B02D08722258744C +95E4EBA32FEC796915F88552D4E1F899C833AACB96CF3BA940BAD7520D7D2F28 +2BD1EA10C97E0A5C1E45D5FA6AF1A23A6E530C030F16D46D2E66F77D6224636D +5437B45A3AFCF982B4AE9F848C36AA52E1B4EA653B104F090BFB3E77F2121843 +4B2510179C358DE38FF27BF3C8A31A9EEBA0F180BC63C69A23BB418C583AF9A8 +C2402A32E83FCF0B7C4B6374B8018DDB126E90D5AD8A7F2517B40117D593DBD3 +0BAF940FED36A3A677B994EA06CAE77C3E06ABB1F41AD2ABC4E7864C7A4A75D0 +5708A337A535365B658F406A70567FC7E8132EDF67610B59119D46C7B0954E88 +B8E6242EF84F10681DFB2AA3ED1D6AD687C92EFE89C57D3ED2FA0DED74982E94 +E47FF8873CB15DB41F14871AD6A9C924C80FED0C492425BF8EAECE55E61CBAC1 +26F2FE5A61287A1C2FF052C0E2BCF30A29E07AA6478B9A7C7E5EF4DE63838CD9 +FF7A20ABFCE6A930BCA905CE5FE929292A9C4EB680C095EB75D53AA7B287972B +157F83330C509758A040C65AA2EB70A2AC0CFD1E1F26199ECC65250B7696FCDF +BB48B401F6EC0CC9525C30666ED2CBEE7C7A00223A2EFFEA57013ECE86F6DDE2 +B26F65F202CA9D97593257DF7688F4E3A405383F0BE86CD597626A73E490FDF1 +A6C32D7A0936AC0BEB7DDF9A8FE63560E61CE95183891009AD75F6DE8296FADE +6F37567B7186EEBD30462867EEBCE3ADB6A41B11E4B7AAA465883225F2067239 +9B561CE77CCAE176805C79A6B2252FEFB1E43BEE32C67F462876F2656C59E4DA +C939A9DAEF17E6F8DAE786E41F6C0F013B1EE6D65C622912796194E68E34397A +C971C022CE5E751F342819670695F154AA9F228BA3C2A81C2519F2243EBC3BC3 +BCDE7BE2A7AA5FD890A91FE3CDD5A8FE6CAA3BCB237B3FE31E4D20D1EEEAE6C2 +D3746062ED962604E3509D3483DE4BC882E8BF7C3248981BCB47C5540CB28B24 +7DAE6F2D71D2E4A1D9CC7A7A36125F9C057B072772C0EAD1EAD2EA655671A099 +2D79302BE286FBE3252DDFE121F165061A3570519FB36151899314F8D83C92A4 +5EF79EA1EE55B32081A96FF2B5F8070CF949C33EDCD5DA0F72B0B0F648D3FADB +C2C95850310FD7D47B6B2596836AC41B752DAF041E31EB2139AE606FC4C1B65B +815373D824EC543F85370159EDDD7B024A78C8D0013B54AC311F07DFEE2E0A80 +6CCA9B676B99F016E204F3A43F58C5600557AE3A2C3397B94B918BB7F94DD8A8 +C2D6BC1DBC41544372EC47D33561983BD21E5E09A07426D34DA3BFAB31A333CC +AAB66ACB1D17E918D7276B2868154AB27B7309E2209910510D33D6F7D4703ABF +0AB5E44C45F4A68AD17F45B7CA26942F04722B7ABD1C3D4B9C18B5443A0A27C9 +26025242C1B6FA724C6A897D9C5287F89AEFF23E009CD4DE5C256FB882130D68 +7E2FAD1854F6A563A0E7465134FA561ABEC11E84C32C4AC6F39B89376EE6CFDC +D0A437CEDBE76406586C2EF25F7FB8A4269780C15F34CEE58A9D29C56841D3F8 +7CA1515E1C70A132347F5F20C3D5F16E0A8D73E2D00A6AD4BB02C71FFA14A931 +65D3C9A5161526F349759EAD35E417DE5A251506F6C5A1C6479C2B2A7DBEED25 +7C2EC8B09B6FE16BF878A72FF8C252AE0371EC01E510532F8B34902A37C9A90C +FECD51826275D4685C3B5BC584CF414CFC35E62E9CF36EFF3491D974E9FDAEB3 +874EC3ECB0F2687AD7904953B6A71A52370139D66B90444F41A431D5B40C2EA1 +CEE1A75007C1D3864FBBDC1AD43DECD26486DFAA7EF254334ED53E36D808756B +C7F8A62EF71B02E9F6A764CAB61E7C27DD4E5B3BF2B5FE6F8A452A0C304D0624 +D2A7236C5B65FF84971294EFE825CCE132A092AC86A4F9227CD944198CFE3698 +7884C031B7AA502335ED602F80645831BB8A1526098464CDF72B3C259978D02B +6FC9795D14777BB5B72920CECC39E55660520634199F3D78139D020A7CF5B22C +8E0683DD8163B861E3FEE3658D52572871253F38C85FE3E638E2B13B8A284C54 +07FDDE222190508F8A7A04D08061311BDA9D72AEDA1410F981E8A9BE7071C08F +F438BE33CA53FA4676458EDF5CD52C001CDA39A7D8F3116358F9A77091675235 +79C42515DCD64164F43070CEDBB11E69DC2E2FCAC983C4A2A073DD7C913EDEA4 +594374D87B9AF5FBAA0ABF720B0641008DF8212443E161253C41478935F7F482 +F169C3A6A9D799AE05464704BEBB53EE2FA5E71FD79D27A8EA846419A17EC98E +3D0679231BFC88767CD2178BED35025E1EBCCD4DDDB7410CDEE8B22DC9A5B024 +0705C1E32F954DD85F34441E453285063333C3261688F020D5A6EE1236515687 +F94B672FC189DEAF0BE59E9BB5AEFE6460BB4C06A9947F8B863D8B0C72DAC249 +C6032FA7C0AB406F2D254B9CE3AF9741201619F18D6121E17F3B52EC0B870BB1 +96B9EB52D6C761DE95C286FAB896B7D0B8C12C4AD1933F238C0A9C195EA40BD8 +548AD3B5717DD787EC05DBCD55170B1524A58D39C91936FB9A86CCBD48562A6D +7D1270F5F9B311E132F43787FA11FE12243A4454154D633A012E174783DEBF32 +997E9A4170F47732F6ADD306DA7AB582E758E8C2FC8363E8C585F3E92A573F54 +CC2D34FAE6F10DDB7A98D4C4F656F6700C6A8C6FC960B0B4B9D446BF52B80B5B +65CE01B59B8DAFDF3D878084B88728072A97648821400CEA6C9389794186B219 +99A017FA4A809DB2F93FF89A4206CB66FCF588584A6B7BEC990E5A0A33C75FE3 +C95C971044853D750B14FC6227B730D2C00FFAB2221F682A10469B5369E436DD +526328D2829FB8A82A1F02B77016EE186DC6D4C24E58BE93C9A6450A996A1BAD +4929DA91FB7D067844C425313D998883B7F2A600390A6DA9F5164D6763E2FB0F +D047214832B09CF62613C8D3ABFE03479B493340AC36D412C49D7DF39CA89AA1 +17D9FCE14D40E5BA8F587F11A3F7D8DA69F5650B00244DC561B329826E9BF11D +EBDF8593B20B6A916AD6B4E121A3F72F042A1943DD72DC587D74B1B14C9DFDE4 +05AB26F9B1E5F433D1E6F12AE369203A63DD39F5E2E5870A7097C020584AB252 +8CDE37BFB45DA0B18B4BE37026E700B941F482C6C102EE582E567967D0697245 +878E076AFC025AF1A653EF718E7CD550E214F5798F048895DB759ECB2EDBD4E0 +AC2BAC11B390278CA5C30F1AA6800A87BC6101CD26B217D5901A40B1B0C617D5 +E3058E980F3818B2235B73D6C7EEEA4021B9809433109D837050F29965FFC7C0 +F5321A93D5C2315E0C3388F0208B686973FFF13D78B8DE64C43A60CA70EF4E1B +DE972C3077BFC5C7B23BA026A77E2930073C8D493F2AC4F3B5D599F716E6051F +166253EA22C317044C96A7F281D5CE5AFB1E2C6BB72257E864544A5C23BA1273 +59A7F42E0A7CB48A90F5EF47B9A9AAEBF82C78B477B16A4B0B57DAC9117696EB +E1F1187220FEEA3B0BD19840CA637F2306A185D4A1B7ECA6B0D2CF662473DC24 +8270584083426D200D28426F362BB801D556CDE4E4456566F761E6589403E0FB +CC154A41D828DAE490E0A223AB5C53BECF7D1FAB3B66A5725A4BDAED4080D773 +83139DBCBBC93B58A34EF16A7491592B27F526C3F0911669A7F5867FA872596C +E9BA07BC078A9F07052135EB22CB87883B8EC17B9CD6B4E13023FEEBA3C732E6 +843F9D5B27EAAE781BCD534D08F7DE20B713ACD556390A332045B72ED338A70F +760BCFFD185CBBF7705DB2D55C1FBB8F38A4E5DE0913AA7980A2B92C63A3EEA1 +C49C0DDD54B76325F5F5A0C3F2C42E9897C930D4528A058942680CD35BC12F87 +DB2E409622313A385216585D5C37DFFC9B46F48F2BCA0BDB54721764FEAC99AF +BFD01B2E63F68A669229F80BCADEB20262923050A875B5EF18232E6E1819B2E0 +AC81684977DBB7F0EB11DAFBB5774E03D63CE0F730A77A5531EA0FE5447E008A +D2ECD0B30DADD3D1BEAD4B0BB194CCCF4DE9578EC9442F4EAA73B8BB8F138B16 +06565913E554933E4613ED11AC1F824D558DB589262440D175C2C754E6584950 +47494BF87510E31075A6E3D60CB6A32F5B2A885049388035B97B779C42429D4B +303FE5C64DF7627F92A962A3B8F5271EEDD78F658ECE20B07D19879BD00C8BA3 +ADAC110FBAEEA23E349EB4294CFDF279A7B1CC2A71326982C1241FE7CC8CCD7A +D613AE2F9C78A853DBA83600B193FB45531998C6D9DCA1B8E3DFBF754B829727 +EA1D5C912CA13FCEDA4256680159FF1F377C0C6B93B9FDB5C748736787C8413D +32436B4DBE8339E868EC8C42BC5F1B887EDB628335F0FEDE2C7A959E16410852 +954F5C5CAA2B4C557A30AE1D2DEEF673B68B6CE989B27F4E26FF8582C30EE843 +BC7392D42CD728E6C626203F1401D328E9B38770D48ADAE77D87CE04BDF2FF89 +6FCE109028653B8252D4DCC8B34040833F8E8A8FF1A53448C8D289AED30969BE +7840AD99B77634201B8B9649D14B003836F9ADAA41C302625CD1B6C1A6F40B5A +ED6A5CF12930E48B9FF647166290439420B6831219DF14F18021CD563FC257BF +9C368032559F5C1C3CC198FE6D833B8D612890F6114203E90EA7A9D6EC8B3A36 +00486E140B9B76BEBE37888C8831653D237C1AD50E00ECE417C9C8FCF1A9115C +DAE1B99D11715116E698AFF2DD7F6A34F4EB0B2ECD49854613B1DF522B6E8953 +EEB3D1C90F3179F56FFCE049D06AFD09814FA87D2B0D100B11105609BA8567B5 +181445216C061293C6C9DD0E80FCB290DDB63A55FE3BAA16382654B167E99290 +26DF9BA06A96EEAA33CEE2412D16B0F8C749A7E4C76A889E24FDD9D849B5068E +F204008372317087891A7ED02D0BA26EA9DDD6BF1649F06F5A3008408B0FED08 +EABE9AE4711B954A3CD36094CB79C964975E6FBECB93C940381B2D0AEC71AEF8 +6ADCACDDDA63FBFE0CAC845E24BAEC24B8EC4F9764655C20AB752BC5FC7BFD92 +EBFB78FF7AF43EAD8C9B7AB75517AE9C06DB5CC0F8CE9EB5217138803B572640 +9AC5C4788CF145ADB5E1F7557B43360C96FF808E5EE15FBC34E6788D0566692B +787138C1F5A7F6006A94A7E0D9842DC369BBCBEAF10CA5DD000491F5D77BEBE3 +49FC14007B740C8914327EAB77232A75E8435D519F7A4342BD281E11D5FC7925 +172B0B6536C4EA03D8E03ED9DDC97B65E0DB25E944A777AA23BF45521403A879 +953D5AE9E120339495CEF93CD90689AB259B38BD8E598968A3BDDDA4185237BD +6BD8F1E5C1EE9442DC28283D2E930FD7B4311D53B1B458A9E124812615D3366A +801A76A7CCA7DB1B5BB4531E7B68068B3E36BD2E9A427885CF360C4240C5B89E +C1028EEAB4FA4AA2435D4C221120459FF063488743CDCE682D7BD79E59DB018F +740490742A4F86B2DD34D409DB4D4A8D2C265B788E31D5098B20B9DC6455E3C7 +1CCBC89EB9A6F1DD0B1D15E57C68293D913E2ECEDBBE89801C9E673A2B607B98 +E72B0F608E9D8D69A29DA89371F807148D1B7E6B7B04276719A087658F88ED44 +390462F01C1806A0DBC2C9F0AEA43D107C4F36BB0E2E89C6FCA8DDF67EF5A026 +1B529F9F065ECF945EC664B9E5A280BCAF04472598321E8709649D3F58EDC9B4 +DEEAABA6D9422507307132E73A941FF3CC43904373A4A616FBFEB230B327F360 +2EF5981AF5FA048B9943BDC3E9554322A39454E2DDCF4AE2EEE29FFF07457794 +A1CA38CD0BA815958355A56F656937B7B8F5E9B1645714C22BFCA5C2BD0760C7 +34200ECF6C7F9C5FD384C4139B38D97334F0B3F8100FCDDBB5B497CE327A0A93 +36A0C9B42CE0756ED25CADDA2B1645F92A28A3E22D45E760F9D692D35BD798E0 +7413AE5C5B0A0EFBD23BD02F5BE218DB065BBB9AB8BAA6E406263C21E02646ED +CB9AB447820912B6B6A223E9735B3DFE16CD1C6E58A9A89FF6824D417FA45DE5 +1BBB05A24AB825C3E34F403E462F875DE9C44A7B70C17711F1F06B978ABA3F03 +03E769493BC1068B6B4E1236BDC385FCAA03BD13EF4CEC29712BC4DAD8A57025 +624FCE0342E5EF96479E4CB19F90563476DF535B7BA290E3537542D130884B2A +B4557610EAE99F633087F26E3F13FF5F97C87B6DB2C57C8EDB0CF0D9F6F57719 +40CB59793CD2FACA30E88FD7743E8EBB9AF6925C6020AFD1B6F0531F4445F7EA +A2D944012DB4E209E8EDA63BAFCE1CFC0116E1FEC608FF717AB76DF646FE43E3 +15E80619FA65ECE84CF79243441DBE74622B2399870DC8DB0EB474740E6B0EC6 +C18A95B8E5D1AAE8409CA2DF9C5CCCFEFAD11EAA9F2B4D54AC86E08775012D14 +F1B13CC0E1FCE34630A716CD3BCA21856FCA9D42FCFE22C08DCD3050E05E6E82 +924BD30A95879C27F9DB52A23C4AE542BA3207842AC22815DF40EBCA491FFE90 +23750CBF6C07F65BD0095D9C969AF79DF4D2ACACF5449A50653408CFF59EBDA4 +E0F38F0DA578F7AE56D7C7AB7E46B865AFDBB09AFF6B0AAA978D0EC3B60DE002 +EFB5DE2A8CE2078B94BBE39496D7C2A8DDF2D7097CA8DB7A290F639A6205E37A +0E3ABCE7CD54858D55837A8BD376580FE59F3D07B788EBEA7BA21B4AEB1177BB +0508DED552EC197CA71D2AEC178068345F14F351239B01BBA9B37C53F88E7730 +D9836EA38100EBCD162A85BD7B2E38ADDF6F315135D426A6963962D317342805 +A10DB92D6C9089FF578D9F13319A55D72646E70ACEE59172607654C8A45856F3 +9B127D69D50AB5E97279B3257BD88A6CE8338FC236DB01ABCC52F7AACC54A6AC +314C1FD3065C975A66E93F7020107994385D5006E30D9995317F1D3B6C9FA79A +441A3C79F5B01A0F45055B114AB6BD2B76915DFB6E31BBF79CA9297EF76090D6 +AA2DB56FC2A948B4B686352D64630BF7434BA122E40EB355FBEA442AE2A9B800 +5534A18DFDE0F83DE229F6440A33F019CE6EDAA82AA839A801BE687E61AC116A +E64BE4343B25A0A3078EA887E80B7003B35DE11EAC5A40A7AF7EDDC2B4B84526 +1A5EB0CBC872419E8FF01FB7B88D79DF68763A4FE1BBA60DD5F49DBD2FCED03D +C8AC5C65A5B2B216E169884301F6C1B282906C99CC6C32C5BE4A04ED6D7C7D33 +A277570F1109CCC6A9918CE7C933946AA0DD60D7B30BB3271CA4F8290006A97D +196731C5030B04E2334E9527F68C2210D10F2CAC8C0BFFE07E3501635804129F +FAC1041E34BA4C141BCA97E43BC94EC2D955BBAD410CDBD06FA27999A5602507 +D9092E169D44E607AEADE8E4238768B599CFBC46CDCA2FF4CCB6F282AA02AF64 +1B66419AE5184B6C798B7F9C3107E3056B43E2733DDB9365B9BAB3C22E5CA594 +F71F3FC9BC58C45A915496298F4212F80D569CA216B38AE1BEF678CF555EB362 +BE6C2FC4D5EEE09D5F705F54F1C747919CDDE4A7B4EBA1C6CA3DBC06F19BBE38 +ADDA9C0479EE +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 2 /multiply put +dup 15 /bullet put +dup 20 /lessequal put +dup 21 /greaterequal put +dup 25 /approxequal put +dup 26 /propersubset put +dup 33 /arrowright put +dup 41 /arrowdblright put +dup 49 /infinity put +dup 50 /element put +dup 54 /negationslash put +dup 56 /universal put +dup 57 /existential put +dup 102 /braceleft put +dup 103 /braceright put +dup 106 /bar put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A +27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF +5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 +0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 +DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A +71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 +4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C +515DB70A8D4F6146FE068DC1E5DE8BC57034FE2AD655DBC911C76FD991B91DF5 +2DAB3701C2F3703809AA4D01CE2FB5823DBF3DCB8FB55EA6C677A115BFA7781F +B87B1DA2ADEC303DDD1B4FD1CDE506AE380F938245AADF44DCD3DFA5D86EDDF4 +F696ECB1962420A310F01CF7FDA47567932366429EFDD54BDDAC412C155E41D2 +F4F88BCFA6AFDB11CAC1C833E8BF502FC99F5891D5A8DEC1A4C114E4D9895E0C +962B36ECB641B597A4942103D6E695A749A91DEA1D65A5B4D9055F387D9C365C +DA51AE4119A24930D3D1BBFED43BF8846ED0083C7A1ACBB8010EAAA3C263EAEF +00C1B7099378ABA2DF7833BABA23201D8C9FA4A784A50323BD621D7D5375564E +79BC09AC1F0B9BB65D5FA943A3E359D9F79FE6EE213EE56F1CD5595D726B5BDF +67D6DE93F117FCAA51EA345C4E0E160FF6802B23F6BCD33BD0332CA55B3C681A +2237868613595F87E616005D92D5F66081B4FDD91CC2418128F388CC38279B2D +4482FCE23663E0A368FA2B3957A387DB9BCEBD4FFA129F070CE7FF314D233DB6 +84B1100086CB09D7F80A24C5590B27A877979EAB3826211ED54CBF8097505FF8 +93F5A1991F8414C02D4ED0E39E70C57025D4AAED565CA38A5D7206AEA68DB95F +EA5CAD014BFBAA9895D8B6ECDE1C3B0057EBB7F8E94004EE3D2F025CCA598B12 +46DB612CAA8BC28E1A1D03F5655871882F4AFE424E0F1636C5EF7477C9C7AAC7 +B55441AA4C2215F4ADD87C10144950BB7339DD915A8EBBC8099D54638C54769B +AA953FFEC731E086B37955462878F8B7712CDE117F98A474477F97EC0BB6B9AE +97DA8ADFD25B96D82BDAF99C99D380920C0FBFC7BCD0A99A9F1B9CD8947A65AA +3AE1513907B66A6A3A2F243E200531E6C5189C32E634F6F07B68B449D117944B +4ED1DB4596BA2F732162C24100932645471E301CFFBBD7D4B885C4DBB8FE8089 +09EFBFC715F64E8FF18114EDE2F4D2BD9E87008251914E25C9EED94E5370CF2F +00AF7374774F2A864988759BF5FE7FB4AD89CDFBA414CD30DD4ABF53C4D66488 +8D623E28150D6F919D9601A5FA2C37DAFDB17542CB2302E3B1D31308BFCEFEDE +8ECA47CAE8FC68B4CBACC55638521293F696DB54F3C3E9D4A53EECC1DFD2839E +9DE21F72C3314B9BEA085F7627A0E92F57132F4034B4444C55A425EAACCA6429 +21DE46605D2575CA80A66DD1FF83DC3454C564AF7DFD63CFB1EC8F069E9CF9FB +F50BCFBBD47783C5310AB50DA1BB3995414E9702EE8FB6CA92D2E474973604CB +3631E363CD472E4108642C699B587EEBCA0EAB5FDC4855A038E2145D082317AE +D5602BAB9C005E3D7CC7720C80DCED623FB95952970392A7257F1713970565C2 +0FCCDB109F45A1033E3329F567FEE314219A745DB7037C011E16F7D2C31596CB +92C2033D34632CDCC770CFCC682AFDAF47A229EFE7DF0EFD6E9F20CF1CDF7316 +2A24CF7BFBDC084ADF96904E4ACF4A683635B1B2FEAA3F391A7B9595EC1F5DFB +9753E9FE8D813C631E351C6CA99C2818B4D73B3DE25A7D34EC37AE1A8E65DE8D +E71CAB3BC6D4D2329B9AF1DFB595340F329D14846FAAA80F776A35F3C49FAA3A +C38C7C66DD26EA957869655E12D28A78A8CF931918B3DBFDFD23C215A6CE65B0 +5576D97108275B34F97F477172BAE043A5E8C90661B06E8AA4EEB6A86E2D1407 +085FC72E7C94766504D7F58EDAAAADC7AF08A0FE5B022E8E57EC523DAB101DE8 +46DBED3C5AB3852BD3BD9D757F2AF984C937BD0DAE690CBE0028F91B1B4C5399 +5076C265C45556AF2A8351611A95FCCA6912B361A8D6854758F9022BDD8777EB +CFEF842F1D10664B0B1550D7B0104F0FA8114E7355496EB6018991E4FFE82B94 +D83A6DA20FFAFC001AADB9F2886B175147588B4CB8CD2A6755463AA8F5F8E617 +0670A89C0C7EAA408EA67A75756156222A0AEA2A8A35E1F9676AA7F99E3AA6AA +035DCB233A60248B85B82FF451F3E8DE7B8EAE0FD2ADDB94741C121585E4C4C8 +737AE6186640E96BBE1EAB13EF38FA4911FEBF6D71D7B3D24D529D42F4A9387B +4FF73A803A71FC3F2CA6FFDCFAE20F6575F53D20584F3B72A72E7334836403E1 +C111D4E4204CAE0AB3F630801F84877E3A57CE95CDAE615EAC9DC146FA32D7AC +55B9C86154C6BF79767251443038D0554CEF078E69796DB939A5949A9824C3EE +0EE19DB2D56C128F9280A0970E2FBE7DF44CABBABDB93C01A3F784AB9690A861 +6730D4CFF2946851A273B026C18D55C2A24D612B9D05773ED74A15306FCE57A6 +52399136F78872973DD9C162206BA2FA0A7F121B8E5A8B9FE3587C7393776E68 +168FDC276D4E77468E3378788C81A4A7DC660028317C0485F023676E68C0343C +92108F2D3E0541E1A02FF488BB8C0027B73C60358148C45828B041417255BC1E +F0A86ED17332BF158EA209B709E471A5BC6FC1FE131F6B1D9DD64B0C64F945C0 +F22B89ED5969450422FFB41F67340CC7B93D63A6A32D933F3B755456AEF912F7 +92480D3C3F8D5E0423B6D6D92CE72870428D7485528DE35C8A6096309C25506D +C0E5BFC8A2181E8A8F420E8ABE1D1946B591F6546758A6029BC05859A4A3FC1D +A6925BA39ADB68BEA37FD215F93E15DB56157597C8D0E6CCE0B024892F540D34 +8327CC5D6475B2BAAD3C1B75E66A62209EF100418FBA3A00A334B551E69F5F2E +3A631655771B835D2CF917994DF5E3467100DA76EEC1804A4C4678B114470E50 +B78E607BDC6816B81862E56C55ED80B2A0A6AFA80A2599F1F142A68345810F69 +85ED999E4E26F7B3A15039D811516D467039D594A5067B657B1A8944954F0FB4 +981F50C01C96BDE026AC09CD12A4B597E676D3B30292D4FBE1528CD0FC67514C +531A35D88459D2A229A0131327F3CEBEFE42B622710AAA4D94147F69424A2B83 +31C1BF461480B07EF8A7AC13B2D547266F0DE9F179CE254F1F9A24DABCF7B479 +4E9241C98DA417F26DC1B730DD6F403488D0A130EB66D421F285A77DBBE86D72 +5C7D1ED33F6F69CB55309877832207E7788EBC7B5C4E22FBFDEEE212F6988E64 +CC95D8B563AE465A4F0B89215927BB7D3BFD8634A24AA7FCEEE5500B27E46791 +D7C2A623F9DFD42F3ACB822CD29C6B7347820D1F68B04305CDF92543ABFE9CBC +7793974C53B66542311BE0B21CB3692444256CA0CB7A12265FC270740AED685B +556438A29271D544CDA97C78E29E6A7540E46B2E5B644F1CC7F36F2F85BD1208 +97F024FD848829F1BC90BDD38F670F2EA27A1FC93827C197D885EF9554F46E55 +B810AB474056F63E751FA492BEEAABCE753FE7DCBCE43117D06ADFA0301680DA +E2E9A1FE66DD26A9D1905F4F3764892D79818AEA4F9E3DC4E628119E3C33F38A +CD1C34BF76B9C04D9E48DD49577EB0BCC21E4168D5B0D4D9EC1E94E47ADD100B +37EB00833C8CCB492AAD22F8C634B939838E00D42E75380492FFCD1F28A93D27 +915CE6F1780F6B69E2ABD839A0D6A7E92015DE7ED33914AFFDD2C8DA4B40195B +23497BDD7541FC59327272FF5D25BAC1D88BEF4E7D2A0C6DF1591DEB266BB628 +1EA176485B5D57F3590FC4D5EE8EAF53D9741786859FC871899C0EA73A23292E +2EE21E88B6E2F997F540BB146DA2379C0FE5AC4FCF8346A1966E103213092EE9 +4132D22AAD +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.1: CMSY8 1.0 +%%CreationDate: 1991 Aug 15 07:22:10 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 2 /multiply put +dup 15 /bullet put +dup 21 /greaterequal put +dup 32 /arrowleft put +dup 50 /element put +dup 54 /negationslash put +dup 102 /braceleft put +dup 103 /braceright put +readonly def +/FontBBox{-30 -955 1185 779}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0 +5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F +80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107 +1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB +DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20 +9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1 +CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA +F83C7D393392BCBC227771CDCB976E93302532471AAA096BDB7D3D00544FCEAE +86A3196E1683DB53C308F865EE7F6C22EC40D307AE114E328CC80446A3F982AF +9F6D58B72F017CA3A5E4241120081E58FA971E59192E4671C7792406813C6BB6 +A9D5CF1CDD3F0B68897404FD1C8EBFE91EF253083495F0D92A7AAA065EDA79F8 +7C9F31807E23979F8D77DA7F04B7995FCDF479274EA20690085B37441CBE529D +FBC2DEFA2D2EEFEA08B828523F05516FF44856947BB35A3023E8D44E8C7843D0 +DEBD78FEA96E4EBCCBE6CF0518DEC7AFF49CA4FEC889658CDDA8D815D37B985E +246422C972319DEAB98699ADF21AF8ABA7D738EBCE86D057D036DFFB2C173E0C +BC673338506C9C9A74B4E62D0EDB0932F31C97D7D941F1AB92C8344178EE40EB +9FD9F188F64930489DC7954201668D8C13D6771001E22F5705B21E471E3B5D64 +DEE474A8D30D4B798AE5775AD90A7F7C6111332FCE120019E7F0097A26D3CA56 +509F077E50CA3487F837C1D047C9426E90DB39CB1351E835EFF1668D43383C53 +3DD7EE40589B8952A4D4C7D2DFD4C26693C23773E66BFBFFCD1FE6B763983571 +50DA339C1FF2DAC8264F7E63C62DBF7233DBCEB419D0AB09031421ACA6087B41 +C65EEAB08E63840DAE4CE1FD48030280DBDDF6FD404017856AAA6547BCC15AA2 +33C11466F7FBEEFE888AAAC8510FEF279D7A334C96615C3BE70D6F38455D1302 +D0DC25A9C867CBA1E91CDDC5AFC0FD702F4D4CA76394FB1F71D2587547F0B6CB +9B7A6EDC1F3976E80248EDC50F7B44E5611FCF618409E454699A3269EEE11829 +B65E38EB0C414AF52484681E481C11EB0FD068FFA5635E752216F70EEACD553F +DDE57C9DAD8DF87CEFA452136F2F2F729E36DB27321FBB52301382B8EDB232CB +E2ECD487E09898D2E21AC82120BBD72392AC1E77BB67E8675801BA3AD936A02D +745F30A47F189D1049E5844F11C98E975C9F958F2F9B16732F9285B47A2512DC +A2812F89ECF035686374D4DE2C9DBC56C8AFD1772A5289C46EF51FE7CF7201CC +C0A9104251C2091456868BCACF740A013174A1274A12C6B74D404C50662AF20D +365D43592A0F56B9FD6197E86E51222315BFE79403B1471680FBE95E4F195BF9 +FF3697F2042AA882944E05F7A4119C8C263DEB03A9E4BC5232B779AA483868F3 +81F77D28A869FEC766B1169C2715DBD57F5B97756D75AAB94268934BCA947935 +A223D534E9BB485A9EC245B58C6B685F53738EF196CF727BAAE8AD15729D06DF +BFCAAD6C3C935454C59B18AB27A9992CF9DAB91BE1C4CB99B5AECFCFDD1DB902 +C831A2541C72D1FD12EF76228B99CD5D934E91F6810B0E34042B87E59A60CEEE +021963452C1FACAF9093DBAA49E4BD9164FE73BF6F28F6903291C33ABF2D978A +09FF2ED56066E878D23C297D6B5EF3516BFBEA6FB835A3FEA0A87E5AF4EA46A8 +7488627FAA32015E4648D10DA02AD389B8E18DF9B524B036BF21F4B39EF3D0CB +82A8A4EBFB2457E8F40742B16D09656ECDDADCCBBA9BDD7AE6A6E67D45FE12DA +D3D5547C257F23E462CFEE452907481FE1FE9970433078408F8C0FEEAAE553D2 +146B5B5049A9F25CACFC14BE5AA65D18501F68D5BAAA43AC403535A74C5637C0 +1EE0B6838C5BBCD271A5AAAFB8B2C46A70540571A8E890323298A4E43F8F3939 +F06FD69C154548E185EDD64DACDBADAA50D1EC81F245C64F82F5F41383B0E70E +F7788725B6E1BD626472797E4E28F0AB7CBCEACAA75C988D8B98C00D5FF3EB8E +B8AD0F5D83A69CCE1DE349AE70AB95A1C0595206FDE0753C16EFF3AB743F1F07 +6F81C2D9FEAAF165ED0D323B35D75B806A4D3A0CF91B4A8C844F8ADEF9E1315C +858825E8E59EDA0E39DF24C5C0E8C04126816A80D23232ECA1E0DCA95B14F8AF +B2057A682D8728B6AD59BC57A0274C7AE0D303465087D3C8B9FE9DF2F2A9011B +513C163A62834E7CDB5381A5EBBB30FD9353DD2B12636F6D650F284978F2 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI7 +%!PS-AdobeFont-1.1: CMMI7 1.100 +%%CreationDate: 1996 Jul 23 07:53:53 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /alpha put +dup 17 /eta put +dup 28 /tau put +dup 60 /less put +dup 66 /B put +dup 78 /N put +dup 86 /V put +dup 100 /d put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 120 /x put +readonly def +/FontBBox{0 -250 1171 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D77639DF1232A4D6233A9CAF69B151DFD33F +C0962EAC6E3EBFB8AD256A3C654EAAF9A50C51BC6FA90B61B60401C235AFAB7B +B078D20B4B8A6D7F0300CF694E6956FF9C29C84FCC5C9E8890AA56B1BC60E868 +DA8488AC4435E6B5CE34EA88E904D5C978514D7E476BF8971D419363125D4811 +4D886EDDDCDDA8A6B0FDA5CF0603EA9FA5D4393BEBB26E1AB11C2D74FFA6FEE3 +FAFBC6F05B801C1C3276B11080F5023902B56593F3F6B1F37997038F36B9E3AB +76C2E97E1F492D27A8E99F3E947A47166D0D0D063E4E6A9B535DC9F1BED129C5 +123775D5D68787A58C93009FD5DA55B19511B95168C83429BD2D878207C39770 +012318EA7AA39900C97B9D3859E3D0B04750B8390BF1F1BC29DC22BCAD50ECC6 +A3C633D0937A59E859E5185AF9F56704708D5F1C50F78F43DFAC43C4E7DC9413 +44CEFE43279AFD3C167C942889A352F2FF806C2FF8B3EB4908D50778AA58CFFC +4D1B14597A06A994ED8414BBE8B26E74D49F6CF54176B7297CDA112A69518050 +01337CBA5478EB984CDD22020DAED9CA8311C33FBCC84177F5CE870E709FC608 +D28B3A7208EFF72988C136142CE79B4E9C7B3FE588E9824ABC6F04D141E589B3 +914A73A42801305439862414F893D5B6C327A7EE2730DEDE6A1597B09C258F05 +261BC634F64C9F8477CD51634BA648FC70F659C90DC042C0D6B68CD1DF36D615 +24F362B85A58D65A8E6DFD583EF9A79A428F2390A0B5398EEB78F4B5A89D9AD2 +A517E0361749554ABD6547072398FFDD863E40501C316F28FDDF8B550FF8D663 +9843D0BEA42289F85BD844891DB42EC7C51229D33EE7E83B1290404C799B8E8C +889787CDC2BAF26F242EBDCFACBDBB4366B3FF8B61EB77A2D5CB8ED043CC677F +065CB219AE7093997133905126A3555B89E83F0FEA679B2E45E3C4D16BB578F6 +83778A44C76A5EC27B66C8D35AFB9F04D1979A59007A57A3B36EF9FA34CE5233 +324EC98F38FF79B7F6C29D16C498D0F26FBE1E2CFC9A46EA99F7717795F145F4 +A5565AF88877C525ECD0E9ECD1D19B731E50363A46D5B576351B4657116EA4AE +60FD15F8F94834684DA50CB1B30D2B647AAFB2E46AFE1B18CB859210A02318F5 +5FFAC83A06F9A29D11C64BF5F3B2F05F7573F6AB8C938C783F832674A775B047 +C8F9249ECA759C70C7DBE31A20BE54981042CF338C20FAB5101FE265A2A2848A +05D5B8743FDBFFB746014AFD04E194767578BB4BC09C4BA1718654F22BE0923A +ACDBBC1D55536150E3C8882DDE937CC0FDCD022DF344C7BFDEA6C7DCA46DF1A0 +E650760D02F9FEA92E2054BD3AB7929C2681D29302935DF4EBBC79E94BFF2981 +6AA850454DD5D1484B7B2C77E041B8D8704EEC0C125F876611B8734F92D2D42F +1E105D556D760A67D53F63C21F2966ECEA481FCBA69A085474D09244E57A2949 +515CC7E42F3BC53D3351582F413CBE9D5F0AA250010DF0B8852DCDEFDB413E6A +0A52476549E949B19FAB5ADBC822B75CE2BAFCB9AA2BDD0F1B09A0488909FAF7 +5248E195C9FECD66D31D2154BE3C5F7E9D5999A3D98887FF6AC592AAC1B333BD +2BA0E7FEBE34AAD138972FFB0893B4322E8645A207120454BC08C20E4261B48D +D4A334431324EBA58D35756A8B8B2FD10B2D83021582F4606FDB40ECD6719195 +938531D9645973067D2444D81E302BE473EE06BB0893331F84AB44249C56F527 +BE62E63C2478BE969A713BB65D6483DE21E6AEB9F1EAF0372A05BE6FC8329D24 +8267497DD6B34210744A5C2EA400B522A40C59F9996D3753D9BA6A5E14878AC3 +0E15662ED4D857D9719D1B0F0C2A4B74F2DC3E9702DE4E2C2F10F9393A21F9B0 +C4B115359D25C9F2DA0128A91AE272ABFD45A4F454CC9D7A064FD0E639CD7BBE +E21ADF9346AA80F24999CA788B4A8FED53E3388664B9D51D6E2F4FADD3A70AC9 +8243F24072A524F43F5D72CFE53060EA80636B66B6399CA44F2E74E0D10C97A2 +3C0205E7D880453E46BC1547FF2CBFAD095757F030D647E3E86F3224B336F26A +D6835FE239158219B5FD715B3B2E8F74A053BE279A1188E2950E62DF353AC6A3 +BDD4F2E80225FA9DBD60E648DD0C5B4537D37F529F9E05D273422A577AD06102 +5C4DD3BF98C4348C3164EFFE730583EFBC984E752E634045F005A006F983AFD7 +E52F3DB0775E8C563E7BA885350F82680252F88BE2779C407398FC10F4BD5B47 +67D59D232048FCEB25F25CFB1CDBF9424112F2296615EC701949BAD7214CD031 +3CEE6CBE843A3AE24171DC8DF8E2187857C95EEADD57209F35A1F395BD1FC1D7 +8A897F8DDC326F7D54554685A5360E28CCF0E140E00CE7BAA3E5D31BB9835CA7 +5BD8EDF15F75CF786724CA913F9F53A0D31E2F0E4965D2D3A218B09155BEAF25 +852D8407C2D1F14D7A1EB2FAE19752BECCD343E3FA070294B572C31D4F0773AF +1EDC366D7938F5D3AD59D0B752B7631FF6C5D1FCA3D14EA18FEA28DE9B208C8A +BEEBE3E8D3CAC61E769CC6A02971E6FF9A5E464551912750C604E314C4A2EA60 +DE5372EBAB851336E4DB3B7736A8A836283D97CA05D3F68373EE53DB20B54E6B +F632C08B90644B190B2AF07423F5E432442BA187E15C5D70458E2D3EEAB2BB81 +54870B4ECA71C5D3E8F8BED323E6B2BF0014B66ABD4D7DC362CD4FBE29D0D6F4 +5AEA8CFC020F9B3B9D30BBE3E8AB88353ED669F70B0117E792BCFFE56D1CA794 +A2E2601C43F02E71F5A59D9EE6B9580C54FCFC09706FBD2BE11EAE3C0CB6F0AF +D1A1116CB023E17340C9BCBE291BDA5BA88866E3D8862F13772A3CAF168970D3 +ECE65BCE9CD69D7BB87D42D75F3EC10480B642BC7C06797CC24B06ED2459538C +E73327A102689DF0E16258CBA0F6793E226DF350930442A2A904A3F537604BD7 +479E0EFCA3EE2AB78E63C028673683D203BDB1F30480BF01C50162FEEF71917F +B240CF393F6D5E8AF3E8E2F1A9CA0D0EE0E8B1449890250FAD0A8DFB1FBC663B +2E225613EB5D1A1B0BCE536B4999428034EC9BA602A4A605D64E6F7204413669 +1A295DB9DFF2EFB1A2FD4153A2714D4FB9EB868CE0C20065932562F271B8F0C0 +1645F0DACBF12BDC4C162749B986CBD7ABDAEAD8DD94B3C2B87D1C9E18DE3F45 +E9B8A21630EE83E832C6A3887D3150684F1F9B28ED4C438A145B7C26ABC7B41D +22D633E713A146B718894055A0C5ACE6D556E9882EF23E7229D00E2038251DE6 +71EBF0B910E4B2ABF00774F3BAFDA91B893E217CFAA277CAB718D21E2432921B +B82C5FFB8BF276719F6815C09493BC8FE82E33DB0EF703F3F54890D4129102A7 +5FC02DF9701988D3F6B5445793205FDB224C61C9D9C30E262C044D773BCEAF69 +6162C2C76EDB31978907A8F5EB41A5B2A48EAB6C1195655F6E6997B6D9A5A6C0 +A78105E503F1E02DF706DB93DC8AF589BCFD6ADAF983541DEAC144F640DD4582 +7AE7688E17150775A69DDF03AFD9594B715D3722589AE210157F44692F330AC3 +F5260A3A795803A001E4342BB0474A23734F0D779FFBD7FA96FF81418DECD960 +9BACEF3159544A5A167705B297D517A49CB87D8FF5DF8A8C1EA77671AAB3AD93 +6EE3F25283820B64F400FC633043F5242F86AD93C1B7F0246CA60B4C894C87F2 +EF125ED3C271B45F90AE0B937E9F763C84256F3F47BDFB83CE926A8C371191AC +312928DF5C87A3282A881A520592C62295408AD92A767E1084861DB010919616 +59FD6DE85787A18CB27DC6C0C2F4DDD68CA539D900774696CEB53FBAA4CA6BF9 +4D7AFF39DB99019B8008D8403CFB0B56CD84E592FA5CE57E4BB97C57C8FD80C4 +7BCC26E150DBFAB0CA59A0ACA70345CD00B0B00428421C13173D49D74F8D6684 +302AC70BBD77036FC71750D670F8B0C8162BCEF3DB3CFF161FA1A18F9FBD23C9 +CFE9E9AE82B804B236F74EB2A197936EBAFB01D4E6939B90A4BC5350BDCC0FBD +49E97502F9125C11F8C7BA7B2C20074766D9D431ED27039C82D87C35C3E7D318 +2830647F250858FE041E01BFAC3B68ADC806BA957074E078B2429C872B8F5AC3 +3742327FF14FC0E3C92F3288FA564B8679EA8D8F12241B8AB3D838697B8E77E5 +9850C9A9A8C003973B6A8D01EE6481ADD3EA7170FDEA3D7154A3B6CC7A57E77B +8EEDACF237DBE78500A1A8BA50D742A0E96155BA4FE0B957739BDF7A3750813F +3E46A33D18126974A28D776CC89A462A4468B5A83B9504953EF2F860804B5858 +CBA60B752245F82D6F6351150441DC1A1FF10D1C21E9D30C9372AC3C98EA4D0C +F5D7F0ADFA32B4795F30AF0D70F3726B5554B401C56E9B8F22737CB95F2DC629 +8115139AD53EF5AEEAD88FB188A76EC9742DFDBF8FF7875C6AE1FC95FFC0CE5B +DF1FCD7237BCFD950B51C7242AFD827DF3D8A33924FD382EB384E0D597B47402 +1439BE425507C45E2A3E84C2E10C2D3049A56D29EF07E7D8BA97AC78AC67712A +E1250D02881E151A0B35323DB7965F0ADAB0FBCAC6993915FA369A9DD5B352F5 +CCA00FAA6058378CA6595873984EF6602C56DF9C2A3647316E3C1F223E40531A +C2DF6531CB053D996577EE1C3084484456E01C1BE186AC66C14E640D3FFBA030 +78CD7A5A6D11562A5D939D21CD2C618E9648684A62DC5A0B7031FE9E4E46D443 +29BA0188D4334D93B2B08E5A1645D3DD8F89F6AD12DE50D712729212849614A0 +37F6FE2BA4AC810E536C02254554F461F912E904B2832C00E7FDC67A3972EEB5 +309599D6CD4C744DB0125FDA4C8514FE0E1F7E0E65ACEAAD0A01DC92EF630A1D +5B57BBE25DF1F7A184E9D8DC6F65F139725BC4AB4CB085AF49A2260838DE4985 +084C7DBE968D16B03E4CC33FEF7CA14AB0FED4A7B2F3E25254D9AD5375BE6B8C +8A5F649849F06EE2E4230F33E8AF7B2305315021C106C3C162739A7D8B8F251E +58F206991E6126D4AC94AB025F3901F3DFDA06D949DD8454581501DC58D813CB +DFEFCBA7B4E77F3071451E06310E8E2FE68A2DF24A96D6FA97F0CADA5D583B4C +D69DCE527D0595ED1926D98EF6E9244B01B69CE38FDC29164CDD044F460FDE8C +3E0D42EAAA1FE3FB78852CCC182A29B3F6CD100BAD23609C1E628F6F6F87C9B4 +140556B9E7B4F959926074576186A3A29ACCF2F087B790F3D74657C5172D511B +DD0D469E3A5C6020359CBAF5E30FA2069644DF98E98D972ACEB4022A56EB7D2B +86A6F5F7F8CBB569425E7FF4FEECE58ABAF7A0ACE28D56938F5373441E444B0A +67EDA16E5C8D503EEF9891CA7DA993087DBD9E725D1B21CEF96A9B5D8144D00E +D980B98D4DFBA4D84FDC8EDCE0847D979FADCA832E6EA28485F6A36024ADEE8C +08F7848B2B2AC7806B713D6E6B9FB4FE1EDDD17AE2F9D52E705F4F23386977A0 +FACEE53745A829D745A641E36963E61E99196830241BE1F1350F1A25D3D1F8AD +05797E1E1520F87AD6867E6744946AC63F3ED1CB18F6AF5BC0A2D01D40FA85BD +FDB0EA39A2224783B23FC254007F7035668C2D937790C75BC5EDEBCC1EFF361F +9E0F3DCB1ED7A8095DE536C8BB9221CD5A5E038DC9C2ECAF59BEBA15C280FE7F +E8E237C804A48D69039ABF7D57F8410C64B97B4BB058A1BC3D066DDA0CDF6A7E +67D6BCD368F25BE95A7BCFF7FDBCAE674EE1035E0D2FF7CE93AD592BA10CF31F +5C7F53A42D6579933E855F94AB40B4CA7D3C001C8A13EB69784958E64348D73F +50914BF5B3C238D1B9CA0BBD50917430062D848833CB80FDC5FACB8131A6587F +182FA0CB4CD5B2883D3A5D464D84559A38AFBEBE68028B40B33442AA225689E9 +ADF8DC21924B95 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 39139632 55387786 1000 600 600 +(D:/Texte/Sensors/Fusion/Fusion-chapitre/Fusion-chapter.dvi) +@start /Fa 133[27 31 1[47 1[35 20 27 27 1[35 35 35 51 +20 31 20 20 35 35 20 31 35 31 35 35 12[39 35 43 1[43 +1[47 59 2[31 23 2[43 43 51 47 1[43 6[23 1[35 1[35 35 +35 1[35 1[35 1[18 23 18 2[23 23 23 39[{ TeXBase1Encoding ReEncodeFont } +49 70.5687 /Times-Italic rf /Fb 175[70 80[{}1 58.1154 +/CMEX10 rf /Fc 201[0 50[31 2[45{}3 41.511 /CMSY5 rf /Fd +194[43 8[28 28 28 28 28 48[{}6 41.511 /CMR5 rf /Fe 193[65 +62[{}1 83.022 /MSAM10 rf /Ff 214[24 24 40[{}2 49.8132 +/CMR6 rf /Fg 205[42 50[{}1 49.8132 /CMSY6 rf /Fh 167[102 +88[{}1 66.4176 /CMEX10 rf /Fi 173[48 82[{}1 66.4176 /MSBM7 +rf /Fj 139[24 7[20 1[25 22 8[26 17[48 78[{}6 49.8132 +/CMMI6 rf /Fk 162[20 1[20 29[55 11[35 35 4[55 1[27 27 +40[{}8 66.4176 /CMR8 rf /Fl 133[33 1[40 2[41 25 33 32 +3[43 62 21 37 29 24 3[33 36 2[37 29 11[41 43 3[54 56 +6[55 2[58 2[53 3[35 55 1[20 23[33 16[35 5[45 9[59 1[{}30 +66.4176 /CMMI8 rf /Fm 138[39 23 1[31 1[39 35 39 1[20 +2[20 39 35 23 31 39 1[39 35 12[47 5[51 7[43 14[35 35 +35 35 35 35 35 2[18 46[{ TeXBase1Encoding ReEncodeFont }26 +70.5687 /Times-Bold rf /Fn 139[23 5[37 1[20 31 24 22 +38[43 66[{}7 41.511 /CMMI5 rf /Fo 201[0 3[45 66 19 14[66 +12[52 16[34 2[52{}8 58.1154 /CMSY7 rf /Fp 206[25 49[{ + TeXBase1Encoding ReEncodeFont }1 49.3978 /Times-Roman +rf /Fq 194[51 8[33 33 33 33 33 4[51 1[26 26 40[{}9 58.1154 +/CMR7 rf /Fr 167[120 4[69 2[88 14[73 73 3[74 1[74 1[74 +6[73 73 14[66 66 5[62 6[61 61 50 50 6[48 48 6[38 38{}21 +83.022 /CMEX10 rf /Fs 173[60 3[60 78[{}2 83.022 /MSBM10 +rf /Ft 135[44 9[46 69 23 2[23 7[42 3[23 1[23 29[65 1[23 +1[42 42 42 42 42 42 42 42 42 42 4[65 1[32 32 40[{}23 +83.022 /CMR10 rf /Fu 133[39 41 47 1[40 1[30 39 37 1[42 +40 50 73 25 43 34 29 3[39 43 36 1[44 10[48 7[67 81 5[65 +1[61 69 1[63 3[65 42 65 23 23 23[39 5[36 10[41 2[37 1[47 +53 4[65 4[69 1[{}39 83.022 /CMMI10 rf /Fv 133[39 44 50 +66 44 55 28 39 39 1[50 50 55 78 28 50 1[28 55 50 1[44 +1[44 1[50 12[61 55 2[61 1[72 1[61 2[39 2[66 66 72 66 +66 66 11[50 50 50 50 50 2[25 4[33 33 40[{ + TeXBase1Encoding ReEncodeFont }41 99.6264 /Times-BoldItalic +rf /Fw 206[29 49[{ TeXBase1Encoding ReEncodeFont }1 58.1154 +/Times-Roman rf /Fx 149[23 2[42 42 44[46 46 1[0 3[55 +83 7[83 7[83 6[65 65 3[65 65 4[42 12[65 1[65{}17 83.022 +/CMSY10 rf /Fy 107[46 25[32 37 37 55 37 42 23 32 32 42 +42 42 42 60 23 37 1[23 42 42 23 37 42 37 1[42 12[46 3[51 +3[46 2[28 7[51 13[42 42 42 2[21 28 21 2[28 28 28 35[42 +42 2[{ TeXBase1Encoding ReEncodeFont }41 83.022 /Times-Italic +rf /Fz 152[35 35 47[0 3[47 17[71 10[55 5[35 12[55 1[55{}9 +66.4176 /CMSY8 rf /FA 75[23 29[35 1[31 25[31 35 35 51 +35 35 20 27 23 35 35 35 35 55 20 35 20 20 35 35 23 31 +35 31 35 31 7[51 51 67 51 51 43 39 47 1[39 51 51 63 43 +51 27 23 51 51 39 43 51 47 47 51 65 4[20 20 35 35 35 +35 35 35 35 35 35 35 20 18 23 18 40 1[23 23 37[39 2[{ + TeXBase1Encoding ReEncodeFont }74 70.5687 /Times-Roman +rf /FB 135[38 3[25 31 31 3[41 1[21 35 27 23 4[35 13[39 +7[53 11[50 5[52 31[31 10[34 5[43 11[{}17 58.1154 /CMMI7 +rf /FC 134[50 50 72 50 55 33 39 44 1[55 50 55 83 28 55 +1[28 55 50 33 44 55 44 55 50 9[100 3[55 72 1[61 78 72 +4[39 2[61 66 72 72 1[72 10[50 50 50 50 50 50 2[25 46[{ + TeXBase1Encoding ReEncodeFont }42 99.6264 /Times-Bold +rf /FD 138[46 28 32 37 1[46 42 46 69 23 2[23 46 42 1[37 +1[37 46 42 12[55 7[55 7[60 2[60 12[42 42 42 42 2[21 43[46 +2[{ TeXBase1Encoding ReEncodeFont }26 83.022 /Times-Bold +rf /FE 64[37 42[37 25[37 42 42 60 42 42 23 32 28 42 42 +42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 3[28 1[28 +3[78 1[60 51 46 55 2[60 60 74 51 60 32 28 60 60 46 51 +60 55 55 60 1[37 3[23 23 42 42 42 42 42 42 42 42 42 42 +23 21 28 21 47 1[28 28 28 35[46 46 2[{ TeXBase1Encoding ReEncodeFont } +73 83.022 /Times-Roman rf /FF 134[66 1[96 1[74 44 52 +59 2[66 74 111 1[74 1[37 74 1[44 59 1[59 1[66 13[74 4[96 +7[81 1[96 2[96 65[{ TeXBase1Encoding ReEncodeFont }21 +132.835 /Times-Bold rf /FG 139[39 1[52 1[65 7[65 2[52 +3[58 29[84 17[58 49[{ TeXBase1Encoding ReEncodeFont }8 +116.231 /Times-Bold rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%PaperSize: A4 + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 523 282 a FG(Chapter)27 b(1)523 +448 y FF(An)33 b(Asynchr)n(onous)g(Diffusion)g(Scheme)f(f)m(or)i(Data) +523 598 y(Fusion)f(in)g(Sensor)g(Netw)o(orks)523 886 +y FE(Jacques)20 b(M.)g(Bahi,)h(Abdallah)e(Makhoul)f(and)i(Ahmed)f +(Mostef)o(aoui)523 1720 y FD(Abstract)34 b FE(One)17 +b(important)e(issue)j(in)f(sensor)f(netw)o(orks)g(is)i(parameters)e +(estimation)g(based)h(on)523 1820 y(nodes)i(measurements.)f(Se)n(v)o +(eral)h(approaches)f(ha)n(v)o(e)h(been)h(proposed)d(in)j(the)g +(literature)f(\(cen-)523 1919 y(tralized)i(and)g(distrib)n(uted)f +(ones\).)g(Because)i(of)f(the)g(particular)f(noisy)h(en)m(vironment,)d +(usually)523 2019 y(observ)o(ed)26 b(in)j(sensor)f(netw)o(orks,)f +(centralized)g(approaches)g(are)h(not)g(ef)n(\002cient)g(and)g(present) +523 2119 y(se)n(v)o(eral)g(dra)o(wbacks)f(\(important)f(ener)o(gy)h +(consumption,)f(routing)h(information)f(maintain-)523 +2218 y(ing,)19 b(etc.\).)g(In)g(distrib)n(uted)g(approaches)e(ho)n(we)n +(v)o(er)m(,)g(nodes)i(e)o(xchange)e(data)j(with)f(their)h(neigh-)523 +2318 y(bours)f(and)f(update)h(their)g(o)n(wn)g(data)g(accordingly)e +(until)j(reaching)d(con)m(v)o(er)o(gence)f(to)k(the)f(right)523 +2417 y(parameters)24 b(estimate.)i(These)f(approaches,)e(although)h +(pro)o(vide)f(some)i(rob)n(ustness)g(against)523 2517 +y(nodes)d(f)o(ailure,)g(does)h(not)g(address)f(important)g(issues)h(as) +h(communication)c(delay)j(tolerance)523 2617 y(and)d(asynchronism)e +(\(i.e.,)h(the)o(y)h(require)f(that)h(nodes)g(remain)f(synchronous)e +(in)k(communica-)523 2716 y(tion)k(and)f(processing\).)f(In)i(this)g +(chapter)m(,)f(we)h(tackle)g(these)g(issues)h(by)f(proposing)d(a)k +(totally)523 2816 y(asynchronous)21 b(scheme)j(that)g(is)g +(communication)d(delay)j(tolerant.)f(The)g(e)o(xtensi)n(v)o(e)g +(simula-)523 2916 y(tions)d(series)h(we)g(conducted)d(ha)n(v)o(e)h(sho) +n(wed)g(the)i(ef)n(fecti)n(v)o(eness)d(of)i(our)g(approach.)523 +3281 y FC(1.1)41 b(Intr)n(oduction)523 3513 y FE(Recent)17 +b(years)f(ha)n(v)o(e)h(witnessed)f(signi\002cant)h(adv)n(ances)e(in)i +(wireless)h(sensor)e(netw)o(orks)g(which)523 3613 y(emer)o(ge)21 +b(as)i(one)f(of)g(the)g(most)h(promising)d(technologies)h(for)h(the)g +(21)2555 3583 y FB(st)2638 3613 y FE(century)f([1)o(].)h(In)g(f)o(act,) +523 3713 y(the)o(y)17 b(present)f(huge)g(potential)g(in)i(se)n(v)o +(eral)e(domains)g(ranging)g(from)g(health)h(care)g(applications)523 +3812 y(to)24 b(military)g(applications.)e(In)i(general,)f(the)h +(primary)e(objecti)n(v)o(e)h(of)h(a)g(wireless)h(sensor)f(net-)523 +3912 y(w)o(ork)g(is)h(to)g(collect)f(data)g(from)f(the)i(monitored)d +(area)i(and)g(to)g(transmit)h(it)g(to)f(a)h(base)f(station)523 +4011 y(\(sink\))d(for)g(processing.)g(Often,)g(the)h(ultimate)f(goal)h +(is)g(to)g(deri)n(v)o(e)f(an)h(estimate)g(of)g(a)g(parame-)523 +4111 y(ter)i(or)f(function)f(of)h(interest)h(from)f(these)g(ra)o(w)h +(data)f(\(e.g.,)g(source)g(location,)f(etc.\))h([2,)g(3,)h(4)o(].)p +523 4182 851 4 v 523 4279 a FA(Computer)19 b(Science)g(Laboratory)-5 +b(,)20 b(Uni)n(v)o(ersity)f(of)f(Franche-Comt)t(\264)-27 +b(e)21 b(\(LIFC\))523 4362 y(Rue)d(Engel-Gros,)i(BP)e(527)523 +4445 y(90016)h(Belfort)g(Cede)o(x,)f(France)523 4528 +y(e-mail:)g Fz(f)p FA(\002rstname.lastname)p Fz(g)p FA(@uni)n +(v-fcomte.fr)3252 4960 y(1)p eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 523 100 a FA(2)1011 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y FE(In)23 b(case)h(where)f(the)h(sensors)g(are)f(carrying)f(out)h +(multiple)g(tasks)h(and)f(need)g(this)h(estimate)g(to)523 +382 y(mak)o(e)c(local)g(decision,)f(the)h(deri)n(v)o(ed)f(estimate)h +(is)h(then)f(sent)h(back)e(to)h(them.)623 482 y(The)j(abo)o(v)o(e)g +(data)g(processing)g(scheme)g(is)i(usually)f(kno)n(wn)e(as)j +Fy(centr)o(alized)e(data)g(fusion)p FE(.)523 581 y(In)i(this)g(scheme,) +f(each)h(sensor)g(sends)g(its)h(data)e(either)h(directly)-5 +b(,)23 b(if)j(it)f(is)h(located)e(in)i(the)f(im-)523 +681 y(mediate)e(neighbourhood)18 b(of)23 b(the)g(sink,)g(or)f(by)h +(multi)g(hops)g(relays)f(to)i(the)f(data)g(fusion)f(cen-)523 +780 y(ter)k(via)f(wireless)i(communications.)22 b(Besides)27 +b(the)f(important)e(cost)i(in)f(term)h(of)f(ener)o(gy)f(re-)523 +880 y(sources)e(consumption)e(due)i(mainly)f(to)i(wireless)g +(communications)d(\(i.e.,)i(sensors)g(that)g(are)523 +980 y(located)c(v)o(ery)f(f)o(ar)i(a)o(w)o(ay)f(from)g(the)h(base)f +(station,)h(requires)e(an)i(important)e(amount)g(of)h(ener)o(gy)523 +1079 y(to)26 b(send/recei)n(v)o(e)f(data)h(to/from)f(the)h(sink\),)g +(this)h(scheme)f(does)g(not)g(hold)f(good)g(rob)n(ustness)523 +1179 y(against)d(communication)d(loss)k(neither)f(against)f(nodes)h(f)o +(ailures.)g(Furthermore,)d(it)k(requires)523 1279 y(that)g(each)f(node) +g(maintains)g(rooting)g(information)e(to)j(reach)f(the)h(sink.)f(This)h +(is)h(particularly)523 1378 y(challenging)18 b(and)h(resources)g +(consuming)f(in)i(case)h(where)e(netw)o(ork)g(topology)f(is)j +(constantly)523 1478 y(changing)d(due)h(either)g(to)h(nodes)f(f)o +(ailures)h(or)f(communications)e(unreliability)i(or)g(nodes)g(mo-)523 +1577 y(bility)-5 b(.)623 1677 y(Distrib)n(uted)38 b(approaches)e(were)i +(proposed)f(as)i(interesting)e(alternates)i(based)f(on)g +Fy(in-)523 1777 y(network)31 b FE(processing)e(which)i(may)-5 +b(,)29 b(in)i(man)o(y)f(cases,)h(signi\002cantly)f(decrease)h(the)f +(ener)o(gy)523 1876 y(consumed.)17 b(In)j(f)o(act,)f(in)h(such)f +(approaches,)e(nodes)i(do)g(not)g(need)g(to)g(hold)g(global)g(kno)n +(wledge)523 1976 y(about)e(the)h(current)f(netw)o(ork)g(topology)f +(since)i(each)g(node)f(communicates)f(only)h(with)h(its)i(im-)523 +2076 y(mediate)k(neighbours.)e(The)i(unkno)n(wn)e(parameter)h(estimate) +i(is)g(then)g(successi)n(v)o(ely)e(carried)523 2175 y(out)18 +b(through)e(local)i(computation)e(from)h(the)h(e)o(xchanged)d(data.)j +(The)g(adv)n(antages)e(of)i(such)g(ap-)523 2275 y(proaches)23 +b(are)g(numerous:)g(\(a\))g(no)h(central)f(data)h(fusion)f(base)h +(station)g(is)h(required)d(as)j(e)n(v)o(ery)523 2374 +y(node)d(holds)h(the)g(estimate)h(of)f(the)g(unkno)n(wn)e(parameter;)h +(\(b\))h(multi-hop)e(communications)523 2474 y(are)g(a)n(v)n(oided)e +(\(only)h(direct)g(communications)e(between)i(neighbours)e(are)j +(needed\))e(and)h(con-)523 2574 y(sequently)j(maintaining)f(rooting)h +(data)g(is)i(not)f(needed)f(an)o(y)g(more;)g(\(c\))h(better)g(beha)n +(viour)d(is)523 2673 y(observ)o(ed)i(in)i(front)e(of)i(communication)c +(unreliability;)j(\(d\))g(Netw)o(ork)g(scalability)g(is)i(better)523 +2773 y(supported)i(than)h(in)g(centralized)g(approach)e(due)i(mainly)g +(to)h(direct)f(communications)e(be-)523 2873 y(tween)20 +b(neighbours;)e(etc.)623 2972 y(Ne)n(v)o(ertheless,)23 +b(man)o(y)g(of)h(the)g(proposed)f(distrib)n(uted)g(approaches)f +(present)i(some)g(insuf-)523 3072 y(\002ciencies)f(\(see)g(ne)o(xt)f +(section\).)g(F)o(or)h(instance,)f(the)h(\003ooding)e(approach)g +(requires)h(that)h(each)523 3171 y(node)18 b(holds)g(a)h(relati)n(v)o +(ely)e(important)g(storage)h(space.)h(Other)f(approaches)e(mak)o(e)j +(the)f(unprac-)523 3271 y(tical)24 b(assumption)f(of)g(communication)e +(synchronization)g(between)i(sensors)h([2)o(,)g(5])g(and)f(do)523 +3371 y(not)18 b(tolerate)g(communication)e(delays)i(neither)f(nodes)h +(f)o(ailures.)g(These)g(weaknesses)g(remain)523 3470 +y(v)o(ery)j(restricti)n(v)o(e)h(in)g(sensor)g(netw)o(ork)f(en)m +(vironment)e(where)j(on)f(one)h(hand)f(nodes)h(are)g(prone)523 +3570 y(to)17 b(frequent)d(f)o(ailures)i(as)h(the)o(y)f(are)h(dri)n(v)o +(en)d(by)i(batteries)h(and)e(on)h(the)h(other)e(hand)h(communica-)523 +3670 y(tions)21 b(are)g(almost)g(unreliable)f(and)h(prone)e(to)j +(delays.)e(Moreo)o(v)o(er)m(,)e(these)k(tw)o(o)f(limitati)n(v)o(e)g +(fea-)523 3769 y(tures)i(lead,)g(in)g(addition)f(to)h(nodes)g(mobility) +-5 b(,)21 b(to)j(dynamically)d(changing)g(netw)o(ork)h(topolo-)523 +3869 y(gies.)16 b(In)f(order)g(to)h(o)o(v)o(ercome)d(the)j(abo)o(v)o(e) +e(mentioned)g(weaknesses,)h(we)h(propose)e(and)h(in)m(v)o(esti-)523 +3968 y(gate)g(in)h(this)g(chapter)f(a)h(no)o(v)o(el)f(approach)e(for)i +(data)h(fusion)f(in)h(sensor)f(netw)o(orks.)g(The)g(k)o(e)o(y)h(idea) +523 4068 y(behind)22 b(is)i(to)g(de)n(v)o(elop)d(a)j(consensus)e +(algorithm)g(that)h(allo)n(ws)h(all)g(nodes)e(of)h(the)h(sensor)f(net-) +523 4168 y(w)o(ork)16 b(to)g(track)g(the)g(a)n(v)o(erage)f(of)h(their)g +(pre)n(vious)f(measurements)g([6)o(,)i(2)o(,)g(5)o(,)g(7)o(,)g(8)o(,)g +(9,)f(10)o(,)h(11)o(,)f(12)o(].)523 4267 y(More)j(speci\002cally)-5 +b(,)19 b(our)g(proposition)f(is)j(based)e(on)h(an)g Fy(in-network)f +(async)o(hr)l(onous)e(iter)o(ative)523 4367 y(algorithm)p +FE(,)23 b(run)g(by)g(each)h(node)f(and)g(in)h(which)f(nodes)g +(communicate)f(with)i(only)f(their)h(im-)523 4467 y(mediate)c +(neighbours.)d(The)j(main)g(contrib)n(utions)e(of)i(our)f(w)o(ork)h +(are:)523 4611 y Fx(\017)58 b FE(Our)23 b(approach)e(does)i(not)g +(require)f(an)o(y)g(synchronization)e(between)j(nodes)f(as)i(it)g(is)g +(basi-)623 4711 y(cally)i(asynchronous.)c(In)k(other)f(w)o(ords,)g +(each)h(node)f(communicates)f(its)j(data)f(to)g(its)h(in-)p +eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif)n +(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)581 +b(3)623 282 y FE(stantaneous)16 b(neighbours)f(at)j(its)g(o)n(wn)f +(\224rhythm\224)e(i.e.,)i(no)g(delays)h(between)e(nodes)h(are)g(ob-)623 +382 y(serv)o(ed)f(in)g(our)h(approach.)d(This)j(is)h(particularly)d +(important)g(because)h(in)h(the)g(synchronous)623 482 +y(schemes,)i(as)h(the)g(one)f(reported)f(in)i([2)o(],)g(an)o(y)e(delay) +h(between)g(tw)o(o)h(nodes)f(in)h(the)g(netw)o(ork)623 +581 y(will)j(result)g(in)f(a)i(global)d(delay)h(o)o(v)o(er)g(the)g +(whole)g(netw)o(ork)g(since)h(all)g(the)f(nodes)g(are)h(syn-)623 +681 y(chronous.)16 b(This)j(is)h(particularly)e(limitati)n(v)o(e)g(in)h +(heterogeneous)d(sensor)j(netw)o(orks)f(where)623 780 +y(nodes)h(ha)n(v)o(e)h(dif)n(ferent)e(processing)h(speeds.)523 +880 y Fx(\017)58 b FE(As)27 b(a)f(consequence)e(of)j(its)g +(asynchronism,)d(our)h(proposed)f(approach)g(totally)j(tolerates)623 +980 y(communication)14 b(delays.)j(This)g(feature)f(is)i(of)f(an)g +(important)f(matter)g(because)h(sensor)g(net-)623 1079 +y(w)o(orks,)22 b(as)i(it)h(is)f(commonly)d(kno)n(wn,)h(are)h(prone)f +(to)h(en)m(vironmental)d(perturbations)i([13)n(])623 +1179 y(when)d(communication)f(delays)h(occur)h(more)f(frequently)-5 +b(.)523 1279 y Fx(\017)58 b FE(The)24 b(proposed)f(distrib)n(uted)h +(algorithm,)f(as)j(pro)o(v)o(en)d(theoretical)h(and)g(v)n(alidated)g(e) +o(xperi-)623 1378 y(mentally)-5 b(,)17 b(supports)g(dynamic)g +(topologies)g(and)h(guarantees)f(that)i(each)f(sensor)g(node)g(will)623 +1478 y(con)m(v)o(er)o(ge)f(to)j(an)g(accurate)f(estimate)i(of)f(the)g +(unkno)n(wn)e(parameter)-5 b(.)623 1644 y(Ho)n(we)n(v)o(er)m(,)27 +b(as)j(for)e(an)o(y)h(iterati)n(v)o(e)g(approach,)d(our)j(approach)e +(could,)h(under)g(certain)h(en-)523 1743 y(vironmental)37 +b(conditions,)h(consume)g(more)g(netw)o(ork)g(resources,)g(mainly)h +(communica-)523 1843 y(tions,)15 b(than)g(other)g(centralized)f +(approaches,)f(speci\002cally)i(in)h(\224perfect)e(en)m(vironment\224)e +(where)523 1943 y(nodes)27 b(and)g(communications)e(are)j(totally)f +(reliable)g(and)g(the)h(netw)o(ork)e(topology)g(is)i(\002x)o(ed.)523 +2042 y(Ne)n(v)o(ertheless,)h(we)i(note)g(here)f(that)g(our)g(concern)f +(is)j(more)d(focused)h(on)g Fy(\224noisy)h(en)m(vir)l(on-)523 +2142 y(ment\224)20 b FE(in)h(which)e(communication)f(unreliability)g +(and)i(nodes)f(f)o(ailures)h(are)g(usual.)523 2507 y +FC(1.2)41 b(Ov)o(er)o(view)24 b(of)h(A)-10 b(v)o(eraging)25 +b(Pr)n(oblem)g(in)g(Sensor)h(Netw)o(orks)523 2740 y FE(The)20 +b(\002rst)g(and)g(the)g(simplest)g(approach)e(for)h(distrib)n(uted)g(a) +n(v)o(erage)g(estimation)g(in)h(sensor)g(net-)523 2839 +y(w)o(orks)e(is)h(called)f Fy(\003ooding)e FE(approach)f([2].)j(In)f +(this)i(approach,)d(each)i(sensor)f(node)g(broadcasts)523 +2939 y(all)22 b(its)g(stored)e(and)g(recei)n(v)o(ed)g(data)h(to)g(its)h +(neighbours.)c(After)j(a)g(while,)g(each)g(node)e(will)j(hold)523 +3039 y(all)e(the)f(data)g(of)g(the)g(netw)o(ork)f(and)g(acts)i(as)g(a)f +(fusion)g(center)f(to)h(compute)f(the)h(estimate)h(of)e(the)523 +3138 y(unkno)n(wn)26 b(parameter)-5 b(.)27 b(This)i(technique)e(has)h +(ho)n(we)n(v)o(er)f(se)n(v)o(eral)h(disadv)n(antages)e([2)o(].)j +(First,)523 3238 y(it)22 b(results)g(in)f(huge)g(amount)f(of)h(e)o +(xchanged)e(duplicate)h(messages,)h(which)g(represents)g(a)g(real)523 +3337 y(limitation)c(in)h(en)m(vironments)d(lik)o(e)j(sensor)f(netw)o +(orks.)f(Second,)h(\003ooding)e(requires)i(that)h(each)523 +3437 y(node)24 b(stores)h(at)h(least)f(one)g(message)g(per)f(node)g +(\(in)h(order)f(to)h(compute)e(the)i(a)n(v)o(erage\).)e(This)523 +3537 y(could)k(lead)g(to)h(an)g(important)e(storage)h(memory)f +(requirement)f(in)j(case)g(of)g(a)g(lar)o(ge)f(sensor)523 +3636 y(netw)o(ork)19 b(with)h(the)f(associated)h(operations)e(\(reads)h +(and)g(writes\).)h(Finally)-5 b(,)19 b(it)i(is)f(ob)o(vious)e(that)523 +3736 y(those)23 b(requirements)e(will)j(consume)e(much)g(resources)g +(leading)g(to)h(an)h(important)d(decrease)523 3836 y(of)f(the)g(whole)g +(netw)o(ork)f(lifetime.)623 3935 y(Alternati)n(v)o(ely)-5 +b(,)22 b(in)j([3)o(])g(the)f(authors)g(proposed)f(a)i(scalable)f +(sensor)h(fusion)e(scenario)h(that)523 4035 y(performs)33 +b(fusion)h(of)g(sensor)h(measurements)e(combined)g(with)h(local)h +(Kalman)f(\002ltering.)523 4134 y(The)o(y)19 b(de)n(v)o(eloped)e(a)j +(distrib)n(uted)f(algorithm)g(that)g(allo)n(ws)i(the)e(sensor)h(nodes)f +(to)h(compute)e(the)523 4234 y(a)n(v)o(erage)e(of)g(all)i(of)f(their)f +(measurements.)g(It)h(is)h(w)o(orthy)d(to)i(note)g(that)g(man)o(y)f +(other)g(sensor)h(data)523 4334 y(fusion)i(approaches)g(are)h(based)f +(on)h(Kalman)g(\002lters)h(and)e(mobile)h(agents)g([4)o(,)g(7,)g(14)o +(,)h(10)o(,)f(11)o(].)p eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 523 100 a FA(4)1011 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)623 +282 y FE(An)24 b(iterati)n(v)o(e)f(method)g(for)g(distrib)n(uted)g +(data)h(fusion)f(in)h(sensor)g(netw)o(orks)f(based)h(on)f(the)523 +382 y(calculation)i(of)i(an)f(a)n(v)o(erage)f(consensus)1762 +352 y Fw(1)1822 382 y FE(has)i(been)f(proposed)e(in)j([2)o(].)g(The)f +(authors)f(con-)523 482 y(sider)h(that)f(e)n(v)o(ery)g(node)f(tak)o(es) +i(a)g(noisy)f(measurement)f(of)i(the)f(unkno)n(wn)f(parameter)-5 +b(.)24 b(Each)523 581 y(node)d(broadcasts)g(its)j(data)e(to)g(its)i +(neighbours)19 b(and)j(updates)f(its)j(estimation)d(according)g(to)h(a) +523 681 y(weighted)c(sum)h(of)f(the)h(recei)n(v)o(ed)e(data.)h(In)h +(this)g(scheme)g(all)g(the)g(communications)d(are)j(direct)523 +780 y(ones.)623 880 y(Although)34 b(the)i(abo)o(v)o(e)e(mentioned)g(w)o +(orks)h(and)h(other)f(e)o(xisting)g(data)h(fusion)f(scenar)n(-)523 +980 y(ios)g(guarantee)e(some)h(le)n(v)o(el)g(of)g(rob)n(ustness)g(to)h +(nodes)f(f)o(ailures)g(and)g(dynamic)f(topology)523 1079 +y(changes)e([2)o(,)h(3,)g(4)o(,)g(9,)g(5],)f(the)o(y)g(either)h(put)f +(some)h(unpractical)e(assumptions)h(lik)o(e)h(nodes)523 +1179 y(synchronization)17 b(or)j(do)g(not)g(support)e(practical)i +(issues)h(as)g(the)f(communication)e(delays.)623 1279 +y(T)-7 b(o)25 b(the)g(best)g(of)g(our)f(kno)n(wledge,)e(the)j(abo)o(v)o +(e)f(issues)i(which)e(are)h(e)o(xtremely)e(important,)523 +1378 y(especially)29 b(in)h(noisy)f(en)m(vironments,)d(are)k(not)f(tak) +o(en)g(into)g(account)f(in)i(pre)n(vious)e(data)h(fu-)523 +1478 y(sion)d(approaches.)e(In)i(this)g(chapter)m(,)f(we)h(present)g +(an)g(asynchronous)d(data)j(fusion)f(scheme,)523 1577 +y(particularly)g(tailored)h(to)g(perturbed)f(sensor)h(netw)o(orks.)f +(It)i(focuses)f(on)h(a)g(distrib)n(uted)e(iter)n(-)523 +1677 y(ati)n(v)o(e)k(algorithm)e(for)i(calculating)f(a)n(v)o(erages)g +(o)o(v)o(er)g(asynchronous)e(sensor)j(netw)o(orks.)f(The)523 +1777 y(sensor)i(nodes)g(e)o(xchange)f(and)h(update)f(their)h(data)h(by) +f(the)h(mean)f(of)g(a)h(weighted)f(sum)g(in)523 1876 +y(order)24 b(to)h(achie)n(v)o(e)g(the)g(a)n(v)o(erage)f(consensus.)g +(The)h(suggested)f(algorithm)g(does)h(not)g(rely)g(on)523 +1976 y(synchronization)18 b(between)i(the)h(nodes)f(nor)h(does)f(it)i +(require)e(an)o(y)g(kno)n(wledge)f(of)h(the)h(global)523 +2076 y(topology)-5 b(.)25 b(T)-7 b(o)29 b(round)d(up,)h(the)h(con)m(v)o +(er)o(gence)d(of)i(the)h(proposed)e(algorithm)h(is)i(pro)o(v)o(ed)d(in) +i(a)523 2175 y(general)19 b(asynchronous)e(en)m(vironment.)523 +2540 y FC(1.3)41 b(Asynchr)n(onous)26 b(Fusion)f(Scheme)523 +2790 y Fv(1.3.1)41 b(F)-7 b(ormalization)523 3022 y FE(A)20 +b(sensor)e(netw)o(ork)g(is)i(modelled)e(as)i(a)f(connected)e +(undirected)g(graph)h Fu(G)23 b Ft(=)g(\()p Fu(V)5 b(;)14 +b(E)5 b Ft(\))p FE(.)20 b(The)f(set)523 3122 y(of)26 +b(nodes)g(is)i(denoted)d(by)h Fu(V)46 b FE(\(the)26 b(set)i(of)e(v)o +(ertices\),)g(and)g(the)g(links)h(between)f(nodes)g(by)g +Fu(E)523 3221 y FE(\(the)f(set)g(of)g(edges\).)f(The)g(nodes)g(are)h +(labelled)g Fu(i)31 b Ft(=)g(1)p Fu(;)14 b Ft(2)p Fu(;)g(:)g(:)g(:)f(;) +h(n)p FE(,)25 b(and)f(a)h(link)g(between)f(tw)o(o)523 +3321 y(nodes)g Fu(i)h FE(and)f Fu(j)31 b FE(is)25 b(denoted)f(by)g +Ft(\()p Fu(i;)14 b(j)5 b Ft(\))p FE(.)25 b(The)g(dynamic)e(topology)g +(changes)g(are)i(represented)523 3421 y(by)e(the)g(time)g(v)n(arying)e +(graph)h Fu(G)p Ft(\()p Fu(t)p Ft(\))30 b(=)e(\()p Fu(V)5 +b(;)14 b(E)5 b Ft(\()p Fu(t)p Ft(\)\))p FE(,)24 b(where)f +Fu(E)5 b Ft(\()p Fu(t)p Ft(\))24 b FE(is)g(the)f(set)h(of)f(acti)n(v)o +(e)g(edges)523 3520 y(at)28 b(time)g Fu(t)p FE(.)g(The)f(set)h(of)f +(neighbours)e(of)i(node)g Fu(i)h FE(at)g(time)f Fu(t)h +FE(is)h(denoted)d(by)h Fu(N)2855 3532 y FB(i)2882 3520 +y Ft(\()p Fu(t)p Ft(\))37 b(=)f Fx(f)p Fu(j)41 b Fx(2)523 +3620 y Fu(V)51 b Fx(j)32 b Ft(\()p Fu(i;)14 b(j)5 b Ft(\))31 +b Fx(2)i Fu(E)5 b Ft(\()p Fu(t)p Ft(\))p Fx(g)p FE(,)25 +b(and)f(the)h(de)o(gree)f(\(number)f(of)h(neighbours\))e(of)j(node)f +Fu(i)h FE(at)g(time)g Fu(t)h FE(by)523 3719 y Fu(\021)564 +3731 y FB(i)592 3719 y Ft(\()p Fu(t)p Ft(\))e(=)e Fx(j)p +Fu(N)887 3731 y FB(i)915 3719 y Ft(\()p Fu(t)p Ft(\))p +Fx(j)p FE(.)623 3819 y(Each)28 b(node)h(tak)o(es)g(initial)h +(measurement)d Fu(z)1944 3831 y FB(i)1971 3819 y FE(.)j(F)o(or)f(sak)o +(e)g(of)g(simplicity)g(let)h(us)f(suppose)523 3919 y(that)24 +b Fu(z)711 3931 y FB(i)767 3919 y Fx(2)30 b Fs(R)p FE(.)24 +b(Then,)e Fu(z)28 b FE(will)c(refer)f(to)h(the)f(v)o(ector)g(whose)g +Fu(i)p FE(th)g(component)e(is)k Fu(z)2883 3931 y FB(i)2934 +3919 y FE(in)f(case)g(we)523 4018 y(are)f(concerned)d(with)j(se)n(v)o +(eral)f(parameters.)g(Each)g(node)g(on)g(the)h(netw)o(ork)f(also)h +(maintains)f(a)523 4118 y(dynamic)d(state)i Fu(x)1050 +4130 y FB(i)1078 4118 y Ft(\()p Fu(t)p Ft(\))i Fx(2)h +Fs(R)c FE(which)g(is)h(initially)f(set)h(to)g Fu(x)2179 +4130 y FB(i)2207 4118 y Ft(\(0\))i(=)g Fu(z)2463 4130 +y FB(i)2490 4118 y FE(.)623 4218 y(Intuiti)n(v)o(ely)29 +b(each)i(node')-5 b(s)31 b(state)h Fu(x)1661 4230 y FB(i)1689 +4218 y Ft(\()p Fu(t)p Ft(\))g FE(is)g(its)g(current)e(estimate)i(of)f +(the)g(a)n(v)o(erage)f(v)n(alue)523 4255 y Fr(P)611 4275 +y FB(n)611 4342 y(i)p Fq(=1)736 4317 y Fu(z)775 4329 +y FB(i)802 4317 y Fu(=n)p FE(.)h(The)f(goal)g(of)h(the)f(a)n(v)o +(eraging)f(algorithm,)g(is)i(to)g(let)g(all)h(the)e(states)i +Fu(x)3050 4329 y FB(i)3078 4317 y Ft(\()p Fu(t)p Ft(\))g +FE(go)523 4417 y(to)e(the)f(a)n(v)o(erage)1034 4355 y +Fr(P)1122 4375 y FB(n)1122 4442 y(i)p Fq(=1)1247 4417 +y Fu(z)1286 4429 y FB(i)1314 4417 y Fu(=n)p FE(,)g(as)h +Fu(t)40 b Fx(!)g(1)p FE(.)30 b(This)f(will)h(be)g(done)e(through)f +(data)j(e)o(xchange)p 523 4495 851 4 v 523 4568 a Fp(1)574 +4591 y FA(In)23 b(the)f(rest)h(of)f(the)h(paper)m(,)g(the)f(terms)h +(\224a)o(v)o(erage)h(consensus\224)i(and)d(\224parameter)h +(estimation\224)e(are)i(used)f(to)523 4674 y(denote)c(the)f(same)g +(mechanism)h(of)g(\002nding)f(an)h(estimate)f(of)g(the)g(unkno)n(wn)h +(parameter)h(a)o(v)o(erage.)p eop end +%%Page: 5 5 +TeXDict begin 5 4 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif)n +(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)581 +b(5)523 282 y FE(between)30 b(neighbouring)c(nodes)k(where)f(each)h +(node)g(at)g(e)n(v)o(ery)f(time)i(iteration)e Fu(t)i +FE(performs)523 382 y(weighted)19 b(sum)h(of)g(the)g(recei)n(v)o(ed)f +(data)h(as)h(follo)n(ws)f([5)o(,)g(2]:)877 581 y Fu(x)924 +593 y FB(i)952 581 y Ft(\()p Fu(t)e Ft(+)g(1\))23 b(=)g +Fu(x)1347 593 y FB(i)1375 581 y Ft(\()p Fu(t)p Ft(\))c +Fx(\000)1588 502 y Fr(X)1571 680 y FB(j)s Fo(2)p FB(N)1699 +688 y Fn(i)1739 581 y Fu(\013)1792 593 y FB(ij)1851 581 +y Ft(\()p Fu(t)p Ft(\)\()p Fu(x)2024 593 y FB(i)2053 +581 y Ft(\()p Fu(t)p Ft(\))g Fx(\000)f Fu(x)2296 593 +y FB(j)2331 581 y Ft(\()p Fu(t)p Ft(\)\))p Fu(;)c(i)24 +b Ft(=)e(1)p Fu(;)14 b(:)g(:)g(:)f(;)h(n:)195 b FE(\(1.1\))623 +820 y(Where)20 b Fu(\013)918 832 y FB(ij)976 820 y Ft(\()p +Fu(t)p Ft(\))i FE(is)f(the)f(weight)g(on)f Fu(x)1687 +832 y FB(j)1723 820 y Ft(\()p Fu(t)p Ft(\))i FE(at)g(node)e +Fu(i)p FE(,)h(and)g Fu(\013)2365 832 y FB(ij)2423 820 +y Ft(\()p Fu(t)p Ft(\))k(=)f(0)d FE(for)f Fu(j)28 b Fx(62)c +Fu(N)3016 832 y FB(i)3043 820 y Ft(\()p Fu(t)p Ft(\))p +FE(.)623 920 y(In)18 b(order)f(to)h(handle)g(communication)d(delays,)j +(we)h(consider)e(that)h(at)h(time)g Fu(t)f FE(a)h(node)f +Fu(i)g FE(gets)523 1020 y(the)i(state)h(of)f(its)h(neighbour)d +Fu(j)25 b FE(at)c(time)f Fu(d)1716 989 y FB(i)1716 1041 +y(j)1752 1020 y Ft(\()p Fu(t)p Ft(\))p FE(,)h(where)e +Ft(0)k Fx(\024)g Fu(d)2307 989 y FB(i)2307 1041 y(j)2342 +1020 y Ft(\()p Fu(t)p Ft(\))g Fx(\024)g Fu(t)623 1129 +y(d)666 1099 y FB(i)666 1151 y(j)701 1129 y Ft(\()p Fu(t)p +Ft(\))g FE(represents)e(the)h(transmission)f(delay)h(between)f(nodes)g +Fu(i)h FE(and)g Fu(j)5 b FE(.)22 b(Therefore,)d(let)k(us)523 +1239 y(denote)f Fu(x)815 1209 y FB(i)815 1261 y(j)851 +1239 y Ft(\()p Fu(t)p Ft(\))29 b(=)f Fu(x)1114 1251 y +FB(j)1150 1239 y Ft(\()p Fu(d)1225 1209 y FB(i)1225 1261 +y(j)1260 1239 y Ft(\()p Fu(t)p Ft(\)\))h Fx(2)h Fs(R)23 +b FE(the)h(state)f(of)g(node)g Fu(j)28 b FE(at)c(time)f +Fu(d)2523 1209 y FB(i)2523 1261 y(j)2559 1239 y Ft(\()p +Fu(t)p Ft(\))p Fu(;)h FE(recei)n(v)o(ed)e(at)h(time)h +Fu(t)523 1339 y FE(by)e(node)f Fu(i)p FE(.)i(Then,)e(we)i(de\002ned)e +(the)i(e)o(xtended)d(neighbourhood)e(of)k(node)f Fu(i)i +FE(at)g(time)f Fu(t)h FE(as)g(the)523 1438 y(set:)p 729 +1654 76 4 v 729 1721 a Fu(N)805 1733 y FB(i)833 1721 +y Ft(\()p Fu(t)p Ft(\))g(=)1038 1653 y Fr(\010)1087 1721 +y Fu(j)28 b Fx(j)43 b(9)21 b Fu(d)1325 1686 y FB(i)1325 +1741 y(j)1360 1721 y Ft(\()p Fu(t)p Ft(\))j Fx(2)f(f)p +Fu(t)18 b Fx(\000)g Fu(B)23 b Ft(+)18 b(1)p Fu(;)c(:::;)g(t)p +Fx(g)f Fu(;)h FE(such)20 b(that)g Fu(j)28 b Fx(2)23 b +Fu(N)2730 1733 y FB(i)2758 1721 y Ft(\()p Fu(d)2833 1686 +y FB(i)2833 1741 y(j)2868 1721 y Ft(\()p Fu(t)p Ft(\)\))2994 +1653 y Fr(\011)3057 1721 y Ft(;)623 1917 y FE(note)c(that)i +Fu(N)999 1929 y FB(i)1026 1917 y Ft(\()p Fu(t)p Ft(\))j +Fx(\032)p 1231 1851 V 22 w Fu(N)1307 1929 y FB(i)1335 +1917 y Ft(\()p Fu(t)p Ft(\))p FE(.)623 2017 y(The)34 +b(problem,)e(as)k(for)e(an)o(y)f(distrib)n(uted)h(algorithmic)f +(approach,)f(is)k(ho)n(w)e(and)g(under)523 2116 y(which)23 +b(conditions,)f(will)i(we)f(ensure)g(con)m(v)o(er)o(gence)d(of)j(the)g +(proposed)e(algorithm?)h(In)h(other)523 2216 y(terms,)18 +b(are)f(we)i(sure)e(that)h(all)h(the)f(node')-5 b(s)17 +b Fu(x)1785 2228 y FB(i)1831 2216 y FE(will)i(con)m(v)o(er)o(ge)c(to)j +(the)f(right)h(estimate)g(of)f(the)h(un-)523 2316 y(kno)n(wn)f +(parameter)g(a)n(v)o(erage)h(v)n(alue?)g(Also,)h(ho)n(w)f(can)g(we)i +(choose)d(the)i(parameters)f Fu(\013)3041 2328 y FB(ij)3099 +2316 y Ft(\()p Fu(t)p Ft(\))i FE(so)523 2415 y(to)e(impro)o(v)o(e)e +(the)j(con)m(v)o(er)o(gence)14 b(speed)k(and)g(the)g(quality)f(of)h +(the)h(deri)n(v)o(ed)d(estimate?)i(Hereafter)523 2515 +y(we)j(present)e(and)h(analyse)f(our)h(proposal.)e(W)-7 +b(e)22 b(used)e(the)g(notations)f(reported)f(in)j(T)-7 +b(able)20 b(1.1)p 980 2703 1851 5 v 980 2707 V 978 2786 +5 84 v 1130 2761 a Fm(N)p FA(otation)p 1526 2786 V 637 +w(Description)p 2828 2786 V 980 2790 1851 5 v 978 2873 +5 84 v 1186 2848 a Fl(G)p Fk(\()p Fl(t)p Fk(\))p 1526 +2873 V 539 w FA(the)e(time)f(v)n(arying)j(graph)p 2828 +2873 V 980 2877 1851 5 v 978 2961 5 84 v 1172 2936 a +Fl(N)1228 2946 y Fj(i)1255 2936 y Fk(\()p Fl(t)p Fk(\))p +1526 2961 V 304 w FA(the)e(set)g(of)g(neighbors)i(of)e(node)h +Fl(i)f FA(at)g(time)f Fl(t)p 2828 2961 V 980 2965 1851 +5 v 978 3048 5 84 v 1224 3023 a(z)1257 3033 y Fj(i)p +1526 3048 V 1711 3023 a FA(the)h(initial)e(measurement)k(of)f(node)g +Fl(i)p 2828 3048 V 980 3052 1851 5 v 978 3135 5 84 v +1181 3110 a(x)1221 3120 y Fj(i)1247 3110 y Fk(\()p Fl(t)p +Fk(\))p 1526 3135 V 469 w FA(the)f(dynamic)h(state)f(of)g(node)h +Fl(i)p 2828 3135 V 980 3139 1851 5 v 978 3228 5 90 v +1179 3197 a(d)1215 3174 y Fj(i)1215 3219 y(j)1248 3197 +y Fk(\()p Fl(t)p Fk(\))p 1526 3228 V 213 w FA(the)f(transmission)h +(delay)g(between)g(nodes)g Fl(i)f FA(and)g Fl(j)p 2828 +3228 V 980 3232 1851 5 v 978 3322 5 90 v 993 3291 a(x)1033 +3267 y Fj(i)1033 3312 y(j)1064 3291 y Fk(\()p Fl(t)p +Fk(\))j(=)f Fl(x)1279 3301 y Fj(j)1311 3291 y Fk(\()p +Fl(d)1374 3267 y Fj(i)1374 3312 y(j)1407 3291 y Fk(\()p +Fl(t)p Fk(\)\))p 1523 3322 V 164 w FA(the)d(state)h(of)h(node)g +Fl(j)i FA(at)c(time)g Fl(t)g Fz(\000)e Fl(d)2568 3267 +y Fj(i)2568 3312 y(j)2601 3291 y Fk(\()p Fl(t)p Fk(\))p +2828 3322 V 980 3326 1851 5 v 978 3411 5 86 v 1169 3332 +64 3 v 1169 3386 a Fl(N)1232 3396 y Fj(i)1258 3386 y +Fk(\()p Fl(t)p Fk(\))p 1526 3411 5 86 v 272 w FA(the)j(e)o(xtended)h +(neighborhood)i(of)d Fl(i)g FA(at)f(time)g Fl(t)p 2828 +3411 V 980 3415 1851 5 v 978 3498 5 84 v 1170 3473 a(s)1203 +3483 y Fj(ij)1257 3473 y Fk(\()p Fl(t)p Fk(\))p 1526 +3498 V 413 w FA(the)h(data)g(sent)g(by)h Fl(i)e FA(to)h +Fl(j)j FA(at)c(time)g Fl(t)p 2828 3498 V 980 3502 1851 +5 v 978 3586 5 84 v 1170 3561 a(r)1202 3571 y Fj(j)s(i)1257 +3561 y Fk(\()p Fl(t)p Fk(\))p 1526 3586 V 310 w FA(the)h(data)h(recei)n +(v)o(ed)g(by)g Fl(i)e FA(from)i Fl(j)i FA(at)d(time)f +Fl(t)p 2828 3586 V 980 3590 1851 5 v 523 3681 a Fm(T)-6 +b(able)18 b(1.1)35 b FA(Notations)523 4287 y Fv(1.3.2)41 +b(Async)o(hronous)26 b(sc)o(heme)523 4519 y FE(Our)17 +b(algorithm)f(to)i(compute)e(the)i(a)n(v)o(erage)e(consensus)h(o)o(v)o +(er)f(the)h(netw)o(ork)g(is)h(based)f(on)g(infor)n(-)523 +4619 y(mation)24 b(dif)n(fusion)f(i.e.,)i(each)g(node)f(tak)o(es)h(a)h +(measurement)d(and)h(then)h(cooperates)e(with)i(its)p +eop end +%%Page: 6 6 +TeXDict begin 6 5 bop 523 100 a FA(6)1011 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y FE(neighbours)j(in)i(a)h(dif)n(fusion)d(manner)h(to)h(estimate)g +(the)g(a)n(v)o(erage)f(of)h(all)h(the)f(collected)f(infor)n(-)523 +382 y(mation.)e(It)i(is)h(inspired)d(from)h(the)g(w)o(ork)g(of)g +(Bertsekas)h(and)f(Tsitsiklis)i([15)n(,)f(section)f(7.4])g(on)523 +482 y(load)k(balancing)f(and)i(e)o(xtends)e(it)j(to)f(cope)f(with)h +(dynamic)e(topologies)g(and)i(messages)g(loss)523 581 +y(and)20 b(delays.)f(Algorithm)g(1)h(presents)g(the)g(main)g(steps)h +(of)f(our)f(proposed)f(algorithm.)p 523 780 2764 7 v +523 854 a FD(Algorithm)i(1)g FE(The)g(General)f(Algorithm.)p +523 892 2764 4 v 553 958 a FA(1:)35 b(Each)18 b(node)g(maintains)f(an)g +(instantaneous)i(state)e Fl(x)1916 968 y Fj(i)1942 958 +y Fk(\()p Fl(t)p Fk(\))k Fz(2)f Fi(R)p FA(,)c(and)i(at)e +Fl(t)21 b Fk(=)e(0)e FA(\(after)i(all)d(nodes)i(ha)o(v)o(e)g(tak)o(en) +643 1041 y(the)g(measurement\),)i(each)f(node)g(initializes)e(its)g +(state)h(as)h Fl(x)2124 1051 y Fj(i)2150 1041 y Fk(\(0\))h(=)g +Fl(z)2367 1051 y Fj(i)2393 1041 y FA(.)553 1124 y(2:)35 +b(At)17 b(e)n(v)o(ery)j(step)e Fl(t)g FA(each)h(node)g +Fl(i)p FA(:)643 1257 y Fz(\017)65 b FA(compares)20 b(its)d(state)h(to)g +(the)f(states)i(of)f(its)g(neighbours;)643 1340 y Fz(\017)65 +b FA(chooses)30 b(and)f(computes)g Fl(s)1455 1350 y Fj(ij)1510 +1340 y Fk(\()p Fl(t)p Fk(\))p FA(.)f(The)o(y)h(ha)o(v)o(e)g(to)f(be)g +(chosen)i(carefully)g(in)e(order)i(to)d(ensure)k(the)743 +1423 y(con)m(v)o(er)o(gence)21 b(of)d(the)g(algorithm;)643 +1506 y Fz(\017)65 b FA(dif)n(fuses)20 b(its)d(information;)643 +1589 y Fz(\017)65 b FA(recei)n(v)o(es)20 b(the)e(information)g(sent)h +(by)f(its)f(neighbours)j Fl(r)2110 1599 y Fj(j)s(i)2165 +1589 y Fk(\()p Fl(t)p Fk(\))p FA(;)643 1672 y Fz(\017)65 +b FA(updates)20 b(its)e(state)h(with)g(a)g(combination)g(of)h(its)e(o)n +(wn)i(state)f(and)g(the)g(states)h(at)f(its)f(instantaneous)j(and)743 +1755 y(e)o(xtended)e(neighbours)h(\()p 1368 1701 64 3 +v Fl(N)1432 1765 y Fj(i)1458 1755 y Fk(\()p Fl(t)p Fk(\))p +FA(\))g(as)e(follo)n(ws:)1267 1920 y Fl(x)1307 1930 y +Fj(i)1333 1920 y Fk(\()p Fl(t)e Fk(+)g(1\))k(=)g Fl(x)1669 +1930 y Fj(i)1695 1920 y Fk(\()p Fl(t)p Fk(\))d Fz(\000)1918 +1857 y Fh(X)1861 2005 y Fj(j)s Fg(2)p Fj(N)1979 2016 +y Fn(i)2006 2005 y Ff(\()p Fj(t)p Ff(\))2089 1920 y Fl(s)2122 +1930 y Fj(ij)2177 1920 y Fk(\()p Fl(t)p Fk(\))g(+)2403 +1857 y Fh(X)2343 2014 y Fj(j)s Fg(2)p 2413 1973 54 3 +v Fj(N)2467 2025 y Fn(i)2493 2014 y Ff(\()p Fj(t)p Ff(\))2576 +1920 y Fl(r)2608 1930 y Fj(j)s(i)2663 1920 y Fk(\()p +Fl(t)p Fk(\))p Fl(:)390 b FA(\(1.2\))p 523 2125 2764 +4 v 523 2491 a Fv(1.3.3)41 b(Theoretical)24 b(Analysis)h(\(Con)l(v)o +(ergence\))523 2723 y FE(W)-7 b(e)21 b(no)n(w)f(introduce)e(three)i +(assumptions)f(that)i(ensure)e(the)h(con)m(v)o(er)o(gence)d(of)i(our)h +(algorithm.)523 2889 y FD(Assumption)h(1)41 b Fy(Ther)m(e)21 +b(e)n(xists)g Fu(B)27 b Fx(2)d Fs(N)c Fy(suc)o(h)g(that)g +Fx(8)p Fu(t)j Fe(>)g Ft(0)p Fu(;)523 2989 y(t)i Fx(\000)g +Fu(B)43 b(<)d(d)922 2959 y FB(i)922 3010 y(j)957 2989 +y Ft(\()p Fu(t)p Ft(\))g Fx(\024)f Fu(t)30 b Fy(and)e(the)h(union)f(of) +h(communication)e(gr)o(aphs)2654 2927 y Fr(S)2723 2947 +y FB(t)p Fq(+)p FB(B)s Fo(\000)p Fq(1)2723 3014 y FB(\034)7 +b Fq(=)p FB(t)2955 2989 y Fu(G)p Ft(\()p Fu(\034)i Ft(\))31 +b Fy(is)f(a)523 3088 y(connected)18 b(gr)o(aph.)623 3254 +y FE(This)h(assumption,)e(kno)n(wn)h(as)i(jointly)e(connected)f +(condition)g([2)o(,)j(16)o(],)f(implies)g(that)g(each)523 +3354 y(node)f Fu(i)h FE(is)h(connected)e(to)h(a)h(node)e +Fu(j)24 b FE(within)19 b(an)o(y)f(time)i(interv)n(al)e(of)h(length)f +Fu(B)24 b FE(and)18 b(that)i(the)f(de-)523 3454 y(lay)e(between)e(tw)o +(o)i(nodes)f(cannot)f(e)o(xceeds)h Fu(B)t FE(.)h(Recall)g(that,)f(a)h +(graph)e(is)j(connected)c(if)j(for)f(an)o(y)523 3553 +y(tw)o(o)g(v)o(ertices)e Fu(i)i FE(and)e Fu(j)21 b FE(there)15 +b(e)o(xists)g(a)h(sequence)e(of)h(edges)g Ft(\()p Fu(i;)29 +b(k)2374 3565 y Fq(1)2412 3553 y Ft(\))p Fu(;)14 b Ft(\()p +Fu(k)2556 3565 y Fq(1)2594 3553 y Fu(;)g(k)2674 3565 +y Fq(2)2711 3553 y Ft(\))p Fu(;)g(:)g(:)g(:)g(;)g Ft(\()p +Fu(k)3003 3565 y FB(l)p Fo(\000)p Fq(1)3114 3553 y Fu(;)30 +b(k)3210 3565 y FB(l)3235 3553 y Ft(\))p Fu(;)523 3653 +y Ft(\()p Fu(k)598 3665 y FB(l)624 3653 y Fu(;)35 b(j)5 +b Ft(\))p FE(.)623 3753 y(In)20 b(Figure)g(1.1)g(we)h(sho)n(w)g(an)f(e) +o(xample)f(of)i(jointly)f(connected)f(graphs,)g(we)i(notice)f(that)h +(at)523 3852 y Fu(t)i Ft(=)g(1)c FE(the)g(graph)e Fu(G)1119 +3864 y Fq(1)1176 3852 y FE(is)j(not)f(connected;)e(the)i(same)g(case)h +(for)e Fu(G)2411 3864 y Fq(2)2468 3852 y FE(at)i Fu(t)j +Ft(=)g(2)p FE(;)c(while)g(the)g(union)523 3952 y Fu(G)i +FE(of)f Fu(G)764 3964 y Fq(1)822 3952 y FE(and)g Fu(G)1028 +3964 y Fq(2)1086 3952 y FE(is)h(a)g(connected)d(graph.)523 +4118 y FD(Assumption)j(2)41 b Fy(Ther)m(e)21 b(e)n(xists)g +Fu(\013)j(>)e Ft(0)p Fu(;)14 b Fx(8)p Fu(t)23 b Fe(>)f +Ft(0)p Fu(;)523 4218 y Fx(8)p Fu(i)h Fx(2)g Fu(N)t(;)14 +b Fx(8)p Fu(j)28 b Fx(2)c Fu(N)1061 4230 y FB(i)1088 +4218 y Ft(\()p Fu(t)p Ft(\))p Fy(,)d(suc)o(h)f(that)g +Fu(\013)p Ft(\()p Fu(x)1678 4230 y FB(i)1707 4218 y Ft(\()p +Fu(t)p Ft(\))f Fx(\000)f Fu(x)1950 4187 y FB(i)1950 4239 +y(j)1985 4218 y Ft(\()p Fu(t)p Ft(\)\))24 b Fx(\024)f +Fu(s)2262 4230 y FB(ij)2320 4218 y Ft(\()p Fu(t)p Ft(\))p +Fu(:)523 4262 y Fr(\000)561 4329 y Fu(s)600 4341 y FB(ij)658 +4329 y Ft(\()p Fu(t)p Ft(\))h(=)f(0)d Fy(if)h Ft(\()p +Fu(x)1072 4341 y FB(i)1100 4329 y Ft(\()p Fu(t)p Ft(\))j +Fx(\024)f Fu(x)1353 4299 y FB(i)1353 4351 y(j)1388 4329 +y Ft(\()p Fu(t)p Ft(\)\))f Fy(for)e(all)h Fu(j)28 b Fx(2)23 +b Fu(N)1969 4341 y FB(i)1996 4329 y Ft(\()p Fu(t)p Ft(\))2090 +4262 y Fr(\001)2129 4329 y Fy(.)623 4495 y FE(The)28 +b(second)h(assumption)e(postulates)i(that)g(when)g(a)g(node)f +Fu(i)h FE(detects)g(a)h(dif)n(ference)d(be-)523 4595 +y(tween)20 b(its)i(state)f(and)f(the)g(states)h(of)g(its)g(neighbours,) +d(it)j(therefore)d(computes)h(non)h(ne)o(gligible)523 +4695 y Fu(s)562 4707 y FB(ij)641 4695 y FE(to)h(all)f(nodes)g +Fu(j)25 b FE(where)20 b Ft(\()p Fu(x)1407 4707 y FB(i)1435 +4695 y Ft(\()p Fu(t)p Ft(\))k Fu(>)f(x)1688 4664 y FB(i)1688 +4716 y(j)1723 4695 y Ft(\()p Fu(t)p Ft(\)\))p FE(.)p +eop end +%%Page: 7 7 +TeXDict begin 7 6 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif)n +(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)581 +b(7)1121 1629 y @beginspecial 0 @llx 0 @lly 342 @urx +312 @ury 1881 @rwi @setspecial +%%BeginDocument: jointly.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: jointly.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha7 +%%CreationDate: Tue Apr 8 16:04:24 2008 +%%For: makhoul@soleil4 (makhoul,,,) +%%BoundingBox: 0 0 342 312 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 312 moveto 0 0 lineto 342 0 lineto 342 312 lineto closepath clip newpath +-155.0 429.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06299 0.06299 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Ellipse +7.500 slw +n 2700 2250 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 2700 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4050 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +0 slj +0 slc +n 2700 2295 m 2700 3600 l + 4050 3600 l gs col0 s gr +% Polyline +n 3375 2925 m + 3825 1935 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +2475 2340 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +2475 3690 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +3150 3015 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +3600 2025 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +4140 3690 m +gs 1 -1 sc (3) col0 sh gr +% Ellipse +n 3825 1935 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 3330 2925 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4545 4950 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4545 6300 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 5895 6300 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +n 4545 4995 m 4545 6300 l + 5895 6300 l gs col0 s gr +% Polyline +n 5220 5625 m + 5670 4635 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +4320 5040 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +4320 6390 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +4995 5715 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +5445 4725 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +5985 6390 m +gs 1 -1 sc (3) col0 sh gr +% Ellipse +n 5670 4635 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 5175 5625 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6300 2250 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6300 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 7605 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6885 2880 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 7470 1935 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +n 6300 2250 m 7470 1980 l + 6885 2880 l gs col0 s gr +% Polyline +n 6345 3600 m + 7650 3600 l gs col0 s gr +% Polyline +n 4500 4993 m + 5625 4678 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +6075 2340 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +6660 2970 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +6075 3690 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +7245 2025 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +7740 3690 m +gs 1 -1 sc (3) col0 sh gr +/Times-Bold ff 238.13 scf sf +2745 4050 m +gs 1 -1 sc (G) col0 sh gr +/Times-Roman ff 190.50 scf sf +2970 4095 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 238.13 scf sf +3150 4050 m +gs 1 -1 sc (@ t = 1) col0 sh gr +/Times-Bold ff 238.13 scf sf +6300 4050 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +6750 4050 m +gs 1 -1 sc (@ t = 2) col0 sh gr +/Times-Roman ff 190.50 scf sf +6525 4095 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 238.13 scf sf +4590 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +4860 6750 m +gs 1 -1 sc (=) col0 sh gr +/Times-Bold ff 238.13 scf sf +5130 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +5850 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Roman ff 190.50 scf sf +6075 6795 m +gs 1 -1 sc (2) col0 sh gr +/Times-Roman ff 190.50 scf sf +5355 6795 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 206.38 scf sf +5535 6750 m +gs 1 -1 sc (U) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF + +%%EndDocument + @endspecial 523 1754 a Fm(Fig)o(.)17 b(1.1)36 b FA(Example)18 +b(of)h(jointly)e(connected)i(graphs)523 2051 y FD(Assumption)i(3)1254 +2164 y Fu(x)1301 2176 y FB(i)1329 2164 y Ft(\()p Fu(t)p +Ft(\))e Fx(\000)1584 2085 y Fr(X)1525 2267 y FB(k)q Fo(2)p +FB(N)1659 2275 y Fn(i)1686 2267 y Fq(\()p FB(t)p Fq(\))1777 +2164 y Fu(s)1816 2176 y FB(ik)1880 2164 y Ft(\()p Fu(t)p +Ft(\))k Fx(\025)g Fu(x)2132 2129 y FB(i)2132 2184 y(j)2168 +2164 y Ft(\()p Fu(t)p Ft(\))c(+)f Fu(s)2403 2176 y FB(ij)2461 +2164 y Ft(\()p Fu(t)p Ft(\))573 b FE(\(1.3\))523 2421 +y(The)29 b(third)f(assumption)g(prohibits)g(node)g Fu(i)h +FE(to)h(compute)d(v)o(ery)h(lar)o(ge)g Fu(s)2669 2433 +y FB(ij)2757 2421 y FE(which)h(creates)g(a)523 2521 y(ping-pong)15 +b(state.)j(Recall)g(that,)g(the)g(ping-pong)c(state)19 +b(is)f(established)g(when)f(tw)o(o)h(nodes)f(k)o(eep)523 +2620 y(sending)k(data)h(to)g(each)g(other)f(back)h(and)f(forth,)g +(without)h(e)n(v)o(er)f(reaching)g(equilibrium.)e(Note)523 +2720 y(that)30 b(these)h(tw)o(o)g(assumptions)e(are)h(similar)h(to)f +(assumption)g(4.2)f(introduced)f(in)j([15)n(,)g(sec-)523 +2819 y(tion)20 b(7.4].)523 2994 y FD(Theor)o(em)g(1.)k +Fy(if)c(the)e(assumptions)g(1,)h(2)f(and)g(3)h(ar)m(e)g(satis\002ed,)f +(Algorithm)g(1)h(guar)o(antees)e(that)1515 3239 y Ft(lim)1494 +3289 y FB(t)p Fo(!1)1665 3239 y Fu(x)1712 3251 y FB(i)1740 +3239 y Ft(\()p Fu(t)p Ft(\))24 b(=)1959 3183 y(1)p 1955 +3220 50 4 v 1955 3296 a Fu(n)2055 3135 y FB(n)2015 3160 +y Fr(X)2021 3337 y FB(i)p Fq(=1)2135 3239 y Fu(x)2182 +3251 y FB(i)2210 3239 y Ft(\(0\))812 b FE(\(1.4\))623 +3460 y Fy(i.e)o(.,)27 b(all)i(node)e(states)i(con)m(ver)m(g)o(e)e(to)i +(the)f(aver)o(a)o(g)o(e)f(of)i(the)f(initial)g(measur)m(ements)g(of)g +(the)523 3560 y(network.)523 3734 y(Pr)l(oof)623 3834 +y FE(Let)20 b Fu(m)p Ft(\()p Fu(t)p Ft(\))k(=)e(min)1171 +3846 y FB(i)1212 3834 y Ft(min)1350 3846 y FB(t)p Fo(\000)p +FB(B)s(<\034)7 b Fo(\024)p FB(t)1665 3834 y Fu(x)1712 +3846 y FB(i)1740 3834 y Ft(\()p Fu(\034)i Ft(\))p Fu(:)22 +b FE(Note)e(that)g Fu(x)2268 3804 y FB(i)2268 3855 y(j)2304 +3834 y Ft(\()p Fu(\034)9 b Ft(\))24 b Fx(\025)f Fu(m)p +Ft(\()p Fu(t)p Ft(\))p Fu(;)e Fx(8)p Fu(i;)14 b(j;)g(t:)523 +3933 y FE(Lemma)22 b(1)g(and)h(2)f(belo)n(w)g(can)h(be)f(pro)o(v)o(en)e +(similarly)j(to)f(the)h(lemma)f(of)g(pages)h(521)e(and)h(522)523 +4033 y(in)e([15)o(].)623 4179 y(Denote)e(by)g Fu(v)1024 +4191 y FB(ij)1083 4179 y Ft(\()p Fu(t)p Ft(\))24 b(=)1291 +4100 y FB(t)p Fo(\000)p Fq(1)1302 4117 y Fr(P)1288 4251 +y FB(s)p Fq(=0)1418 4179 y Ft(\()p Fu(s)1489 4191 y FB(ij)1547 +4179 y Ft(\()p Fu(s)p Ft(\))19 b Fx(\000)f Fu(r)1789 +4191 y FB(ij)1848 4179 y Ft(\()p Fu(s)p Ft(\)\))d Fu(;)k +FE(the)g(data)g(sent)g(by)g Fu(i)g FE(and)f(not)h(yet)g(recei)n(v)o(ed) +523 4330 y(by)h Fu(j)26 b FE(at)20 b(time)h Fu(t:)f FE(W)-7 +b(e)22 b(suppose)d(that)h Fu(v)1612 4342 y FB(ij)1671 +4330 y Ft(\(0\))j(=)g(0)p Fu(:)d FE(Then)f(by)h(data)g(conserv)n +(ation,)e(we)j(obtain)1022 4511 y FB(n)982 4536 y Fr(X)988 +4713 y FB(i)p Fq(=1)1116 4448 y Fr(0)1116 4598 y(@)1189 +4615 y Fu(x)1236 4627 y FB(i)1264 4615 y Ft(\()p Fu(t)p +Ft(\))e(+)1515 4536 y Fr(X)1460 4718 y FB(j)s Fo(2)p +FB(N)1588 4726 y Fn(i)1614 4718 y Fq(\()p FB(t)p Fq(\))1705 +4615 y Fu(v)1745 4627 y FB(ij)1804 4615 y Ft(\()p Fu(t)p +Ft(\))1898 4448 y Fr(1)1898 4598 y(A)1994 4615 y Ft(=)2121 +4511 y FB(n)2082 4536 y Fr(X)2088 4713 y FB(i)p Fq(=1)2215 +4615 y Fu(x)2262 4627 y FB(i)2290 4615 y Ft(\(0\))p Fu(;)180 +b Fx(8)p Fu(t)24 b Fe(>)e Ft(0)300 b FE(\(1.5\))p eop +end +%%Page: 8 8 +TeXDict begin 8 7 bop 523 100 a FA(8)1011 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y FE(\277From)30 b(assumption)g(1)h(we)g(can)g(conclude)e(that)i +(the)g(data)g Fu(v)2359 294 y FB(ij)2417 282 y Ft(\()p +Fu(t)p Ft(\))h FE(in)f(the)g(netw)o(ork)f(before)523 +382 y(time)23 b Fu(t)h FE(consists)g(in)f(data)g(sent)g(in)g(the)h +(interv)n(al)e(time)h Fx(f)o Fu(t)c Fx(\000)f Fu(B)23 +b Ft(+)18 b(1)p Fu(;)c(:::;)g(t)j Fx(\000)i Ft(1)p Fx(g)12 +b Fu(;)24 b FE(so)g Fu(v)3041 394 y FB(ij)3099 382 y +Ft(\()p Fu(t)p Ft(\))29 b Fx(\024)523 431 y Fr(P)611 +451 y FB(t)p Fo(\000)p Fq(1)611 518 y FB(\034)7 b Fq(=)p +FB(t)p Fo(\000)p FB(B)s Fq(+1)931 493 y Fu(s)970 505 +y FB(ij)1028 493 y Ft(\()p Fu(t)p Ft(\))p Fu(;)22 b Fx(8)p +Fu(nodei;)14 b Fx(8)p Fu(j)27 b Fx(2)d Fu(N)1704 505 +y FB(i)1731 493 y Ft(\()p Fu(t)p Ft(\))p Fu(:)523 664 +y FD(Lemma)d(1.)j Fy(The)40 b(sequence)e Fu(m)p Ft(\()p +Fu(t)p Ft(\))j Fy(is)f(monotone)o(,)d(nondecr)m(easing)g(and)i(con)m +(ver)m(g)o(es)f(and)523 763 y Fx(8)p Fu(i;)14 b Fx(8)p +Fu(s)23 b Fx(\025)f Ft(0)p Fu(;)1120 924 y(x)1167 936 +y FB(i)1195 924 y Ft(\()p Fu(t)d Ft(+)f Fu(s)p Ft(\))23 +b Fx(\025)g Fu(m)p Ft(\()p Fu(t)p Ft(\))c(+)1810 806 +y Fr(\022)1885 867 y Ft(1)p 1881 904 50 4 v 1881 981 +a Fu(n)1941 806 y Fr(\023)2002 824 y FB(t)2027 832 y +Fd(1)2059 824 y Fo(\000)p FB(t)2136 832 y Fd(0)2187 924 +y Ft(\()p Fu(x)2266 936 y FB(i)2294 924 y Ft(\()p Fu(t)p +Ft(\))g Fx(\000)f Fu(m)p Ft(\()p Fu(t)p Ft(\)\))623 1144 +y FE(Let)i Fu(i)k Fx(2)g Fu(V)5 b(;)14 b(t)1006 1156 +y Fq(0)1067 1144 y Fx(2)24 b Fs(N)p Fu(;)d FE(and)f Fu(t)k +Fx(\025)f Fu(t)1563 1156 y Fq(0)1600 1144 y Fu(;)f(j)28 +b Fx(2)c Fu(V)5 b(;)22 b FE(we)f(say)f(that)h(the)g(e)n(v)o(ent)e +Fu(E)2660 1156 y FB(j)2696 1144 y Ft(\()p Fu(t)p Ft(\))i +FE(occurs)f(if)h(there)523 1244 y(e)o(xists)g Fu(j)28 +b Fx(2)p 872 1177 76 4 v 23 w Fu(N)948 1256 y FB(i)975 +1244 y Ft(\()p Fu(t)p Ft(\))22 b FE(such)e(that)1187 +1447 y Fu(x)1234 1413 y FB(i)1234 1468 y(j)1270 1447 +y Ft(\()p Fu(t)p Ft(\))j Fu(<)g(m)p Ft(\()p Fu(t)1610 +1459 y Fq(0)1647 1447 y Ft(\))c(+)1879 1391 y Fu(\013)p +1791 1428 230 4 v 1791 1504 a Ft(2)p Fu(n)1883 1480 y +FB(t)p Fo(\000)p FB(t)1985 1488 y Fd(0)2045 1447 y Ft(\()p +Fu(x)2124 1459 y FB(i)2152 1447 y Ft(\()p Fu(t)2214 1459 +y Fq(0)2252 1447 y Ft(\))g Fx(\000)f Fu(m)p Ft(\()p Fu(t)2521 +1459 y Fq(0)2558 1447 y Ft(\)\))506 b FE(\(1.6\))523 +1652 y(and)1439 1752 y Fu(s)1478 1764 y FB(ij)1537 1752 +y Ft(\()p Fu(t)p Ft(\))23 b Fx(\025)g Fu(\013)1809 1685 +y Fr(\000)1847 1752 y Fu(x)1894 1764 y FB(i)1922 1752 +y Ft(\()p Fu(t)p Ft(\))c Fx(\000)f Fu(x)2165 1718 y FB(i)2165 +1773 y(j)2201 1752 y Ft(\()p Fu(t)p Ft(\))2295 1685 y +Fr(\001)2347 1752 y Fu(;)758 b FE(\(1.7\))523 1901 y(where)20 +b Fu(\013)h FE(is)g(de\002ned)e(in)h(assumption)f(2,)h(and)g +Fu(V)40 b FE(is)21 b(the)f(set)h(of)f(all)h(nodes.)523 +2072 y FD(Lemma)g(2.)j Fy(Let)29 b Fu(t)1068 2084 y Fq(1)1143 +2072 y Fx(\025)38 b Fu(t)1276 2084 y Fq(0)1313 2072 y +Fu(;)29 b Fy(if)g Fu(E)1501 2084 y FB(j)1537 2072 y Ft(\()p +Fu(t)1599 2084 y Fq(1)1636 2072 y Ft(\))g Fy(occur)o(s,)g(then)f +Fu(E)2201 2084 y FB(j)2236 2072 y Ft(\()p Fu(\034)9 b +Ft(\))30 b Fy(doesn')n(t)d(occur)h(for)h(any)e Fu(\034)48 +b Fx(\025)523 2172 y Fu(t)553 2184 y Fq(1)609 2172 y +Ft(+)18 b(2)p Fu(B)t Fy(.)523 2342 y FD(Lemma)j(3.)j +Fx(8)p Fu(i)f Fx(2)g Fu(V)5 b(;)14 b Fx(8)p Fu(t)1245 +2354 y Fq(0)1306 2342 y Fx(2)23 b Fs(N)p Fu(;)14 b Fx(8)p +Fu(j)28 b Fx(2)p 1667 2275 76 4 v 23 w Fu(N)1743 2354 +y FB(i)1771 2342 y Ft(\()p Fu(t)p Ft(\))p Fu(;)808 2590 +y(t)23 b Fx(\025)g Fu(t)979 2602 y Fq(0)1034 2590 y Ft(+)18 +b(3)p Fu(nB)27 b Fx(\))c Fu(x)1452 2602 y FB(j)1487 2590 +y Ft(\()p Fu(t)p Ft(\))h Fx(\025)f Fu(m)p Ft(\()p Fu(t)1828 +2602 y Fq(0)1865 2590 y Ft(\))c(+)f Fu(\021)2057 2473 +y Fr(\022)2132 2534 y Ft(1)p 2128 2571 50 4 v 2128 2647 +a Fu(n)2188 2473 y Fr(\023)2249 2490 y FB(t)p Fo(\000)p +FB(t)2351 2498 y Fd(0)2401 2590 y Ft(\()p Fu(x)2480 2602 +y FB(i)2509 2590 y Ft(\()p Fu(t)2571 2602 y Fq(0)2608 +2590 y Ft(\))h Fx(\000)f Fu(m)p Ft(\()p Fu(t)2877 2602 +y Fq(0)2914 2590 y Ft(\)\))p Fu(:)523 2850 y Fy(wher)m(e)j +Fu(\021)26 b Ft(=)908 2817 y FB(\013)p 908 2831 44 4 +v 913 2879 a Fq(2)975 2783 y Fr(\000)1027 2817 y Fq(1)p +1023 2831 42 4 v 1023 2879 a FB(n)1074 2783 y Fr(\001)1113 +2800 y FB(B)1183 2850 y Fu(:)523 3020 y Fy(Pr)l(oof)o(.)40 +b FE(Let)26 b(us)f(\002x)h Fu(i)f FE(and)g Fu(t)1349 +3032 y Fq(0)1386 3020 y Fu(:)h FE(Let)f(us)h(consider)e +Fu(t)2008 3032 y Fq(1)2045 3020 y Fu(;)14 b(:::;)g(t)2218 +3032 y FB(n)2289 3020 y FE(such)25 b(that)g Fu(t)2647 +3032 y FB(k)q Fo(\000)p Fq(1)2795 3020 y Ft(+)c(2)p Fu(B)36 +b Fx(\024)c Fu(t)3149 3032 y FB(k)3222 3020 y Fx(\024)523 +3120 y Fu(t)553 3132 y FB(k)q Fo(\000)p Fq(1)700 3120 +y Ft(+)21 b(3)p Fu(B)t(:)j FE(Lemma)g(2)g(implies)g(that)g(if)g +Fu(k)34 b Fx(6)p Ft(=)29 b Fu(l)r(;)c FE(then)e Fu(E)2254 +3132 y FB(j)2289 3120 y Ft(\()p Fu(t)2351 3132 y FB(k)2392 +3120 y Ft(\))i FE(and)f Fu(E)2655 3132 y FB(j)2690 3120 +y Ft(\()p Fu(t)2752 3132 y FB(l)2778 3120 y Ft(\))h FE(doesn')o(t)d +(occur)523 3220 y(together)-5 b(.)31 b(Hence,)h(there)g(e)o(xists)i +Fu(t)1561 3232 y FB(k)1634 3220 y FE(for)e(which)g(\(1.6\))g(is)h(not)f +(satis\002ed)i(for)e(all)h Fu(d)3015 3190 y FB(i)3015 +3241 y(j)3050 3220 y Ft(\()p Fu(t)3112 3232 y FB(k)3153 +3220 y Ft(\))46 b Fx(2)523 3329 y(f)p Fu(t)595 3341 y +FB(k)654 3329 y Fx(\000)18 b Fu(B)k Ft(+)c(1)p Fu(;)c(:::;)g(t)1120 +3341 y FB(k)1161 3329 y Fx(g)f Fu(;)21 b FE(and)f Fu(j)28 +b Fx(2)23 b Fu(N)1608 3341 y FB(i)1635 3329 y Ft(\()p +Fu(d)1710 3299 y FB(i)1710 3351 y(j)1746 3329 y Ft(\()p +Fu(t)1808 3341 y FB(k)1849 3329 y Ft(\)\))p Fu(:)623 +3439 y FE(Let)g Fu(j)796 3409 y Fo(\003)864 3439 y Fx(2)29 +b Fu(N)1015 3451 y FB(i)1043 3439 y Ft(\()p Fu(d)1118 +3409 y FB(i)1118 3461 y(j)1153 3439 y Ft(\()p Fu(t)1215 +3451 y FB(k)1256 3439 y Ft(\)\))c FE(such)e(that)h Fu(x)1717 +3409 y FB(i)1717 3461 y(j)1747 3444 y Fc(\003)1787 3439 +y Ft(\()p Fu(t)1849 3451 y FB(k)1890 3439 y Ft(\))30 +b Fx(\024)f Fu(x)2093 3409 y FB(i)2093 3461 y(j)2128 +3439 y Ft(\()p Fu(t)2190 3451 y FB(k)2231 3439 y Ft(\))p +Fu(;)14 b Fx(8)p Fu(j)35 b Fx(2)29 b Fu(N)2566 3451 y +FB(i)2594 3439 y Ft(\()p Fu(d)2669 3409 y FB(i)2669 3461 +y(j)2704 3439 y Ft(\()p Fu(t)2766 3451 y FB(k)2807 3439 +y Ft(\)\))p Fu(:)c FE(Since)f(\(1.6\))523 3539 y(is)d(not)f +(satis\002ed)h(for)e Fu(j)28 b Ft(=)23 b Fu(j)1325 3509 +y Fo(\003)1363 3539 y Fu(;)e FE(we)g(ha)n(v)o(e)787 3800 +y Fu(x)834 3769 y FB(i)834 3821 y(j)869 3800 y Ft(\()p +Fu(t)931 3812 y FB(k)973 3800 y Ft(\))i Fx(\025)h Fu(x)1164 +3769 y FB(i)1164 3821 y(j)1194 3805 y Fc(\003)1235 3800 +y Ft(\()p Fu(t)1297 3812 y FB(k)1338 3800 y Ft(\))752 +3919 y Fu(x)799 3888 y FB(i)799 3940 y(j)829 3924 y Fc(\003)869 +3919 y Ft(\()p Fu(t)931 3931 y FB(k)973 3919 y Ft(\))f +Fx(\025)h Fu(m)p Ft(\()p Fu(t)1252 3931 y Fq(0)1290 3919 +y Ft(\))19 b(+)1434 3886 y FB(\013)p 1434 3900 44 4 v +1439 3947 a Fq(2)1500 3851 y Fr(\000)1552 3886 y Fq(1)p +1549 3900 42 4 v 1549 3947 a FB(n)1600 3851 y Fr(\001)1638 +3868 y FB(t)1663 3877 y Fn(k)1699 3868 y Fo(\000)p FB(t)1776 +3876 y Fd(0)1826 3919 y Ft(\()q Fu(x)1906 3931 y FB(i)1934 +3919 y Ft(\()p Fu(t)1996 3931 y Fq(0)2033 3919 y Ft(\))g +Fx(\000)f Fu(m)p Ft(\()p Fu(t)2302 3931 y Fq(0)2339 3919 +y Ft(\)\))d Fu(;)34 b Fx(8)p Fu(j)29 b Fx(2)23 b Fu(N)2729 +3931 y FB(i)2756 3919 y Ft(\()p Fu(d)2831 3888 y FB(i)2831 +3940 y(j)2867 3919 y Ft(\()p Fu(t)2929 3931 y FB(k)2970 +3919 y Ft(\)\))p Fu(:)623 4111 y FE(F)o(or)c Fu(t)24 +b Fx(\025)e Fu(t)928 4123 y Fq(0)984 4111 y Ft(+)c(3)p +Fu(nB)t(;)i FE(we)h(ha)n(v)o(e)e Fu(t)k Fx(\025)g Fu(t)1732 +4123 y FB(k)1796 4111 y Fx(\025)g Fu(d)1927 4081 y FB(i)1927 +4133 y(j)1962 4111 y Ft(\()p Fu(t)2024 4123 y FB(k)2065 +4111 y Ft(\))p Fu(:)e FE(Lemma)e(1)i(gi)n(v)o(es,)e Fx(8)p +Fu(j)28 b Fx(2)c Fu(N)2945 4123 y FB(i)2972 4111 y Ft(\()p +Fu(d)3047 4081 y FB(i)3047 4133 y(j)3082 4111 y Ft(\()p +Fu(t)3144 4123 y FB(k)3186 4111 y Ft(\)\))890 4322 y +Fu(x)937 4334 y FB(j)972 4322 y Ft(\()p Fu(t)p Ft(\))g +Fx(\025)g Fu(m)p Ft(\()p Fu(d)1327 4292 y FB(i)1327 4344 +y(j)1363 4322 y Ft(\()p Fu(t)1425 4334 y FB(k)1466 4322 +y Ft(\)\))19 b(+)1632 4255 y Fr(\000)1684 4289 y Fq(1)p +1680 4303 V 1680 4351 a FB(n)1731 4255 y Fr(\001)1769 +4272 y FB(t)p Fo(\000)p FB(d)1881 4247 y Fn(i)1881 4289 +y(j)1911 4272 y Fq(\()p FB(t)1962 4281 y Fn(k)1999 4272 +y Fq(\))2043 4322 y Ft(\()p Fu(x)2122 4334 y FB(j)2157 +4322 y Ft(\()p Fu(d)2232 4292 y FB(i)2232 4344 y(j)2268 +4322 y Ft(\()p Fu(t)2330 4334 y FB(k)2371 4322 y Ft(\)\))g +Fx(\000)f Fu(m)p Ft(\()p Fu(d)2685 4292 y FB(i)2685 4344 +y(j)2720 4322 y Ft(\()p Fu(t)2782 4334 y FB(k)2823 4322 +y Ft(\)\)\))1090 4445 y Fx(\025)24 b Fu(m)p Ft(\()p Fu(t)1314 +4457 y Fq(0)1352 4445 y Ft(\))18 b(+)1495 4412 y FB(\013)p +1495 4426 44 4 v 1500 4473 a Fq(2)1562 4377 y Fr(\000)1614 +4412 y Fq(1)p 1610 4426 42 4 v 1610 4473 a FB(n)1661 +4377 y Fr(\001)1699 4395 y FB(B)1770 4377 y Fr(\000)1822 +4412 y Fq(1)p 1818 4426 V 1818 4473 a FB(n)1869 4377 +y Fr(\001)1907 4395 y FB(t)p Fo(\000)p FB(t)2009 4403 +y Fd(0)2060 4445 y Ft(\()p Fu(x)2139 4457 y FB(i)2167 +4445 y Ft(\()p Fu(t)2229 4457 y Fq(0)2267 4445 y Ft(\))g +Fx(\000)g Fu(m)p Ft(\()p Fu(t)2535 4457 y Fq(0)2573 4445 +y Ft(\)\))c Fu(:)523 4611 y FD(De\002nition)20 b(1.)25 +b FE(W)-7 b(e)39 b(say)f(that)g(a)g(sensor)f Fu(j)44 +b FE(is)39 b Fu(l)r FE(-connected)c(to)j(a)g(sensor)f +Fu(i)h FE(if)h(it)f(is)h(logi-)523 4711 y(cally)g(connected)e(to)i +Fu(i)g FE(by)f Fu(l)j FE(communication)36 b(graphs,)h(i.e.)i(if)g +(there)f(e)o(xists)h Fu(r)2999 4681 y FB(i)2997 4735 +y(k)3039 4711 y Ft(\()p Fu(t)3101 4723 y FB(k)3142 4711 +y Ft(\))57 b Fx(2)p eop end +%%Page: 9 9 +TeXDict begin 9 8 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif)n +(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)581 +b(9)523 282 y Fx(f)p Fu(t)595 294 y FB(k)654 282 y Fx(\000)18 +b Fu(B)k Ft(+)c(1)p Fu(;)c(:::;)g(t)1120 294 y FB(k)1161 +282 y Fx(g)f Fu(;)23 b FE(where)f Fu(k)30 b Fx(2)d(f)p +Fu(i)1714 294 y Fq(1)1751 282 y Fu(;)14 b(:::;)g(i)1923 +294 y FB(l)1948 282 y Fx(g)o FE(,)23 b(such)f(that)h +Fu(i)j Ft(=)h Fu(i)2532 294 y Fq(1)2596 282 y Fx(2)h +Fu(N)2746 294 y FB(i)2769 302 y Fd(2)2805 282 y Ft(\()p +Fu(r)2876 245 y FB(i)2899 253 y Fd(2)2874 305 y FB(i)2897 +313 y Fd(1)2937 282 y Ft(\()p Fu(t)2999 294 y Fq(1)3037 +282 y Ft(\)\))p Fu(;)14 b(i)3167 294 y Fq(2)3231 282 +y Fx(2)523 397 y Fu(N)590 409 y FB(i)613 417 y Fd(3)650 +397 y Ft(\()p Fu(r)721 360 y FB(i)744 368 y Fd(3)719 +421 y FB(i)742 429 y Fd(2)782 397 y Ft(\()p Fu(t)844 +409 y Fq(2)881 397 y Ft(\)\))p Fu(;)g(:::;)523 515 y(i)552 +527 y FB(l)600 515 y Fx(2)24 b Fu(N)746 527 y FB(j)780 +515 y Ft(\()p Fu(r)851 476 y FB(j)849 541 y(l)887 515 +y Ft(\()p Fu(t)949 527 y FB(l)975 515 y Ft(\)\))p Fu(:)523 +690 y FD(Lemma)d(4.)j Fy(If)d(sensor)f Fu(j)26 b Fy(is)21 +b Fu(l)r Fy(-connected)c(to)k(sensor)f Fu(i)g Fy(then)746 +908 y Fx(8)p Fu(t)j Fx(\025)g Fu(t)963 920 y Fq(0)1019 +908 y Ft(+)18 b(3)p Fu(nl)r(B)t(;)33 b(x)1391 920 y FB(j)1427 +908 y Ft(\()p Fu(t)p Ft(\))23 b Fx(\025)g Fu(m)p Ft(\()p +Fu(t)1767 920 y Fq(0)1804 908 y Ft(\))c(+)f(\()p Fu(\021)s +Ft(\))2047 866 y FB(l)2086 908 y Ft(\()2133 852 y(1)p +2128 889 50 4 v 2128 965 a Fu(n)2188 908 y Ft(\))2220 +874 y Fq(\()p FB(t)p Fo(\000)p FB(t)2348 882 y Fd(0)2381 +874 y Fq(\))2407 849 y Fn(l)2449 908 y Ft(\()p Fu(x)2528 +920 y FB(i)2556 908 y Ft(\()p Fu(t)2618 920 y Fq(0)2656 +908 y Ft(\))h Fx(\000)f Fu(m)p Ft(\()p Fu(t)2925 920 +y Fq(0)2962 908 y Ft(\)\))c Fu(:)523 1114 y Fy(Pr)l(oof)o(.)40 +b FE(By)32 b(induction.)d(Suppose)i(that)g(the)g(lemma)g(is)h(true)f +(for)g Fu(t)2532 1126 y Fq(0)2595 1114 y Ft(+)c(3)p Fu(nl)r(B)34 +b FE(then)d(if)h Fu(j)k FE(is)523 1214 y Fu(l)r FE(-connected)17 +b(to)k Fu(j)5 b FE(,)20 b(we)h(ha)n(v)o(e)819 1462 y +Fu(x)866 1474 y FB(l)892 1462 y Ft(\()p Fu(t)954 1474 +y Fq(0)1010 1462 y Ft(+)d(3)p Fu(nl)r(B)t Ft(\))23 b +Fx(\025)f Fu(m)p Ft(\()p Fu(t)1556 1474 y Fq(0)1594 1462 +y Ft(\))c(+)g(\()q Fu(\021)s Ft(\))1836 1420 y FB(l)1875 +1345 y Fr(\022)1937 1462 y Ft(\()1983 1405 y(1)p 1979 +1443 V 1979 1519 a Fu(n)2039 1462 y Ft(\))2071 1427 y +Fq(\(3)p FB(nlB)s Fq(\))2275 1345 y Fr(\023)2337 1362 +y FB(l)2376 1462 y Ft(\()p Fu(x)2455 1474 y FB(i)2483 +1462 y Ft(\()p Fu(t)2545 1474 y Fq(0)2583 1462 y Ft(\))g +Fx(\000)h Fu(m)p Ft(\()p Fu(t)2852 1474 y Fq(0)2889 1462 +y Ft(\)\))14 b Fu(:)623 1661 y FE(Consider)23 b(a)i(sensor)f +Fu(k)j FE(connected)22 b(to)j Fu(j)k FE(\()p Fu(k)e FE(is)f +Ft(\()p Fu(l)20 b Ft(+)e(1\))o FE(-connected)k(to)j Fu(i)p +FE(\),)e(Lemma)h(3)g(and)523 1761 y(the)c(abo)o(v)o(e)f(inequality)g +(gi)n(v)o(e)g(\(replacing)f Fu(t)1762 1773 y Fq(0)1820 +1761 y FE(by)i Fu(t)1954 1773 y Fq(0)2010 1761 y Ft(+)e(3)p +Fu(nl)r(B)t Ft(\))p Fu(;)2799 2021 y(x)2846 2033 y FB(k)2887 +2021 y Ft(\()p Fu(t)p Ft(\))24 b Fx(\025)716 2147 y Fu(m)p +Ft(\()p Fu(t)851 2159 y Fq(0)907 2147 y Ft(+)18 b(3)p +Fu(nl)r(B)t Ft(\))f(+)h Fu(\021)s Ft(\()1399 2114 y Fq(1)p +1395 2128 42 4 v 1395 2175 a FB(n)1446 2147 y Ft(\))1478 +2091 y Fn(t)p Fc(\000)p Fn(t)1569 2103 y Fd(0)1602 2091 +y Fc(\000)p Fd(3)p Fn(nlB)1799 2054 y Fr(\020)1849 2147 +y Ft(\()p Fu(\021)s Ft(\))1957 2105 y FB(l)1997 2079 +y Fr(\000)2035 2147 y Ft(\()2081 2114 y Fq(1)p 2077 2128 +V 2077 2175 a FB(n)2128 2147 y Ft(\))2160 2116 y Fq(\(3)p +FB(nlB)s Fq(\))2365 2079 y Fr(\001)2403 2093 y FB(l)2442 +2147 y Ft(\()p Fu(x)2521 2159 y FB(i)2549 2147 y Ft(\()p +Fu(t)2611 2159 y Fq(0)2649 2147 y Ft(\))h Fx(\000)f Fu(m)p +Ft(\()p Fu(t)2918 2159 y Fq(0)2955 2147 y Ft(\)\))3020 +2054 y Fr(\021)3005 2270 y Fx(\025)1401 2394 y Fu(m)p +Ft(\()p Fu(t)1536 2406 y Fq(0)1573 2394 y Ft(\))h(+)f(\()p +Fu(\021)s Ft(\))1816 2352 y FB(l)p Fq(+1)1939 2326 y +Fr(\000)1977 2394 y Ft(\()2024 2361 y Fq(1)p 2020 2375 +V 2020 2422 a FB(n)2071 2394 y Ft(\))2103 2364 y Fq(\()p +FB(t)p Fo(\000)p FB(t)2231 2372 y Fd(0)2263 2364 y Fq(\))2293 +2326 y Fr(\001)2331 2341 y FB(l)p Fq(+1)2455 2394 y Ft(\()p +Fu(x)2534 2406 y FB(i)2562 2394 y Ft(\()p Fu(t)2624 2406 +y Fq(0)2662 2394 y Ft(\))g Fx(\000)g Fu(m)p Ft(\()p Fu(t)2930 +2406 y Fq(0)2968 2394 y Ft(\)\))c Fu(:)523 2572 y Fy(Pr)l(oof)41 +b(\(Pr)l(oof)35 b(of)g(Theor)m(em)f(1\).)h FE(Consider)f(a)i(sensor)e +Fu(i)h FE(and)g(a)g(time)h Fu(t)2713 2584 y Fq(0)2750 +2572 y Fu(:)f FE(Assumption)f(1)523 2671 y(implies)40 +b(that)h(sensor)f Fu(i)h FE(is)g Fu(B)t FE(-connected)d(to)j(an)o(y)e +(sensor)i Fu(j:)g FE(Lemma)e(4)i(gi)n(v)o(es:)f Fx(8)p +Fu(t)60 b Fx(2)523 2771 y Ft([)p Fu(t)576 2783 y Fq(0)632 +2771 y Ft(+)18 b(3)p Fu(nM)9 b(B)t(;)14 b(t)1031 2783 +y Fq(0)1085 2771 y Ft(+)k(3)p Fu(nM)9 b(B)22 b Ft(+)c +Fu(B)t Ft(])c Fu(;)21 b Fx(8)p Fu(j)28 b Fx(2)23 b Fu(V)5 +b(;)996 2954 y(x)1043 2966 y FB(j)1079 2954 y Ft(\()p +Fu(t)1141 2966 y Fq(0)1196 2954 y Ft(+)19 b(3)p Fu(nM)9 +b(B)21 b Ft(+)d Fu(B)t Ft(\))24 b Fx(\025)e Fu(m)p Ft(\()p +Fu(t)1974 2966 y Fq(0)2012 2954 y Ft(\))c(+)g Fu(\016)f +Ft(\()q Fu(x)2279 2966 y FB(i)2307 2954 y Ft(\()p Fu(t)2369 +2966 y Fq(0)2406 2954 y Ft(\))i Fx(\000)f Fu(m)p Ft(\()p +Fu(t)2675 2966 y Fq(0)2712 2954 y Ft(\)\))d Fu(;)523 +3136 y FE(where)20 b Fu(\016)26 b(>)c Ft(0)p Fu(:)f FE(Thus,)899 +3335 y Fu(m)p Ft(\()p Fu(t)1034 3347 y Fq(0)1090 3335 +y Ft(+)d(3)p Fu(nM)9 b(B)22 b Ft(+)c Fu(B)t Ft(\))23 +b Fx(\025)g Fu(m)p Ft(\()p Fu(t)1868 3347 y Fq(0)1905 +3335 y Ft(\))c(+)f Fu(\016)2093 3243 y Fr(\020)2143 3335 +y Ft(max)2208 3387 y FB(i)2311 3335 y Fu(x)2358 3347 +y FB(i)2386 3335 y Ft(\()p Fu(t)2448 3347 y Fq(0)2486 +3335 y Ft(\))g Fx(\000)g Fu(m)p Ft(\()p Fu(t)2754 3347 +y Fq(0)2792 3335 y Ft(\))2824 3243 y Fr(\021)2887 3335 +y Fu(:)523 3549 y FE(Note)i(that)g Ft(lim)966 3561 y +FB(t)991 3569 y Fd(0)1023 3561 y Fo(!1)1174 3549 y Ft(max)1328 +3561 y FB(i)1370 3549 y Fu(x)1417 3561 y FB(i)1445 3549 +y Ft(\()p Fu(t)1507 3561 y Fq(0)1544 3549 y Ft(\))f Fx(\000)f +Fu(m)p Ft(\()p Fu(t)1813 3561 y Fq(0)1850 3549 y Ft(\))24 +b(=)e(0)f FE(\(otherwise)523 3649 y Ft(lim)638 3661 y +FB(t)663 3669 y Fd(0)696 3661 y Fo(!1)846 3649 y Fu(m)p +Ft(\()p Fu(t)981 3661 y Fq(0)1019 3649 y Ft(\))30 b(=)g(+)p +Fx(1)p FE(\).)23 b(On)h(the)g(other)f(hand,)g(as)h Ft(lim)2259 +3661 y FB(t)p Fo(!1)2434 3649 y Fu(m)p Ft(\()p Fu(t)p +Ft(\))31 b(=)e Fu(c)c FE(and)e(as)i Fu(m)p Ft(\()p Fu(t)p +Ft(\))30 b Fx(\024)523 3748 y Fu(x)570 3760 y FB(j)605 +3748 y Ft(\()p Fu(t)p Ft(\))24 b Fx(\024)f Ft(max)965 +3760 y FB(i)1007 3748 y Fu(x)1054 3760 y FB(i)1082 3748 +y Ft(\()p Fu(t)p Ft(\))p Fu(;)d FE(we)g(deduce)e(that)h +Fx(8)p Fu(j)28 b Fx(2)c Fu(V)5 b(;)20 b Ft(lim)2133 3760 +y FB(t)p Fo(!1)2309 3748 y Fu(x)2356 3760 y FB(j)2391 +3748 y Ft(\()p Fu(t)p Ft(\))k(=)e Fu(c;)e FE(which)f(implies)g(that)523 +3848 y Ft(lim)638 3860 y FB(t)p Fo(!1)814 3848 y Fu(s)853 +3860 y FB(ij)911 3848 y Ft(\()p Fu(t)p Ft(\))33 b(=)f(0)p +FE(.)25 b(Thanks)f(to)h(assumption)f(1,)h(we)h(deduce)e(that)h +Ft(lim)2724 3860 y FB(t)p Fo(!1)2900 3848 y Fu(v)2940 +3860 y FB(ij)2999 3848 y Ft(\()p Fu(t)p Ft(\))32 b(=)g(0)p +Fu(;)523 3948 y FE(and)c(thanks)h(to)g(\(1.5\),)e(we)i(deduce)f(that)h +Fu(nc)39 b Ft(=)f(lim)2111 3960 y FB(t)p Fo(!1)2286 3948 +y Fu(x)2333 3960 y FB(i)2361 3948 y Ft(\()p Fu(t)p Ft(\))i(=)2599 +3885 y Fr(P)2686 3906 y FB(n)2686 3972 y(i)p Fq(=1)2812 +3948 y Fu(x)2859 3960 y FB(i)2887 3948 y Ft(\(0\))p Fu(;)p +FE(i.e.)29 b Fu(c)39 b Ft(=)523 4056 y Fr(P)611 4076 +y FB(n)611 4143 y(i)p Fq(=1)736 4118 y Fu(x)783 4130 +y FB(i)811 4118 y Ft(\(0\))p Fu(=n;)21 b FE(which)e(yields)h(to)h +Ft(lim)1696 4130 y FB(t)p Fo(!1)1871 4118 y Fu(x)1918 +4130 y FB(i)1946 4118 y Ft(\()p Fu(t)p Ft(\))j(=)2166 +4085 y Fq(1)p 2162 4099 V 2162 4146 a FB(n)2252 4014 +y(n)2213 4039 y Fr(X)2219 4216 y FB(i)p Fq(=1)2333 4118 +y Fu(x)2380 4130 y FB(i)2408 4118 y Ft(\(0\))d FE(pro)o(ving)c(Theorem) +i(1.)p eop end +%%Page: 10 10 +TeXDict begin 10 9 bop 523 100 a FA(10)976 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y Fv(1.3.4)41 b(Practical)24 b(Issues)523 515 y FE(W)-7 +b(e)37 b(no)n(w)e(discuss)h(some)f(practical)g(aspects)h(related)f(to)h +(the)f(implementation)f(of)h(Algo-)523 614 y(rithm)27 +b(1.)g(The)g(main)g(tw)o(o)h(points)f(are)g(ho)n(w)g(to)g(choose)g +Fu(s)2243 626 y FB(ij)2301 614 y Ft(\()p Fu(t)p Ft(\))h +FE(and)f(ho)n(w)g(to)h(o)o(v)o(ercome)c(the)523 714 y(loss)d(of)f +(messages?)623 814 y(Each)g(node)g(updates)f(its)j(state)g(follo)n +(wing)d(equation)g(\(1.2\).)g(This)i(is)h(achie)n(v)o(ed,)c(by)j +(updat-)523 913 y(ing)26 b(each)f(sensors)h Fu(s)1144 +925 y FB(ij)1202 913 y Ft(\()p Fu(t)p Ft(\))h FE(through)d(time.)i(F)o +(or)f(sak)o(e)h(of)g(simplicity)-5 b(,)25 b(the)g(v)n(alue)h(of)f +Fu(s)3052 925 y FB(ij)3111 913 y Ft(\()p Fu(t)p Ft(\))h +FE(is)523 1013 y(chosen)18 b(to)g(be)g(computed)f(by)h(the)g(weighted)g +(dif)n(ference)e(between)i(the)g(states)i(of)e(nodes)f +Fu(i)i FE(and)523 1112 y Fu(j)26 b FE(as)21 b(follo)n(ws:)933 +1342 y Fu(s)972 1354 y FB(ij)1030 1342 y Ft(\()p Fu(t)p +Ft(\))j(=)1235 1225 y Fr(\032)1310 1290 y Fu(\013)1363 +1302 y FB(ij)1422 1290 y Ft(\()p Fu(t)p Ft(\)\()p Fu(x)1595 +1302 y FB(i)1624 1290 y Ft(\()p Fu(t)p Ft(\))19 b Fx(\000)f +Fu(x)1867 1260 y FB(i)1867 1312 y(j)1902 1290 y Ft(\()p +Fu(t)p Ft(\)\))192 b FE(if)83 b Fu(x)2401 1302 y FB(i)2429 +1290 y Ft(\()p Fu(t)p Ft(\))23 b Fu(>)g(x)2681 1260 y +FB(i)2681 1312 y(j)2716 1290 y Ft(\()p Fu(t)p Ft(\))f +Fu(;)1310 1393 y Ft(0)868 b FE(otherwise)o Fu(:)623 1543 +y FE(The)15 b(choice)g(of)h Fu(s)1126 1555 y FB(ij)1184 +1543 y Ft(\()p Fu(t)p Ft(\))h FE(is)g(then)f(deduced)e(from)h(the)g +(proper)g(choice)g(of)g(the)h(weights)g Fu(\013)3113 +1555 y FB(ij)3172 1543 y Ft(\()p Fu(t)p Ft(\))p FE(.)523 +1643 y(Hence,)24 b Fu(\013)834 1655 y FB(ij)893 1643 +y Ft(\()p Fu(t)p Ft(\))i FE(must)e(be)h(chosen)f(such)h(that)g(the)f +(states)i(of)f(all)g(the)g(nodes)f(con)m(v)o(er)o(ge)d(to)k(the)523 +1742 y(a)n(v)o(erage)799 1680 y Fr(P)887 1701 y FB(n)887 +1767 y(i)p Fq(=1)1012 1742 y Fu(z)1051 1754 y FB(i)1078 +1742 y Fu(=n)p FE(,)20 b(i.e.,)g(assumptions)g(2)g(and)f(3)i(must)f(be) +g(satis\002ed.)623 1842 y(Denote)25 b(by)h Fu(j)1038 +1812 y Fo(\003)1103 1842 y FE(the)g(sensor)g(node)f(satisfying)h +Fu(x)2055 1812 y FB(i)2055 1864 y(j)2085 1847 y Fc(\003)2159 +1842 y Ft(=)34 b(min)2396 1857 y FB(k)q Fo(2)p FB(N)2530 +1865 y Fn(i)2556 1857 y Fq(\()p FB(t)p Fq(\))2651 1842 +y Fu(x)2698 1812 y FB(i)2698 1865 y(k)2740 1842 y Ft(\()p +Fu(t)p Ft(\))27 b FE(\(note)e(that)i Fu(j)3249 1812 y +Fo(\003)523 1942 y FE(depends)20 b(on)g Fu(i)h FE(and)f(time)h +Fu(t)p FE(\))p Fu(:)h FE(The)e(v)n(alues)h(of)f Fu(\013)1909 +1954 y FB(ij)1968 1942 y Ft(\()p Fu(t)p Ft(\))i FE(must)f(be)g +(selected)f(so)i(that)f(to)g(a)n(v)n(oid)f(the)523 2041 +y(ping)f(pong)g(condition)g(presented)g(in)h(assumption)f(3.)623 +2141 y(This)i(is)i(equi)n(v)n(alent)c(to)j(choose)e Fu(\013)1625 +2153 y FB(ij)1684 2141 y Ft(\()p Fu(t)p Ft(\))j FE(so)e(that)h +Fx(8)p Fu(t)j Fe(>)g Ft(0)p Fu(;)14 b Fx(8)p Fu(i)25 +b Fx(2)g Fu(N)t(;)e FE(and)e Fu(j)30 b Fx(6)p Ft(=)25 +b Fu(j)2945 2111 y Fo(\003)3008 2141 y Fx(2)p 3089 2074 +76 4 v 26 w Fu(N)3165 2153 y FB(i)3192 2141 y Ft(\()p +Fu(t)p Ft(\))523 2240 y FE(satisfying)20 b Fu(x)914 2252 +y FB(i)942 2240 y Ft(\()p Fu(t)p Ft(\))j Fu(>)g(x)1194 +2210 y FB(i)1194 2262 y(j)1229 2240 y Ft(\()p Fu(t)p +Ft(\))p Fu(;)1015 2494 y Ft(0)f Fx(\024)h Fu(\013)1220 +2506 y FB(ij)1279 2494 y Ft(\()p Fu(t)p Ft(\))g Fx(\024)1494 +2438 y Ft(1)p 1494 2475 42 4 v 1494 2551 a(2)1559 2352 +y Fr( )1625 2494 y Ft(1)18 b Fx(\000)1778 2363 y Fr(P)1865 +2450 y FB(j)s Fo(6)p Fq(=)p FB(i)1989 2425 y Fu(\013)2042 +2437 y FB(ik)2106 2425 y Ft(\()p Fu(t)p Ft(\)\()p Fu(x)2279 +2437 y FB(i)2308 2425 y Ft(\()p Fu(t)p Ft(\))h Fx(\000)f +Fu(x)2551 2395 y FB(k)2551 2447 y(i)2592 2425 y Ft(\()p +Fu(t)p Ft(\)\))p 1778 2475 942 4 v 1992 2563 a(\()p Fu(x)2071 +2575 y FB(i)2100 2563 y Ft(\()p Fu(t)p Ft(\))h Fx(\000)f +Fu(x)2343 2523 y FB(j)2343 2586 y(i)2378 2563 y Ft(\()p +Fu(t)p Ft(\)\))2729 2352 y Fr(!)3128 2494 y FE(\(1.8\))623 +2718 y(The)25 b(weights)g Fu(\013)1115 2730 y FB(ij)1174 +2718 y Ft(\()p Fu(t)p Ft(\))h FE(must)g(also)g(be)f(chosen)g(in)g +(order)g(to)g(respect)h(assumption)e(2.)h(This)523 2817 +y(assumption)19 b(can)h(be)g(carried)f(out)h(by)g(\002xing)g(a)g +(constant)g Fu(\014)27 b Fx(2)c Ft([0)p Fu(;)14 b Ft(1])20 +b FE(and)g(choosing)889 2930 y Fr(8)889 3005 y(<)889 +3154 y(:)976 2933 y(P)1063 3020 y FB(k)q Fo(6)p Fq(=)p +FB(j)1180 3003 y Fc(\003)1216 3020 y Fo(2)p FB(N)1314 +3028 y Fn(i)1340 3020 y Fq(\()p FB(t)p Fq(\))1435 2995 +y Fu(\013)1488 3007 y FB(ik)1552 2995 y Ft(\()p Fu(t)p +Ft(\)\()p Fu(x)1725 3007 y FB(i)1754 2995 y Ft(\()p Fu(t)p +Ft(\))f Fx(\000)f Fu(x)1997 2965 y FB(i)1997 3019 y(k)2039 +2995 y Ft(\()p Fu(t)p Ft(\)\))24 b Fx(\024)e Fu(\014)t +Ft(\()p Fu(x)2406 3007 y FB(i)2435 2995 y Ft(\()p Fu(t)p +Ft(\))d Fx(\000)f Fu(x)2678 2965 y FB(i)2678 3017 y(j)2708 +3000 y Fc(\003)2748 2995 y Ft(\()p Fu(t)p Ft(\)\))p Fu(;)976 +3155 y(\013)1029 3167 y FB(ij)1082 3151 y Fc(\003)1122 +3155 y Ft(\()p Fu(t)p Ft(\))24 b(=)1337 3122 y Fq(1)p +1337 3136 34 4 v 1337 3184 a(2)1394 3038 y Fr(\022)1455 +3155 y Ft(1)18 b Fx(\000)1608 3059 y Fb(P)1678 3121 y +Fn(k)q Fc(6)p Fd(=)p Fn(j)1779 3109 y Fc(\003)1830 3102 +y FB(\013)1873 3111 y Fn(ik)1931 3102 y Fq(\()p FB(t)p +Fq(\)\()p FB(x)2072 3110 y Fn(i)2098 3102 y Fq(\()p FB(t)p +Fq(\))p Fo(\000)p FB(x)2265 3077 y Fn(i)2265 3119 y(k)2301 +3102 y Fq(\()p FB(t)p Fq(\)\))p 1608 3136 796 4 v 1793 +3187 a(\()p FB(x)1857 3195 y Fn(i)1883 3187 y Fq(\()p +FB(t)p Fq(\))p Fo(\000)p FB(x)2050 3167 y Fn(i)2050 3210 +y(j)2076 3198 y Fc(\003)2116 3187 y Fq(\()p FB(t)p Fq(\)\))2414 +3038 y Fr(\023)3128 3100 y FE(\(1.9\))523 3349 y(Indeed,)g(from)i +(\(1.9\))e(we)j(deduce)839 3588 y Fu(\013)892 3600 y +FB(ij)945 3584 y Fc(\003)986 3588 y Ft(\()p Fu(t)p Ft(\))i +Fx(\025)1201 3523 y Ft(\()p Fu(x)1280 3535 y FB(i)1308 +3523 y Ft(\()p Fu(t)p Ft(\))c Fx(\000)f Fu(x)1551 3493 +y FB(i)1551 3545 y(j)1581 3528 y Fc(\003)1621 3523 y +Ft(\()p Fu(t)p Ft(\)\))i Fx(\000)e Fu(\014)t Ft(\()p +Fu(x)1980 3535 y FB(i)2008 3523 y Ft(\()p Fu(t)p Ft(\))h +Fx(\000)f Fu(x)2251 3493 y FB(i)2251 3545 y(j)2281 3528 +y Fc(\003)2322 3523 y Ft(\()p Fu(t)p Ft(\)\))p 1201 3569 +1248 4 v 1530 3646 a(2\()p Fu(x)1651 3658 y FB(i)1679 +3646 y Ft(\()p Fu(t)p Ft(\))h Fx(\000)f Fu(x)1922 3618 +y FB(i)1922 3670 y(j)1952 3653 y Fc(\003)1992 3646 y +Ft(\()p Fu(t)p Ft(\)\))2481 3588 y(=)2579 3532 y(1)g +Fx(\000)g Fu(\014)p 2579 3569 195 4 v 2655 3645 a Ft(2)2806 +3588 y(=)23 b Fu(\013:)523 3846 y FE(Hence,)d Fx(8)p +Fu(i;)14 b(j)928 3815 y Fo(\003)965 3846 y Fu(;)g(t)21 +b FE(such)f(that)g Fu(j)1410 3815 y Fo(\003)1471 3846 +y Fx(2)p 1550 3779 76 4 v 24 w Fu(N)1626 3858 y FB(i)1653 +3846 y Ft(\()p Fu(t)p Ft(\))h FE(and)f Fu(x)1956 3815 +y FB(i)1956 3867 y(j)1986 3851 y Fc(\003)2026 3846 y +Ft(\()p Fu(t)p Ft(\))k(=)e(min)2370 3861 y FB(k)q Fo(2)p +FB(N)2504 3869 y Fn(i)2530 3861 y Fq(\()p FB(t)p Fq(\))2625 +3846 y Fu(x)2672 3815 y FB(i)2672 3869 y(k)2713 3846 +y Ft(\()p Fu(t)p Ft(\))p Fu(;)943 4042 y(s)982 4054 y +FB(ij)1035 4038 y Fc(\003)1075 4042 y Ft(\()p Fu(t)p +Ft(\))h(=)g Fu(\013)1333 4054 y FB(ij)1386 4038 y Fc(\003)1426 +4042 y Ft(\()p Fu(t)p Ft(\))1534 3975 y Fr(\000)1573 +4042 y Fu(x)1620 4054 y FB(i)1648 4042 y Ft(\()p Fu(t)p +Ft(\))c Fx(\000)f Fu(x)1891 4008 y FB(i)1891 4063 y(j)1921 +4046 y Fc(\003)1961 4042 y Ft(\()p Fu(t)p Ft(\))2055 +3975 y Fr(\001)2117 4042 y Fx(\025)k Fu(\013)2271 3975 +y Fr(\000)2310 4042 y Fu(x)2357 4054 y FB(i)2385 4042 +y Ft(\()p Fu(t)p Ft(\))d Fx(\000)f Fu(x)2628 4008 y FB(i)2628 +4063 y(j)2658 4046 y Fc(\003)2698 4042 y Ft(\()p Fu(t)p +Ft(\))2792 3975 y Fr(\001)2844 4042 y Fu(:)623 4225 y +FE(The)23 b(\002rst)i(inequation)d(of)i(\(1.9\))f(can)g(be)h(written)g +(as)2179 4163 y Fr(P)2267 4250 y FB(k)q Fo(6)p Fq(=)p +FB(j)2384 4233 y Fc(\003)2420 4250 y Fo(2)p FB(V)2504 +4258 y Fn(i)2530 4250 y Fq(\()p FB(t)p Fq(\))2625 4225 +y Fu(s)2664 4237 y FB(ik)2728 4225 y Ft(\()p Fu(t)p Ft(\))31 +b Fx(\024)f Fu(\014)t Ft(\()p Fu(x)3078 4237 y FB(i)3106 +4225 y Ft(\()p Fu(t)p Ft(\))22 b Fx(\000)523 4341 y Fu(x)570 +4311 y FB(i)570 4363 y(j)600 4346 y Fc(\003)640 4341 +y Ft(\()p Fu(t)p Ft(\)\))p Fu(;)27 b FE(this)e(means)f(that)h(the)g +(totality)g(of)g(data)f(sent)i(to)f(the)g(neighbours)d(of)i +Fu(i)i FE(\(e)o(xcept)d Fu(j)3221 4311 y Fo(\003)3259 +4341 y FE(\))523 4451 y(doesn')o(t)c(e)o(xceed)g(a)h(portion)f +Fu(\014)25 b FE(of)20 b Ft(\()p Fu(x)1596 4463 y FB(i)1624 +4451 y Ft(\()p Fu(t)p Ft(\))f Fx(\000)f Fu(x)1867 4421 +y FB(i)1867 4473 y(j)1897 4456 y Fc(\003)1937 4451 y +Ft(\()p Fu(t)p Ft(\)\))p Fu(:)623 4551 y FE(Equations)25 +b(\(1.8\))g(and)g(\(1.9\))g(are)i(deri)n(v)o(ed)d(from)h(the)i +(assumptions)e(2)i(and)e(3.)i(Therefore)523 4651 y(the)20 +b(choice)g(of)g(the)g(weights)g Fu(\013)1427 4663 y FB(ij)1506 +4651 y FE(must)g(tak)o(e)h(into)f(consideration)e(these)i(tw)o(o)g +(equations.)p eop end +%%Page: 11 11 +TeXDict begin 11 10 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif) +n(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)545 +b(11)p 523 206 2764 7 v 523 280 a FD(Algorithm)20 b(2)g +FE(T)-6 b(emporally)18 b(updating)h(weights)h(of)g(node)f +Fu(i)p FE(.)p 523 318 2764 4 v 553 383 a FA(1:)35 b Fm(f)n(or)19 +b Fl(j)k Fz( )c Fk(1)f FA(to)g Fl(n)f Fm(do)553 466 y +FA(2:)118 b Fm(if)18 b Fl(j)23 b Fz(6)p Fk(=)c Fl(i)f +Fm(then)553 549 y FA(3:)201 b Fl(s)842 559 y Fj(ij)916 +549 y Fz( )19 b Fk(0)553 632 y FA(4:)201 b Fl(\013)854 +642 y Fj(ij)929 632 y Fz( )19 b Fk(0)553 715 y FA(5:)118 +b Fm(end)18 b(if)553 798 y FA(6:)35 b Fm(end)18 b(f)n(or)553 +881 y FA(7:)35 b Fl(k)21 b Fz( )e Fk(0)553 964 y FA(8:)35 +b Fl(S)t(um)20 b Fz( )f Fk(0)553 1047 y FA(9:)35 b(\002nd)18 +b Fl(`)g FA(such)h(that)e Fl(\001)1146 1024 y Fj(`)1146 +1069 y(i)1196 1047 y Fk(=)i Fl(D)r(el)q(ta)1447 1057 +y Fj(i)1474 1047 y Fk([)p Fl(k)r Fk(])523 1130 y FA(10:)36 +b Fl(\013)694 1142 y Fj(i`)766 1130 y Fk(=)19 b(1)p Fl(=)p +Fk(\()p Fl(\021)972 1140 y Fj(i)1016 1130 y Fk(+)c(1\))523 +1213 y FA(11:)36 b Fl(s)682 1225 y Fj(i`)753 1213 y Fk(=)19 +b Fl(\013)872 1225 y Fj(i`)941 1213 y Fz(\002)c Fl(\001)1070 +1190 y Fj(`)1070 1235 y(i)523 1296 y FA(12:)36 b Fm(r)o(epeat)523 +1379 y FA(13:)119 b Fl(S)t(um)19 b Fz( )g Fl(S)t(um)d +Fk(+)f Fl(s)1260 1391 y Fj(il)523 1462 y FA(14:)119 b +Fl(k)21 b Fz( )e Fl(k)e Fk(+)f(1)523 1545 y FA(15:)119 +b(\002nd)18 b Fl(`)f FA(such)i(that)f Fl(\001)1235 1522 +y Fj(`)1235 1567 y(i)1284 1545 y Fk(=)i Fl(D)r(el)q(ta)1536 +1555 y Fj(i)1563 1545 y Fk([)p Fl(k)r Fk(])523 1628 y +FA(16:)119 b Fl(\013)777 1640 y Fj(i`)849 1628 y Fz( )19 +b Fk(1)p Fl(=)p Fk(\()p Fl(\021)1071 1638 y Fj(i)1114 +1628 y Fk(+)d(1\))523 1711 y FA(17:)119 b Fl(s)765 1723 +y Fj(i`)836 1711 y Fz( )19 b Fl(\013)971 1723 y Fj(i`)1039 +1711 y Fz(\002)d Fl(\001)1169 1688 y Fj(`)1169 1733 y(i)523 +1794 y FA(18:)36 b Fm(until)f Fl(N)7 b(O)r(T)27 b FA(\()p +Fk(\()p Fl(x)1102 1804 y Fj(i)1145 1794 y Fz(\000)15 +b Fl(S)t(um)20 b Fz(\025)f Fl(x)1499 1771 y Fj(i)1499 +1817 y(`)1545 1794 y Fk(+)c Fl(s)1648 1806 y Fj(i`)1700 +1794 y Fk(\))j Fl(AN)7 b(D)20 b Fk(\()p Fl(k)h(<)f(n)p +Fk(\))p FA(\))p 523 1851 V 623 2134 a FE(First)h(let)f(de\002ne)g(the)g +(de)n(viation)f Fu(\001)1642 2094 y FB(j)1642 2157 y(i)1677 +2134 y Ft(\()p Fu(t)p Ft(\))i FE(of)f(node)g Fu(i)g FE(as:)861 +2363 y Fu(\001)930 2324 y FB(j)930 2387 y(i)965 2363 +y Ft(\()p Fu(t)p Ft(\))k(=)1170 2246 y Fr(\032)1245 2311 +y Fu(x)1292 2323 y FB(i)1320 2311 y Ft(\()p Fu(t)p Ft(\))19 +b Fx(\000)f Fu(x)1563 2281 y FB(i)1563 2333 y(j)1599 +2311 y Ft(\()p Fu(t)p Ft(\))191 b FE(if)p Fu(j)28 b Fx(2)23 +b Fu(N)2142 2323 y FB(i)2170 2311 y Ft(\()p Fu(t)p Ft(\))e +FE(and)e Fu(x)2472 2323 y FB(i)2501 2311 y Ft(\()p Fu(t)p +Ft(\))k Fu(>)g(x)2753 2281 y FB(i)2753 2333 y(j)2788 +2311 y Ft(\()p Fu(t)p Ft(\))f Fu(;)1245 2414 y Ft(0)597 +b FE(otherwise.)623 2559 y(Algorithm)17 b(2)i(presents)f(our)g(method)f +(for)h(temporally)f(updating)g(the)i(a)n(v)o(eraging)e(weights.)523 +2658 y(Node)27 b Fu(i)i FE(computes)d(the)j(dif)n(ference)d(between)h +(its)i(current)e(state)h(and)g(current)f(states)i(of)e(its)523 +2758 y(neighbours.)16 b(The)i(positi)n(v)o(e)f(de)n(viations)h(\()p +Fu(\001)1814 2718 y FB(j)1814 2781 y(i)1871 2758 y Fu(>)23 +b Ft(0)p FE(\))18 b(are)h(then)f(stored)f(in)i(the)f(array)g +Fu(D)r(el)r(ta)3156 2770 y FB(i)3182 2758 y FE(,)h(in)523 +2857 y(a)j(decreasing)f(order)-5 b(.)21 b(Then,)f(it)j(sets)g(the)f +(weight)f Fu(\013)2028 2869 y FB(ij)2110 2857 y FE(to)h +Ft(1)p Fu(=)p Ft(\()p Fu(\021)2354 2869 y FB(i)2381 2857 +y Ft(\()p Fu(t)p Ft(\))e(+)f(1\))p FE(,)j(where)g Fu(\021)2963 +2869 y FB(i)2991 2857 y Ft(\()p Fu(t)p Ft(\))h FE(is)f(the)523 +2957 y(current)c(number)g(of)h(its)h(neighbours,)c(starting)j(by)g(its) +i(neighbours)16 b(nodes)j Fu(j)25 b FE(whose)19 b(ha)n(v)o(e)f(the)523 +3057 y(lar)o(ger)h(de)n(viations)g(while)h(respecting)f(assumption)g +(3.)623 3156 y(In)29 b(order)f(to)i(cope)e(with)i(the)g(problem)d(of)j +(message)f(loss,)h(we)g(adopted)e(the)h(follo)n(wing)523 +3256 y(strate)o(gy:)c(instead)h(of)g(sending)f Fu(s)1516 +3268 y FB(ij)1574 3256 y Ft(\()p Fu(t)p Ft(\))i FE(from)f(node)f +Fu(i)h FE(to)g(node)f Fu(j)5 b FE(,)26 b(it)h(is)g(the)f(sum)g +Fu(\006)3005 3268 y FB(s)3036 3276 y Fn(ij)3094 3256 +y Ft(\()p Fu(t)p Ft(\))34 b(=)523 3293 y Fr(P)611 3380 +y Fq(0)p Fo(\024)p FB(\034)7 b Fo(\024)p FB(t)828 3356 +y Fu(s)867 3368 y FB(ij)925 3356 y Ft(\()p Fu(\034)i +Ft(\))29 b FE(that)d(is)h(sent.)g(Symmetrically)e(the)h(recei)n(v)o +(ers)g(maintains)f(the)i(sum)f(of)g(the)523 3455 y(recei)n(v)o(ed)i +(data)h Fu(\006)1064 3467 y FB(r)1095 3475 y Fn(j)r(i)1152 +3455 y Ft(\()p Fu(t)p Ft(\))40 b(=)1391 3393 y Fr(P)1478 +3480 y Fq(0)p Fo(\024)p FB(\034)7 b Fo(\024)p FB(t)1696 +3455 y Fu(r)1733 3467 y FB(j)s(i)1792 3455 y Ft(\()p +Fu(\034)i Ft(\))p FE(.)30 b(Upon)f(recei)n(ving,)e(at)j(a)g(time)f +Fu(t)p FE(,)h(a)g(message)523 3578 y(from)17 b(node)g +Fu(i)p FE(,)i(a)f(node)g Fu(j)23 b FE(can)18 b(no)n(w)g(reco)o(v)o(er)e +(all)j(the)f(data)g(that)h(w)o(as)g(sent)f(before)f(time)i +Fu(d)3067 3538 y FB(j)3067 3601 y(i)3102 3578 y Ft(\()p +Fu(t)p Ft(\))p FE(.)g(It)523 3687 y(has)f(only)e(to)i(calculate)f(the)g +(dif)n(ference)f(between)g(the)i(recei)n(v)o(ed)e Fu(\006)2460 +3699 y FB(s)2491 3707 y Fn(ij)2548 3687 y Ft(\()p Fu(d)2623 +3647 y FB(j)2623 3710 y(i)2659 3687 y Ft(\()p Fu(t)p +Ft(\)\))i FE(and)f(the)h(locally)523 3787 y(stored)i +Fu(\006)812 3799 y FB(r)843 3807 y Fn(j)r(i)900 3787 +y Ft(\()p Fu(t)p Ft(\))p FE(.)623 3887 y(T)-7 b(o)18 +b(conclude,)e(the)i(state)h(messages)f(e)o(xchanged)e(during)g(the)i(e) +o(x)o(ecution)e(of)i(the)g(algorithm)523 3986 y(are)h(composed)e(of)i +(tw)o(o)h(scalar)f(v)n(alues)g(:)g(the)g(current)f(state)i(of)f(the)g +(node,)f Fu(x)2725 3998 y FB(i)2753 3986 y Ft(\()p Fu(t)p +Ft(\))p FE(,)i(and)e(the)h(sum)523 4086 y(of)h(the)g(sent)h(data)f +Fu(\006)1114 4098 y FB(s)1145 4106 y Fn(ij)1202 4086 +y Ft(\()p Fu(t)p Ft(\))p FE(.)p eop end +%%Page: 12 12 +TeXDict begin 12 11 bop 523 100 a FA(12)976 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y Fv(1.3.5)41 b(Illustrativ)o(e)23 b(Example)523 +515 y FE(T)-7 b(o)26 b(illustrate)g(the)g(beha)n(viour)e(of)i(our)f +(proposed)f(approach,)f(les)k(us)f(consider)f(the)h(e)o(xample)523 +614 y(presented)20 b(in)h(Figure)g(1.2.)f(It)h(consists)h(in)f(a)h +(netw)o(ork)e(of)h(four)f(nodes.)g(The)h(initial)h(measure-)523 +714 y(ment)e(of)g(each)g(node)f Fu(i)h FE(is)h(kno)n(wn)e(by)h +Fu(z)1668 726 y FB(i)1716 714 y FE(and)f(the)i(initial)f(state)h +Fu(x)2413 726 y FB(i)2441 714 y Ft(\(0\))i(=)g Fu(z)2697 +726 y FB(i)2724 714 y FE(.)881 1808 y @beginspecial 0 +@llx 0 @lly 447 @urx 198 @ury 2458 @rwi @setspecial +%%BeginDocument: exampleFusion.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: example.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha7 +%%CreationDate: Wed Apr 9 11:24:09 2008 +%%For: makhoul@soleil4 (makhoul,,,) +%%BoundingBox: 0 0 447 198 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 198 moveto 0 0 lineto 447 0 lineto 447 198 lineto closepath clip newpath +-208.8 326.9 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06299 0.06299 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Ellipse +30.000 slw +n 3825 2565 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 7380 2565 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 4320 4680 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 9900 4455 487 487 0 360 DrawEllipse gs col0 s gr + +% Polyline +0 slj +0 slc +n 3825 3060 m + 4185 4230 l gs col0 s gr +% Polyline +n 4320 2565 m + 6885 2565 l gs col0 s gr +% Polyline +n 4815 4545 m + 7110 2970 l gs col0 s gr +% Polyline +n 7740 2925 m + 9585 4095 l gs col0 s gr +/Times-Bold ff 254.00 scf sf +3420 2610 m +gs 1 -1 sc (z) col0 sh gr +/Times-Roman ff 190.50 scf sf +3555 2700 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +3690 2610 m +gs 1 -1 sc (= 0.5) col0 sh gr +/Times-Roman ff 190.50 scf sf +7155 2655 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +7245 2565 m +gs 1 -1 sc (= 0.9) col0 sh gr +/Times-Bold ff 254.00 scf sf +7020 2565 m +gs 1 -1 sc (z) col0 sh gr +/Times-Bold ff 254.00 scf sf +9495 4500 m +gs 1 -1 sc (z) col0 sh gr +/Times-Roman ff 190.50 scf sf +9630 4590 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +9765 4500 m +gs 1 -1 sc (= 0.7) col0 sh gr +/Times-Bold ff 254.00 scf sf +3960 4770 m +gs 1 -1 sc (z) col0 sh gr +/Times-Bold ff 222.25 scf sf +4230 4770 m +gs 1 -1 sc (= 0.2) col0 sh gr +/Times-Roman ff 190.50 scf sf +4095 4860 m +gs 1 -1 sc (3) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF + +%%EndDocument + @endspecial 523 1933 a Fm(Fig)o(.)16 b(1.2)36 b FA(An)17 +b(e)o(xample)g(of)h(a)f(sensor)h(netw)o(ork)h(composed)f(of)g(four)g +(nodes)g(with)e(their)h(initial)e(measurements.)623 2193 +y FE(F)o(ollo)n(wing)21 b(the)i(second)f(step)h(of)f(Algorithm)g(1,)g +(each)h(node)e(computes)h(the)h(weights)f Fu(\013)3228 +2205 y FB(ij)523 2293 y FE(for)e(its)h(neighbours.)c(This)k(is)g(done)e +(by)h(using)f(Algorithm)g(2.)623 2392 y(Let)36 b(us)g(focus)f(on)h(the) +f(case)i(of)e Fu(node)1810 2404 y Fq(4)1884 2392 y FE(for)g(instance.)g +(W)-7 b(e)37 b(notice)e(that)h(it)h(has)f(three)523 2492 +y(neighbours)19 b(and)i(the)g(high)g(de)n(viation)f Fu(\001)i +FE(corresponds)d(to)j Fu(node)2451 2504 y Fq(3)2488 2492 +y FE(.)f(Therefore,)e(it)k(computes)523 2592 y Fu(\013)576 +2604 y Fq(43)646 2592 y Ft(\(0\))45 b(=)976 2559 y Fq(1)p +917 2573 151 4 v 917 2620 a FB(\021)951 2628 y Fd(4)983 +2620 y Fq(+1)1122 2592 y Ft(=)1242 2559 y Fq(1)p 1242 +2573 34 4 v 1242 2620 a(4)1317 2592 y FE(\002rst,)33 +b(such)e(that)i Fu(\021)1883 2604 y Fq(4)1953 2592 y +FE(is)f(the)g(number)f(of)g(its)i(neighbours.)c(Then,)523 +2710 y Fu(s)562 2722 y Fq(43)632 2710 y Ft(\(0\))e(=)867 +2677 y Fq(1)p 867 2691 V 867 2739 a(4)910 2710 y Ft(\()p +Fu(x)989 2722 y Fq(4)1027 2710 y Ft(\(0\))20 b Fx(\000)g +Fu(x)1285 2722 y Fq(3)1323 2710 y Ft(\(0\)\))27 b(=)g(0)p +Fu(:)p Ft(175)p FE(.)20 b(F)o(or)i(the)h(tw)o(o)f(reminder)f +(neighbours)f Fu(node)3107 2722 y Fq(1)3167 2710 y FE(and)523 +2810 y Fu(node)695 2822 y Fq(2)732 2810 y FE(,)25 b Fu(node)950 +2822 y Fq(4)1013 2810 y FE(computes)f Fu(\013)1410 2822 +y Fq(42)1480 2810 y Ft(\(0\))i FE(\002rst)f(for)f(the)h(reason)f(that)h +Fu(\001)2476 2779 y Fq(2)2476 2830 y(4)2539 2810 y FE(is)h(higher)d +(than)i Fu(\001)3095 2779 y Fq(1)3095 2830 y(4)3132 2810 +y FE(.)g(W)-7 b(e)523 2909 y(note)24 b(that)h(for)e Fu(node)1134 +2921 y Fq(2)1196 2909 y FE(the)i(Assumption)e(3)i(\(ping)e(pong)g +(condition\))f(is)k(satis\002ed)f(while)f(it)h(is)523 +3009 y(not)20 b(the)g(case)h(for)e Fu(node)1225 3021 +y Fq(1)1283 3009 y FE(which)h(leads)g(to)h Fu(\013)1837 +3021 y Fq(41)1907 3009 y Ft(\(0\))i(=)g(0)p FE(.)623 +3108 y(All)j(the)g(nodes)e(compute)h(their)g(weights)g(and)g(then)h +(dif)n(fuse)e(their)i(information)d(to)j(their)523 3208 +y(neighbours)c(to)k(update)d(their)i(states)h(follo)n(wing)d(Equation)h +(\(1.2\).)f(F)o(or)i(the)g(abo)o(v)o(e)e(e)o(xample)523 +3308 y(after)d(the)g(\002rst)h(step)g(we)f(obtain:)623 +3474 y Fu(x)670 3486 y Fq(1)707 3474 y Ft(\(1\))k(=)e(0)p +Fu(:)p Ft(7)623 3573 y Fu(x)670 3585 y Fq(2)707 3573 +y Ft(\(1\))i(=)e(0)p Fu(:)p Ft(5)c(+)g(0)p Fu(:)p Ft(1)f +Fx(\000)h Ft(0)p Fu(:)p Ft(1)k(=)h(0)p Fu(:)p Ft(5)623 +3673 y Fu(x)670 3685 y Fq(3)707 3673 y Ft(\(1\))h(=)e(0)p +Fu(:)p Ft(2)c(+)g(0)p Fu(:)p Ft(1)f(+)h(0)p Fu(:)p Ft(175)j(=)i(0)p +Fu(:)p Ft(475)623 3773 y Fu(x)670 3785 y Fq(4)707 3773 +y Ft(\(1\))h(=)e(0)p Fu(:)p Ft(9)c Fx(\000)g Ft(0)p Fu(:)p +Ft(1)f Fx(\000)h Ft(0)p Fu(:)p Ft(175)j(=)i(0)p Fu(:)p +Ft(625)623 3939 y FE(This)31 b(process)f(is)i(repeated)d(for)i(se)n(v)o +(eral)f(iterations)g(until)h(all)g(the)g(states)h(of)e(the)h(nodes)523 +4038 y(con)m(v)o(er)o(ge)26 b(to)k(the)g(a)n(v)o(erage)e(of)i(the)g +(initial)g(measurements.)e(W)-7 b(e)30 b(note)g(that)f(our)g(scheme)g +(is)523 4138 y(rob)n(ust)c(to)g(the)h(topology)d(changes)h(and)h(the)g +(loss)h(of)f(messages)h(as)g(discussed)f(in)h(details)f(in)523 +4238 y(the)20 b(ne)o(xt)g(section.)p eop end +%%Page: 13 13 +TeXDict begin 13 12 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif) +n(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)545 +b(13)523 282 y FC(1.4)41 b(Experimental)26 b(Results)523 +515 y FE(In)21 b(order)g(to)g(e)n(v)n(aluate)g(the)h(performance)c(of)k +(our)e(approach,)g(we)i(ha)n(v)o(e)f(implemented)e(a)j(sim-)523 +614 y(ulation)j(package)f(using)i(the)g(discrete)f(e)n(v)o(ent)g +(simulator)g(OMNET++)g([17)o(].)h(This)g(package)523 +714 y(includes)f(our)g(asynchronous)e(algorithm)h(as)j(well)f(as)g(a)h +(synchronous)c(one.)i(As)h(con\002rmed)523 814 y(in)c(pre)n(vious)d +(related)i(w)o(orks)g([2)o(,)h(5],)f(distrib)n(uted)f(approaches)g(out) +h(perform)e(centralised)i(ap-)523 913 y(proaches,)h(in)i(particular)f +(in)h(noisy)f(netw)o(orks.)g(F)o(or)h(this)g(reason,)f(we)h(ha)n(v)o(e) +f(not)h(included)e(in)523 1013 y(our)30 b(comparison)e(centralised)i +(approaches,)f(and)h(focuses)g(instead)g(on)g(synchronous)e(dis-)523 +1112 y(trib)n(uted)19 b(approaches)g(that)h(are)g(more)f(closed)h(to)h +(our)e(w)o(ork.)623 1212 y(W)-7 b(e)27 b(performed)c(se)n(v)o(eral)i +(runs)g(of)g(the)h(algorithms)f(\(an)g(a)n(v)o(erage)f(of)i(100)f +(runs\).)f(In)i(each)523 1312 y(e)o(xperimental)h(run,)g(the)i(netw)o +(ork)e(graph)h(is)h(randomly)e(generated,)g(where)h(the)g(nodes)g(are) +523 1411 y(distrib)n(uted)17 b(o)o(v)o(er)f(a)i Ft([0)p +Fu(;)c Ft(100])c Fx(\002)g Ft([0)p Fu(;)k Ft(100])g FE(\002eld.)j(The)h +(node)e(communication)f(range)i(w)o(as)i(set)f(to)523 +1511 y(30.)23 b(The)h(initial)g(node)f(measurements)g +Fu(z)1748 1523 y FB(i)1800 1511 y FE(were)h(also)g(randomly)e +(generated.)g(Each)h(node)g(is)523 1611 y(a)o(w)o(are)d(of)f(its)i +(immediate)e(neighbours)e(through)h(a)i(\224hello\224)f(message.)h +(Once)f(the)h(neighbour)n(-)523 1710 y(hood)27 b(is)j(identi\002ed,)d +(each)i(node)e(run)h(the)g(algorithm)f(i.e.,)i(be)o(gins)e(e)o +(xchanging)f(data)j(until)523 1810 y(con)m(v)o(er)o(gence.)623 +1910 y(W)-7 b(e)18 b(studied)e(the)i(performance)c(of)j(our)f +(algorithm)f(with)j(re)o(gard)d(to)i(the)g(follo)n(wing)f(param-)523 +2009 y(eters:)523 2159 y Fx(\017)58 b FE(Rob)n(ustness)20 +b(in)g(front)f(of)h(communication)d(f)o(ailures:)j(we)g(mainly)f(v)n +(aried)g(the)h(probability)623 2258 y(of)32 b(communication)d(f)o +(ailure,)i(noted)h Fu(p)p FE(.)g(This)g(parameter)f(allo)n(ws)i(us)f +(to)h(highlight)d(the)623 2358 y(beha)n(viour)18 b(of)i(our)f(scheme)h +(in)g(noisy)g(en)m(vironment)d(and)j(in)g(dynamic)f(topologies.)523 +2457 y Fx(\017)58 b FE(Scalability:)23 b(we)h(v)n(aried)e(the)h(number) +f(of)h(sensor)g(nodes)f(deplo)o(yed)g(in)h(the)h(same)f(area)g(to)623 +2557 y(see)d(ho)n(w)g(our)g(proposed)e(approach)g(scales?)623 +2707 y(The)30 b(main)g(metrics)h(we)g(measured)e(in)i(this)g(paper)e +(are:)i(\(a\))f(the)h(mean)f(error)f(between)523 2806 +y(the)24 b(current)g(estimate)g Fu(x)1258 2818 y FB(i)1311 +2806 y FE(and)g(the)h(a)n(v)o(erage)e(of)h(the)g(initial)h(data,)f +(\(b\))g(the)g(mean)g(number)f(of)523 2906 y(iterations)i(necessary)g +(to)h(reach)f(con)m(v)o(er)o(gence)c(and)k(\(c\))g(the)h(o)o(v)o(erall) +e(time)i(before)e(reaching)523 3005 y(the)h(global)e(con)m(v)o(er)o +(gence.)d(W)-7 b(e)26 b(note)e(here)g(that)g(in)h(asynchronous)c +(algorithms,)i(there)h(is)i(no)523 3105 y(direct)15 b(correlation)e +(between)i(the)g(number)f(of)h(iterations)f(and)h(the)g(total)h(time)f +(to)h(con)m(v)o(er)o(gence,)523 3205 y(contrary)k(to)j(synchronous)c +(approaches.)h(In)i(f)o(act,)g(as)h(there)e(are)h(no)g(delays)g +(between)f(nodes,)523 3304 y(the)i(number)e(of)i(iterations)f(could)h +(be)f(relati)n(v)o(ely)g(high.)g(This)h(does)g(not)g(mean)f(that)h(the) +g(total)523 3404 y(time)17 b(to)g(con)m(v)o(er)o(gence)d(could)i(be)h +(long)f(too.)g(F)o(or)h(this)h(reason,)e(we)h(ha)n(v)o(e)g(made)f(the)h +(distinction)523 3504 y(between)25 b(the)g(number)f(of)h(iterations)g +(and)g(the)g(time)h(tak)o(en)f(to)h(reach)f(con)m(v)o(er)o(gence.)c(As) +26 b(we)523 3603 y(run)f(a)h(discrete)g(e)n(v)o(ent)f(simulation)g +(package,)f(this)j(time)f(is)g(the)g(one)g(gi)n(v)o(en)e(by)i(the)g +(discrete)523 3703 y(simulator)17 b(OMNET++)h([17)n(];)h(we)f(named)f +(it)i Fy(simulated)f(time)p FE(.)g(F)o(or)g(all)g(the)g(e)o +(xperiments,)e(the)523 3802 y(global)g(con)m(v)o(er)o(gence)e(state)k +(is)g(said)g(to)f(be)g(reached)f(when)h Fu(")2266 3814 +y FB(i)2317 3802 y Ft(=)22 b Fx(j)p Fu(x)2474 3814 y +FB(i)2510 3802 y Fx(\000)2583 3740 y Fr(P)2670 3761 y +FB(n)2670 3827 y(i)p Fq(=1)2796 3802 y Fu(y)2837 3814 +y FB(i)2864 3802 y Fu(=n)p Fx(j)17 b FE(becomes)523 3902 +y(less)k(than)f(some)g(\002x)o(ed)g(constant)f Fu(")p +FE(.)623 4002 y(Note)26 b(that,)g(in)h(the)f(\002gures)g(ne)o(xt)f +(sections,)i(the)f(points)g(represent)f(the)h(obtained)f(results)523 +4101 y(and)20 b(the)g(curv)o(es)f(are)h(an)g(e)o(xtrapolation)e(of)i +(these)g(points.)p eop end +%%Page: 14 14 +TeXDict begin 14 13 bop 523 100 a FA(14)976 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y Fv(1.4.1)41 b(Basic)25 b(Behaviour)523 515 y FE(First,)e(we)f +(sho)n(w)f(simulation)g(results)i(for)e(the)h(case)g(where)f(we)i(ha)n +(v)o(e)e(a)h(\002x)o(ed)g(topology)d(with)523 614 y(a)28 +b(\002x)o(ed)e(number)g(of)h(nodes)g(\(50)f(nodes\))g(and)h +Fu(")36 b Ft(=)g(10)2176 584 y Fo(\000)p Fq(4)2264 614 +y FE(.)28 b(The)f(mean)g(error)f(of)h(the)g(nodes)523 +714 y Fu(")562 684 y Fo(0)626 714 y Ft(=)732 652 y Fr(P)820 +672 y FB(n)820 739 y(i)p Fq(=1)946 714 y Fu(")985 726 +y FB(i)1012 714 y Fu(=n)j FE(w)o(as)h(plotted)e(in)h(Figure)g(1.3.)f +(As)i(e)o(xpected,)d(it)j(can)f(be)g(seen)g(that)g(the)523 +814 y(con)m(v)o(er)o(gence)24 b(in)j(the)h(synchronous)d(mode)h(is)j(f) +o(aster)e(than)h(the)f(con)m(v)o(er)o(gence)d(in)j(the)h(asyn-)523 +913 y(chronous)18 b(one.)i(It)g(is)h(also)g(noticed)e(that)h(the)g(tw)o +(o)h(graphs)e(ha)n(v)o(e)g(the)i(same)f(pace.)623 1013 +y(Ho)n(we)n(v)o(er)m(,)25 b(in)j(man)o(y)e(scenarios)h(an)g(e)o(xact)g +(a)n(v)o(erage)f(is)i(not)f(required,)f(and)h(one)g(may)f(be)523 +1112 y(willing)k(to)g(trade)f(precision)g(for)g(simplicity)-5 +b(.)29 b(F)o(or)h(instance,)f(minimizing)g(the)h(number)e(of)523 +1212 y(iterations)f(to)g(reduce)g(the)g(ener)o(gy)e(consumption)g(can)i +(be)h(pri)n(vile)o(ged)d(in)i(sensor)g(netw)o(orks)523 +1312 y(applications)19 b(where)h(e)o(xact)f(a)n(v)o(eraging)f(is)k(not) +d(essential.)1080 2651 y @beginspecial 50 @llx 50 @lly +410 @urx 302 @ury 1980 @rwi @setspecial +%%BeginDocument: ErrorNbIteration.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ErrorNbIteration.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:27:47 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1260 600 M +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-06) Rshow +grestore +1.000 UL +LTb +1260 811 M +31 0 V +5569 0 R +-31 0 V +1260 1089 M +31 0 V +5569 0 R +-31 0 V +1260 1232 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-05) Rshow +grestore +1.000 UL +LTb +1260 1511 M +31 0 V +5569 0 R +-31 0 V +1260 1789 M +31 0 V +5569 0 R +-31 0 V +1260 1932 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1e-04) Rshow +grestore +1.000 UL +LTb +1260 2211 M +31 0 V +5569 0 R +-31 0 V +1260 2489 M +31 0 V +5569 0 R +-31 0 V +1260 2632 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.001) Rshow +grestore +1.000 UL +LTb +1260 2911 M +31 0 V +5569 0 R +-31 0 V +1260 3189 M +31 0 V +5569 0 R +-31 0 V +1260 3332 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.01) Rshow +grestore +1.000 UL +LTb +1260 3611 M +31 0 V +5569 0 R +-31 0 V +1260 3889 M +31 0 V +5569 0 R +-31 0 V +1260 4032 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 0.1) Rshow +grestore +1.000 UL +LTb +1260 4311 M +31 0 V +5569 0 R +-31 0 V +1260 4589 M +31 0 V +5569 0 R +-31 0 V +1260 4732 M +31 0 V +5569 0 R +-31 0 V +-5569 68 R +63 0 V +5537 0 R +-63 0 V +-5657 0 R +gsave 0 setgray +( 1) Rshow +grestore +1.000 UL +LTb +1260 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2007 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 20) Cshow +grestore +1.000 UL +LTb +2753 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +3500 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +4247 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +4993 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +5740 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +6487 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1260 600 M +5600 0 V +0 4200 V +-5600 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Mean Error ) Cshow +grestore +grestore +LTb +4060 100 M +gsave 0 setgray +(Number of Iterations) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1297 4800 M +25 -42 V +26 -43 V +25 -42 V +26 -43 V +26 -42 V +26 -43 V +27 -42 V +27 -42 V +27 -43 V +27 -42 V +28 -43 V +28 -42 V +28 -43 V +29 -42 V +29 -42 V +29 -43 V +30 -42 V +30 -43 V +31 -42 V +30 -42 V +31 -43 V +32 -42 V +32 -43 V +32 -42 V +32 -43 V +33 -42 V +33 -42 V +33 -43 V +34 -42 V +34 -43 V +35 -42 V +34 -43 V +35 -42 V +36 -42 V +35 -43 V +36 -42 V +36 -43 V +37 -42 V +37 -43 V +36 -42 V +38 -42 V +37 -43 V +38 -42 V +37 -43 V +38 -42 V +38 -43 V +39 -42 V +38 -42 V +39 -43 V +38 -42 V +39 -43 V +39 -42 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +39 -42 V +39 -43 V +39 -42 V +39 -43 V +39 -42 V +38 -43 V +39 -42 V +38 -42 V +39 -43 V +38 -42 V +38 -43 V +38 -42 V +37 -43 V +38 -42 V +37 -42 V +37 -43 V +37 -42 V +37 -43 V +37 -42 V +36 -43 V +36 -42 V +36 -42 V +36 -43 V +36 -42 V +35 -43 V +36 -42 V +35 -42 V +35 -43 V +35 -42 V +35 -43 V +35 -42 V +35 -43 V +35 -42 V +35 -42 V +35 -43 V +35 -42 V +36 -43 V +35 -42 V +36 -43 V +36 -42 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +1297 4800 M +43 -42 V +43 -43 V +42 -42 V +43 -43 V +42 -42 V +42 -43 V +42 -42 V +42 -42 V +41 -43 V +42 -42 V +42 -43 V +41 -42 V +41 -43 V +42 -42 V +41 -42 V +42 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -42 V +42 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +41 -43 V +42 -42 V +41 -43 V +41 -42 V +42 -42 V +41 -43 V +41 -42 V +42 -43 V +41 -42 V +42 -43 V +42 -42 V +41 -42 V +42 -43 V +42 -42 V +42 -43 V +42 -42 V +43 -42 V +42 -43 V +42 -42 V +43 -43 V +43 -42 V +43 -43 V +43 -42 V +43 -42 V +44 -43 V +43 -42 V +44 -43 V +44 -42 V +45 -43 V +44 -42 V +45 -42 V +45 -43 V +45 -42 V +46 -43 V +46 -42 V +46 -43 V +46 -42 V +47 -42 V +47 -43 V +48 -42 V +47 -43 V +48 -42 V +49 -43 V +49 -42 V +49 -42 V +49 -43 V +50 -42 V +50 -43 V +50 -42 V +51 -42 V +51 -43 V +52 -42 V +52 -43 V +52 -42 V +52 -43 V +53 -42 V +53 -42 V +53 -43 V +54 -42 V +53 -43 V +54 -42 V +54 -43 V +55 -42 V +1.000 UL +LTb +1260 600 M +5600 0 V +0 4200 V +-5600 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 523 2775 a Fm(Fig)o(.)e(1.3)36 b FA(The)18 +b(Mean)g(Error)i Fl(")523 3303 y Fv(1.4.2)41 b(Dynamic)25 +b(topology)523 3535 y FE(In)g(a)h(ne)o(xt)e(step,)h(we)h(simulated)f +(the)g(proposed)e(sensor)i(fusion)f(scheme)h(with)g(dynamically)523 +3635 y(changing)32 b(communication)f(graphs.)i(W)-7 b(e)36 +b(generated)c(the)i(sequence)f(of)h(communication)523 +3735 y(graphs)24 b(as)h(follo)n(ws:)f(at)h(each)g(time)g(step,)f(each)h +(edge)f(in)h(the)f(graph)g(is)h(only)f(a)n(v)n(ailable)g(with)523 +3834 y(a)i(selected)f(probability)f Fu(p)p FE(,)h(independent)e(of)i +(the)g(other)g(edges)g(and)g(all)h(pre)n(vious)d(steps.)j(T)-7 +b(o)523 3934 y(ensure)18 b(the)h(jointly)f(connected)e(condition)h(of)h +(the)h(generated)e(graphs,)g(we)i(selected)g(a)g(period)523 +4034 y(of)h(time)g Fu(\034)31 b FE(in)20 b(which)g(an)g(edge)f(cannot)g +(stay)i(disconnected)d(more)i(than)f Fu(\034)31 b FE(time.)623 +4133 y(W)-7 b(e)29 b(\002x)o(ed)e(the)i(number)d(of)i(sensor)g(nodes)f +(to)h(50)g(and)f Fu(")38 b Ft(=)f(10)2543 4103 y Fo(\000)p +Fq(4)2631 4133 y FE(.)29 b(In)f(preliminary)e(re-)523 +4233 y(sults,)i(the)g(period)e Fu(\034)38 b FE(w)o(as)29 +b(chosen)e(in)g(a)i(w)o(ay)e(that)h(is)h(equal)e(to)h(three)f(times)h +(the)g(time)g(of)f(a)523 4333 y(communication.)16 b(W)-7 +b(e)21 b(sho)n(w)e(in)g(\002gure)f(1.4)h(and)g(\002gure)f(1.5)h(the)g +(v)n(ariation)f(of)h(the)g(number)f(of)523 4432 y(iterations)25 +b(and)f(the)h(time)h(simulation)e(with)h(the)g(probability)e(of)i(link) +g(f)o(ailure)f Fu(p)p FE(.)i(W)-7 b(e)26 b(notice)523 +4532 y(that)e(the)g(number)f(of)g(iterations)h(and)g(the)g(o)o(v)o +(erall)f(time)h(increase)f(with)i(the)f(increase)g(of)f(the)523 +4631 y(probability)-5 b(,)18 b(b)n(ut)i(not)g(in)g(an)g(e)o(xponential) +e(w)o(ay)-5 b(.)p eop end +%%Page: 15 15 +TeXDict begin 15 14 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif) +n(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)545 +b(15)1080 1354 y @beginspecial 50 @llx 50 @lly 410 @urx +302 @ury 1980 @rwi @setspecial +%%BeginDocument: DynamicTopology.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicTopology.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:23:08 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1020 600 M +63 0 V +5777 0 R +-63 0 V +900 600 M +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +1020 1067 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +1020 1533 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 100) Rshow +grestore +1.000 UL +LTb +1020 2000 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 120) Rshow +grestore +1.000 UL +LTb +1020 2467 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 140) Rshow +grestore +1.000 UL +LTb +1020 2933 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 160) Rshow +grestore +1.000 UL +LTb +1020 3400 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 180) Rshow +grestore +1.000 UL +LTb +1020 3867 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 200) Rshow +grestore +1.000 UL +LTb +1020 4333 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 220) Rshow +grestore +1.000 UL +LTb +1020 4800 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 240) Rshow +grestore +1.000 UL +LTb +1020 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2188 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.1) Cshow +grestore +1.000 UL +LTb +3356 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.2) Cshow +grestore +1.000 UL +LTb +4524 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.3) Cshow +grestore +1.000 UL +LTb +5692 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.4) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.5) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(number of iterations) Cshow +grestore +grestore +LTb +3940 100 M +gsave 0 setgray +(Probability of link failure) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1020 833 M +104 24 V +100 23 V +97 23 V +92 23 V +90 24 V +87 23 V +84 23 V +81 23 V +79 23 V +77 23 V +75 23 V +73 23 V +71 23 V +69 23 V +68 23 V +67 23 V +65 24 V +65 23 V +63 23 V +62 24 V +62 24 V +60 23 V +60 24 V +59 24 V +59 25 V +58 24 V +57 25 V +57 24 V +57 25 V +56 26 V +56 25 V +56 25 V +55 26 V +55 26 V +55 26 V +54 26 V +55 26 V +54 27 V +54 26 V +54 27 V +54 27 V +54 27 V +53 27 V +54 28 V +54 27 V +53 28 V +53 28 V +54 28 V +53 29 V +54 28 V +53 29 V +53 28 V +53 30 V +53 29 V +54 29 V +53 30 V +53 30 V +53 31 V +53 30 V +53 31 V +53 32 V +54 32 V +53 32 V +53 33 V +53 34 V +53 34 V +53 35 V +53 35 V +53 37 V +53 37 V +53 38 V +54 40 V +53 40 V +53 42 V +53 42 V +53 45 V +53 45 V +53 48 V +53 49 V +53 50 V +53 53 V +53 55 V +54 57 V +53 59 V +53 62 V +53 64 V +53 67 V +53 70 V +53 72 V +53 76 V +53 79 V +53 83 V +53 86 V +54 90 V +53 93 V +53 98 V +53 102 V +53 105 V +53 111 V +1.000 UP +1.000 UL +LT1 +1020 833 Pls +2188 1090 Pls +2772 1347 Pls +3356 1557 Pls +3940 1907 Pls +4524 2210 Pls +5108 2537 Pls +5692 2770 Pls +6276 3400 Pls +6860 4637 Pls +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 523 1479 a Fm(Fig)o(.)17 b(1.4)36 b FA(Number)19 +b(of)f(Iterations)1080 2748 y @beginspecial 50 @llx 50 +@lly 410 @urx 302 @ury 1980 @rwi @setspecial +%%BeginDocument: DynamicTopologyTime.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicTopologyTime.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Apr 8 13:22:28 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +900 600 M +63 0 V +5897 0 R +-63 0 V +780 600 M +gsave 0 setgray +( 15) Rshow +grestore +1.000 UL +LTb +900 1200 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +900 1800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 25) Rshow +grestore +1.000 UL +LTb +900 2400 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +900 3000 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 35) Rshow +grestore +1.000 UL +LTb +900 3600 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +900 4200 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 45) Rshow +grestore +1.000 UL +LTb +900 4800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 50) Rshow +grestore +1.000 UL +LTb +900 600 M +0 63 V +0 4137 R +0 -63 V +900 400 M +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +2092 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.1) Cshow +grestore +1.000 UL +LTb +3284 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.2) Cshow +grestore +1.000 UL +LTb +4476 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.3) Cshow +grestore +1.000 UL +LTb +5668 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.4) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0.5) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Simulated time) Cshow +grestore +grestore +LTb +3880 100 M +gsave 0 setgray +(Probability of link failure) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +900 774 M +106 19 V +102 19 V +99 20 V +95 19 V +91 20 V +89 19 V +85 20 V +83 19 V +81 20 V +78 19 V +77 20 V +74 20 V +72 19 V +71 20 V +70 20 V +68 20 V +67 20 V +65 21 V +65 20 V +63 21 V +63 21 V +62 21 V +61 22 V +60 21 V +60 22 V +59 22 V +59 23 V +58 22 V +58 24 V +57 23 V +57 23 V +57 24 V +56 25 V +57 24 V +56 25 V +55 25 V +56 25 V +55 26 V +56 26 V +55 26 V +55 26 V +54 27 V +55 26 V +55 28 V +55 27 V +54 27 V +55 28 V +54 28 V +55 29 V +54 28 V +54 29 V +55 29 V +54 29 V +54 30 V +55 29 V +54 31 V +54 30 V +54 31 V +55 31 V +54 32 V +54 32 V +54 32 V +54 33 V +55 34 V +54 34 V +54 35 V +54 36 V +54 36 V +55 38 V +54 38 V +54 39 V +54 40 V +54 42 V +54 43 V +55 44 V +54 45 V +54 47 V +54 49 V +54 50 V +55 52 V +54 54 V +54 57 V +54 58 V +54 61 V +54 63 V +55 66 V +54 69 V +54 72 V +54 74 V +54 78 V +55 81 V +54 84 V +54 88 V +54 92 V +54 96 V +54 99 V +55 104 V +54 108 V +54 112 V +1.000 UP +1.000 UL +LT1 +900 774 Pls +2092 984 Pls +2688 1219 Pls +3284 1360 Pls +3880 1740 Pls +4476 2048 Pls +5072 2368 Pls +5668 2618 Pls +6264 3270 Pls +6860 4529 Pls +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 523 2872 a Fm(Fig)o(.)f(1.5)36 b FA(Simulated)18 +b(T)n(ime)623 3169 y FE(Note)i(that)g(we)g(also)h(tried)e(to)i(run)e +(the)h(synchronous)d(algorithm)i(with)h(dynamic)f(topology)523 +3269 y(changes,)k(b)n(ut)g(the)h(e)o(x)o(ecution)e(times)i(were)f(so)i +(prohibiti)n(v)o(e,)c(that)i(we)i(abandoned)20 b(those)k(e)o(x-)523 +3368 y(periments.)18 b(These)h(results)h(con\002rm)e(that)h +(synchronous)d(algorithms)i(are)h(infeasible)g(for)f(real)523 +3468 y(sensor)i(netw)o(orks.)523 3833 y Fv(1.4.3)41 b(Larger)24 +b(Sensor)h(Netw)o(ork)523 4066 y FE(Our)16 b(scheme)g(can)g(be)g +(applied)f(to)h(sensor)g(netw)o(orks)f(where)h(a)h(lar)o(ge)e(number)f +(of)i(sensor)g(nodes)523 4165 y(are)23 b(deplo)o(yed,)e(since)i(it)h +(is)g(fully)f(distrib)n(uted)f(and)g(there)h(is)h(no)f(centralized)f +(control.)f(In)i(our)523 4265 y(simulations)f(we)g(v)n(aried)g(the)g +(number)e(of)j(sensor)e(nodes)h(from)f(20)h(to)h(200)e(nodes,)g(deplo)o +(yed)523 4364 y(in)f(the)h(re)o(gion)d Ft([0)p Fu(;)c +Ft(100])j Fx(\002)h Ft([0)p Fu(;)c Ft(100])p FE(,)k(we)j(selected)f +(for)g(all)g(nodes)g Fu(i)p FE(,)g Fu(")j Ft(=)f(10)2748 +4334 y Fo(\000)p Fq(4)2837 4364 y FE(.)623 4464 y(Ho)n(we)n(v)o(er)m(,) +16 b(as)j(sho)n(wn)e(in)i(the)f(tw)o(o)h(Figures)f(\(Figure)f(1.6)g +(and)h(Figure)g(1.7\),)f(as)i(the)f(number)523 4564 y(of)24 +b(sensor)f(nodes)h(increases,)f(the)h(a)n(v)o(erage)f(of)h(the)g +(iterations)f(number)f(as)j(well)g(as)f(the)g(time)523 +4663 y(needed)29 b(to)i(reach)e(global)h(con)m(v)o(er)o(gence)c +(decreases)k(in)h(the)f(tw)o(o)h(cases)g(synchronous)d(and)p +eop end +%%Page: 16 16 +TeXDict begin 16 15 bop 523 100 a FA(16)976 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y FE(asynchronous.)f(W)-7 b(e)22 b(notice)d(that)i(in)f(the)h +(synchronous)c(mode)i(we)i(obtained)e(less)i(number)e(of)523 +382 y(iterations,)f(on)h(the)g(other)f(hand)g(it)i(tak)o(es)f(more)f +(time)h(to)g(reach)g(the)g(global)f(con)m(v)o(er)o(gence)d(than)523 +482 y(the)20 b(asynchronous)e(one.)1080 1816 y @beginspecial +50 @llx 50 @lly 410 @urx 302 @ury 1980 @rwi @setspecial +%%BeginDocument: Density.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Density.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:29:59 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1020 600 M +63 0 V +5777 0 R +-63 0 V +900 600 M +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +1020 1067 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +1020 1533 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +1020 2000 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 50) Rshow +grestore +1.000 UL +LTb +1020 2467 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +1020 2933 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 70) Rshow +grestore +1.000 UL +LTb +1020 3400 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +1020 3867 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 90) Rshow +grestore +1.000 UL +LTb +1020 4333 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 100) Rshow +grestore +1.000 UL +LTb +1020 4800 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 110) Rshow +grestore +1.000 UL +LTb +1521 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +2188 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +2855 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +3523 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +4190 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +4858 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +5525 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 160) Cshow +grestore +1.000 UL +LTb +6193 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 180) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 200) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Number of Iterations) Cshow +grestore +grestore +LTb +3940 100 M +gsave 0 setgray +(Nodes Density) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1020 3493 M +42 -42 V +42 -41 V +42 -41 V +43 -41 V +42 -40 V +42 -39 V +42 -39 V +42 -38 V +42 -38 V +43 -37 V +42 -36 V +42 -37 V +43 -35 V +42 -35 V +43 -35 V +43 -34 V +43 -33 V +43 -33 V +43 -32 V +43 -32 V +43 -32 V +44 -31 V +44 -30 V +44 -30 V +44 -30 V +44 -29 V +45 -28 V +45 -29 V +45 -27 V +46 -27 V +46 -27 V +46 -26 V +47 -26 V +47 -26 V +47 -25 V +48 -24 V +48 -24 V +49 -24 V +49 -23 V +50 -23 V +50 -23 V +50 -22 V +52 -21 V +51 -22 V +53 -21 V +52 -20 V +54 -20 V +54 -20 V +55 -19 V +55 -19 V +56 -19 V +56 -18 V +58 -18 V +58 -18 V +58 -17 V +60 -17 V +60 -16 V +61 -16 V +61 -16 V +62 -16 V +63 -15 V +64 -15 V +64 -14 V +66 -14 V +66 -14 V +66 -14 V +68 -13 V +68 -13 V +69 -12 V +70 -12 V +70 -12 V +72 -12 V +72 -11 V +72 -11 V +74 -11 V +74 -10 V +75 -10 V +75 -10 V +76 -9 V +77 -9 V +78 -9 V +78 -8 V +78 -8 V +80 -8 V +80 -7 V +80 -7 V +81 -7 V +81 -6 V +82 -7 V +82 -5 V +83 -6 V +83 -5 V +83 -5 V +84 -4 V +83 -4 V +84 -4 V +85 -3 V +84 -3 V +84 -2 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +-5600 83 R +42 -74 V +42 -72 V +42 -70 V +43 -67 V +42 -66 V +42 -63 V +42 -61 V +42 -59 V +42 -57 V +43 -56 V +42 -53 V +42 -52 V +43 -50 V +42 -49 V +43 -46 V +43 -46 V +43 -43 V +43 -42 V +43 -41 V +43 -39 V +43 -38 V +44 -37 V +44 -35 V +44 -34 V +44 -33 V +44 -32 V +45 -30 V +45 -30 V +45 -28 V +46 -27 V +46 -27 V +46 -25 V +47 -25 V +47 -23 V +47 -23 V +48 -22 V +48 -21 V +49 -20 V +49 -19 V +50 -19 V +50 -18 V +50 -18 V +52 -16 V +51 -17 V +53 -15 V +52 -15 V +54 -14 V +54 -14 V +55 -14 V +55 -12 V +56 -13 V +56 -12 V +58 -11 V +58 -11 V +58 -11 V +60 -10 V +60 -10 V +61 -9 V +61 -9 V +62 -9 V +63 -9 V +64 -8 V +64 -8 V +66 -7 V +66 -8 V +66 -7 V +68 -7 V +68 -6 V +69 -7 V +70 -6 V +70 -6 V +72 -6 V +72 -5 V +72 -6 V +74 -5 V +74 -5 V +75 -5 V +75 -5 V +76 -4 V +77 -5 V +78 -4 V +78 -4 V +78 -5 V +80 -4 V +80 -3 V +80 -4 V +81 -4 V +81 -3 V +82 -4 V +82 -3 V +83 -3 V +83 -3 V +83 -3 V +84 -3 V +83 -3 V +84 -3 V +85 -2 V +84 -3 V +84 -2 V +1.000 UP +1.000 UL +LT2 +1020 3493 Pls +1854 2653 Pls +2689 2093 Pls +3523 1767 Pls +5191 1533 Pls +6860 1487 Pls +1.000 UP +1.000 UL +LT3 +1020 4520 Crs +1854 3027 Crs +2689 2700 Crs +3523 2560 Crs +5191 2467 Crs +6860 2420 Crs +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 523 1940 a Fm(Fig)o(.)f(1.6)36 b FA(Number)19 +b(of)f(iterations)1080 3433 y @beginspecial 50 @llx 50 +@lly 410 @urx 302 @ury 1980 @rwi @setspecial +%%BeginDocument: TimeDensity.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: TimeDensity.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:29:16 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +900 600 M +63 0 V +5897 0 R +-63 0 V +780 600 M +gsave 0 setgray +( 10) Rshow +grestore +1.000 UL +LTb +900 1650 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 15) Rshow +grestore +1.000 UL +LTb +900 2700 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +900 3750 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 25) Rshow +grestore +1.000 UL +LTb +900 4800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +1411 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +2092 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +2773 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +3454 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +4135 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +4817 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +5498 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 160) Cshow +grestore +1.000 UL +LTb +6179 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 180) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 200) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Simulated Time) Cshow +grestore +grestore +LTb +3880 100 M +gsave 0 setgray +(Nodes Density) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +900 4632 M +43 -68 V +43 -67 V +43 -65 V +43 -63 V +43 -62 V +43 -61 V +43 -59 V +43 -57 V +43 -57 V +43 -55 V +44 -53 V +43 -53 V +43 -51 V +44 -50 V +43 -50 V +44 -48 V +43 -47 V +44 -46 V +44 -45 V +44 -44 V +45 -43 V +44 -42 V +45 -42 V +45 -40 V +45 -40 V +45 -39 V +46 -38 V +46 -38 V +46 -36 V +46 -36 V +47 -36 V +48 -34 V +47 -34 V +48 -34 V +48 -32 V +49 -32 V +49 -32 V +50 -31 V +50 -30 V +51 -30 V +51 -29 V +52 -28 V +52 -28 V +53 -28 V +53 -27 V +54 -26 V +55 -26 V +55 -25 V +56 -25 V +56 -25 V +57 -23 V +58 -24 V +58 -23 V +60 -22 V +59 -22 V +61 -21 V +61 -21 V +62 -20 V +63 -20 V +64 -19 V +64 -19 V +65 -19 V +66 -18 V +66 -17 V +68 -17 V +68 -17 V +69 -16 V +69 -15 V +71 -15 V +71 -15 V +72 -14 V +72 -14 V +74 -13 V +74 -13 V +75 -12 V +76 -12 V +76 -11 V +77 -11 V +78 -10 V +78 -10 V +79 -10 V +80 -9 V +80 -8 V +81 -8 V +82 -8 V +82 -8 V +82 -6 V +83 -7 V +84 -6 V +84 -6 V +84 -5 V +85 -5 V +85 -4 V +85 -5 V +86 -3 V +85 -4 V +86 -3 V +86 -3 V +86 -3 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +900 3378 M +43 -66 V +43 -65 V +43 -63 V +43 -61 V +43 -59 V +43 -57 V +43 -56 V +43 -54 V +43 -53 V +43 -50 V +44 -50 V +43 -48 V +43 -46 V +44 -45 V +43 -43 V +44 -43 V +43 -40 V +44 -40 V +44 -38 V +44 -37 V +45 -35 V +44 -35 V +45 -33 V +45 -33 V +45 -31 V +45 -30 V +46 -29 V +46 -28 V +46 -27 V +46 -26 V +47 -25 V +48 -24 V +47 -23 V +48 -23 V +48 -21 V +49 -21 V +49 -20 V +50 -19 V +50 -19 V +51 -18 V +51 -17 V +52 -16 V +52 -16 V +53 -15 V +53 -14 V +54 -14 V +55 -14 V +55 -13 V +56 -12 V +56 -12 V +57 -11 V +58 -11 V +58 -10 V +60 -10 V +59 -10 V +61 -9 V +61 -8 V +62 -9 V +63 -7 V +64 -8 V +64 -7 V +65 -7 V +66 -7 V +66 -6 V +68 -6 V +68 -6 V +69 -5 V +69 -6 V +71 -5 V +71 -5 V +72 -4 V +72 -4 V +74 -5 V +74 -4 V +75 -3 V +76 -4 V +76 -3 V +77 -4 V +78 -3 V +78 -3 V +79 -3 V +80 -2 V +80 -3 V +81 -2 V +82 -3 V +82 -2 V +82 -2 V +83 -2 V +84 -2 V +84 -1 V +84 -2 V +85 -1 V +85 -2 V +85 -1 V +86 -1 V +85 -1 V +86 -2 V +86 0 V +86 -1 V +1.000 UP +1.000 UL +LT2 +900 4632 Pls +1751 3263 Pls +2603 2742 Pls +3454 2164 Pls +5157 1980 Pls +6860 1931 Pls +1.000 UP +1.000 UL +LT3 +900 3378 Crs +1751 2043 Crs +2603 1650 Crs +3454 1560 Crs +5157 1493 Crs +6860 1478 Crs +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 523 3557 a Fm(Fig)o(.)f(1.7)36 b FA(Simulated)18 +b(T)n(ime)523 4080 y FC(1.5)41 b(Further)27 b(Discussions)523 +4313 y FE(In)h(this)h(section,)f(we)h(gi)n(v)o(e)e(further)g +(consideration)f(to)j(our)e(data)i(fusion)e(scheme)h(from)f(the)523 +4412 y(vie)n(wpoints)d(of)g(rob)n(ustness)h(to)g(the)g(delays)f(and)g +(loss)i(of)f(messages)g(and)f(ener)o(gy)f(ef)n(\002cienc)o(y)523 +4512 y(in)d(comparison)f(to)h(other)f(e)o(xisting)h(w)o(orks.)623 +4611 y(Sensor)g(nodes)h(are)g(small-scale)g(de)n(vices.)f(Such)h(small) +h(de)n(vices)e(are)h(v)o(ery)f(limited)h(in)g(the)523 +4711 y(amount)30 b(of)h(ener)o(gy)f(the)o(y)g(can)i(store)f(or)g(harv)o +(est)g(from)f(the)i(en)m(vironment.)c(Thus,)i(ener)o(gy)p +eop end +%%Page: 17 17 +TeXDict begin 17 16 bop 523 100 a FA(1)42 b(An)18 b(Asynchronous)j(Dif) +n(fusion)e(Scheme)g(for)g(Data)f(Fusion)h(in)f(Sensor)h(Netw)o(orks)545 +b(17)523 282 y FE(ef)n(\002cienc)o(y)24 b(is)j(a)f(major)e(concern)g +(in)i(a)g(sensor)f(netw)o(ork.)f(In)h(addition,)f(man)o(y)h(thousands)f +(of)523 382 y(sensors)32 b(may)g(ha)n(v)o(e)f(to)h(be)g(deplo)o(yed)e +(for)h(a)i(gi)n(v)o(en)e(task.)h(An)g(indi)n(vidual)e(sensor')-5 +b(s)32 b(small)523 482 y(ef)n(fecti)n(v)o(e)19 b(range)g(relati)n(v)o +(e)g(to)i(a)f(lar)o(ge)g(area)g(of)f(interest)i(mak)o(es)f(this)g(a)h +(requirement.)623 581 y(Therefore,)16 b(scalability)j(is)i(another)c +(critical)j(f)o(actor)e(in)i(the)f(netw)o(ork)f(design.)g(Sensor)h +(net-)523 681 y(w)o(orks)j(are)f(subject)h(to)g(frequent)e(partial)i(f) +o(ailures)g(such)f(as)i(e)o(xhausted)d(batteries,)i(nodes)f(de-)523 +780 y(stro)o(yed)e(due)h(to)g(en)m(vironmental)d(f)o(actors,)i(or)h +(communication)d(f)o(ailures)j(due)f(to)h(obstacles)g(in)523 +880 y(the)g(en)m(vironment.)d(Message)k(delays)f(can)g(be)g(rather)f +(high)h(in)g(sensor)g(netw)o(orks)f(due)h(to)h(their)523 +980 y(typically)e(limited)h(communication)d(capacity)i(which)g(is)i +(shared)e(by)g(nodes)g(within)h(commu-)523 1079 y(nication)g(range)g +(of)h(each)f(other)-5 b(.)20 b(The)h(o)o(v)o(erall)f(operation)f(of)h +(the)h(sensor)g(netw)o(ork)f(should)f(be)523 1179 y(rob)n(ust)h +(despite)g(such)g(partial)f(f)o(ailures.)623 1279 y(In)h(our)f(scheme,) +h(we)h(presented)e(a)i(scalable)f(asynchronous)d(method)i(for)h(a)n(v)o +(eraging)f(data)523 1378 y(fusion)i(in)h(sensor)g(netw)o(orks.)f(The)h +(simulations)f(we)i(conducted)d(sho)n(w)i(that,)g(the)g(higher)e(the) +523 1478 y(density)30 b(of)g(the)h(deplo)o(yed)d(nodes,)i(the)h(more)e +(the)i(precise)f(of)g(the)h(estimation)f(w)o(ould)g(be.)523 +1577 y(On)22 b(the)g(other)f(hand,)f(our)h(algorithm)g(is)i(totally)e +(asynchronous,)e(where)i(we)h(consider)f(delay)523 1677 +y(transmission)g(and)h(loss)h(of)e(messages)i(in)f(the)g(proposed)e +(model.)h(These)h(aspects)g(which)f(are)523 1777 y(highly)d(important)h +(are)g(not)h(tak)o(en)f(into)g(account)g(in)h(pre)n(vious)e(sensor)h +(fusion)g(w)o(orks)g([2)o(,)h(12)o(].)623 1876 y(Another)f(important)h +(practical)h(issue)g(in)h(sensor)e(netw)o(ork)g(is)i(the)g(po)n(wer)e +(ef)n(\002cienc)o(y)-5 b(.)19 b(Op-)523 1976 y(timizing)e(the)g(ener)o +(gy)f(consumption)f(in)i(sensor)g(netw)o(orks)g(is)h(related)f(to)h +(minimize)e(the)i(num-)523 2076 y(ber)24 b(of)h(the)g(netw)o(ork)e +(communications)f(as)k(the)f(radio)e(is)j(the)f(main)f(ener)o(gy)f +(consumer)g(in)i(a)523 2175 y(sensor)f(node)f([1)o(].)h(Considering)e +(the)i(distrib)n(uted)f(iterati)n(v)o(e)h(procedure)d(for)j +(calculating)e(a)n(v-)523 2275 y(erages,)h(the)h(only)f(w)o(ay)g(to)h +(minimize)f(the)h(ener)o(gy)d(consumption)h(is)i(to)g(reduce)e(the)i +(number)523 2374 y(of)31 b(iterations)g(before)f(attending)h(the)g(con) +m(v)o(er)o(gence.)c(T)-7 b(o)32 b(sho)n(w)f(ho)n(w)g(well)h(our)f +(algorithm)523 2474 y(sa)n(v)o(es)23 b(ener)o(gy)-5 b(,)19 +b(we)k(compared)d(our)i(obtained)f(results)h(to)h(those)f(reported)e +(by)i(another)f(dif)n(fu-)523 2574 y(si)n(v)o(e)d(scheme)f(for)g(a)n(v) +o(erage)f(computation)f(in)j(sensor)f(netw)o(orks)g([2)o(].)h(F)o(or)f +(instance,)g(in)h(a)g(static)523 2673 y(topology)13 b(our)i(algorithm)f +(con)m(v)o(er)o(ges)f(after)i Ft(69)g FE(iterations)g(with)h(a)g(mean)e +(error)h(of)g Ft(10)2998 2643 y Fo(\000)p Fq(4)3102 2673 +y FE(while)523 2773 y(the)h(best)h(results)f(in)h(the)f(second)f +(approach)f(reached)h Ft(85)h FE(iterations)g(for)f(the)h(same)h(mean)e +(error)-5 b(.)523 2873 y(F)o(or)23 b(the)h(dynamic)e(topology)g(mode,)g +(we)j(obtained)d Ft(105)h FE(iterations,)g(mean)g(error)f +Ft(10)3054 2842 y Fo(\000)p Fq(4)3167 2873 y FE(and)523 +2972 y(probability)f(of)i(link)f(f)o(ailure)g Ft(0)p +Fu(:)p Ft(25)p FE(,)g(while)h(the)g(number)e(of)i(iterations)f(is)i(v)o +(ery)e(high)g(\()p Fx(\031)27 b Ft(300)523 3072 y FE(iterations\))19 +b(in)i([2)o(].)523 3437 y FC(1.6)41 b(Conclusion)25 b(and)h(Futur)n(e)g +(W)-7 b(ork)523 3670 y FE(In)32 b(this)h(paper)m(,)d(we)j(introduced)c +(a)k(f)o(ault)f(tolerant)f(dif)n(fusion)g(scheme)g(for)h(data)g(fusion) +f(in)523 3769 y(sensor)g(netw)o(orks.)g(This)g(algorithm)f(is)j(based)e +(on)g(data)g(dif)n(fusion;)f(the)h(nodes)g(cooperate)523 +3869 y(and)23 b(e)o(xchange)e(their)i(information)e(only)i(with)h +(their)f(direct)g(instantaneous)f(neighbours.)f(In)523 +3968 y(contrast)26 b(to)g(e)o(xisting)g(w)o(orks,)g(our)g(algorithm)e +(does)j(not)f(rely)g(on)g(synchronization)d(nor)j(on)523 +4068 y(the)16 b(kno)n(wledge)e(of)i(the)h(global)e(topology)-5 +b(.)14 b(W)-7 b(e)17 b(pro)o(v)o(e)e(that)h(under)f(suitable)h +(assumptions,)f(our)523 4168 y(algorithm)24 b(achie)n(v)o(es)h(the)g +(global)g(con)m(v)o(er)o(gence)d(in)j(the)h(sense)g(that,)f(after)h +(some)f(iterations,)523 4267 y(each)i(node)e(has)i(an)g(estimation)f +(of)h(the)g(a)n(v)o(erage)e(consensus)h(o)o(v)o(erall)g(the)h(whole)f +(netw)o(ork.)523 4367 y(T)-7 b(o)21 b(sho)n(w)f(the)h(ef)n(fecti)n(v)o +(eness)e(of)h(our)g(algorithm,)e(we)j(conducted)e(series)i(of)f +(simulations)g(and)523 4467 y(studied)g(our)f(algorithm)g(under)f(v)n +(arious)i(metrics.)623 4566 y(In)j(our)h(scenario,)f(we)h(ha)n(v)o(e)f +(focused)g(on)h(de)n(v)o(eloping)d(a)j(reliable)g(and)f(rob)n(ust)h +(algorithm)523 4666 y(from)16 b(the)i(vie)n(w)f(points)g(of)h +(asynchronism)d(and)i(f)o(ault)g(tolerance)f(in)i(a)g(dynamically)d +(changing)p eop end +%%Page: 18 18 +TeXDict begin 18 17 bop 523 100 a FA(18)976 b(Jacques)20 +b(M.)d(Bahi,)g(Abdallah)i(Makhoul)f(and)h(Ahmed)f(Mostef)o(aoui)523 +282 y FE(topology)-5 b(.)18 b(W)-7 b(e)23 b(ha)n(v)o(e)e(tak)o(en)f +(into)h(account)f(tw)o(o)i(points)f(which)g(don')o(t)e(ha)n(v)o(e)i +(been)f(pre)n(viously)523 382 y(addressed)i(by)h(other)f(authors,)g +(namely)g(the)h(delays)g(between)g(nodes)f(and)h(the)g(loss)h(of)e +(mes-)523 482 y(sages.)f(Kno)n(wing)e(that)i(in)h(real)e(sensor)h(netw) +o(orks)f(the)h(nodes)f(are)h(prone)e(to)j(f)o(ailures.)e(One)h(of)523 +581 y(the)e(near)f(future)g(goals)h(is)h(to)f(allo)n(w)g(nodes)f(to)h +(be)g(dynamically)e(added)h(and)h(remo)o(v)o(ed)d(during)523 +681 y(the)25 b(e)o(x)o(ecution)e(of)h(the)h(data)g(fusion)f(algorithm.) +f(W)-7 b(e)26 b(also)f(plan)g(to)g(test)g(our)g(algorithm)e(in)i(a)523 +780 y(real-w)o(orld)19 b(sensor)h(netw)o(ork.)523 1146 +y FC(Refer)n(ences)558 1362 y FA(1.)42 b(I.)25 b(Ak)o(yildiz,)g(W)-6 +b(.)24 b(Su,)i(Y)-9 b(.)25 b(Sankarasubramniam,)k(and)d(E.)f(Cayirci.) +51 b(A)25 b(surv)o(e)o(y)j(on)e(sensor)h(netw)o(orks.)653 +1445 y Fa(IEEE)18 b(Communications)h(Ma)o(gazine)p FA(,)g(pages)g +(102\226114,)h(2002.)558 1528 y(2.)42 b(L.)22 b(Xiao,)g(S.)g(Bo)o(yd,)h +(and)h(S.)e(lall.)39 b(A)23 b(scheme)h(for)f(rob)o(ust)h(distrib)o +(uted)e(sensor)j(fusion)f(based)g(on)f(a)o(v)o(er)o(-)653 +1611 y(age)i(consensus.)49 b Fa(Pr)m(oc.)24 b(of)g(the)h(International) +g(Confer)m(ence)i(on)e(Information)g(pr)m(ocessing)i(in)d(Sensor)653 +1694 y(Networks)19 b(\(IPSN\))p FA(,)g(pages)h(63\22670,)e(2005.)558 +1777 y(3.)42 b(R.)14 b(Olf)o(ati-Saber)i(and)f(J.)f(S.)g(Shamma.)k +(Consensus)f(\002lters)e(for)g(sensor)i(netw)o(orks)f(and)f(distrib)o +(uted)g(sensor)653 1860 y(fusion.)26 b Fa(Pr)m(oceedings)20 +b(of)e(44th)g(IEEE)h(Confer)m(ence)h(on)e(Decision)h(and)f(Contr)m(ol)g +(CDC-ECC)p FA(,)g(2005.)558 1943 y(4.)42 b(R.)15 b(Olf)o(ati-Saber)l(.) +21 b(Distrib)o(uted)16 b(kalman)f(\002lter)h(with)e(embeded)j +(consensus)h(\002lters.)j Fa(Pr)m(oceedings)c(of)e(44th)653 +2026 y(IEEE)j(Confer)m(ence)j(on)d(Decision)g(and)h(Contr)m(ol)p +FA(,)f(2005.)558 2109 y(5.)42 b(R.)17 b(Olf)o(ati-Saber)i(and)g(R.)e +(M.)f(Murray)-5 b(.)27 b(Consensus)20 b(problems)f(in)e(netw)o(orks)j +(of)e(agents)h(with)d(switching)653 2192 y(topology)i(and)h +(time-delays.)26 b Fa(IEEE)19 b(T)l(r)o(ansaction)h(on)e(A)o(utomatic)f +(Contr)m(ol)p FA(,)h(49\(9\):1520\2261533.)558 2275 y(6.)42 +b(Jacques)28 b(Bahi,)d(Arnaud)i(Giersch,)g(and)g(Abdallah)f(Makhoul.)51 +b(A)26 b(scalable)g(f)o(ault)h(tolerant)f(dif)n(fusion)653 +2358 y(scheme)j(for)g(data)g(fusion)g(in)f(sensor)i(netw)o(orks.)60 +b Fa(The)28 b(Thir)m(d)h(International)h(ICST)f(Confer)m(ence)h(on)653 +2441 y(Scalable)18 b(Information)h(Systems,)g(Infoscale)g(2008,)g(A)n +(CM)p FA(,)e(june)h(2008.)558 2524 y(7.)42 b(A.)24 b(Speranzon,)j(C.)d +(Fischione,)i(and)f(K.H.)f(Johansson.)50 b(Distrib)o(uted)25 +b(and)h(collaborati)n(v)o(e)g(estimation)653 2607 y(o)o(v)o(er)21 +b(wireless)g(sensor)h(netw)o(orks.)34 b Fa(Pr)m(oceedings)22 +b(of)e(45th)g(IEEE)h(Confer)m(ence)h(on)e(Decision)h(and)g(Con-)653 +2690 y(tr)m(ol)p FA(,)c(2006.)558 2773 y(8.)42 b(L.)21 +b(Xiao,)g(S.)g(Bo)o(yd,)h(and)g(S.)f(Lall.)36 b(A)21 +b(space-time)h(dif)n(fusion)i(scheme)e(for)h(peer)o(-to-peer)h +(least-squares)653 2856 y(estimation.)30 b Fa(Pr)m(oc.)20 +b(of)f(F)m(ifth)g(International)h(Conf)o(.)g(on)f(Information)i(Pr)m +(ocessing)h(in)d(Sensor)i(Networks)653 2939 y(\(IPSN)e(2006\))p +FA(,)g(pages)g(168\226176,)g(2006.)558 3022 y(9.)42 b(Mohammad)15 +b(S.)g(T)-6 b(alebi,)15 b(Mahdi)f(K)n(ef)o(ayati,)i(Babak)g(H.)e +(Khalaj,)g(and)i(Hamid)e(R.)h(Rabiee.)k(Adapti)n(v)o(e)c(con-)653 +3105 y(sensus)i(a)o(v)o(eraging)g(for)f(information)h(fusion)f(o)o(v)o +(er)h(sensor)g(netw)o(orks.)22 b Fa(In)15 b(the)h(pr)m(oceedings)i(of)d +(The)h(Thir)m(d)653 3188 y(IEEE)i(International)h(Confer)m(ence)i(on)d +(Mobile)f(Ad-hoc)j(and)e(Sensor)i(Systems)f(\(MASS'06\))p +FA(,)h(2006.)523 3271 y(10.)42 b(D.)19 b(Spanos,)j(R.)d(Olf)o +(ati-Saber)m(,)j(and)f(R.M.)d(Murray)-5 b(.)34 b(Distrib)o(uted)20 +b(sensor)j(fusion)e(using)g(dynamic)f(con-)653 3354 y(sensus.)27 +b Fa(pr)m(oceedings)20 b(of)e(IF)-8 b(A)n(C)p FA(,)18 +b(2005.)523 3437 y(11.)42 b(D.S.)18 b(Scherber)k(and)d(H.C.)g(P)o +(apadopoulos.)31 b(Distrib)o(uted)19 b(computation)h(of)g(a)o(v)o +(erages)h(o)o(v)o(er)f(ad)f(hoc)h(net-)653 3520 y(w)o(orks.)27 +b Fa(IEEE)18 b(journal)h(on)f(Selected)h(Ar)m(eas)g(in)f +(Communications)p FA(,)g(23\(4\):776\226787,)j(April)d(2005.)523 +3603 y(12.)42 b(Mohammad)15 b(S.)g(T)-6 b(alebi,)15 b(Mahdi)f(K)n(ef)o +(ayati,)i(Babak)g(H.)e(Khalaj,)g(and)i(Hamid)e(R.)h(Rabiee.)k(Adapti)n +(v)o(e)c(con-)653 3686 y(sensus)i(a)o(v)o(eraging)g(for)f(information)g +(fusion)h(o)o(v)o(er)f(sensor)h(netw)o(orks.)22 b Fa(IEEE)16 +b(International)g(Confer)m(ence)653 3769 y(on)i(Mobile)g(Adhoc)g(and)h +(Sensor)h(Systems)f(\(MASS\))p FA(,)g(pages)g(562\226565,)g(2006.)523 +3852 y(13.)42 b(J)24 b(A.)g(Le)o(gg.)47 b(T)n(racking)25 +b(and)g(sensor)h(fusion)g(issues)f(in)f(the)h(tactical)f(land)g(en)m +(vironement.)48 b Fa(T)-6 b(ec)o(hnical)653 3935 y(Report)18 +b(TN.0605)p FA(,)h(2005.)523 4018 y(14.)42 b(R.)18 b(Olf)o(ati-Saber)m +(,)j(J.A.)e(F)o(ax,)g(and)h(R.M.)e(Murray)-5 b(.)31 b(Consensus)22 +b(and)e(cooperation)h(in)e(netw)o(ork)o(ed)i(multi-)653 +4101 y(agent)d(systems.)27 b Fa(Pr)m(oc.)18 b(of)g(IEEE)p +FA(,)g(pages)h(215\226233,)g(2007.)523 4184 y(15.)42 +b(Dimitri)15 b(P)-8 b(.)16 b(Bertsekas)i(and)f(John)g(N.)f(Tsitsiklis.) +21 b Fa(P)-6 b(ar)o(allel)17 b(and)g(Distrib)o(uted)f(Computation:)h +(Numerical)653 4267 y(Methods)p FA(.)26 b(Athena)18 b(Scienti\002c,)g +(1997.)523 4350 y(16.)42 b(Jacques)17 b(Bahi,)d(Raphael)i(Couturier)m +(,)g(and)f(Fla)o(vien)g(V)-8 b(ernier)l(.)20 b(Synchronous)e(distrib)o +(uted)c(load)h(balancing)653 4433 y(on)25 b(dynamic)h(netw)o(orks.)50 +b Fa(J)n(ournal)27 b(of)e(P)-6 b(ar)o(allel)25 b(and)h(Distrib)o(uted)f +(Computing)p FA(,)g(65\(11\):1397\2261405,)653 4516 y(2005.)523 +4599 y(17.)42 b(OMNeT++.)24 b(http://www)-5 b(.omnetpp.or)o(g/.)p +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/chapitre-2009/Fusion-chapter.tex b/chapitre-2009/Fusion-chapter.tex new file mode 100644 index 0000000..67c1e5c --- /dev/null +++ b/chapitre-2009/Fusion-chapter.tex @@ -0,0 +1,1103 @@ +\documentclass{svmult}% +%\documentclass[]{llncs} +\usepackage{amsmath} + +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{graphicx}% +\usepackage{algorithm} +\usepackage{algorithmic} +\usepackage{amsmath} +%\setcounter{MaxMatrixCols}{30} +%\newtheorem{theorem}{Theorem} +%\newtheorem{acknowledgement}[theorem]{Acknowledgement} +%\newtheorem{algorithm}[theorem]{Algorithm} +%\newtheorem{axiom}[theorem]{Axiom} +%\newtheorem{case}[theorem]{Case} +%\newtheorem{claim}[theorem]{Claim} +\newtheorem{assumption}{Assumption} +%\newtheorem{conclusion}[theorem]{Conclusion} +%\newtheorem{condition}[theorem]{Condition} +%\newtheorem{conjecture}[theorem]{Conjecture} +%\newtheorem{corollary}[theorem]{Corollary} +%\newtheorem{criterion}[theorem]{Criterion} +%\newtheorem{definition}[theorem]{Definition} +%\newtheorem{example}[theorem]{Example} +%\newtheorem{exercise}[theorem]{Exercise} +%\newtheorem{lemma}[theorem]{Lemma} +%\newtheorem{notation}[theorem]{Notation} +%\newtheorem{problem}[theorem]{Problem} +%\newtheorem{proposition}[theorem]{Proposition} +%\newtheorem{remark}[theorem]{Remark} +%\newtheorem{solution}[theorem]{Solution} +%\newtheorem{summary}[theorem]{Summary} +%\newenvironment{proof}[1][Proof]{\noindent\textbf{#1.} }{\ \rule{0.5em}{0.5em}} +% +% +% +%\documentclass[]{llncs} +% +%\smartqed + %\usepackage{graphicx} + \usepackage{amsmath} +% %\usepackage{amsthm} + \usepackage{amssymb} +\usepackage{times} + \usepackage{algorithm} +\usepackage{algorithmic} +% %\newtheorem{definition}{Definition} + +\begin{document} +%\renewcommand{\baselinestretch}{1} +\title{Distributed Average Consensus in Large Asynchronous Sensor Networks} + +\author{Jacques M. Bahi, Arnaud Giersh, Abdallah Makhoul and Ahmed Mostefaoui} + \institute{Computer Science Laboratory, University of Franche-Comt\'e (LIFC) \at + Rue Engel-Gros, BP 527\\ + 90016 Belfort Cedex, France\\ + \email{\{firstname.lastname\}@univ-fcomte.fr} +} + + +\maketitle + +\abstract { One important issue in sensor networks is parameters + estimation based on nodes measurements. Several approaches have been + proposed in the literature (centralized and distributed + ones). Because of the particular noisy environment, usually observed + in sensor networks, centralized approaches are not efficient and + present several drawbacks (important energy consumption, routing + information maintaining, etc.). In distributed approaches however, + nodes exchange data with their neighbours and update their own data + accordingly until reaching convergence to the right parameters + estimate. These approaches, although provide some robustness against + nodes failure, does not address important issues as communication + delay tolerance and asynchronism (i.e., they require that nodes + remain synchronous in communication and processing). In this + chapter, we tackle these issues by proposing a totally asynchronous + scheme that is communication delay tolerant. The extensive + simulations series we conducted have showed the effectiveness of our + approach. } + +%------------------------------------------------------------------------------------------------------------------------ +\section{Introduction} +Recent years have witnessed significant advances in wireless sensor +networks which emerge as one of the most promising technologies for +the 21$^{st}$ century~\cite{12}. In fact, they present huge potential +in several domains ranging from health care applications to military +applications. In general, the primary objective of a wireless sensor +network is to collect data from the monitored area and to transmit it +to a base station (sink) for processing. Many applications envisioned +for sensor networks consist of low–power and low–cost nodes. For +instance, applications such as data fusion and distributed +coordination require distributed function computation/parameter +estimation under topology changes and power constraints. Distributed +average consensus, in ad hoc networks, is an important issue in +distributed agreement and synchronization problems~\cite{22} and is +also a central topic for load balancing (with divisible tasks) in +parallel computers~\cite{23}. More recently, it has also found +applications in distributed coordination of mobile autonomous +agents~\cite{24,20} and distributed data fusion in sensor +networks~\cite{21,25}. In this chapter, we focus on a particular class +of iterative algorithms based on information diffusion for average +consensus, widely used in the applications cited above. Each node +broadcasts its data to its neighbours and updates its estimation +according to a weighted sum of the received data until the algorithm +convergence. + +To illustrate the average consensus problem, let us consider the +example of petrol tanks. We suppose that in a oil station we have +large number of tanks related to each other in mechanical and sensor +networks. The role of sensors is to dectect the level of each oil +tank. The objective of this application is to keep the level of oil +on all tanks the same. When a sensor node detects some changes in its +level, it launchs an average consenus process to calculate the +average level of all tranks and then thanks to the mechanical network +an oil transfer operation is done to regulate the level. The average +consensus process is used to compute the average level, each sensor +node exchanges its information with its neighbors by iterative manner +until the convergence to the average consensus. + +%\subsection {Motivations} The above data processing scheme is usually +%known as {\it centralized data fusion}. In this scheme, each sensor +%sends its data either directly, if it is located in the immediate +%neighbourhood of the sink, or by multi hops relays to the data fusion +%center via wireless communications. Besides the important cost in term +%of energy resources consumption due mainly to wireless communications +%(i.e., sensors that are located very far away from the base station, +%requires an important amount of energy to send/receive data to/from +%the sink), this scheme does not hold good robustness against +%communication loss neither against nodes failures. Furthermore, it +%requires that each node maintains rooting information to reach the +%sink. This is particularly challenging and resources consuming in case +%where network topology is constantly changing due either to nodes +%failures or communications unreliability or nodes mobility. + +%Distributed approaches were proposed as interesting alternates based +%on {\it in-network} processing which may, in many cases, significantly +%decrease the energy consumed. In fact, in such approaches, nodes do +%not need to hold global knowledge about the current network topology +%since each node communicates only with its immediate neighbours. The +%unknown parameter estimate is then successively carried out through +%local computation from the exchanged data. The advantages of such +%approaches are numerous: (a) no central data fusion base station is +%required as every node holds the estimate of the unknown parameter; +%(b) multi-hop communications are avoided (only direct communications +%between neighbours are needed) and consequently maintaining rooting +%data is not needed any more; (c) better behaviour is observed in front +%of communication unreliability; (d) Network scalability is better +%supported than in centralized approach due mainly to direct +%communications between neighbours; etc. + +To calculate the average consensus, many distributed approaches have +been proposed. On the other hand, these existing approaches present +some insufficiencies (see next section). For instance, the flooding +approach requires that each node holds a relatively important storage +space. Other approaches make the unpractical assumption of +communication synchronization between sensors~\cite{2,20} and do not +tolerate communication delays neither nodes failures. These weaknesses +remain very restrictive in sensor network environment where on one +hand nodes are prone to frequent failures as they are driven by +batteries and on the other hand communications are almost unreliable +and prone to delays. Moreover, these two limitative features lead, in +addition to nodes mobility, to dynamically changing network +topologies. + +%\subsection {Contributions} + +In order to overcome the above mentioned weaknesses, we propose and +investigate in this chapter a novel approach for data fusion in sensor +networks. The key idea behind is to develop a consensus algorithm that +allows all nodes of the sensor network to track the average of their +previous measurements~\cite{21,2,20,5,9,10,16,17,18}. More +specifically, our proposition is based on an {\it in-network + asynchronous iterative algorithm}, run by each node and in which +nodes communicate with only their immediate neighbours. + +In this context, let us discuss the primary contributions of this chapter: + +\begin{itemize} + +\item Our approach does not require any synchronization between nodes + as it is basically asynchronous. In other words, each node + communicates its data to its instantaneous neighbours at its own + "rhythm" i.e., no delays between nodes are observed in our + approach. This is particularly important because in the synchronous + schemes, as the one reported in~\cite{2}, any delay between two + nodes in the network will result in a global delay over the whole + network since all the nodes are synchronous. This is particularly + limitative in heterogeneous sensor networks where nodes have + different processing speeds. + +\item As a consequence of its asynchronism, our proposed approach + totally tolerates communication delays. This feature is of an + important matter because sensor networks, as it is commonly known, + are prone to environmental perturbations~\cite{1} when communication + delays occur more frequently. + +\item The proposed distributed algorithm, as proven theoretical and + validated experimentally, supports dynamic topologies and guarantees + that each sensor node will converge to the average consensus. + +\end{itemize} + + +However, as for any iterative approach, our approach could, under +certain environmental conditions, consume more network resources, +mainly communications, than other centralized approaches, specifically +in "perfect environment" where nodes and communications are totally +reliable and the network topology is fixed. Nevertheless, we note +here that our concern is more focused on {\it "noisy environment"} in +which communication unreliability and nodes failures are usual. + +%----------------------------------------------------------------------------------------------------------------------- + +\section{Overview of Averaging Problem in Sensor Networks} + +The first and the simplest approach for distributed average estimation +in sensor networks is called {\it flooding} approach~\cite{2}. In this +approach, each sensor node broadcasts all its stored and received data +to its neighbours. After a while, each node will hold all the data of +the network and acts as a fusion center to compute the estimate of the +unknown parameter. This technique has however several +disadvantages~\cite{2}. First, it results in huge amount of exchanged +duplicate messages, which represents a real limitation in environments +like sensor networks. Second, flooding requires that each node stores +at least one message per node (in order to compute the average). This +could lead to an important storage memory requirement in case of a +large sensor network with the associated operations (reads and +writes). Finally, it is obvious that those requirements will consume +much resources leading to an important decrease of the whole network +lifetime. + +Alternatively, in~\cite{3} the authors proposed a scalable sensor +fusion scenario that performs fusion of sensor measurements combined +with local Kalman filtering. They developed a distributed algorithm +that allows the sensor nodes to compute the average of all of their +measurements. It is worthy to note that many other sensor data fusion +approaches are based on Kalman filters and mobile +agents~\cite{4,5,11,16,17}. + +An iterative method for distributed data fusion in sensor networks +based on the calculation of an average consensus~\footnote{In the rest + of the paper, the terms "average consensus" and "parameter + estimation" are used to denote the same mechanism of finding an + estimate of the unknown parameter average.} has been proposed +in~\cite{2}. The authors consider that every node takes a noisy +measurement of the unknown parameter. Each node broadcasts its data to +its neighbours and updates its estimation according to a weighted sum +of the received data. In this scheme all the communications are direct +ones. + +Although the above mentioned works and other existing data fusion +scenarios guarantee some level of robustness to nodes failures and +dynamic topology changes~\cite{2,3,4,10,20}, they either put some +unpractical assumptions like nodes synchronization or do not support +practical issues as the communication delays. + +To the best of our knowledge, the above issues which are extremely +important, especially in noisy environments, are not taken into +account in previous data fusion approaches. In this chapter, we +present an asynchronous data fusion scheme, particularly tailored to +perturbed sensor networks. It focuses on a distributed iterative +algorithm for calculating averages over asynchronous sensor +networks. The sensor nodes exchange and update their data by the mean +of a weighted sum in order to achieve the average consensus. The +suggested algorithm does not rely on synchronization between the nodes +nor does it require any knowledge of the global topology. To round up, +the convergence of the proposed algorithm is proved in a general +asynchronous environment. + +%----------------------------------------------------------------------------------------------------------------- + +\section{Asynchronous Distributed Consensus with Messages Loss} + +\subsection{Problem Formulation} + +A sensor network is modelled as a connected undirected graph $G = (V, +E)$. The set of nodes is denoted by $V$ (the set of vertices), and the +links between nodes by $E$ (the set of edges). The nodes are labelled +$i = 1,2, \ldots, n$, and a link between two nodes $i$ and $j$ is +denoted by $(i, j)$. The dynamic topology changes are represented by +the time varying graph $G(t) = (V, E(t))$, where $E(t)$ is the set of +active edges at time $t$. The set of neighbours of node $i$ at time +$t$ is denoted by $N_{i}(t) = \{j\in V \mid (i,j) \in E(t)\}$, and the +degree (number of neighbours) of node $i$ at time $t$ by $\eta_{i}(t) += |N_{i}(t)|$. + +Each node takes initial measurement $z_{i}$. For sake of simplicity +let us suppose that $z_{i}\in\mathbb{R}$. Then, $z$ will refer to the +vector whose $i$th component is $z_{i}$ in case we are concerned with +several parameters. Each node on the network also maintains a dynamic +state $x_{i}(t)\in\mathbb{R}$ which is initially set to $x_{i}(0) = +z_{i}$. + +Intuitively each node's state $x_{i}(t)$ is its current estimate of +the average value $\sum_{i=1}^{n} z_{i} / n$. The goal of the +averaging algorithm, is to let all the states $x_{i}(t)$ go to the +average $\sum_{i=1}^{n} z_{i} / n$, as $t \rightarrow \infty$. This +will be done through data exchange between neighbouring nodes where +each node at every time iteration $t$ performs weighted sum of the +received data as follows~\cite{20,2}: + +\begin{equation} + x_{i}(t+1) = x_{i}(t) - \sum_{j\in{N}_{i}}\alpha_{ij}(t)(x_{i}(t) - x_{j}(t)) , i = 1, \ldots, n. + \label{eqno1} + \end{equation} + +Where $\alpha_{ij}(t)$ is the weight on $x_{j}(t)$ at node $i$, and + $\alpha_{ij}(t) = 0$ for $j \not\in N_{i}(t)$. + +In order to handle communication delays, we consider that at time $t$ +a node $i$ gets the state of its neighbour $j$ at time $d_{j}^{i}(t)$, +where $0\leq d_{j}^{i}(t)\leq t$ + +$d_{j}^{i}(t)$ represents the transmission delay between nodes $i$ and +$j$. Therefore, let us denote +$x_{j}^{i}(t)=x_{j}(d_{j}^{i}(t))\in\mathbb{R}$ the state of node $j$ +at time $d_{j}^{i}(t),$ received at time $t$ by node $i$. Then, we +defined the extended neighbourhood of node $i$ at time $t$ as the set: + +\begin{equation*} +\overline{N}_{i}(t)=\left\{j \mid \text{ }\exists \ d_{j}^{i}(t)\in\left\{ +t-B+1,...,t\right\} ,\text{such that }j\in N_{i}(d_{j}^{i}(t))\right\}; +\end{equation*} + +note that $ N_{i}(t) \subset \overline{N}_{i}(t)$. + + +The problem, as for any distributed algorithmic approach, is how and +under which conditions, will we ensure convergence of the proposed +algorithm? In other terms, are we sure that all the node's $x_{i}$ +will converge to the right estimate of the unknown parameter average +value? Also, how can we choose the parameters $\alpha_{ij}(t)$ so to +improve the convergence speed and the quality of the derived estimate? +Hereafter we present and analyse our proposal. We used the notations +reported in Table~\ref{notations} + + +\begin{table}[h] +\begin{center} +\footnotesize +\begin{tabular}{|c|c|} +\hline +\cline{1-2} +\textbf Notation&Description\\ +\hline +\textbf{$G(t)$}&the time varying graph\\ +\hline +\textbf{$N_{i}(t)$}&the set of neighbors of node $i$ at time $t$\\ +\hline +\textbf{$z_{i}$}&the initial measurement of node $i$\\ +\hline +\textbf{$x_{i}(t)$}&the dynamic state of node $i$\\ +\hline +\textbf{$d_{j}^{i}(t)$}&the transmission delay between nodes $i$ and $j$\\ +\hline +\textbf{$x_{j}^{i}(t)=x_{j}(d_{j}^{i}(t))$}&the state of node $j$ at time $t-d_{j}^{i}(t)$\\ +\hline +\textbf{$\overline{N}_{i}(t)$}&the extended neighborhood of $i$ at time $t$\\ +\hline +\textbf{$s_{ij}(t)$}& the data sent by $i$ to $j$ at time $t$\\ +\hline +\textbf{$r_{ji}(t)$}&the data received by $i$ from $j$ at time $t$\\ +\hline +\end{tabular} +\caption{Notations} +\label{notations} +\end{center} +\end{table} + +%-------------------------------------------------------------------------------------------------------------------------------- +\subsection{Asynchronous scheme} + +Our algorithm to compute the average consensus over the network is +based on information diffusion i.e., each node takes a measurement and +then cooperates with its neighbours in a diffusion manner to estimate +the average of all the collected information. It is inspired from the +work of Bertsekas and Tsitsiklis~\cite[section~7.4]{6} on load +balancing and extends it to cope with dynamic topologies and messages +loss and delays. Algorithm~\ref{general} presents the main steps of +our proposed algorithm. + +\begin{algorithm}[H] +\begin{small} +\caption{The General Algorithm.} +\begin{algorithmic}[1] +\label{general} +\STATE Each node maintains an instantaneous state $x_{i}(t) \in +\mathbb{R}$, and at $t=0$ (after all nodes have taken +the measurement), each node initializes its state as $x_{i}(0) = +z_{i}$. \STATE At every step $t$ each node $i$: +\begin{itemize} +\item compares its state to the states of its neighbours; +\item chooses and computes $s_{ij}(t)$. They have to be chosen + carefully in order to ensure the convergence of the algorithm; +\item diffuses its information; +\item receives the information sent by its neighbours $r_{ji}(t)$; +\item updates its state with a combination of its own state and the states at its +instantaneous and extended neighbours ($\overline{N}_{i}(t)$) as follows: +\begin{equation} + x_{i}(t+1)=x_{i}(t)-\sum_{j\in N_{i}(t)}s_{ij}(t)+\sum_{j\in\overline +{N}_{i}(t)}r_{ji}(t). +\label{x_(t+1)}% +\end{equation} +\end{itemize} +\end{algorithmic} +\end{small} +\end{algorithm} + +\subsection{Theoretical Analysis (Convergence)} + +We now introduce three assumptions that ensure the convergence of our algorithm. + +\begin{assumption} +\label{assump:ConnectedGraph} +$\text{There exists}\ B\in\mathbb{N}$ such that $\forall +t\geqslant0,$\\ $t-B0,\forall + t\geqslant0, \\ \forall i\in N,\forall j\in N_{i}(t)$, such that + $\alpha(x_{i}(t)-x_{j}^{i}(t)) \leq s_{ij}(t).$ \\ $\ \left(s_{ij}(t)=0 + \ \text{if} \ (x_{i}(t) \leq x_{j}^{i}(t)) \ \text{for all} \ j + \in N_{i}(t)\right) $. +\end{assumption} + +The second assumption postulates that when a node $i$ detects a +difference between its state and the states of its neighbours, it +therefore computes non negligible $s_{ij}$ to all nodes $j$ where +$(x_{i}(t) > x_{j}^{i}(t))$. + +\begin{assumption} +\label{PingPong}% +\begin{equation} +x_{i}(t)-\sum_{k\in N_{i}(t)}s_{ik}(t)\geq x_{j}^{i}(t)+s_{ij}(t) +\label{h5_2}% +\end{equation} +\end{assumption} +The third assumption prohibits node $i$ to compute very large $s_{ij}$ +which creates a ping-pong state. Recall that, the ping-pong state is +established when two nodes keep sending data to each other back and +forth, without ever reaching equilibrium. Note that these two +assumptions are similar to assumption 4.2 introduced +in~\cite[section~7.4]{6}. + +\begin{theorem} +\label{THE} +if the assumptions \ref{assump:ConnectedGraph}, \ref{Inf Assumption} +and \ref{PingPong} are satisfied, Algorithm~\ref{general} guarantees that + +\begin{equation} +\lim_{t\rightarrow\infty}x_{i}(t)=\frac{1}{n} {\displaystyle\sum\limits_{i=1}^{n}} x_{i}(0) +\end{equation} + +i.e., all node states converge to the average of the initial measurements of the network. +\end{theorem} + +%------------------------------------------------------------preuve +\noindent{\it Proof} +%\begin{small} + +Let $m(t)=\min_{i}\min_{t-B<\tau\leq t}x_{i}(\tau).$ Note that $x_{j}^{i}% +(\tau)\geq m(t),$ $\forall i,j,t.$\newline Lemma \ref{lemma:1} and +\ref{lemma:2} below can be proven similarly to the lemma of pages 521 and 522 +in~\cite{6}. + +Denote by $v_{ij}(t)=\sum\limits_{s=0}^{t-1}\left( s_{ij}(s)-r_{ij}% + (s)\right) ,$ the data sent by $i$ and not yet received by +$j$ at time $t.$ We suppose that $v_{ij}(0)=0.$ Then by data +conservation, we obtain% +\begin{equation} +\sum_{i=1}^{n}\left( x_{i}(t)+\sum_{j\in N_{i}(t)}v_{ij}(t)\right) +=\sum_{i=1}^{n}x_{i}(0),\qquad\forall t\geqslant0\label{conservation}% +\end{equation} +% +>From assumption~\ref{assump:ConnectedGraph} we can conclude that the +data $v_{ij}(t)$ in the network before time $t$ consists in +data sent in the interval time $\left\{ t-B+1,...,t-1\right\} ,$ so +$v_{ij}(t)\leq\sum_{\tau=t-B+1}^{t-1}s_{ij}(t),$ $\forall node +i,\forall j\in N_{i}(t).$ + +\begin{lemma} +\label{lemma:1}The sequence $m(t)$ is monotone, nondecreasing and converges +and $\forall i,\forall s\geq0,$% +\begin{equation*} +x_{i}(t+s)\geq m(t)+\left( \frac{1}{n}\right) ^{t_{1}-t_{0}}(x_{i}(t)-m(t)) +\end{equation*} + +\end{lemma} + +Let $i\in V,t_{0}\in\mathbb{N},$ and $t\geq t_{0},$ $j\in V,$ we say that the +event $E_{j}(t)$ occurs if there exists $j\in\overline{N}_{i}(t)$ such +that +\begin{equation} +x_{j}^{i}(t)0.$ Thus,% +\begin{equation*} +m(t_{0}+3nMB+B)\geq m(t_{0})+\delta\left( \max_{i}x_{i}(t_{0})-m(t_{0}% +)\right) . +\end{equation*} +Note that $\lim_{t_{0}\rightarrow\infty}\max_{i}x_{i}(t_{0})-m(t_{0})=0$ +(otherwise \\$\lim_{t_{0}\rightarrow\infty}m(t_{0})=+\infty$). On the other +hand, as $\lim_{t\rightarrow\infty}m(t)=c$ and as $m(t)\leq x_{j}(t)\leq +\max_{i}x_{i}(t),$ we deduce that $\forall j\in V,$ $\lim_{t\rightarrow\infty +}x_{j}(t)=c,$ which implies that $\lim_{t\rightarrow\infty}s_{ij}(t)=0$. +Thanks to assumption 1, we deduce that $\lim_{t\rightarrow\infty}v_{ij}(t)=0,$ +and thanks to (\ref{conservation}), we deduce that $nc=\lim_{t\rightarrow +\infty}x_{i}(t)=\sum_{i=1}^{n}x_{i}(0),$i.e. $c=\sum_{i=1}^{n}x_{i}(0)/n,$ +which yields to $\lim_{t\rightarrow\infty}x_{i}(t)=\frac{1}{n}% +%TCIMACRO{\dsum \limits_{i=1}^{n}}% +%BeginExpansion +{\displaystyle\sum\limits_{i=1}^{n}} +%EndExpansion +x_{i}(0)$ proving Theorem 1. +\end{proof} +%\end{small} +%----------------------------------------------------------preuve + + +\subsection{Practical Issues} + +We now discuss some practical aspects related to the implementation of +Algorithm~\ref{general}. The main two points are how to choose +$s_{ij}(t)$ and how to overcome the loss of messages? + +Each node updates its state following equation (\ref{x_(t+1)}). This +is achieved, by updating each sensors $s_{ij}(t)$ through time. For +sake of simplicity, the value of $s_{ij}(t)$ is chosen to be computed +by the weighted difference between the states of nodes $i$ and $j$ as +follows: + +\begin{equation*} + s_{ij}(t) = \left\{ + \begin{array}{ll} + \alpha_{ij}(t) (x_{i}(t) - x_{j}^{i}(t)) & \qquad \text{if} \quad x_{i}(t) > x_{j}^{i}(t) \ ,\\ + 0 & \qquad \text{otherwise}.\\ + \end{array} + \right. +\end{equation*} + +The choice of $s_{ij}(t)$ is then deduced from the proper choice of +the weights $\alpha_{ij}(t)$. Hence, $\alpha_{ij}(t)$ must be chosen +such that the states of all the nodes converge to the average +$\sum_{i=1}^{n} z_{i} / n$, i.e., assumptions \ref{Inf Assumption} and +\ref{PingPong} must be satisfied. + +Denote by $j^{\ast}$ the sensor node satisfying +$x_{j^{\ast}}^{i}=\min_{k\in N_{i}(t)} x_{k}^{i}(t)$ (note that +$j^{\ast}$ depends on $i$ and time $t$)$.$ The values of +$\alpha_{ij}(t)$ must be selected so that to avoid the ping pong +condition presented in assumption~\ref{PingPong}. + +This is equivalent to choose $\alpha_{ij}(t)$ so that $\forall +t\geqslant 0,\forall i\in N,$ and $j\neq +j^{\ast}\in\overline{N}_{i}(t)$ satisfying $x_{i}(t)>x_{j}^{i}(t),$ + +\begin{equation} +0\leq\alpha_{ij}(t)\leq\frac{1}{2}\left( 1-\frac{\sum_{j\neq i}\alpha +_{ik}(t)(x_{i}(t)-x_{i}^{k}(t))}{(x_{i}(t)-x_{i}^{j}(t))}\right) +\label{h5_2bis}% +\end{equation} + +The weights $\alpha_{ij}(t)$ must also be chosen in order to respect +assumption~\ref{Inf Assumption}. This assumption can be carried out by +fixing a constant $\beta\in\left[ 0,1\right] $ and choosing + +\begin{equation} +\left\{ +\begin{array} +[c]{l}% +\sum_{k\neq j^{\ast}\in N_{i}(t)}\alpha_{ik}(t)(x_{i}(t)-x_{k}^{i}% +(t))\leq\beta(x_{i}(t)-x_{j^{\ast}}^{i}(t)),\\ +\alpha_{ij^{\ast}}(t)=\frac{1}{2}\left( 1-\frac{\sum_{k\neq j^{\ast}}% +\alpha_{ik}(t)(x_{i}(t)-x_{k}^{i}(t))}{(x_{i}(t)-x_{j^{\ast}}^{i}(t))}\right) +\end{array} +\right. \label{h6}% +\end{equation} +Indeed, from (\ref{h6}) we deduce% +\begin{equation*} +\alpha_{ij^{\ast}}(t)\geq\frac{(x_{i}(t)-x_{j^{\ast}}^{i}(t))-\beta +(x_{i}(t)-x_{j^{\ast}}^{i}(t))}{2(x_{i}(t)-x_{j^{\ast}}^{i}(t))}=\frac +{1-\beta}{2}=\alpha. +\end{equation*} +Hence, $\forall i,j^{\ast},t$ such that $j^{\ast}\in\overline{N}_{i}(t)$ +and $x_{j^{\ast}}^{i}(t)=\min_{k\in N_{i}(t)}x_{k}^{i}(t),$% +\begin{equation*} +s_{ij^{\ast}}(t)=\alpha_{ij^{\ast}}(t)\left( x_{i}(t)-x_{j^{\ast}}% +^{i}(t)\right) \geq\alpha\left( x_{i}(t)-x_{j^{\ast}}^{i}(t)\right). +\end{equation*} + +The first inequation of (\ref{h6}) can be written as $\sum_{k\neq + j^{\ast}\in + V_{i}(t)}s_{ik}(t)\leq\beta(x_{i}(t)-x_{j^{\ast}}^{i}(t)),$ this +means that the totality of data sent to the neighbours of $i$ (except +$j^{\ast }$) doesn't exceed a portion $\beta$ of +$(x_{i}(t)-x_{j^{\ast}}^{i}(t)).$ + +Equations (\ref{h5_2bis}) and (\ref{h6}) are derived from the +assumptions \ref{Inf Assumption} and \ref{PingPong}. Therefore the +choice of the weights $\alpha_{ij}$ must take into consideration these +two equations. + +First let define the deviation $\Delta_{i}^{j}(t)$ of node $i$ as: + +\begin{equation*} + \Delta_{i}^{j}(t) = \left\{ + \begin{array}{ll} + x_{i}(t) - x_{j}^{i}(t) & \qquad \text{if} j\in N_{i}(t) \ \text{and} \ x_{i}(t) > x_{j}^{i}(t) \ ,\\ + 0 & \qquad \text{otherwise.}\\ + \end{array} + \right. +\end{equation*} + +Algorithm~\ref{WeightUpdate} presents our method for temporally +updating the averaging weights. Node $i$ computes the difference +between its current state and current states of its neighbours. The +positive deviations ($\Delta_{i}^{j} > 0$) are then stored in the +array $Delta_{i}$, in a decreasing order. Then, it sets the weight +$\alpha_{ij}$ to $1/(\eta_{i}(t) + 1)$, where $\eta_{i}(t)$ is the +current number of its neighbours, starting by its neighbours nodes $j$ +whose have the larger deviations while respecting +assumption~\ref{PingPong}. + +\begin{algorithm}[t] +\begin{small} +\caption{Temporally updating weights of node $i$.} +\begin{algorithmic}[1] +\label{WeightUpdate} +\FOR {$j \gets 1$ to $n$} +\IF {$j \neq i$} +\STATE $s_{ij} \gets 0$ +\STATE $\alpha_{ij} \gets 0$ +\ENDIF +\ENDFOR +\STATE $k \gets 0$ +\STATE $Sum \gets 0$ +\STATE find $\ell$ such that $\Delta_{i}^{\ell} = Delta_{i}[k]$ +\STATE $\alpha_{i\ell} = 1/(\eta_{i} + 1)$ +\STATE $s_{i\ell} = \alpha_{i\ell} \times \Delta_{i}^{\ell}$ +\REPEAT +\STATE $Sum \gets Sum + s_{il}$ +\STATE $k \gets k+1$ +\STATE find $\ell$ such that $\Delta_{i}^{\ell} = Delta_{i}[k]$ +\STATE $\alpha_{i\ell} \gets 1/(\eta_{i} + 1)$ +\STATE $s_{i\ell} \gets \alpha_{i\ell} \times \Delta_{i}^{\ell}$ +\UNTIL{ $NOT$ ($(x_{i}- Sum \geq x_{\ell}^{i}+s_{i\ell})$ $AND$ $(k < n)$)} +\end{algorithmic} +\end{small} +\end{algorithm} + + +In order to cope with the problem of message loss, we adopted the +following strategy: instead of sending $s_{ij}(t)$ from node $i$ to +node $j$, it is the sum $\Sigma_{s_{ij}}(t) = \sum_{0\leq \tau\leq t} +s_{ij}(\tau)$ that is sent. Symmetrically the receivers maintains the +sum of the received data $\Sigma_{r_{ji}}(t) = \sum_{0\leq \tau\leq t} +r_{ji}(\tau)$. Upon receiving, at a time $t$, a message from node $i$, +a node $j$ can now recover all the data that was sent before time +$d_i^j(t)$. It has only to calculate the difference between the +received $\Sigma_{s_{ij}}(d_i^j(t))$ and the locally stored +$\Sigma_{r_{ji}}(t)$. + +To conclude, the state messages exchanged during the execution of the +algorithm are composed of two scalar values : the current state of the +node, $x_i(t)$, and the sum of the sent data $\Sigma_{s_{ij}}(t)$. + +\subsection{Illustrative Example} +To illustrate the behaviour of our proposed approach, les us consider +the example presented in Figure~\ref{fig:example}. It consists in a +network of four nodes. The initial measurement of each node $i$ is +known by $z_{i}$ and the initial state $x_{i}(0) = z_{i}$. + +\begin{figure}[h] +\centering + \includegraphics[scale=.55]{exampleFusion} +%\vspace{-1mm} +\caption{An example of a sensor network composed of four nodes with their initial measurements. } +\label{fig:example} +\end{figure} + +Following the second step of Algorithm~\ref{general}, each node computes the weights $\alpha_{ij}$ for its neighbours. This is done by using Algorithm~\ref{WeightUpdate}. + +Let us focus on the case of $node_{4}$ for instance. We notice that it +has three neighbours and the high deviation $\Delta$ corresponds to +$node_{3}$. Therefore, it computes $ \alpha_{43}(0) = +\frac{1}{\eta_{4} + 1} = \frac{1}{4} $ first, such that $\eta_{4}$ is +the number of its neighbours. Then, $s_{43}(0) = \frac{1}{4} (x_{4}(0) +- x_{3}(0)) = 0.175$. For the two reminder neighbours $node_{1}$ and +$node_{2}$, $node_{4}$ computes $\alpha_{42}(0)$ first for the reason +that $\Delta_{4}^{2}$ is higher than $\Delta_{4}^{1}$. We note that +for $node_{2}$ the Assumption~\ref{PingPong} (ping pong condition) is +satisfied while it is not the case for $node_{1}$ which leads to $ +\alpha_{41}(0) = 0 $. + +All the nodes compute their weights and then diffuse their information +to their neighbours to update their states following +Equation~(\ref{x_(t+1)}). For the above example after the first step +we obtain: + +\begin{itemize} +\item[] $x_{1}(1) = 0.7$ +\item[] $x_{2}(1) = 0.5 + 0.1 - 0.1 = 0.5$ +\item[] $x_{3}(1) = 0.2 + 0.1 + 0.175 = 0.475$ +\item[] $x_{4}(1) = 0.9 - 0.1 - 0.175 = 0.625$ +\end{itemize} + +This process is repeated for several iterations until all the states +of the nodes converge to the average of the initial measurements. We +note that our scheme is robust to the topology changes and the loss of +messages as discussed in details in the next section. + +%----------------------------------------------------------------------------------------------------- +\section{Experimental Results} +\label{Exp} +In order to evaluate the performance of our approach, we have +implemented a simulation package using the discrete event simulator +OMNET++~\cite{8}. This package includes our asynchronous algorithm as +well as a synchronous one. As confirmed in previous related +works~\cite{2,20}, distributed approaches out perform centralised +approaches, in particular in noisy networks. For this reason, we have +not included in our comparison centralised approaches, and focuses +instead on synchronous distributed approaches that are more closed to +our work. + + +We performed several runs of the algorithms (an average of 100 +runs). In each experimental run, the network graph is randomly +generated, where the nodes are distributed over a $[0, 100] \times [0, + 100]$ field. The node communication range was set to 30. The initial +node measurements $z_{i}$ were also randomly generated. Each node is +aware of its immediate neighbours through a "hello" message. Once the +neighbourhood is identified, each node run the algorithm i.e., begins +exchanging data until convergence. + +We studied the performance of our algorithm with regard to the following parameters: +\begin{itemize} + +\item Robustness in front of communication failures: we mainly varied + the probability of communication failure, noted $p$. This parameter + allows us to highlight the behaviour of our scheme in noisy + environment and in dynamic topologies. + +\item Scalability: we varied the number of sensor nodes deployed in the same area to see how our proposed approach scales? + +\end{itemize} + +The main metrics we measured in this paper are: (a) the mean error +between the current estimate $x_{i}$ and the average of the initial +data, (b) the mean number of iterations necessary to reach convergence +and (c) the overall time before reaching the global convergence. We +note here that in asynchronous algorithms, there is no direct +correlation between the number of iterations and the total time to +convergence, contrary to synchronous approaches. In fact, as there are +no delays between nodes, the number of iterations could be relatively +high. This does not mean that the total time to convergence could be +long too. For this reason, we have made the distinction between the +number of iterations and the time taken to reach convergence. As we +run a discrete event simulation package, this time is the one given by +the discrete simulator OMNET++~\cite{8}; we named it {\it simulated + time}. For all the experiments, the global convergence state is said +to be reached when $\varepsilon_{i} =| x_{i} - \sum_{i=1}^{n} y_{i} / +n |$ becomes less than some fixed constant $\varepsilon$. + +Note that, in the figures next sections, the points represent the obtained results and the curves are an extrapolation of these points. + + + + +\subsection{Basic Behaviour} +\label{BH} + +First, we show simulation results for the case where we have a fixed +topology with a fixed number of nodes (50 nodes) and $\varepsilon = +10^{-4}$. The mean error of the nodes $\varepsilon' = \sum_{i=1}^{n} +\varepsilon_{i} / n$ was plotted in Figure~\ref{Error}. As expected, +it can be seen that the convergence in the synchronous mode is faster +than the convergence in the asynchronous one. It is also noticed that +the two graphs have the same pace. + +However, in many scenarios an exact average is not required, and one +may be willing to trade precision for simplicity. For instance, +minimizing the number of iterations to reduce the energy consumption +can be privileged in sensor networks applications where exact +averaging is not essential. + +\begin{figure}[h] +\centering + \includegraphics[scale=.55]{ErrorNbIteration.ps} +%\vspace{-1mm} +\caption{The Mean Error $\varepsilon$} +\label{Error} +\end{figure} + + +\subsection{Dynamic topology} +In a next step, we simulated the proposed sensor fusion scheme with +dynamically changing communication graphs. We generated the sequence +of communication graphs as follows: at each time step, each edge in +the graph is only available with a selected probability $p$, +independent of the other edges and all previous steps. To ensure the +jointly connected condition of the generated graphs, we selected a +period of time $\tau$ in which an edge cannot stay disconnected more +than $\tau$ time. + +We fixed the number of sensor nodes to 50 and $\varepsilon = +10^{-4}$. In preliminary results, the period $\tau$ was chosen in a +way that is equal to three times the time of a communication. We show +in figure~\ref{Dynamic} and figure~\ref{DynamicTime} the variation of +the number of iterations and the time simulation with the probability +of link failure $p$. We notice that the number of iterations and the +overall time increase with the increase of the probability, but not in +an exponential way. + +%\begin{figure*}[t] +%\vspace{-5mm} + % \begin{minipage}[t]{.5\textwidth} +\begin{figure}[h] + \centering + \includegraphics[scale=.55]{DynamicTopology.ps} + \caption{Number of Iterations} + \label{Dynamic} + %\end{minipage}% + %\hfill% +%\vspace{-5mm} +\end{figure} + +\begin{figure}[h] + %\begin{minipage}[t]{.5\textwidth} + \centering + \includegraphics[scale=.55]{DynamicTopologyTime.ps} + %\vspace{2.75mm} + \caption{Simulated Time} + \label{DynamicTime} +% \end{minipage}% + % \hfill% +\end{figure} + +Note that we also tried to run the synchronous algorithm with dynamic +topology changes, but the execution times were so prohibitive, that we +abandoned those experiments. These results confirm that synchronous +algorithms are infeasible for real sensor networks. + +\subsection{Larger Sensor Network} + +Our scheme can be applied to sensor networks where a large number of +sensor nodes are deployed, since it is fully distributed and there is +no centralized control. In our simulations we varied the number of +sensor nodes from 20 to 200 nodes, deployed in the region $[0, 100] +\times [0, 100]$, we selected for all nodes $i$, $\varepsilon = +10^{-4}$. + +However, as shown in the two Figures (Figure~\ref{Density} and +Figure~\ref{DensityTime}), as the number of sensor nodes increases, +the average of the iterations number as well as the time needed to +reach global convergence decreases in the two cases synchronous and +asynchronous. We notice that in the synchronous mode we obtained less +number of iterations, on the other hand it takes more time to reach +the global convergence than the asynchronous one. + +%\begin{figure*}[t] +%\vspace{-5mm} + %\begin{minipage}[b]{.5\textwidth} +\begin{figure}[h] + \centering + \includegraphics[scale=.55]{Density.ps} + \caption{Number of iterations} + \label{Density} + %\end{minipage}% + %\hfill% +\end{figure} +%\vspace{-5mm} + % \begin{minipage}[b]{.50\textwidth} +\begin{figure}[h] + \centering + \includegraphics[scale=.55]{TimeDensity.ps} + %\vspace{2.75mm} + \caption{Simulated Time} + \label{DensityTime} + %\end{minipage}% + %\hfill% +\end{figure} + + + \section{Further Discussions and Comparison to Other Existing Works} +\label{DISC} +In this section, we give further consideration to our data fusion +scheme from the viewpoints of robustness to the delays and loss of +messages and energy efficiency in comparison to other existing works. + +Sensor nodes are small-scale devices. Such small devices are very +limited in the amount of energy they can store or harvest from the +environment. Thus, energy efficiency is a major concern in a sensor +network. In addition, many thousands of sensors may have to be +deployed for a given task. An individual sensor's small effective +range relative to a large area of interest makes this a requirement. + +Therefore, scalability is another critical factor in the network +design. Sensor networks are subject to frequent partial failures such +as exhausted batteries, nodes destroyed due to environmental factors, +or communication failures due to obstacles in the environment. Message +delays can be rather high in sensor networks due to their typically +limited communication capacity which is shared by nodes within +communication range of each other. The overall operation of the sensor +network should be robust despite such partial failures. + + In our scheme, we presented a scalable asynchronous method for + averaging data fusion in sensor networks. The simulations we + conducted show that, the higher the density of the deployed nodes, + the more the precise of the estimation would be. On the other hand, + our algorithm is totally asynchronous, where we consider delay + transmission and loss of messages in the proposed model. These + aspects which are highly important are not taken into account in + previous sensor fusion works~\cite{2,18}. + + Another important practical issue in sensor network is the power + efficiency. Optimizing the energy consumption in sensor networks is + related to minimize the number of the network communications as the + radio is the main energy consumer in a sensor + node~\cite{12}. Considering the distributed iterative procedure for + calculating averages, the only way to minimize the energy consumption + is to reduce the number of iterations before attending the + convergence. To show how well our algorithm saves energy, we compared + our obtained results to those reported by another diffusive scheme + for average computation in sensor networks~\cite{2}. For instance, in + a static topology our algorithm converges after $69$ iterations with + a mean error of $10^{-4}$ while the best results in the second + approach reached $85$ iterations for the same mean error. For the + dynamic topology mode, we obtained $105$ iterations, mean error + $10^{-4}$ and probability of link failure $0.25$, while the number of + iterations is very high ($\approx 300$ iterations) in~\cite{2}. In + figure~\ref{} and figure~\ref{} we present a comparison between our + approach and the iterative solution presented + in~\cite{2}. For~\cite{2} we used the metropolis weights that gives + best convergence and number of iterations results. + + + + + + +\section{Conclusion and Future Work} +In this chapter, we introduced a distributed asynchronous average +consensus in sensor networks. Our approach is based on data diffusion; +the nodes cooperate and exchange their information only with their +direct instantaneous neighbours. In contrast to existing works, our +algorithm does not rely on synchronization nor on the knowledge of the +global topology. We prove that under suitable assumptions, our +algorithm achieves the global convergence in the sense that, after +some iterations, each node has an estimation of the average consensus +overall the whole network. To show the effectiveness of our algorithm, +we conducted series of simulations and studied our algorithm under +various metrics. + +In our scenario, we have focused on developing a reliable and robust +algorithm from the view points of asynchronism and fault tolerance in +a dynamically changing topology. We have taken into account two points +which don't have been previously addressed by other authors, namely +the delays between nodes and the loss of messages. Knowing that in +real sensor networks the nodes are prone to failures. One of the near +future goals is to allow nodes to be dynamically added and removed +during the execution of the algorithm. We also plan to test our +algorithm in a real-world sensor network. + +\bibliographystyle{unsrt} +\bibliography{references} + +\end{document} diff --git a/chapitre-2009/NewNbIterations.ps b/chapitre-2009/NewNbIterations.ps new file mode 100644 index 0000000..2495436 --- /dev/null +++ b/chapitre-2009/NewNbIterations.ps @@ -0,0 +1,799 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: NewNbIterations.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:31:30 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +1020 821 M +63 0 V +5777 0 R +-63 0 V +900 821 M +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +1020 1263 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +1020 1705 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +1020 2147 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 100) Rshow +grestore +1.000 UL +LTb +1020 2589 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 120) Rshow +grestore +1.000 UL +LTb +1020 3032 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 140) Rshow +grestore +1.000 UL +LTb +1020 3474 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 160) Rshow +grestore +1.000 UL +LTb +1020 3916 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 180) Rshow +grestore +1.000 UL +LTb +1020 4358 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 200) Rshow +grestore +1.000 UL +LTb +1020 4800 M +63 0 V +5777 0 R +-63 0 V +-5897 0 R +gsave 0 setgray +( 220) Rshow +grestore +1.000 UL +LTb +1020 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +1604 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 1) Cshow +grestore +1.000 UL +LTb +2188 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 2) Cshow +grestore +1.000 UL +LTb +2772 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 3) Cshow +grestore +1.000 UL +LTb +3356 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 4) Cshow +grestore +1.000 UL +LTb +3940 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 5) Cshow +grestore +1.000 UL +LTb +4524 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 6) Cshow +grestore +1.000 UL +LTb +5108 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 7) Cshow +grestore +1.000 UL +LTb +5692 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 8) Cshow +grestore +1.000 UL +LTb +6276 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 9) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 10) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Number of Iterations) Cshow +grestore +grestore +LTb +3940 100 M +gsave 0 setgray +(Tr) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1312 1374 M +50 0 V +50 0 V +48 0 V +48 0 V +46 0 V +44 0 V +43 0 V +42 0 V +40 0 V +38 0 V +37 0 V +36 0 V +35 0 V +34 0 V +32 0 V +32 0 V +31 0 V +30 0 V +29 0 V +29 0 V +29 0 V +28 0 V +27 0 V +28 0 V +27 0 V +28 0 V +27 0 V +27 0 V +28 0 V +27 0 V +28 0 V +28 0 V +28 0 V +29 0 V +30 0 V +29 0 V +31 0 V +31 0 V +32 0 V +32 0 V +33 0 V +34 0 V +35 0 V +36 0 V +37 0 V +37 0 V +39 0 V +40 0 V +41 0 V +42 0 V +43 0 V +44 0 V +46 0 V +47 0 V +48 0 V +49 0 V +51 0 V +52 0 V +54 0 V +55 0 V +56 0 V +59 0 V +59 0 V +62 0 V +63 0 V +65 0 V +67 0 V +69 0 V +70 0 V +73 0 V +74 0 V +76 0 V +78 0 V +81 0 V +82 0 V +83 0 V +86 0 V +87 0 V +89 0 V +91 0 V +92 0 V +93 0 V +95 0 V +96 0 V +96 0 V +98 0 V +98 0 V +99 0 V +99 0 V +99 0 V +100 0 V +100 0 V +100 0 V +101 0 V +100 0 V +100 0 V +100 0 V +101 0 V +100 0 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +1312 4689 M +50 -378 V +50 -335 V +48 -296 V +48 -262 V +46 -230 V +44 -204 V +43 -180 V +42 -159 V +40 -140 V +38 -123 V +37 -110 V +36 -97 V +35 -85 V +34 -77 V +32 -67 V +32 -60 V +31 -53 V +30 -48 V +29 -43 V +29 -38 V +29 -34 V +28 -30 V +27 -27 V +28 -25 V +27 -22 V +28 -20 V +27 -18 V +27 -16 V +28 -15 V +27 -13 V +28 -12 V +28 -11 V +28 -9 V +29 -9 V +30 -8 V +29 -7 V +31 -6 V +31 -6 V +32 -5 V +32 -4 V +33 -5 V +34 -3 V +35 -3 V +36 -3 V +37 -3 V +37 -2 V +39 -2 V +40 -1 V +41 -2 V +42 -1 V +43 -1 V +44 0 V +46 -1 V +47 0 V +48 0 V +49 0 V +51 0 V +52 0 V +54 1 V +55 0 V +56 1 V +59 1 V +59 2 V +62 1 V +63 2 V +65 2 V +67 2 V +69 3 V +70 2 V +73 3 V +74 4 V +76 3 V +78 4 V +81 4 V +82 5 V +83 5 V +86 5 V +87 5 V +89 6 V +91 6 V +92 6 V +93 6 V +95 7 V +96 6 V +96 6 V +98 7 V +98 6 V +99 6 V +99 6 V +99 5 V +100 5 V +100 4 V +100 4 V +101 2 V +100 3 V +100 1 V +100 1 V +101 0 V +100 0 V +1.000 UP +1.000 UL +LT2 +1312 1374 Pls +1604 1374 Pls +1896 1374 Pls +2042 1374 Pls +2188 1374 Pls +2334 1374 Pls +2480 1374 Pls +2626 1374 Pls +2772 1374 Pls +3064 1374 Pls +3356 1374 Pls +3648 1374 Pls +3940 1374 Pls +4524 1374 Pls +5108 1374 Pls +5692 1374 Pls +6276 1374 Pls +6860 1374 Pls +1.000 UP +1.000 UL +LT3 +1312 4689 Crs +1604 2346 Crs +1896 1772 Crs +2042 1639 Crs +2188 1484 Crs +2334 1418 Crs +2480 1396 Crs +2626 1374 Crs +2772 1374 Crs +3064 1374 Crs +3356 1374 Crs +3648 1374 Crs +3940 1374 Crs +4524 1396 Crs +5108 1440 Crs +5692 1528 Crs +6276 1528 Crs +6860 1528 Crs +1.000 UL +LTb +1020 600 M +5840 0 V +0 4200 V +-5840 0 V +0 -4200 V +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/Ratio.ps b/chapitre-2009/Ratio.ps new file mode 100644 index 0000000..2fce237 --- /dev/null +++ b/chapitre-2009/Ratio.ps @@ -0,0 +1,737 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Ratio.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:26:42 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +900 600 M +63 0 V +5897 0 R +-63 0 V +780 600 M +gsave 0 setgray +( 10) Rshow +grestore +1.000 UL +LTb +900 1125 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +900 1650 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +900 2175 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 40) Rshow +grestore +1.000 UL +LTb +900 2700 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 50) Rshow +grestore +1.000 UL +LTb +900 3225 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 60) Rshow +grestore +1.000 UL +LTb +900 3750 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 70) Rshow +grestore +1.000 UL +LTb +900 4275 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 80) Rshow +grestore +1.000 UL +LTb +900 4800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 90) Rshow +grestore +1.000 UL +LTb +900 600 M +0 63 V +0 4137 R +0 -63 V +900 400 M +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +1496 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 1) Cshow +grestore +1.000 UL +LTb +2092 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 2) Cshow +grestore +1.000 UL +LTb +2688 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 3) Cshow +grestore +1.000 UL +LTb +3284 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 4) Cshow +grestore +1.000 UL +LTb +3880 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 5) Cshow +grestore +1.000 UL +LTb +4476 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 6) Cshow +grestore +1.000 UL +LTb +5072 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 7) Cshow +grestore +1.000 UL +LTb +5668 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 8) Cshow +grestore +1.000 UL +LTb +6264 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 9) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 10) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Simulated Time) Cshow +grestore +grestore +LTb +3880 100 M +gsave 0 setgray +(Tr) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +1198 710 M +39 20 V +39 21 V +39 20 V +40 21 V +39 21 V +39 21 V +39 22 V +39 21 V +39 22 V +40 22 V +39 22 V +39 23 V +40 22 V +40 23 V +40 23 V +40 23 V +41 23 V +41 24 V +41 24 V +42 25 V +42 25 V +43 25 V +44 26 V +44 27 V +45 27 V +46 27 V +47 29 V +47 29 V +49 29 V +50 31 V +51 31 V +52 32 V +53 33 V +54 34 V +55 35 V +56 35 V +58 37 V +59 37 V +60 38 V +61 39 V +62 40 V +63 41 V +65 42 V +65 43 V +67 43 V +67 45 V +69 45 V +69 46 V +71 47 V +71 47 V +72 49 V +74 49 V +74 50 V +75 51 V +77 52 V +77 53 V +78 53 V +80 55 V +82 56 V +82 57 V +85 59 V +87 60 V +89 61 V +92 64 V +95 66 V +99 68 V +103 71 V +109 75 V +115 79 V +121 83 V +130 88 V +140 95 V +151 101 V +163 110 V +179 119 V +197 131 V +216 142 V +240 158 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +1198 742 M +39 -4 V +39 -2 V +39 0 V +40 1 V +39 3 V +39 4 V +39 6 V +39 8 V +39 8 V +40 10 V +39 11 V +39 13 V +40 13 V +40 15 V +40 15 V +40 17 V +41 18 V +41 18 V +41 20 V +42 21 V +42 22 V +43 23 V +44 24 V +44 25 V +45 26 V +46 27 V +47 28 V +47 30 V +49 30 V +50 31 V +51 33 V +52 34 V +53 35 V +54 36 V +55 37 V +56 39 V +58 39 V +59 41 V +60 42 V +61 43 V +62 45 V +63 46 V +65 47 V +65 48 V +67 49 V +67 51 V +69 52 V +69 53 V +71 54 V +71 56 V +72 57 V +74 58 V +74 60 V +75 60 V +77 63 V +77 63 V +78 65 V +80 67 V +82 68 V +82 70 V +85 72 V +87 74 V +89 76 V +92 79 V +95 81 V +99 85 V +103 88 V +109 93 V +115 97 V +121 103 V +130 109 V +140 117 V +151 125 V +163 135 V +179 146 V +197 160 V +216 174 V +240 193 V +1.000 UP +1.000 UL +LT2 +1198 710 Pls +1496 863 Pls +1794 1032 Pls +2092 1209 Pls +2390 1380 Pls +2688 1558 Pls +3284 1947 Pls +3880 2323 Pls +4476 2734 Pls +5072 3177 Pls +5668 3620 Pls +6264 4064 Pls +6860 4440 Pls +1.000 UP +1.000 UL +LT3 +1198 742 Crs +1496 705 Crs +1794 790 Crs +2092 943 Crs +2390 1130 Crs +2688 1349 Crs +3284 1755 Crs +3880 2128 Crs +4476 2652 Crs +5072 3267 Crs +5668 3912 Crs +6264 4280 Crs +6860 4688 Crs +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/TimeDensity.ps b/chapitre-2009/TimeDensity.ps new file mode 100644 index 0000000..2020643 --- /dev/null +++ b/chapitre-2009/TimeDensity.ps @@ -0,0 +1,705 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: TimeDensity.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Tue Feb 5 17:29:16 2008 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -66 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 200 scalefont setfont +1.000 UL +LTb +900 600 M +63 0 V +5897 0 R +-63 0 V +780 600 M +gsave 0 setgray +( 10) Rshow +grestore +1.000 UL +LTb +900 1650 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 15) Rshow +grestore +1.000 UL +LTb +900 2700 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 20) Rshow +grestore +1.000 UL +LTb +900 3750 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 25) Rshow +grestore +1.000 UL +LTb +900 4800 M +63 0 V +5897 0 R +-63 0 V +-6017 0 R +gsave 0 setgray +( 30) Rshow +grestore +1.000 UL +LTb +1411 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 40) Cshow +grestore +1.000 UL +LTb +2092 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 60) Cshow +grestore +1.000 UL +LTb +2773 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 80) Cshow +grestore +1.000 UL +LTb +3454 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 100) Cshow +grestore +1.000 UL +LTb +4135 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 120) Cshow +grestore +1.000 UL +LTb +4817 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 140) Cshow +grestore +1.000 UL +LTb +5498 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 160) Cshow +grestore +1.000 UL +LTb +6179 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 180) Cshow +grestore +1.000 UL +LTb +6860 600 M +0 63 V +0 4137 R +0 -63 V +0 -4337 R +gsave 0 setgray +( 200) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +LTb +200 2700 M +gsave 0 setgray +currentpoint gsave translate 90 rotate 0 0 M +(Simulated Time) Cshow +grestore +grestore +LTb +3880 100 M +gsave 0 setgray +(Nodes Density) Cshow +grestore +1.000 UP +1.000 UL +LT0 +LTb +5957 4637 M +gsave 0 setgray +(Synchronous Algorithm) Rshow +grestore +LT0 +6077 4637 M +543 0 V +900 4632 M +43 -68 V +43 -67 V +43 -65 V +43 -63 V +43 -62 V +43 -61 V +43 -59 V +43 -57 V +43 -57 V +43 -55 V +44 -53 V +43 -53 V +43 -51 V +44 -50 V +43 -50 V +44 -48 V +43 -47 V +44 -46 V +44 -45 V +44 -44 V +45 -43 V +44 -42 V +45 -42 V +45 -40 V +45 -40 V +45 -39 V +46 -38 V +46 -38 V +46 -36 V +46 -36 V +47 -36 V +48 -34 V +47 -34 V +48 -34 V +48 -32 V +49 -32 V +49 -32 V +50 -31 V +50 -30 V +51 -30 V +51 -29 V +52 -28 V +52 -28 V +53 -28 V +53 -27 V +54 -26 V +55 -26 V +55 -25 V +56 -25 V +56 -25 V +57 -23 V +58 -24 V +58 -23 V +60 -22 V +59 -22 V +61 -21 V +61 -21 V +62 -20 V +63 -20 V +64 -19 V +64 -19 V +65 -19 V +66 -18 V +66 -17 V +68 -17 V +68 -17 V +69 -16 V +69 -15 V +71 -15 V +71 -15 V +72 -14 V +72 -14 V +74 -13 V +74 -13 V +75 -12 V +76 -12 V +76 -11 V +77 -11 V +78 -10 V +78 -10 V +79 -10 V +80 -9 V +80 -8 V +81 -8 V +82 -8 V +82 -8 V +82 -6 V +83 -7 V +84 -6 V +84 -6 V +84 -5 V +85 -5 V +85 -4 V +85 -5 V +86 -3 V +85 -4 V +86 -3 V +86 -3 V +86 -3 V +1.000 UL +LT1 +LTb +5957 4437 M +gsave 0 setgray +(Asynchronous Algorithm) Rshow +grestore +LT1 +6077 4437 M +543 0 V +900 3378 M +43 -66 V +43 -65 V +43 -63 V +43 -61 V +43 -59 V +43 -57 V +43 -56 V +43 -54 V +43 -53 V +43 -50 V +44 -50 V +43 -48 V +43 -46 V +44 -45 V +43 -43 V +44 -43 V +43 -40 V +44 -40 V +44 -38 V +44 -37 V +45 -35 V +44 -35 V +45 -33 V +45 -33 V +45 -31 V +45 -30 V +46 -29 V +46 -28 V +46 -27 V +46 -26 V +47 -25 V +48 -24 V +47 -23 V +48 -23 V +48 -21 V +49 -21 V +49 -20 V +50 -19 V +50 -19 V +51 -18 V +51 -17 V +52 -16 V +52 -16 V +53 -15 V +53 -14 V +54 -14 V +55 -14 V +55 -13 V +56 -12 V +56 -12 V +57 -11 V +58 -11 V +58 -10 V +60 -10 V +59 -10 V +61 -9 V +61 -8 V +62 -9 V +63 -7 V +64 -8 V +64 -7 V +65 -7 V +66 -7 V +66 -6 V +68 -6 V +68 -6 V +69 -5 V +69 -6 V +71 -5 V +71 -5 V +72 -4 V +72 -4 V +74 -5 V +74 -4 V +75 -3 V +76 -4 V +76 -3 V +77 -4 V +78 -3 V +78 -3 V +79 -3 V +80 -2 V +80 -3 V +81 -2 V +82 -3 V +82 -2 V +82 -2 V +83 -2 V +84 -2 V +84 -1 V +84 -2 V +85 -1 V +85 -2 V +85 -1 V +86 -1 V +85 -1 V +86 -2 V +86 0 V +86 -1 V +1.000 UP +1.000 UL +LT2 +900 4632 Pls +1751 3263 Pls +2603 2742 Pls +3454 2164 Pls +5157 1980 Pls +6860 1931 Pls +1.000 UP +1.000 UL +LT3 +900 3378 Crs +1751 2043 Crs +2603 1650 Crs +3454 1560 Crs +5157 1493 Crs +6860 1478 Crs +1.000 UL +LTb +900 600 M +5960 0 V +0 4200 V +-5960 0 V +900 600 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/authinst.pdf b/chapitre-2009/authinst.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ad7748aeb5c0de9febbf7aaa6160557a1a9d7ffb GIT binary patch literal 123690 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 literal 0 HcmV?d00001 diff --git a/chapitre-2009/editor/edsamp.pdf b/chapitre-2009/editor/edsamp.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d4f2fe9056711dc07198cf68dcb0be04fe7f8527 GIT binary patch literal 130485 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

Ic3{e1t-xv73fv*e1ttA8`b%UeX$N2#XYLwh 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 jMsC9Yo#o*(3A}@&p1tGm9vZ9}Gb} for cross-references +% and \cite{

Nv5*{Qz}U@Z90jdNjZ>&jzR?A*BkBOy`albJijU`ww^+u8%d$&Ga#9Fs{tOm(iTl ztg)~McA~j*gflU^I8!q1y#)r{9)esn+ek#?JJ3fM(L7bT2zkWNSvjSS!+e=|?K8NBiMz;iWE{2!NtLmisR(C! zL;I=bbDhN(?B|$_8f#87eWCkyM-BU0zlH?kfecD{G`{^_&z~-zW{4q8C6;ke6`o2P z@(Pa>^Q9Ks>!}+YPIz_HqtOYHyC87_RtMMadV*<~CVTOAhf-e3I^F1HfD>;ibu_fo zz33|bDQDV|$7o=cQ?jFo#z(x~{thS3y-J5JTD?G3ECuZyBG*age4S&ApGxW1A{t~@T+>8Q9)(t<9DGo%naPyZN4ef zKu6W30Z0{TAsrt3j5sg+Yj_#C2`92ff?vt7eq8(#JiHeBc4Uy$;rmi`+1u&)JPs3I zV4bes^L1MsUKl_xD34kxOHe<%2n#K*{mN_8O^1c;ng2Vmde#K$MxSeN)_ zAHc%#yHJjyUQ|v(2rTA}823g%<${YO!hg!mo6PVM^!?jEqG;5-^S?n%6QP&<486C1 zBFuW?ej=J(kc%$&k}cY9v{5AoF+)YO@V zCk-c|9gE8GDCEqZBh{&0u|@5$qo6a2Y;6muAR-{BD4+;J5+D$fh-ktkfZU1PBpB{D z5l|5Yy9y#&$NO3l>#eQp+Im^H?}=Y#+%Mp5RT#IZJ7+TUCHe6@=Y5{{dEZaJltK?~ zzyslzhQuc)GnCI+HNd(C-j!xp*~|wS_gBho`N1Pc_8C83Zf?uH+}JfHy*)j>z0N)M z_Rh}s_C3zMIA8tBVP-u?oPn>60}jr^Xgu4_!!2r_BTAkeE6J?U9R!EcHm0$tao=uQ zTNEA4B6mYRwRU}KjkfaFtXejvTBFp_@Cnw)18jcrtXsI!T|CR1O~fVp>gg!lz0;U5&R?qz=SSFQ4wFx;;Q=jR_WOMm8{f|_m~h;Q*> zFK02_9yYrwZ-tQsFnI^eE&-EPUR5{PodMoCnAFYZK9WtA6h4^U({#OmS5X+P;|n*(uF}z0{BQqH3@cC zMZ0=L`7dKv3GmPgxWQ}ZQutiQQ=6Oh?-mdkwg35Qa~VvpQ3HETnKss|e-&A(KDdJc zdu}6Dzhb9HnnzNCMb(C|yl@)tm;L*V^$#9>_?;=drH5P%>~rg8e?J^lGv3X=##if; zVM*RuA#PN*gg30UL}pI4A%vMt0T;?^<3jlm4jB}hhvpq~fqCEv^N{1QW5{vf>~akM zRAIy2@2y#t8S+38Q`0^+nl5898j%eFB07`Qz2^QF!fGoF0cg$!cKtq zK?mZ90LI;Z0sRDsco-d*nZ5`#|7HAPp`%gUK1x#Tw|{q4Rl}~3>VV}kziihR8A zfKO*vNl(SyzA=ivxp@h!^~tVL?RAaySxam35)yJ*@o7)(yn{Y;c4yDgZ}P(9wF&n$>r5|5?lRTEfP`NivI$MPt=4ABX0LkO#KcTU{o{C2vZKV{4Q~L2IC^26og) zb>>`eIrh^P@SvpW1Ty~$nXE!1=*98dwb?n<=_Tx82q1u{mN~>F$0f?y3e|Zi3){BR zZetjllxEot;Y3ANRzV95uIgEH*>cq$a3c)61ms1jaIl4sYZoGW{hA>I;2FX1a0D1R z-h2lfFAvEv98-LKK0G7W1tN1$^~ZyP`om985{Mx-Z(}6-;uAxA#L>p16vBi$c6y}^dR1Nf`EO&doVCH{x}G-ePeN-7w_9)0A3qXprdMCv`jxq zcixz_Vi<$Q=nD`96j=&g`e_teDis`3fSn+6lfN5jK|0`A(YMk5Wcwc6V)>^l6WLs+gKtJ7$>CwSzYVFI@6Cp@*&<-zTA z=Vd!tVJ2qv2~o%JG-|A@hmTT}9{G3pCjD_JYOf6-SouWo>Ra zX)cO#Q~r4$1RC_g;tZxdfgtOfz?WE$V_mW-Or5aawaSe~B1h{_S!4@I?r5wiN@0ae z{Kgl+93>N)N^p7l`P5_300pdzV5 z$?UY6dThMVp9leG4ofKJ(p&ZySH5tWB2P`JYQ{V11@M zK`Lz9nwebWZVKD~!+iNiHF;if91l$bMY?nHn0Dmd@)p~ju3Fp9v97hav17$eR~Qu( z5cwgKKuALPk;EVgAt(VtC@m0v$*+nbC?Iw)l_-dns({;sI-yu>@tn04Yp2I~U;A*j zJ&C1q3UA6$d$xabPV)Wa-tYb1`@m8cHVU8Fn|#P{_HGj)8eI_4t@|VzgXDSI#?0Hc za8o-o)$VY)p83L^=^>|+qC^(vOpyvcizD$flJaHOX(XNKnK-f!CxvY6t+;7(6Tt6E4Otg#Me1kYn((fLn4Arqy zZgo=1SSjV~lrlETw+ZEZlm89h$HYE_&kB^nL0AJ6lIl^d8#`u{-pMJ|vx3Up*h!^& z7E~lZk;ybK@Ob;baDbB3mOUx%IlvB{b|>c|yV610V@D~msIGyXHYV1In-a_Jg$8!u zlvozxA?BMDR+XK$@yZiqGt5Y^*zYsMV@So>ky49hbzt zA}8okg$r+Ny6cSuc5jGXctgVG4LHSoK68R3=-F=&iT>M12$o}c=V)j5K%9zsy_KH_ zOS=A11B=lF`Vxl0R}d1PkQ`0PWA=;>pN53VvMQsF)~a@<2$Nbg)BYOu<|E?n4 zkXu+_pxb*twj3Gk?Dru!xBE}K3xr>ari(F+!o^zh}^Ig%ET^5jsKpGoWq`WYKw~9%%OI=b>ZE~+VaUkBg zIs7#heSh^X_LeC1aK>Nr#%R_@9zP3lP0BoEIs)Z2TB|)mgV{lv9S?Ep> zt%sB2r|`O_$dChJoH%dB_Z=}jMH5aIU3<9Je^&s{b60hHR=Ok1@0=v$A)az%cBASf zvmeWIP#QUcl3yZIGuG5x8=r~{Z{%)wyd5XFV*Q9wd$Jj+{f(1L@=S0+`@YvJdlYOV zz+%0qsit@iHEY63Q;+HtwfPeuVuSCS#1qIH#&^3Wz>sn;I!MEoJpulrPgCHYNILfW zXoMJuBusW1zLKK5zAB0|cY~C`UW~nCJ?k3nx#0#=zUPe@IDWWr_4Q{duL${X<#JL6 zYK$(#D3eYOS;8Khv)}vn32?^)MIgHy=d;j z)#iL@BSUW;%`f4#W4(6_t71~Er(4KMh!1?D+q3S}<#Wr94b0ZDMcPL-K9A;?tIN}J zPIOB&+w{i`HE6BUhbw#gbih#tM6}{>9=O}%v?a^w4Hse1rw@f3&|Y)W>t*1F62GoK zZ^Lg_MnkAV*EkQ_jsvBZo!f;aiqnH~5w-GMsi@~KmGMv@3%-2y>&>)f$L$V!P@F;SWd>2aqur_GlYiU^# z>uqqYMwLp<KsNjJ%LP4k|R$OEwbCJqu}z;BQ21XaU-I^YOi{`r-B82jl8|sBC_h1Z*n$5?BI8v29cJ)0)kk zUeZ)vo)ztpX?X$f+9)_=z@cV2XwUkbg#(R7n2GXkL4LZjZp8`Y-w$eY;20w zmx6EXL6%~}-KB}@y==kHFYUak!>p(Z%xG$r(PXM*xNlT&O;*%ZU@u7H%4u_ED<4r< zs1>>&@J4cX;)2-L77WKSyh&bDBYmp=@>LeI>`VVIzKZRCP)|zkcEOTwrU$Tmgjh>B8 z(b>T1KU@9Jei;OLcpRM^jP)q z()E6vOr~?YS9o^UcR4+;Zn%^pdT@g!iZO@pg8!B~Mv0|maL-n=P*<4L_l#_e0lxQN z%DU%L!^`P$nq?~(i_8})YOgcIMbNQ@9k{F}128axe)48F$juw8VCo|8lt|4)XOH+(v^L2;c? zoHCV6D%q%B*!)t=r$wwqbjlI-^jyhb|8mKyrc!L++NJ-T_6Mc^=~ zJLoFf8ns%hU*}#P!Sd~ez-h3c$co6D2X~5;1Jht_H&z^%dsbpk{49ozRq|VNtcBxlFy&?uPl&XQ^(bLMUmO zZSCDZGF=j!hX@u9c7)mBe>L1=j%B22@v-(?N}@|EPup&ZW?cFe@Fe_C;iK3#)jl@MeU6NQ!vGy5?cG8>m&*TLRp{h(pCc=gy-RdKbs zX1pf3rqD*jCUYxdYsp4+3rb}{g|s^Bx$F^L)7fabdbw)(IAS-C<*l7W|x(h zxU+Po1y=qRB~tu3=$-Wd(f|(T)9O5)40l#Rpur6MDvu%zbl1JBhK_AW^&Yh)=;+Er z@V2dkAG9=S2YhsZS8y>EIV$E4vkdCFi1kHTAZ&Nu12NS=qaZ=F0V81A5?3G60Cxj) zu*WlpFrqp9Ya(tW$hgc$M?SwlTB^BZ*$+Vyp}>235pSOC-Quf><(G3_W^7nxbU7ZY zAZM}(7xQ>5-x&(fbLhHH!Ac}JZ0N_LjB{l0+;uGU=&o)EKMqs?ofv0Tj$600onwE^ z_;)vbB7Z`fEB=8TdT+m^{s96@g4u@8Bw{&~B^K66> zV#^wyTbI9_xi}hWfWUIN9^NesHw6)Iyc;7-cgIoT2ytY3dwR!$f3zppFnH~QgdXv^9lyPGaA-tg_@Gbe3J6!vtB zO&dE6_B6pnPi_@ViVI;pLUiBCfd;|K4$6|lcRP+knxP6DOUf!%&IX3>CIGZ=lHcVm z9VsFLG!@=~s*IG92#-25*(uFHRU?Wl)w`hJUZG<^C}VVntqL~>I13ft<{bLw|H2Oh z!y*{Ac-CT8apjJYp^~)@Dq8?`yZrolupKBnbEXhe!y-9mGszUj5{JP(<|7Y1X%S5W zvOAp7Vioz{*kO_ad7vW*{lFte{n5il^1;K1&ZJx*^4un;{W58zO6O1oGrzfFex?DX z-yAXZCdr%Ou=Ah%EvON(F^uWggZ)lu**f9O%pmD$hB7*2pAyUzO=Bd;lf)XpnS)o8 zD?i3QDUTiVAuSNv1b|MR)k7Bdb9M#dAvl?ISxid`T6#d6Yt8r0u>AoZ9Neg2X{8POft>ch0^9d3B{{c8g58~&*j@bvj6GPOIep#R#8=T?e+M1`T6m@`S|XALy|a{7{BNj#g?j8JFsrGJii|X zbP%Ws5-_4bau0khn?!yW{j^^uiCy|j&w)+naS3&5^@Mz z1v2KK4u0_oXs5R{?zRo*`PL+YRc@2} za1#RDr69A0y`bNcKE#&C7(+kr%P2L_9l=ivMsETCFUaa><*8g|y1h87KDXV_L% z?#~pBrq`Y|`ak~W7*zum#$d^-B76wth1Mu-TY65x+FT0{K|;Yn{Y&vKd|sP#*uKs? zrsj5%)#}Tt?e=ml+Zps;PvQR7|J-4mtPNF1l13)ZMvZPtxEPK5jC|A}25KMe2i(H< z1IY~L%flF(0+r@JQ8A5Ys6(SmWo~&$H>c3Qer=-qn%c*VVww*{v4`-IO0sprXCp)0 z!TId5vO=Cx9-9=VSO1C#@#Bj~e&&)AvE}?@GT5l<+7j5TTiQvSSi2iC?tCj^>NUXu2 zNqNzc2BCQie<%GYkF-u6vL+QC0+s`O^8~m_RgTJ3WDspOB4uO+&m=a4Dc#c*JnzEr zuMTAhe%Ao{vro5WERfzk&d99qL?!cCd%)S$@b1=7LqxP+|20bfM{WJS*5>fyovD?! z9w*#5pR(-lpTrU-i{0{ zCFPi)b9H(ny>&XnszDv8H=b=!Y5RLoZW|VFB`x5NTR-$Q>Tkw_ivdcxHB9;MWukDbe_0 zIu(#lnFDGMLQ3D0O&Xx!)oA%l7lz!7t+bYymjKe#97X|?{>=zWkFG5o9pPq)l1=&R z`-782@jS&TRzOFF4E!Z^g7oMvq}D`DO2fLX2D-_tv;?cH>660QDaQ_VgD5A|LQCv$ z6zpGrnbY^k-31+^fMnlh@&`mCs}j}r$vIhM1>BlOZjO904KN?9cn6cbqsPsQ^ufDA zLw{DLO%669P1$_y8$fuKUyb5cde(Y|jt+tGZiwlPHyfA&N^(x)$pQCVY%K(rQPv_E z!Wj@}9l?`eE<%_(Bd4vOE&TLZp5ThuWUL7Z?F&LH*|{>xcPn~3%Yk-es4LW2FO^Rp8dwx zBcZ#0v^xfN1U}9I(tv$TBtcXam0b3oKM}tMhNU{OQe3D$E<--a`3K`gN5fy^W`YJ5 zgz%a2E-9-bDLpP8&fP9&@20A&=zn%vN%Wk?sqo%&5rRc6t@2VNaS`6G@y!J=jn7+77kuj+{W_?=Z$h3 zn7^1%tBamFg{uT5PXGY0@WFU`zVUK=VDX$kov$eJqoe}5g@`c{5X+=CdKFFk^Zyuy zq}O9kSGlxbQdXUVncphLpzh<)_g0|lkuB?{uloe$8chVdm@SFvT;wa#EvNBEhcr#g z%sn>LVR6Qz8K+{lPr&;|hh$)*X_tKm4D@5`1X>s^@kLNI z*%Zb9DNapE>lcPG&&9}Lv-;Di8t+L4g{7S&|MJt9oZOaMp3D~BYe)pvjchR#IpxRc z%Z?>$9WTF20d)j>8H9K2EQUMtp&C_l2s;EkdBjmaS_mTSBdmqx3VCAWe_Djwb^q0) zLrFWF)D>4E4rTm;11>B-77C_&0b^4bb)lFe)#BZ4+wxo9wBHd$9<{B%1yOcC7}hGV z*-d=ow=$CIDD|IKWl7T1;9DHo6oXZ7w8L>a?{y}uq}tR9j36JBw?WM{CziDbJhclK zePX=twNiDLLv}@V!S2koauIiO0q#)TR-q3tgDybb6IMasFSL>CszY8176w82?Z)*? z3yc?(JJDkgab!P+7lIce5h>6s=r6n5iYB$Blw9h{`5dYKVkt`4-l+aA{5kiy`FQVs z>Av}r-DOcc)kFEUltTNSIL4yyB4({mU&StDl=s8riaK=nB0F9e?CYO`;mOj3M6ETF z#w;P46lHcMC}xMsw#k`=Q;rJz+7zUhDh?YW@XUYfvi>VBA#?F^W4c65E%*yu#tB&0 z<4^7k!mYuKTMTGg)45jR&|OY-G5cPT9mLx!)&c`c95y2xQbO}*^$`u?uWEpAW8*G? z2BKi5o3}rRi)!mfpQ0@`17oTQw<3Z&%K`)dF3CR@2rTV zVI=46M>zm!?xn_C7D$h5=4ztlQ>4x5?i^Yh_90A|9h^M{B(wYh zJGgw*kx|4}kIAe#Q^WskV<0&S-@;ac#t$5t9sB|BnfgCFev0(J&}kBU@?ffVmoxG< zH*)ox0x3x9_CT=neh@0o@iCDYXK3Ms=BU$2l8p@?D#9ja z;(MbXfGlhc<@m>-nxTdr!rZ0;`pRP6&9O=j}fU z--u)KJhqPBfcuqPh7U75;?UB=W)KB%8t?n}2p^f77KrVA@gb!rbr7mM+6sk2Dk}V^ zM^Q-y7U2+H{#%sJr&IjG{qHifzyler9DOq@t~AZ*lo4wcv6bqWRZ{}}A&Zi{VLlIIKgwFQ znIG24UJ1UTD=>y-yrLnbHfBoeY?<_0mH=(mLSODpLtdc{=2NRIc(vSL25QiMkVoJ# z384w{|3C>O%d-AfTc}(Y8$;w*SfRGB4VmG32@Yk&-pnn+kX{M%KS()Lh$?4n?891Y zs*7?%%zqxgGh|_>!N`=h)xFaM4D1m=9rov;+dL}k-nDWw0MolHvn{j$XIQmKw zHy5j*pQkixK*ea0mVz$5Uy9U<*p8}~VN9R+%92YoM00j@ROM+#_R5WyOG0WZ1+JQ> zqLn@U_1J|y)$OC>3KY^UtTQnsO$d+0DfH@#wyP$xn(6rAXkWt5;jAuSgDGmWhC%Hj1SLP`(Atzl!y)4! z#w!2OtUronmRMZfl@ZL=|HQ={Nk7C4HoO=bW9C9`Px2wP)bh!`{mtJ5Vu4++Qq_6a z_WsJ3vuL})6Oe4*_~)!Ht0_wbM`A`|TH??SXflpU2nmBEy(H1eTKQVt-=i?=VrHHS zgb&s%l1M}Njok1A(t*dQ0QIBY!BV zf#sktOFQy@Qw`ct5g#VNE6C{5ak#)_XR=Fb0$I~R5dTD(fbI$UVmQ(rl9B$PnCVDcFu&-$J60fXd>;;H%u~(sAB8@u{R%@s9M=5ui3Fe; z8Im63$AsBmAwb6c3cFaolswj&RZEfk!*pg zKRQBI19X{Tb)t(OLYO)f-*y|YI_skAc!#Tf$a)92B{oQc*dp-h*EoBUp4u|yRTfLR z=5Ta88O3sy$yJ=9TklNf-lW7GvD^_BywYV?d~G~ka|D%Jm55wT-+ov%cZ!J zhA0_fi-#EX8A&A+RY&_-FOa6;%xJ0HV=i6Zt|k9E zuPInpke@~%dvIHGXm6Etk;?nQ8{(Eg*l zzL3C>U;U>4Mj6(tAVI~0S=seX9qb|$36nMDswnh2m>b0W&(Z$MlT~!koa}O6LTbb?0U3h{p#2uH^-)L{{cJghQFV%MuNsqRJao)YQ=xJw7 zKz8TvUM6x;JD24A`zF8w;XDewgw!h_e66(YFQyG1STZe&?65~{Ob(oNxM9=WvXa#B z+90tlc1!^#WeRf|C6l&BF2wR@nXm#gxL2=}8E-d3pMk)VJI${cr;ao^P#+O{!Ruq! zG$p^4tpMh1o52=-@N)7trZ`Q|RlnykJipo`u3hmGPistnxAasS6TeC2@eqi?Yr;0U zptUc?YWfDx$n&1}(rAKG@*?AT$x7rKv&n?%)ce-bDO)Q&4k6DdF;7U=J5O0vH-DdV zP4Suh0`YZniqWn*0Lc2SnaRRdXj}Ii!m9T-(EL1$mo5-*B4h)9=L3jr+P009W#j|?9jhNp!5*Jrs434#*sg}@} zJvC z#Wfz{e1NFf_g4Um3NBlmz=b}GV20^18c2RKXiyl(tg?Hh{$aR5+rL`pWHttOCC9^- z)gmv#32uJ~$}FW+ipUd^nhN=){KJnnOe=PrcEe0n($Md$mxtE;`E2GLYkTu38(BtZMFl*3R zD7KtE7HL>-NK>h`1)`-ox=&M}%~9D|4)NuJhX_{m?h_9eUSisf^=KAuR_j})Z50$v zgOHfe3cS*k9sbU^trT%%l%Pf?-m{c9q>Vb%8MnG;hvY~e@dC304cLC{zxUbh(}lg*_!6qCTFg|BI&X{z z3P>`%;6l6rY|f8Ql5M%)F;jxrDrYnRGRcnzVoQo2IwNlM*}c%?Huq{ID4;9-*-=SX zgjp+y0z=6%(`+2xj8?{OQ+c?GWC+J{89x`yND#D@*K{aS7oUQjb0joiRZQ?;ALwCgQU?}|o4-wk`4Rqt;QO<+|5)M59 zR;!BM3PyczN2Fo-W=LEGN>5!w$3)Rf&lKIm0rsN*ht?8y=E4oK^a`!uBM|hOf3;iB z47GtIOe;7*?iZw^@ke~UM;Y^iDAZ{WTuuG3F94<~3;I{<&EHcBxF#)9Enw&%}yc zK1)OKjSLA^>JU)9dU?e@Aq}P}R@oM@njcT{q8O&aNI0xV!`!6&tPAV~%gl32~}I% z7147a>^33DtU9n4*?cIdb;fAvUlK|7W|^+(Xz#WaW?$kH$5ykgjB6bA5EfV=P6C9GVH-Hiza~?ujutU4|=vQ}-tQocQ(Cy)+IF zVeG|-VhJ|^H9B-hK=@!x_#w#@)-z~k&Q4Eq^6_c#m=U8OjroC;7PmK|bc8R929N#Y z+MF6(wM*DihDCakggN^IEs(cvpxo6t;ai#{{?`7YPuq%YTR6J@s{J@<<2sYTz^r@| zq85YZaXaz8NOPWA?ebNL@o_Oru~OG{SEN7Nyd+DXB`&iqemo3yPrYT6;nu~&JTMn4 zsRxYRiQzR+jkv0jS)g^RdLjz{A1zCGx9Y;#&sAk zto6<9wZZwn68ik6-lhI@IN=}I_1q8y>sMOZP|I5f=Z^Gt1YIkRCGFnq_)q~E$G1h; zH7A3e_~B!sy@NrRB3=?+WL|#xYIBB{Rhz;qm=i2q=O|{Uc=`+~prE2)9CMrOMuT#j zYV;OPXD>wa4oSH25NM?Q26*c?^&Wu!Rfhbv>owO>p~xQa@<$EkndPLJg?OiXrE))P zMF=Qu?A_T7nws8M&_(;HpFWzFs*c2Pw>y4194Ae7Y*7O80v&$OUmKPYbuio z4%*t{dc(%|eC8CbN4X+U`Vzo*+oN{=+viU)>V)pd(}1qsr8+Ve&>cg&a}oYojyOiD zbgTY`lg9mV#nt-EcT7#hfZ_9$<|fhYTgc-B&H+YbT zUTu=EPzCtHmt>$p4SXErDu2z)S1HA^H7aOI4d-Qm^%BRHs%%{oyg#UMp+G0g0c0L@ z3^!%SMV=6967E#h6_O**j55eoQ=O82r_a2A1fiAOibhRgb%Tz8qmLIS|C)G`h02zL z*7A7-_T;uIFx`B(&sv;-Kv5Bpl($3}D2F5rBNq(UX{u2k%&YbV`Osd#%d%>Q)+)rI z7IMd?8tmUfg9q!A@7$fG5P_3wL4`nYxV>c8zK6K@wLMn=rHZ2il`QwDu}%A9;mGVd z?Zr-JgOzO74<`gsGUxJJGEgN|RhQ6FZAk8r3f4bMB!g*ppnILii{9HlAMmdKfRy*) z9}f6HXvNL72d(&>|Jdmq^Gk2LW0R8h+lZ^~j9hpgdb+?>8vo{t^PjcgAowp+2CP!* z0V`c&A&OyM0}H?+9zgG&Ror5$)`73FUPT4MUM-vLY;H64We9e#@L8C!L- zMsD9?Vx~t95raG{C%iY1A_&h*#X!edu5NZ^W>f!6ior;sGrv7Xy)mnjaAj|w!tujq zZh{P}g5~csF>=skV4j}z8oU^7D_bQ{*~=qbL1<`K9gp@tb=vw5TQf{ba-pl$-4FM1YT+H#0wut*tq$3m5R< z4)5+sXctm*dk3|{A%xxjS*tS0@FAoz0a8yBN4qh{(Eiy{-59QTY2ot9x`_Upc;MhT zT3EclNM-cJ4O5iz{&Dez0;A;P{-)4De#A3=1&WSpWwNTW^*_JS{*ibD?bAqNP{m65 z-JJz>VyYxuIMbucy-4_ool+F)G(&+rzlXm`5Cw(UIUC?R&txv>%pC*$qq>6{sDAOj zazs^~vAe<9E=>;rtpzbKz0HNvS*3NgA11b=V#^*xoRlZeznEisTNAr%ieP~oEEB^jF|WYT*7Vfho}ps|-!;M!UK9xJ@|qg4VS|4S(lW$QAAgOn}K-~J$K){PAI z7WPk)%L_u7TqU2KKeZkGmDso&Rsjx3$QgX5_i63q-wTQ1eq<6@>Fx~Oew39h)Px*o!COhcTPC#(go67i~IW@L3G?KGbvs*jZ2 z{(F?2=_W)bBd-EoAw*(gi!KKNLvKEqu; zK}9|9c+=Vl@KGjPnSkbA6oR=NpkG0Cp?m}Djgb%&@^GKHt;zW^CmT4vXCT zae*Ky)^NA#y`n-nHHGoI676-n1_E|UqKT$@85=*hK1T7_f^<+!LYJ=XnBKdzYv)CUq~wfX>LXXFQB z%cRQCe!I>6-8P&2S5h){zl*ztQ(LFNASXydzCr=f!QDN%-pA}68zg-MFZ$SdKJ6dJ zJI)Hn*a_9mRW&UkoV4_1rBRZss(hwJDzhTt<~e`-^t9C%BXibS?lzRKxoqUXyM zthksnP;FBx)sZo$=P&+jd2j65t7Z_S4oDr>Pq)dTtR}3p;pwIzf}Bcz zX744*8kfouen4t*T*?tk+OZ{4IX?o8pIjnUfyaMP5u6`tD-T$>i^-oDvkk0i7zQ>= z=YSLEI)PF*E?rVDx7f7xlBi$~lR-jG{u}%CK?8Zfy+A2ob1Jz@n+@EmT%vN(f&v#@ zM0?qZ0;;KU;A}yjHg=~AJ{9KPD%Q8Xiv8Hj+8-(f6tpS0RzC~0Ys4zV-Y<%?R>x^i zP4~{r_;&=aN$JT6{0R|K5@`%ENhb+%>jOP=mypr4#5A07-~*ZRNXEe1Sf_y&fB@ly zY*;-46QixL;cMzIiJYg1Z~{yzjhQoshjgHh=IB2yzi(SGfOH6~0h9BuNBy2gsBoBH zh<^R&it({P(rVq7FgEVAP?B5rz_iQgN=8gxD}khUUVdGfRn|PtGl~#R=a(FS>vygmOux+I8F);=8RqV`r z4_=w!6A00s_lYlb~PqX6D_*x4(b+-=BE(lP0BEZqY`{Gd4E1a0b&MtF+X^L zFn?sE>r^{QJ{!OQWcck3=jG}Mr)G=ciYpG=vr!$;r(F*ZkCUkv!=1?~uh|Em zn~yT~kw3Ye2Rd6!hWg1DKjlEKTE44Hw1r)u9Tv?jd1W@$2x&e3vQ)htfITagiBRsI zL0YFr=-6<11GjM8MGMtX4k6s;L%PA=b%0;zqe&5^f%KkLYNqq)>c`@VJ$^m%%EmN? zFdgCQKPC0FSx&C^_OA-ntahEIhLDL4iq#gU5le*_1Ov+7XR)~b6^T#K?jpx)-C-K{ zsc#SPJ|B9M&0M?#0Z;{WU22p375OS%&YI{Mjl>E&OAaMaD&C_By4U`u&Aq$3#>nEA zF^aw5m%K}XiLMOnPjS{q_Tc`s678RIZMmt9?2M0v`1*P|O(H{Llynj^3#oWnUJH3G z!FWo;RBK@=Nox7zXL~!&1^ZCd#i^1S=^Omit$FwN?gVdF+|Eq>=@a^0ArOOwDR=)}7Oj(ZnI2W)yQC((r%W-M&^i9EOOOi@hjQ@PM}-o@8QMuRjB z*zY4CN^Jt=F~y09_YR8e%?P&r)C+^{5RWGHwrZG`gOQHYEvOp_x%u^W9)lGFNi7b} zINsey5`sHNaL!r#_O>UPIEG2Q&^ZL8y=MbN7_}QCp&j;Y7NuGU2mGEmW*4fBh}d^d zsR6Zf^oxK29fgT^tG);QO$B7{6R`a? zwGrc%e(Eq?`{T*HmwzUDxgV``O+|He%}RG;xI4enN72enGT8|Q2-oo_Z7VCNE&pXD z$<9arSnc<>RDRY6Cs6<~;ZiMSntSR;Fki$`a$fPpi1$+((o5?XcVyz4TiE`Ks)3Xe zpIsdI0tYoMQdAG0>_kVzb>>}>NZR6|-h!}{U^cvE~4R*wrP1v){qWX8*{k~fC zU!QRu>&4UwP5kSiZj1&QQReXpU=O?C`_Vj_+SUXgqC-<0668j2(Z`eaVvg%wQ!ozNnKR;G>4)xGX>01!5cluWKOy5F4rqR;EJs zww7W##>OHqqXMvD`CC}6p%{mU=t)YjMdW#q{bs;JzPaGc-8coci#R!TOz#fPWe!Cm zNyUY`aFP}U%i&_kl**g(Fj4abMHULDh8+WAfBcwIIBFd{6pU(Ss)-5ex3?$;COTQO z8pc#jnh16gsknt+kvC#1v=CN28!M|SYAVCA7J9|#9f8cr25XirXrqN(yT262+&&Yo ze}iC@uwzW#Jj~|}-oJ>}tEq<&>y7|cr1MB@&@TzEmC|W3+E=#7$v_z?SuBIbgt|^+ zuLwnYhv0>&6H7eIG1?2`2SZD(96n3KSO2sb;_P{e78j;BTv4uH(hAi>r4ah)>8+Q4 zNof(0oU3SckO6bt_Ihq?Q|)d~*m*WZZ3Nq91>(T1sT@fczRXJ;MIoOx%e+wWRACu# zgnIyGG04mI8ia+=+@ekekh>AR?ueeM#b9Qfq@kXfg?y6QC-%WA=6{iiRh2a+FfPAF zpEmKag?WQPuOp^dDPRycTsmR86T0v)7I@#1WvI@3j9|J-^cUW=3%-*8CeiTsT zhxcea)y>zJYI~sg7C>Dt&G?POp9?9}40Shh9o>iYK z%1GlNC<06(pqlT}i>b5R@776!ntCzm&5n``3*>-h7Ec++@cGThaxF6Rg59Sv#Ntp()I9{r;E4 z$T9q0mZkS3s8EIJ3g}A7*TggxE5h`2`)-H|dAF#6G9}`8j&C1v#?r5W*mj7AS6G(?2=X?617;+%^^A&xYEV6u zB?~sq<~mv3I3Toj+)}tEk9LTc)dX1=IpGBW{7SxQ2u_j^`t2Z!OQRE5_*?t!~f{a#o zUpXNw`Q|8qMxx-2(L4W8b>jK?#br1EatNmDC-+z|CDh z@6SPh$xRJ4Vu3=Xskf#~vS8kqC)g!bGD#}*8oj0EP#r+>y4~Pc%eqT~bwSeD+7OT= zV*S`ywCEB`J?YvQ5F}Wtxu*Nsl}G`@qA6ou*~B0btYNc8ILYTc=e@2g{^Q-~7tZu* z$b|;0O!)^(`g0_Xa#QIJakpd?cG1(T)!uT`F&IozQC@W@6hPnxg zK|gFrgd@=O_{}{4=D@5#jF5EjGdp$%c5F^^fG99dP-ql7EkiAqaf7JQ6WfdW<7c<( zPIW33l1`Ro7T<1F?XTsRubYovumZxSHK2X_nHxd_vNqTOOH&I?wOawCGR)(bKpYQV z3?xZ4Z!IEKUSxM9Fx;4o1k@L~M~nMr?-d|bIIWxaksq#m_;f83AltjpTZiLmTPZLg zQ>Foe>^T&fMA3rSE0$o!jHZ;l^2dQ#Rkz_|rKDp<4o`Y*nF?AR#L_rX+ZC}|zq3d# zw%|ba4r^hEO5!mi_)N-Z??>52SXx0U$9Y0k6JRnGlA{m^L{C0rl%I}b?!9FG288>d zGNcM6&VPA`$d^;6y1hZM5{KFi_HrOM9k~0Y7j0q_%_StGBxiBa^erD*Zwji+I=S2{cA8BClC{g!57#>R|+50m4^#1 z3B+Et-x$=}M#3^Oc;Bi(rOA`WnmFc3GDgNgUxQo>j{T0|I?Mr%R>tYhYXtXlj*D#* zZn+l>cmdfnx(|EAqXO>yL6qT<-zsq3q&uJXjo2zXDp(4N$_morV#e)#W>G1;xn^86 z<&L8IIYK*yA5<#UpFV!?P#KTs{+5@IS12drGGt5v4^FY!pMp0>^H~lrZsUW_Fb#2sHxyx@Uj=Ce#3%)M#&=@&SEK51L{s1+4uPd<7D}(e&EpEsqO`V2 zKI%V*G^G0N4P(+N0?0KGfsI1S@s`wfDL0EkU8W54x2}kKIgdXcVx+b2ck$o-8nWU^ z+o(OT*wpi&&4@4|$bgbeIHd?KBZmijHgj0`GQ9Oro<@0H64;66_mSsS&*H!ad`?1> z;WQ4I$mR1Fi+t;sAb>EQIVTevox<7%R?i71#Vw2j2IF$WQ-plDxq-48* zI94k1u#T|0lA?ZW4?my^h?x(e2B#>({_!p)d!J(gLdmwOo?H(6vv)QMyIs zk6?3xXvMT=QN{_Hk|R8!kui_U-%a>^$#*p6f(#P&^AeiQ@ZUJP|02=!f?-~%Q5`=6E+Rb!;$>8p~2WG{B*bQII`o0JLUzug))V&U{s0 zGf0^0guT$5mu~uUB~?$4q!>YiQ^6$Twgm_n)(G!UnDeM1^l7^Q4p#uq?c%%5Bg(Q# zVAeZT8ckBQ?F!5_J3sZB_})T43h4pBZ)nh1?#vCuLIoh-2+PGu(d&_m1dIg~Btd!@ z^AUXpI;27%1S+KGK8p6odTw6xQmvC}bxUM%!z0i4dai9E%gQ~^0PQf{3N@!Rp+vq3 zH*zNiKx2I*9wLqO^hd&IQ1Ex#c7*R$ZiB(xFXeRprS3}5UVH_*)@S&1xp~@O(3TLh z_AIFem{beYQVS{ey!<(^Ypjr)OhHRJsXV*)nPNO?!e_a^8LM8_3$zO1#qY&=o>%aH zGp~>a5*yD=Cmx*-iHDB*lt(~sXJ+t;B;+6?ag74}Y!XV~T`idSDbi!}1RpUF@MHbP zrIOmji5CbJ{yk+%w56ho1Sv??f^kRixkE9`5~UDt96L=(KRr(60#@?07##nUHRTkux_R|g0nSDzFXIdAXZ4T6VGUB zphm?u;h9zF1h9fZ72;Kgyr21rqP!>2m}HaRq4^i%+}i5wT5I`o4-I*1;`4i}XOYMA zM#jPEkkPNIS-{v_KfT>PTi^JKs`I47zwEc=TSNE;ZT`-kO7&Dqe8CvqAL^>*(hPmz zj!$1b-j?rLX&Kv45QZXe+?l*ns6ulZ^%tVu5eP#NI?Mc$YngP0b!C4h(kIBnerBF(scr`H*dm0l`KJoAbc zAlxZ`+&Oip*O>u+yM3{25R_SPjhLLI>~^+^s4E+jBYmK%Th#g>;57Nnaq6j^1w=Cv zF04O0wcZ0^MS0RqVKhEAWvno-vv5i)Gi%hdpe>mlJ3s7j!W^y&0e_AXm?(0Q|Ij zaCqJ@N5??`NPHd93b06yKUH4;IE9R^IU4kJ?EYe_d|`US#ws+s(R*FV~zE!`K$QpBG*P^DRCv!WrJWW zIxMcJ(W|=V7ox+nd#cXg1{T$#BjZg~ynR)y`oY9JO!wMnBOL7-FOnAX{Tf6+MlcA~ z-b2ou_RQJw4V`~B2Fq(m;oo)K+R0UtWd3j_+d!_XGOVY4KL&_HRURK%ycB{oIafmq zdhHiShy_(;3Ujk3o*I+ozGLRSTbT5=C$x5OH%Zi4m+<1*6S@LI<1;sGNo-cA=EG~Bh%l_EoRh*Zv`<_Y z3(8qe4}_v&{|@kHdst8fT}VN}IjuH6XUG`gvc919a93mmsp-~ehv7z=dnPBW!bpzc zrP^Se5PvzwZ>u*(08kBDu?KSiU+g}$18LWU0Jna!X6+Q$K!M9|mqEc_F9HQ@g<0C%1kcW3Q%`t4#uqo;I27kvkfE;8 zYRB4~)P}SXl-5cXr7U`>>KwSgs0+Y?0k01;|f(cg#*(o!|1&)a6y!H#58)y`he-yTa z1xvudUC>{G%_jpe1s=+vC_T*oO3xylMbN1T;Fr$TUCC|6y%_|ywPP2vO)Ara(HOVp zc~$%D3ARm2FDI%6`z!fFCA4mYgJ9MFO$6&z#r;>oj3*2I9kdonHF3#Wcz=K{HBp9A zNaB>>EzDCHW~%@*@z35yb>NVZZ05-*I^oi`QO^SoC)hBX315r39-^MGAMVa4yH~)O zRk>A>9lQ%hN__))vV$3CqQ-OhO002R0>79lb{d+;L;YvPb8_iLQsV^@Vv)ZGXunP; zdaV%aSJ6JpGN?7miK+x!5Z;=Csue7Bi{3~KgOA>dLm$;^*sD0&Y81fp66s@#)7_yC zp$5MouIHco^|H6_6L+i=hTXU}Lu#9Stsicsa!PB&N z-lvkfD0tUnSA+N{O700LQZARH=d&_bof{rT5E1_lXrmgj#j{5Xt_&I?ZpP=Ng9~K6 zr@Ig{?TE18Cu(E+yN=DxLm>LzmNX%E)-({L=ugm-@)$@y3h_d~X-XGeHl>!*?vt|i z*;OCnjDNts{2xbif!k4g(7{^G$=k!$8A@91w%0Cw*RW(zk8=QWq1 zGB8Q*1J75Hxl%qhulKmo3qm6R;x?Mdg5_5N(u)sr99FGLFyRr0 z0u~WHZA1I^X7Hg#c4YbBl!)&bNqm!cd|*GD?PA@rGUbR?@zoU1z1ynl@~fsg?eEGb zv6e#HXu&0~J)5oXZfe1;|+YuokITrAFnn)eXR^y9Po$)xA5n@O}$-lP;D0gZ-l+ zi-TeJ=7&O~df)99;HI?vF|Es_3Z{DQ%v!kNYUiE`@va$K_0BM<`MiW|Yi{L{tp)AKzGXLI*^C`s z=WwQQg)nJ2L|T?8E{6aR^s1HmmGS0)b$~;>E#KG0ali;L4fHE0&-`PbxxQg|f9q^c z#}gkaEF8ejS8SB8f`%kM9DSgRfp4srWU}(KyB;j@8UT#)0`9^S{uXTzBNm4uuLU*#ccc0ZM zzg2q+6TO2#5E)ztbM}m1&O8r3d?bF>KhpEr@_7*j`Whd{rJTD}_Elb}Dni+`Jg_DN zm@0(`OPi;IwF+sSu;1Wu{x0eo#_znhVBb*Mau&&C9GxAi(Tl=qg1boOwnRys)*{6s zZ3#AH#SMPc8Wn%r(lD$7e%%@fFx3qsl{WQN2CL3^Hj)bX2n|uqxw5_L;Pp-M@yCzp zLJ?dG3>VfB=|E}3U*viU`LwW_;cZ~7YL&W~RT(>uzmUliuyNlyoH=m4)VZ9D9u07g zyqb(ddoklA7ad%%==De;6g#pLYkw?r(hup)u(8t|1kBCwv5N`8;w9FN*9!ur_W-cn z&$psb;CFTK294SIgSL?8B4+h%vw4yT;MhUN$OQ$Bc`>riFtO6<>}wsmO-1C{Cz>=} z#hi~WpV4Tw>Q}qARaB}FtVqe>%8alE4SdLiM)1T+iygj;tx`IR=XBNI&0Iz9%Tw+9 z4ZRt&Po_83I1PH16+yA$taKGfJLRoyT=>LhJoZuH=vBTB6{H!h8o$G56FL5QcWHj< za|pEZM!rC~yExTq&^dlN*%VbiMdNxIk1q;5e62G1Wo~9^o=inEQaPD)Z^_A_`2JG4 zY2J8B#ii=s%drd2 zOvSIo)GDyt0ubUs$`*T&I|izR#sPp6n5Y?BFX%GpW7p9N3 zMT!Ryv7_Z#~V)8ZaQS-UI;SzKk zh40!YFzh|KN?&uGsl8UPyo|QJmVfHrWya?I0!f{Vv~ePvpwUwMS3Yj5dUt~PZxcsa zs|=mntTUICfr-rZXBLHp(eC}e{XnQ=`vX+*VdvteF{o;Ct;EiUmHYb5qWe*=rI$P= zi}BYDjL!J(8`@n7CHfM8-3uc6dqCglRicgv&gh>4_G`4K(J%c^+OSfN=e--G$2w0! z=KBb?W>-1A6@J@%0sKG#mr;1en?)j2FX~o5H64(Pe8y|NbRUHhoE9%0PI0QIoo5cB{(D;OPVWNanEyCZ0fiOa#>m(8*;bXz;kQ>ZEh$u^s7#MTKaO8=x(dIn| z-6rT4_9oIMx}UDjpN<#al3$Ly5Fs0c0rTWa&r%dqQ__-4!uB(@Mramyq;CsBN*zHz z`%LyKe-ulYM*8s+BNtoWjsLFYqGRGI;BVz#ko>dvXWMMNpk$YubF$!uyKSPNebz;4 z>VVnk_Waeq;ndUU@_s(E1Bb(n0>n)7G)Z#PYBfi*qK2QwaHG!d_!Z(Sfgb|N0C<_~ zbAs6(z_q5mOuL$g_^@(`%;6|t2*@gG$86&w%mU4lS3cQH#N5yM46UOMTj^8MY&FAX za*vr!)JgGp;)QsE(L~-nn<~6qyr13LKJ$8w0zf2r3T4JZY5K|fLEAtp0UOer@t9I< z5(^QNXeL+XgdkdsGr1GTSr3$60m^LQd55CO} zM$$8di;EQGt6r&@m1^a2=W-XE%Jb@k)7`1LPtVUatTl`_Y~BW?C8+zVN2{0pMybbe z@VTMBF~7l^yr72C7}C%~<)R^_Iim@o)}?XL-Z0!ZxC>bD`blAdcQUtlVO3`(^Sh$~ zrjbW~)qqPM&G=z#W7vBQ7h4kB9Xo|Hn!VE5+^)%m)`7v1<0SobrMu5bq&;JTX7;RQ zmC2>mBPt|WEP6Q6r0_5y2}j3WCrzhdLuNy)Q>9!hD^X{Oa@~4xk%hSQjhW2jz zL3vJ*ZpEfucgefKNB46#Y$$jOY723VzSX^kQ!L|=;qYnx7x$r^-unEL*EmU0*6P61rE9;{7W~OpRQc@#R075_dDT?6h)(Af6_L_1V z;@O}_nB;N08jNKeBzH%1~ME;wt0TFWs@$w?_m<5DqrJR0StFS}1bG$D;~{vaS6_6Frv*oy_j zGF#+WEgxCodBN5&$U|9jj^06vlR2thI?5zmiq35v*}v6-6@@rL?!8n9`5L-!e;N$t zNJ7aT;LL#{P|#Wjls0{W_6)b>xIA1z?aK5Bx-%b*QRd{D(pBdj#eoT_iefm5mmiw5?gL9k>OAt;E=t3zHP;j{?(RSQ$CqV6}Y`)pv(#7M~&=^uBGZzS?p}LV4EyT zTuWvyD>-9qRgNB4gSffTRoSe)xS-40zB-q4 zX>TadZJgUCFb2js`@~YeR2z+NNMQ7Oq0aqeO7&i;35yTER0cUj`e?0>hJ)cc)UoM= zbah6%65c^IA}|)>99?T`eSe&*Jjb=#Zay;9N8SZy*N};jbDjY4H-0U2*h}1`6IgKy zI2bhoF@BO?0~#?Oz|d>5-7_Yr4?p1ZbA)#dKrQq@oF3A%zXY+jpc-8~ei^g`QXDb% z6^51;0x&YfVPNnJ@H)Dw0|fK3Ws~Smgu1N2GqMC7t4092qq^f=cXx?j=x<`98Dg-r~HZ z=zVmS3!qqVeYR8s?BCy;i)G5;*xtgH5xyN4b!-8v9}x)EJyAqU)IG~T*_00V+3fj~Ms zQVI}^z+)uykFXQH`|k%ok#1gvi#{R!B9_ZnREBI>A2#V0@RP`di2#&<`6+62sRaUa zES#L)LbN~8!#oPhf-sL&>I>v5HTRGLYILC*iJztS5&5V@$}hs}Cht(|!o5yVr>FR= z0@|2o9tD&a9|V{LKqik?UIx+AYI9Vq;$#(*>F%J~Nx_Xz*{c#a&#!vA~}_@el92Yo2;8eT#UZZsp?oNGB?kcz8Lbi zMH32GI*(Qvg0l94B+n;WDGM;_qAK=tunghs!Tk>5pAiS65iTM8mCGLLdT$EssQVI? z;pP=zXB4snF2AA)B&Zy7-xGBYS(8*CcBFgDf7W=ed0i```>`NFK!sC4HjKQplC_4S z@)#TBjp|XFraHwNN0Sud`LC2ny zyp)TPb67_hI5^8oDDa3YzA?Eu2@SqYNv)^2&2EV5`x?qBqN%$!lPd)Ci#BpC4^?^7 zd^vfAaCCY-%>6v_R8j51{JVTVEf73mkv;FRey~#bTG2N-L2>>buq_My(eFKvk&oXH zZu{rOtfVcZO%I6c%Xpx+6*D|_KbCoZr76_~wxj?{pLi2i^zJ-N|{rdUI$ln=IK%Ovbq&7Htok!(f8*oR)|5 zP9!6nMG%q^@V;hWbT=P_<-&Upo9KAt`=I#PbCQi-f4NrxdKncZxGWeJ)9f@CXz(|)!hWN83JvLpNj;Cy#%&=`6BP@zXiVN8PZC_|gOIRE~GDkAyX zZ3hE8)4IK)?EP-?XH}NVa~Cr0UR{xaYN;$Ugto5vI&Xp)rWXhE4nQ5sK+0m)yJAQr zr98jnUN!l!V973r@P0I1Y_80pKT$Y8_}N|EJ-jlECLw6wqikOw>s5uBsDo;_RJ-k& zE1_d`4r@QLa(0RH9Kzf9tx9PqR!l}o1cd^b7|9 zu$86VYQWKEUQ9u#0zAJ-qkO))ylvRnCkasgY#6~0#UUNno3NFUo|Hk-PiRE!$7D%Y zMZ~{F-W+v=okEFEMT(v;*!ZJS=*XWS{D@453m`=*r+G7)1Ghuf;9QcArkulW>g_m( zcH0(8W!xq77&3AjYA`O0DSt;NVLC-mUblD+T<3@~gn`49pX{`oh2LJia@LZBrjc?% zX->RIs1GC0zj&@b-&TL2c)sCuqGJtPY9V8h2f_F>hAw*e>F5JqtS>SdOL;h*Sd%4% z-o;%Z7DEh_iOnTM?#Sh-w|VJMZ}V)HLIwGB-In~Yfbrql>g9&A9jGQLC`5qL^S5cB zKsY*iKLTL2u0O&h;y~^d>3zbb;!|-|&-flTbm%a+wCJySGsN^9mQipNQcB(VU)5;d z@XYBV-*+hDVH7!NzIPR2QvN^Xp10m&C1XL1+srl-5;nJPzfQ2e5 zELUy16-v;unH{%%i}alRVL0$JooujtyS2KK4NIjXpkmQRL@l-sqwS`<@#(9ZU8cdl z55A6)J>?PB1nqE)W%L*ZQS&lTgL9BWby!0#c35Dm=j5p?4o0!%kA8TY?q?gTIa@vX zt=1@h*!}aSbzA2<&QEibs+rS*-L{0_OwPj*ABATfL1tltj#;HArI}SShHJRMUoK|05-!S_Sce$n6wv`ArQFWl zIPw;E|Fjh{GAf)Z73sZWywxYkX>vvSHT6OjQa#cfb{TDam!e??`j>Ddbf#4wH4ISuA@UVsKHxaD;Th!?^73nh>g^_HinAdJJ$ zw@-S}HFsE=mEwrsUjounzbQ3WkmM&A8GRn}$%RpJs2#I3AQW7^bMNJ~qQs>Ibljy- zT91uZui(_0T& zk75sODm0`;BKvF0Yczg1(d1f^EPS zeyoN^JQx%Nj6p3hejQ!0IqL;tt75{+cq=p@>C~)&I5o|4I-YflM(#xo%owWahW&IA z@6P>s(Fonx?;h3bo#7&0N8&7;0?X30K-&~3W15;fHzW-&TXmY$=R3VZy+aysi9FYX zS`McezKTaqyNIJk^VoPe0a!jhOn&4oGtp0ZdP#5b;s-g5BVlVsi-s^uh8(3D``C z*^C@&IJHRu_sJX8<}U4ALc+!6+UGpfx#sr33_kLc<&@PlsP^v)SrM>hbU{KHV#ic+ zbLU62CY)OB7kXawy}o^G&-o)y*!C%B;tF{;2!Q`_qrEGU5xo~esCq}Y+v)a9fl@+V z!Wb6F#DI$@Ss&eVb+$ctG?kNw-dFa7R}00Yr$kWH_uob+j$9Si*=g#dEkBN)U!^TDX=0ncr$2W5i z1n~}U88;H_6wNfBvRKJ)n`kGo)%@z%dqPiMSR9(g7=;1Mg+gZgCpB4+KsLz1cpu-h z?sWG6uySSyuK96TPIZuwLsERv-s(Z{yih_)Qu2kt;r$R74l(m2^6%`KwM-xtvh&s7 zp%U0Y?cDSS;+Rrkb&acaR`!O)6o)?1TOBLd@&(DR9V>?`jXFDVSXfNhH7;O~gwf2O z@P(E@{~UN9_tQdreyQd3gv*4=m}4w|+8)J~sIFj4On+E5F9KEYH;HO^k6oL9-h&qs zQFFl|Z)+lp(9m)tx@LuH;`3*T1elx$D9lD`d4}WM_%X;T&ji2lqbizP9;|HhV+vR~Gx^5YBH?jTeocM^z3?=yW4CF_&G0wXB z$QxU-5(z3D_IR48Yw@0JEEjsBY3|e?z)1(S!fZ~M6K3s*q1Vt$f~AWRPWMf3y|7`Sz|r`-MjJz_)8TMDhT5A~ zR^YmXOss61T_ZMov5n|zIEyNS@#UTKBFt`MJ>RaF>jV4ItTH zP}L#yg4VN=@VkR-hVRY@0Z0UXqLWZS93|Jtt_F&oAjS1xKohTfz1_GSfKX%ZvLlte zuH$L-G*#B-SB3vd7n0FQeeCU+<`HXHQzZy|?+c(iR(I{*+raT2!Chp0;9C8-%KhyT z{ImN*+N2vRAh|gt{?d_TJ6p5Tmhnmo_#vcnWUDR=i3dM~d)0N@5Xs}vHZ@rciw9Z% zGO%+#DavZZ*}Eq_X`Fqe$oA?K8FwF^$gKu|3re_mb@>c@E3jV^e`Jap_Z0q$Q>J@tyK8GvKE4-3IId2!&k` zMS3XxlY4RMS0BO|J26?D3sFOMDTadB4c&1fi)JJH#Ft&W(@AVqyDr$L*X>dC+T~sh z_5ajeCRyaO+A8Z-P|no0E!bHkxV60yC-*te7ogw^&+ohk?kbg)ovIngtarORIY-tBoA%gGCQzhY z^Bqa!g%9{B3L=<9|C^LQn~=-Ps|L~rGB7U`jR;dBi0jt&K8+V4OJSspOE(2LHczf; zpE%I49vBL7ZyaY^(V#-4bBjHOKoio8{WL{d(N<-!Ad{x!?Km)zZgWKGuW6JjJrg=L z1{YS@W?z)4veZ~|Sp=qp`Ay})MWIR#o!%lZd(L^LKgCueq~CR%v#;RA(1NhST!lnI zgEOlmhmha5!dun>PeMe8TL@94rOck0f-}8^6pslf`~HkZn6xK37TM*c*5x}anpmk- z|27ntmfbu0(U>M|r!uwVp|&d%K#&phldXigcGLgu3ZO97Ai*2E7fW77vmwHZI+k>R89)a5J3N9-~qCu`o8#*4er6 zPY$gcdHI8eZXsbjoTvecHhv7zXM^|WY~gd$*b(A5 zENH~Hu`*VLBtilEVTc({q=p*223C5KATt6RAqwN%)zU;$0)1v&fckFK40y76S#)t# zQ+$7M)p_3!E&;xo60Hit5Gekv5UVvp@Lonle;-x7`_Ygn=wf1@J+Vjq1TxTAdI-{f zVdgY&rD!jSLJ+>7c;h~4K&~?Qytsi5)0orVZ1!sGA2|V3Y8!+ahrWCRRC=m`SbOn; z)|14~@GJx_ri8)>PrIe~;GMT3(0(1jrhUu29gG&}B>vrk4;8!JjDgao3aK zBi;GEk#Y&PN~%3s)a2|M1=u=eQx_wBohfe$e1zU~3Te8xvr=!>qzblUNV`fQd7KP# z0qyJ+`0s{*B~s#{aEh=%M2KE6nf&^Aa&{>p6iV7o8)ihR0zp_r*T>9{1M6Fm!nTy) zan~ewMjX*oDNK1mVNo&Rh|3GLt*s2)>nT`B8Cau`ZH+$-9?Q}5^?c0iI5ZXN+-~f$ zr#7`zx?00|=#;ZLCU*s;64`vCFq`_g=Bl<0RzkE=b?ob3SqWktH@#A)5(f{4hlWT+ zt0}%y)6h)v^_D%0P$OSS)X+=3eg2s#f_^cQ1{&GQ^nlu;yu?{O1D)f`p2kucCxuMQW*(GvDRcaM)iGeaTRm6 zWk)}h6!#T(1$pe>H!_Kl9 zZB3}cp^?!c`Snc<_9*GTtRkW|vhF3OdMI)vGQccwD9NBnnHoN0XS0AI#-z^?qPD(L zm}5Xie@^_Fu!h%mzWI~DBU$E(>0!2U@1vR7$gcpm+)v7uOkm! z6?PyR2}x<$sQmc&m(+iPRgYvmG#X;CgQJDM}YyNo)xvbk_Wclz|aT~9<{nH)W4voT_F?r6oT=ITovB3Gf4z!*AjZ(nepI;tX zuYE#Td{Ea^En0au?xY>yCEgAqyEsq>K-TM9hD3|5L!`~z7AWO$IT1_MT;b&7F3Hx# z$PIryITSE5Wsg09?x8(03sV8GO;Z6wG6qj(tXgbo57Q6cE6GE}&Agh#DP;w|X`Oqs zMA>4EPL;SkD)#h=Ve5kP>4Jb{O|mB{Q&^Dhya?cs>(PkB#-qf?%KU)_zG{D$dw4xj zEDd4nEX067TZD!kS^^bAOcHXybv--G$y8#WSy0hnjD(YT*J4G5BxwpJA;Gu(a#$w^ zZZKR|ROM=`$c6EQ`h+)*gDzkn_WS{Rc2TyhN^YB|@|eo~wDvTExJDVkafm2gT9h)95F2C1GCZNDKF_SEmRQkC>0H0zC4gV;>z5H?#B^JTY-%dT!U3P|3u z4(~dF{!9w4UhwyDV^u^fFK{lBNEx`5@ju7%qiWa6l_wd9n#&3~9W+w%$F;004#iZO znX5a#V`PkJxbN}&p^=DM+Z4;sSW{ILby9PyA!Mhfk(g}XEUx+ibp`dB@Lg5Slo{;gHSamn`3XAg*FRfn*br$O|*l;{38`#h#hQp z^kg7{X(d0wIoBK`u^$38y;jzVN2OO1Kc+al4zG{5dMX;LSCgKYsGnGcZgf*fQ!NTp z$(4juwh=SEH{=;2iHkSRw@4HaTQ3PHm2F4UhB8knRqT28dt8@&#lF6*j}D~tc4|h_ z8}dyqcDpsXq$^5+P}*hjoa~9YuEqlv*qRp6ELyZnB43&WzfkFVq3*aJTkOYZxJj&T&Y{mazy8;Bn9}t`5bM6e35- zHqP01JY}~#%`TRtChsiF$?1$GD+__e&JH0g4}0U!^BA_q<8h`#ISOx0AG1XU>{=yl zP!lv(OMI_+01NBEFupN9_&LC2Rr{99pPeAT?d|VCcy2b=n!~@fM5M%ATufZ~`AuEr zXBCZeG^%y_tWm$uVAzLbS ze{Dr_q91ZB!L;yh;l7ny$|<#bUzp%+=}V&R3-?dn8|h1=)-Xpiq8T>8aFzbwI*A*4mXs8z*-Th$G> zg1byQZ$SO=C~;vOwa0dajVw*gy6qbcVG3*7jEoB2a=;;ZiQI>IMmXHk|2~H;pB=a@Q;y5NkfbDW#UF>B3vh$4a1|P&h`f z6Hg~PF})|%b-u`UO-0m-lTN;F7A3Q z_7y_esf6m$YSi7oi)Ip1SLPS@&bpri>voNf((w?Ii+2@hdKDKH=T?Pa)7-TFkY8hp z{$4sTP?pNhCIH8+Bj6{FV9Np66*FMbmue_eT4`_K{_~E(W5$|ge+;!Z{OoakB2{bKbLTj{XVGcq5i{SC!40}6L}80OBO|hspX4M< zUJfZbj$uf~>?nhT=3zNus3_KeyqT#xq#$Hmw;>^!d%$I;JU|@f9;M07ctcRL6M92@ zjG7_CHrEn?Za7+Bo+j^FF<3I4;5-iIjvFsV72m~%1^B6mMEyHR{e3%FAhhTo ztk7<-aFja3{p=gH6-a`>q424iJ8`hioigpbIt)TfKJpMCw+G>qTu}Qkr~r z{M6ydEq&?{tYLVzLQo0PbMXyN1||A91Ae%mbsQUD@;gMrR7#k4lZP;*$a2$BO@7oR z)>j#-FnE4(lUn5}%m2x;K@WFDh8m zlf{X&t6<;VxXtDD4{8Ba{x*W?EQY5R*~FDI#wlDZF<%m);Fa$3G1|pLL_x>JGuXN| z8(&fTnPPCvh#llCsdllK?{alD;_3O)bageD9j<;8rg0;|t+lO>YX&z2;RVPJ5d~Nu zZ5CpPlrimQct65F7*An1j=PcEi(f*VoEE$y-jtf zqMr(Co?Zt!$xmqC8U5*TYsJ)>_L+6dm19mOQ%Sv_`H9Sd(KAIjWu6#uNxP?CIiJ;u z_!WyztPX-X`pqQmK!z%4e{P{BC`UAM8$^K69ORF7oI(EpgE(iZK^jn3bx4_DN2MsX z4{ENU9xRrXvb{%*4n8lkAe3S4LL~=Icr?=Fl>{ zny=e3B=GA2Hk04)=;x?MnO!v7Crv7A)+mGc8G>2(`YWdncGpXx=Hr>rz}u{!%N22s z9W@>k+$fHmr`M0fvhvz{V^;jyTxrB7Ij0xW?3i(UdzE-`zV#xfy$+!Wg9E$HlT-%S zH{mHNo15nKo?uH8(DI=dvDq?nkR4-{W`7UZ5={iZ85@=BH&#>N_;YZvV&H%7!V(jaI&9<(LpDYwL9t6|Jsa zP0fu?QixOR;64JcYm105aovrmmL8!!Yq@CM_nXH6)|dXT_F-pH9-=+>&lX%!$kSJ6^t zZqjg?9^5^1piO{XQPe0sW@i$6`5SBu#xYlb9p22qYpGhO?}K5Adosv?(aWx|V5`bc zlw!@@)!+bJ%O9YYYam_~;X@FmMa)~6cV@^f8blRVi{KbjF75!d#2mD@ymqUrM-Do) zk2t~;JvR6pmtJ0ix;em*FGFu&pu(z68oJrpRZAr$Sa-_GqCZeVxUTBAk9wRni`Za0 zV~v?((Z+s;(Oh{x>9yp!apVl*fjr8ivOX?cW&xd=`L&@!bgTltXcS)3GMqA1weonm zpRLT1SuYt+*g9m4_PUX|`1rWEe4KAkt*>`>uD|0YT(n)j0d~N9Nem7kPwTwU4Qk2zzA?r6;*6MZ3y3v~*zsx@@v50+CbcWSwZxkDr<`_X zu<09qfZ!Eop}Dqs(qDM}%z-g`A?D^}qR4{U{%Ldv);!OgKC22$Rzy;{6-qc>y3cq( zU|EP$w+c!Przv32Iv~aB1aAxqhMUP*NDnqti{CuJ%{<nE3N2&#ATA{B3vF)cJzS zZ6)kMMWvPk`G6H+`ri24?Fqy_qEDVtctb0Iq%o}$8GLN`OBQek%>(})i<_N3{`3JD>rHo|*jY1^oDCYh* zH}1&8dT3x*u}1+l0(#>Ej}f%P`lN=1%vx$%on~&%+7@E%R>tr#Q;YTK(#Nio?haKC zIi*7sU8i$vp^7}udeXW!wjH7=rPR>MbW_`?%3sVgW#40y%F)%JSs}-0F%u)MnXlnd zkdi{UJ%ReF2(?;hL8&zc$v)rN3?=p+iEC3GvTmxlJIB$ko-^h)^y6_+dmg%UZE|#9 zWa|DgN=BD4jWMrFDrDeuc<3!SXXzUDImD}22qwP)Onvo#%?d#thON@YfzQ>P*l}JS z=wBlf@chxbnlc26%ZlS>PVB;N$N4zA^!i6}N|r(YciKraEtbqjt9_Oaqtr@EJTj@X z?#>4ELuBImXqx1ANTj5eqzDz_AuFksv7POTU!QGb%Tf>iNNIPNZ~CcrQH-N{_zCBW_>MU7st}@r9}5~z!wl{}5B(G39_)&yagdc=RDgp_Wi%bK<;FOk5o63npe&!fT}jd3MXho@Yfkb<}mGDmB7; z5wI46uO5EeZ=lOsYqLs%1g%#}r<~&cVF{S_j&3$F2?ZsIA|NE#yfH6t<@B}V^zG^C z_qKkMrb_aD(r@kATf`J#8}K+Vu^=-*l=RREuRQ7}Gu@-~NWH-w-+erhnqcwbqo0v| zgo87d+J?AN(pcBmM3Tr!`-4tyr|{3?{;;FS<6D?h68B2sSDuAca)-vHpqo2d{Q-mu z2FMAkdzjsDs+}dd1)f`nIUXyHZHq4i)k&#UDd;F+jgOoG<>SqgU`PdtDzh zN@DL7&k&A8THo8Bb@d#dh&%Q;$PGK%#kDh_o@jLK(1)(<4YE3h#`RoaI#P-lw@Ba* zV(wH7IMZT7(9q`;S%x{l5aYz|=RQFw?g#vl%#N0a0xJ@#CM6%3on`x=yvKV8f8JG2 z*5VAiZEB%wxZK^~zu(oOx^f~1eJsdM9ybz}g}gnJA+y79;s%+t$B%A^M%88s-qhUd-AZ%TwMVh3jIsbs?*TX0x| z)EFufM7HR+4|y!6EePCYXUjOZ^?(ElM%CGzjaaMmmU_zbvJX(4$~ejH`}1aCsPS zjj&bcTl7j4I9_I11jl&TR)=6H$$phu!s*1*Nm9_C;SB{WK8J!{6{vZae1SI(o#il4 z3?wx@RWgq0I1M#WxXFcqxw!RM*9g8^d!q>H_>U25YkWR* zC8IHfYw0-#+czj+(wK>IUTFnk9vk@~Ulm;I>i`WJS17kz1W*hwJ)Pdia7u7FMVl4; z09J-niUbkC(*Ep7WM=M(U4fx?jGuWb_;EXur3r_^e0dk|2LYjtP)X|V6Yq+LjK8R8 zGof-us}hT-b849Qw}p(najDBv9dF=V&gWB-vJ~RQ@z6(QW1o2A6T*W4F1#ufsMVC@ zvU8qzT=#WW5Iy2i21rJ9&|FvzQ}cXatIm)fN3FLsuv)g@Gn4xnLU^plcY`73$cIGX zL@`^su6mrv{7;gh57{%YU7t4>NU=y@q252JXO%o3t@>&SE}Ge~gj2Rm;`kkhc#GuB zPm=?tOr>@jX7o`pO^>tAYDq>khg8XU+Pd}^c~~@!i(rwMLeK3Hjo6kPc_tgl50l9Y zW~%{Lg4D8B2ajP#0b~@`2;8y~(9>fQcqr|#pcCm_P0WZjuo%1V7-QSf^tPf-2omO& zua$xef9{0u);X-*DBLJGB)RI1IvYEAO5Ylbc)qeainQWYi|gj+29%8(KBMBSyj!4S z_s6f6qx%G}9T!n>mP<~xq}w;v6nmmyLnpYR(?GYV5lNPVhJpDchD@Zl8h05aE~VYG ztGp&TYA!adr=2_9Y@xL~SpZsc|z-4`MuSLj@ zS+|(Rz}xhH58!7?JQcplGA(_KU}-IV?4uNX0f=?XC1{%&H|hAG7%WRMV7tprYsSR1 z6{%Yo5n#$HK<#wp)WjwXkgsXf1gZFdfx4Z7n;xN>sxV^u^f)}IL^6;bdh~c(LO<4< z@Ze%%Tw5}~r2F>E!W{VLyMF99F<^xh8;)BXD^UxiG1>SyLGgqn)f|?2%5=uJO_M(w zul<oSv@E2h_0Wkw)m{i*J0rjT3e6+cyycQ z*dEO2Q7e?F$A}Pm2rtEhUeGL?8(GJy)a$unTj-e*CpVqVzVH|jTFzerx@JkVT^XGY ziw#9Gb2M)~KgeMrL=Fnn(7JAxPI^0%ePeqvt z=gCVe*-5=78&K~o73|^R6Uy0` ztGZ*+dM)IdUkS7H6y44Ey5$Y^6-CmprKYl6C)XPib0y*rvPY+<33S{oc~^nAl^3rT z8=fZblboXkaB59VN4FW$oy3hdW3&CL*~#qRV>Mwdpm!v4oG25nynN3;hGB7EN4k*H2_N#cQ$$S-VEI1yR3Oh8T)co_aY< z-_KT^sYwCKg(_;tcUFLQ#T)DVUA{BJZq_B`LS*wT&4>D>m(1P%!Nx~Vb*K5{0;&6Z zcaGkA=S#EHtx?m3U$+m(JF3x}6~^1!fHhLn#S9-BVG#QOv0mu6$#5W0iDMU^ZMq&$ z8UL^z9h7lds{9x7o?LdQ3h7j5pUuvUr*+Vo20Zi4qJr<<)kYtm;ES4zEIx+bQm0)X zUH~sw7g9B(9b>J0(UWhL&5!LHYZB|5lP0xZHfi=gvpG}mo96Y)Gb9|b#2gQHXS?rL zqQLk)-}o$9N&e@(GUoqztL*=M`-)D~%-+FK$W-4RpPo)y|6d{_3k#j9nW3YpgXY)e zvHu?g`Jc9|3=H^;Z0w&G*O>7cSlRHIn3(>dFWq1HFK1z4#s8##?7wu(^q+R0t&f`F z&nIVL{)~r(9`duA|ElQU2pGOP(*HI4a{FJ3&)mKSU%7u-{FBe8{a@>^xqtTf+~-U8 z<=`K~uL+K?2l-|ADgRT@&jnwLzY6&Gf&Sg`FaHYkOa8}(^(*nu1M{W(d~kntpB$3; zukLH@zt(@PV`llUL-MuuA3ei=`D6Rs`!9XQ0QvV}{dfMA=s$KT{Fc2X=lFlh z+H@k;KWq%mtWEG4m>B+7dsi1DNmYe4;t!)nG?*wpP|;xTL}%)!tGcS%nStGzU0B&! zHoZ$&VbRod*UVO?yKCs~VP@9|t3=5@Ao?cpg%F;M7&IcmjSvMA#Y7V|#>B)J@xkB* zMSMUd(eIq9TXpMJ&usV3DqvXn5zkAQQw`b@(pZdO_AJR8L^`yh~ zPS91pu&SAstA0Q9brp)_ur%U*W{I|yOHqU(%S^0}v`!MOxz0t0B4I&PuE2!VU39_jo@c+R>G@o`x`b=5_=pt0Py2b(00r)lR|$hazDuM1$^y z#R<5uJ^?4b(s!99vZtr`1rFJonI>>s7(aXO&`?BNk`D^XH1aGo(E~+Sjx;nJB@$)B zOd}CTE$Sl$B4UZ77ZDLNkwj1sCN}AwXu47$BGm~Pt{jLMMs3sfjKjKcAVNDxmZCf&W= zek1~u8jubSf_Bs_MI_THMkIKXp(S5f&%Sd18ZM4Tj6(8aEQ?5vlZ%gifZUng7gw@D zmZ=Mug1yr-6B}c7M12?!a5&;aAqn65Cwr0Yitfo~Xca;qa%ZAX_w+7X^?-iXj=}`l zS`w-lCl5pzBfVh82_X&0;~195By?tDNw3@nLmUye)pJ7$6f zml&W{^)b7`YUt|V3LzF|_l$WOcpmo>;S(?EhiIjrY<5?iMevvP5q+6&;ywAWQ*w-y z@N>|!ld-!tVn06FQj3KMD@ddZ6_6>AO4%gRa7ft2vwTg$R?;>dA#=dePH_;YqL1L3 zi4jn!lWalgmoe~zXin%SbFacm)H8)538v@b<^tIE-RD&3H@R`^_U!uF) ze^>sy_IL3%uv7n$BGQ(NCGiJBDu{(oUIJDX~Rp#ZQfr9#~4CXRX|G&z;=LvG48NG z#=c`2>_C1b-;6$uXBe*GP|>saw)iv*TMEmlZqsHcH~%O7bBEqKgPvb(4D)NHm{+4z zdekZ5jpfBz=-i=~{kOdwHu<`-=Up!zBckk7YomGb;=v(qjIFHV%C5F!Hx`-xMP51c zzR12@f8n&B3QST3jOsfy)yf$>mlo0r1u2VZUV;Lchn107-O`n+2jZD43E)E%z!*-o zcB(uim4>_~Po)i%Gq@m@;!q2_%s1f!|6GJap3V1IUDEit{*_)cI8|~|Sx_6gC)sfQ zi0WTyUr`mI_wMzDI3>VeEhQR?VRlgV)b`rN} zufkt9;~$aVOU?f%!6?}!q{7!0g?URU%qRPd((h0vxiMs23eYqDj2T|PBmwMryq23I7xNpUScG&MnbQ3h2AvQKou6I|0-g>7U ztPk{fCGLi+dJkKm`f{W%w{OoYbxC40j8&N%OOLvPu-6Znc>fN4y$dG#cOcjH^riK7 zI~?FFLsef3dr{mX4ls_EW+8#@thWczTKiOiW}c8Ah}vkYA7}@Ia3Q3WOFtBLR|Y3F ztLn_n^#{E$=)8O4hO@`Ma<2P~cE$eBKDqSVeT_3`A6oqUiSyt3@Do3tf9a#MU;6ev zSH9({=YMqf)sH@cmoLt|xb}g&y3_Yi=@-ula>FZ}M*joud@c-Ovr?|J#i!AF1g z@a(N|^@VrLeEqlKC%xK}?|Jab=dXUkyXMy4|Mk^P{lzm+eRY5Dt}{uD|Tl?Yp1&^ZVZW$E$An*V8}z!bw{4HnR{HDhzJLk$rU}(;h6m%q53H2iZ>|~(P^w-cE zVIO}A8CIiluBy+Y9)h=hjdR{y*Gf@#J48tuoFSsDPb#S3puxy2nMvZEp~Cc0#HHlZ z+i_(kn)d8mE5Vf? zUl}Hnkb=zoZ9JgFnXh<&uXun@oQ^6ppN%w^nXiN(pEw;AnQ0{Y%{(2O!Nq}^#yAQ! z4Mn4-p{Ud}#?h&1C`vUAMXM%Gx{fhkUQI}m%`_Cnn!IM%LVhOBtrgwDG!@;N$r>cL zVUs7E1mRJAL4J`-0x$4?BQz{R#jds~%}Yu*5=nyZ@Or0z8+P!MISorNGnwr)@R=ZJ zNK4@%R@T>Vj9N$lXjB@D8pi?nAsMM=CcvZ?qVd|IfwY*LB>&U`2{t|54vSpJDiMX0 zbiG(rB+GG05o}7I$J)?%_QZvSjB~Y2h3A?EPS_?-32BbZ;5gwG$Du~zfE{x<2OI+% z8b>c&7$HgzOp|@Rp|O|Z!o$Ki*@M9HEZj)L6-2LYM$ zBob+<*$Nd^O?@$JMZvy!6UKvTfbVFYZAq45R&%GCM^c2H&ONO=qqY8tJ*y`sHD}tl zm$dnK?NpEdwF(Xw+gc-NMa`hC?LQT2N8{ze2C{}peKBq=AlurrP)8#d;l?#>!*TqN z8CJzGDw8-Bi+pm=d|eOqCFC+;TkphOq>$@+nrD2b8F$u@^Wl9QuTF!FNu7B@Qn)?p zBfYq_-VA$t_BMO*QZUdKqW&O4{@BypX=B>aPV7Ne+=@5)CnhIl&r>4kVmJs|!63+v zyB%LVlqHUy@8_B0%(a_qL30%e>QcB8b!RJoIrmgWi(0dlTbxB>5r510WOT#nUU>BM z;bYCyt4+UExpr=1X0yK8S?hp`w%KWS`}NJ)N`Rv+VIB7b)+-t}8LZA$jxQe3265b8 zjRu-E?N9k1*N~@o!i~7Ms+rTZ3h?z>%k{>>ffO5_W-BKLgSEP@Z)|K#Z&at_-imJe zzONgWZdp@kG1WiS9R!(A8vRZbm0U65({r5@Z-Fo59-f5#dELBn@|U zm~6CsicD*^LPk4f8dIiw%(Uxn?kFphwZRKX*}d$LbWrkW_>`OImgDdw>?O1+7TH?y&ZH{W-FUh zt#CO&$)z$kmj5Q4x1&^#j9kwN4pA)I99SP~ek@ve2fw&I$|m(MubJzLqJ#WC)ZeVHsVR`bYtEX~{T3UZ|t+Lhq+3<*xM zW=9&F0O;+Z0RIHO4-hAj`HFwD7cS!fi)ot^__k*HqtzS-+4Qo;FnoE|p-hi{v~B{U zd)g(S9|=~aY*vOL=W(dEE5i)WcBobMHnQ2!IfYZRsWT~9+iS*82VaNH7&xdDpho3 znCVtMSD}Hic~p9o+Zl#sQ#nV4QB_ffp|6hv5Cs_eI#lbB+Zjd`IZ_d3dZ=iXWNLHS ztk~B!%RHN0&r;f1>Ug1Ek4lDeJJ5xB6k%xR63`~6am^KvTcHqUP z`mGE@9%q$hxqCBr}$6%Q5WRjHsaw?ki-ifl5> zK#(Z;2TDXkY|^EwaG@^>lT^to!fg8DZ2@MwHOo}`0tQc4+qtf*=*V>8mMRU;woCqD z+EtX83Up~`LuBt!DNo@U)~3J^A*jw-Xje6SD&7@fp6#k}7jpJhdx1mSstgPpgH!05 zo>hv^a8-kfWd*v9;nVJq41?iXv>{Q1SzOMRVQ@>c6rVABP-#?d2VP3PU^sS_Hjd&Db(CRpQfI9A4}B_QW;U?7!*2#D4(& Cgg;gQ literal 0 HcmV?d00001 diff --git a/chapitre-2009/exampleFusion.eps b/chapitre-2009/exampleFusion.eps new file mode 100644 index 0000000..fe40e37 --- /dev/null +++ b/chapitre-2009/exampleFusion.eps @@ -0,0 +1,176 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: example.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha7 +%%CreationDate: Wed Apr 9 11:24:09 2008 +%%For: makhoul@soleil4 (makhoul,,,) +%%BoundingBox: 0 0 447 198 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 198 moveto 0 0 lineto 447 0 lineto 447 198 lineto closepath clip newpath +-208.8 326.9 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06299 0.06299 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Ellipse +30.000 slw +n 3825 2565 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 7380 2565 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 4320 4680 487 487 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 9900 4455 487 487 0 360 DrawEllipse gs col0 s gr + +% Polyline +0 slj +0 slc +n 3825 3060 m + 4185 4230 l gs col0 s gr +% Polyline +n 4320 2565 m + 6885 2565 l gs col0 s gr +% Polyline +n 4815 4545 m + 7110 2970 l gs col0 s gr +% Polyline +n 7740 2925 m + 9585 4095 l gs col0 s gr +/Times-Bold ff 254.00 scf sf +3420 2610 m +gs 1 -1 sc (z) col0 sh gr +/Times-Roman ff 190.50 scf sf +3555 2700 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +3690 2610 m +gs 1 -1 sc (= 0.5) col0 sh gr +/Times-Roman ff 190.50 scf sf +7155 2655 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +7245 2565 m +gs 1 -1 sc (= 0.9) col0 sh gr +/Times-Bold ff 254.00 scf sf +7020 2565 m +gs 1 -1 sc (z) col0 sh gr +/Times-Bold ff 254.00 scf sf +9495 4500 m +gs 1 -1 sc (z) col0 sh gr +/Times-Roman ff 190.50 scf sf +9630 4590 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +9765 4500 m +gs 1 -1 sc (= 0.7) col0 sh gr +/Times-Bold ff 254.00 scf sf +3960 4770 m +gs 1 -1 sc (z) col0 sh gr +/Times-Bold ff 222.25 scf sf +4230 4770 m +gs 1 -1 sc (= 0.2) col0 sh gr +/Times-Roman ff 190.50 scf sf +4095 4860 m +gs 1 -1 sc (3) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF diff --git a/chapitre-2009/exampleFusion.fig b/chapitre-2009/exampleFusion.fig new file mode 100644 index 0000000..db69cf0 --- /dev/null +++ b/chapitre-2009/exampleFusion.fig @@ -0,0 +1,33 @@ +#FIG 3.2 Produced by xfig version 3.2.5-alpha5 +Landscape +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 3 0 3 0 7 50 -1 -1 0.000 1 0.0000 3825 2565 487 487 3825 2565 4312 2565 +1 3 0 3 0 7 50 -1 -1 0.000 1 0.0000 7380 2565 487 487 7380 2565 7867 2565 +1 3 0 3 0 7 50 -1 -1 0.000 1 0.0000 4320 4680 487 487 4320 4680 4807 4680 +1 3 0 3 0 7 50 -1 -1 0.000 1 0.0000 9900 4455 487 487 9900 4455 10387 4455 +2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 3825 3060 4185 4230 +2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 4320 2565 6885 2565 +2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 4815 4545 7110 2970 +2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 7740 2925 9585 4095 +4 0 0 50 -1 2 16 0.0000 4 120 120 3420 2610 z\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 3555 2700 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 495 3690 2610 = 0.5\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 7155 2655 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 495 7245 2565 = 0.9\001 +4 0 0 50 -1 2 16 0.0000 4 120 120 7020 2565 z\001 +4 0 0 50 -1 2 16 0.0000 4 120 120 9495 4500 z\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 9630 4590 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 495 9765 4500 = 0.7\001 +4 0 0 50 -1 2 16 0.0000 4 120 120 3960 4770 z\001 +4 0 0 50 -1 2 14 0.0000 4 150 495 4230 4770 = 0.2\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 4095 4860 3\001 diff --git a/chapitre-2009/fixe/ErrorNbIteration.ps b/chapitre-2009/fixe/ErrorNbIteration.ps new file mode 100644 index 0000000..691f589 --- /dev/null +++ b/chapitre-2009/fixe/ErrorNbIteration.ps @@ -0,0 +1,903 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ErrorNbIteration.ps +%%Creator: gnuplot 4.2 patchlevel 5 +%%CreationDate: Thu Sep 24 18:32:13 2009 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (ErrorNbIteration.ps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 5 ) + /Author (Abdallah Makhoul,,,) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Thu Sep 24 18:32:13 2009) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} 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 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} 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 +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 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 +/Density { + /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} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% 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 +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/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 +1106 448 M +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 1e-06) Rshow +1.000 UL +LTb +1106 670 M +31 0 V +5853 0 R +-31 0 V +1106 963 M +31 0 V +5853 0 R +-31 0 V +1106 1114 M +31 0 V +5853 0 R +-31 0 V +-5853 71 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 1e-05) Rshow +1.000 UL +LTb +1106 1407 M +31 0 V +5853 0 R +-31 0 V +1106 1701 M +31 0 V +5853 0 R +-31 0 V +1106 1851 M +31 0 V +5853 0 R +-31 0 V +-5853 72 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 0.0001) Rshow +1.000 UL +LTb +1106 2145 M +31 0 V +5853 0 R +-31 0 V +1106 2438 M +31 0 V +5853 0 R +-31 0 V +1106 2589 M +31 0 V +5853 0 R +-31 0 V +-5853 71 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 0.001) Rshow +1.000 UL +LTb +1106 2882 M +31 0 V +5853 0 R +-31 0 V +1106 3175 M +31 0 V +5853 0 R +-31 0 V +1106 3326 M +31 0 V +5853 0 R +-31 0 V +-5853 71 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 0.01) Rshow +1.000 UL +LTb +1106 3619 M +31 0 V +5853 0 R +-31 0 V +1106 3913 M +31 0 V +5853 0 R +-31 0 V +1106 4063 M +31 0 V +5853 0 R +-31 0 V +-5853 72 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 0.1) Rshow +1.000 UL +LTb +1106 4357 M +31 0 V +5853 0 R +-31 0 V +1106 4650 M +31 0 V +5853 0 R +-31 0 V +1106 4801 M +31 0 V +5853 0 R +-31 0 V +-5853 71 R +63 0 V +5821 0 R +-63 0 V +-5905 0 R +( 1) Rshow +1.000 UL +LTb +1106 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 1) Cshow +1.000 UL +LTb +1920 448 M +0 31 V +0 4393 R +0 -31 V +2396 448 M +0 31 V +0 4393 R +0 -31 V +2734 448 M +0 31 V +0 4393 R +0 -31 V +2996 448 M +0 31 V +0 4393 R +0 -31 V +3210 448 M +0 31 V +0 4393 R +0 -31 V +3391 448 M +0 31 V +0 4393 R +0 -31 V +3548 448 M +0 31 V +0 4393 R +0 -31 V +3686 448 M +0 31 V +0 4393 R +0 -31 V +3810 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 10) Cshow +1.000 UL +LTb +4624 448 M +0 31 V +0 4393 R +0 -31 V +5100 448 M +0 31 V +0 4393 R +0 -31 V +5438 448 M +0 31 V +0 4393 R +0 -31 V +5700 448 M +0 31 V +0 4393 R +0 -31 V +5914 448 M +0 31 V +0 4393 R +0 -31 V +6095 448 M +0 31 V +0 4393 R +0 -31 V +6252 448 M +0 31 V +0 4393 R +0 -31 V +6390 448 M +0 31 V +0 4393 R +0 -31 V +6514 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 100) Cshow +1.000 UL +LTb +1.000 UL +LTb +1106 4872 N +0 -4424 V +5884 0 V +0 4424 V +-5884 0 V +Z stroke +LCb setrgbcolor +280 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Mean Error) Cshow +grestore +LTb +LCb setrgbcolor +4048 98 M +(Iteration Number) Cshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +6339 4739 M +(Our approach) Rshow +LT0 +6423 4739 M +399 0 V +1106 4872 M +209 -45 V +201 -44 V +193 -45 V +185 -45 V +177 -44 V +171 -45 V +164 -45 V +157 -44 V +152 -45 V +145 -45 V +139 -45 V +133 -44 V +129 -45 V +123 -45 V +118 -44 V +113 -45 V +109 -45 V +104 -44 V +101 -45 V +96 -45 V +92 -44 V +89 -45 V +85 -45 V +82 -44 V +79 -45 V +75 -45 V +73 -45 V +69 -44 V +67 -45 V +65 -45 V +62 -44 V +59 -45 V +58 -45 V +55 -44 V +53 -45 V +51 -45 V +49 -44 V +48 -45 V +46 -45 V +44 -44 V +43 -45 V +41 -45 V +40 -45 V +38 -44 V +38 -45 V +36 -45 V +35 -44 V +33 -45 V +33 -45 V +32 -44 V +31 -45 V +30 -45 V +30 -44 V +28 -45 V +28 -45 V +27 -44 V +26 -45 V +26 -45 V +25 -45 V +25 -44 V +24 -45 V +24 -45 V +23 -44 V +23 -45 V +22 -45 V +22 -44 V +22 -45 V +21 -45 V +21 -44 V +21 -45 V +21 -45 V +20 -44 V +20 -45 V +19 -45 V +20 -45 V +19 -44 V +19 -45 V +19 -45 V +19 -44 V +19 -45 V +18 -45 V +18 -44 V +19 -45 V +18 -45 V +18 -44 V +17 -45 V +18 -45 V +18 -44 V +17 -45 V +18 -45 V +17 -45 V +17 -44 V +17 -45 V +17 -45 V +17 -44 V +16 -45 V +17 -45 V +16 -44 V +16 -45 V +stroke +LT1 +LTb +6339 4599 M +(Metropolis Approach) Rshow +LT1 +6423 4599 M +399 0 V +1106 4872 M +224 -45 V +215 -44 V +206 -45 V +196 -45 V +189 -44 V +180 -45 V +173 -45 V +165 -44 V +158 -45 V +151 -45 V +145 -45 V +138 -44 V +132 -45 V +127 -45 V +121 -44 V +116 -45 V +111 -45 V +106 -44 V +102 -45 V +97 -45 V +93 -44 V +89 -45 V +85 -45 V +82 -44 V +78 -45 V +75 -45 V +72 -45 V +69 -44 V +66 -45 V +64 -45 V +60 -44 V +59 -45 V +56 -45 V +54 -44 V +52 -45 V +50 -45 V +48 -44 V +46 -45 V +45 -45 V +43 -44 V +42 -45 V +40 -45 V +39 -45 V +37 -44 V +37 -45 V +35 -45 V +34 -44 V +33 -45 V +33 -45 V +31 -44 V +30 -45 V +30 -45 V +29 -44 V +28 -45 V +27 -45 V +27 -44 V +26 -45 V +26 -45 V +25 -45 V +25 -44 V +24 -45 V +23 -45 V +23 -44 V +23 -45 V +22 -45 V +22 -44 V +22 -45 V +21 -45 V +21 -44 V +20 -45 V +20 -45 V +20 -44 V +20 -45 V +19 -45 V +20 -45 V +18 -44 V +19 -45 V +19 -45 V +18 -44 V +18 -45 V +18 -45 V +18 -44 V +17 -45 V +18 -45 V +17 -44 V +17 -45 V +17 -45 V +17 -44 V +17 -45 V +17 -45 V +17 -45 V +16 -44 V +17 -45 V +17 -45 V +16 -44 V +17 -45 V +17 -45 V +16 -44 V +17 -45 V +stroke +LTb +1106 4872 N +0 -4424 V +5884 0 V +0 4424 V +-5884 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/fixe/ErrorNbIterationCompar.ps b/chapitre-2009/fixe/ErrorNbIterationCompar.ps new file mode 100644 index 0000000..b35fda9 --- /dev/null +++ b/chapitre-2009/fixe/ErrorNbIterationCompar.ps @@ -0,0 +1,863 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ErrorNbIterationCompar.ps +%%Creator: gnuplot 4.2 patchlevel 5 +%%CreationDate: Thu Sep 24 18:36:26 2009 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -66 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (ErrorNbIterationCompar.ps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 5 ) + /Author (Abdallah Makhoul,,,) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Thu Sep 24 18:36:26 2009) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} 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 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} 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 +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 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 +/Density { + /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} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% 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 +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/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 200 scalefont setfont +1.000 UL +LTb +1580 640 M +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1e-06) Rshow +1.000 UL +LTb +1580 849 M +31 0 V +5289 0 R +-31 0 V +1580 1125 M +31 0 V +5289 0 R +-31 0 V +1580 1266 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1e-05) Rshow +1.000 UL +LTb +1580 1542 M +31 0 V +5289 0 R +-31 0 V +1580 1818 M +31 0 V +5289 0 R +-31 0 V +1580 1959 M +31 0 V +5289 0 R +-31 0 V +-5289 68 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.0001) Rshow +1.000 UL +LTb +1580 2235 M +31 0 V +5289 0 R +-31 0 V +1580 2511 M +31 0 V +5289 0 R +-31 0 V +1580 2653 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.001) Rshow +1.000 UL +LTb +1580 2929 M +31 0 V +5289 0 R +-31 0 V +1580 3205 M +31 0 V +5289 0 R +-31 0 V +1580 3346 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.01) Rshow +1.000 UL +LTb +1580 3622 M +31 0 V +5289 0 R +-31 0 V +1580 3898 M +31 0 V +5289 0 R +-31 0 V +1580 4039 M +31 0 V +5289 0 R +-31 0 V +-5289 68 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 0.1) Rshow +1.000 UL +LTb +1580 4315 M +31 0 V +5289 0 R +-31 0 V +1580 4591 M +31 0 V +5289 0 R +-31 0 V +1580 4733 M +31 0 V +5289 0 R +-31 0 V +-5289 67 R +63 0 V +5257 0 R +-63 0 V +-5377 0 R +( 1) Rshow +1.000 UL +LTb +2364 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 20) Cshow +1.000 UL +LTb +3188 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 40) Cshow +1.000 UL +LTb +4013 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 60) Cshow +1.000 UL +LTb +4838 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 80) Cshow +1.000 UL +LTb +5663 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 100) Cshow +1.000 UL +LTb +6488 640 M +0 63 V +0 4097 R +0 -63 V +0 -4297 R +( 120) Cshow +1.000 UL +LTb +1.000 UL +LTb +1580 4800 N +0 -4160 V +5320 0 V +0 4160 V +-5320 0 V +Z stroke +LCb setrgbcolor +400 2720 M +currentpoint gsave translate 90 rotate 0 0 M +(Mean Error) Cshow +grestore +LTb +LCb setrgbcolor +4240 140 M +(Iteration Number) Cshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +5997 4637 M +(Our approach) Rshow +LT0 +6117 4637 M +543 0 V +1580 4800 M +47 -42 V +48 -42 V +46 -42 V +47 -42 V +47 -42 V +46 -42 V +47 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +45 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -43 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +46 -42 V +45 -42 V +46 -42 V +46 -42 V +46 -42 V +46 -42 V +47 -42 V +46 -42 V +46 -42 V +47 -42 V +47 -42 V +46 -42 V +47 -42 V +47 -42 V +48 -42 V +47 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +49 -42 V +49 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +51 -42 V +50 -42 V +51 -42 V +52 -42 V +51 -42 V +52 -43 V +53 -42 V +53 -42 V +53 -42 V +53 -42 V +54 -42 V +54 -42 V +55 -42 V +55 -42 V +55 -42 V +56 -42 V +56 -42 V +56 -42 V +57 -42 V +58 -42 V +57 -42 V +58 -42 V +58 -42 V +59 -42 V +59 -42 V +59 -42 V +59 -42 V +60 -42 V +59 -42 V +60 -42 V +stroke +LT1 +LTb +5997 4437 M +(Metropolis Approach) Rshow +LT1 +6117 4437 M +543 0 V +1580 4800 M +59 -42 V +59 -42 V +57 -42 V +57 -42 V +55 -42 V +55 -42 V +54 -42 V +53 -42 V +53 -42 V +52 -42 V +51 -42 V +51 -42 V +51 -42 V +50 -42 V +50 -42 V +49 -42 V +50 -42 V +48 -42 V +49 -42 V +49 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -43 V +48 -42 V +48 -42 V +47 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +48 -42 V +49 -42 V +48 -42 V +49 -42 V +48 -42 V +49 -42 V +49 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +49 -42 V +50 -42 V +51 -42 V +50 -42 V +50 -42 V +51 -42 V +51 -42 V +51 -42 V +51 -42 V +51 -42 V +52 -42 V +51 -42 V +52 -42 V +52 -42 V +53 -42 V +52 -42 V +53 -42 V +52 -42 V +53 -42 V +54 -42 V +53 -42 V +53 -42 V +54 -42 V +54 -42 V +54 -42 V +55 -42 V +54 -42 V +55 -42 V +55 -42 V +56 -43 V +55 -42 V +56 -42 V +56 -42 V +57 -42 V +57 -42 V +57 -42 V +57 -42 V +58 -42 V +58 -42 V +59 -42 V +59 -42 V +59 -42 V +60 -42 V +60 -42 V +61 -42 V +62 -42 V +62 -42 V +62 -42 V +63 -42 V +64 -42 V +65 -42 V +65 -42 V +67 -42 V +67 -42 V +stroke +LTb +1580 4800 N +0 -4160 V +5320 0 V +0 4160 V +-5320 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/fixe/MoyenXIAO b/chapitre-2009/fixe/MoyenXIAO new file mode 100644 index 0000000..4ef0e9c --- /dev/null +++ b/chapitre-2009/fixe/MoyenXIAO @@ -0,0 +1,7 @@ +1 1 +25 0.1 +40 0.01 +60 0.001 +82 0.0001 +102 0.00001 +129 0.000001 diff --git a/chapitre-2009/fixe/MoyennIterAsynch-50-Err b/chapitre-2009/fixe/MoyennIterAsynch-50-Err new file mode 100644 index 0000000..1001e9f --- /dev/null +++ b/chapitre-2009/fixe/MoyennIterAsynch-50-Err @@ -0,0 +1,7 @@ +1 1 +20 0.1 +37 0.01 +57 0.001 +72 0.0001 +95 0.00001 +119 0.000001 diff --git a/chapitre-2009/fixe/pl.plot b/chapitre-2009/fixe/pl.plot new file mode 100644 index 0000000..b490230 --- /dev/null +++ b/chapitre-2009/fixe/pl.plot @@ -0,0 +1,11 @@ +set terminal postscript eps 20 +set output "ErrorNbIterationCompar.ps" +set logscale y +set xlabel "Iteration Number"; set ylabel "Mean Error" +set xrange[1:130] +#set yrange[0:1] +#set xtics 10 +#set ytics 0.01 +#set size ratio 1 +#set size square 0.7,1 +plot "MoyennIterAsynch-50-Err" with lines smooth bezier title "Our approach", "MoyenXIAO" with lines smooth bezier title "Metropolis Approach" diff --git a/chapitre-2009/ftpinfo.txt b/chapitre-2009/ftpinfo.txt new file mode 100644 index 0000000..7f2fbae --- /dev/null +++ b/chapitre-2009/ftpinfo.txt @@ -0,0 +1,24 @@ +Hints for transfer of the files in this directory: +================================================== +When copying these files to your own computer via ftp please make sure +you transfer the following formats in + +binary mode +----------- +*.dvi +*.eps +*.pdf +*.ps + +ascii mode +---------- +*.cls +*.ist +*.sty +*.tex +*.txt + +If you have problems or further questions with respect to the file +transfer please contact: + +Frank Holzwarth frank.holzwarth@springer.com diff --git a/chapitre-2009/history.txt b/chapitre-2009/history.txt new file mode 100644 index 0000000..33cad8a --- /dev/null +++ b/chapitre-2009/history.txt @@ -0,0 +1,128 @@ +Version history for the SVMult LaTeX2e class + +date filename version action/reason/acknowledgements +----------------------------------------------------------------- +28.08.01 history.txt introducing this file + +28.08.01 svmult.cls 1.7 saves token space + (no more: 0 pt plus 1pt minus 1pt) + +11.09.01 svmult.cls 1.8 enhanced abstract environment + (\abstractname may be \empty}, + \keywords inside the abstract environment + \mainmatter clears the running heads + +25.09.01 svmult.cls 1.9 hanging chapter or section heading with + class option [sechang] + sets bibliography as section by default, + whereas [chaprefs] sets it as chapter + +14.11.01 svmult.cls 1.10 debugged "bibsection" handling, + added minitoc feature, + \newenvironment{abbrsymblist}, + theorem name and its number can be permuted + by using \normalthmheadings vs. \reversethmheadings, + +20.12.01 svmult.cls 1.11 fixed changeable indentation of itemize environment, + removed bug that prevented \listoftables + +21.03.02 svmult.cls 1.12 fixed minitoc feature + +27.03.02 svmult.cls 1.13 oops - fixed minitoc feature again + +10.05.02 svmult.cls 1.14 corrected spacing after a \maketitle + +13.06.02 svmult.cls 1.15 modified sinkage of chapter + oops - fixed minitoc feature again + +18.07.02 svmult.cls 1.16 corrected counting of mixed numbered and + unnumbered contributions + +26.07.02 svmult.cls 3.0 promoted to major version 3, first release of + "the global class", enabled usage of so called .clo + (class option) files + +23.07.02 svmulthd.clo 1.0 initial release of the multhd class option, to revive + the "pre global" layout for HD contributed books + + 2.08.02 svmult.cls 3.1 make \thanks work in \institute field, + change suggested by Daniel R. Grayson (UIUC), + reset environment counters every new contribution + +08.10.02 svmult.cls 3.2 corrected \vec command for bold vectors, bug reported + by Michael Beer, Univ. Freiburg + +08.10.02 svmultphys.clo 1.0 initial release of the multphys class option, + to foster the diversity of layouts + +19.11.02 svmult.cls 3.3 new option "vecarrow" to preserve the original \vec + command; revived the defective "footinfo" option + + 6.12.02 svmult.cls 3.4 adapted minitoc to \secnumdepth + +18.12.02 svmult.cls 3.5 removed spurious blanks in language section + +15.04.03 svmult.cls 3.6 remove multiple info about language switch + caused by [german] option of "babel", bug reported + by Rüdiger Wapler, Universität Tübingen, + corrected French translation of \bibname + +21.05.03 svmult.cls 3.7 added the titlepage environment, enhanced the + thecontriblist environment + +26.05.03 svmult.cls 3.8 other few fixes of minitoc, bug report of + Daniel R. Grayson (UIUC) + +27.05.03 svmult.cls 3.9 oops - fixed minitoc feature again + +23.07.03 svmult.cls 3.10 changed German Index to Sachverzeichnis + +10.01.04 svmult.cls 3.11 fixed reference to wrong counter when + using the subeqnarray package + +07.04.04 svmult.cls 3.12 made headlines more flexible using \runheadstyle + +16.04.04 svmult.cls 3.13 fixed footinfo option + +18.05.04 svmult.cls 3.14 fix for babel option "ngerman", normal dot + leaders for TOC entries of type "chapter" + + 9.06.04 refguide removed reference to obsolete style, bug reported + by Martin Stepnicka, Ostrava University + +13.10.04 svmult.cls 3.15 fixed footnote layout when using footmisc package + +12.11.04 svmult.cls 3.16 corrected french spelling, grâce à Jean-Pierre + Francoise, Laboratoire Jacques-Louis Lions, + Université Pierre et Marie Curie, Jussieu + +20.03.05 svmult.cls 3.17 fixed \sidecaption; it was broken when used + along with hyperref package + +20.07.05 svmult.cls 3.18 revive running heads for float pages at + chapter ends - experimental + +23.09.05 svmult.cls 3.19 fix for babel option "french" + +10.10.05 svmult.cls 3.20 fix for hyperref compatibility in minitoc + +12.01.06 svmult.cls 3.21 removed Springer branches from titlepage + +24.01.06 svmult.cls 3.22 corrected position of pagenumbers in TOC, + bug report and patch by Joachim Schrod + +03.08.06 svmult.cls 3.23 new command \Preface: \preface with TOC entry, + suggested by Deborah Doherty, Springer Norwell + +22.08.06 svmult.cls 3.24 fixed minitoc feature (removed last empty page) + bug reported by Carlos Langer, University of Cyprus + +31.10.06 svmult.cls 3.25 fix for various babel dialects in english + by Ben Liblit, university of Wisconsin, Madison + +28.11.06 svmult.cls 3.26 fix for hyperref compatibility of \title pages; + triggered by a request of Venelin Chernogorov, + university of Sofia, Bulgaria + +29.06.07 svmono.cls 5.4 first release of the SVMult class + with new global Springer layout "T1" diff --git a/chapitre-2009/instruct.pdf b/chapitre-2009/instruct.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88e206c1a51db7ed35034a18186044717e670a6f GIT binary patch literal 118729 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

2=y(t=~|1PD2qyQ*A{w?C}+p@8!dO) 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 literal 0 HcmV?d00001 diff --git a/chapitre-2009/jointly.eps b/chapitre-2009/jointly.eps new file mode 100644 index 0000000..8090446 --- /dev/null +++ b/chapitre-2009/jointly.eps @@ -0,0 +1,266 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: jointly.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha7 +%%CreationDate: Tue Apr 8 16:04:24 2008 +%%For: makhoul@soleil4 (makhoul,,,) +%%BoundingBox: 0 0 342 312 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 312 moveto 0 0 lineto 342 0 lineto 342 312 lineto closepath clip newpath +-155.0 429.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06299 0.06299 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Ellipse +7.500 slw +n 2700 2250 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 2700 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4050 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +0 slj +0 slc +n 2700 2295 m 2700 3600 l + 4050 3600 l gs col0 s gr +% Polyline +n 3375 2925 m + 3825 1935 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +2475 2340 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +2475 3690 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +3150 3015 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +3600 2025 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +4140 3690 m +gs 1 -1 sc (3) col0 sh gr +% Ellipse +n 3825 1935 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 3330 2925 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4545 4950 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 4545 6300 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 5895 6300 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +n 4545 4995 m 4545 6300 l + 5895 6300 l gs col0 s gr +% Polyline +n 5220 5625 m + 5670 4635 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +4320 5040 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +4320 6390 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +4995 5715 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +5445 4725 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +5985 6390 m +gs 1 -1 sc (3) col0 sh gr +% Ellipse +n 5670 4635 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 5175 5625 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6300 2250 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6300 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 7605 3600 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 6885 2880 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Ellipse +n 7470 1935 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr + +% Polyline +n 6300 2250 m 7470 1980 l + 6885 2880 l gs col0 s gr +% Polyline +n 6345 3600 m + 7650 3600 l gs col0 s gr +% Polyline +n 4500 4993 m + 5625 4678 l gs col0 s gr +/Times-Bold ff 222.25 scf sf +6075 2340 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 222.25 scf sf +6660 2970 m +gs 1 -1 sc (4) col0 sh gr +/Times-Bold ff 222.25 scf sf +6075 3690 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 222.25 scf sf +7245 2025 m +gs 1 -1 sc (5) col0 sh gr +/Times-Bold ff 222.25 scf sf +7740 3690 m +gs 1 -1 sc (3) col0 sh gr +/Times-Bold ff 238.13 scf sf +2745 4050 m +gs 1 -1 sc (G) col0 sh gr +/Times-Roman ff 190.50 scf sf +2970 4095 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 238.13 scf sf +3150 4050 m +gs 1 -1 sc (@ t = 1) col0 sh gr +/Times-Bold ff 238.13 scf sf +6300 4050 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +6750 4050 m +gs 1 -1 sc (@ t = 2) col0 sh gr +/Times-Roman ff 190.50 scf sf +6525 4095 m +gs 1 -1 sc (2) col0 sh gr +/Times-Bold ff 238.13 scf sf +4590 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +4860 6750 m +gs 1 -1 sc (=) col0 sh gr +/Times-Bold ff 238.13 scf sf +5130 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Bold ff 238.13 scf sf +5850 6750 m +gs 1 -1 sc (G) col0 sh gr +/Times-Roman ff 190.50 scf sf +6075 6795 m +gs 1 -1 sc (2) col0 sh gr +/Times-Roman ff 190.50 scf sf +5355 6795 m +gs 1 -1 sc (1) col0 sh gr +/Times-Bold ff 206.38 scf sf +5535 6750 m +gs 1 -1 sc (U) col0 sh gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF diff --git a/chapitre-2009/jointly.fig b/chapitre-2009/jointly.fig new file mode 100644 index 0000000..93de242 --- /dev/null +++ b/chapitre-2009/jointly.fig @@ -0,0 +1,78 @@ +#FIG 3.2 Produced by xfig version 3.2.5-alpha5 +Landscape +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2475 1845 4275 3690 +6 2475 1845 4275 3690 +6 2475 1845 4275 3690 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 2700 2250 64 64 2700 2250 2764 2250 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 2700 3600 64 64 2700 3600 2764 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4050 3600 64 64 4050 3600 4114 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 2700 2295 2700 3600 4050 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 3375 2925 3825 1935 +4 0 0 50 -1 2 14 0.0000 4 150 120 2475 2340 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 2475 3690 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 3150 3015 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 3600 2025 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4140 3690 3\001 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 3825 1935 64 64 3825 1935 3889 1935 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 3330 2925 64 64 3330 2925 3394 2925 +-6 +6 4320 4545 6120 6390 +6 4320 4545 6120 6390 +6 4320 4545 6120 6390 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4545 4950 64 64 4545 4950 4609 4950 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4545 6300 64 64 4545 6300 4609 6300 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5895 6300 64 64 5895 6300 5959 6300 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 4545 4995 4545 6300 5895 6300 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5220 5625 5670 4635 +4 0 0 50 -1 2 14 0.0000 4 150 120 4320 5040 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4320 6390 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4995 5715 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 5445 4725 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 5985 6390 3\001 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5670 4635 64 64 5670 4635 5734 4635 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5175 5625 64 64 5175 5625 5239 5625 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6300 2250 64 64 6300 2250 6364 2250 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6300 3600 64 64 6300 3600 6364 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 7605 3600 64 64 7605 3600 7669 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6885 2880 64 64 6885 2880 6949 2880 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 7470 1935 64 64 7470 1935 7534 1935 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 6300 2250 7470 1980 6885 2880 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6345 3600 7650 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 4500 4993 5625 4678 +4 0 0 50 -1 2 14 0.0000 4 150 120 6075 2340 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 6660 2970 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 6075 3690 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 7245 2025 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 7740 3690 3\001 +4 0 0 50 -1 2 15 0.0000 4 180 195 2745 4050 G\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 2970 4095 1\001 +4 0 0 50 -1 2 15 0.0000 4 180 795 3150 4050 @ t = 1\001 +4 0 0 50 -1 2 15 0.0000 4 180 195 6300 4050 G\001 +4 0 0 50 -1 2 15 0.0000 4 180 795 6750 4050 @ t = 2\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 6525 4095 2\001 +4 0 0 50 -1 2 15 0.0000 4 180 195 4590 6750 G\001 +4 0 0 50 -1 2 15 0.0000 4 75 150 4860 6750 =\001 +4 0 0 50 -1 2 15 0.0000 4 180 195 5130 6750 G\001 +4 0 0 50 -1 2 15 0.0000 4 180 195 5850 6750 G\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 6075 6795 2\001 +4 0 0 50 -1 0 12 0.0000 4 135 105 5355 6795 1\001 +4 0 0 50 -1 2 13 0.0000 4 135 150 5535 6750 U\001 diff --git a/chapitre-2009/jointly.fig.bak b/chapitre-2009/jointly.fig.bak new file mode 100644 index 0000000..a8bf82a --- /dev/null +++ b/chapitre-2009/jointly.fig.bak @@ -0,0 +1,67 @@ +#FIG 3.2 Produced by xfig version 3.2.5-alpha5 +Landscape +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2475 1845 4275 3690 +6 2475 1845 4275 3690 +6 2475 1845 4275 3690 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 2700 2250 64 64 2700 2250 2764 2250 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 2700 3600 64 64 2700 3600 2764 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4050 3600 64 64 4050 3600 4114 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 2700 2295 2700 3600 4050 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 3375 2925 3825 1935 +4 0 0 50 -1 2 14 0.0000 4 150 120 2475 2340 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 2475 3690 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 3150 3015 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 3600 2025 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4140 3690 3\001 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 3825 1935 64 64 3825 1935 3889 1935 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 3330 2925 64 64 3330 2925 3394 2925 +-6 +6 4275 4050 6075 5895 +6 4275 4050 6075 5895 +6 4275 4050 6075 5895 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4500 4455 64 64 4500 4455 4564 4455 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 4500 5805 64 64 4500 5805 4564 5805 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5850 5805 64 64 5850 5805 5914 5805 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 4500 4500 4500 5805 5850 5805 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5175 5130 5625 4140 +4 0 0 50 -1 2 14 0.0000 4 150 120 4275 4545 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4275 5895 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 4950 5220 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 5400 4230 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 5940 5895 3\001 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5625 4140 64 64 5625 4140 5689 4140 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 5130 5130 64 64 5130 5130 5194 5130 +-6 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 1845 10125 64 64 1845 10125 1909 10125 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6300 2250 64 64 6300 2250 6364 2250 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6300 3600 64 64 6300 3600 6364 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 7605 3600 64 64 7605 3600 7669 3600 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 6885 2880 64 64 6885 2880 6949 2880 +1 3 0 1 0 -1 50 -1 20 0.000 1 0.0000 7470 1935 64 64 7470 1935 7534 1935 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 + 6300 2250 7470 1980 6885 2880 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6345 3600 7650 3600 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 4500 4500 5625 4185 +4 0 0 50 -1 2 14 0.0000 4 150 120 3690 10035 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 6075 2340 1\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 6660 2970 4\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 6075 3690 2\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 7245 2025 5\001 +4 0 0 50 -1 2 14 0.0000 4 150 120 7740 3690 3\001 diff --git a/chapitre-2009/old.tex b/chapitre-2009/old.tex new file mode 100644 index 0000000..70f3aaf --- /dev/null +++ b/chapitre-2009/old.tex @@ -0,0 +1,25 @@ +These default coding systems were tried to encode text +in the buffer `Fusion-chapter.tex': + (undecided-unix (3661 . 8211) (3675 . 8211)) (iso-latin-9-unix (3661 + . 8211) (3675 . 8211)) +However, each of them encountered characters it couldn't encode: + undecided-unix cannot encode these: ¡V ¡V + iso-latin-9-unix cannot encode these: ¡V ¡V + +Click on a character (or switch to this window by `C-x o' +and select the characters by RET) to jump to the place it appears, +where `C-u C-x =' will give information about it. + +Select one of the safe coding systems listed below, +or cancel the writing with C-g and edit the buffer + to remove or modify the problematic characters, +or specify any other coding system (and risk losing + the problematic characters). + + big5 utf-8 euc-jis-2004 euc-tw windows-1258 cp874 iso-2022-jp-2004 + windows-1255 windows-1253 adobe-standard-encoding next mac-roman + windows-1257 windows-1254 windows-1252 windows-1250 windows-1251 + koi8-t gb18030 gbk big5-hkscs utf-7 utf-16 utf-16be-with-signature + utf-16le-with-signature utf-16be utf-16le iso-2022-7bit utf-8-auto + utf-8-with-signature georgian-academy georgian-ps + japanese-shift-jis-2004 pt154 utf-7-imap utf-8-emacs diff --git a/chapitre-2009/quickstart.pdf b/chapitre-2009/quickstart.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c7ddd3ac7501d326df074f82c0ced0e824fec7b7 GIT binary patch literal 31706 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 +Babel and hyphenation patterns for english, dumylang, nohyphenation, ge +rman, ngerman, french, loaded. + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1 @ + ARTICLE{1, +? +! Emergency stop. + ... + +l.1 @ + ARTICLE{1, +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + + +Here is how much of TeX's memory you used: + 8 strings out of 95341 + 238 string characters out of 1184181 + 44877 words of memory out of 1500000 + 3290 multiletter control sequences out of 110000 + 3640 words of font info for 14 fonts, out of 1200000 for 2000 + 14 hyphenation exceptions out of 8191 + 6i,0n,4p,29b,14s stack positions out of 5000i,500n,10000p,200000b,5000s +No pages of output. diff --git a/chapitre-2009/refguide.pdf b/chapitre-2009/refguide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5d944ab84ca64d3eb1a09e91a7e00ef81c43d425 GIT binary patch literal 190989 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 z z3LRnujW4|lhI$`lSv2cKqaf|@7A(*;!aC(h!z2zUhFkIZ+nyOYUpeY-37nX&2M6mR zFjg{L=9tr#-v=Y%m7e&XgomMNfAuD^wlzZcm>b`!7ig5<#$slF3s4g6kj|zXU1QhF zcj2Vzr4lK;fc`Om2Kv=yg_!-O0k2xQ<93a0!}q`kjuj&m;;`l3LR~aZ7stI>@Y0ZU zn6=59d5v^MzKHR|@f|NS-bjuhGM&(%8HoSatgB_328T4Y6DA4P(7`P9cG&c9a4_|K zV_cOfNazcYQB@K_3LtIsQ6BqzUo#xCh0HZ<@kx1~OY`L6glr+_3v||&R}7S>ht+mI ziwwdp}q5 z>anI!Q(U&pf?}W%LcI?gR@LR)s(g&d?hvmAHWc=aF$2xBP70o{h!7_b$OX=*!tO`R z8px3=bIbH@7UE25C}iXAXoPEZABt%81ovMWzG;AK;^LqRT8D@^dE*uyQX+r;8uzR; z7D*Wk)6D5k`Z1V;ciz~oBrnNz;?cqJ^|ETVzc@l&cGPO(alR*Tq`=2Y2gI?mYds=a zyvclAPvnY_{T*rH{GEl#Hw5cimhsf&f_by^s1Mcdx=*C+o#VCusf7j=%LUPs^1*>X zcn!qW83QVvuS%oD4*bomw?W5{-1S3FR6%*|M5f|ZxSTFcFcNz0a3(A{4(C4XGO$FO z&}q&A2SUDTbBttR#H32mifrcNV&D5cfW6?3tVE=FmOqOf3!SE0(755ff2?nKUt)-d zt{BtJv+I>?j9QHxCcQDJ0$h=Py(|P0l;)F;k`K4~>X8u@H}JV4wSQMF{o-{ofmnox z^fH>)^wK!ORVZL>4<>hc2O-=A%!mlyG3Jxo09i~&V3e!OM|hNm3d=(CvWvuH>da$f zG224Kfm`A6CX!nTjRKXc^1_zQDO{4I+KYOqi_-^cPlLJ(*^irY9=MghcE05VNUd89 zSdj9Uv3Ah{dTgLGSpEIed64{Nxd5M9|m$mDKbRKgW08! zn}h8;zA70G=%QThB`jXLX1u*zf<5XDn(`5^<41x`JG&(q?&5MR)b0*jl}0;v8TtlImiOSM zmNh%C_Hq8b*yN!86LHd!le~}fJ<)w9vrkK(&{biHb%T!=X@Wb+_>5i!<$<|E@05U*N?Q+v@R`YqsUxGv`S zMOpQax5-t}ru8SLx$DwbfNtiG);fPzKA!IRaJve~MtTw2Z6k+frINYZVeKn=btpW; zeJzYgd{BzkMdY+QA*6 z@b=0`&C_<9a*-fx_9grkhR(n<1n7JCvrgxOx130$W;6bjL^Y=x)mZyN!3JbYIBe)12=C;Bb0Voh6hV%CpT_29|eW5Si0;39->3? zM}z(r47U~c;HTMH?8LgWCF~MSATF(Fy!V z275#s-?N5Uj_jT=T{SySdE0b>9X0z1O(YsL>ZejR#(}vr!VJ`kY{zoWi-scl?~Jqj zYb~ct1}D_C$=|YeM1N$F=y>DOod39|JJ28DLG-g0wbqpIW?AV@Tz_u5E-H`*rlR&8Bn_SIsn>s<$hb%b%Y>0u<|I78BZ^hwk08Zh9q*`-5db#$c22;vZ5f4- z;ltseN|4qNhDBedvMFA^>vj(Q{5g$==~T}#7xMkSww=Y9w}o?&-*vQ7@hZ7wpTLY1 zsUJLf-R7xOZzdt=vZ+*vJ||MM_Qjz;%$huh^31C#fB0Xx z#wK-saMQwa>A##kay3ThzEDK>KR@p*)xAH{6~iR@s-NG#Sc=Cj2ezQZ_k}v=8AGh- zu$v^Y5;XWCFrO>oY_Ib(iVOayPhAx+{&!=0q4{gEPV-@zh}bAA73JwnHvtgPipwcO z*W&EVeobmnsYsu`EahhVA&7Zx-Oak1%a~7pA{eS=k|;z`ErzZ&%_>vOZ*X4(Eh55> z=JXifFO^IR8sfz-ymbx-uxHliRSoohc}E)$1`aO`^ebCBV+NIt zHn}_ruml2>%9ei6Uq_G zAmrKM;1`de9d*n%JPxbr=XiArwm;F{Ih`0{>YO8db3>0K=EhTAjS|6UH0K$s5*x#m zG0nyHo%CD9+d4ZO7fwHQ#L%AO<8QTjIEveq633*oS0qh*XCa6>rc}jz1v*O^hSWzN z!$puR&6v3`FlzRxP9;Lm$W8(Nl@!=peCw#p-(+5;K4fPSChG&}_<`+o8`UE-FJT>a z&dC^8qne;bTHHqfDcVu-Hm4%BJI-j?Z%w+AB!Bd0V@rW|SsY9O%hJ#=HSe zL5c?LQOtYFn}p&92sA1yOS7)UZUiTbw(^19=He2^mfN)gy)^#hn)C$X+}lij2)a6G zPi_6V8fek8@UaVcFd~}1kB#f|_^Gq#Cc_ifhB1{1QRCSpj(TO%Sa6kjf_5VI87?b+ z@t>n@oR|0=Q{+#nqSK_>PisKJac4N|c~05H{q~`xgI$W%HBqr81;H^yxZvlk`Zx>_ zV7hPzu)CPPueH!8?6!&RUDbHRc$|}Hc6D!9Sp}3`#?l6taSO!y z&PBrpm$CV(SzKk8HQ!Y~#nihaUyno{<1pU#K{4%C5~Bs9Os|=N*{5*(pavKJFOjFO zEg`N*ZE++^M5*o~-xsEyF7lP#vYIrFn4EL5Kw0Ap&v)QbNG9d1_&4H}N(<{iVeugk z_99U=B8M#GPhAt@kevrELA$!sWn zb`*mf%VfTkG%@i~cJj2aZ7Q}`eJ^~oG6Umz?@b&?@ojb?w}OG!Q}sF7|GYA)pWY8gs z&JA-?*PvMz-;!hI4cVw?#h2?;^o1#6DU;DcrpITwzXJ|3nk8jwG2R4_Qy*M9OP4yxi$J?jWDmM;gaW8L&5!C=|e;%(D79y z_c*;xXR<@G8~t5z`GjHn!RZxg>+%0X+gCuvk+kjN?oJ@M1{quu+}+(JxVyVUaCg^W zf#B}J-Q7KSaJZA*Z+Ekw{Qr0EJr_>XQ#CbR)!oJEcj}RM%0~-UhH^ooLXRv0bZB~i zVA5@e61xxK$(MkxZZUerzoG_>(X#iuy!(68QEa;Fx?0z<4BP&satv{>>z+z&E^*pN zK3;gW8hgeqA)Cn9RPrAkcRIN(t1{)|ZBL*g4yr>x_{Fiw>U`fnnepFq=DZmLzvv(N($O?IO>iyKdXaaRX?Arq{meqg8>%H;v!3!6 zG-*!RPgP+r-)3rj&kXqOfT)!ntEspAWU;=%g2F7K^sHs9o`kpR4dCj#)Qz2S)3;kW zkegKGpJW+1w!2y>#u6rnr^Scf_S^FvFEzR5+8g64##)w&qS#udU9=X1Fv61W4-sXLxFy# z%(JBKH?*!{Cal2gCh8bTL6);xYt$S!y!cA2S!+cb%apjY7IsnS2J*6MJX##%xR(Jj zw4{5f$$z0`ljkfT00$R11vWfn(*Qp%B;0YRL*K+w7(kNgV2aF3DJBMY>Y?3v8xhT< zZ=(!ZGOm?=I*`PAhQJrPA7m~V=`a=HO-XYG3GGB8F>2-UfZUfGf1IQdkVtGJ>7g#x z9{HK|2;B}WJM4|9n5x&Q6675oJHsA?qJODGBVIW5+;rqnpYBJcHf7yI*nrw>@9THZ ze0IY$u^%=G;8oR1Pe>_T$h%+z-$Hg!#=_2^Tb66xyw5Sun;1NU^%MDl7;73he8r5$ z`<&E&mw>w&kuX*ACPrc08~K*(*m0?^tDxs}I<<;D8GJabHOvOp74C|0pzSaf&1>sc zrT*K%*V)6dws|7tuKk<4y*O<|u3cB7z2YjYn1LN7N|!TrCO`MDi^^0Y-c|?CTHm`B zHEHXcvNCj7_=YXcQxln|zpp8-k-WbrBjuYo*b3$OD4Z59u(v9?Hw{XYHx>0F=(n1@iqPqKjy-&mDbbyNjxO1`iG+> z62(h@GF_z~H4pavJ|rfB&Mq@6ELV@}4K@w;#WI$0L7{-#yTc&`5>tCUQ-&1-1eWCj2BKiLa z75qc3{})ui2wYnK6DnY20+#;73Vvsr{(=<)_;Kt7=ds+kOuI} z0{ibZe~j-xKm{B?u>U_n1%K=ASEK;AQvMH+0Jz})pFjd2z3F$5fB{I;_>Ulgu`$5b z$llE6BS0Tu05Al61Q-E~0VV)bfEmCNU$?|tdhmj2kIQ_Sfj)H{}`aTwBm-#k)t^w^kLL#t3axy+NqIzv& zK2-jI6ck|^L8id2kHJ!CQtx2Mi69D~as^P~mWH-wHK?#rF6w<}j1r9!LoR1DF?MpP z?D^%spqHOEKV1D#ozJ`nCOdpStu^r(7)!%G=|wf%tOf+X%REqOrrdyXhgJ8LDU3Zi zY2-klMn$*@PN=5L@o=306(t9yXW=t(Z)W0JKwA`d;7BAQB!Pk?iIT8m$?z32 zvJ>Q(oK{7+!@RGv(VqblA0|G^x0DO9{nl4mU zm_m6omiPQ*YpS{)y6L+C;S7xaXvdv;U@!y3h+zxxc?P}#j=nhtYKVHQ`U|Py1`=B^ zL}+2)s5mlAS`_i18Jtj|*Lwh0H~pgknZTHM_<#vVyIT-iDDLkaVV)SVpEu~%eEIVy z)dDj>F-vXnMG~)Q1beT_qWD4?^wkg}#I!S0LNhTE6&)I{W5!iG66o@9+{DdqmfK&y zoIWX>j!Kc5U5sn)CcM1cv~e5UAV9-wfH(2j;lm!3VK>wj52pon z#y9wxmB{+kxu{Am)oC8ieugFQwpV+zAC*;_a0D+b?s5AYZ4Rb(RX6_q6Dddi=;BgI z6YR1>vf`CXJLYXYEUG$bM@dsIoh*+j;_J$%xg`nYPG>h<-EWkPYjx?Uhtif!Xss~= zrER=ywQ4=}Zp&YWzN#B_uf=@@Ri6AY`p{qP9RXa}sdu}1DI3hVc_@6{S$(#pU6GZX z)VZm@hQGw3@JTqfD;k-+Q<554-AByqYX6cO7h^5CvNTJjY-fM?qY|%Zzxf3-A=X1+ zYJdBIY)QN|k6zC~aRIcWn4O;Gn?$@iw&X%Z1$EM>4)_l2K#;EG2QNp$JoraH-RWCv zS#>e&G~4{c+J;s`UbZ~dD@$;$C9U_O&>}Y*(Z0m)rjg6lg~zH4G{** zX9{Z_?Tap=Z|+I0vS&=2NG8jgPFv1hkkx&K39Y%rv&Ud=E^E|7%*6d{6i7EhZxc*t zVe*xH7f&rR64qONnmgLE`D(Rkey0TxO_(l**D^573g7JPm3{B>tY!NauBrc?Dr1X- zg+;md{kFAq3NJcY z>$*6b7lkIL8qV;cj0d!FE_Ieu@AdX=+vf&RDQf`oYKBC#xgjJ(SVi=uBH{Ij5baVA zp-Ppi@*2moE0BEDn>$=udmr0O>N$O7(YNpFF=PVA45-vNarmrn@y4jmkO3$4j%?q1 zO4g+|QCcHJyVwU&MBC}?I2!ZYNgTl4;B5Mq@GO&walGLDM-~&Gll$lm=+EfJq|3>y z%q?Sb9tzDq*BxB?%SDT+9NhF&hsX+bE`?diDYV=N$0~=+PKQ^J_s7x0706$d4$F{U zrMGcYh$fS?$V-|#>tB^c>oj9O9DW}X*Q$Mq_)IV!9k*Xe3tuCZ(WJ<2)?B5sK4^;E z$TC%1+|N^-WI5H;Sn6VAw@Rz+GHiTSTX}j6l?u5x5I*I>{-9~(xIU<3l2-6}qgd3r zm4i&;BWvt1ayCqf>wfB!@bgL*yj|-iZG`L4Lid2nrDE<~ok&oO68nvQ>U843j7Q&> zo#0vgChaqqdn`t2Gyk{!`&c>XNmzE!D(Va6bmiVjxa&wB7j*3n(luU7Y+!UNIgP4Q z1Z;cGHyZ+d}yR`MFXTH0i4~b!%~@&tv;=Shyt6dj*?!8~dBiLb6XL2-zto z=VpG{d+QM&9WwaBn2Q?QT9E(4u`pJsGlJk2;mlv zvSneVZ>L@cLau%MI)Z$~-~=1d;`#5qr))YZ0)_ug-1#@!>wig6`5C|bmlT!X*uQ_H zs7Pq2s)zx@P64%lrKm9eMgaab{`$StNtF2BT1zmkss>)7dkqNn_g z4E#qZ!^pz?lSE`>ZQ^JO1bpRqyk&&I~oZY z0SQV*z%K-F4vzLl`c`nROQ#9SY8k6jdVWN()?MI;5I}Cf3t|kBG$~?aOAGqS>gp;n zzrUs};&-%_;IpTz?2ltwV_KuktL$y&s*?u#+=L9J zE*U-tQNu|^rKajV@eM}WL$RZ|*yz9kG)3IC^2Kcvb}AgByDIS;Zy+@N#k3+cnrdtn!LV)%<)bv0BwDj z##i1|34)$OO%hMC;{@3FJot)O`f5pk2m?j)M&o(H+ zCR=l0jw(-dgYV$X%v1J8N6K?zB(aK0un!472nDk$ z9&^r3HVUQh;NA@jF@=x73J3*z&f6VXU+7MVFHkS(oGGAENMk;8oN79YBS?3uP{*I) zdMCfj`aTk3Gwh7_XH+={Bl(;wOYb1JX@tF`H|jh}J`=Nn#E*1@Jtoe)Ojs!1@Ln$| zZX>t7GkwjSH<`L;zi8!&{Z6>$uKXxi_|a{)`UPH>mFQ=2RQImAYW3%zXWhH^?jarL z$~_kV&sp0CV2g}bqT|oO!@756n-AFS=8ezrueUT5@8In0O!T%v7^>UbwX4EcKAEG9ct~LY0OVdO`yLz-_7$bAKyINu(A5IUGU|=PvF>XQud|* zI!Q_yOL`?qZ1OOo`m?ACsq_k%t9gQ=FKiQ$9r`QHwBCw&`k{vE>+1w(xzeh3eKZ*Q z617gX#kf(~kHHbm=<6>XA72)1YwlTM0>Yd!yB=Yjh}zu3S7S6S80h%{Ri5{=G!JM=Q^OCZyB9IIIB0b$oZeZ(OUOuM*N%$H(`yc_On< z$7CVPV>8lcGiH2wc}m(8FjoxMRs@Az`%L=MRYd2aW|kMUTNrCh^6t6F7JcA2exTUP zcWcbrZheWVuumJfDBMe!U&M4_+XdfurIuc%wSrb6l!}W!zFACG3aQLHP5=bit6!)` zf8{}1@~h0yBae-WEDk|63-frY?-v5y5GVTVUM_gNxfG13D|-v^_W7f2(L!E&n1LQSU6yq3m&l4Zq<*t zNIMYS%lVB_{4zo$BLvix8BXOhoLPC17oFMk<`w>FUr+lX%n1*&`1R_HqU${8^p;^@ ze+MBw6t$0`wHj&H?i&S&Lj&HXWrq2duR*sBS0#4Wb^ZBhUmpFu*NNAfT&&AVH{i2- zL^h8cQr4vo6rj-r5;A!R{n2N$lVPh;X0Gv;+J876FgtTrsyaW+b`xv;2yU|jxfc+9 zH#a3jJ*k+u4uc8n9GoI%uOm0Q>PMZDStzOOoUn;CQhRPEB2lDOYrO!DjKo}p3PEf73f<9_YZwm z=Q-kJZLIHYUId%#pz)#bfp;Y9eijeQm~SbR&-UGsf64mxm|cAao&Ub}*H)Oy2ZK(S z*sq;1b$7)?=misO(W=Pu<3h!Ysz`cK zQ?J*oFvluaFw}b=o}NysJphNNFE#sUrgKe#jw#Ee59UKa7%>V)TTA2Z2dx1IlCRD3 zlJHHFuJ1RX1Je(qdX4j94I)v0bE9I1I8iFWM2`JghG(g@ons=Z*=~BC~{x;nyAZw!hgg*s;9MIHwl;{k7Yl-Ge9b^n|~m;8?U5#7`g!KtyMzka(J;?VEnq3&6yO4N5^tlx_Mt%;}V^NQ3}L`ndG= zzRBTn_zYd-aO-o$na0{YVs}xYfwHGC)o8)=Wf|(pxV*R~0YV4%CC7FD8$2G}IfLg6 zo!3h1J&B4~TTR3zD}H+D2gX7VYh$@8G9{_iocJ)RgunzkwEUST$Oy}qG*2eh7L z!Br-D@+#!Ce^s&!p;(qNs(@37BsRAPf&B7qiqOm+duPhO_ zGe9R<);ssAn@_Z`LXIuerg>26ux4WaG1pU)<<@g``OzCm$NXIwL(ulB=JxFn;Ave> za4(+|G9+ZUq^c?p3Dw7q@1Tk10y)&nl>82MfP69Y2W6smBXzgc~86; zl_g`-5G~RNho8#Dp(^KTxLm?#)1dzijlVp&V9*Q8D)M~8*`aktlNFfZ;bOBp{<-lZ zW(Zwf3}Yc(>JI9$P4Vz|J(!#O2v=FCXrf}mX<=(H5uiI-hrJqcRwO(6 zs2v))F*Sj5J(%eUQCW%MR=8qUik#PRd*?b=FZkE3zBU^Eq_*@m<7~$4tZzWGK8OJQQE005xVyIZk&i?GpAT~AgfSe zExht$zNqa>)!4~^X^tKB4_74NtRCJcvaBXw?G4wiPDrRN$>cT(d!wUEX>Tfi<&dk` z=mdD&8B3Lv&eNg3V&tn{B+@5HZ22oXUiDu&NI)$dIj$US=VfTE>rAt1IE#lJvl?hJ zeu;vR#x-8Q$m{jEXhcb#J*oG_30QbwGs}d#`Ai>ttX+dPpx$qS)z-(qCd%BNM7Kau zUh*O>N_3KJhqC?rj>PXpP?$tEYhTPul`S@JCy&a9>=W=9%pWwU~UsH2A{f z2nfJc6?bqqNy%fmY##>kF6*39Ya`2z(^9&x;FA`6@ke_1GJT8jt$FU#&`xq7FmgONmu80C??kkfOl=H9(_O9DQ!~EP=`-5?6a7e3HpC!hUiv4zGlfb)7jU4=-;|Q)x6`|5(-&|9wc?PkUs^=vnWK%IgrpgL<)XK{?wo_+1 zRPd`(f2fr!K*)A=*z;~oGBDc>-^JFgzzj=l6^=Pfn2luZi>;9@>0yw1pUCeauFDm# znON{bt%&N9qT%bgxg~?&E8v5Y%bvreV!UF+k{(00NSdw?YV$vw5T+y(bz2wTbh(>CtCA zUBf=Co)+j}&9^hx)l-yN;>BLei&m(I^0n3rotR;qCUUw~%P)}kpbpb7#B_6?J7wq^ zPVy&Wk?pQL&-m^R#Lw~_N*e05A;YpyhQ(I%YZmtd*zCcgHYC5161SQgg5I|2&?0;6 zEi30mndEvH9C%m<1xd@_E}#xYBXneijX)Ql*adPrA%aJ-t&bL3uk*vMdYxizMS0A1 zTv@b>(tNAyJV#4y)suA*7^I<5@ZH?-+sNQ=r6-w5LgUZ+kx{8#9Yz*lFwc_A`>s#&M?i&oP|c|H9434Z_gope z=L4-ve6MA8kI?iLm^@S*OjwlMJGNZT_~8<|P}UTQiDf<8xBKCTpT&)jgN{`F2-WTK#m4PQ*Ti;>1V0Kktb9?9 z9OIdFIg^SEUCs7F7g%)+AIbVaAf^)CQIWM@v7+Set*Zp9`=gH7qUKB~S}ZUx;-Rw1 zKC;y_H9~?(`aXz(w!jdKg`*e2dsn(nSp^U{}MSqEAN=gwRUtUiLA=LtFkbRzI;VZb z%&;3^_+eTn1ObB)^)OP1T6G6kli2o$ni#N)>{p9Yk_7C*#2im}Cea9B#B|JDPg~Qml<=Jy^`KaA_&}uZDQA<+l zfPtS8a@u+l3AhqnxB@#Qs`HstxNbF>yzov%j*J(;>;B<79BO~MfZ{2S$yK;isG6Eh zv#_pF#6|pIYtgVH{!nz`imhIYG4|9B+WoQ|p+g8i4BkM;w70KdihP#dpgjs=u-Fi4 z@d6JxHj7(^v7cvN{&MF>?zpJOHn*l=Dp6Hd3zou*B}~{;HMN$?##Z(x}0TV)lw zO;VOR= zqs`6Mv7aKkCkxTxOu`Dcs@`y6kT#LF+ZU&vdfSKaB zLE5?$O;7DpX|GoIYKv&nn%-%Kg}$%QK{Anrg^bsu6_-U=;^{|z_!5_TE8$;@WLcFO z2|hZFwmXDXYa%wb20#8}y1kK9s;4W}vtRXTDny%Xmh{^~hY&liuBqs-|3iv5d-c=w zcRp9YfDHHC5Bo@8W&1`y>E5%hz_(MSKYR3IWqYV;-s}joQjjKHGqa(g$!>m<#C5g! zVro*n6@L+;6F2Mf5z5y>gBxDAEHfA3?0_X)c+6hYV(az{DO@z(6<#VF|e>~iZ#LO_s*h1Ni?11xvyidc!+=U8P;(?&sD4TpxaArRcl zvhG3(siU=%EE>EyyVNlk0%$@p!r!3!}-o&HzIm{#A*y#E-AJvT`I((EOEi z)$L>}cHqR3f?jb0b+}zD&IfkAFDI9&SA2ZC=&F)O-1W3mDvOijE1$$wdrJ$k)f#r> z@T0&74@(G~SV85G=%FL>>_?2x;vQNb%aL}&7&F*$>vfoo;ufEo_Ct~7O~#PzJUhiI zHE^6?q~3l`{r26O!hRb0wn2Q=vATQ`46w-2o-_y|t$w$_gk!&}xQX8fmj(VfS0QJZ zm8t;8j6;sibFjd(6cxsi!+Hw4lKAM6Ng3_Ctwa?ND@fR6Gt4Okw-4#LeQNv0#>VO0 zbxRJm;3TudO>_C#hQ7*M5opMFF>r+%)w35Esk6$v*o?_mX`Cl@ER@>q71^CmS+~dT zc@VwDtId3i^)|6xpFhOG%m`;Vsq5-3+A@BFiNILKq5bsMwhg|8YG6$F!*%VhTeg}` z!W8Rci$1A@h`Q`|A^Xj1$p!lq;YPJpMbIt4ru)+Ot&hROh2c`p?cng?AKq|r;BK6k zu=i(?^T26P4mNr<&ZOiEG41JpioSa%gZWLM4BFdbm~Kr%@owURh)J1FE_ZR(nw6iY zJa7bFhawTiwMXUjOiRIK{n`s1W zMw%YmQzl-yow#b6JadpD?)K87bsf9w8kw+KKeu2u4E2$BBxCYNXr9A?fn3|r_jRHY z1h)0_(WwjLYthW4^N=;Ev?~W=%KHS~yJ!;K#ymV%vMI2$Lzr>A*YBvc{S;S4d+ic^ zjeFDDAI`nT!@%Lz?&+%JBiS$(o`MP4yf#)x=uWDyOUfe>?dBMrO7EzY7%_(@(u)eG zjJ}pxz=e5+uMUc+f!ZILgG?y*T2Z1F52KVE!40dE)u{o%QzMRf|GU$HnA^zrL#L(l}4DI2nTd& zEMl#2B-%n3Af6esA0h88F=e%p@riO7_9wzUVaLd95v$I8-Nd(?4|;xqF9PCI#$uDvk~aqxfW1 zbzX%hAvSPM(80>2d1|juUU-{cjOX)hbNPms zcgL3!?<@CK`8JX`OKbvXIttqqrozb?8eX%k8g+&*|Q38`HA1VIJPv z$Bx5&-fW8SsY}I(T8GK|(S(bt-3h9;x2hpH-0NZA_@$vEAK0AUXT*qL8hBgh{ZP&c zj&Fpcqy~+dHa%96t!ztagx0~bl~&f!aTH4ZWP&cm=nBC6xQ-3!h$?kz42m^GiNk3*_ zVjPGXKV{M$C#J5$O-@t~xWlLLsIYRWgw!zm~Xc$l%wXW zsS2(GM+{n46VXa*(%0X(pkm2B@629{@()-#?_DB0Y`2V(tKiWOYAlSt*k^qje*dzG zOn-uuJ)59IDQpCc65SH;HXuCi6EE%^mik5M1cS}CN1gvS|2pRgWp}z9l zttzsD@TK--0#+L^t=M{uW-8g7T1byd)M{RIrn5;^^*5i`sgb5+)ohBCnx4|k{3fZZ zw=he$DANYvLvG0kDh!#k=>-foq~~=Ylc;@30vP&?j%aip*V=m~V+zhWuoo(|1)hYR zsj}bcXp(_cQ4=uk3ct%0$>Q#-UOK?eF-5JHu&cS#npLqf28ssL02ptGB&aiW5D6?P=v4OLpCBpoYhY`x_EIT^4-b?q9kK(?IXY z6;qC!!1=zU2^JNwaGf-6-p+uOuRkPEj`JiHAuU&6-*54Lb-1L1|N0_LlRkouImA@} zdTq72p5GOt>CE9>uCX0oHU{R~K}xH}+4)x4x`F51rtr}9I!tyb)on!r z`1Lm#M^>{w_6!?C>!A9BXr66{-wsD%=7PU1dXK^x4_xKy;^fS=IDs0O#xkd;TwUzo z-DW3@y^pvaqbNrkmQBzgSmz+#9{WBm#cn~ORp59!)0xP-IkOcaEHoy2J?SW#+k&sS zptBOMfrQV-j#y}r=^qkk861e9?wno8j;gd15P$%-$?X@2?kieE-4xL-+_mB#lhI03 z>No9p8{^M-qR)yXI*=Puj48HISB*jbpME@Q7H zq>Y=XIN*~c255U=^)A9y0C2#rKSVxBqckrG_=kYl2|e24pbk@jVww{bNg1b22ETRV zwySSYilO2bm zUg2O?dXCf}_hfMrT%NA?mFS`*B4@Xr%FX`am3@8Hk5kmrV-HMmzGr$R3XT#NB+#s& zXYQbkM#bB4Wyh>uQ_gq6*5V2HBB_vYF>pI>7jn6R=;9X3F(7Y58m9;s&-adkP8ssu zuAYQDzM!(4AF}FO%3|4q@7M$_QL)iC-A^xQ0tG4p3~B0nvN<;HV# zKQNnR>@0W>{}|DROFQnVO)|kH>hVf7{Ei8`g&=XJ_Yl<;KW&Q07NjU0;3eRhKNVed zj>wj~cOopqp?75h5go-LKZTE`a^_KXJn?1AFdvMfyvmbPdHqrtXL8H5Pg1?&3p-Mv z-9W+oPI{te(Rv~3l>XEq0UMqcea@L-QvGJ$LUo&$3j0z5-bfFIzJ$yr8EX2=!|^RS zT{m|typ#5Imj9kpMxY16A#@>R$pBBPy3SZ1GCBo$uw$*_m;LE!IYJ^corDDU-iG%V z!l}+Q@fWz%ew8C3fIZr%($5iGcT5FXv7`?z`tRaKI(Fo@g)^09f?F|Zu5+8Wg}PzN z-E=I~Gqu}OC1l=iI`UY}+M(Ym<(!h)`%D}|`K8u*wdMctPL;4l*`Og;z4i(>6Luuj zeR(5Q7pqO;6{2dM^ka$u8QMw088;*)o$|oe+`lA)Byk)F8_G!Oe&iSbrlRzb+bJRC z0>!Jmwd~?eRAdlaMh8hullk|;Vghr#(T8A!UexXT_URAC1iPQK?4jQR@TQg2GZ)Qc zC|yuLfFb3Ic`wyDhV`(+i+lD4tAu*EvuO_v;UtZGaS*bc=IGBxpyBHz?~$)uBf97X zuXZs!4uH~ZLdNcy$Yd7nOhtpoJ-Z zcdo3SUYjx&OnS6cG^S@&Z1BmsbH6Xlg+6-E#~e`S_1J*d6hy~a zhl%wXX>XH?YkHcn*gc}Rjq|0ubT8sTO|TcVwOaYwbC7%>KXyDkFk$1Q-3#id#eET+ zqU%g?q{CbVOW3QX{1P9UDGG*REt8NWiIdYl^;RQ}hqNNPECW@0+Fr86xei zz&(YU6d9_(iYi+&TuSN=BD@IU_)apzqEOw-8)U8b#gc8C@A<-0RJ^WarU zlFs$Du4ILKtBkm7k=ts5Ts@SjJFN zB~Qpquwd!wh7od<$io)Q8DKj?VWW+{$S4o!8_&wNn%R@6oHdZoM<>K1_{5^38D<$4 zrc@BVvQ@2qv1)06diH%qLBTh&zzq8bbFmozn*D&j*7POzQVau@D!4G|j-b!v;_bFQ zYKQ$(QzQgvCYIUl`jb0htR;sDJTbLig|-!`tH;5atH#2<)FTfGh=t4`a7pPd#=bp+ zsfYmA&wU=&7+q?LZ?1?^)b;&|iyP<7o^8j5B;$g`t+b%4gL;Kv6SKX-4}yJTHA_3^_W@;*SN;DTtaF2M1rNGVjvTJ~o6)jM)%@T!uumWDv`-me+sU z@<2-JG15MWM-00*DOQCR_ZwM$YWsLWUb9{>MElfsAk#6S3$Y%u*@q4PqUSnYvMpzM zcY#hQxc`9m4DktB_2l&W?9miQm1S@i0_!2F*JcFm;oWzxdVi|;H_Jh)w}U|iuLtJ&x*(f`>Gl^`UD+jxVrWBw^y|CRrE`w2hV1o z!{?MW`QP2?2%!B?(70`SXO5+*iWhG}Bo*MGswQV2l80&GaVt~q*J&Z7h+L2DV9%U0z+}fl?g6iO&mXDT`iA?hyj>)xjNt41ztTpGAobHm&3<}7x z)CX#jWzr&TWUIOLQoY`&wbW%q(Rl;^hi*rjjp^QfR(cN{G#LYr_bqh`PiF_J>TB!J zjP^NU=SU&;g7`e=hoz48h=efJ3h79#3}U;wRJVo{od%Gb6d6^}BsH%E3OThtJWqa! z5m@ApoA1VUbU?!4+!7hU@rT_wP-g{Hux$iPNL$v8CZ}!5y1b{VNlh%miElk55I3|@ z1V6S=2>K9>(8xykQQjzLA-?8O6(>no$R~{A3;>f><^{rRcqw@+iGq`#aZAr9ugwrq zI}VmYw2?-EJ<8PfeBTu%fY#B$H%88Dt}= z{uI+;l#9(@J72`?B2eR+c_8v8a3Gf3sZ6%SA;{#E`hyAc)AtJQ#JNK;uMboYFblPL zrhsv{{4bfzWF}g&OsvSdrq8}?A2y}Bx~+#Xr}KvhdX>i0fa$Sut21Tn)2YQxQl1^U zxSQAhM3dyh=G8bW32E@vmjGq@Tq!K-#X_a2CUC>a2Vl-x5iI@rA1 z#9NDzskK?NVpb`fvcR}THqizX?Ii#7=2NpWPP)({UNF3RM1*RdV^DorQ!t{j>4+L_ zFIlsr-G~M{XSsP$DePueusAADZP5xiRAsUI51Mrv0RtRf9L#DoOtB!^U6R=z2rskf zEA~LGB1OoT<_YGE;-kH!J5R$RfinlLRzrVZ@wz=hexK9?VO9F!u1@2~c)2>3jpx!_ z`Uq6ytQ7^*uj_u)t3e|?U&8zGh81Rh$p2`V8FBZe5C)oc0)W!bNMk;#Q!)6>aN{h_ z7FQa&oqPzsDeZ;mJYE=e|FHE;?NasKdlY5NhL^3HjUsgr*A-ce$zatz=O)zlp#W=j zH$Kr+H8Q!;PdxD6^;Na`&F|8+_B2ZJThcJKd|`CLYNs6a!RVeHVJ#^kH2kvo!U+n% zjrcVPW7QVnb|BQl@*>S4s-y)=I9bnQqz+4mv>0a%pXj`w)m{O#Ru|N2u znN9c}V$sphTK_mTq=J-A5>R^L-uo+{)r zHjVX1=NamO4prPNx--QDJolVnUUF}wd^&_DyRc~8q5L(G4A!i+qiTTy%ra(0MtZm- zs`RK{=_nR*QnU)866yi%PVyCfNB}d&TC3!}9L(q$@iXjl3+|6t!8p_`Z%5I!Hu|}| zt0e*3$#zKsl1)KRtb;L98NM&}WRhs2qA6Zv85i&#eM3hYKOPy6ukz+Xdn&8&LKCQjlm@2K#DuAY!I~CkNcUvNe}LcJvm4DFT?=xXd$ygY* zxyuRN3>Dm-eTd2x4wMKj77fPxZkyJq^PVM$7+{u{9n5aGRnlc6@r5@*$H1{3LxAD! zn`)+YlRwQ|Ob~i2i*l%q7%NjtGoTAFkz8`dMzrnloHj=+wL6u7AVkC{3P3x%#J-zD zlWAvPBnnYi*H}sOA=18G&hHnn^tGew6&>+Y7oXq<=+MO6O!BQ)5DAcUsDHz7{>_2-4+imn$#DLM zMfWetIv^|f7iAsL?Cnow-EYp@zfzo4WrZ{pRDN^e`!~|Mf64j4_*=~%1N^^`*8RP| zUn$Q2pPo*3!lrpzjFa2M7Q}0pb8ffD%9%$OcdcX#A_N3t;h=lGXbMIsctu{SVJ;Aj2A{TKm6O*D(Xr7BjQ46aCx+m2bd%^UvE~$Ns&|A7yq9_Md*o zMC`vM1o^#|o%5$Sj+yh{DgId5f$f1*@t>dh+4{H70$;QJ=Ar$^QGXu;3p-Ga2i$&+ z<>&rq&wrGEAH~lS6EF)f2hjHU=aK&yHBiY1bfE-#M-wpvy~|lyfqFn-OE!+5$73O4 z;RJfQ1K<0Fk^ZZZ^?%Js2Wst%jm?M{S^t#Zv9SERnF8$euNEAD|1fWW-q3%xV&(XK z77?*>{#nPy@{c(Mbf^5YlARGC3cU7zm6-wJK*i#pWe(=wXCD#AU+O^)j^F1Z5hvrH z?fwhNA^Wd0^?wr`0^EVJ!#~gGZ?ePRCdwcG_W>ltm1FNq z<^S~L|AYaCj51V!qppy@>#JJQkXisj{Qg@Uhe!a`r)hz=RepvTp+>f7_9Cz_xl|~I zJh{+}a>$D;Vqy?fa4=~5d}uQN*m8t9jo$C#||W zLG*;JFO^XS?>-eYaTvlue1pFV0_5g zjMQ_4_>NDJtTPDh4;qDW;^XHxqP{jco>+YH>L7Ad7)2fE+h$C&Af!FM`1~>I2Wmu( zen!NjkuOX4zsK)2CK${y<2&owG4VBX9UX-x<)bR2x#{jjx@;p{1{@nBCE0zF4e&DKfaL7Hg;d zViNy~;ejN=R@mO+Wnx{WC`aniMrIQ%yMO*^q}C<@4SXnYC?2^=r{+sKZmrRt<}^m8 zM@0)|D>akzdg}q3Ba4IPF#glneWh^hyI3BQ^;+%cdg&>KA33ts0-4TT-8;M(bQP!_ zY-X<~PGwio?IDOBk^K~z)pR-vHQaVDg9nifLry(WT7#>7s|K2n<=HjSEyZt<3Hih0 zSEXf{lSyc9E0yaWOk{2Bz8@~uxbKIMcGpAFH`8(|(%84Dm58P0hL6A;Up0MKVAo18 zDs$#&-jq6;iEErLZpCH`c>EHCbTL?Ll1x6>>pa$cH8UiZ%$?d%1y#<*!M*jI$k>5o)aT9E%BN;s_K z@m+tcK5V{-0q@2_qOAOce(x(*_}*HrtyRHoXtnQW8KX6?dO|Zu9#Ykn7FvhrinBW2 zP*(LOHWn7b1JR3e&E&^`C8*)0Y*$R|QU}OcL_|$Pjbn{~=)o}+nDLvFv&bcq5jtD> zxiBsBt9^2=m6B)rN=tLkZq>QldBEpkM6)m~Buvwmgh%fp+6-A+SqfGpmAOW(NdnHT zgtnormDDupRaKq&rYfv`-hLX34!hb9dgxC4XKwTDdK~0nho8^Fd6l{FT|{g6NjOql z_2(x#(?qROKPqAZCO!rVd$Vfta;P&25WRQgPoMihCk zNVWH^m^rJ`W_N2+H{p4Xp3qYx;(dtVc}J&@07x-Wzx^j9!+1y^P}#6W+J6^J{;Syi zf3s--dK>?fT#oUlGxA^2Bm+>J^+z-bd_Moy_%Baqen|mA4FO;@si^+%qRF3b#J>hY zK#4oB=8uQUKcY!sK=(IK=l{v5;qU$ZOEmdYNcOv51IMqbxqmWs28J+noWNvWKoLIB zuYsNY->c^ItxXK<^$jhI94(EE9RYt8?SEQN|2^RQ-Rt@n@9N*K6!1LZG=EwY{M`Nu zVt%{ie_VtAK8Rre#ufkLkbbou`1_Om=RN+T!#|$nj4XfUy8wn232u&%7fgy(GgWWs|2;}6* z1JROL@qy%qplalcWzdAd&w=FU6wsdFv?Lw_@d~6v2){%Hq2l-ee*NO!{Wb^MDTIVO z*BLC32&EIrI09^e@2#G#z=m!x%f=6w&YljV56JVcI+uYYtCK|_TBh+UAYX+)K&&i6 z>p|C1LYR|I)a95`zOqX_o7gKOo0wRI4(lGinoqrI1UGhOc)h&!wY9t99AX_J_-b53j6_p3)k={ zi+oW3JPbM^CpaiK8hCqV_hKQ94Hl4(;HmX0{-Ao^fpZ-)Im+MN3To^R=I>ABNc8Zy z-a-44p9Hspr4JpDe;ZJO1L7|v;0ZH{2QHll!ixd|)eztgp0j4!!3W9#7UT`#Yb_4a zN#IBJWRXT907BIJc9k@xWm=cUC&Bn|YqmP$1+_;1i<3*Hz{@w%Xl?oY@kK;r|gV9lYmp72U>=Kz90}6!oh4}gl z$Py88y^LG}^URB^1T0W$lw;ʐs&sC<`gy7Ox5yOz)QjZh%D;a>3Ivi=oCOb!L) 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 L!Ge`*G{yc8XiG55 literal 0 HcmV?d00001 diff --git a/chapitre-2009/spbasic.bst b/chapitre-2009/spbasic.bst new file mode 100644 index 0000000..4b879b2 --- /dev/null +++ b/chapitre-2009/spbasic.bst @@ -0,0 +1,1659 @@ +%% +%% This is file `spbasic.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,seq-lab,vonx,nm-rvx,ed-rev,jnrlst,dt-beg,yr-par,yrp-x,yrpp-xsp,note-yr,jxper,jttl-rm,thtit-a,pgsep-c,num-xser,ser-vol,jnm-x,btit-rm,bt-rm,pre-pub,doi,edparxc,blk-tit,in-col,fin-bare,pp,ed,abr,mth-bare,ord,jabr,xand,eprint,url,url-blk,em-x,nfss,') +%% ---------------------------------------- +%% +%%********************************************************************************%% +%% %% +%% For Springer medical, life sciences, chemistry, geology, engineering and %% +%% computer science publications. %% +%% For use with the natbib package (see below). Default is author-year citations. %% +%% When citations are numbered, please use \usepackage[numbers]{natbib}. %% +%% A lack of punctuation is the key feature. Springer-Verlag 2004/10/15 %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + doi + edition + editor + eid + eprint + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "\hspace{0pt}" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + add.blank +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ skip$ } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al" } + +FUNCTION {bbl.editors} +{ "eds" } + +FUNCTION {bbl.editor} +{ "ed" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn" } + +FUNCTION {bbl.volume} +{ "vol" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp" } + +FUNCTION {bbl.page} +{ "p" } + +FUNCTION {bbl.chapter} +{ "chap" } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "PhD thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Comput Surv"} + +MACRO {acta} {"Acta Inf"} + +MACRO {cacm} {"Commun ACM"} + +MACRO {ibmjrd} {"IBM~J~Res Dev"} + +MACRO {ibmsj} {"IBM Syst~J"} + +MACRO {ieeese} {"IEEE Trans Softw Eng"} + +MACRO {ieeetc} {"IEEE Trans Comput"} + +MACRO {ieeetcad} + {"IEEE Trans Comput Aid Des"} + +MACRO {ipl} {"Inf Process Lett"} + +MACRO {jacm} {"J~ACM"} + +MACRO {jcss} {"J~Comput Syst Sci"} + +MACRO {scp} {"Sci Comput Program"} + +MACRO {sicomp} {"SIAM J~Comput"} + +MACRO {tocs} {"ACM Trans Comput Syst"} + +MACRO {tods} {"ACM Trans Database Syst"} + +MACRO {tog} {"ACM Trans Graphic"} + +MACRO {toms} {"ACM Trans Math Softw"} + +MACRO {toois} {"ACM Trans Office Inf Syst"} + +MACRO {toplas} {"ACM Trans Program Lang Syst"} + +MACRO {tcs} {"Theor Comput Sci"} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{ f{}}{ jj}" + format.name$ + remove.dots + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {add.period} +{ duplicate$ empty$ + 'skip$ + { "." * add.blank } + if$ +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ":" * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ":" * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + remove.dots + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.sentence + format.number.series output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.edition output + format.publisher.address output + format.chapter.pages "chapter and pages" output.check + new.sentence + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.edition output + format.number.series output + format.publisher.address output + format.chapter.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + new.sentence + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + format.doi output + format.url output + format.note "note" output.check + format.eprint output + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * } + 'skip$ + if$ + t sortify * + } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI~\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI~\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spbasic.bst'. + diff --git a/chapitre-2009/spmpsci.bst b/chapitre-2009/spmpsci.bst new file mode 100644 index 0000000..84a612c --- /dev/null +++ b/chapitre-2009/spmpsci.bst @@ -0,0 +1,1513 @@ +%% +%% This is file `spmpsci.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `vonx,nm-rvv,yr-par,xmth,jttl-rm,thtit-a,vol-bf,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,jnm-x,btit-rm,bt-rm,doi,edparxc,au-col,in-col,fin-bare,pp,ed,abr,xedn,jabr,xand,url,url-blk,nfss,') +%% ---------------------------------------- +%%********************************************************************************%% +%% %% +%% For Springer mathematics, computer science, and physical sciences journals %% +%% publications. %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% Springer-Verlag 2004/10/15 %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.colon} +{ duplicate$ empty$ + 'skip$ + { ":" * add.blank } + if$ +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{ jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.colon + new.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.edition output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.edition output + format.chapter.pages output + new.sentence + format.publisher.address output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.pages output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + add.colon + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + new.sentence + format.publisher.address output + } + if$ + } + { publisher empty$ + { + new.sentence + format.organization.address output } + { + new.sentence + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + format.date output + format.doi output + new.block + format.url output + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {presort} +SORT +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI~\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI~\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spmpsci.bst'. + diff --git a/chapitre-2009/spphys.bst b/chapitre-2009/spphys.bst new file mode 100644 index 0000000..62acb29 --- /dev/null +++ b/chapitre-2009/spphys.bst @@ -0,0 +1,1442 @@ +%% +%% This is file `spphys.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `seq-no,vonx,nm-init,ed-au,yr-par,xmth,jtit-x,jttl-rm,thtit-a,vol-bf,volp-com,jpg-1,pgsep-c,num-xser,ser-vol,ser-ed,jnm-x,pub-date,pre-pub,doi,edpar,edby,fin-bare,pp,ed,abr,ord,jabr,xand,url,url-blk,nfss,') +%% ---------------------------------------- +%%********************************************************************************%% +%% %% +%% For Springer physics publications. Based on the APS reference style. %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% Springer-Verlag 2004/10/15 %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.comma} +{ duplicate$ empty$ + 'skip$ + { "," * add.blank } + if$ +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "ed. by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {first.page} +{ 't := + "" + { t empty$ not t #1 #1 substring$ "-" = not and } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + first.page + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + year empty$ + { "empty year in " cite$ * warning$ } + 'skip$ + if$ + address empty$ t empty$ and + year empty$ and + 'skip$ + { + add.blank "(" * + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + year empty$ + 'skip$ + { t empty$ address empty$ and + 'skip$ + { ", " * } + if$ + year "year" bibinfo.check + * + } + if$ + ")" * + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + add.comma + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + format.date "year" output.check + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.comma + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + add.comma + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.edition output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + format.date "year" output.check + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.number.series output + format.publisher.address output + format.chapter.pages output + new.sentence + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.comma + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + new.sentence + format.publisher.address output + } + if$ + } + { publisher empty$ + { + new.sentence + format.organization.address output } + { + new.sentence + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title "title" output.check + format.date output + format.doi output + new.block + format.url output + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI \discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI \discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spphys.bst'. + diff --git a/chapitre-2009/styles/spbasic.bst b/chapitre-2009/styles/spbasic.bst new file mode 100644 index 0000000..4b879b2 --- /dev/null +++ b/chapitre-2009/styles/spbasic.bst @@ -0,0 +1,1659 @@ +%% +%% This is file `spbasic.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,seq-lab,vonx,nm-rvx,ed-rev,jnrlst,dt-beg,yr-par,yrp-x,yrpp-xsp,note-yr,jxper,jttl-rm,thtit-a,pgsep-c,num-xser,ser-vol,jnm-x,btit-rm,bt-rm,pre-pub,doi,edparxc,blk-tit,in-col,fin-bare,pp,ed,abr,mth-bare,ord,jabr,xand,eprint,url,url-blk,em-x,nfss,') +%% ---------------------------------------- +%% +%%********************************************************************************%% +%% %% +%% For Springer medical, life sciences, chemistry, geology, engineering and %% +%% computer science publications. %% +%% For use with the natbib package (see below). Default is author-year citations. %% +%% When citations are numbered, please use \usepackage[numbers]{natbib}. %% +%% A lack of punctuation is the key feature. Springer-Verlag 2004/10/15 %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + doi + edition + editor + eid + eprint + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "\hspace{0pt}" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + add.blank +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ skip$ } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al" } + +FUNCTION {bbl.editors} +{ "eds" } + +FUNCTION {bbl.editor} +{ "ed" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn" } + +FUNCTION {bbl.volume} +{ "vol" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp" } + +FUNCTION {bbl.page} +{ "p" } + +FUNCTION {bbl.chapter} +{ "chap" } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "PhD thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Comput Surv"} + +MACRO {acta} {"Acta Inf"} + +MACRO {cacm} {"Commun ACM"} + +MACRO {ibmjrd} {"IBM~J~Res Dev"} + +MACRO {ibmsj} {"IBM Syst~J"} + +MACRO {ieeese} {"IEEE Trans Softw Eng"} + +MACRO {ieeetc} {"IEEE Trans Comput"} + +MACRO {ieeetcad} + {"IEEE Trans Comput Aid Des"} + +MACRO {ipl} {"Inf Process Lett"} + +MACRO {jacm} {"J~ACM"} + +MACRO {jcss} {"J~Comput Syst Sci"} + +MACRO {scp} {"Sci Comput Program"} + +MACRO {sicomp} {"SIAM J~Comput"} + +MACRO {tocs} {"ACM Trans Comput Syst"} + +MACRO {tods} {"ACM Trans Database Syst"} + +MACRO {tog} {"ACM Trans Graphic"} + +MACRO {toms} {"ACM Trans Math Softw"} + +MACRO {toois} {"ACM Trans Office Inf Syst"} + +MACRO {toplas} {"ACM Trans Program Lang Syst"} + +MACRO {tcs} {"Theor Comput Sci"} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{ f{}}{ jj}" + format.name$ + remove.dots + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {add.period} +{ duplicate$ empty$ + 'skip$ + { "." * add.blank } + if$ +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ":" * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ":" * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + remove.dots + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.sentence + format.number.series output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.edition output + format.publisher.address output + format.chapter.pages "chapter and pages" output.check + new.sentence + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.edition output + format.number.series output + format.publisher.address output + format.chapter.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + new.sentence + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.url output + format.note output + format.eprint output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + format.doi output + format.url output + format.note "note" output.check + format.eprint output + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * } + 'skip$ + if$ + t sortify * + } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI~\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI~\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spbasic.bst'. + diff --git a/chapitre-2009/styles/spmpsci.bst b/chapitre-2009/styles/spmpsci.bst new file mode 100644 index 0000000..84a612c --- /dev/null +++ b/chapitre-2009/styles/spmpsci.bst @@ -0,0 +1,1513 @@ +%% +%% This is file `spmpsci.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `vonx,nm-rvv,yr-par,xmth,jttl-rm,thtit-a,vol-bf,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,jnm-x,btit-rm,bt-rm,doi,edparxc,au-col,in-col,fin-bare,pp,ed,abr,xedn,jabr,xand,url,url-blk,nfss,') +%% ---------------------------------------- +%%********************************************************************************%% +%% %% +%% For Springer mathematics, computer science, and physical sciences journals %% +%% publications. %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% Springer-Verlag 2004/10/15 %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.colon} +{ duplicate$ empty$ + 'skip$ + { ":" * add.blank } + if$ +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{ jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.colon + new.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.edition output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.edition output + format.chapter.pages output + new.sentence + format.publisher.address output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.pages output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + add.colon + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + new.sentence + format.publisher.address output + } + if$ + } + { publisher empty$ + { + new.sentence + format.organization.address output } + { + new.sentence + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + format.date output + format.doi output + new.block + format.url output + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {presort} +SORT +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI~\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI~\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spmpsci.bst'. + diff --git a/chapitre-2009/styles/spphys.bst b/chapitre-2009/styles/spphys.bst new file mode 100644 index 0000000..62acb29 --- /dev/null +++ b/chapitre-2009/styles/spphys.bst @@ -0,0 +1,1442 @@ +%% +%% This is file `spphys.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `seq-no,vonx,nm-init,ed-au,yr-par,xmth,jtit-x,jttl-rm,thtit-a,vol-bf,volp-com,jpg-1,pgsep-c,num-xser,ser-vol,ser-ed,jnm-x,pub-date,pre-pub,doi,edpar,edby,fin-bare,pp,ed,abr,ord,jabr,xand,url,url-blk,nfss,') +%% ---------------------------------------- +%%********************************************************************************%% +%% %% +%% For Springer physics publications. Based on the APS reference style. %% +%% Report bugs and improvements to: Joylene Vette-Guillaume or Frank Holzwarth %% +%% Springer-Verlag 2004/10/15 %% +%% %% +%%********************************************************************************%% +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.comma} +{ duplicate$ empty$ + 'skip$ + { "," * add.blank } + if$ +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "ed. by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {first.page} +{ 't := + "" + { t empty$ not t #1 #1 substring$ "-" = not and } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + first.page + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + year empty$ + { "empty year in " cite$ * warning$ } + 'skip$ + if$ + address empty$ t empty$ and + year empty$ and + 'skip$ + { + add.blank "(" * + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + year empty$ + 'skip$ + { t empty$ address empty$ and + 'skip$ + { ", " * } + if$ + year "year" bibinfo.check + * + } + if$ + ")" * + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + add.comma + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + format.date "year" output.check + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.comma + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + add.comma + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.edition output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + format.date "year" output.check + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.number.series output + format.publisher.address output + format.chapter.pages output + new.sentence + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.comma + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.comma + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output + format.date output + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + new.sentence + format.publisher.address output + } + if$ + } + { publisher empty$ + { + new.sentence + format.organization.address output } + { + new.sentence + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.comma + format.title "title" output.check + format.date output + format.doi output + new.block + format.url output + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{DOI \discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{DOI \discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `spphys.bst'. + diff --git a/chapitre-2009/styles/svind.ist b/chapitre-2009/styles/svind.ist new file mode 100644 index 0000000..11bf366 --- /dev/null +++ b/chapitre-2009/styles/svind.ist @@ -0,0 +1,7 @@ +headings_flag 1 +heading_prefix "{\\bf " +heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%" +delim_0 "\\idxquad " +delim_1 "\\idxquad " +delim_2 "\\idxquad " +delim_n ",\\," diff --git a/chapitre-2009/styles/svindd.ist b/chapitre-2009/styles/svindd.ist new file mode 100644 index 0000000..29ac73a --- /dev/null +++ b/chapitre-2009/styles/svindd.ist @@ -0,0 +1,8 @@ +quote '+' +headings_flag 1 +heading_prefix "{\\bf " +heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%" +delim_0 "\\idxquad " +delim_1 "\\idxquad " +delim_2 "\\idxquad " +delim_n ",\\," diff --git a/chapitre-2009/styles/svmult.cls b/chapitre-2009/styles/svmult.cls new file mode 100644 index 0000000..b7245b2 --- /dev/null +++ b/chapitre-2009/styles/svmult.cls @@ -0,0 +1,2369 @@ +% SVMULT DOCUMENT CLASS -- version 5.4 (25-Jun-07) +% Springer Verlag global LaTeX2e support for multi authored books +%% +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{svmult}[2007/06/25 v5.4 +^^JSpringer Verlag global LaTeX document class for multi authored books] +% Options +% citations +\DeclareOption{natbib}{\ExecuteOptions{oribibl}% +\AtEndOfClass{% Loading package 'NATBIB' +\RequirePackage{natbib} +% Changing some parameters of NATBIB +\setlength{\bibhang}{\parindent} +%\setlength{\bibsep}{0mm} +\let\bibfont=\small +\def\@biblabel#1{#1.} +\newcommand{\etal}{\textit{et al}.} +%\bibpunct[,]{(}{)}{;}{a}{}{,}}} +}} +% Springer environment +\let\if@spthms\iftrue +\DeclareOption{nospthms}{\let\if@spthms\iffalse} +% +\let\envankh\@empty % no anchor for "theorems" +% +\let\if@envcntreset\iffalse % environment counter is not reset +\let\if@envcntresetsect=\iffalse % reset each section +\DeclareOption{envcountresetchap}{\let\if@envcntreset\iftrue} +\DeclareOption{envcountresetsect}{\let\if@envcntreset\iftrue +\let\if@envcntresetsect=\iftrue} +% +\let\if@envcntsame\iffalse % NOT all environments work like "Theorem", + % each using its own counter +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} +% +\let\if@envcntshowhiercnt=\iffalse % do not show hierarchy counter at all +% +% enhance theorem counter +\DeclareOption{envcountchap}{\def\envankh{chapter}% show \thechapter along with theorem number +\let\if@envcntshowhiercnt=\iftrue} +% +\DeclareOption{envcountsect}{\def\envankh{section}% show \thesection along with theorem number +\let\if@envcntshowhiercnt=\iftrue +\ExecuteOptions{envcountresetsect}} +% reset environment counters every new contribution by default +\ExecuteOptions{envcountresetchap} +% +% languages +\let\switcht@@therlang\relax +\let\svlanginfo\relax +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}% +\gdef\svlanginfo{\typeout{Man spricht deutsch.}\global\let\svlanginfo\relax}} +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}% +\gdef\svlanginfo{\typeout{On parle francais.}\global\let\svlanginfo\relax}} +% +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% +\@ifpackageloaded{babel}{% +\@ifundefined{extrasamerican}{}{\addto\extrasamerican{\switcht@albion}}% +\@ifundefined{extrasaustralian}{}{\addto\extrasaustralian{\switcht@albion}}% +\@ifundefined{extrasbritish}{}{\addto\extrasbritish{\switcht@albion}}% +\@ifundefined{extrascanadian}{}{\addto\extrascanadian{\switcht@albion}}% +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% +\@ifundefined{extrasnewzealand}{}{\addto\extrasnewzealand{\switcht@albion}}% +\@ifundefined{extrasUKenglish}{}{\addto\extrasUKenglish{\switcht@albion}}% +\@ifundefined{extrasUSenglish}{}{\addto\extrasUSenglish{\switcht@albion}}% +\@ifundefined{captionsfrench}{}{\addto\captionsfrench{\switcht@francais}}% +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% +\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% +}{\switcht@@therlang}% +} +% numbering style of floats, equations +% \newif\if@numart \@numartfalse +% \DeclareOption{numart}{\@numarttrue} +% numbering of headings +\let\if@chapnum=\iftrue +\def\nixchapnum{\let\if@chapnum\iffalse} +\def\numstyle{0} +\DeclareOption{nosecnum}{\def\numstyle{1}}% +% \DeclareOption{nochapnum}{\def\numstyle{2}}% +% \DeclareOption{nonum}{\def\numstyle{3}}% +\def\set@numbering{\ifcase\numstyle %\if@numart\else\num@book\fi %default +\or % 1-case - no \section-numbers +\setcounter{secnumdepth}{0}% \if@numart\else\num@book\fi +% \or % 2-case +% % chapter not numbered, but \sections are +% \def\thesection{\@arabic\c@section}% +% \nixchapnum +% \or % 3-case +% % neither chapter nor sections numbered + "numart" +% \nixchapnum +% \setcounter{secnumdepth}{0}% +\else\fi} +\AtEndOfClass{\set@numbering} +% style for vectors +\DeclareOption{vecphys}{\def\vec@style{phys}} +\DeclareOption{vecarrow}{\def\vec@style{arrow}} +% running heads +\let\if@runhead\iftrue +\DeclareOption{norunningheads}{\let\if@runhead\iffalse} +% referee option +\let\if@referee\iffalse +\def\makereferee{\def\baselinestretch{2}\selectfont +\newbox\refereebox +\setbox\refereebox=\vbox to\z@{\vskip0.5cm% + \hbox to\textwidth{\normalsize\tt\hrulefill\lower0.5ex + \hbox{\kern5\p@ referee's copy\kern5\p@}\hrulefill}\vss}% +\def\@oddfoot{\copy\refereebox}\let\@evenfoot=\@oddfoot} +\DeclareOption{referee}{\let\if@referee\iftrue +\AtBeginDocument{\makereferee\small\normalsize}} +% modification of thebibliography +\let\if@openbib\iffalse +\DeclareOption{openbib}{\let\if@openbib\iftrue} +% LaTeX standard, sectionwise references +\DeclareOption{oribibl}{\let\oribibl=Y} +\DeclareOption{chaprefs}{\let\chpbibl=Y} +% +% footinfo option (provides an informatory line on every page) +\def\SpringerMacroPackageNameA{svmult.cls} +% \thetime, \thedate and \timstamp are macros to include +% time, date (or both) of the TeX run in the document +\def\maketimestamp{\count255=\time +\divide\count255 by 60\relax +\edef\thetime{\the\count255:}% +\multiply\count255 by-60\relax +\advance\count255 by\time +\edef\thetime{\thetime\ifnum\count255<10 0\fi\the\count255} +\edef\thedate{\number\day-\ifcase\month\or Jan\or Feb\or Mar\or + Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or + Nov\or Dec\fi-\number\year} +\def\timstamp{\hbox to\hsize{\tt\hfil\thedate\hfil\thetime\hfil}}} +\maketimestamp +% +% \footinfo generates a info footline on every page containing +% pagenumber, jobname, macroname, and timestamp +\DeclareOption{footinfo}{\AtBeginDocument{\maketimestamp + \def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty\let\@evenhead\@empty}% + \def\@oddfoot{\scriptsize\tt Page:\,\thepage\space\hfil + job:\,\jobname\space\hfil + macro:\,\SpringerMacroPackageNameA\space\hfil + date/time:\,\thedate/\thetime}% + \let\@evenfoot=\@oddfoot}} +% +% start new chapter on any page +\newif\if@openright \@openrighttrue +\DeclareOption{openany}{\@openrightfalse} +% +% no size changing allowed +\DeclareOption{11pt}{\OptionNotUsed} +\DeclareOption{12pt}{\OptionNotUsed} +% options for the article class +\def\@rticle@options{10pt,twoside} +% fleqn +\DeclareOption{fleqn}{\def\@rticle@options{10pt,twoside,fleqn}% +\AtEndOfClass{\let\leftlegendglue\relax}% +\AtBeginDocument{\mathindent\parindent}} +% hanging sectioning titles +\let\if@sechang\iftrue +\DeclareOption{nosechang}{\let\if@sechang\iffalse} +% hanging sectioning titles +\def\ClassInfoNoLine#1#2{% + \ClassInfo{#1}{#2\@gobble}% +} +% +\DeclareOption{graybox}{% +\AtEndOfClass{% Loading color package +\RequirePackage{color}% +% defining values of gray +\definecolor{shadecolor}{gray}{.85}% +\definecolor{tintedcolor}{gray}{.80}% +\RequirePackage{framed}% +% +\newenvironment{tinted}{% + \def\FrameCommand{\colorbox{tintedcolor}}% + \MakeFramed {\FrameRestore}}% + {\endMakeFramed}% +% +\renewenvironment{svgraybox}% + {\fboxsep=12pt\relax + \begin{shaded}% + \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}% + \expandafter\item\parindent=\svparindent + \hskip-\listparindent}% + {\endlist\end{shaded}}% +% +\renewenvironment{svtintedbox}% + {\fboxsep=12pt\relax + \begin{tinted}% + \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}% + \expandafter\item\parindent=\svparindent + \relax}% + {\endlist\end{tinted}}% +% +}} +% +\let\SVMultOpt\@empty +\DeclareOption*{\InputIfFileExists{sv\CurrentOption.clo}{% +\global\let\SVMultOpt\CurrentOption}{% +\ClassWarning{Springer-SVMult}{Specified option or subpackage +"\CurrentOption" \MessageBreak not found - +passing it to article class \MessageBreak +-}\PassOptionsToClass{\CurrentOption}{article}% +}} +\ProcessOptions\relax +\ifx\SVMultOpt\@empty\relax +\ClassInfoNoLine{Springer-SVMult}{extra/valid Springer sub-package +\MessageBreak not found in option list - using "global" style}{} +\fi +\LoadClass[\@rticle@options]{article} +\raggedbottom + +% various sizes and settings for contributed works + +\setlength{\textwidth}{117mm} +%\setlength{\textheight}{12pt}\multiply\textheight by 45\relax +\setlength{\textheight}{191mm} +\setlength{\topmargin}{0cm} +\setlength\oddsidemargin {63\p@} +\setlength\evensidemargin {63\p@} +\setlength\marginparwidth{90\p@} +\setlength\headsep {12\p@} + +\newdimen\svparindent +\setlength{\svparindent}{12\p@} +\parindent\svparindent + +\newdimen\bibindent +\setlength\bibindent{\parindent} + +\setlength{\parskip}{\z@ \@plus \p@} +\setlength{\hfuzz}{2\p@} +\setlength{\arraycolsep}{1.5\p@} + +\frenchspacing + +\tolerance=500 + +\predisplaypenalty=0 +\clubpenalty=10000 +\widowpenalty=10000 + +\setlength\footnotesep{7.7\p@} + +\newdimen\betweenumberspace % dimension for space between +\betweenumberspace=5\p@ % number and text of titles +\newdimen\headlineindent % dimension for space of +\headlineindent=2.5cc % number and gap of running heads + +% fonts, sizes, and the like +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + \abovedisplayskip 10\p@ % \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ % \@plus3\p@ + \belowdisplayshortskip 6\p@ %\@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalsize +\renewcommand\small{% + \@setfontsize\small{8.5}{10}% + \abovedisplayskip 8.5\p@ % \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ %\@plus2\p@ + \belowdisplayshortskip 4\p@ %\@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \parsep \z@ \@plus\p@ \@minus\p@ + \topsep 6\p@ \@plus2\p@ \@minus4\p@ + \itemsep\z@}% + \belowdisplayskip \abovedisplayskip +} +% +\let\footnotesize=\small +% +\renewcommand\Large{\@setfontsize\large{14}{16}} +\newcommand\LArge{\@setfontsize\Large{16}{18}} +\renewcommand\LARGE{\@setfontsize\LARGE{18}{20}} +% +\newenvironment{petit}{\par\addvspace{6\p@}\small}{\par\addvspace{6\p@}} +% + +% modification of automatic positioning of floating objects +\setlength\@fptop{\z@ } +\setlength\@fpsep{12\p@ } +\setlength\@fpbot{\z@ \@plus 1fil } +\def\textfraction{.01} +\def\floatpagefraction{.8} +\setlength{\intextsep}{20\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\textfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} +\setcounter{topnumber}{4} +\def\topfraction{.9} +\setcounter{bottomnumber}{2} +\def\bottomfraction{.7} +\setcounter{totalnumber}{6} +% +% size and style of headings +\newcommand{\partnumsize}{\LArge} +\newcommand{\partnumstyle}{\bfseries\boldmath} +\newcommand{\partsize}{\LARGE} +\newcommand{\partstyle}{\bfseries\boldmath} +\newcommand{\chapnumsize}{\Large} +\newcommand{\chapnumstyle}{\bfseries\boldmath} +\newcommand{\chapsize}{\LArge} +\newcommand{\chapstyle}{\bfseries\boldmath} +\newcommand{\chapauthsize}{\normalsize} +\newcommand{\chapauthstyle}{\bfseries\boldmath} +\newcommand{\mottosize}{\small} +\newcommand{\mottostyle}{\itshape\unboldmath\raggedright} +\newcommand{\secsize}{\large} +\newcommand{\secstyle}{\bfseries\boldmath} +\newcommand{\subsecsize}{\large} +\newcommand{\subsecstyle}{\bfseries\itshape\boldmath} +\newcommand{\subsubsecstyle}{\bfseries\boldmath} +% +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +\newcommand{\clearemptydoublepage}{% + \clearpage{\pagestyle{empty}\cleardoublepage}} +\newcommand{\startnewpage}{\if@openright\clearemptydoublepage\else\clearpage\fi} + +% MiniTOC +% one outputstream for all minitocs +\newwrite\minitoc +\let\MiniTOC=N % switch for MT processing in .aux files +\newcounter{minitocdepth} +\setcounter{minitocdepth}{0} + +% stolen from LaTeX.ltx - read miniTOC and redirect output stream +\long\def \protected@immwrite#1#2#3{% + \begingroup + \let\thepage\relax + #2% + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write#1{#3}}% + \reserved@a + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +% +\newcommand{\@mtstarttoc}[1] +{\begingroup + \makeatletter + \immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}% + \typeout{input jobname.#1}% +\small + \@input{\jobname.#1}% + \protected@immwrite\@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\immediate\openout\minitoc \jobname.#1\relax} + \global\@nobreakfalse\endgroup} +% +\newcommand{\@mtstarttocquiet}[1] +{\begingroup + \makeatletter + \protected@write\@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\immediate\openout\minitoc \jobname.#1\relax} + \global\@nobreakfalse\endgroup} +% +\newcommand{\mtaddtocont}[1] +{\protected@write \@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\string\@mtwritefile{#1}}} +% +\newcommand{\@mtwritefile}[1]{\if Y\MiniTOC +\@temptokena{#1} \immediate\write\minitoc{\the\@temptokena}\fi} + +\AtEndDocument{\immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}} + +\newcommand{\dominitoc}{% switch \let\MiniTOC=Y + \protected@immwrite\@auxout{}{\let\MiniTOC=Y}% + \ifnum \c@minitocdepth<1 + \@mtstarttocquiet{t\thecontribution}\relax + \else + \@mtstarttoc{t\thecontribution}\par\addvspace\bigskipamount + \fi} + +% redefinition of \part +\renewcommand\part{\clearemptydoublepage + \thispagestyle{empty} + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \@ifundefined{thispagecropped}{}{\thispagecropped} + \secdef\@part\@spart} + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax + \refstepcounter{part} + \addcontentsline{toc}{part}{\partname\ + \thepart\thechapterend\hspace{\betweenumberspace}% + #1}\else + \addcontentsline{toc}{part}{#1}\fi + \markboth{}{} + {\raggedleft + \hyphenpenalty \@M + \interlinepenalty\@M + \ifnum \c@secnumdepth >-2\relax + \normalfont\partnumsize\partnumstyle %\vrule height 34pt width 0pt depth 0pt% + \partname\ \thepart %\llap{\smash{\lower 5pt\hbox to\textwidth{\hrulefill}}} + \par + \vskip 2\p@ \fi + \partsize\partstyle #2\par}\@endpart} +% +% \@endpart finishes the part page +% +\def\@endpart{\vfil\newpage + \if@twoside + \hbox{} + \thispagestyle{empty} + \newpage + \fi + \if@tempswa + \twocolumn + \fi} +% +\def\@spart#1{{\raggedleft + \normalfont\partsize\partstyle + #1\par}\@endpart} +% +\newenvironment{partbacktext}{\def\@endpart{\vfil\newpage}} +{\thispagestyle{empty} \newpage} +% +% (re)define sectioning +\setcounter{secnumdepth}{3} + +\def\seccounterend{} +\def\seccountergap{\hskip\betweenumberspace} +\def\@seccntformat#1{\csname the#1\endcsname\seccounterend\seccountergap\ignorespaces} +% +\let\firstmark=\botmark +% +\@ifundefined{thechapterend}{\def\thechapterend{}}{} +% +\if@sechang + \def\sec@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent\wd\@tempboxa\noindent\box\@tempboxa} +\else + \def\sec@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent\z@\noindent\box\@tempboxa} +\fi + +\def\chap@hangfrom#1{\if!#1!\else +\@chapapp\ #1\vskip2pt\fi} +\def\schap@hangfrom{\chap@hangfrom{}} + +\newcounter{chapter} + +\newif\if@mainmatter \@mainmattertrue +\newcommand\frontmatter{\startnewpage + \@mainmatterfalse\pagenumbering{roman} + \setcounter{page}{5}} +% +\newcommand\mainmatter{\clearemptydoublepage + \@mainmattertrue + \markboth{}{} + \pagenumbering{arabic}} +% +\newcommand\backmatter{% +\setcounter{minitocdepth}{0}% +\pagestyle{headings}% +\clearemptydoublepage %\@mainmatterfalse +\let\appendix=\bppendix +\def\bibsection{\chapter*{\refname}\@mkboth{\refname}{\refname}% + \addcontentsline{toc}{chapter}{\refname}% + \csname biblst@rthook\endcsname\par}% +} + +\renewenvironment{titlepage} + {% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \addtocounter{page}\m@ne + \def\and{\unskip, } + \parindent=\z@ + \pretolerance=10000 + \rightskip=0pt plus 1fil + \large % default size for titlepage + \vspace*{2em} % Vertical space above title. + }{{\LARGE % each author set in \LARGE + \lineskip .5em + \@author + \par}% + \vskip 2cm % Vertical space after author. + {\Huge\bfseries\@title \par}% Title set in \Huge size and bold face + \vskip 1cm % Vertical space after title. + \if!\@subtitle!\else + {\LARGE\ignorespaces\@subtitle \par} + \vskip 1cm % Vertical space after subtitle. + \fi + \if!\@date!\else + \@date + \par + \vskip 1.5em % Vertical space after date. + \fi + \vfill + {\Large\bfseries Springer\par} +%\vskip 3pt +%\itshape +% Berlin\enspace Heidelberg\enspace New\kern0.1em York\\ +% Hong\kern0.2em Kong\enspace London\\ +% Milan\enspace Paris\enspace Tokyo\par + \if@restonecol\twocolumn \else \newpage \fi + \if@twoside\else + \setcounter{page}\@ne + \fi + \clearheadinfo +} + +\def\@chapapp{\chaptername} + +\newdimen\mottowidth +\newcommand\motto[2][77mm]{% +\setlength{\mottowidth}{#1}% +\gdef\m@ttotext{#2}} +% +\newcommand{\processmotto}{\@ifundefined{m@ttotext}{}{% + \setbox0=\hbox{\vbox{\hyphenpenalty=50 + \begin{flushright} + \begin{minipage}{\mottowidth} + \vrule\@width\z@\@height21\p@\@depth\z@ + \normalfont\mottosize\mottostyle\m@ttotext + \end{minipage} + \end{flushright}}}% + \@tempdima=\pagetotal + \advance\@tempdima by\ht0 + \ifdim\@tempdima<157\p@ + \multiply\@tempdima by-1 + \advance\@tempdima by157\p@ + \vskip\@tempdima + \fi + \box0\par + \global\let\m@ttotext=\undefined}} + +\newcommand{\chapsubtitle}[1]{% +\gdef\ch@psubtitle{#1}} +% +\newcommand{\processchapsubtit}{\@ifundefined{ch@psubtitle}{}{% + {\normalfont\chapnumsize\chapnumstyle + \vskip 14\p@ + \ch@psubtitle + \par} + \global\let\ch@psubtitle=\undefined}} + +\newcommand{\chapauthor}[1]{% +\gdef\ch@pauthor{#1}} +% +\newcommand{\processchapauthor}{\@ifundefined{ch@pauthor}{}{% + {\normalfont\chapauthsize\chapauthstyle + \vskip 20\p@ + \ch@pauthor + \par} + \global\let\ch@pauthor=\undefined}} + +\newcommand\chapter{\startnewpage + \@ifundefined{thispagecropped}{}{\thispagecropped} + \thispagestyle{bchap}% + \if@chapnum\else + \begingroup + \let\@elt\@stpelt + \csname cl@chapter\endcsname + \endgroup + \fi + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} + +\def\@chapter[#1]#2{\if@chapnum % war mal \ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \if@mainmatter + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter\thechapterend}#1}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} + +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} + +%%changes position and layout of numbered chapter headings +\def\@makechapterhead#1{{\parindent\z@\raggedright\normalfont + \hyphenpenalty \@M + \interlinepenalty\@M + \if@chapnum + \chapnumsize\chapnumstyle + \@chapapp\ \thechapter\thechapterend\par + \vskip 2\p@ + \fi + \chapsize\chapstyle + \ignorespaces#1\par\nobreak + \processchapsubtit + \processchapauthor + \processmotto + \ifdim\pagetotal>167\p@ + \vskip 11\p@ + \else + \@tempdima=167\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi}} + +%%changes position and layout of unnumbered chapter headings +\def\@makeschapterhead#1{{\parindent \z@ \raggedright\normalfont + \hyphenpenalty \@M + \interlinepenalty\@M + \chapsize\chapstyle + \ignorespaces#1\par\nobreak + \processmotto + \ifdim\pagetotal>167\p@ + \vskip 11\p@ + \else + \@tempdima=168\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi}} +% +% dedication environment +\newenvironment{dedication} +{\clearemptydoublepage +\thispagestyle{empty} +\vspace*{13\baselineskip} +\large\itshape +\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip +\leftskip4cm\parindent\z@\relax +\everypar{\parindent=\svparindent\let\everypar\empty}}{\clearpage} +% +% predefined unnumbered headings +\newcommand{\preface}[1][\prefacename]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\foreword}[1][\forewordname]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\contributors}[1][\contriblistname]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\extrachap}[1]{\chapter*{#1}\markboth{#1}{#1}} +% same with TOC entry +\newcommand{\Extrachap}[1]{\chapter*{#1}\markboth{#1}{#1}% +\addcontentsline{toc}{chapter}{#1}} + +% measures and setting of sections +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-30\p@}% \p@lus -4\p@ \@minus -4\p@}% + {16\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\secsize\secstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-30\p@}% \p@lus -4\p@ \@minus -4\p@}% + {16\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\subsecsize\subsecstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-24\p@}% \p@lus -4\p@ \@minus -4\p@}% + {12\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\subsubsecstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-24\p@}% \p@lus -4\p@ \@minus -4\p@}% + {12\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\upshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subparagraph{\@startsection{paragraph}{4}{\z@}% + {-18\p@}% \p@lus -4\p@ \@minus -4\p@}% + {6\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\itshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\newcommand\runinhead{\@startsection{paragraph}{4}{\z@}% + {-6\p@}% \p@lus -4\p@ \@minus -4\p@}% + {-6\p@}% + {\normalfont\normalsize\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\newcommand\subruninhead{\@startsection{paragraph}{4}{\z@}% + {-6\p@}% \p@lus -4\p@ \@minus -4\p@}% + {-6\p@}% + {\normalfont\normalsize\itshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} + +% Appendix +\renewcommand\appendix{\par} %article appendix + +\newcommand\bppendix{\startnewpage %book appendix + \pagestyle{headings} + \stepcounter{chapter} + \setcounter{chapter}{0} + \stepcounter{section} + \setcounter{section}{0} + \setcounter{equation}{0} + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{footnote}{0} +\let\if@chapnum=\iftrue +\def\@chapapp{\appendixname} +\renewcommand\thechapter{\@Alph\c@chapter} +\renewcommand\thesection{\thechapter.\@arabic\c@section} +\renewcommand\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand\theequation{\thechapter.\@arabic\c@equation} +\renewcommand\thefigure{\thechapter.\@arabic\c@figure} +\renewcommand\thetable{\thechapter.\@arabic\c@table}} + +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else +{\@currentHref}\fi} + +\def\runinsep{} +\def\aftertext{\unskip\runinsep} +% +% +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \raggedright + \hyphenpenalty \@M + \interlinepenalty \@M #5\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +% +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \sec@hangfrom{\hskip #3\relax\@svsec}% + {\raggedright + \hyphenpenalty \@M + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% + \ifnum #2>\c@minitocdepth \else + \mtaddtocont{\protect\contentsline + \ifnum #2>\@ne{mtsec}\else{mtchap}\fi + \ifnum #2>\c@secnumdepth + {#7}% + \else + {\protect\numberline{\csname the#1\endcsname}#7}% + \fi + {\thepage}\hyperhrefextend}% + \fi + \else + \def\@svsechd{% + #6\hskip #3\relax + \@svsec #8\aftertext\ignorespaces + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} + +% figures and tables are processed in small print +\def \@floatboxreset {% + \reset@font + \small + \@setnobreak + \@setminipage +} +\def\fps@figure{htbp} +\def\fps@table{htbp} +% +% Frame for paste-in figures or tables +\def\mpicplace#1#2{% #1 =width #2 =height +\vbox{\hbox to #1{\vrule\@width \fboxrule \@height #2\hfill}}} +% +\newenvironment{svgraybox}% + {\ClassWarning{Springer-SVMono}{Environment "svgraybox" not available,\MessageBreak + switching over to "quotation" environment;\MessageBreak + specify documentclass option "graybox",\MessageBreak + see SVMono documentation -}% + \par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \expandafter\item\parindent=\svparindent + \relax\hskip-\listparindent}% + {\endlist}% +% +\newenvironment{svtintedbox}% + {\ClassWarning{Springer-SVMono}{Environment "svtintedbox" not available,\MessageBreak + switching over to "quotation" environment;\MessageBreak + specify documentclass option "graybox",\MessageBreak + see SVMono documentation -}% + \par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \expandafter\item\parindent=\svparindent + \relax\hskip-\listparindent}% + {\endlist}% +% +\renewenvironment{quotation} + {\par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@% + \small}% + \item\relax\hskip-\listparindent} + {\endlist} +% +\renewenvironment{quote} + {\par\addvspace{6pt} + \list{}{\leftmargin=12\p@% + \rightmargin\leftmargin + \parsep=3\p@ + \small}% + \item\relax} + {\endlist} + +% labels of enumerate +\renewcommand\labelenumii{\theenumii.} +\renewcommand\theenumii{\@alph\c@enumii} + +% labels of itemize +\renewcommand\labelitemi{\textbullet} +\renewcommand\labelitemii{\textendash} +\let\labelitemiii=\labelitemiv + +% labels of description +\renewcommand*\descriptionlabel[1]{\hspace\labelsep #1\hfil} + +% fixed indentation for standard itemize-environment +\newdimen\svitemindent \setlength{\svitemindent}{\parindent} + + +% make indentations changeable + +\def\setitemindent#1{\settowidth{\labelwidth}{#1}% + \let\setit@m=Y% + \leftmargini\labelwidth + \advance\leftmargini\labelsep + \def\@listi{\leftmargin\leftmargini + \labelwidth\leftmargini\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=\medskipamount + \itemsep=\parskip \advance\itemsep by -\parsep}} +\def\setitemitemindent#1{\settowidth{\labelwidth}{#1}% + \let\setit@m=Y% + \leftmarginii\labelwidth + \advance\leftmarginii\labelsep +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=6\p@ + \itemsep=\parskip \advance\itemsep by -\parsep}} +% +% adjusted environment "description" +% if an optional parameter (at the first two levels of lists) +% is present, its width is considered to be the widest mark +% throughout the current list. +\def\description{\@ifnextchar[{\@describe}{\list{}{\labelwidth\z@ +\labelsep=12pt\relax %!!!!!!!!! +\leftmargini=12pt\relax %!!!!!!!!! +\leftmargin=12pt\relax %!!!!!!!!! + \itemindent-\leftmargin \let\makelabel\descriptionlabel}}} +% +\def\describelabel#1{#1\hfil} +\def\@describe[#1]{\labelsep=12pt\relax +\relax\ifnum\@listdepth=0 +\setitemindent{#1}\else\ifnum\@listdepth=1 +\setitemitemindent{#1}\fi\fi +\list{--}{\let\makelabel\describelabel}} +% +\def\itemize{% + \ifnum \@itemdepth >\thr@@\@toodeep\else + \advance\@itemdepth\@ne + \ifx\setit@m\undefined + \ifnum \@itemdepth=1 \leftmargini=\svitemindent + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \leftmarginii=\leftmargini \leftmarginiii=\leftmargini + \fi + \fi + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \expandafter\list + \csname\@itemitem\endcsname + {\def\makelabel##1{\rlap{##1}\hss}}% + \fi} +% +\def\enumerate{% + \ifnum \@enumdepth >\thr@@\@toodeep\else + \advance\@enumdepth\@ne + \ifx\setit@m\undefined + \ifnum \@enumdepth=1 \leftmargini=\svitemindent + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \leftmarginii=\leftmargini \leftmarginiii=\leftmargini + \fi + \fi + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \expandafter + \list + \csname label\@enumctr\endcsname + {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% + \fi} +% +\newdimen\verbatimindent \verbatimindent\parindent +\def\verbatim{\advance\@totalleftmargin by\verbatimindent +\@verbatim \frenchspacing\@vobeyspaces \@xverbatim} + +% +% special signs and characters +\newcommand{\D}{\mathrm{d}} +\newcommand{\E}{\mathrm{e}} +\let\eul=\E +\newcommand{\I}{{\rm i}} +\let\imag=\I +% +% the definition of uppercase Greek characters +% Springer likes them as italics to depict variables +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} +% the upright forms are defined here as \var +\DeclareMathSymbol{\varGamma}{\mathalpha}{operators}{"00} +\DeclareMathSymbol{\varDelta}{\mathalpha}{operators}{"01} +\DeclareMathSymbol{\varTheta}{\mathalpha}{operators}{"02} +\DeclareMathSymbol{\varLambda}{\mathalpha}{operators}{"03} +\DeclareMathSymbol{\varXi}{\mathalpha}{operators}{"04} +\DeclareMathSymbol{\varPi}{\mathalpha}{operators}{"05} +\DeclareMathSymbol{\varSigma}{\mathalpha}{operators}{"06} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{operators}{"07} +\DeclareMathSymbol{\varPhi}{\mathalpha}{operators}{"08} +\DeclareMathSymbol{\varPsi}{\mathalpha}{operators}{"09} +\DeclareMathSymbol{\varOmega}{\mathalpha}{operators}{"0A} +% Upright Lower Case Greek letters without using a new MathAlphabet +\newcommand{\greeksym}[1]{\usefont{U}{psy}{m}{n}#1} +\newcommand{\greeksymbold}[1]{{\usefont{U}{psy}{b}{n}#1}} +\newcommand{\allmodesymb}[2]{\relax\ifmmode{\mathchoice +{\mbox{\fontsize{\tf@size}{\tf@size}#1{#2}}} +{\mbox{\fontsize{\tf@size}{\tf@size}#1{#2}}} +{\mbox{\fontsize{\sf@size}{\sf@size}#1{#2}}} +{\mbox{\fontsize{\ssf@size}{\ssf@size}#1{#2}}}} +\else +\mbox{#1{#2}}\fi} +% Definition of lower case Greek letters +\newcommand{\ualpha}{\allmodesymb{\greeksym}{a}} +\newcommand{\ubeta}{\allmodesymb{\greeksym}{b}} +\newcommand{\uchi}{\allmodesymb{\greeksym}{c}} +\newcommand{\udelta}{\allmodesymb{\greeksym}{d}} +\newcommand{\ugamma}{\allmodesymb{\greeksym}{g}} +\newcommand{\umu}{\allmodesymb{\greeksym}{m}} +\newcommand{\unu}{\allmodesymb{\greeksym}{n}} +\newcommand{\upi}{\allmodesymb{\greeksym}{p}} +\newcommand{\utau}{\allmodesymb{\greeksym}{t}} +% redefines the \vec accent to a bold character - if desired +\def\fig@type{arrow}% temporarily abused +\ifx\vec@style\fig@type\else +\@ifundefined{vec@style}{% + \def\vec#1{\ensuremath{\mathchoice + {\mbox{\boldmath$\displaystyle\mathbf{#1}$}} + {\mbox{\boldmath$\textstyle\mathbf{#1}$}} + {\mbox{\boldmath$\scriptstyle\mathbf{#1}$}} + {\mbox{\boldmath$\scriptscriptstyle\mathbf{#1}$}}}}% +} +{\def\vec#1{\ensuremath{\mathchoice + {\mbox{\boldmath$\displaystyle#1$}} + {\mbox{\boldmath$\textstyle#1$}} + {\mbox{\boldmath$\scriptstyle#1$}} + {\mbox{\boldmath$\scriptscriptstyle#1$}}}}% +} +\fi +% tensor +\def\tens#1{\relax\ifmmode\mathsf{#1}\else\textsf{#1}\fi} + +% end of proof symbol +\newcommand\qedsymbol{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\newcommand\qed{\relax\ifmmode\else\unskip\quad\fi\qedsymbol} +\newcommand\smartqed{\renewcommand\qed{\relax\ifmmode\qedsymbol\else + {\unskip\nobreak\hfil\penalty50\hskip1em\null\nobreak\hfil\qedsymbol + \parfillskip=\z@\finalhyphendemerits=0\endgraf}\fi}} +% +\newif\if@numart \@numarttrue +\def\ds@numart{\@numarttrue + \@takefromreset{figure}{chapter}% + \@takefromreset{table}{chapter}% + \@takefromreset{equation}{chapter}% + \def\thesection{\@arabic\c@section}% + \def\thefigure{\@arabic\c@figure}% + \def\thetable{\@arabic\c@table}% + \def\theequation{\arabic{equation}}% + \def\thesubequation{\arabic{equation}\alph{subequation}}} +% +\def\ds@book{\@numartfalse +\def\thesection{\thechapter.\@arabic\c@section}% +\def\thefigure{\thechapter.\@arabic\c@figure}% +\def\thetable{\thechapter.\@arabic\c@table}% +\def\theequation{\thechapter.\arabic{equation}}% +\@addtoreset{section}{chapter}% +\@addtoreset{figure}{chapter}% +\@addtoreset{table}{chapter}% +\@addtoreset{equation}{chapter}} +% +% Ragged bottom for the actual page +\def\thisbottomragged{\def\@textbottom{\vskip\z@ \@plus.0001fil +\global\let\@textbottom\relax}} + +% This is texte.tex +% it defines various texts and their translations +% called up with documentstyle options +\def\switcht@albion{% +\def\abbrsymbname{List of Abbreviations and Symbols}% +\def\abstractname{Abstract}% +\def\ackname{Acknowledgements}% +\def\andname{and}% +\def\bibname{References}% +\def\lastandname{, and}% +\def\appendixname{Appendix}% +\def\chaptername{Chapter}% +\def\claimname{Claim}% +\def\conjecturename{Conjecture}% +\def\contentsname{Contents}% +\def\corollaryname{Corollary}% +\def\definitionname{Definition}% +\def\emailname{e-mail}% +\def\examplename{Example}% +\def\exercisename{Exercise}% +\def\figurename{Fig.}% +\def\forewordname{Foreword}% +\def\keywordname{{\bf Key words:}}% +\def\indexname{Index}% +\def\lemmaname{Lemma}% +\def\contriblistname{List of Contributors}% +\def\listfigurename{List of Figures}% +\def\listtablename{List of Tables}% +\def\mailname{{\it Correspondence to\/}:}% +\def\noteaddname{Note added in proof}% +\def\notename{Note}% +\def\partname{Part}% +\def\prefacename{Preface}% +\def\problemname{Problem}% +\def\proofname{Proof}% +\def\propertyname{Property}% +\def\propositionname{Proposition}% +\def\questionname{Question}% +\def\refname{References}% +\def\remarkname{Remark}% +\def\seename{see}% +\def\solutionname{Solution}% +\def\subclassname{{\it Subject Classifications\/}:}% +\def\tablename{Table}% +\def\theoremname{Theorem}} +\switcht@albion +% Names of theorem like environments are already defined +% but must be translated if another language is chosen +% +% French section +\def\switcht@francais{\svlanginfo + \def\abbrsymbname{Liste des abbr\'eviations et symboles}% + \def\abstractname{R\'esum\'e.}% + \def\ackname{Remerciements.}% + \def\andname{et}% + \def\lastandname{ et}% + \def\appendixname{Appendice}% + \def\bibname{Bibliographie}% + \def\chaptername{Chapitre}% + \def\claimname{Pr\'etention}% + \def\conjecturename{Hypoth\`ese}% + \def\contentsname{Table des mati\`eres}% + \def\corollaryname{Corollaire}% + \def\definitionname{D\'efinition}% + \def\emailname{e-mail}% + \def\examplename{Exemple}% + \def\exercisename{Exercice}% + \def\figurename{Fig.}% + \def\forewordname{Avant-propos}% + \def\keywordname{{\bf Mots-cl\'e:}}% + \def\indexname{Index}% + \def\lemmaname{Lemme}% + \def\contriblistname{Liste des contributeurs}% + \def\listfigurename{Liste des figures}% + \def\listtablename{Liste des tables}% + \def\mailname{{\it Correspondence to\/}:}% + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% + \def\notename{Remarque}% + \def\partname{Partie}% + \def\prefacename{Pr\'eface}% + \def\problemname{Probl\`eme}% + \def\proofname{Preuve}% + \def\propertyname{Caract\'eristique}% +%\def\propositionname{Proposition}% + \def\questionname{Question}% + \def\refname{Litt\'erature}% + \def\remarkname{Remarque}% + \def\seename{voir}% + \def\solutionname{Solution}% + \def\subclassname{{\it Subject Classifications\/}:}% + \def\tablename{Tableau}% + \def\theoremname{Th\'eor\`eme}% +} +% +% German section +\def\switcht@deutsch{\svlanginfo + \def\abbrsymbname{Abk\"urzungs- und Symbolverzeichnis}% + \def\abstractname{Zusammenfassung}% + \def\ackname{Danksagung}% + \def\andname{und}% + \def\lastandname{ und}% + \def\appendixname{Anhang}% + \def\bibname{Literaturverzeichnis}% + \def\chaptername{Kapitel}% + \def\claimname{Behauptung}% + \def\conjecturename{Hypothese}% + \def\contentsname{Inhaltsverzeichnis}% + \def\corollaryname{Korollar}% +%\def\definitionname{Definition}% + \def\emailname{E-mail}% + \def\examplename{Beispiel}% + \def\exercisename{\"Ubung}% + \def\figurename{Abb.}% + \def\forewordname{Geleitwort}% + \def\keywordname{{\bf Schl\"usselw\"orter:}}% + \def\indexname{Sachverzeichnis}% +%\def\lemmaname{Lemma}% + \def\contriblistname{Mitarbeiter}% + \def\listfigurename{Abbildungsverzeichnis}% + \def\listtablename{Tabellenverzeichnis}% + \def\mailname{{\it Correspondence to\/}:}% + \def\noteaddname{Nachtrag}% + \def\notename{Anmerkung}% + \def\partname{Teil}% + \def\prefacename{Vorwort}% +%\def\problemname{Problem}% + \def\proofname{Beweis}% + \def\propertyname{Eigenschaft}% +%\def\propositionname{Proposition}% + \def\questionname{Frage}% + \def\refname{Literaturverzeichnis}% + \def\remarkname{Anmerkung}% + \def\seename{siehe}% + \def\solutionname{L\"osung}% + \def\subclassname{{\it Subject Classifications\/}:}% + \def\tablename{Tabelle}% +%\def\theoremname{Theorem}% +} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9\p@}=\cr}}}}} +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9\p@}=\cr}}}}} +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr +>\cr\noalign{\vskip-\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.8\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.3\p@}<\cr}}}}} +\def\bbbr{{\rm I\!R}} %reelle Zahlen +\def\bbbm{{\rm I\!M}} +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen +\def\bbbf{{\rm I\!F}} +\def\bbbh{{\rm I\!H}} +\def\bbbk{{\rm I\!K}} +\def\bbbp{{\rm I\!P}} +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}}}} +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.7\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.7\ht0\hss}\box0}}}} +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +T$}\hbox{\hbox to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}}}} +\def\bbbs{{\mathchoice +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\hbox +to\z@{\kern0.55\wd0\vrule\@height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\hbox +to\z@{\kern0.55\wd0\vrule\@height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\raise0.05\ht0\hbox +to\z@{\kern0.5\wd0\vrule\@height0.45\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.4\wd0\vrule\@height0.45\ht0\hss}\raise0.05\ht0\hbox +to\z@{\kern0.55\wd0\vrule\@height0.45\ht0\hss}\box0}}}} +\def\bbbz{{\mathchoice {\hbox{$\textstyle\sf Z\kern-0.4em Z$}} +{\hbox{$\textstyle\sf Z\kern-0.4em Z$}} +{\hbox{$\scriptstyle\sf Z\kern-0.3em Z$}} +{\hbox{$\scriptscriptstyle\sf Z\kern-0.2em Z$}}}} + +\let\ts\, + +\setlength\arrayrulewidth{.5\p@} +\def\svhline{% + \noalign{\ifnum0=`}\fi\hrule \@height2\arrayrulewidth \futurelet + \reserved@a\@xhline} + +\setlength \labelsep {5\p@} +\setlength\leftmargini {17\p@} +\setlength\leftmargin {\leftmargini} +\setlength\leftmarginii {\leftmargini} +\setlength\leftmarginiii {\leftmargini} +\setlength\leftmarginiv {\leftmargini} +\setlength\labelwidth {\leftmargini} +\addtolength\labelwidth{-\labelsep} + +\def\@listI{\leftmargin\leftmargini + \parsep=\parskip + \topsep=\medskipamount + \itemsep=\parskip \advance\itemsep by -\parsep} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=6\p@ + \itemsep=\parskip + \advance\itemsep by -\parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=\z@ + \itemsep=\parskip + \advance\itemsep by -\parsep + \partopsep=\topsep} + +\setlength\arraycolsep{1.5\p@} +\setlength\tabcolsep{1.5\p@} + +\def\tableofcontents{\chapter*{\contentsname\markboth{{\contentsname}}% + {{\contentsname}}} + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} + \def\lastand{\ifnum\value{auco}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{auco}% + \lastand + \else + \unskip, + \fi}% + \@starttoc{toc}\if@restonecol\twocolumn\fi} + +\setcounter{tocdepth}{2} + +\def\l@part#1#2{\addpenalty{\@secpenalty}% + \addvspace{1em \@plus\p@}% + \begingroup + \parindent \z@ + \rightskip \z@ \@plus 5em +% \hrule\vskip5\p@ + \bfseries\boldmath + \leavevmode + #1\par +% \vskip5\p@ +% \hrule + \vskip\p@ + \nobreak + \addvspace{1em \@plus\p@}% + \endgroup} + +\def\@dotsep{2} + +\def\addnumcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline + {\thechapter}#3}{\thepage}}} +\def\addcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}} +\def\addcontentsmarkwop#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}}} + +\def\@adcmk[#1]{\ifcase #1 \or +\def\@gtempa{\addnumcontentsmark}% + \or \def\@gtempa{\addcontentsmark}% + \or \def\@gtempa{\addcontentsmarkwop}% + \fi\@gtempa{toc}{chapter}} +\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} + +\def\l@chapter#1#2{\par\addpenalty{-\@highpenalty} + \addvspace{1.0em \@plus \p@} + \@tempdima \tocchpnum \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\bfseries\boldmath#1}\ifx0#2\hfil\null + \else + \nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hfil #2}% + \fi\par + \penalty\@highpenalty \endgroup} + +\newcommand{\tocauthorstyle}{\upshape} +\newcommand{\toctitlestyle}{\bfseries} + +\def\l@title#1#2{\addpenalty{-\@highpenalty} + \addvspace{8\p@ \@plus \p@} + \@tempdima \z@ + \begingroup + \tocchpnum \z@ \calctocindent + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \pretolerance=10000 + \parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\toctitlestyle#1}%\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty \endgroup} + +\def\l@titlech#1#2{\addpenalty{-\@highpenalty} + \addvspace{8\p@ \@plus \p@} + \@tempdima=\tocchpnum + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \pretolerance=10000 + \parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\toctitlestyle#1}%\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty \endgroup} + +\newcommand{\tocaftauthskip}{\z@} +\def\l@author#1#2{%\addpenalty{\@highpenalty} + \@tempdima \z@ + \begingroup + \pretolerance=10000 + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm +%\parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\tocauthorstyle#1}\nobreak +%\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern +%\@dotsep mu$}\hfill +%\nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty + \addvspace{\tocaftauthskip}\endgroup} + +\def\l@authorch#1#2{%\addpenalty{\@highpenalty} + \@tempdima=\tocchpnum + \begingroup + \pretolerance=10000 + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm +%\parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip + {\tocauthorstyle#1}\nobreak +%\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern +%\@dotsep mu$}\hfill +%\nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty + \addvspace{\tocaftauthskip}\endgroup} + +\newdimen\tocchpnum +\newdimen\tocsecnum +\newdimen\tocsectotal +\newdimen\tocsubsecnum +\newdimen\tocsubsectotal +\newdimen\tocsubsubsecnum +\newdimen\tocsubsubsectotal +\newdimen\tocparanum +\newdimen\tocparatotal +\newdimen\tocsubparanum +\tocchpnum=20\p@ % chapter {\bf 88.} \@plus 5.3\p@ +\tocsecnum=28.5\p@ % section 88.8. plus 4.722\p@ +\tocsubsecnum=36.5\p@ % subsection 88.8.8 plus 4.944\p@ +\tocsubsubsecnum=43\p@ % subsubsection 88.8.8.8 plus 4.666\p@ +\tocparanum=45\p@ % paragraph 88.8.8.8.8 plus 3.888\p@ +\tocsubparanum=53\p@ % subparagraph 88.8.8.8.8.8 plus 4.11\p@ +\def\calctocindent{% +\tocsectotal=\tocchpnum +\advance\tocsectotal by\tocsecnum +\tocsubsectotal=\tocsectotal +\advance\tocsubsectotal by\tocsubsecnum +\tocsubsubsectotal=\tocsubsectotal +\advance\tocsubsubsectotal by\tocsubsubsecnum +\tocparatotal=\tocsubsubsectotal +\advance\tocparatotal by\tocparanum} +\calctocindent + +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} +% +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} + +\renewcommand\listoffigures{% + \chapter*{\listfigurename + \markboth{\listfigurename}{\listfigurename}}% + \@starttoc{lof}% + } + +\renewcommand\listoftables{% + \chapter*{\listtablename + \markboth{\listtablename}{\listtablename}}% + \@starttoc{lot}% + } + +\newenvironment{thecontriblist} + {\par + \addvspace{\bigskipamount} + \parindent\z@ + \rightskip\z@ \@plus 40\p@ + \def\iand{\\[\medskipamount]\let\and=\nand}% + \def\nand{\ifhmode\unskip\nobreak\fi\ $\cdot$ }% + \let\and=\nand + \def\at{\\\let\and=\iand}% + } + {\par + \addvspace{\bigskipamount}} + +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width 36mm + \kern2.6\p@} + +\newdimen\foot@parindent +\foot@parindent 10.83\p@ +\footnotesep 9\p@ + +\AtBeginDocument{% +\renewcommand\@makefntext[1]{% + \parindent 12\p@ + \noindent + \mbox{\@makefnmark} #1}} +% +\if@spthms +% Definition of the "\spnewtheorem" command. +% +% Usage: +% +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} +% +% New is "cap_font" and "body_font". It stands for +% fontdefinition of the caption and the text itself. +% +% "\spnewtheorem*" gives a theorem without number. +% +% A defined spnewthoerem environment is used as described +% by Lamport. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@thmcountersep{.} +\def\@thmcounterend{.} +\newcommand\nocaption{\noexpand\@gobble} +\newdimen\spthmsep \spthmsep=3pt + +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} + +% definition of \spnewtheorem with number + +\def\@spnthm#1#2{% + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} + +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@addtoreset{#1}{#3}% + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spothm#1[#2]#3#4#5{% + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}}% + \expandafter\xdef\csname #1name\endcsname{#3}% + \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}}} + +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\labelsep=\spthmsep\refstepcounter{#1}% +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} + +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% + \ignorespaces} + +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} + +\def\normalthmheadings{\def\@spbegintheorem##1##2##3##4{\trivlist + \item[\hskip\labelsep{##3##1\ ##2\@thmcounterend}]##4} +\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4(##3)\@thmcounterend\ }##5}} +\normalthmheadings + +\def\reversethmheadings{\def\@spbegintheorem##1##2##3##4{\trivlist + \item[\hskip\labelsep{##3##2\ ##1\@thmcounterend}]##4} +\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##2\ ##1}]{##4(##3)\@thmcounterend\ }##5}} + +% definition of \spnewtheorem* without number + +\def\@sthm#1#2{\@Ynthm{#1}{#2}} + +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} + +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} + +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} + {#4}{#2}{#3}\ignorespaces} + +\def\@Begintheorem#1#2#3{#3\trivlist + \item[\hskip\labelsep{#2#1\@thmcounterend}]} + +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} + +% initialize theorem environment + +\if@envcntshowhiercnt % show hierarchy counter + \def\@thmcountersep{.} + \spnewtheorem{theorem}{Theorem}[\envankh]{\bfseries}{\itshape} + \@addtoreset{theorem}{chapter} +\else % theorem counter only + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} + \if@envcntreset + \@addtoreset{theorem}{chapter} + \if@envcntresetsect + \@addtoreset{theorem}{section} + \fi + \fi +\fi + +%definition of divers theorem environments +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} +% +\if@envcntsame % all environments like "Theorem" - using its counter + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} +\else % all environments with their own counter + \if@envcntshowhiercnt % show hierarchy counter + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[\envankh]{#3}{#4}} + \else % environment counter only + \if@envcntreset % environment counter is reset each section + \if@envcntresetsect + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}\@addtoreset{#1}{section}} + \else + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}} + \fi + \else + \let\spn@wtheorem=\@spynthm + \fi + \fi +\fi +% +\let\spdefaulttheorem=\spn@wtheorem +% +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} +\spn@wtheorem{definition}{Definition}{\bfseries}{\rmfamily} +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} +\spn@wtheorem{exercise}{Exercise}{\bfseries}{\rmfamily} +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} +\spn@wtheorem{problem}{Problem}{\bfseries}{\rmfamily} +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} +\spn@wtheorem{solution}{Solution}{\bfseries}{\rmfamily} +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} +% +\newenvironment{theopargself} + {\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}}{} +\newenvironment{theopargself*} + {\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{\hspace*{-\labelsep}##4##3\@thmcounterend}##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{\hspace*{-\labelsep}##3##2\@thmcounterend}}}{} +% +\spn@wtheorem{prob}{\nocaption}{\bfseries}{\rmfamily} +\newcommand{\probref}[1]{\textbf{\ref{#1}} } +\newenvironment{sol}{\par\addvspace{6pt}\noindent\probref}{\par\addvspace{6pt}} +% +\fi + +\def\@takefromreset#1#2{% + \def\@tempa{#1}% + \let\@tempd\@elt + \def\@elt##1{% + \def\@tempb{##1}% + \ifx\@tempa\@tempb\else + \@addtoreset{##1}{#2}% + \fi}% + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname + \expandafter\def\csname cl@#2\endcsname{}% + \@tempc + \let\@elt\@tempd} + +% redefininition of the captions for "figure" and "table" environments +% +\@ifundefined{floatlegendstyle}{\def\floatlegendstyle{\bfseries}}{} +\def\floatcounterend{\enspace} +\def\capstrut{\vrule\@width\z@\@height\topskip} +\@ifundefined{captionstyle}{\def\captionstyle{\normalfont\small}}{} +\@ifundefined{instindent}{\newdimen\instindent}{} + +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore\if@minipage\@setminipage\fi + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +\def\twocaptionwidth#1#2{\def\first@capwidth{#1}\def\second@capwidth{#2}} +% Default: .46\textwidth +\twocaptionwidth{.46\textwidth}{.46\textwidth} + +\def\leftcaption{\refstepcounter\@captype\@dblarg% + {\@leftcaption\@captype}} + +\def\rightcaption{\refstepcounter\@captype\@dblarg% + {\@rightcaption\@captype}} + +\long\def\@leftcaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \vskip\figcapgap + \@maketwocaptions{\csname fnum@#1\endcsname}{\ignorespaces #3}% + {\first@capwidth}\ignorespaces\hspace{.073\textwidth}\hfill% + \endgroup} + +\long\def\@rightcaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@maketwocaptions{\csname fnum@#1\endcsname}{\ignorespaces #3}% + {\second@capwidth}\par + \endgroup} + +\long\def\@maketwocaptions#1#2#3{% + \parbox[t]{#3}{{\floatlegendstyle #1\floatcounterend}#2}} + +\def\fig@pos{l} +\newcommand{\leftfigure}[2][\fig@pos]{\makebox[.4635\textwidth][#1]{#2}} +\let\rightfigure\leftfigure + +\newdimen\figgap\figgap=0.5cm % hgap between figure and sidecaption +% +\long\def\@makesidecaption#1#2{\@tempdimb=3.6cm + \setbox0=\vbox{\hsize=\@tempdimb + \captionstyle{\floatlegendstyle + #1\floatcounterend}#2}% + \ifdim\instindent<\z@ + \ifdim\ht0>-\instindent + \advance\instindent by\ht0 + \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for + \@captype\space\csname the\@captype\endcsname + ^^Jis \the\instindent\space taller than the corresponding float - + ^^Jyou'd better switch the environment. }% + \instindent\z@ + \fi + \else + \ifdim\ht0<\instindent + \advance\instindent by-\ht0 + \advance\instindent by-\dp0\relax + \advance\instindent by\topskip + \advance\instindent by-11\p@ + \else + \advance\instindent by-\ht0 + \instindent=-\instindent + \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for + \@captype\space\csname the\@captype\endcsname + ^^Jis \the\instindent\space taller than the corresponding float - + ^^Jyou'd better switch the environment. }% + \instindent\z@ + \fi + \fi + \parbox[b]{\@tempdimb}{\captionstyle{\floatlegendstyle + #1\floatcounterend}#2% + \ifdim\instindent>\z@ \\ + \vrule\@width\z@\@height\instindent + \@depth\z@ + \fi}} +\def\sidecaption{\@ifnextchar[\sidec@ption{\sidec@ption[b]}} +% +\newbox\bildb@x +% +\def\sidec@ption[#1]#2\caption{% +\setbox\bildb@x=\hbox{\ignorespaces#2\unskip}% +\if@twocolumn + \ifdim\hsize<\textwidth\else + \ifdim\wd\bildb@x<\columnwidth + \typeout{Double column float fits into single column - + ^^Jyou'd better switch the environment. }% + \fi + \fi +\fi + \instindent=\ht\bildb@x + \advance\instindent by\dp\bildb@x +\if t#1 +\else + \instindent=-\instindent +\fi +\@tempdimb=\hsize +\advance\@tempdimb by-\figgap +\advance\@tempdimb by-\wd\bildb@x +\ifdim\@tempdimb<3.6cm + \ClassWarning{SVMult}{\string\sidecaption: No sufficient room for the legend; + ^^Jusing normal \string\caption}% + \unhbox\bildb@x + \let\@capcommand=\@caption +\else +% \ifdim\@tempdimb<4.5cm +% \ClassWarning{SVMono}{\string\sidecaption: Room for the legend very narrow; +% ^^Jusing \string\raggedright}% + \toks@\expandafter{\captionstyle\sloppy + \rightskip=\z@\@plus6mm\relax}% + \def\captionstyle{\the\toks@}% +% \fi + \let\@capcommand=\@sidecaption +% \leavevmode +% \unhbox\bildb@x +% \hfill +\fi +\refstepcounter\@captype +\@dblarg{\@capcommand\@captype}} +\long\def\@sidecaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@makesidecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}% + \hfill + \unhbox\bildb@x + \par + \endgroup} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\fig@type{figure} + +\def\leftlegendglue{\relax} +\newdimen\figcapgap\figcapgap=5\p@ % vgap between figure and caption +\newdimen\tabcapgap\tabcapgap=3\p@ % vgap between caption and table + +\long\def\@makecaption#1#2{% + \captionstyle + \ifx\@captype\fig@type + \vskip\figcapgap + \fi + \setbox\@tempboxa\hbox{{\floatlegendstyle #1\floatcounterend}% + \capstrut #2}% + \ifdim \wd\@tempboxa >\hsize + {\floatlegendstyle #1\floatcounterend}\capstrut #2\par + \else + \hbox to\hsize{\leftlegendglue\unhbox\@tempboxa\hfil}% + \fi + \ifx\@captype\fig@type\else + \vskip\tabcapgap + \fi} + +\newcounter{merk} + +\def\endfigure{\resetsubfig\end@float} + +\@namedef{endfigure*}{\resetsubfig\end@dblfloat} + +\def\resetsubfig{\global\let\last@subfig=\undefined} + +\def\r@setsubfig{\xdef\last@subfig{\number\value{figure}}% +\setcounter{figure}{\value{merk}}% +\setcounter{merk}{0}} + +\def\subfigures{\refstepcounter{figure}% + \@tempcnta=\value{merk}% + \setcounter{merk}{\value{figure}}% + \setcounter{figure}{\the\@tempcnta}% + \def\thefigure{\if@numart\else\thechapter.\fi + \@arabic\c@merk\alph{figure}}% + \let\resetsubfig=\r@setsubfig} + +\def\samenumber{\addtocounter{\@captype}{-1}% +\@ifundefined{last@subfig}{}{\setcounter{merk}{\last@subfig}}} + +% redefinition of the "bibliography" environment +% +\def\biblstarthook#1{\gdef\biblst@rthook{#1}} +% +\AtBeginDocument{% +\ifx\chpbibl\undefined + \def\bibsection{\section*{\refname}\ifx\sectionmark\@gobble\else + \markright{\refname}\fi + \addcontentsline{toc}{section}{\refname}% + \mtaddtocont{\protect\contentsline{mtchap}{\refname}{\thepage}\hyperhrefextend}% + \csname biblst@rthook\endcsname\par} +\else + \def\bibsection{\chapter*{\refname}\@mkboth{\refname}{\refname}% + \addcontentsline{toc}{chapter}{\refname}% + \csname biblst@rthook\endcsname\par} +\fi} +\ifx\oribibl\undefined % Springer way of life + \renewenvironment{thebibliography}[1]{\bibsection + \global\let\biblst@rthook=\undefined + \def\@biblabel##1{##1.} + \small + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \if@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw + {\let\protect\noexpand\immediate + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} +\else % original bibliography is required + \let\bibname=\refname + \renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \markboth{\bibname}{\bibname}}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\fi + +\let\if@threecolind\iffalse +\def\threecolindex{\let\if@threecolind\iftrue} +\def\indexstarthook#1{\gdef\indexst@rthook{#1}} +\renewenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 1cc + \@nobreaktrue + \if@threecolind + \begin{multicols}{3}[\chapter*{\indexname}% + \else + \begin{multicols}{2}[\chapter*{\indexname}% + \fi + {\csname indexst@rthook\endcsname}]% + \global\let\indexst@rthook=\undefined + \markboth{\indexname}{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}% + \parindent\z@ + \rightskip\z@ \@plus 40\p@ + \parskip\z@ \@plus .3\p@\relax + \flushbottom + \let\item\@idxitem + \def\,{\relax\ifmmode\mskip\thinmuskip + \else\hskip0.2em\ignorespaces\fi}% + \normalfont\small} + {\end{multicols} + \global\let\if@threecolind\iffalse + \if@restonecol\onecolumn\else\clearpage\fi} + +\def\idxquad{\hskip 10\p@}% space that divides entry from number + +\def\@idxitem{\par\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax} + +\def\subitem{\par\noindent\setbox0=\hbox{--\enspace}% second order + \kern\wd0\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax}% indexentry + +\def\subsubitem{\par\noindent\setbox0=\hbox{--\,--\enspace}% third order + \kern\wd0\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax}% indexentry + +\def\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} + +% LaTeX does not provide a command to enter the authors institute +% addresses. The \institute command is defined here. + +\newcounter{@inst} +\newcounter{@auth} +\newcounter{auco} +\newdimen\instindent +\newbox\authrun +\newtoks\authorrunning +\newtoks\tocauthor +\newbox\titrun +\newtoks\titlerunning +\newtoks\toctitle + +\def\clearheadinfo{\gdef\@author{No Author Given}% + \gdef\@title{No Title Given}% + \gdef\@subtitle{}% + \gdef\@institute{}% + \gdef\@thanks{}% + \global\titlerunning={}\global\authorrunning={}% + \global\toctitle={}\global\tocauthor={}} + +\def\institute#1{\gdef\@institute{#1}} + +\def\title{\@ifstar\s@title\n@title} +\def\s@title#1{\gdef\@title{#1}\ds@numart} +\def\n@title#1{\gdef\@title{#1}\ds@book} + +\def\institutename + {\begingroup + \if!\@institute!\else + \def\thanks##1{\unskip{}}% + \def\iand{\\[5pt]\let\and=\nand}% + \def\nand{\ifhmode\unskip\nobreak\fi\ $\cdot$ }% + \let\and=\nand + \def\at{\\\let\and=\iand}% + \footnotetext[0]{\kern-\bibindent + \ignorespaces\@institute}\vspace{5dd}\fi + \endgroup + }% + +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or + {\star{\star}\star}\or \dagger\or \ddagger\or + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger + \or \ddagger\ddagger \else\@ctrerr\fi}} + +\def\inst#1{\unskip$^{#1}$} +\def\fnmsep{\unskip$^,$} + +\def\subtitle#1{\gdef\@subtitle{#1}} +\clearheadinfo + +\def\@bfdottedtocline#1#2#3#4#5{% + \ifnum #1>\c@minitocdepth \else + \par + \if@minipage\else\addvspace{5\p@}\fi + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {\bfseries#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par\addvspace{5\p@}}% + \fi} + +\def\@rmdottedtocline#1#2#3#4#5{% + \ifnum #1>\c@minitocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} + +%def\l@mtchap{\@bfdottedtocline{1}{\z@}{\tocsectotal}} +\def\l@mtchap{\@rmdottedtocline{1}{\z@}{\tocsecnum}} +\def\l@mtsec{\@rmdottedtocline{1}{\tocsecnum}{\tocsubsecnum}} + +\newcounter{contribution} + +\renewcommand\maketitle{\par\startnewpage + \stepcounter{section}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{equation}{0} + \setcounter{footnote}{0}% + \if@numart + \stepcounter{chapter}% + \addtocounter{chapter}{-1}% + \else + \refstepcounter{chapter}% + \fi + \stepcounter{contribution}% + \immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}% + \immediate\write\@auxout{\let\MiniTOC=N}% +% try to be hyperref-compatible + \csname phantomsection\endcsname + \begingroup + \parindent=\z@ +%%%%%%%%% \renewcommand\thefootnote{\@fnsymbol\c@footnote}% +% + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{$^{\@thefnmark}$}% + \renewcommand\@makefntext[1]{% + \noindent + \hb@xt@\bibindent{\hss\@makefnmark\enspace}##1\vrule height0pt + width0pt depth8pt} +% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \@ifundefined{thispagecropped}{}{\thispagecropped} + \thispagestyle{bchap}\@thanks +% + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% + \instindent=\hsize + \advance\instindent by-\headlineindent + \if@numart % keine Nummer + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else + \addcontentsline{toc}{title}{\the\toctitle}\fi + \else + \if!\the\toctitle!\addcontentsline{toc}{titlech}{\protect\numberline{\thechapter\thechapterend}\@title}\else + \addcontentsline{toc}{titlech}{\protect\numberline{\thechapter\thechapterend}\the\toctitle}\fi + \fi + \if@runhead + \if!\the\titlerunning!\else + \edef\@title{\the\titlerunning}% + \fi + \global\setbox\titrun=\hbox{\small\rm\unboldmath\if@numart\else + \@seccntformat{chapter}\fi + \ignorespaces\@title}% + \ifdim\wd\titrun>\instindent + \typeout{Title too long for running head. Please supply}% + \typeout{a shorter form with \string\titlerunning\space prior to + \string\maketitle}% + \global\setbox\titrun=\hbox{\small\rm + Title Suppressed Due to Excessive Length}% + \fi + \xdef\@title{\copy\titrun}% + \fi +% + \if!\the\tocauthor!\relax + {\def\and{\noexpand\protect\noexpand\and}% + \protected@xdef\toc@uthor{\@author}}% + \else + \def\\{\noexpand\protect\noexpand\newline}% + \protected@xdef\scratch{\the\tocauthor}% + \protected@xdef\toc@uthor{\scratch}% + \fi + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% + \if@numart + \addcontentsline{toc}{author}{\toc@uthor}% + \else + \addcontentsline{toc}{authorch}{\toc@uthor}% + \fi + \if@runhead + \if!\the\authorrunning! + \value{@inst}=\value{@auth}% + \setcounter{@auth}{1}% + \else + \edef\@author{\the\authorrunning}% + \fi + \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% + \ifdim\wd\authrun>\instindent + \typeout{Names of authors too long for running head. Please supply}% + \typeout{a shorter form with \string\authorrunning\space prior to + \string\maketitle}% + \global\setbox\authrun=\hbox{\small\rm + Authors Suppressed Due to Excessive Length}% + \fi + \xdef\scratch{\copy\authrun}% + \markboth{\scratch}{\@title}% + \fi + \endgroup +% \setcounter{footnote}{0}% footnote starts at (\inst+1) + \@afterindentfalse\@afterheading + \clearheadinfo} +% +\def\@maketitle{\newpage + \markboth{}{}% + \def\lastand{\ifnum\value{@inst}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{@inst}% + \lastand + \else + \unskip, + \fi}% + \raggedright + {\chapnumsize + \chapnumstyle + \pretolerance=10000 + \let\\=\newline +% \@hangfrom{\@svsec}% +%%% \@svsec + \raggedright + \hyphenpenalty \@M + \interlinepenalty \@M + \if@numart + \chap@hangfrom{}%!!! + \else + \chap@hangfrom{\thechapter\thechapterend\hskip\betweenumberspace}%!!! + \fi + \ignorespaces + \chapsize + \chapstyle + \@title \par}\vskip .8cm +\if!\@subtitle!\else {\chapnumsize\chapnumstyle + \vskip -.65cm + \pretolerance=10000 + \@subtitle \par}\vskip .8cm\fi + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% + \def\thanks##1{}\@author}% + \global\value{@inst}=\value{@auth}% + \global\value{auco}=\value{@auth}% + \setcounter{@auth}{1}% +{\lineskip .5em + \noindent\ignorespaces + \@author\vskip.35cm} + \processmotto % {\small\institutename\par} + \institutename + \ifdim\pagetotal>157\p@ + \vskip 11\p@ + \else + \@tempdima=168\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi +} + +\def\email#1{\emailname: \url{#1}} + +% Useful environments +\newenvironment{abbrsymblist}[1][\qquad] + {\section*{\abbrsymbname} + \mtaddtocont{\protect\contentsline{mtchap}{\abbrsymbname}{\thepage}\hyperhrefextend} + \begin{description}[#1]}{\end{description}\addvspace{10\p@}} +% +\newenvironment{acknowledgement}{\par\addvspace{17\p@}\small\rm +\trivlist\item[\hskip\labelsep{\bfseries\ackname}]} +{\endtrivlist\addvspace{6\p@}} +% +\newenvironment{noteadd}{\par\addvspace{17\p@}\small\rm +\trivlist\item[\hskip\labelsep{\it\noteaddname}]} +{\endtrivlist\addvspace{6\p@}} +% +\DeclareRobustCommand\abstract{\@ifstar\@abstgobl\@abstract} +\def\@abstract#1{\noindent\textbf{\abstractname} #1\par +%\@afterindentfalse +%\@afterheading +} +\def\@abstgobl#1{\par +%\@afterindentfalse +%\@afterheading +} +% +\newcommand{\keywords}[1]{\par\addvspace\baselineskip +\noindent\keywordname\enspace\ignorespaces#1} +% +% define the running headings of a twoside text +\def\runheadsize{\small} +\def\runheadstyle{\rmfamily\upshape} +\def\customizhead{\hspace{\headlineindent}} + +\def\ps@bchap{%\let\@mkboth\@gobbletwo + \let\@oddhead\@empty\let\@evenhead\@empty + \def\@oddfoot{\reset@font\small\hfil\thepage}% + \let\@evenfoot\@oddfoot} + +\def\ps@headings{\let\@mkboth\markboth + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\runheadsize\runheadstyle\rlap{\thepage}\hfil + \leftmark} + \def\@oddhead{\runheadsize\runheadstyle\rightmark\hfil + \llap{\thepage}} + \def\chaptermark##1{\markboth{{\ifnum\c@secnumdepth>\m@ne + \thechapter\thechapterend\hskip\betweenumberspace\fi ##1}}{{\ifnum %!!! + \c@secnumdepth>\m@ne\thechapter\thechapterend\hskip\betweenumberspace\fi ##1}}}%!!! + \def\sectionmark##1{\markright{{\ifnum\c@secnumdepth>\z@ + \thesection\hskip\betweenumberspace\fi ##1}}}} + +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\runheadsize\runheadstyle\rlap{\thepage}\hfil + \leftmark} + \def\@oddhead{\runheadsize\runheadstyle\rightmark\hfil + \llap{\thepage}} + \let\chaptermark\@gobble + \let\sectionmark\@gobble + \let\subsectionmark\@gobble} + +\if@runhead\ps@myheadings\else +\ps@empty\fi + +\endinput +%end of file svmult.cls diff --git a/chapitre-2009/svind.ist b/chapitre-2009/svind.ist new file mode 100644 index 0000000..11bf366 --- /dev/null +++ b/chapitre-2009/svind.ist @@ -0,0 +1,7 @@ +headings_flag 1 +heading_prefix "{\\bf " +heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%" +delim_0 "\\idxquad " +delim_1 "\\idxquad " +delim_2 "\\idxquad " +delim_n ",\\," diff --git a/chapitre-2009/svindd.ist b/chapitre-2009/svindd.ist new file mode 100644 index 0000000..29ac73a --- /dev/null +++ b/chapitre-2009/svindd.ist @@ -0,0 +1,8 @@ +quote '+' +headings_flag 1 +heading_prefix "{\\bf " +heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%" +delim_0 "\\idxquad " +delim_1 "\\idxquad " +delim_2 "\\idxquad " +delim_n ",\\," diff --git a/chapitre-2009/svmult.cls b/chapitre-2009/svmult.cls new file mode 100644 index 0000000..b7245b2 --- /dev/null +++ b/chapitre-2009/svmult.cls @@ -0,0 +1,2369 @@ +% SVMULT DOCUMENT CLASS -- version 5.4 (25-Jun-07) +% Springer Verlag global LaTeX2e support for multi authored books +%% +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{svmult}[2007/06/25 v5.4 +^^JSpringer Verlag global LaTeX document class for multi authored books] +% Options +% citations +\DeclareOption{natbib}{\ExecuteOptions{oribibl}% +\AtEndOfClass{% Loading package 'NATBIB' +\RequirePackage{natbib} +% Changing some parameters of NATBIB +\setlength{\bibhang}{\parindent} +%\setlength{\bibsep}{0mm} +\let\bibfont=\small +\def\@biblabel#1{#1.} +\newcommand{\etal}{\textit{et al}.} +%\bibpunct[,]{(}{)}{;}{a}{}{,}}} +}} +% Springer environment +\let\if@spthms\iftrue +\DeclareOption{nospthms}{\let\if@spthms\iffalse} +% +\let\envankh\@empty % no anchor for "theorems" +% +\let\if@envcntreset\iffalse % environment counter is not reset +\let\if@envcntresetsect=\iffalse % reset each section +\DeclareOption{envcountresetchap}{\let\if@envcntreset\iftrue} +\DeclareOption{envcountresetsect}{\let\if@envcntreset\iftrue +\let\if@envcntresetsect=\iftrue} +% +\let\if@envcntsame\iffalse % NOT all environments work like "Theorem", + % each using its own counter +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} +% +\let\if@envcntshowhiercnt=\iffalse % do not show hierarchy counter at all +% +% enhance theorem counter +\DeclareOption{envcountchap}{\def\envankh{chapter}% show \thechapter along with theorem number +\let\if@envcntshowhiercnt=\iftrue} +% +\DeclareOption{envcountsect}{\def\envankh{section}% show \thesection along with theorem number +\let\if@envcntshowhiercnt=\iftrue +\ExecuteOptions{envcountresetsect}} +% reset environment counters every new contribution by default +\ExecuteOptions{envcountresetchap} +% +% languages +\let\switcht@@therlang\relax +\let\svlanginfo\relax +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}% +\gdef\svlanginfo{\typeout{Man spricht deutsch.}\global\let\svlanginfo\relax}} +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}% +\gdef\svlanginfo{\typeout{On parle francais.}\global\let\svlanginfo\relax}} +% +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% +\@ifpackageloaded{babel}{% +\@ifundefined{extrasamerican}{}{\addto\extrasamerican{\switcht@albion}}% +\@ifundefined{extrasaustralian}{}{\addto\extrasaustralian{\switcht@albion}}% +\@ifundefined{extrasbritish}{}{\addto\extrasbritish{\switcht@albion}}% +\@ifundefined{extrascanadian}{}{\addto\extrascanadian{\switcht@albion}}% +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% +\@ifundefined{extrasnewzealand}{}{\addto\extrasnewzealand{\switcht@albion}}% +\@ifundefined{extrasUKenglish}{}{\addto\extrasUKenglish{\switcht@albion}}% +\@ifundefined{extrasUSenglish}{}{\addto\extrasUSenglish{\switcht@albion}}% +\@ifundefined{captionsfrench}{}{\addto\captionsfrench{\switcht@francais}}% +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% +\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% +}{\switcht@@therlang}% +} +% numbering style of floats, equations +% \newif\if@numart \@numartfalse +% \DeclareOption{numart}{\@numarttrue} +% numbering of headings +\let\if@chapnum=\iftrue +\def\nixchapnum{\let\if@chapnum\iffalse} +\def\numstyle{0} +\DeclareOption{nosecnum}{\def\numstyle{1}}% +% \DeclareOption{nochapnum}{\def\numstyle{2}}% +% \DeclareOption{nonum}{\def\numstyle{3}}% +\def\set@numbering{\ifcase\numstyle %\if@numart\else\num@book\fi %default +\or % 1-case - no \section-numbers +\setcounter{secnumdepth}{0}% \if@numart\else\num@book\fi +% \or % 2-case +% % chapter not numbered, but \sections are +% \def\thesection{\@arabic\c@section}% +% \nixchapnum +% \or % 3-case +% % neither chapter nor sections numbered + "numart" +% \nixchapnum +% \setcounter{secnumdepth}{0}% +\else\fi} +\AtEndOfClass{\set@numbering} +% style for vectors +\DeclareOption{vecphys}{\def\vec@style{phys}} +\DeclareOption{vecarrow}{\def\vec@style{arrow}} +% running heads +\let\if@runhead\iftrue +\DeclareOption{norunningheads}{\let\if@runhead\iffalse} +% referee option +\let\if@referee\iffalse +\def\makereferee{\def\baselinestretch{2}\selectfont +\newbox\refereebox +\setbox\refereebox=\vbox to\z@{\vskip0.5cm% + \hbox to\textwidth{\normalsize\tt\hrulefill\lower0.5ex + \hbox{\kern5\p@ referee's copy\kern5\p@}\hrulefill}\vss}% +\def\@oddfoot{\copy\refereebox}\let\@evenfoot=\@oddfoot} +\DeclareOption{referee}{\let\if@referee\iftrue +\AtBeginDocument{\makereferee\small\normalsize}} +% modification of thebibliography +\let\if@openbib\iffalse +\DeclareOption{openbib}{\let\if@openbib\iftrue} +% LaTeX standard, sectionwise references +\DeclareOption{oribibl}{\let\oribibl=Y} +\DeclareOption{chaprefs}{\let\chpbibl=Y} +% +% footinfo option (provides an informatory line on every page) +\def\SpringerMacroPackageNameA{svmult.cls} +% \thetime, \thedate and \timstamp are macros to include +% time, date (or both) of the TeX run in the document +\def\maketimestamp{\count255=\time +\divide\count255 by 60\relax +\edef\thetime{\the\count255:}% +\multiply\count255 by-60\relax +\advance\count255 by\time +\edef\thetime{\thetime\ifnum\count255<10 0\fi\the\count255} +\edef\thedate{\number\day-\ifcase\month\or Jan\or Feb\or Mar\or + Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or + Nov\or Dec\fi-\number\year} +\def\timstamp{\hbox to\hsize{\tt\hfil\thedate\hfil\thetime\hfil}}} +\maketimestamp +% +% \footinfo generates a info footline on every page containing +% pagenumber, jobname, macroname, and timestamp +\DeclareOption{footinfo}{\AtBeginDocument{\maketimestamp + \def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty\let\@evenhead\@empty}% + \def\@oddfoot{\scriptsize\tt Page:\,\thepage\space\hfil + job:\,\jobname\space\hfil + macro:\,\SpringerMacroPackageNameA\space\hfil + date/time:\,\thedate/\thetime}% + \let\@evenfoot=\@oddfoot}} +% +% start new chapter on any page +\newif\if@openright \@openrighttrue +\DeclareOption{openany}{\@openrightfalse} +% +% no size changing allowed +\DeclareOption{11pt}{\OptionNotUsed} +\DeclareOption{12pt}{\OptionNotUsed} +% options for the article class +\def\@rticle@options{10pt,twoside} +% fleqn +\DeclareOption{fleqn}{\def\@rticle@options{10pt,twoside,fleqn}% +\AtEndOfClass{\let\leftlegendglue\relax}% +\AtBeginDocument{\mathindent\parindent}} +% hanging sectioning titles +\let\if@sechang\iftrue +\DeclareOption{nosechang}{\let\if@sechang\iffalse} +% hanging sectioning titles +\def\ClassInfoNoLine#1#2{% + \ClassInfo{#1}{#2\@gobble}% +} +% +\DeclareOption{graybox}{% +\AtEndOfClass{% Loading color package +\RequirePackage{color}% +% defining values of gray +\definecolor{shadecolor}{gray}{.85}% +\definecolor{tintedcolor}{gray}{.80}% +\RequirePackage{framed}% +% +\newenvironment{tinted}{% + \def\FrameCommand{\colorbox{tintedcolor}}% + \MakeFramed {\FrameRestore}}% + {\endMakeFramed}% +% +\renewenvironment{svgraybox}% + {\fboxsep=12pt\relax + \begin{shaded}% + \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}% + \expandafter\item\parindent=\svparindent + \hskip-\listparindent}% + {\endlist\end{shaded}}% +% +\renewenvironment{svtintedbox}% + {\fboxsep=12pt\relax + \begin{tinted}% + \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}% + \expandafter\item\parindent=\svparindent + \relax}% + {\endlist\end{tinted}}% +% +}} +% +\let\SVMultOpt\@empty +\DeclareOption*{\InputIfFileExists{sv\CurrentOption.clo}{% +\global\let\SVMultOpt\CurrentOption}{% +\ClassWarning{Springer-SVMult}{Specified option or subpackage +"\CurrentOption" \MessageBreak not found - +passing it to article class \MessageBreak +-}\PassOptionsToClass{\CurrentOption}{article}% +}} +\ProcessOptions\relax +\ifx\SVMultOpt\@empty\relax +\ClassInfoNoLine{Springer-SVMult}{extra/valid Springer sub-package +\MessageBreak not found in option list - using "global" style}{} +\fi +\LoadClass[\@rticle@options]{article} +\raggedbottom + +% various sizes and settings for contributed works + +\setlength{\textwidth}{117mm} +%\setlength{\textheight}{12pt}\multiply\textheight by 45\relax +\setlength{\textheight}{191mm} +\setlength{\topmargin}{0cm} +\setlength\oddsidemargin {63\p@} +\setlength\evensidemargin {63\p@} +\setlength\marginparwidth{90\p@} +\setlength\headsep {12\p@} + +\newdimen\svparindent +\setlength{\svparindent}{12\p@} +\parindent\svparindent + +\newdimen\bibindent +\setlength\bibindent{\parindent} + +\setlength{\parskip}{\z@ \@plus \p@} +\setlength{\hfuzz}{2\p@} +\setlength{\arraycolsep}{1.5\p@} + +\frenchspacing + +\tolerance=500 + +\predisplaypenalty=0 +\clubpenalty=10000 +\widowpenalty=10000 + +\setlength\footnotesep{7.7\p@} + +\newdimen\betweenumberspace % dimension for space between +\betweenumberspace=5\p@ % number and text of titles +\newdimen\headlineindent % dimension for space of +\headlineindent=2.5cc % number and gap of running heads + +% fonts, sizes, and the like +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + \abovedisplayskip 10\p@ % \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ % \@plus3\p@ + \belowdisplayshortskip 6\p@ %\@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalsize +\renewcommand\small{% + \@setfontsize\small{8.5}{10}% + \abovedisplayskip 8.5\p@ % \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ %\@plus2\p@ + \belowdisplayshortskip 4\p@ %\@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \parsep \z@ \@plus\p@ \@minus\p@ + \topsep 6\p@ \@plus2\p@ \@minus4\p@ + \itemsep\z@}% + \belowdisplayskip \abovedisplayskip +} +% +\let\footnotesize=\small +% +\renewcommand\Large{\@setfontsize\large{14}{16}} +\newcommand\LArge{\@setfontsize\Large{16}{18}} +\renewcommand\LARGE{\@setfontsize\LARGE{18}{20}} +% +\newenvironment{petit}{\par\addvspace{6\p@}\small}{\par\addvspace{6\p@}} +% + +% modification of automatic positioning of floating objects +\setlength\@fptop{\z@ } +\setlength\@fpsep{12\p@ } +\setlength\@fpbot{\z@ \@plus 1fil } +\def\textfraction{.01} +\def\floatpagefraction{.8} +\setlength{\intextsep}{20\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\textfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} +\setcounter{topnumber}{4} +\def\topfraction{.9} +\setcounter{bottomnumber}{2} +\def\bottomfraction{.7} +\setcounter{totalnumber}{6} +% +% size and style of headings +\newcommand{\partnumsize}{\LArge} +\newcommand{\partnumstyle}{\bfseries\boldmath} +\newcommand{\partsize}{\LARGE} +\newcommand{\partstyle}{\bfseries\boldmath} +\newcommand{\chapnumsize}{\Large} +\newcommand{\chapnumstyle}{\bfseries\boldmath} +\newcommand{\chapsize}{\LArge} +\newcommand{\chapstyle}{\bfseries\boldmath} +\newcommand{\chapauthsize}{\normalsize} +\newcommand{\chapauthstyle}{\bfseries\boldmath} +\newcommand{\mottosize}{\small} +\newcommand{\mottostyle}{\itshape\unboldmath\raggedright} +\newcommand{\secsize}{\large} +\newcommand{\secstyle}{\bfseries\boldmath} +\newcommand{\subsecsize}{\large} +\newcommand{\subsecstyle}{\bfseries\itshape\boldmath} +\newcommand{\subsubsecstyle}{\bfseries\boldmath} +% +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +\newcommand{\clearemptydoublepage}{% + \clearpage{\pagestyle{empty}\cleardoublepage}} +\newcommand{\startnewpage}{\if@openright\clearemptydoublepage\else\clearpage\fi} + +% MiniTOC +% one outputstream for all minitocs +\newwrite\minitoc +\let\MiniTOC=N % switch for MT processing in .aux files +\newcounter{minitocdepth} +\setcounter{minitocdepth}{0} + +% stolen from LaTeX.ltx - read miniTOC and redirect output stream +\long\def \protected@immwrite#1#2#3{% + \begingroup + \let\thepage\relax + #2% + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write#1{#3}}% + \reserved@a + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +% +\newcommand{\@mtstarttoc}[1] +{\begingroup + \makeatletter + \immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}% + \typeout{input jobname.#1}% +\small + \@input{\jobname.#1}% + \protected@immwrite\@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\immediate\openout\minitoc \jobname.#1\relax} + \global\@nobreakfalse\endgroup} +% +\newcommand{\@mtstarttocquiet}[1] +{\begingroup + \makeatletter + \protected@write\@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\immediate\openout\minitoc \jobname.#1\relax} + \global\@nobreakfalse\endgroup} +% +\newcommand{\mtaddtocont}[1] +{\protected@write \@auxout + {\let\label\@gobble \let\index\@gobble + \let\glossary\@gobble}% + {\string\@mtwritefile{#1}}} +% +\newcommand{\@mtwritefile}[1]{\if Y\MiniTOC +\@temptokena{#1} \immediate\write\minitoc{\the\@temptokena}\fi} + +\AtEndDocument{\immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}} + +\newcommand{\dominitoc}{% switch \let\MiniTOC=Y + \protected@immwrite\@auxout{}{\let\MiniTOC=Y}% + \ifnum \c@minitocdepth<1 + \@mtstarttocquiet{t\thecontribution}\relax + \else + \@mtstarttoc{t\thecontribution}\par\addvspace\bigskipamount + \fi} + +% redefinition of \part +\renewcommand\part{\clearemptydoublepage + \thispagestyle{empty} + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \@ifundefined{thispagecropped}{}{\thispagecropped} + \secdef\@part\@spart} + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax + \refstepcounter{part} + \addcontentsline{toc}{part}{\partname\ + \thepart\thechapterend\hspace{\betweenumberspace}% + #1}\else + \addcontentsline{toc}{part}{#1}\fi + \markboth{}{} + {\raggedleft + \hyphenpenalty \@M + \interlinepenalty\@M + \ifnum \c@secnumdepth >-2\relax + \normalfont\partnumsize\partnumstyle %\vrule height 34pt width 0pt depth 0pt% + \partname\ \thepart %\llap{\smash{\lower 5pt\hbox to\textwidth{\hrulefill}}} + \par + \vskip 2\p@ \fi + \partsize\partstyle #2\par}\@endpart} +% +% \@endpart finishes the part page +% +\def\@endpart{\vfil\newpage + \if@twoside + \hbox{} + \thispagestyle{empty} + \newpage + \fi + \if@tempswa + \twocolumn + \fi} +% +\def\@spart#1{{\raggedleft + \normalfont\partsize\partstyle + #1\par}\@endpart} +% +\newenvironment{partbacktext}{\def\@endpart{\vfil\newpage}} +{\thispagestyle{empty} \newpage} +% +% (re)define sectioning +\setcounter{secnumdepth}{3} + +\def\seccounterend{} +\def\seccountergap{\hskip\betweenumberspace} +\def\@seccntformat#1{\csname the#1\endcsname\seccounterend\seccountergap\ignorespaces} +% +\let\firstmark=\botmark +% +\@ifundefined{thechapterend}{\def\thechapterend{}}{} +% +\if@sechang + \def\sec@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent\wd\@tempboxa\noindent\box\@tempboxa} +\else + \def\sec@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent\z@\noindent\box\@tempboxa} +\fi + +\def\chap@hangfrom#1{\if!#1!\else +\@chapapp\ #1\vskip2pt\fi} +\def\schap@hangfrom{\chap@hangfrom{}} + +\newcounter{chapter} + +\newif\if@mainmatter \@mainmattertrue +\newcommand\frontmatter{\startnewpage + \@mainmatterfalse\pagenumbering{roman} + \setcounter{page}{5}} +% +\newcommand\mainmatter{\clearemptydoublepage + \@mainmattertrue + \markboth{}{} + \pagenumbering{arabic}} +% +\newcommand\backmatter{% +\setcounter{minitocdepth}{0}% +\pagestyle{headings}% +\clearemptydoublepage %\@mainmatterfalse +\let\appendix=\bppendix +\def\bibsection{\chapter*{\refname}\@mkboth{\refname}{\refname}% + \addcontentsline{toc}{chapter}{\refname}% + \csname biblst@rthook\endcsname\par}% +} + +\renewenvironment{titlepage} + {% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \addtocounter{page}\m@ne + \def\and{\unskip, } + \parindent=\z@ + \pretolerance=10000 + \rightskip=0pt plus 1fil + \large % default size for titlepage + \vspace*{2em} % Vertical space above title. + }{{\LARGE % each author set in \LARGE + \lineskip .5em + \@author + \par}% + \vskip 2cm % Vertical space after author. + {\Huge\bfseries\@title \par}% Title set in \Huge size and bold face + \vskip 1cm % Vertical space after title. + \if!\@subtitle!\else + {\LARGE\ignorespaces\@subtitle \par} + \vskip 1cm % Vertical space after subtitle. + \fi + \if!\@date!\else + \@date + \par + \vskip 1.5em % Vertical space after date. + \fi + \vfill + {\Large\bfseries Springer\par} +%\vskip 3pt +%\itshape +% Berlin\enspace Heidelberg\enspace New\kern0.1em York\\ +% Hong\kern0.2em Kong\enspace London\\ +% Milan\enspace Paris\enspace Tokyo\par + \if@restonecol\twocolumn \else \newpage \fi + \if@twoside\else + \setcounter{page}\@ne + \fi + \clearheadinfo +} + +\def\@chapapp{\chaptername} + +\newdimen\mottowidth +\newcommand\motto[2][77mm]{% +\setlength{\mottowidth}{#1}% +\gdef\m@ttotext{#2}} +% +\newcommand{\processmotto}{\@ifundefined{m@ttotext}{}{% + \setbox0=\hbox{\vbox{\hyphenpenalty=50 + \begin{flushright} + \begin{minipage}{\mottowidth} + \vrule\@width\z@\@height21\p@\@depth\z@ + \normalfont\mottosize\mottostyle\m@ttotext + \end{minipage} + \end{flushright}}}% + \@tempdima=\pagetotal + \advance\@tempdima by\ht0 + \ifdim\@tempdima<157\p@ + \multiply\@tempdima by-1 + \advance\@tempdima by157\p@ + \vskip\@tempdima + \fi + \box0\par + \global\let\m@ttotext=\undefined}} + +\newcommand{\chapsubtitle}[1]{% +\gdef\ch@psubtitle{#1}} +% +\newcommand{\processchapsubtit}{\@ifundefined{ch@psubtitle}{}{% + {\normalfont\chapnumsize\chapnumstyle + \vskip 14\p@ + \ch@psubtitle + \par} + \global\let\ch@psubtitle=\undefined}} + +\newcommand{\chapauthor}[1]{% +\gdef\ch@pauthor{#1}} +% +\newcommand{\processchapauthor}{\@ifundefined{ch@pauthor}{}{% + {\normalfont\chapauthsize\chapauthstyle + \vskip 20\p@ + \ch@pauthor + \par} + \global\let\ch@pauthor=\undefined}} + +\newcommand\chapter{\startnewpage + \@ifundefined{thispagecropped}{}{\thispagecropped} + \thispagestyle{bchap}% + \if@chapnum\else + \begingroup + \let\@elt\@stpelt + \csname cl@chapter\endcsname + \endgroup + \fi + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} + +\def\@chapter[#1]#2{\if@chapnum % war mal \ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \if@mainmatter + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter\thechapterend}#1}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} + +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} + +%%changes position and layout of numbered chapter headings +\def\@makechapterhead#1{{\parindent\z@\raggedright\normalfont + \hyphenpenalty \@M + \interlinepenalty\@M + \if@chapnum + \chapnumsize\chapnumstyle + \@chapapp\ \thechapter\thechapterend\par + \vskip 2\p@ + \fi + \chapsize\chapstyle + \ignorespaces#1\par\nobreak + \processchapsubtit + \processchapauthor + \processmotto + \ifdim\pagetotal>167\p@ + \vskip 11\p@ + \else + \@tempdima=167\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi}} + +%%changes position and layout of unnumbered chapter headings +\def\@makeschapterhead#1{{\parindent \z@ \raggedright\normalfont + \hyphenpenalty \@M + \interlinepenalty\@M + \chapsize\chapstyle + \ignorespaces#1\par\nobreak + \processmotto + \ifdim\pagetotal>167\p@ + \vskip 11\p@ + \else + \@tempdima=168\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi}} +% +% dedication environment +\newenvironment{dedication} +{\clearemptydoublepage +\thispagestyle{empty} +\vspace*{13\baselineskip} +\large\itshape +\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip +\leftskip4cm\parindent\z@\relax +\everypar{\parindent=\svparindent\let\everypar\empty}}{\clearpage} +% +% predefined unnumbered headings +\newcommand{\preface}[1][\prefacename]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\foreword}[1][\forewordname]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\contributors}[1][\contriblistname]{\chapter*{#1}\markboth{#1}{#1}} +\newcommand{\extrachap}[1]{\chapter*{#1}\markboth{#1}{#1}} +% same with TOC entry +\newcommand{\Extrachap}[1]{\chapter*{#1}\markboth{#1}{#1}% +\addcontentsline{toc}{chapter}{#1}} + +% measures and setting of sections +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-30\p@}% \p@lus -4\p@ \@minus -4\p@}% + {16\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\secsize\secstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-30\p@}% \p@lus -4\p@ \@minus -4\p@}% + {16\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\subsecsize\subsecstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-24\p@}% \p@lus -4\p@ \@minus -4\p@}% + {12\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\subsubsecstyle + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-24\p@}% \p@lus -4\p@ \@minus -4\p@}% + {12\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\upshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subparagraph{\@startsection{paragraph}{4}{\z@}% + {-18\p@}% \p@lus -4\p@ \@minus -4\p@}% + {6\p@}% \p@lus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\itshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\newcommand\runinhead{\@startsection{paragraph}{4}{\z@}% + {-6\p@}% \p@lus -4\p@ \@minus -4\p@}% + {-6\p@}% + {\normalfont\normalsize\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\newcommand\subruninhead{\@startsection{paragraph}{4}{\z@}% + {-6\p@}% \p@lus -4\p@ \@minus -4\p@}% + {-6\p@}% + {\normalfont\normalsize\itshape + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} + +% Appendix +\renewcommand\appendix{\par} %article appendix + +\newcommand\bppendix{\startnewpage %book appendix + \pagestyle{headings} + \stepcounter{chapter} + \setcounter{chapter}{0} + \stepcounter{section} + \setcounter{section}{0} + \setcounter{equation}{0} + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{footnote}{0} +\let\if@chapnum=\iftrue +\def\@chapapp{\appendixname} +\renewcommand\thechapter{\@Alph\c@chapter} +\renewcommand\thesection{\thechapter.\@arabic\c@section} +\renewcommand\thesubsection{\thesection.\@arabic\c@subsection} +\renewcommand\theequation{\thechapter.\@arabic\c@equation} +\renewcommand\thefigure{\thechapter.\@arabic\c@figure} +\renewcommand\thetable{\thechapter.\@arabic\c@table}} + +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else +{\@currentHref}\fi} + +\def\runinsep{} +\def\aftertext{\unskip\runinsep} +% +% +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \raggedright + \hyphenpenalty \@M + \interlinepenalty \@M #5\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +% +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \sec@hangfrom{\hskip #3\relax\@svsec}% + {\raggedright + \hyphenpenalty \@M + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% + \ifnum #2>\c@minitocdepth \else + \mtaddtocont{\protect\contentsline + \ifnum #2>\@ne{mtsec}\else{mtchap}\fi + \ifnum #2>\c@secnumdepth + {#7}% + \else + {\protect\numberline{\csname the#1\endcsname}#7}% + \fi + {\thepage}\hyperhrefextend}% + \fi + \else + \def\@svsechd{% + #6\hskip #3\relax + \@svsec #8\aftertext\ignorespaces + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} + +% figures and tables are processed in small print +\def \@floatboxreset {% + \reset@font + \small + \@setnobreak + \@setminipage +} +\def\fps@figure{htbp} +\def\fps@table{htbp} +% +% Frame for paste-in figures or tables +\def\mpicplace#1#2{% #1 =width #2 =height +\vbox{\hbox to #1{\vrule\@width \fboxrule \@height #2\hfill}}} +% +\newenvironment{svgraybox}% + {\ClassWarning{Springer-SVMono}{Environment "svgraybox" not available,\MessageBreak + switching over to "quotation" environment;\MessageBreak + specify documentclass option "graybox",\MessageBreak + see SVMono documentation -}% + \par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \expandafter\item\parindent=\svparindent + \relax\hskip-\listparindent}% + {\endlist}% +% +\newenvironment{svtintedbox}% + {\ClassWarning{Springer-SVMono}{Environment "svtintedbox" not available,\MessageBreak + switching over to "quotation" environment;\MessageBreak + specify documentclass option "graybox",\MessageBreak + see SVMono documentation -}% + \par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \expandafter\item\parindent=\svparindent + \relax\hskip-\listparindent}% + {\endlist}% +% +\renewenvironment{quotation} + {\par\addvspace{6pt} + \list{}{\listparindent12\p@% + \leftmargin=12\p@% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@% + \small}% + \item\relax\hskip-\listparindent} + {\endlist} +% +\renewenvironment{quote} + {\par\addvspace{6pt} + \list{}{\leftmargin=12\p@% + \rightmargin\leftmargin + \parsep=3\p@ + \small}% + \item\relax} + {\endlist} + +% labels of enumerate +\renewcommand\labelenumii{\theenumii.} +\renewcommand\theenumii{\@alph\c@enumii} + +% labels of itemize +\renewcommand\labelitemi{\textbullet} +\renewcommand\labelitemii{\textendash} +\let\labelitemiii=\labelitemiv + +% labels of description +\renewcommand*\descriptionlabel[1]{\hspace\labelsep #1\hfil} + +% fixed indentation for standard itemize-environment +\newdimen\svitemindent \setlength{\svitemindent}{\parindent} + + +% make indentations changeable + +\def\setitemindent#1{\settowidth{\labelwidth}{#1}% + \let\setit@m=Y% + \leftmargini\labelwidth + \advance\leftmargini\labelsep + \def\@listi{\leftmargin\leftmargini + \labelwidth\leftmargini\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=\medskipamount + \itemsep=\parskip \advance\itemsep by -\parsep}} +\def\setitemitemindent#1{\settowidth{\labelwidth}{#1}% + \let\setit@m=Y% + \leftmarginii\labelwidth + \advance\leftmarginii\labelsep +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=6\p@ + \itemsep=\parskip \advance\itemsep by -\parsep}} +% +% adjusted environment "description" +% if an optional parameter (at the first two levels of lists) +% is present, its width is considered to be the widest mark +% throughout the current list. +\def\description{\@ifnextchar[{\@describe}{\list{}{\labelwidth\z@ +\labelsep=12pt\relax %!!!!!!!!! +\leftmargini=12pt\relax %!!!!!!!!! +\leftmargin=12pt\relax %!!!!!!!!! + \itemindent-\leftmargin \let\makelabel\descriptionlabel}}} +% +\def\describelabel#1{#1\hfil} +\def\@describe[#1]{\labelsep=12pt\relax +\relax\ifnum\@listdepth=0 +\setitemindent{#1}\else\ifnum\@listdepth=1 +\setitemitemindent{#1}\fi\fi +\list{--}{\let\makelabel\describelabel}} +% +\def\itemize{% + \ifnum \@itemdepth >\thr@@\@toodeep\else + \advance\@itemdepth\@ne + \ifx\setit@m\undefined + \ifnum \@itemdepth=1 \leftmargini=\svitemindent + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \leftmarginii=\leftmargini \leftmarginiii=\leftmargini + \fi + \fi + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \expandafter\list + \csname\@itemitem\endcsname + {\def\makelabel##1{\rlap{##1}\hss}}% + \fi} +% +\def\enumerate{% + \ifnum \@enumdepth >\thr@@\@toodeep\else + \advance\@enumdepth\@ne + \ifx\setit@m\undefined + \ifnum \@enumdepth=1 \leftmargini=\svitemindent + \labelwidth\leftmargini\advance\labelwidth-\labelsep + \leftmarginii=\leftmargini \leftmarginiii=\leftmargini + \fi + \fi + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \expandafter + \list + \csname label\@enumctr\endcsname + {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% + \fi} +% +\newdimen\verbatimindent \verbatimindent\parindent +\def\verbatim{\advance\@totalleftmargin by\verbatimindent +\@verbatim \frenchspacing\@vobeyspaces \@xverbatim} + +% +% special signs and characters +\newcommand{\D}{\mathrm{d}} +\newcommand{\E}{\mathrm{e}} +\let\eul=\E +\newcommand{\I}{{\rm i}} +\let\imag=\I +% +% the definition of uppercase Greek characters +% Springer likes them as italics to depict variables +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} +% the upright forms are defined here as \var +\DeclareMathSymbol{\varGamma}{\mathalpha}{operators}{"00} +\DeclareMathSymbol{\varDelta}{\mathalpha}{operators}{"01} +\DeclareMathSymbol{\varTheta}{\mathalpha}{operators}{"02} +\DeclareMathSymbol{\varLambda}{\mathalpha}{operators}{"03} +\DeclareMathSymbol{\varXi}{\mathalpha}{operators}{"04} +\DeclareMathSymbol{\varPi}{\mathalpha}{operators}{"05} +\DeclareMathSymbol{\varSigma}{\mathalpha}{operators}{"06} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{operators}{"07} +\DeclareMathSymbol{\varPhi}{\mathalpha}{operators}{"08} +\DeclareMathSymbol{\varPsi}{\mathalpha}{operators}{"09} +\DeclareMathSymbol{\varOmega}{\mathalpha}{operators}{"0A} +% Upright Lower Case Greek letters without using a new MathAlphabet +\newcommand{\greeksym}[1]{\usefont{U}{psy}{m}{n}#1} +\newcommand{\greeksymbold}[1]{{\usefont{U}{psy}{b}{n}#1}} +\newcommand{\allmodesymb}[2]{\relax\ifmmode{\mathchoice +{\mbox{\fontsize{\tf@size}{\tf@size}#1{#2}}} +{\mbox{\fontsize{\tf@size}{\tf@size}#1{#2}}} +{\mbox{\fontsize{\sf@size}{\sf@size}#1{#2}}} +{\mbox{\fontsize{\ssf@size}{\ssf@size}#1{#2}}}} +\else +\mbox{#1{#2}}\fi} +% Definition of lower case Greek letters +\newcommand{\ualpha}{\allmodesymb{\greeksym}{a}} +\newcommand{\ubeta}{\allmodesymb{\greeksym}{b}} +\newcommand{\uchi}{\allmodesymb{\greeksym}{c}} +\newcommand{\udelta}{\allmodesymb{\greeksym}{d}} +\newcommand{\ugamma}{\allmodesymb{\greeksym}{g}} +\newcommand{\umu}{\allmodesymb{\greeksym}{m}} +\newcommand{\unu}{\allmodesymb{\greeksym}{n}} +\newcommand{\upi}{\allmodesymb{\greeksym}{p}} +\newcommand{\utau}{\allmodesymb{\greeksym}{t}} +% redefines the \vec accent to a bold character - if desired +\def\fig@type{arrow}% temporarily abused +\ifx\vec@style\fig@type\else +\@ifundefined{vec@style}{% + \def\vec#1{\ensuremath{\mathchoice + {\mbox{\boldmath$\displaystyle\mathbf{#1}$}} + {\mbox{\boldmath$\textstyle\mathbf{#1}$}} + {\mbox{\boldmath$\scriptstyle\mathbf{#1}$}} + {\mbox{\boldmath$\scriptscriptstyle\mathbf{#1}$}}}}% +} +{\def\vec#1{\ensuremath{\mathchoice + {\mbox{\boldmath$\displaystyle#1$}} + {\mbox{\boldmath$\textstyle#1$}} + {\mbox{\boldmath$\scriptstyle#1$}} + {\mbox{\boldmath$\scriptscriptstyle#1$}}}}% +} +\fi +% tensor +\def\tens#1{\relax\ifmmode\mathsf{#1}\else\textsf{#1}\fi} + +% end of proof symbol +\newcommand\qedsymbol{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\newcommand\qed{\relax\ifmmode\else\unskip\quad\fi\qedsymbol} +\newcommand\smartqed{\renewcommand\qed{\relax\ifmmode\qedsymbol\else + {\unskip\nobreak\hfil\penalty50\hskip1em\null\nobreak\hfil\qedsymbol + \parfillskip=\z@\finalhyphendemerits=0\endgraf}\fi}} +% +\newif\if@numart \@numarttrue +\def\ds@numart{\@numarttrue + \@takefromreset{figure}{chapter}% + \@takefromreset{table}{chapter}% + \@takefromreset{equation}{chapter}% + \def\thesection{\@arabic\c@section}% + \def\thefigure{\@arabic\c@figure}% + \def\thetable{\@arabic\c@table}% + \def\theequation{\arabic{equation}}% + \def\thesubequation{\arabic{equation}\alph{subequation}}} +% +\def\ds@book{\@numartfalse +\def\thesection{\thechapter.\@arabic\c@section}% +\def\thefigure{\thechapter.\@arabic\c@figure}% +\def\thetable{\thechapter.\@arabic\c@table}% +\def\theequation{\thechapter.\arabic{equation}}% +\@addtoreset{section}{chapter}% +\@addtoreset{figure}{chapter}% +\@addtoreset{table}{chapter}% +\@addtoreset{equation}{chapter}} +% +% Ragged bottom for the actual page +\def\thisbottomragged{\def\@textbottom{\vskip\z@ \@plus.0001fil +\global\let\@textbottom\relax}} + +% This is texte.tex +% it defines various texts and their translations +% called up with documentstyle options +\def\switcht@albion{% +\def\abbrsymbname{List of Abbreviations and Symbols}% +\def\abstractname{Abstract}% +\def\ackname{Acknowledgements}% +\def\andname{and}% +\def\bibname{References}% +\def\lastandname{, and}% +\def\appendixname{Appendix}% +\def\chaptername{Chapter}% +\def\claimname{Claim}% +\def\conjecturename{Conjecture}% +\def\contentsname{Contents}% +\def\corollaryname{Corollary}% +\def\definitionname{Definition}% +\def\emailname{e-mail}% +\def\examplename{Example}% +\def\exercisename{Exercise}% +\def\figurename{Fig.}% +\def\forewordname{Foreword}% +\def\keywordname{{\bf Key words:}}% +\def\indexname{Index}% +\def\lemmaname{Lemma}% +\def\contriblistname{List of Contributors}% +\def\listfigurename{List of Figures}% +\def\listtablename{List of Tables}% +\def\mailname{{\it Correspondence to\/}:}% +\def\noteaddname{Note added in proof}% +\def\notename{Note}% +\def\partname{Part}% +\def\prefacename{Preface}% +\def\problemname{Problem}% +\def\proofname{Proof}% +\def\propertyname{Property}% +\def\propositionname{Proposition}% +\def\questionname{Question}% +\def\refname{References}% +\def\remarkname{Remark}% +\def\seename{see}% +\def\solutionname{Solution}% +\def\subclassname{{\it Subject Classifications\/}:}% +\def\tablename{Table}% +\def\theoremname{Theorem}} +\switcht@albion +% Names of theorem like environments are already defined +% but must be translated if another language is chosen +% +% French section +\def\switcht@francais{\svlanginfo + \def\abbrsymbname{Liste des abbr\'eviations et symboles}% + \def\abstractname{R\'esum\'e.}% + \def\ackname{Remerciements.}% + \def\andname{et}% + \def\lastandname{ et}% + \def\appendixname{Appendice}% + \def\bibname{Bibliographie}% + \def\chaptername{Chapitre}% + \def\claimname{Pr\'etention}% + \def\conjecturename{Hypoth\`ese}% + \def\contentsname{Table des mati\`eres}% + \def\corollaryname{Corollaire}% + \def\definitionname{D\'efinition}% + \def\emailname{e-mail}% + \def\examplename{Exemple}% + \def\exercisename{Exercice}% + \def\figurename{Fig.}% + \def\forewordname{Avant-propos}% + \def\keywordname{{\bf Mots-cl\'e:}}% + \def\indexname{Index}% + \def\lemmaname{Lemme}% + \def\contriblistname{Liste des contributeurs}% + \def\listfigurename{Liste des figures}% + \def\listtablename{Liste des tables}% + \def\mailname{{\it Correspondence to\/}:}% + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% + \def\notename{Remarque}% + \def\partname{Partie}% + \def\prefacename{Pr\'eface}% + \def\problemname{Probl\`eme}% + \def\proofname{Preuve}% + \def\propertyname{Caract\'eristique}% +%\def\propositionname{Proposition}% + \def\questionname{Question}% + \def\refname{Litt\'erature}% + \def\remarkname{Remarque}% + \def\seename{voir}% + \def\solutionname{Solution}% + \def\subclassname{{\it Subject Classifications\/}:}% + \def\tablename{Tableau}% + \def\theoremname{Th\'eor\`eme}% +} +% +% German section +\def\switcht@deutsch{\svlanginfo + \def\abbrsymbname{Abk\"urzungs- und Symbolverzeichnis}% + \def\abstractname{Zusammenfassung}% + \def\ackname{Danksagung}% + \def\andname{und}% + \def\lastandname{ und}% + \def\appendixname{Anhang}% + \def\bibname{Literaturverzeichnis}% + \def\chaptername{Kapitel}% + \def\claimname{Behauptung}% + \def\conjecturename{Hypothese}% + \def\contentsname{Inhaltsverzeichnis}% + \def\corollaryname{Korollar}% +%\def\definitionname{Definition}% + \def\emailname{E-mail}% + \def\examplename{Beispiel}% + \def\exercisename{\"Ubung}% + \def\figurename{Abb.}% + \def\forewordname{Geleitwort}% + \def\keywordname{{\bf Schl\"usselw\"orter:}}% + \def\indexname{Sachverzeichnis}% +%\def\lemmaname{Lemma}% + \def\contriblistname{Mitarbeiter}% + \def\listfigurename{Abbildungsverzeichnis}% + \def\listtablename{Tabellenverzeichnis}% + \def\mailname{{\it Correspondence to\/}:}% + \def\noteaddname{Nachtrag}% + \def\notename{Anmerkung}% + \def\partname{Teil}% + \def\prefacename{Vorwort}% +%\def\problemname{Problem}% + \def\proofname{Beweis}% + \def\propertyname{Eigenschaft}% +%\def\propositionname{Proposition}% + \def\questionname{Frage}% + \def\refname{Literaturverzeichnis}% + \def\remarkname{Anmerkung}% + \def\seename{siehe}% + \def\solutionname{L\"osung}% + \def\subclassname{{\it Subject Classifications\/}:}% + \def\tablename{Tabelle}% +%\def\theoremname{Theorem}% +} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9\p@}=\cr}}}}} +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip\p@}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9\p@}=\cr}}}}} +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr +>\cr\noalign{\vskip-\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.8\p@}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.3\p@}<\cr}}}}} +\def\bbbr{{\rm I\!R}} %reelle Zahlen +\def\bbbm{{\rm I\!M}} +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen +\def\bbbf{{\rm I\!F}} +\def\bbbh{{\rm I\!H}} +\def\bbbk{{\rm I\!K}} +\def\bbbp{{\rm I\!P}} +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox +to\z@{\kern0.4\wd0\vrule\@height0.9\ht0\hss}\box0}}}} +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.7\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to\z@{\kern0.4\wd0\vrule\@height0.7\ht0\hss}\box0}}}} +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +T$}\hbox{\hbox to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox +to\z@{\kern0.3\wd0\vrule\@height0.9\ht0\hss}\box0}}}} +\def\bbbs{{\mathchoice +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\hbox +to\z@{\kern0.55\wd0\vrule\@height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\hbox +to\z@{\kern0.55\wd0\vrule\@height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.35\wd0\vrule\@height0.45\ht0\hss}\raise0.05\ht0\hbox +to\z@{\kern0.5\wd0\vrule\@height0.45\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox +to\z@{\kern0.4\wd0\vrule\@height0.45\ht0\hss}\raise0.05\ht0\hbox +to\z@{\kern0.55\wd0\vrule\@height0.45\ht0\hss}\box0}}}} +\def\bbbz{{\mathchoice {\hbox{$\textstyle\sf Z\kern-0.4em Z$}} +{\hbox{$\textstyle\sf Z\kern-0.4em Z$}} +{\hbox{$\scriptstyle\sf Z\kern-0.3em Z$}} +{\hbox{$\scriptscriptstyle\sf Z\kern-0.2em Z$}}}} + +\let\ts\, + +\setlength\arrayrulewidth{.5\p@} +\def\svhline{% + \noalign{\ifnum0=`}\fi\hrule \@height2\arrayrulewidth \futurelet + \reserved@a\@xhline} + +\setlength \labelsep {5\p@} +\setlength\leftmargini {17\p@} +\setlength\leftmargin {\leftmargini} +\setlength\leftmarginii {\leftmargini} +\setlength\leftmarginiii {\leftmargini} +\setlength\leftmarginiv {\leftmargini} +\setlength\labelwidth {\leftmargini} +\addtolength\labelwidth{-\labelsep} + +\def\@listI{\leftmargin\leftmargini + \parsep=\parskip + \topsep=\medskipamount + \itemsep=\parskip \advance\itemsep by -\parsep} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=6\p@ + \itemsep=\parskip + \advance\itemsep by -\parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth by -\labelsep + \parsep=\parskip + \topsep=\z@ + \itemsep=\parskip + \advance\itemsep by -\parsep + \partopsep=\topsep} + +\setlength\arraycolsep{1.5\p@} +\setlength\tabcolsep{1.5\p@} + +\def\tableofcontents{\chapter*{\contentsname\markboth{{\contentsname}}% + {{\contentsname}}} + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} + \def\lastand{\ifnum\value{auco}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{auco}% + \lastand + \else + \unskip, + \fi}% + \@starttoc{toc}\if@restonecol\twocolumn\fi} + +\setcounter{tocdepth}{2} + +\def\l@part#1#2{\addpenalty{\@secpenalty}% + \addvspace{1em \@plus\p@}% + \begingroup + \parindent \z@ + \rightskip \z@ \@plus 5em +% \hrule\vskip5\p@ + \bfseries\boldmath + \leavevmode + #1\par +% \vskip5\p@ +% \hrule + \vskip\p@ + \nobreak + \addvspace{1em \@plus\p@}% + \endgroup} + +\def\@dotsep{2} + +\def\addnumcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline + {\thechapter}#3}{\thepage}}} +\def\addcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}} +\def\addcontentsmarkwop#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}}} + +\def\@adcmk[#1]{\ifcase #1 \or +\def\@gtempa{\addnumcontentsmark}% + \or \def\@gtempa{\addcontentsmark}% + \or \def\@gtempa{\addcontentsmarkwop}% + \fi\@gtempa{toc}{chapter}} +\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} + +\def\l@chapter#1#2{\par\addpenalty{-\@highpenalty} + \addvspace{1.0em \@plus \p@} + \@tempdima \tocchpnum \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\bfseries\boldmath#1}\ifx0#2\hfil\null + \else + \nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hfil #2}% + \fi\par + \penalty\@highpenalty \endgroup} + +\newcommand{\tocauthorstyle}{\upshape} +\newcommand{\toctitlestyle}{\bfseries} + +\def\l@title#1#2{\addpenalty{-\@highpenalty} + \addvspace{8\p@ \@plus \p@} + \@tempdima \z@ + \begingroup + \tocchpnum \z@ \calctocindent + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \pretolerance=10000 + \parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\toctitlestyle#1}%\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty \endgroup} + +\def\l@titlech#1#2{\addpenalty{-\@highpenalty} + \addvspace{8\p@ \@plus \p@} + \@tempdima=\tocchpnum + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm + \pretolerance=10000 + \parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\toctitlestyle#1}%\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty \endgroup} + +\newcommand{\tocaftauthskip}{\z@} +\def\l@author#1#2{%\addpenalty{\@highpenalty} + \@tempdima \z@ + \begingroup + \pretolerance=10000 + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm +%\parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\tocauthorstyle#1}\nobreak +%\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern +%\@dotsep mu$}\hfill +%\nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty + \addvspace{\tocaftauthskip}\endgroup} + +\def\l@authorch#1#2{%\addpenalty{\@highpenalty} + \@tempdima=\tocchpnum + \begingroup + \pretolerance=10000 + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by \z@ \@plus 2cm +%\parfillskip -\@tocrmarg + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip + {\tocauthorstyle#1}\nobreak +%\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern +%\@dotsep mu$}\hfill +%\nobreak\hbox to\@pnumwidth{\hss #2}% + \par + \penalty\@highpenalty + \addvspace{\tocaftauthskip}\endgroup} + +\newdimen\tocchpnum +\newdimen\tocsecnum +\newdimen\tocsectotal +\newdimen\tocsubsecnum +\newdimen\tocsubsectotal +\newdimen\tocsubsubsecnum +\newdimen\tocsubsubsectotal +\newdimen\tocparanum +\newdimen\tocparatotal +\newdimen\tocsubparanum +\tocchpnum=20\p@ % chapter {\bf 88.} \@plus 5.3\p@ +\tocsecnum=28.5\p@ % section 88.8. plus 4.722\p@ +\tocsubsecnum=36.5\p@ % subsection 88.8.8 plus 4.944\p@ +\tocsubsubsecnum=43\p@ % subsubsection 88.8.8.8 plus 4.666\p@ +\tocparanum=45\p@ % paragraph 88.8.8.8.8 plus 3.888\p@ +\tocsubparanum=53\p@ % subparagraph 88.8.8.8.8.8 plus 4.11\p@ +\def\calctocindent{% +\tocsectotal=\tocchpnum +\advance\tocsectotal by\tocsecnum +\tocsubsectotal=\tocsectotal +\advance\tocsubsectotal by\tocsubsecnum +\tocsubsubsectotal=\tocsubsectotal +\advance\tocsubsubsectotal by\tocsubsubsecnum +\tocparatotal=\tocsubsubsectotal +\advance\tocparatotal by\tocparanum} +\calctocindent + +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} +% +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} + +\renewcommand\listoffigures{% + \chapter*{\listfigurename + \markboth{\listfigurename}{\listfigurename}}% + \@starttoc{lof}% + } + +\renewcommand\listoftables{% + \chapter*{\listtablename + \markboth{\listtablename}{\listtablename}}% + \@starttoc{lot}% + } + +\newenvironment{thecontriblist} + {\par + \addvspace{\bigskipamount} + \parindent\z@ + \rightskip\z@ \@plus 40\p@ + \def\iand{\\[\medskipamount]\let\and=\nand}% + \def\nand{\ifhmode\unskip\nobreak\fi\ $\cdot$ }% + \let\and=\nand + \def\at{\\\let\and=\iand}% + } + {\par + \addvspace{\bigskipamount}} + +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width 36mm + \kern2.6\p@} + +\newdimen\foot@parindent +\foot@parindent 10.83\p@ +\footnotesep 9\p@ + +\AtBeginDocument{% +\renewcommand\@makefntext[1]{% + \parindent 12\p@ + \noindent + \mbox{\@makefnmark} #1}} +% +\if@spthms +% Definition of the "\spnewtheorem" command. +% +% Usage: +% +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} +% +% New is "cap_font" and "body_font". It stands for +% fontdefinition of the caption and the text itself. +% +% "\spnewtheorem*" gives a theorem without number. +% +% A defined spnewthoerem environment is used as described +% by Lamport. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@thmcountersep{.} +\def\@thmcounterend{.} +\newcommand\nocaption{\noexpand\@gobble} +\newdimen\spthmsep \spthmsep=3pt + +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} + +% definition of \spnewtheorem with number + +\def\@spnthm#1#2{% + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} + +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@addtoreset{#1}{#3}% + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spothm#1[#2]#3#4#5{% + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}}% + \expandafter\xdef\csname #1name\endcsname{#3}% + \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}}} + +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\labelsep=\spthmsep\refstepcounter{#1}% +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} + +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% + \ignorespaces} + +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} + +\def\normalthmheadings{\def\@spbegintheorem##1##2##3##4{\trivlist + \item[\hskip\labelsep{##3##1\ ##2\@thmcounterend}]##4} +\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4(##3)\@thmcounterend\ }##5}} +\normalthmheadings + +\def\reversethmheadings{\def\@spbegintheorem##1##2##3##4{\trivlist + \item[\hskip\labelsep{##3##2\ ##1\@thmcounterend}]##4} +\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##2\ ##1}]{##4(##3)\@thmcounterend\ }##5}} + +% definition of \spnewtheorem* without number + +\def\@sthm#1#2{\@Ynthm{#1}{#2}} + +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} + +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} + +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} + {#4}{#2}{#3}\ignorespaces} + +\def\@Begintheorem#1#2#3{#3\trivlist + \item[\hskip\labelsep{#2#1\@thmcounterend}]} + +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} + +% initialize theorem environment + +\if@envcntshowhiercnt % show hierarchy counter + \def\@thmcountersep{.} + \spnewtheorem{theorem}{Theorem}[\envankh]{\bfseries}{\itshape} + \@addtoreset{theorem}{chapter} +\else % theorem counter only + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} + \if@envcntreset + \@addtoreset{theorem}{chapter} + \if@envcntresetsect + \@addtoreset{theorem}{section} + \fi + \fi +\fi + +%definition of divers theorem environments +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} +% +\if@envcntsame % all environments like "Theorem" - using its counter + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} +\else % all environments with their own counter + \if@envcntshowhiercnt % show hierarchy counter + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[\envankh]{#3}{#4}} + \else % environment counter only + \if@envcntreset % environment counter is reset each section + \if@envcntresetsect + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}\@addtoreset{#1}{section}} + \else + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}} + \fi + \else + \let\spn@wtheorem=\@spynthm + \fi + \fi +\fi +% +\let\spdefaulttheorem=\spn@wtheorem +% +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} +\spn@wtheorem{definition}{Definition}{\bfseries}{\rmfamily} +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} +\spn@wtheorem{exercise}{Exercise}{\bfseries}{\rmfamily} +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} +\spn@wtheorem{problem}{Problem}{\bfseries}{\rmfamily} +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} +\spn@wtheorem{solution}{Solution}{\bfseries}{\rmfamily} +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} +% +\newenvironment{theopargself} + {\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}}{} +\newenvironment{theopargself*} + {\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{\hspace*{-\labelsep}##4##3\@thmcounterend}##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{\hspace*{-\labelsep}##3##2\@thmcounterend}}}{} +% +\spn@wtheorem{prob}{\nocaption}{\bfseries}{\rmfamily} +\newcommand{\probref}[1]{\textbf{\ref{#1}} } +\newenvironment{sol}{\par\addvspace{6pt}\noindent\probref}{\par\addvspace{6pt}} +% +\fi + +\def\@takefromreset#1#2{% + \def\@tempa{#1}% + \let\@tempd\@elt + \def\@elt##1{% + \def\@tempb{##1}% + \ifx\@tempa\@tempb\else + \@addtoreset{##1}{#2}% + \fi}% + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname + \expandafter\def\csname cl@#2\endcsname{}% + \@tempc + \let\@elt\@tempd} + +% redefininition of the captions for "figure" and "table" environments +% +\@ifundefined{floatlegendstyle}{\def\floatlegendstyle{\bfseries}}{} +\def\floatcounterend{\enspace} +\def\capstrut{\vrule\@width\z@\@height\topskip} +\@ifundefined{captionstyle}{\def\captionstyle{\normalfont\small}}{} +\@ifundefined{instindent}{\newdimen\instindent}{} + +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore\if@minipage\@setminipage\fi + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +\def\twocaptionwidth#1#2{\def\first@capwidth{#1}\def\second@capwidth{#2}} +% Default: .46\textwidth +\twocaptionwidth{.46\textwidth}{.46\textwidth} + +\def\leftcaption{\refstepcounter\@captype\@dblarg% + {\@leftcaption\@captype}} + +\def\rightcaption{\refstepcounter\@captype\@dblarg% + {\@rightcaption\@captype}} + +\long\def\@leftcaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \vskip\figcapgap + \@maketwocaptions{\csname fnum@#1\endcsname}{\ignorespaces #3}% + {\first@capwidth}\ignorespaces\hspace{.073\textwidth}\hfill% + \endgroup} + +\long\def\@rightcaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@maketwocaptions{\csname fnum@#1\endcsname}{\ignorespaces #3}% + {\second@capwidth}\par + \endgroup} + +\long\def\@maketwocaptions#1#2#3{% + \parbox[t]{#3}{{\floatlegendstyle #1\floatcounterend}#2}} + +\def\fig@pos{l} +\newcommand{\leftfigure}[2][\fig@pos]{\makebox[.4635\textwidth][#1]{#2}} +\let\rightfigure\leftfigure + +\newdimen\figgap\figgap=0.5cm % hgap between figure and sidecaption +% +\long\def\@makesidecaption#1#2{\@tempdimb=3.6cm + \setbox0=\vbox{\hsize=\@tempdimb + \captionstyle{\floatlegendstyle + #1\floatcounterend}#2}% + \ifdim\instindent<\z@ + \ifdim\ht0>-\instindent + \advance\instindent by\ht0 + \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for + \@captype\space\csname the\@captype\endcsname + ^^Jis \the\instindent\space taller than the corresponding float - + ^^Jyou'd better switch the environment. }% + \instindent\z@ + \fi + \else + \ifdim\ht0<\instindent + \advance\instindent by-\ht0 + \advance\instindent by-\dp0\relax + \advance\instindent by\topskip + \advance\instindent by-11\p@ + \else + \advance\instindent by-\ht0 + \instindent=-\instindent + \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for + \@captype\space\csname the\@captype\endcsname + ^^Jis \the\instindent\space taller than the corresponding float - + ^^Jyou'd better switch the environment. }% + \instindent\z@ + \fi + \fi + \parbox[b]{\@tempdimb}{\captionstyle{\floatlegendstyle + #1\floatcounterend}#2% + \ifdim\instindent>\z@ \\ + \vrule\@width\z@\@height\instindent + \@depth\z@ + \fi}} +\def\sidecaption{\@ifnextchar[\sidec@ption{\sidec@ption[b]}} +% +\newbox\bildb@x +% +\def\sidec@ption[#1]#2\caption{% +\setbox\bildb@x=\hbox{\ignorespaces#2\unskip}% +\if@twocolumn + \ifdim\hsize<\textwidth\else + \ifdim\wd\bildb@x<\columnwidth + \typeout{Double column float fits into single column - + ^^Jyou'd better switch the environment. }% + \fi + \fi +\fi + \instindent=\ht\bildb@x + \advance\instindent by\dp\bildb@x +\if t#1 +\else + \instindent=-\instindent +\fi +\@tempdimb=\hsize +\advance\@tempdimb by-\figgap +\advance\@tempdimb by-\wd\bildb@x +\ifdim\@tempdimb<3.6cm + \ClassWarning{SVMult}{\string\sidecaption: No sufficient room for the legend; + ^^Jusing normal \string\caption}% + \unhbox\bildb@x + \let\@capcommand=\@caption +\else +% \ifdim\@tempdimb<4.5cm +% \ClassWarning{SVMono}{\string\sidecaption: Room for the legend very narrow; +% ^^Jusing \string\raggedright}% + \toks@\expandafter{\captionstyle\sloppy + \rightskip=\z@\@plus6mm\relax}% + \def\captionstyle{\the\toks@}% +% \fi + \let\@capcommand=\@sidecaption +% \leavevmode +% \unhbox\bildb@x +% \hfill +\fi +\refstepcounter\@captype +\@dblarg{\@capcommand\@captype}} +\long\def\@sidecaption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@makesidecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}% + \hfill + \unhbox\bildb@x + \par + \endgroup} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\fig@type{figure} + +\def\leftlegendglue{\relax} +\newdimen\figcapgap\figcapgap=5\p@ % vgap between figure and caption +\newdimen\tabcapgap\tabcapgap=3\p@ % vgap between caption and table + +\long\def\@makecaption#1#2{% + \captionstyle + \ifx\@captype\fig@type + \vskip\figcapgap + \fi + \setbox\@tempboxa\hbox{{\floatlegendstyle #1\floatcounterend}% + \capstrut #2}% + \ifdim \wd\@tempboxa >\hsize + {\floatlegendstyle #1\floatcounterend}\capstrut #2\par + \else + \hbox to\hsize{\leftlegendglue\unhbox\@tempboxa\hfil}% + \fi + \ifx\@captype\fig@type\else + \vskip\tabcapgap + \fi} + +\newcounter{merk} + +\def\endfigure{\resetsubfig\end@float} + +\@namedef{endfigure*}{\resetsubfig\end@dblfloat} + +\def\resetsubfig{\global\let\last@subfig=\undefined} + +\def\r@setsubfig{\xdef\last@subfig{\number\value{figure}}% +\setcounter{figure}{\value{merk}}% +\setcounter{merk}{0}} + +\def\subfigures{\refstepcounter{figure}% + \@tempcnta=\value{merk}% + \setcounter{merk}{\value{figure}}% + \setcounter{figure}{\the\@tempcnta}% + \def\thefigure{\if@numart\else\thechapter.\fi + \@arabic\c@merk\alph{figure}}% + \let\resetsubfig=\r@setsubfig} + +\def\samenumber{\addtocounter{\@captype}{-1}% +\@ifundefined{last@subfig}{}{\setcounter{merk}{\last@subfig}}} + +% redefinition of the "bibliography" environment +% +\def\biblstarthook#1{\gdef\biblst@rthook{#1}} +% +\AtBeginDocument{% +\ifx\chpbibl\undefined + \def\bibsection{\section*{\refname}\ifx\sectionmark\@gobble\else + \markright{\refname}\fi + \addcontentsline{toc}{section}{\refname}% + \mtaddtocont{\protect\contentsline{mtchap}{\refname}{\thepage}\hyperhrefextend}% + \csname biblst@rthook\endcsname\par} +\else + \def\bibsection{\chapter*{\refname}\@mkboth{\refname}{\refname}% + \addcontentsline{toc}{chapter}{\refname}% + \csname biblst@rthook\endcsname\par} +\fi} +\ifx\oribibl\undefined % Springer way of life + \renewenvironment{thebibliography}[1]{\bibsection + \global\let\biblst@rthook=\undefined + \def\@biblabel##1{##1.} + \small + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \if@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw + {\let\protect\noexpand\immediate + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} +\else % original bibliography is required + \let\bibname=\refname + \renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \markboth{\bibname}{\bibname}}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\fi + +\let\if@threecolind\iffalse +\def\threecolindex{\let\if@threecolind\iftrue} +\def\indexstarthook#1{\gdef\indexst@rthook{#1}} +\renewenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 1cc + \@nobreaktrue + \if@threecolind + \begin{multicols}{3}[\chapter*{\indexname}% + \else + \begin{multicols}{2}[\chapter*{\indexname}% + \fi + {\csname indexst@rthook\endcsname}]% + \global\let\indexst@rthook=\undefined + \markboth{\indexname}{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}% + \parindent\z@ + \rightskip\z@ \@plus 40\p@ + \parskip\z@ \@plus .3\p@\relax + \flushbottom + \let\item\@idxitem + \def\,{\relax\ifmmode\mskip\thinmuskip + \else\hskip0.2em\ignorespaces\fi}% + \normalfont\small} + {\end{multicols} + \global\let\if@threecolind\iffalse + \if@restonecol\onecolumn\else\clearpage\fi} + +\def\idxquad{\hskip 10\p@}% space that divides entry from number + +\def\@idxitem{\par\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax} + +\def\subitem{\par\noindent\setbox0=\hbox{--\enspace}% second order + \kern\wd0\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax}% indexentry + +\def\subsubitem{\par\noindent\setbox0=\hbox{--\,--\enspace}% third order + \kern\wd0\setbox0=\hbox{--\,--\,--\enspace}% + \hangindent\wd0\relax}% indexentry + +\def\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} + +% LaTeX does not provide a command to enter the authors institute +% addresses. The \institute command is defined here. + +\newcounter{@inst} +\newcounter{@auth} +\newcounter{auco} +\newdimen\instindent +\newbox\authrun +\newtoks\authorrunning +\newtoks\tocauthor +\newbox\titrun +\newtoks\titlerunning +\newtoks\toctitle + +\def\clearheadinfo{\gdef\@author{No Author Given}% + \gdef\@title{No Title Given}% + \gdef\@subtitle{}% + \gdef\@institute{}% + \gdef\@thanks{}% + \global\titlerunning={}\global\authorrunning={}% + \global\toctitle={}\global\tocauthor={}} + +\def\institute#1{\gdef\@institute{#1}} + +\def\title{\@ifstar\s@title\n@title} +\def\s@title#1{\gdef\@title{#1}\ds@numart} +\def\n@title#1{\gdef\@title{#1}\ds@book} + +\def\institutename + {\begingroup + \if!\@institute!\else + \def\thanks##1{\unskip{}}% + \def\iand{\\[5pt]\let\and=\nand}% + \def\nand{\ifhmode\unskip\nobreak\fi\ $\cdot$ }% + \let\and=\nand + \def\at{\\\let\and=\iand}% + \footnotetext[0]{\kern-\bibindent + \ignorespaces\@institute}\vspace{5dd}\fi + \endgroup + }% + +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or + {\star{\star}\star}\or \dagger\or \ddagger\or + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger + \or \ddagger\ddagger \else\@ctrerr\fi}} + +\def\inst#1{\unskip$^{#1}$} +\def\fnmsep{\unskip$^,$} + +\def\subtitle#1{\gdef\@subtitle{#1}} +\clearheadinfo + +\def\@bfdottedtocline#1#2#3#4#5{% + \ifnum #1>\c@minitocdepth \else + \par + \if@minipage\else\addvspace{5\p@}\fi + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {\bfseries#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par\addvspace{5\p@}}% + \fi} + +\def\@rmdottedtocline#1#2#3#4#5{% + \ifnum #1>\c@minitocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by \z@ \@plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} + +%def\l@mtchap{\@bfdottedtocline{1}{\z@}{\tocsectotal}} +\def\l@mtchap{\@rmdottedtocline{1}{\z@}{\tocsecnum}} +\def\l@mtsec{\@rmdottedtocline{1}{\tocsecnum}{\tocsubsecnum}} + +\newcounter{contribution} + +\renewcommand\maketitle{\par\startnewpage + \stepcounter{section}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{equation}{0} + \setcounter{footnote}{0}% + \if@numart + \stepcounter{chapter}% + \addtocounter{chapter}{-1}% + \else + \refstepcounter{chapter}% + \fi + \stepcounter{contribution}% + \immediate\write\@auxout{\string\immediate\string\closeout\string\minitoc}% + \immediate\write\@auxout{\let\MiniTOC=N}% +% try to be hyperref-compatible + \csname phantomsection\endcsname + \begingroup + \parindent=\z@ +%%%%%%%%% \renewcommand\thefootnote{\@fnsymbol\c@footnote}% +% + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{$^{\@thefnmark}$}% + \renewcommand\@makefntext[1]{% + \noindent + \hb@xt@\bibindent{\hss\@makefnmark\enspace}##1\vrule height0pt + width0pt depth8pt} +% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \@ifundefined{thispagecropped}{}{\thispagecropped} + \thispagestyle{bchap}\@thanks +% + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% + \instindent=\hsize + \advance\instindent by-\headlineindent + \if@numart % keine Nummer + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else + \addcontentsline{toc}{title}{\the\toctitle}\fi + \else + \if!\the\toctitle!\addcontentsline{toc}{titlech}{\protect\numberline{\thechapter\thechapterend}\@title}\else + \addcontentsline{toc}{titlech}{\protect\numberline{\thechapter\thechapterend}\the\toctitle}\fi + \fi + \if@runhead + \if!\the\titlerunning!\else + \edef\@title{\the\titlerunning}% + \fi + \global\setbox\titrun=\hbox{\small\rm\unboldmath\if@numart\else + \@seccntformat{chapter}\fi + \ignorespaces\@title}% + \ifdim\wd\titrun>\instindent + \typeout{Title too long for running head. Please supply}% + \typeout{a shorter form with \string\titlerunning\space prior to + \string\maketitle}% + \global\setbox\titrun=\hbox{\small\rm + Title Suppressed Due to Excessive Length}% + \fi + \xdef\@title{\copy\titrun}% + \fi +% + \if!\the\tocauthor!\relax + {\def\and{\noexpand\protect\noexpand\and}% + \protected@xdef\toc@uthor{\@author}}% + \else + \def\\{\noexpand\protect\noexpand\newline}% + \protected@xdef\scratch{\the\tocauthor}% + \protected@xdef\toc@uthor{\scratch}% + \fi + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% + \if@numart + \addcontentsline{toc}{author}{\toc@uthor}% + \else + \addcontentsline{toc}{authorch}{\toc@uthor}% + \fi + \if@runhead + \if!\the\authorrunning! + \value{@inst}=\value{@auth}% + \setcounter{@auth}{1}% + \else + \edef\@author{\the\authorrunning}% + \fi + \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% + \ifdim\wd\authrun>\instindent + \typeout{Names of authors too long for running head. Please supply}% + \typeout{a shorter form with \string\authorrunning\space prior to + \string\maketitle}% + \global\setbox\authrun=\hbox{\small\rm + Authors Suppressed Due to Excessive Length}% + \fi + \xdef\scratch{\copy\authrun}% + \markboth{\scratch}{\@title}% + \fi + \endgroup +% \setcounter{footnote}{0}% footnote starts at (\inst+1) + \@afterindentfalse\@afterheading + \clearheadinfo} +% +\def\@maketitle{\newpage + \markboth{}{}% + \def\lastand{\ifnum\value{@inst}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{@inst}% + \lastand + \else + \unskip, + \fi}% + \raggedright + {\chapnumsize + \chapnumstyle + \pretolerance=10000 + \let\\=\newline +% \@hangfrom{\@svsec}% +%%% \@svsec + \raggedright + \hyphenpenalty \@M + \interlinepenalty \@M + \if@numart + \chap@hangfrom{}%!!! + \else + \chap@hangfrom{\thechapter\thechapterend\hskip\betweenumberspace}%!!! + \fi + \ignorespaces + \chapsize + \chapstyle + \@title \par}\vskip .8cm +\if!\@subtitle!\else {\chapnumsize\chapnumstyle + \vskip -.65cm + \pretolerance=10000 + \@subtitle \par}\vskip .8cm\fi + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% + \def\thanks##1{}\@author}% + \global\value{@inst}=\value{@auth}% + \global\value{auco}=\value{@auth}% + \setcounter{@auth}{1}% +{\lineskip .5em + \noindent\ignorespaces + \@author\vskip.35cm} + \processmotto % {\small\institutename\par} + \institutename + \ifdim\pagetotal>157\p@ + \vskip 11\p@ + \else + \@tempdima=168\p@\advance\@tempdima by-\pagetotal + \vskip\@tempdima + \fi +} + +\def\email#1{\emailname: \url{#1}} + +% Useful environments +\newenvironment{abbrsymblist}[1][\qquad] + {\section*{\abbrsymbname} + \mtaddtocont{\protect\contentsline{mtchap}{\abbrsymbname}{\thepage}\hyperhrefextend} + \begin{description}[#1]}{\end{description}\addvspace{10\p@}} +% +\newenvironment{acknowledgement}{\par\addvspace{17\p@}\small\rm +\trivlist\item[\hskip\labelsep{\bfseries\ackname}]} +{\endtrivlist\addvspace{6\p@}} +% +\newenvironment{noteadd}{\par\addvspace{17\p@}\small\rm +\trivlist\item[\hskip\labelsep{\it\noteaddname}]} +{\endtrivlist\addvspace{6\p@}} +% +\DeclareRobustCommand\abstract{\@ifstar\@abstgobl\@abstract} +\def\@abstract#1{\noindent\textbf{\abstractname} #1\par +%\@afterindentfalse +%\@afterheading +} +\def\@abstgobl#1{\par +%\@afterindentfalse +%\@afterheading +} +% +\newcommand{\keywords}[1]{\par\addvspace\baselineskip +\noindent\keywordname\enspace\ignorespaces#1} +% +% define the running headings of a twoside text +\def\runheadsize{\small} +\def\runheadstyle{\rmfamily\upshape} +\def\customizhead{\hspace{\headlineindent}} + +\def\ps@bchap{%\let\@mkboth\@gobbletwo + \let\@oddhead\@empty\let\@evenhead\@empty + \def\@oddfoot{\reset@font\small\hfil\thepage}% + \let\@evenfoot\@oddfoot} + +\def\ps@headings{\let\@mkboth\markboth + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\runheadsize\runheadstyle\rlap{\thepage}\hfil + \leftmark} + \def\@oddhead{\runheadsize\runheadstyle\rightmark\hfil + \llap{\thepage}} + \def\chaptermark##1{\markboth{{\ifnum\c@secnumdepth>\m@ne + \thechapter\thechapterend\hskip\betweenumberspace\fi ##1}}{{\ifnum %!!! + \c@secnumdepth>\m@ne\thechapter\thechapterend\hskip\betweenumberspace\fi ##1}}}%!!! + \def\sectionmark##1{\markright{{\ifnum\c@secnumdepth>\z@ + \thesection\hskip\betweenumberspace\fi ##1}}}} + +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\runheadsize\runheadstyle\rlap{\thepage}\hfil + \leftmark} + \def\@oddhead{\runheadsize\runheadstyle\rightmark\hfil + \llap{\thepage}} + \let\chaptermark\@gobble + \let\sectionmark\@gobble + \let\subsectionmark\@gobble} + +\if@runhead\ps@myheadings\else +\ps@empty\fi + +\endinput +%end of file svmult.cls -- 2.39.5

btA$%BoaD|Vn~ln;ax;e9tR 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 literal 0 HcmV?d00001 diff --git a/chapitre-2009/dynamic/DynamicComparison.ps b/chapitre-2009/dynamic/DynamicComparison.ps new file mode 100644 index 0000000..60e93ad --- /dev/null +++ b/chapitre-2009/dynamic/DynamicComparison.ps @@ -0,0 +1,767 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: DynamicComparison.ps +%%Creator: gnuplot 4.2 patchlevel 5 +%%CreationDate: Thu Sep 24 18:25:24 2009 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (DynamicComparison.ps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 5 ) + /Author (Abdallah Makhoul,,,) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Thu Sep 24 18:25:24 2009) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} 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 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} 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 +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 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 +/Density { + /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} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% 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 +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/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 +854 448 M +63 0 V +6073 0 R +-63 0 V +770 448 M +( 60) Rshow +1.000 UL +LTb +854 1080 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 80) Rshow +1.000 UL +LTb +854 1712 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 100) Rshow +1.000 UL +LTb +854 2344 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 120) Rshow +1.000 UL +LTb +854 2976 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 140) Rshow +1.000 UL +LTb +854 3608 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 160) Rshow +1.000 UL +LTb +854 4240 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 180) Rshow +1.000 UL +LTb +854 4872 M +63 0 V +6073 0 R +-63 0 V +-6157 0 R +( 200) Rshow +1.000 UL +LTb +854 448 M +0 63 V +0 4361 R +0 -63 V +854 308 M +( 0) Cshow +1.000 UL +LTb +2081 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.1) Cshow +1.000 UL +LTb +3308 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.2) Cshow +1.000 UL +LTb +4536 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.3) Cshow +1.000 UL +LTb +5763 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.4) Cshow +1.000 UL +LTb +6990 448 M +0 63 V +0 4361 R +0 -63 V +0 -4501 R +( 0.5) Cshow +1.000 UL +LTb +1.000 UL +LTb +854 4872 N +854 448 L +6136 0 V +0 4424 V +-6136 0 V +Z stroke +LCb setrgbcolor +280 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Number of iterations) Cshow +grestore +LTb +LCb setrgbcolor +3922 98 M +(Probability of link failure) Cshow +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +6339 4739 M +(Our approach) Rshow +LT0 +6423 4739 M +399 0 V +854 764 M +109 32 V +106 31 V +101 32 V +97 31 V +95 32 V +91 31 V +88 31 V +85 31 V +83 32 V +81 31 V +79 31 V +76 31 V +75 31 V +73 31 V +71 32 V +71 31 V +68 32 V +68 31 V +66 32 V +66 32 V +64 32 V +64 32 V +63 33 V +62 32 V +61 33 V +61 33 V +61 33 V +60 34 V +59 34 V +59 34 V +59 34 V +58 34 V +58 35 V +58 35 V +58 35 V +57 36 V +57 35 V +57 36 V +57 36 V +57 36 V +57 37 V +56 37 V +57 37 V +56 37 V +56 37 V +56 38 V +56 38 V +57 38 V +56 38 V +56 39 V +56 38 V +56 39 V +55 40 V +56 39 V +56 40 V +56 41 V +56 41 V +56 41 V +56 41 V +55 42 V +56 43 V +56 43 V +56 44 V +56 45 V +55 45 V +56 47 V +56 47 V +56 48 V +56 49 V +55 51 V +56 52 V +56 53 V +56 54 V +55 57 V +56 58 V +56 60 V +56 62 V +56 64 V +55 66 V +56 69 V +56 71 V +56 74 V +55 78 V +56 80 V +56 83 V +56 87 V +56 91 V +55 94 V +56 99 V +56 103 V +54 103 V +stroke +LT1 +LTb +6339 4599 M +(Metropolis Approach) Rshow +LT1 +6423 4599 M +399 0 V +854 1238 M +109 15 V +106 16 V +101 17 V +97 19 V +95 19 V +91 21 V +88 22 V +85 24 V +83 24 V +81 26 V +79 27 V +76 28 V +75 29 V +73 31 V +71 32 V +71 33 V +68 34 V +68 35 V +66 37 V +66 37 V +64 39 V +64 40 V +63 41 V +62 41 V +61 43 V +61 44 V +61 45 V +60 45 V +59 47 V +59 47 V +59 48 V +58 49 V +58 50 V +58 50 V +58 51 V +57 51 V +57 53 V +57 52 V +57 54 V +57 54 V +57 54 V +56 55 V +57 55 V +56 56 V +56 57 V +56 57 V +56 57 V +57 57 V +56 59 V +56 58 V +56 59 V +56 60 V +55 60 V +56 60 V +56 61 V +56 61 V +56 62 V +56 62 V +56 63 V +55 63 V +56 63 V +56 65 V +56 65 V +56 65 V +55 66 V +56 66 V +56 68 V +56 67 V +56 69 V +55 69 V +56 70 V +56 70 V +56 71 V +55 72 V +32 42 V +stroke +LTb +854 4872 N +854 448 L +6136 0 V +0 4424 V +-6136 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/chapitre-2009/dynamic/DynamicTopologyTime.ps b/chapitre-2009/dynamic/DynamicTopologyTime.ps new file mode 100644 index 0000000..e69de29 diff --git a/chapitre-2009/dynamic/MoyenXiao b/chapitre-2009/dynamic/MoyenXiao new file mode 100644 index 0000000..fb2e2b2 --- /dev/null +++ b/chapitre-2009/dynamic/MoyenXiao @@ -0,0 +1,10 @@ +0 85 +0.1 90 +0.15 100 +0.2 115 +0.25 140 +0.3 155 +0.35 180 +0.4 200 +0.45 235 +0.5 260 diff --git a/chapitre-2009/dynamic/MoyennIterAsynch-50-Proba b/chapitre-2009/dynamic/MoyennIterAsynch-50-Proba new file mode 100644 index 0000000..a2230c8 --- /dev/null +++ b/chapitre-2009/dynamic/MoyennIterAsynch-50-Proba @@ -0,0 +1,11 @@ +0 70 85 +0.1 81 90 +0.15 92 100 +0.2 101 115 +0.25 116 140 +0.3 129 155 +0.35 143 180 +0.4 153 200 +0.45 180 235 +0.5 233 260 + diff --git a/chapitre-2009/dynamic/pl.plot b/chapitre-2009/dynamic/pl.plot new file mode 100644 index 0000000..38c5aaf --- /dev/null +++ b/chapitre-2009/dynamic/pl.plot @@ -0,0 +1,11 @@ +set terminal postscript eps +set output "DynamicComparison.ps" +set xlabel "Probability of link failure"; set ylabel "Number of iterations" +set xrange[0:0.5] +set yrange[60:200] +set xtics 0.1 +set ytics 20 +#set size ratio 1 +#set size square 0.7,1 +#plot "SimulatedTimeAsynch-50-Proba" with lines smooth bezier title "Asynchron Ratio 2 density 50 runs 50" +plot "MoyennIterAsynch-50-Proba" smooth bezier title "Our approach", "MoyenXiao" smooth bezier title "Metropolis Approach" diff --git a/chapitre-2009/editor/edinst.pdf b/chapitre-2009/editor/edinst.pdf new file mode 100644 index 0000000000000000000000000000000000000000..964011b58fa539cd09cd680bc589b856e9d6c0d5 GIT binary patch literal 107317 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