From 8cf574c0abfcc83eb077cc9a2c5684ae8cf54a63 Mon Sep 17 00:00:00 2001 From: Andrew Lorimer Date: Fri, 1 Mar 2019 10:00:51 +1100 Subject: [PATCH] update planner, create complex reference --- planner.xlsx | Bin 13676 -> 13677 bytes spec/complex-ref.pdf | Bin 0 -> 36486 bytes spec/complex.md | 102 ++++++++++++++++++++++++------------------- 3 files changed, 57 insertions(+), 45 deletions(-) create mode 100644 spec/complex-ref.pdf diff --git a/planner.xlsx b/planner.xlsx index 62283a5499d59cdbc83735901b4d5c025228cd9e..b0c6861879baf50b22b1bbb6d6a4fab7bbd32440 100644 GIT binary patch delta 5573 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 delta 5570 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 diff --git a/spec/complex-ref.pdf b/spec/complex-ref.pdf new file mode 100644 index 0000000000000000000000000000000000000000..96ab8bf9abca3b5f93134bda60b0fb18de3c0a94 GIT binary patch literal 36486 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

e}XNkNM?5Aa|TxWpn$gKuJ_2}uEz90#z> z@89xL)_5@IB3rt#O2$@?B%uXLXPZ%4dn&03)4SDli}Hv6{#|^`11lgxMlPk*ZXjgh zBJ?>dv4>X>@Z3jGUp$8))9UK6)l*i5CPW)vcbRYED5b0-Do%g;KAk^H0rH5^%8={W zqwxs1EWuz;=qrSs7t^}x;ntHh#FSW2Hd|duN#6acYj~O{5ApnXD)%1E(|-$pwv(^? zy%Rj(!LImxu7Bwumv6poJKZ??d!zHw%X3_FnB(+oyItkOvJx`#@;HC(^Dlk)#RJ`m zbd|<3tQZ_LG8`DJG{VBFsKid|AAjk^KD;UFczLvYhK_^QypQeaU5U+kHvyCW_5oA- z>aVEvosY%&cvt_Z94Ex!#?Kc0y&W$$SY~3Xu80>rw9hJHEQyGk81T`qv){TM!2!RD zBrV~gP{}aA3JigpFeWt^?k*Jfb(~ed%W+ z@I$BlQUFI6u1^ne0cexV1!e}no8uht3(W#Ww|pn&#=X}b_QoB$d~p%^&R;I*^_=EF z!am_3z<4PW)>BCS>wHE_Wy`_SeWZt~Hy)PLB(6xLp;^SCNO@jhC+Wmz%W{FM+NQ*J z;)9tYdwcOaVtYk0m0UE?l6YJ=K1Nuqe3z;w^(Q0_e(!>R9?1WIgYsj7(ZSsc8mh-j zCMmr=THp*-)Gf7hydOX&F=)uMBG%;U$u;60ULTfq2{riVxbmP|VY}~)+%|igAlE@m z%_#K)=^^=iPb2s1>4~3+Xhs4R*eZW+!#(1!nOlxg_Joa(l$yaKK-iGr+EBy0?p~ zRwQ5l_6!bUz|!@kQrIO&9 zgKe}XVqk%(BB2Wgk|4OV7YN$-um+xV__JU0&}ZWO_La&C^zv7Y#{bIe-CjOjLhIe+ zCi9G$h~@7{{INTbPe|u5 z9ca+D5mu_ATlzP!=qeFn4y?U^O;V>+y5!G3F^J2cM*AYP`;1r@Jubx^s9oT_-aaHH zbGFL_2?Ac>k1y%zvxH>dI~+?)&x?l0Wr-P5qH~e~Pt!fMERJqK=$pK7bF2nJ%*K}} zkgX(cqmqR+c@58&gN|#%?f4frZpcB_nn2nncDa->x6$sKR;D{zes=kqNgKbv_H%3M zpX?iqEc`LJo2Nmx_|F|wJ>xkhzf|QhfgoVMq*0{bC82-w?3QemKK-oFBr4;qSa91n zMz>YH z783p)bOVm4>imlvKde4rluD?gpcFDVK`P}lm^NQ2>J_JJb|(PI(-mi>0v6>0P0g?LSy>it|9Q! zIPiXJKm-A~gTcWDcYtF32wpvALWS`Fk-(h&(?cu-J17bY0&kE21S8<(|HGXAgAMw> zZHh3nvHiEXdjG>xP}EmyO3LXN)~G~{7K&A)6;YB+mSn_`4Ic`^*DuF?f=S4Q+%gl^ifTju@gjAv^XMHZ~kr3?WKm z#===*ZBH-V=Z0!Ud_t`RO6a*LiAj9pgOgShINm}Xgk)4)lFZ|iRu3YVE)}LNp(E^G zvQ>P`7}$l7v9U{Up5|zt=3md{MXX}Xa`?63bE2WOdX@9F%ODp4EaPI?{bk`yXNkyB zws;wRXBdTKs&-+^ah-y#f6#50L@g5ziCw^Cm73%Z8)*m>nC0Wgeeoq+%ZCunTxr6Bxy2pXtFcd8;3{PH7+DonN&XMmPEUHi;=|B^%Z3 z=0q+M28>p)dH>L-67k1i33f|Im;S3~P`XV7J`|BD-YVlOFqdgASzFQ_3s0ANmB*F` zFCkI+K^3Vf8>n!g3Jxncr~sMdC6u9Xk~V62rh2Z1@T@C&LK!eX*B%HDmqw7o%w{z{wr<+Vuh%yGdMF&{>FsWuGb|IX?r-)dg8d3(7IZ;@ zCwY5IfT$~KB~x8~j%eb{?mh5j*iLOkF>!paWIgEsW`6pXFh9z0GPj{r16|QR?K6)( zl@l~=Dzb;?H(h5C*aF*UQ9uE}n8y;A2i;hns3+F6C4p;#t#Hc+s6iDn2c^B5IQ^!Sm3gEUIul&0uD;5yTAUQ9C{8|Ebw} zdVTe&7n;l2_Bteg#)MYT`*T3=?b3Mw0=^W8nO2RyKywnnt5eusrbtj;A$okS4F%=s z^adJvZUlXL`>=11=sIf4ffEYcE{sS6gcSlnOi|p>40Ap72>XDFeC5DE%n)HzFF52k7rJ+4Ap=YNh3rPNZUC+G;hnM||4&UM8M z&AbNJ>*P!1-lz8(s9T;FWChW+XLFbE4e-ZtEX7(ycfQ)dV1C}fpn6_cx4K%F=cevk z7&|@8thn#NKYa06-$KnB*~wM%?BlGCRkq`hw$q9RjSqa%E48#}^Y}PZ#^d5D;;I3+ zcL&H{oll)Wv4eU-pC&3UWKhFn_w+6i3hB;WVPC(;w*{^2r!#Fq$_b?oX(X|#3i(c> z5o(f+K2~@5Ge~AhWFyo`Fm*=_rV~;H8Pxzb@K-Ro(N7 zh6&nf-azmp*`U*B6s;?Ov&&I*oXgO5$@nT@_h(fE<8^qx8+KZVVQ>Z{opv*+hmy!1 zEHoJcOph}{juj7$>ot5cv%T@U{{9)HrrYCs&kdlYd0eZ{;uhH6oglRZq0Y59|0^os z3)aI+Vq!r<53UnsfO`~_qq=N2CL`mqrk01Ssam(k3NN%&1~WR;;5qUB4o~L7Q;k># zq#5dzA_6Xx`x0)gnY~5*=CH2^0zQ@vdCiBgd9NG-(uS#lyS$S@gpM}uLnT{Lyrk2B z3TLtFQsx@=%Q+_nP#oI(jEJcj@&LshDk=>8l}Z26#$&L>rYtXMc4|UWS~;}2g!RU* z{BkdOffZ*13>kmM+uSQ{4Xg!Toj=Ml^1?o-fg9rJECxBbPpNysVqCPDypWYe*(&1C zbYnDR^7+0?BL@$ceTUo7O;`$vAbxf$ooKcu&KBOJ9n-Yjy)t-q4y4xI&&^iyH>chV z|5#%rG9RQy5Se{={#X`$72Whd!*zGJySOCgEEfqzXDm94J;TS7o4UxL|5WzCPqvFF zs%dAyR{*VtrK>_fK3R8teTgf5tPy#ITK;>Y$ID~T_}L|~_}r@7P2PJYNZu!SWdTvD zf!P(p*0%SLw90f~cLAn(Q=GLk+P4^L-AWI`K=LJ$E83|b>EmU?pbE@!+&8Gz=A6Yik3J1RhzrtRl=@Ye&Oucrw7~DG5z7n3ez<%e z>W!p=8#e!jh={N-*hx7C zbW-RCw81By%_JF^=4ZY#jj-j%$?vFJHx0PQ!$3_EX>9N`Lzactco%zXRWY9{*QH)P zPox#}V`x7Iw=4nI9zXri6TGk&7}w2)Cgw!G^vjC{hb1(+$LQ1m!*%?7>AlHS(7yV+ z*E!JOm&*K}(>=cnqVRV=ZVnofy|=In^m_wwCF2Egz3um4~S7?naTqXbb-8KMEYd_r*jafH7LH7fz%JzcpBMykJFl5$b)9-g;xcx~e*>nQh?a!1%pQodE81uf5wY6D?J{ z*Hj(TsSGg>aT%{*&8)0^k9k2RecoC%`>H1nAJy8<+{{Zy$f!c=5A#iAwm)Jl^=)|l z@bSs3AjcvoX85a2SUVjnA9ILi)4q{TkD_vHAeFeeuWo5xy(! z7GG-ZEq4{u@^2JZ`^+e?IMBEP^BVJVZho3+J}Fl5v>LrYzq;Yu(JY5*_OM-@u494+af+jl6Gf2KPXr@El0`*JfD_3JSl8_2vq|H0(_cJQ%o{194M8U!fDVyk@ zpx7;RZKm!CTbpvb;IbZj_~jiA6#Ta6S(eO4y^;5Cfi!Js1uYW2WDMPgkjOzi2zb3l zZUeWFIXrKQ+Y_m>H&gyZxYS{g=I+_ghOPjC3->h*SosdE=_%Ph&iTU zqrlN<=5G2hgxtslhVk+h!Aj zWd!`%1Qp8xn&w6F;ZQtFL8wKaM8HlTxaPtps1*m6E!r0?&b2&yAYDCCNcFi&S{6qdM+`cF(bJl4tTL{Q0n$>lyvy^?^z6jZhT3OqDtSEN1 zl&EV1W(w~x>OJ!ih5MM(GZh>4W8#+Iv?|zS(AJ4gh3SCW*r?BMNhX` zW9}JZ+Po_2Xh&*L+K&qTE7iB1z1Ltc+j2k{)&p!spH#vzuKYYWvBir_1qu+QCO;+~ zQc_5XIW5&7ghKlJh+}7x?u=D*|_0H-9aHfpDKWOneu zAi=!9@WGj}h3=(pvzs`v~y(etCFqF~{Or*=L*`_{y;}StJoZx+acHT76&=^8P(E=sc{}}hoL!`FK*QSLG-!?O zWotTGo_Ae=ff@^%s!9fw)N~bf956rp-TlBs|K~lG^FQPL){1-5RP^XSE zwT0CG)@OnWfJF`RKUkqS|AWQ&zr6ypvM~HNMk87iQUm#PB?o~lFrqA~-eqKF$a}YV zMa`;s#T&g!jmk;`*gp;;Oh7{@g&r~!#2B6%80g=TeY=^c+mgLm)ym2y_fPZ6ijOe= zjrR{EU32U8x7`5qetNpssn==ODerB17=xLa3<(mfUZ=_Nhf5?`tyZ@n<~csA)5sF+ z148tG-f>%75Pp9zkPc=}zq{JdqFk5ERIIbuq0aE9PWE5k`5(l#d-kB-0E2=h!I;BB z!nskGq`Tca;2I+wavyu#NJP0b2&d6M0~*#aFU%{{jvtB5qJk3u?+*kXNnA473|1Ra zm`*!tV&r85LPE<8n#`tCIR_jwi5_x^)pzhw3M0c}LE~SA0mjrN<7)DW)rupKW`oAa zNs0{s9%a2m8YM6(9^>qjEcK46RWu^SOCqCkS!9n;u#w5bl&XkK`^u#1W8X%{f=se1 zaXO^Rp%W(3-Rz#@DHMfE4XOtI4`mwd))y-2G-`CI!4=E%weq<&D?u{K6+$K8(62*s z>OAd~t{sPel~b#94_RH7A6j=c8}G9%F5H`GG|Ce|$CrN$BGxQs-MYleBc9at2O>wr z^b6}H*Nm;9*ibV=WJgU6Y7L$0SL@m9g4eXyh^COWqiFk63@7VQ*QBgbTd=faZTi>@ z|D>_EKyF6a40|#1PvJxN0o5zez(9`@)k)A`DH~W?bECzQ8jP=T)+2cBANzZ7EbK)M zheO0GE?qXQk6%3HuL*lCc_cY8(hWF~P$K1ENLZ6@=>Bm$KNEk^UcXiIT?8-`Sn$iN zG17H|_cGag@!tmiJ#Vp?+Y{sllgIb68Ji+h74~tMb^b+fkM81d?sSfMTB=J8W$ih- zU+AnGuO^4Jw}&3>#V5bG#~&d@uu62yY@$(m+H*H3VPub&V>wG;(nMMN6dpL~%iby3 zhdLmqCV}A)w^meL)tG)ah5ifC6C_N)8B=m#+AUgIO2i&uE+(j`?#z3`bQrn=y&6`r`^MiLe z_(u2>E|sy!Okb_~*P!Fz>xN$QNvt%9Mc#wkdh;*f^r)QcR?y==0m4t)icb%4PV?X% z-0SG}q@B>D>;r=y6snShoR=R7^p_VB5~h2)fKgLhKwDPoJ>KT0H|zWZVGZ5I+5;sl z_?H*H)cWewg8tz~nN5^oC(l+USzv3hO7lpABx;|QR6jrgOq$K`RC!CHhw4**3Wf)& zHnRRUf}?I1o(dxuJfwz5$gYkYlqauY{yo3(bIb06TuBOkwjF@U)l@1wv1R=>V(! zjrW)k`bxB3X?2L~ZnIkC%T~~>5BZ7NAmGB6ioOK%g^QS})>1^0zUSiA_Z;v{_q>DG zDyXsqGq(PmD48;2v4aciF)8e?#y@fbiwW1joB``YAIRBXh1hx8Y>NOKPx#nq{(98# zY`9bM(x|eaz|g3$pu+I-va;d=(|P(`{xrxgzqLj9c9f`Xi!P+c)I#0*ufDmEvy6?6 z`}UMl$$jCRtrf3xu@8v2LmkgiC~Nx+;P4JN_Cwiy+^e@`75itF4avXByHu(|useUx zJglj6hSh{Js;5^4u(y5CF|;)3vIy8^0E4G#ShmT2((&)9v|*)H6WYu76EWe_hzZGG zK(RWc_KGf|!zfL+_cZ(NIlxc1CK@C2oL=4ZA`Rqc2`sGa7fam!Y_lW?4tWi`I47@_ zfKGzs_#;vG+%hm+8MR*z5fxSk2j>bxhJFa5A7m1X!)Zhch#@8x$V;dxUL3S-d=xxT z0kX4V!I3$9t@SMYeU51(M>Cb;1Zu~;>r?k<4N_%6+SO|AzmfvtBxaIr2kKtkQV-J3 znECc}Bg4|0`AWsIj=JMx^cS<5t29S@5dX1<%YbF~dJvsn=dCKS*UO9E0ey(jIFoEL zG0{Uw8}kFA+7Dp{r;em1ER!jB4sGNI9{5|PA&sQP=buYJD`^1}@wg27#!Rxn_Wr5O z`qV@!z4O#OS=rh+&W$`EOevb56=}3`6Ltq(wBxe}x~>14%U#P#?qXYGbiq~)Ze^Z~ z&tO)EsJYoLMg^^slEggG;wp^!{aq}ru8pj%ntYX$l5(Y#;Ux*}=)XK<{+zynVkvGQ z<=~@fOB#qqEQ4heu~u%Vw6HuO;0gCu->|Z!p)#GIyAjYe(c%5Hs^66nEY}TOv=iAX zgVS2{_?F*Y4PG^+Ic{?X!vg}vMR(->wn!Bqmzwv5^bWa8ku={)HK%X5FLuDThe9hO zspS6d=~;8T5ht<&f-g1pmmbMs+zDn+?d-~2da`Mc09qZ9UypOyrT?VcUr>^ME3mVF z)BYMW9yTSyfLDi_H&AL7+4fFPp3`^;m$8dCDw6O78wBHCRU~rRHM@MDBxLSgKn{Ew zd__S`QCO#yj}#@)l@GZvP9w7xy1M3?i-DyP4$65?eI8IWcDwiE`PsGs3&_B1@_F5c zhMsI}QQ~B6U|5&SpWteC+o|DTdRlA|FU4y;(wCxIbyXw;Qj4O4sl-6uL$|pv!7RSF z`wg3~#qPN8mdjUnNA?FGuvNl?*1v>frK@8S5e>7RcG}3K1Pf(^K~(d&)2cip$g!A- zknUt#d15iwd(9=4F!UwL@uv~8=R@*(nB(E0?X&Tw#rAF znGCY3B`t@X(2QsQ4$KgK?HhP;NOBA^Bo33n4^C??wU;X3>xf@lsJw{Y4hRaz55+C9 zdanMGFZazC`KY+}MVCh4qBUH8p13kl)P><$`rhuqK!@hOfX4jA`??z9~-O<%mi_fO< zWW51|?;0~K^KY$04q|QdGd|FDi#G^NwNMe?^*=x*o)XG|R)QoZ5YBvl!m@rRC=?)k3~dE{Yy5f34is;VQAyoIOAAg&ArT zKM>!%^{o&P?@8o+081igj+hmRvw z6Sm`pPC;ADNqkbv{(bQ&WIRtoIpgo$#JR^hoe%s$rC&E~G!=VR{=(Y7>{}?0hzvSV zp)tNuU^r9hZB-&6HNjZA(P_JDx8gfGXjS7`=(0thjUm`pf~bxI55 z05=kQ)(j84;${Mw92~FSo4h7(5Lw9Hsaa#T+;*fzM0~M!TSki3;^pi%5}O`Q@NZd ziB=gie-pi zFQ5}eQtzQJgn<;3rASJ}guUeRu5KZU9QjSM^M4l@&5!{ySVrsmO*wFX?Liv%73SL- zYsx>dFW~4Shh#LtAUA5DXXF*^O5c9*h0FdB3scH-}nnedFj$FosgeDesWypuA{ zjVr!f=_P;XE}yalWZmT*&YZTR={GQdDeFkV6j!ZT&{xx$J1fKx@a*pI3El93>(wG> zUwo87*IXbydbWvu96n$>O=7Yn4XUGqW^)MZ@;Urqc@4(=*-RNcn-VZ9gcfwggx>d;S(Nc+08x4chjJr$#! z;_C?4^c|Qpv2++`F9rtAhG9a|I1;`Bz--ZJ98Q@8uu@xeAd9+$Y8M{#(c21@6LQC> z-c}lkrE#+30s@XHi;b)8|HGl;$0q|n2E<(r*(5}HTMw98jD`o>;^L`nkdd` zFo5OL`$4`?=4b-abjCB~#V4>-E)Re;Nn-Z*hUom^39Wz9Ddo~nj`85Hp_<owF_l=y_-jtO=~)8BN{Y)N?NCTe)~BULE(cras0+v@$p}-AT3Z6 zExWI!&-Ji$8&+VlRqMv1;|_}cfaJ)uC};6{&J&rVov7F#V6AX6VgsZC&(^zSwP0UgD*(U=Uypk)h}wC zImKXPw^0pL@RcDy`M>J4KuW#AgI*N^eDUd$b~IdUoI#xmU#5;Pm!j88$zrwJTn*ZI zdvd5-SMeVKxzh`E+zg<%eUzA)huio@Qlq!9Ocl~~WX|hHV7RuE45W&i+Vg@q3EJm7 zoQbgNNhVfrs}maYt)0lscBPv|QpJbGNZx1Od^k}ATRYu+9o<1{b~>R_zaHY8_+KW! z_4;%l*mtl!p*-oBnFiTiN~JwV9P{$$nZ^&rIkEuLoydKP@{CW=$6)s(OJ+CRVKk&O zpf{|LEQJ=M`;7JJ)N;&ug?G1qKX_8Q-bPa1|5Rcg{g)O64a0~sCoV2W{`8F)XX|(1 zt-hf4@m2O70qMwx<>%E>PiShrW67!J=MEg^9IBUS?1fyt7I2UTO_m7F57U049M}ba zg_$|H{!iZ4*Y%gPoXQA!_`9`Flt7D^OOmAQtb;^`TB0njd@<&;CoMDDF`?O7*d>%8 zTAt;G03~r4emr0-9E&y)D5*E0bSZ`LJ_g8r5stJep>A3;wO*VreZN&FmGp~SW+?O= zN>z9pk(|m#qr_I@eK@adk|YK^?u(YpOAv(=cvSlM6iky^ibjkX6fNE5dUt@8w-p{Wg9u999PW1nxrz27Xe$k8 zXXAQk-7)!6gjM5*oaQIbHFz%#?+7XzbPm@DbUuF;GTaSlS31jGu+Y@F%MN6UCu<}{ zTbaS_PN6F6V0+3-!C*}N00y!}L_RUQ=G1t=-=eC4wA3sK(h@SWi?n5EG@hZw2Y=E~ zDyj`tThlS2e!(d}yH`f-g5XX1Oj#@VM)|Diz~t=>t*1Wck}`4&FVC)R7eypeDcZ8^k6A&g{_S&k-t@_Vm$?<5C%2 zR5CWj_cW==X7nYN2a(GT8AoF_xP+s0O}Tu!!+pbFLSI6%rR{01hpYaUK4p1C?>>e; zRSZ)VBxSxEu6jp8g+EAR_cd>HnZz!^=LG(Oxe`rd!un;ojuTq>$greHOKaQ+^2irN ziBc1&U4iVRvmlHlw@n;cggBe99pj1K@NGF`pp5=oi+3W4^B@$7^AHIjMhK~K-SD=z zpLO}9s=6~E7%mecR9$54RSgYo`&H_r1s3LgrX+@ON3rm>LuwR1x|O=YjbXy=475=T4MGnO&~|!oOrf&TTu!EobZ7h=2mpu|fs^+Ka!lYGe2{`}<$oN+>sL zV|%y!{7;m^VAmC(7B1Eqe2lCiQe&H%1<0NP>#KFTAklTYQ|x^r=g+9&vpdNa!|HDdGtwasta+N5XaL4|-hRqH? zc-N7xxXXIkqeTwxAka-vp}hpns0tHe)L6%f(Wg`wx@Ls)`D>GIYRlcYGqr|;7Rs$_ z$3QcEQnA%l9N;o{4mN02EA|b=B`trN?s|2k^OB9WVa&Yf;n^V|kM2n4u_DwvwSIOD zW7UwdsKaSvEM;Dry?^ZtI?GvkReNSZY*oKV7qcrlNj$58nV8MED3_VOZvj3zXBEkg zajr9SlJ`ix(U9$#-Jr;0X%HQ*L2%&XWc!V@p4G|H!_X@g1MIi#; zU^zGS#D8M9e$k=@Frf^~?xG=((vT9mGU2l(>-|xrdLGa@P-;*IpT@`8d5aQ$_xXw- zcs!$-m6+O?@qG@IrlgCF-|1t;V?`+uw}njccyWq+79BnjUete&l`kQ18FX*KYHpSjG` z7S!sBRVpu)NaOsKc%mCXyku+}eR39v&0m>(QsbBg19)rOJRaG)&KM%+=jZKEA%#n; zn->?qSNK>ix`bXiZH(STlW;@#u2xO8OHkc-nXeL>_uY#ZD%7Sx?t8k@bofL3%g-H4!vSPNp z5<)59nm~w%tuPiLmHFUjbMOrS|!C(SF6G^=m-t}a2XHITFl=rTbo`}Pi_)$bq7QTSIKWusee~o?X zHpr4C$CWx!e%BN3OygKzo^a8ni~DkZtZ!G;>NA?KkKDZ5PU_f|#4lO$0Q1Owb6fYqx- zt%6+6(9nA!ch%@_b z|6N)Z4+-EUFAp+*l}3?#mUe_5R1@3O^i=BBn|di+_Q}xI1!3_foW*|qL<+dpxQ3#^FOS)|IsM@U)J>h_Q%SGM}%@H1A+#U2!=eKWV`@YayP3{axd>ug3Fx1JQW2g<75hC zro})Fx|pCz+&@yKE@O2PWV*o+nwvDmIay?w!%fEeh(JjDI7fgBjbq6REyV~4gNDrk z4VV=G2?qvhzolPfWrv9oj1WQ@jrf4d03ABdM93)?iWs?J6vVNIgj5FeV#R=Y#Z1@- zMMe`996aEpBTNcz4eSgwpIKEVwFmD#^f(+;i=WEdWF zXHP54&=s%_#N8xNRX6Mx)(;F>hQcOAAXl$1s63x7C2k|ydJ*hd)cBqzoNN262-KjxN5+vIb{ zEg|~QyO?V{;9W$cfwhJ{Cl5Qf(*;`hqUU+r8MGJteXTzFuxSG; zIb@=~HPO;(kS%LFaArxa7jUh2g*4}yFFYkHJbI$u-pYC(6>)c=NFW3K^|Ns7- zhE-}lPjFedR00Ct#@MYJiGb~JBp0&!_txu?oP;aw`K9K3954YE_b0r3e6&XpX%{yW zm_Cp#c*-U~p|R(6*Yc>U0ZEXc>QKMM;Pt7xKfjiz&#n zZFCu0;%6ne`Ob2OZIyP4DlVnzbl~ciJ9U=@3n5sL`A}Pq*rEX7m9~VIu2#_?N*_(m zdV)rP{a7_Ux6mN{!B&lHqE2?jgOe=NW{l3^%P)mDSCslcAcXm5rX|xjYn3Xk2!~Yi zL&=SY$}KEwJa*Q2lKkE;X=YhwaM2NGXiG<$*vGp65%hA_ScCS_NX~QZPLkW$$x8mm z12W}>PIs#YY-m@{Z?6UCoY8bbzKzcw#VhR7>1tqav#ksp^KmMYQ{hK>_LV6Cj0hk8 z%`q6izJj=YxfL}>aM$5|p6uKnplDE#Ro7zBiyNzPpcdhpKxcS}`;VG`gk6tk{n(=n znr<~(s*Ko^Ul1RW4yA28lXW82v65ZWXRJDf8pR@CR1vGUAI9mmRhc*Za&-5eIQiz1 z*7EVzQ#l7h!{~&_mK{Cs1*e!;MxO)W_uIbGfy4%2;0edy)8HN8v8>P3q6otx9K_RPP+X^_dD>q6)4?^j z@e%1Z%PiHNfgM6d;^jE_K&JmjvjC z$VEaYb=Tfm{Ml~@lZYDR=Qjiaj436<*!zJUu35=4T#|=eY#=d zlLyi^#vQLP7wU(tiRrDZE82Z~61~}fRMWE8wEKeB(aP`zf0++Q#_w@A2{Zn(56>wC z1f2ZKuspY%iCLO8qkI8{Zy$V(25BcJqQ+6Pi`C4=oYAJNrozD`opa}A-bdVmDQtPY zuj}jGJ>W#U&a{;{vUFSODhI~qLf3qdohTWK&g<`f#;wckvPy;2>bj$&)1SS@;dhsc zg*DRU#s-G{2w4>sEpw8o<+%<7ucQhRi?jT}3dbc042WSirayowMl%wYq_rDt^AjZ& z@)5~(RCjOjk?vA=IjVm}8_2AmfF=ewnPl0p*eV6r90V7SEru$0#l%2cX|>WixphQ$ z`_na&x2$*EM-j^7k%rz3orK+`?X=GQ*JgI@!UE#k@dVrmi4^mNIV|HbRpfosE@4MY z?3f_++IlS8;sqe1uV}_1Q$tumZx(+3tU!-C<{pS&NrSr5)t_nT34WPRG+y+D1YAPN zif3`(K$YPot05rusxM@TMXv=V(R{x=79;D%qG66@>eU|kJn`%cz2uDZA&RGl?i)GZ zBSCEl5OqfbyL!~|3GIC5rV^w;B;6`gGd$Sp0xzGxgh~wy4@S?94!g_jd=1Rtsc(ML z&_wt=6`av*QJP~h7O5_%A9ZhDN+SBv94~qoF7N?h?ez!~eA?x?ghczzj8N4Hm0;3F zMjwxsZuyrr11M>yia03&iTp`a@-Q0C4?0r!6rjHzg$|9bw^24gK4F^Ih$+q2`<+<- z`H8;XP2|GmoV<(64h>eNp9!M&jFC(s)2$rl+>%^youTlv?R@^4gr$ULW0OHOV!^6{ zbKWt?WsLMdOKEWHcV5iIakHYfXAh_oM7?NkG`8C0xuU-Ans9snhypdqs#HIptbxx= zv5}X~uWC4Z5-e0uEF&~2Y9KXK)u3j-($J8SGmoBe2vNa<-lcWt#EMDgn)FwjW`n!@T#rsKn+a01C-lLedsk3e0 ztSP83^mkajHRTdxOqs|y5-op* z;}tC3*%Mk-bgQGp|0oDZg*OYMr`TX)?B;t)5uiZCA;#TWZXwE3eD`*3YMIkWCVEVC zoPmf7l`wD;hhn!ll2~Su+tLjiP&vJJP*9`ohb$A13ghMWjz{Xt@AcOP1cN4668r4GrKBogA{ zPef9=ANNQ$j4%|#RI~BTSZu(fyHkqxNY0z+5?iUk-s^TAJb-jEqr1JI(M40`0~_;C zEw*aa{;<5XFIBiU&n;HXYiCSd?LQaVx|vlAh^_-d~w4DhuG z(axVvojR!XSW(gn643H&?Wz^sQxe1r2;!FF-6d1aQbQIA^6u8d{V(O9|6g)NWoST;FH*8^ z{h9^|wJ5Fvy7_RL_5!8WkJB_gtneefjvH$FWep^1SrKsxG|>9|<>kptQ$L0}rCsf)D@3`4sJmTc#5? zaB5b^`y(qFQo&j!vC2u1$2zvgA)b^gtoO?(`!%;%ZDI|5GsGwMG3AM?b!lf!?dGGP zvC(mnYR^@hn%d{%ak)FCioXVT6~TXhuxl~C(J}GSfk6P6Arz(yP*FiU*#Q0t_hg%j literal 0 HcmV?d00001 diff --git a/spec/complex.md b/spec/complex.md index c5ad6be..b70737f 100755 --- a/spec/complex.md +++ b/spec/complex.md @@ -1,81 +1,90 @@ +--- +geometry: margin=2cm + +graphics: yes +tables: yes +author: Andrew Lorimer +classoption: twocolumn +header-includes: +- \usepackage{harpoon} +- \usepackage{amsmath} +- \pagenumbering{gobble} + +--- + + # Complex & Imaginary Numbers ## Imaginary numbers -$i^2 = -1 \quad \therefore i = \sqrt {-1}$ +$$i^2 = -1 \quad \therefore i = \sqrt {-1}$$ ### Simplifying negative surds -$\sqrt{-2} = \sqrt{-1 \times 2}$ -$= \sqrt{2}i$ +\begin{equation}\begin{split}\sqrt{-2} & = \sqrt{-1 \times 2} \\ & = \sqrt{2}i\end{split}\end{equation} ## Complex numbers -$\mathbb{C} = \{a+bi : a, b \in \mathbb{R} \}$ +$$\mathbb{C} = \{a+bi : a, b \in \mathbb{R} \}$$ General form: $z=a+bi$ $\operatorname{Re}(z) = a, \quad \operatorname{Im}(z) = b$ ### Addition -If $z_1 = a+bi$ and $z_2=c+di$, then -$z_1+z_2 = (a+c)+(b+d)i$ +If $z_1 = a+bi$ and $z_2=c+di$, then + +$$z_1+z_2 = (a+c)+(b+d)i$$ ### Subtraction -If $z_1=a+bi$ and $z_2=c+di$, then $z_1−z_2=(a−c)+(b−d)i$ +If $z_1=a+bi$ and $z_2=c+di$, then + +$$z_1−z_2=(a−c)+(b−d)i$$ ### Multiplication by a real constant -If $z=a+bi$ and $k \in \mathbb{R}$, then $kz=ka+kbi$ +If $z=a+bi$ and $k \in \mathbb{R}$, then -### Powers of $i$ -$i^0=1$ -$i^1=i$ -$i^2=-1$ -$i^3=-i$ -$i^4=1$ -$\dots$ +$$kz=ka+kbi$$ -Therefore.. +### Powers of $i$ - $i^{4n} = 1$ - $i^{4n+1} = i$ - $i^{4n+2} = -1$ - $i^{4n+3} = -i$ -For $i^n$, divide $n$ by 4 and let remainder $= r$. Then $i^n = i^r$. +For $i^n$, find remainder $r$ when $n \div 4$. Then $i^n = i^r$. ### Multiplying complex expressions -If $z_1 = a+bi$ and $z_2=c+di$, then -$z_1 \times z_2 = (ac-bd)+(ad+bc)i$ +If $z_1 = a+bi$ and $z_2=c+di$, then -### Conjugates +$$z_1 \times z_2 = (ac-bd)+(ad+bc)i$$ -If $z=a+bi$, conjugate of $z$ is $\overline{z} = a-bi$ (flipped operator) +### Conjugates -Also, $z \overline{z} = (a+bi)(a-bi) = a^2+b^2 = |z|^2$ +If $z=a+bi$, conjugate is -- Multiplication and addition are associative +$$\overline{z} = a-bi$$ -#### Properties +##### Properties - $\overline{z_1 + z_2} = \overline{z_1} + \overline{z_2}$ - $\overline{z_1 z_2} = \overline{z_1} \cdot \overline{z_2}$ - $\overline{kz} = k \overline{z}, \text{ for } k \in \mathbb{R}$ -- $z \overline{z} = |z|^2$ +- $z \overline{z} = = (a+bi)(a-bi) = a^2+b^2 = |z|^2$ - $z + \overline{z} = 2 \operatorname{Re}(z)$ ### Modulus Distance from origin. -$|{z}|=\sqrt{a^2+b^2}$ -$\therefore z \overline{z} = |z|^2$ +$$|{z}|=\sqrt{a^2+b^2} \quad \therefore z \overline{z} = |z|^2$$ -#### Properties +###### Properties - $|z_1 z_2| = |z_1| |z_2|$ - $|{z_1 \over z_2}| = {|z_1| \over |z_2|}$ @@ -83,11 +92,11 @@ $\therefore z \overline{z} = |z|^2$ ### Multiplicative inverse -$z^{-1} = {1 \over z} = {{a-bi} \over {a^2+B^2}} = {\overline{z} \over {|z|^2}}$ +\begin{equation}\begin{split}z^{-1} & = {1 \over z} \\ & = {{a-bi} \over {a^2+B^2}} \\ & = {\overline{z} \over {|z|^2}}\end{split}\end{equation} ### Dividing complex numbers -${{z_1} \over {z_2}} = {{z_1\ {z_2}^{-1}}} = {{z_1 \overline{z_2}} \over {{|z_2|}^2}}$ +$${{z_1} \over {z_2}} = {{z_1\ {z_2}^{-1}}} = {{z_1 \overline{z_2}} \over {{|z_2|}^2}} \quad \text{multiplicative inverse}$$ (using multiplicative inverse) @@ -97,20 +106,18 @@ ${z_1 \over z_2} = {{(a+bi)(c-di)} \over {c^2+d^2}}$ ## Argand planes - Geometric representation of $\mathbb{C}$ -- Horizontal $= \operatorname{Re}(z)$; vertical $= \operatorname{Im}(z)$ +- horizontal $= \operatorname{Re}(z)$; vertical $= \operatorname{Im}(z)$ - Multiplication by $i$ results in an anticlockwise rotation of $\pi \over 2$ -## Solving complex quadratics - -To solve $z^2+a^2=0$ (sum of two squares): +## Solving complex polynomials -$z^2+a^2=z^2-(ai)^2=(z+ai)(z-ai)$ +**Include $\pm$ for all solutions, including imaginary** -*Must include $\pm$ in solutions* +## Solving complex quadratics -## Solving complex polynomials +To solve $z^2+a^2=0$ (sum of two squares): -Include $\pm$ for all solutions, including imaginary. +$$z^2+a^2=z^2-(ai)^2=(z+ai)(z-ai)$$ #### Dividing complex polynomials @@ -124,13 +131,13 @@ Let $\alpha \in \mathbb{C}$. Remainder of $P(z) \div (z - \alpha)$ is $P(\alpha) ## Conjugate root theorem -If $a+bi$ is a solution to $P(z)=0$, with $a, b \in \mathbb{R}$, the the conjugate $a-bi$ is also a solution. +If $a+bi$ is a solution to $P(z)=0$, with $a, b \in \mathbb{R}$, then the conjugate $\overline{z}=a-bi$ is also a solution. ## Polar form -$$\begin{equation}\begin{split}z & =r \operatorname{cis} \theta \\ & = r(\operatorname{cos}\theta+i \operatorname{sin}\theta) \\ & = a + bi \end{split}\end{equation}$$ +\begin{equation}\begin{split}z & =r \operatorname{cis} \theta \\ & = r(\operatorname{cos}\theta+i \operatorname{sin}\theta) \\ & = a + bi \end{split}\end{equation} -- $r=|z|$, given by Pythagoras ($r=\sqrt{\operatorname{Re}(z)^2 + \operatorname{Im}(z)^2}$) +- $r=|z|=\sqrt{\operatorname{Re}(z)^2 + \operatorname{Im}(z)^2}$ - $\theta=\operatorname{arg}(z)$ (on CAS: `arg(a+bi)`) - **principal argument** is $\operatorname{Arg}(z) \in (-\pi, \pi]$ (note capital $\operatorname{Arg}$) @@ -151,17 +158,22 @@ ${z_1 \over z_2} = {r_1 \over r_2} \operatorname{cis}(\theta_1-\theta_2)$ (divid ## de Moivres' Theorem -$(r\operatorname{cis}\theta)^n=r^n\operatorname{cis}(n\theta)$ where $n \in \mathbb{Z}$ +$$(r\operatorname{cis}\theta)^n=r^n\operatorname{cis}(n\theta) \text{ where } n \in \mathbb{Z}$$ ## Roots of complex numbers -$n$th roots of $r \operatorname{cis} \theta$ are: -$z={r^{1 \over n}} \cdot (\cos ({{\theta + 2k \pi} \over n}) + i \sin ({{\theta + 2 k \pi} \over n}))$ +$n$th roots of $z = r \operatorname{cis} \theta$ are + +$$z={r^{1 \over n}} \operatorname{cis}({{\theta + 2 k \pi} \over n})$$ Same modulus for all solutions. Arguments are separated by ${2 \pi} \over n$ +The solutions of $z^n=a \text{ where } a \in \mathbb{C}$ lie on circle + +$$x^2 + y^2 = (|a|^{1 \over n})^2$$ + ## Sketching complex graphs - **Straight line:** $\operatorname{Re}(z) = c$ or $\operatorname{Im}(z) = c$ (perpendicular bisector) or $\operatorname{Arg}(z) = \theta$ - **Circle:** $|z-z_1|^2 = c^2 |z_2+2|^2$ or $|z-(a + bi)| = c$ -- **Locus:** $\operatorname{Arg}(z) \lt \theta$ +- **Locus:** $\operatorname{Arg}(z) < \theta$ -- 2.43.2