%% %% Description: The May spectral sequence for $Ext(\HF_{2*}\tmf)$ %% %% I got this from Mike Hill's note: https://pdfs.semanticscholar.org/ddbb/8d584e4e81a71400088117b16cd241238c6c.pdf %% \documentclass[tooltips]{spectralsequence-example} \begin{document} \sseqset{htwostructstyle/.sseq style = {gray,very thin, run off=-}} \NewSseqCommand\twods{ O{} U( r() m m }{ \def\temp{#1,#2,#3,#4,#5} \getdtarget\target#2{#3} % Store the target position in \target \nameclass{source}(#3) % naming the classes gives us a speed boost \nameclass{target1}(\target,#4) % by preventing sseqpages from reparsing the coordinate \nameclass{target2}(\target,#5) % it also makes the code easier to read % \circleclasses[ differential style, #1, name path = circ, page = #2--#2 ] (target1)(target2) % Circle the classes, use differential style % \d[invisible]#2(source)(target1) % don't draw anything, but record source and targets as hit. \d[invisible]#2(source)(target2) % \path(target1)--(target2) coordinate[midway](midpt);% put a coordinate in the center of the two classes \path[name path = lin] (source) -- (midpt);% save path from start to midpoint % % draw line in "differential style" from start to intersection point of circ and lin \draw[ differential style, #1, page constraint= { \page == #2 }, name intersections = { of = circ and lin } ] (source) -- (intersection-1); } \NewSseqCommand \tower { O{} d() } { \IfNoValueF{#2}{ \pushstack(#2) } \savestack \begin{scope}[#1] \DoUntilOutOfBounds{ \class(\lastx,\lasty+1) \structline(\lastclass1)(\lastclass) } \end{scope} \restorestack } \NewSseqCommand\honetower {O{}} { \savestack \begin{scope}[#1] \DoUntilOutOfBounds{ \class(\lastx+1,\lasty+1) \structline(\lastclass1)(\lastclass) } \end{scope} \restorestack } \NewSseqCommand\htwo { O{} d() } { \IfNoValueF{#2}{ \pushstack(#2) } \class[#1](\lastx+3,\lasty+1) \structline[htwostructstyle](\lastclass1)(\lastclass) } \NewSseqCommand \htwotower { O{} d() } { \IfNoValueF{#2}{ \pushstack(#2) } \begin{scope}[#1] \gettag\thetag(\lastclass) \class(\lastx+3,\lasty+1) \structline[htwostructstyle](\lastclass)(\lastclass1) \savestack \DoUntilOutOfBounds{ \class(\lastx,\lasty+1) \structline(\lastclass1)(\lastclass) \structline[htwostructstyle](\lastx-3,\lasty-1,\thetag)(\lastclass) } \restorestack \end{scope} } \NewSseqCommand\dtower {u(u)} { \foreach\i in {0,...,10}{ \d[yshift=\i]#1(#2) } } \begin{sseqdata}[name=tmfmayss,y range={0}{8}, x range={0}{25}, degree={-1}{1}, classes=fill, class labels={below=3pt},differentials=blue, class pattern=linear, classes={ tooltip = {(\xcoord,\ycoord)} }, xscale=1.48, yscale=2.2, title = {Page \page}, run off differentials = -> ] \class[tag= h0^i](0,0) \tower[tag=h0^i] \honetower \classoptions["h_1"](1,1) \htwotower[tag=h0^i h2] \classoptions["h_2"](3,1) \htwotower[tag=h0^i h2^2] \htwotower[tag=h0^i h2^3] \htwotower[tag=h0^i h2^4] \htwotower[tag=h0^i h2^5] \htwotower[tag=h0^i h2^6] \htwotower[tag=h0^i h2^7] \htwotower[tag=h0^i h2^8] \htwo%\htwotower[tag=h0^i h2^9] \class["b_{20}",name=b20,tag=h1^i b20](4,2) \tagclass{h0^i b20}(4,2) \honetower[tag=h1^i b20] \tower[tag=h0^i b20] \class["x_7",tag=h0^i x7,name=x7](7,2) \honetower \htwotower[tag=h0^i x7](b20) \structline(\lastclass)(x7) % h0 x7 = h2 b20 \class["b_{21}", tag=h0^i b21,name=b21](10,2) \honetower[tag=h1^i b21] %\structline(\lastclass)(h2^2 b20) % h2 (h0 x7) = h2 (h2 b20) \htwotower[tag=h0^i b21](x7) \structline(b21)(\lastclass) \htwotower[tag=h0^i h2 b21](b21) \htwotower[tag=h0^i h2^2 b21] \htwotower[tag=h0^i h2^3 b21] \htwotower[tag=h0^i h2^4 b21] \htwotower[tag=h0^i h2^5 b21] \htwotower[tag=h0^i h2^6 b21] \class["b_{30}",tag=h1^i b30](12,2) \tagclass{h0^i b30}(12,2) \tower[tag=h0^i b30]\honetower[tag=h1^i b30] \htwotower[tag=h0^i h2 b30] \htwotower[tag=h0^i h2^2 b30] \htwotower[tag=h0^i h2^3 b30] \htwotower[tag=h0^i h2^4 b30] \htwotower[tag=h0^i h2^5 b30] % \class[tag=h0^i x7^2](14,4) \classoptions["x_7^2",page=0--3](\lastclass) \classoptions["d",page=4--100](\lastclass) \tower[tag=h0^i x7^2] \honetower \htwotower[tag=h0^i h2 x7^2] \htwotower[tag=h0^i h2^2 x7^2] \htwotower[tag=h0^i h2^3 x7^2] \htwotower[tag=h0^i h2^4 x7^2] \htwo%\htwotower[tag=h0^i h2^5 x7^2] \class["b_{20}^2",tag=h0^i b_{20}^2](8,4) \tower[tag=h0^i b_{20}^2] \honetower \htwotower[tag=h0^i h2 b_{20}^2] \htwotower[tag=h0^i h2^2 b_{20}^2] \htwotower[tag=h0^i h2^3 b_{20}^2] \htwotower[tag=h0^i h2^4 b_{20}^2] \htwo%\htwotower[tag=h0^i h2^5, b_{20}^2] \class[tag=h0^i b21^2](20,4) \classoptions["b_{21}^2",page=0--3](\lastclass) \classoptions["g",page=4--100](\lastclass) \honetower \tower[tag=h0^i b21^2] \htwotower[tag=h0^i h2 b21^2] \htwotower[tag=h0^i h2^2 b21^2] \class["b_{30}^2",tag=h0^i b30^2](24,4) \tower[tag=h0^i b30^2] \honetower \htwotower %\htwotower[tag=h0^i h2^3 b21^2] \twods3(4,2,-1){1}{2} % d3(b20) = h1^3 + h0^2 h2 \replaceclass[offset={(0,0)}](3,3) \structline(3,2)(3,3) \structline(2,2)(3,3) \structline[htwostructstyle](0,2)(3,3) \foreach\y in {3,...,8} {\d3(4,\y,-1,-1)} % d3( h0^i b20 ) = h0^{2+i} h2 \foreach\n in {3,...,8} {\d3(2+\n,\n,h1^i b20,1)} % d3(h1^i b20) = h1^{3+i} \foreach \y in {2,...,8} {\d3(7,\y,h0^i x7,h0^i h2^2)} \foreach \y in {2,...,8} {\d3(10,\y,h0^i b21,h0^i h2^3)} \foreach \y in {3,...,8} {\d3(13,\y, h0^i h2 b21 ,h0^i h2^4)} \foreach \y in {3,...,7} {\d3(16,\y+1,h0^i h2^2 b21,h0^i h2^5)} \foreach \y in {3,...,6} {\d3(19,\y+2,h0^i h2^3 b21,h0^i h2^6)} \foreach \y in {3,...,5} {\d3(22,\y+3,h0^i h2^4 b21,h0^i h2^7)} \foreach \y in {3,...,4} {\d3(25,\y+4,h0^i h2^5 b21,h0^i h2^8)} \foreach \n in {0,...,6} {\d3(12+\n,2+\n,h1^i b30,h1^i b21)} \foreach \n in {0,...,4} {\d5(24,4+\n,-1,-1)} \classoptions[page=4--100,"c_0"](8,3) \classoptions[page=4--100,"a"](12,3) \classoptions[page=4--100,"b"](15,3) \end{sseqdata} \printpage[name=tmfmayss,page=2] \newpage \printpage[name=tmfmayss,page=3] \newpage \printpage[name=tmfmayss,page=5] \newpage \printpage[name=tmfmayss,page=8,title={Page $\infty$}] \end{document}