(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 27031, 473]*) (*NotebookOutlinePosition[ 28175, 506]*) (* CellTagsIndexPosition[ 28131, 502]*) (*WindowFrame->Normal*) Notebook[{ Cell[GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgR000`400?l00000o`00003oooooool9 ooooo`00ooooool9ooooo`001ooooolE0?ooo`0?0>[/m@2a]mX0Phg305m//`11D:@0;CjJ01l`U00K ;I807BnC02/kV@0nCJ80FFJ`07j8`@2`]]T0k>gf0=@0oooo2Oooool000Oooooo4P3oool0103Gfn`0 Qi76041?X`0A8hd=00lRS004010SS@0nCZ<0RI;60=gPkm40oooo2Oooool000Oooooo3`3oool00`3Y jo@0SIK803Y9X00D00lRS004010RS012DJD0YjkE0?_koAL0oooo00D0g=o_0;VogP2i_mh0k^og0=gP k`020:F/e0060>o`m`3oool0oooo0?ooo`39cND0h>?`0`3oool00`37bn@0YJcD0:Z`eP020?ooo`04 0>?UlP2i_mh0^KoN0>GWl`<0oooo00<0g=o^0;VogP2i_mh0102i_mh01@37c>D0oooo00?ooo`030?oOg`3o f=P0ooOg00H0oooo00<0on3P0?ooo`3oool00P3oool01P3oknl0oooo0?ooo`3oool0ooWi0?ogm`@0 oooo00<0on3P0?ooo`3oool00`3oool01P3oh>00oooo0?ooo`3oool0onSX0?ogm`@0oooo00<0on3P 0?ogm`3oool00P3oool00`3omoL0on3P0?ooo`020?ooo`030?oXj03omoL0oooo00<0oooo00<0ooWi 0?oPh03oool0103oool00`3oj>P0ooOg0?ooo`040?ooo`030?oPh03of=P0ono_00D0oooo0P3omoL3 0?ooo`030?ogm`3oj>P0oooo01d0oooo2Oooool000Oooooo3@3oool00`3cm?T0Q8k401T[T@0I00lR S00302hnV`3;cnH0oooo01D0oooo00D0Qi7600lRS00?8X`0`lSR0<76h@0200lRS0060;Nmg@3oool0 oooo0?gmoP0W>9P0KgZj0`3oool00`1EHjh03b:<02loV`020?ooo`0409nWd@0?8X`03b:<0:F/e0<0 oooo00<0Qi7600lRS00?8X`0100?8X`01@0oCZ<0oooo03M7W`0?8X`0M00<0oooo00D0];[K00lR S00?8X`04BB=0;c2g`020?ooo`040?ogm`3nEU80oSPd0?oWiP`0oooo00@0oY2=0?hY9@3n;RX0oWAa 0P3nJfL0203of]T0oooo0?ooo`3oool0okFc0?hG4P3nCd/0om[I0P3oool01`3n:RD0oS<^0?ooo`3o ool0olW80?hG4P3nQX@00P3oool0103odM00oQLB0?i5@@3odM020?ooo`080?nIU`3n5a80oUEA0?of mP3oool0oRXU0?hY9@3o]K<30?ooo`030?hP6`3n:BD0okFc0080oooo00P0oVYW0?hG4P3nF5@0on?S 0?ooo`3nAD40oRTU0?ne/`<0oooo00@0oWAa0?hG4P3nAD40olO60`3oool00`3n:RD0oRTU0?nRX002 0?ooo`070?ogm`3nF5@0oQLB0?hY9@3n?3P0oVYW0?oPh0030?ooo`030?o7aP3n5a80oX>10080oooo 00@0oWej0?hG4P3nHEh0ong/703oool9ooooo`001oooool<0?ooo`030:fcf00V=iL03b:<01/03b:< 00<072jB080jnce00803b:<00L0U9c<0?ooo`3o ool0adZQ00lRS01;FJT00P3oool0102OYm403b:<00lRS02U [=@30?ooo`0308NAaP0?8X`03b:<00@03b:<00D0?djS0?ooo`0gAil03b:<03=3W@020?ooo`050?Gf nP0^?i/03b:<00lRS01oRL800P3oool01P3onOT0oUIB0?hG4P3n5a80oSPd0?oWiP/0oooo00<0oUQD 0?n6Q03oool00P3oool00`3om_H0oTE10?o7aP020?ooo`090?nn_@3n5a80oTE10?idL@3o/[00oooo 0?iQGP3n5a80om[I0080oooo01<0oRXU0?hc;P3oool0oooo0?o/k03n5a80oRhZ0?imNP3nVIL0oooo 0?nIU`3n5a80oeeI0?imNP3om_H0oTE10?hG4P3nQX@0ojZX0080oooo0P3n5a801@3nOGX0oi>@0?oo o`3nAD40oQLB0080oV5N00D0onSW0?i5@@3n5a80ohJ40?j6Q0020?ooo`050?iTH@3n5a80ogej0?iZ I`3nOGX00P3oool03@3n`0ooKf0P3oool01@3oRhT0oQLB0?nn_@3oool0ong/0080oooo00P0oV5N0?hG 4P3odM00ooKf0?ooo`3oRhT0oQLB0?idL@<0oooo00<0oRhZ0?hl>03oool00P3oool02@3nF5@0oQlJ 0?ooo`3oool0olO60?hG4P3nF5@0oooo0?ogm`0K0?ooo`Wooooo0007ooooo`T0oooo00<0f=_/02`l VP0?8X`0800?8X`00`0H:Y00a03n5a80onc/0080oooo00<0om7@0?hG4P3nAD400P3oool00`3oZjX0oQLB0?j6Q0020?ooo`03 0?j6Q03n5a80on?S00<0oooo00L0oR0K0?i=B@3oool0om[I0?i?B`3n5a80oj^Z00<0oooo00<0oV]W 0?hG4P3odM000P3oool0203nQX@0oQLB0?imNP3oool0olW80?i[I`3n5a80okjm0`3oool00`3o^KP0 oQLB0?n@S@040?ooo`030?nIU`3n5a80oi2=0080oooo00<0oi>@0?hG4P3nM7400`3oool00`3nK6T0 oQLB0?ne/`020?ooo`030?n@S@3n5a80okFc0080oooo00<0oR0K0?hZ9@3oool0703oool9ooooo`00 1oooool80?ooo`030=KIj`0V=iL03b:<02803b:<00<072jB0=CGjP3oool04@3oool02P27TLH03b:< 00lRS033b>80oooo07Ao_00?8X`09CNG0?ooo`31a^4200lRS004010SS00I:i40m?Gj0=SKk0803b:< 00@0W:C@0?ooo`3oool0WjOA0P0?8X`01@2U[=@0oooo0?ooo`3oool0Qi7600803b:<00<0^KoN0?oo o`3oool00`3oool0200gAil03b:<03=3W@3WjO@08S>E00lRS00@8h`0^;gM0P3oool00`3nOGX0oQLB 0?hG4P060?hG4P030?iFDP3omoL0oooo00`0oooo00@0om7@0?hc;P3n5a80oh^90P3oool00`3nOGX0 oQLB0?ne/`030?ooo`0<0?hP6`3n`0oooo0?nn_@3n5a80 oj:P0`3oool01`3nHEh0oQlJ0?ooo`3oool0oWej0?hG4P3nJfL00`3oool00`3oVIL0oQLB0?nRX002 0?ooo`030?nn_@3n5a80oS`h0080oooo00<0oVYW0?hG4P3nQX@00`3oool00`3oh=l0oQLB0?iQGP04 0?ooo`030?oJf@3n5a80oUQD0080oooo00<0okVh0?hG4P3nCd/00`3oool00`3oTi00oQLB0?i[I`02 0?ooo`030?o7aP3n5a80oUQD0080oooo00<0oUQD0?hG4P3of]T0703oool9ooooo`001oooool70?oo o`030;_0g`0M;i<03b:<02@03b:<00<09cRH0=CGjP3oool0403oool01P27TLH03b:<00lRS033b>80 oooo0:2XdP803b:<00P0k^og06Ue]`0?8X`0:cbJ05m//`0?8X`0WJC@0;Vng@803b:<00@0^l3N0?oo o`3oool0WjOA0P0?8X`01@2U[=@0oooo0?ooo`3oool0Qi7600803b:<00X0UYk=07Sl@3oool0=dNO00lRS00]?IX0AUFV0P0?8X`0101fPKd0oooo0?oin@3nK6T:0?hG4P030?i;B03o jnX0oooo00P0oooo00<0olG40?idL@3n;RX00`3n5a801P3oZjX0oooo0?ooo`3o^KP0oQLB0?idL@<0 oooo00P0oTe90?h^:P3nRhT0onGU0?ooo`3n;RX0oUEA0?n3P@80ooOg00<0oQhI0?iMF@3oool00P3o ool01`3oXZ00oQLB0?o1`03oool0onSW0?hG4P3n;RX00`3oool00`3of=P0oQLB0?iTH@030?ooo`07 0?hf00oQLB0?iED@040?ooo`030?hV8P3n;RX0oooo00@0oooo00D0oRhZ 0?hO6P3omoL0oooo0?oblP020?hO6P060?ogm`3oool0oooo0?nb/03n5a80oTE10`3oool01`3n91l0 ofaY0?nRX03oool0oiZH0?hG4P3oTi00703oool9ooooo`001oooool60?ooo`030;g2g`0E:8l03b:< 02H03b:<00<072jB0<_?iP3oool03`3oool01P27TLH03b:<00lRS033b>80oooo0TZQ09bTc`803b:<00@0fMc]0?ooo`3oool0WjOA0P0?8X`0 1@2U[=@0oooo0?ooo`3oool0Qi7600H03b:<00<0KgZj0?ooo`0gAil0100?8X`0100iBJ00n?Sl0?oo o`3nIF8<0?hG4P030?hl=`3oool0oooo00H0oooo00<0okFc0?hG4P3n5a800P3n5a805`3n81/0oWej 0?ooo`3ok>`0oi2=0?ofmP3n5a80oRXU0?ooo`3o]K<0om[I0?idL@3n5a80on?S0?ilN@3okN`0oV5N 0?hP6`3ohn<0oVYW0?ofmP3n?SX0oR0K0080oooo00@0oi2=0?oSh`3n5a80oXJ40P3oool00`3nF5@0 oQLB0?oPg`030?ooo`030?hZ9@3nd07BnC00lRS00X00lRS003 01h`T`3@e>T0oooo00h0oooo0100Qi7600lRS00?8X`0`lSR0?ooo`3dmOX042>=00lRS01CHJ`03b:< 010SS@3Ri?40l_?i01DXS`0?8X`0DUn/0P0?8X`0103emOX0oooo0?ooo`2OYm4200lRS0050:F/e03o ool0oooo0?ooo`27TLH01P0?8X`01@1_N[X0oooo03M7W`0?8X`04bF>00803b:<00D0JGFg0?ooo`3o ool0om;A0?hW8`0:0?hG4P030?hJ5P3o/:h0oooo00L0oooo00H0oUQD0?hG4P3n:BD0oXJ40?nn_@3o m_H30?ooo`0I0?oAd03nF5@0oQLB0?hG4P3oh=l0oooo0?j@S@3n:BD0oQLB0?ne/`3oj>L0oUQD0?hP 6`3n5a80om[I0?oSh`3nCT/0oQlJ0?hG4P3odM00oooo0?oJf@3nCd/0oQLB0?i?B`020?ooo`030?n@ S@3n5a80oj:P00<0oooo00<0oUQD0?hG4P3ol>l00`3oool03@3odM00oS`h0?nb/03o_[d0oTE10?hG 4P3o_[d0oooo0?oSh`3oXZ00oUQD0?hG4P3oM7400P3oXZ001@3omoL0oWej0?hY9@3n5a80oWej00<0 oooo0140oiVG0?hl>03of]T0ooKf0?iMF@3n5a80oiVG0?ooo`3om_H0oXJ40?hV8P3n:RD0oooo0?o7 aP3n?3P0oQLB0?hP6`0L0?ooo`Wooooo0007ooooo`@0oooo00<0m_Ok03Q8X00?8X`0:P0?8X`00`0P A0?i>B`3ok>`00P3oool00`3om_H0oX>10?idL@020?ooo`030?oJf@3nOGX0oiZH00<0 oooo00<0oi2=0?hG4P3o`L00103oool0303om_H0oWai0?i5@@3nHEh0oiVG0?ne/`3oool0ooKf0?o1 `03nM740oQLB0?hl>080oWAa00D0oo3_0?ooo`3oalH0oV5N0?jIU`040?ooo`050?oJf@3nOGX0oTE1 0?iED@3oVIL0103oool01`3o/[00oTi;0?ooo`3oool0on?S0?iZI`3nHEh0703oool9ooooo`001ooo ool40?ooo`0307N2_P0?8X`03b:<02/03b:<00<083:D0=OJk03oool0303oool01027TLH03b:<00lR S033b>820?ooo`0504YHZ00?8X`03b:<00lRS02U[=@00P3oool01@2`]mT03b:<00lRS00?8X`0A5>U 00<0oooo00@0WjOA00lRS00?8X`0YJcD0`3oool01027TLH03b:<00lRS02i_mh50?ooo`0803M7W`0? 8X`0M0?CenP0b@Yd03b:<01laU03Ri?420?ooo`030?oBd@3n9b<0oQLB00D0oQLB00<0oQXE0?n` [P3oool02@3oool00`3nM740oShj0?ooo`040?ooo`030?nj^03oool0oooo0200oooo00<0okjm0?hG 4P3oViP03@3oool00`3ok>`0oQLB0?i?B`0g0?ooo`Wooooo0007ooooo`<0oooo00<0bloV014TS@0? 8X`0;@0?8X`00`0QE0?Kgn`020?ooo`050?Wjo00T=IH03b:<00lRS01YM;L00`3oool0102OYm403b:<00lR S02U[=@30?ooo`0408NAaP0?8X`03b:<0;VogPD0oooo00T0=dNO00lRS00c@id0oooo0=SKk00O<9<0 3b:<03A4WP3Xj_@00P3oool00`3ofMP0oS8]0?hG4P030?hG4P030?hJ5@3oZjT0oooo00X0oooo00<0 on3P0?ha;@3oj>L00`3oool00`3omoL0oW5^0?ooo`020?ooo`030?oPh03nK6T0ok:`01`0oooo00<0 ooOg0?hG4P3nI6403P3oool00`3nAD40oQLB0?o`k`040?ooo`030?n;R@3nM740oo3_02l0oooo2Ooo ool000Oooooo0`3oool00`1AGj`03b:<00lRS00^00lRS00305]X/03oool0oooo00X0oooo00@0Qi76 00lRS00?8X`0`lSR0P3oool0102EWL`03b:<00lRS01jQ;l40?ooo`0507b7`00?8X`03b:<08bFb03< d>L00P0c@id0100U=YH03b:<00lRS00V=iL203=3W@050>3Sl027TLH03b:<00lRS00Y>IP00`0c@id0 1@1LJK40oooo03M7W`0?8X`0M0080oooo00D0^KkN010SS00?8X`0?DfR0?GfnP020?ooo`060?oI f@3n9b<0oQLB0?hG4P3n6QH0ok2^3@3oool01`3odM00oTE10?ne/`3odM00okFc0?i5@@3nEE400`3o ool00`3oZjX0oQLB0?hn>P0K0?ooo`040?o]k03odM00oQLB0?hfM00<0oooo00@0Ig>f00lRS00?8X`0GV^b0`3oool0103od]40oRLS0?hJ 5P3o/:h?0?ooo`060?ofmP3oZjX0oWAa0?idL@3oVIL0oo3_0`3oool00`3om_H0oXJ40?nb/00K0?oo o`050?oJf@3nOGX0oUQD0?hO6P3ok>`0503oool00`3o]K<0oWej0?o/k00_0?ooo`Wooooo0007oooo o`80oooo00<0Ig>f00lRS00?8X`0<00?8X`00`2KXll0oooo0?ooo`090?ooo`040;6gfP1SKk@0Hfnd 0=WLk@80oooo00<0hnGb06mj^P20R/801P3oool0101lQ/00KgZj0=kQk`3Hfn`806=_]0030>SYm02a ]mX0Hfnd00D0Hfnd00D0PXc30?ooo`1mQl40Hfnd07^5`0030?ooo`050>[/m@1TL;D0Hfnd06=_]03: c^H00`3oool00`3od]40ok:a0?ooo`0i0?ooo`030?o`k`3oool0oooo04D0oooo2Oooool000Oooooo 00<0oooo0>g^mP0F:8l0=0>W[m03oool0`03oool9ooooo`001oooool00`3oool0AE>V00lRS00K 00lRS00301`^TP0?8X`03b:<00/03b:<00<052J>00lRS00?8X`01`0?8X`00`2NYM00oooo0?ooo`2o 0?ooo`Wooooo0007ooooo`030>W[m@0@8hd03b:<01X03b:<00<0D5j[0?7bn01GI:l02`0?8X`00`16 E:H0h^Ca03i=XP0800lRS00305]X/03oool0oooo0;l0oooo2Oooool000Oooooo00<0/KOJ00lRS00? 8X`06@0?8X`01@1@GZ/0moSk0?ooo`3inO`0EfB_00T03b:<00D0AUBV0?;cn@3oool0k_3g03I6W`07 00lRS00302HgU`3oool0oooo0;l0oooo2Oooool000Oooooo00<0P8[200lRS00?8X`0600?8X`00`15 E:H0moSk0?ooo`020?ooo`030?Wio01GI:l03b:<00H03b:<00<0AUBV0?;cn@3oool00P3oool00`3N hNl09CJF00lRS00600lRS0030>c]mP3oool0oooo0;h0oooo2Oooool000Oooooo00<0F6F_00lRS00? 8X`05`0?8X`00`0a@Y`0j^ce0?ooo`040?ooo`030?Wio01;FJT03b:<00@03b:<00<0?DbR0?;cn@3o ool0103oool00`3Gfn`09CJF00lRS00400lRS003051NZ`3hn?`0oooo0;l0oooo2Oooool000Oooooo 00<0>DRP00lRS00?8X`05P0?8X`00`15E:H0j^ce0?ooo`060?ooo`030?3an01;FJT03b:<00803b:< 00<0?DbR0>SZm03oool01P3oool00`3NhNl0=TJO00lRS00200lRS00306Mc]P3inO`0oooo0<00oooo 2Oooool000Oooooo00<083:D00lRS00?8X`05@0?8X`00`1@GZ/0moSk0?ooo`080?ooo`050?Wio01G I:l03b:<04IDYP3bloT02@3oool0103^l?L0?TfR00lRS01WLkK30?ooo`Wooooo0007ooooo`0301@W S`0?8X`03b:<01@03b:<00<0@e:U0?Ohn`3oool02P3oool00`3inO`0PWfd0?;cn@0;0?ooo`030>k` m`1[MkP0nOWl00`0oooo00<0no_m0?ooo`3oool0]03oool9ooooo`001ooooolG00lRS00301PZT030 aN40oooo00X0oooo00<0ol;10?hV8@3o^KP02`3oool00`2]]=P08cFF0=SKk@0;0?ooo`030:fdf018 EjL0moSk0;D0oooo2Oooool000Oooooo00<05bV@00lRS00?8X`05@0?8X`00`0H:Y00`00lRS00`@I`0jN_e00T0oooo 00D0[KCH01T0oooo0080oooo00<0PH_300lRS00?8X`01P0?8X`00`0a@Y`0i^Sc0?ooo`2` 0?ooo`Wooooo0007ooooo`0308VCa`0?8X`03b:<01T03b:<00D062Z@0<35h@3oool0ol;10?hP6`09 0?hG4P050?hM603o^KP0oooo0:fdf00B9Hh02@0?8X`0100P00/03b:<00<083:D07^6`00?8X`02`0?8X`00`15E:H0nOWl0?oo o`2^0?ooo`Wooooo0007ooooo`030?7bn00C9Hh03b:<01X03b:<00<0AUBV0?;/l@3nEU802`3n5a80 0`3nA400jM_T03M7W`0;00lRS00305MT[`2n`n005BR?00/03b:<00<0Ig>f0?ooo`3oool0[P3oool9 ooooo`001oooool00`3oool0D5j[00lRS00I00lRS00505aX/@3emOX0oooo0?oin@3nK6T02@3n5a80 1@3nFED0oo;a0?ooo`3]k_H0@E2T00T03b:<00D0KWZj0?[jo@3oool0`lSR024cU@0900lRS00306Mc ]P3jn_d0oooo0:l0oooo2Oooool000Oooooo00<0oooo0:J]e@0?8X`0600?8X`00`1LJK40oOgn0?oo o`030?ooo`030?imNP3n5a80oQLB00D0oQLB00<0oVIS0?oln`3oool00P3oool00`3]k_L0=dNO00lR S00600lRS003086;``3oool0oooo0080oooo00<0em_/02DfUP0?8X`01P0?8X`00`1hPkh0oooo0?oo o`2`0?ooo`Wooooo0007ooooo`030?ooo`3dmOX06bfB01L03b:<00<0AUBV0?GenP3oool01@3oool0 0`3nK6T0oQLB0?hG4P030?hG4P030?iIE@3oo?/0oooo00@0oooo00<0jN_e03M7W`0?8X`0100?8X`0 0`21Rl<0oooo0?ooo`040?ooo`030=OKk00U=YH03b:<00@03b:<00<0N8>n0?ooo`3oool0/@3oool9 ooooo`001oooool20?ooo`0307Ao_@0?8X`03b:<01@03b:<00<0AUBV0?;cn@3oool01P3oool00`3o nOT0oUIB0?hG4P020?hG4P030?i4@03ol_40oooo00H0oooo00<0jN_e03M7W`0?8X`00P0?8X`00`21 Rl<0oooo0?ooo`060?ooo`030=OKk00U=YH03b:<00803b:<00<0N8>n0?ooo`3oool0/P3oool9oooo o`001oooool20?ooo`030=oQl00B9Hh03b:<01<03b:<00<0AUBV0?;cn@3oool0203oool01@3omoL0 oUIB0?hG4P3nA400ono^00T0oooo00@0jN_e03M7W`0?8X`0KWZj2P3oool0103Gfn`09CJF00lRS01h Pkje0?ooo`Wooooo0007ooooo`<0oooo00<0Gf^b00lRS00?8X`04@0?8X`00`0`@9`0l_?i0?ooo`0: 0?ooo`030?ogm`3gMGD0ono^00/0oooo00<0jN_e07M]Z03jn_d02`3oool00`3Gfn`0N8:n0?ooo`0; 0?ooo`030?gmoP3hn?`0oooo0:L0oooo2Oooool000Oooooo0`3oool00`3Gf^`052N>00lRS00A00lR S003010RS022S<<0o_kn00X0oooo00<0^l3O02DfUP2Z/=H02`3oool00`3oTY00oQdI0?nc/@0H0?oo o`040?Kgn`1LJ;40AEBV0>[/mJL0oooo2Oooool000Oooooo103oool00`28TLH03b:<00lRS00B00lR S00306]g^03moOh0oooo00L0oooo00D0[KCH01<09RQcP090?ooo`050?imNP3n5a80 oQLB0?hL5`3o^KP05P3oool01P3moOh0G6Va00lRS00?8X`0KXljH0oooo2Oooool000Oooooo 103oool00`3jnod0@U6T00lRS00C00lRS00306]g^03no_h0oooo00D0oooo00<0^l3O01E00lRS00C00lRS00308:<``3oool0oooo00<0oooo00<0d=CY01d_T`0?8X`0100? 8X`00`0G:I00`E00lRS00C00lRS00304eLZP0C9Hh0 3b:<00X03b:<00<042><09QFPP3n5a80303n5a800`3oclh0oooo0?ooo`0;0?ooo`0305]X/00?8X`0 3b:<00X03b:<00<0=dNO0?cloP3oool0X03oool9ooooo`001oooool90?ooo`030=7Dj@0S=IH03b:< 02003b:<00<072jB0>ETK03n5a802P3n5a800`3oQH<0oooo0?ooo`0<0?ooo`030=OKk00U=YH03b:< 00T03b:<00<05BR?0;Nmg03oool0X@3oool9ooooo`001oooool:0?ooo`030>GWlP19EjP03b:<01h0 3b:<00@0=DFN0=OJk03oool0oVaY2@3n5a800`3oQH<0oooo0?ooo`0>0?ooo`030=OKk00U=YH03b:< 00L03b:<00<052N>0;Nmg03oool0XP3oool9ooooo`001oooool;0?ooo`030?gmoP2BVl/06B^A01/0 3b:<00<042>=07=n_03em_X00P3oool00`3onOT0oUIB0?hG4P060?hG4P030?n5P`3oool0oooo0100 oooo00<0em_/02DfUP0?8X`01P0?8X`00`2PZ=40oooo0?ooo`2R0?ooo`Wooooo0007ooooo`d0oooo 00<0hnKb06Ea]@0A8hd0600?8X`00`0hB:00bG:X0Z[7F0?[ko@L0oooo 00H0ooWi0?i/J@3n5a80oQLB0?hJ5@3oVYLF0?ooo`060=kQk`0`@9`03b:<00lRS00G:I00YJcDYP3o ool9ooooo`001ooooolA0?ooo`040?Wjo02b^=X0HVjd01l`U0d03b:<00@042>=041?X`2?VKb 303oool00`3nOGX0oQLB0?nJU`0H0?ooo`040=kQk`0U=YH062Z@0<35hJL0oooo2Oooool000Oooooo 503oool03`3lo?h0bU02`lVP0L;Y804RB=01LZT00RKXl`0@0?ooo`030?nk^@3oool0oooo01P0oooo00<0em_/0<;7hP3oool0Y`3oool9ooooo`00 ooooool9ooooo`00\ \>"], "Graphics", ShowCellBracket->False, CellMargins->{{0, 0}, {Inherited, 0}}, Evaluatable->False, GeneratedCell->False, CellAutoOverwrite->False, ImageSize->{264, 58.75}, ImageMargins->{{0, 0}, {3, 4}}, ImageRegion->{{0, 1}, {0, 1}}, Background->GrayLevel[1]], Cell[TextData[ButtonBox["Visit the mor4ansys web page", ButtonData:>{ URL[ "http://www.imtek.uni-freiburg.de/simulation/mor4ansys"], None}, Active->True, ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[{ "Author: Evgenii Rudnyi, ", ButtonBox["http://Evgenii.Rudnyi.Ru/", ButtonData:>{ URL[ "http://Evgenii.Rudnyi.Ru/"], None}, ButtonStyle->"Hyperlink"] }], "Text"], Cell[CellGroupData[{ Cell["ModelReduction`: Manual", "Section", CellDingbat->"\[FilledSquare]"], Cell[TextData[{ "The goal of the package is to provide a framework for prototyping new \ model reduction algorithms. I find it much more convenient first to make \ research at the ", StyleBox["Mathematica", FontSlant->"Italic"], " level and only then plan changes in ", ButtonBox["mor4ansys", ButtonData:>{ URL[ "http://www.imtek.uni-freiburg.de/simulation/mor4ansys"], None}, Active->True, ButtonStyle->"Hyperlink"], ".\nThe design of the package was to reuse functions from Post4MOR as much \ as possible. As such, understanding of Post4MOR is required.\nAn example on \ how functions from the package can be used to perform parametric model \ reduction can be found at the ", ButtonBox["MOR for ANSYS", ButtonData:>{ URL[ "http://www.imtek.uni-freiburg.de/simulation/mor4ansys"], None}, Active->True, ButtonStyle->"Hyperlink"], " site (see tutorial on parametric model reduction)." }], "Text"], Cell[CellGroupData[{ Cell[TextData[StyleBox["Functions for Model Reduction ", "SubsectionIcon"]], \ "SubsectionIcon"], Cell[BoxData[ StyleBox[GridBox[{ { StyleBox[\(ArnoldiProcess[nextVec, \ startVec, \ dim]\), "DefinitionBox", FontVariations->{"CompatibilityType"->0}], StyleBox[\(gives\ transposed\ projection\ matrix\ V\ with\ dim\ \ columns\ generated\ by\ the\ Arnoldi\ process\ with\ the\ starting\ vector\ \ startVec\ and\ the\ function\ nextVec\ to\ generate\ the\ next\ vector\ as\ a\ \ function\ of\ a\ previous\ \(\(vector\)\(.\)\)\), "DefinitionBox"]}, {\(ProjectSystem[sys, V]\), \(gives\ a\ reduced\ dynamic\ system\ projected\ on\ the\ \ basis\ V . \ ProjectSystem[psys, V]\ gives\ a\ reduced\ parametric\ system . \ V\ must\ be\ the\ transposed\ projection\ matrix\ as\ \ returned\ by\ \(\(ArnoldiProcess\)\(.\)\)\)}, {\(Orthogonalize[Vini, V, tol]\), \(gives\ a\ joint\ orthogonalized\ basis\ of\ Vini\ and\ \ V . \ tol\ is\ the\ tolerance\ to\ deflate\ new\ vectors\ \(\((by\ default\ \ 1*^-12)\)\(.\)\)\)} }, GridFrame->True], "DefinitionBox"]], "Text"], Cell[TextData[{ "ArnoldiProcess is the main function in the package. It implements the \ Arnoldi process and expects that a user specifies a function to compute the \ next vector from the previous vector. It returns the Arnoldi vectors (the \ projection basis) in the transposed form. The reason for this decision is \ that ", StyleBox["Mathematica", FontSlant->"Italic"], " stores matrices by rows and this way allows us to choose the desired \ number of vectors by using Take[V, num].\nProjectSystem takes a DynamicSystem \ from Post4MOR and projects it on the low-dimensional basis found by \ ArnoldiProcess. It can also project ParametricSystem described belows.\n\ ArnoldiProcess and ProjectSystem support a complex-valued DynamicSystem.\n\ Orthogonalize merges two bases. The first basis is supposed to be \ orthonormal." }], "Text"], Cell[BoxData[ StyleBox[GridBox[{ { StyleBox[\(ModelReduction[sys, \ dim, \ ops]\), "DefinitionBox", FontVariations->{"CompatibilityType"->0}], StyleBox[\(gives\ a\ reduced\ dynamic\ system\ with\ dimension\ \ dim . \ Options\ are\ ExpansionPoint\ and\ options\ for\ \(\(LinearSolve\)\(.\ \)\)\), "DefinitionBox"]} }, GridFrame->True], "DefinitionBox"]], "Text"], Cell["\<\ ModelReduction is a simple shell to ArnolidProcess and \ ProjectSystem to make model reduction for DynamicSystem. In the case of a \ second-order system, it uses the default strategy of MOR for ANSYS when \ MatrixE is ignored during model reduction but then projected afterward with \ the basis found from MatrixM and MatrixE. See papers on the MOR for ANSYS \ website for more detail. The expansion point by default is zero.\ \>", "Text"] }, Open ]], Cell[CellGroupData[{ Cell["ParametricSystem", "SubsectionIcon"], Cell["\<\ This is a pretty primitive container that was made to support \ research on parametric model reduction. Its goal is to keep an arbitrary \ number of system matrices and three function to convert the matrices to that \ required for DynamicSystem (MatrixM, MatrixE, MatrixK).\ \>", "Text"], Cell[BoxData[ StyleBox[GridBox[{ { StyleBox[\(MakeParametricSystem[mats, \ matB, \ matC, outNames, \ funs]\), "DefinitionBox", FontVariations->{"CompatibilityType"->0}], StyleBox[\(gives\ a\ ParametricSystem . \ mats\ is\ a\ list\ of\ matrices\ and\ funs\ is\ a\ list\ of\ \ three\ functions\ that\ transforms\ mats\ to\ matM, matE\ and\ matK\ of\ DynamicSystem . \ For\ example, matM\ = \ \(\(funs[\([1]\)]\)[mats, \ par]\ and\ so\ on . \ Use\ Null &\)\ if\ you\ do\ not\ need\ a\ particular\ \ matrix\ of\ \(\(DynamicSystem\)\(.\)\)\), "DefinitionBox"]}, {\(Matrices[ psys]\), \(gives\ system\ matrices\ of\ \(\(psys\)\(.\)\)\)}, {\(Matrix[psys, i]\), \(gives\ the\ i - th\ system\ matrix\ of\ \(\(psys\)\(.\)\)\)}, {\(MatrixB[psys]\), \(gives\ matB\ of\ \(\(psys\)\(.\)\)\)}, {\(MatrixC[psys]\), \(gives\ matC\ of\ \(\(psys\)\(.\)\)\)}, {\(OutputNames[ psys]\), \(gives\ outNames\ of\ \(\(psys\)\(.\)\)\)}, {\(TransformFunctions[ psys]\), \(gives\ funs\ of\ \(\(psys\)\(.\)\)\)}, {\(MatrixMFunction[ psys]\), \(gives\ the\ tranformation\ matrix\ to\ obtain\ matM \ = \(MatrixMFunction[psys]\)[mats, \ par]\)}, {\(MatrixEFunction[ psys]\), \(gives\ the\ tranformation\ matrix\ to\ obtain\ matE \ = \(\(\(MatrixEFunction[psys]\)[mats, \ par]\)\(.\)\)\)}, {\(MatrixKFunction[ psys]\), \(gives\ the\ tranformation\ matrix\ to\ obtain\ matK \ = \(\(\(MatrixKFunction[psys]\)[mats, \ par]\)\(.\)\)\)} }, GridFrame->True], "DefinitionBox"]], "Text"], Cell["\<\ One can use parametric system by converting it to DynamicSystem for \ particular parameter values and then using StationarySolution, \ TransientSolution or HarmonicSolution.\ \>", "Text"], Cell[BoxData[ StyleBox[GridBox[{ { StyleBox[\(MakeDynamicSystem[psys, \ {par}]\), "DefinitionBox", FontVariations->{"CompatibilityType"->0}], StyleBox[\(gives\ DynamicSystem\ obtained\ from\ psys\ at\ values\ \ of\ parameters\ specified\ by\ a\ \(\(list\)\(.\)\)\), "DefinitionBox"]} }, GridFrame->True], "DefinitionBox"]], "Text"], Cell["\<\ ProjectSystem describe above can be used for ParametricSystem as \ well. In this case, it returns projected (low-dimensional) \ ParametricSystem.\ \>", "Text"] }, Open ]] }, Open ]] }, FrontEndVersion->"5.2 for Macintosh", ScreenRectangle->{{0, 1024}, {0, 702}}, WindowSize->{652, 622}, WindowMargins->{{49, Automatic}, {Automatic, 0}}, PrintingCopies->1, PrintingPageRange->{1, Automatic}, PageHeaders->{{Inherited, Inherited, Cell[ TextData[ {"Post4MOR"}], "PageHeader"]}, {Cell[ TextData[ {"Post4MOR"}], "PageHeader"], Inherited, Inherited}}, PageFooters->{{Inherited, Cell[ TextData[ {"Evgenii Rudnyi. All rights reserved."}], "PageFooter"], Inherited}, {Inherited, Cell[ TextData[ {"Evgenii Rudnyi. All rights reserved."}], "PageFooter"], Inherited}}, StyleDefinitions -> "HelpBrowser.nb" ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[1754, 51, 17665, 225, 88, 17402, 216, "GraphicsData", "Bitmap", \ "Graphics", Evaluatable->False], Cell[19422, 278, 199, 4, 27, "Text"], Cell[19624, 284, 194, 6, 27, "Text"], Cell[CellGroupData[{ Cell[19843, 294, 76, 1, 75, "Section"], Cell[19922, 297, 951, 22, 162, "Text"], Cell[CellGroupData[{ Cell[20898, 323, 96, 1, 44, "SubsectionIcon"], Cell[20997, 326, 1157, 24, 378, "Text"], Cell[22157, 352, 849, 15, 204, "Text"], Cell[23009, 369, 479, 13, 96, "Text"], Cell[23491, 384, 449, 7, 95, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[23977, 396, 42, 0, 44, "SubsectionIcon"], Cell[24022, 398, 297, 5, 61, "Text"], Cell[24322, 405, 1857, 38, 568, "Text"], Cell[26182, 445, 197, 4, 61, "Text"], Cell[26382, 451, 449, 12, 76, "Text"], Cell[26834, 465, 169, 4, 44, "Text"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)