This seminar by thermoplyae took place on 31st August 2008 20:00 UTC, in #mathematics channel of irc.freenode.net.

The timestamps displayed in the IRC text are UTC+1.

Any explanation or errors regarding this seminar should be recorded in the discussion page.

## Topic Edit

Categories and Topology. Part of the series outlined at Towards Spectral Sequences

## Seminar Edit

21:00:47 thermoplyae: alright, you set the channel topic, i grab a coke, and i guess we'll get this started 21:01:23 ChanServ changed the topic of #mathematics to: SEMINAR IN PROGRESS. If you want to ask a question, say ! and wait to be called 21:01:49 _llll_: all systems go, or something 21:01:49 thermoplyae: okay then 21:02:27 thermoplyae: so this is the first in a series of seminars where the goal is to make it to these rather complicated-to-the-point-of-mystical objects called "spectral sequences" 21:03:50 thermoplyae: spectral sequences first showed up and found fantastic application in algebraic topology by a couple of guys, Leray and Serre, where Serre kicked Leray's into working over other things called "fibrations" and allowed him to calculate the "cohomology ring" of a nice "space" 21:04:03 thermoplyae: the trouble, obviously, is that i can just tell you all what a spectral sequence is without defining all those quoted words first 21:04:17 thermoplyae: and the majority of you are not algebraic topologists, so this calculation would be 100% meaningless 21:04:52 thermoplyae: so that's what the series of seminars is for: introduce algebraic topology, stretch our legs a bit, then look at the Serre and the Atiyah-Hirzebruch spectral sequences to make a few cohomology calculations 21:05:17 thermoplyae: and then, if the audience is willing, we'll look at other examples of spectral sequences so you can see the application outside of algebraic topology proper 21:06:07 thermoplyae: and so i'm going to assume that you all are familiar with algebra (you know what a group and a ring are) and that you are, to some extent, familiar with topology (you know what a space is, how a continuous map is defined, maybe a separation axiom) 21:06:53 thermoplyae: but, based on _llll_'s seminar, not too many of you are familiar with category theory, so we ought to fill in a few gaps there and then outline the first few categories we'll be working inside 21:06:55 thermoplyae: and that's the plan for today 21:07:45 thermoplyae: so, in case you've forgotten, a category is something like a directed graph, where we have vertices called objects and edges called arrows 21:08:42 thermoplyae: they also come equipped with a mapping called "composition" that takes two edges f: A -> B and g: B -> C and composes them into a single arrow (gf): A -> C, and to each object A is attached a special arrow id_A that satisfies (f id_A) = (id_B f) = f 21:09:58 thermoplyae: the name for a map of categories is a 'functor', and just like other functions-with-extra-structure from algebra, a functor F is a function that satisfies F(id_A) = id_(F A) and F(f g) = (Ff) (Fg) 21:10:34 thermoplyae: now, some material we didn't make it to in _llll_'s seminar, stripped down somewhat: 21:11:20 thermoplyae: first, load this puppy up:

File:Spectral-Seminar-1--limit.png

21:14:03 thermoplyae: so, given a functor F: J -> C (here J and C are categories), the "limit of F" is an object r that comes with maps r -> F_i for all objects in the image of F such that the maps commute for arrows in the image of F. in addition, for any other object d that also has a family of arrows (think of it as a candidate limit object), there has to be a unique map u: d -> r such that all d's arrows factor through r's 21:14:11 thermoplyae: this is gibberish, so we'll do an example 21:14:40 thermoplyae: let's pick J to be a category consisting of two objects and whose only two arrows are the identities on those objects 21:15:06 thermoplyae: a functor F from J into our working category C effectively picks out two objects in C -- whatever is contained in its image 21:16:01 thermoplyae: so it's reasonable to think of F as a pair (a, b) of objects in C. the limit of F is some object r along with maps i'll call projection maps r -> a and r -> b such that giving a map d -> r is exactly the same as giving a pair of maps d -> a, d -> b 21:16:40 thermoplyae: this particular example of a limit is called a "product", and in the familiar category of sets the product there is the cartesian product 21:17:21 thermoplyae: in groups it's the direct product, in abelian groups it's the direct product, and in most familiar categories you can find familiar examples with this fantastic property being able to relate maps into the product with maps into its factors 21:17:42 FunctorSalad: ! 21:17:46 thermoplyae: go for it 21:18:01 FunctorSalad: in groups the colimit is the free product 21:18:42 FunctorSalad: doesn't matter, just added it for completeness 21:19:55 thermoplyae: anyway, back on track, the important part is that -- again -- maps into the product are the exact same as maps into each of its components 21:20:19 thermoplyae: we can do the same thing but instead of talking about maps into r we use maps out of r 21:20:43 thermoplyae: the relevant diagram is:

File:Spectral-Seminar-1--colimit.png

21:21:47 thermoplyae: and for a given functor F: J -> C, blah blah blah, exact same thing with all the arrows reversed, the object that satisfies the mapping-out property (which i called s in the picture) is called the colimit of F 21:22:26 thermoplyae: again, picking J to be the category with exactly two objects and exactly two arrows, functors F: J -> C still can be thought of as selecting two objects in C 21:22:43 thermoplyae: and the colimit of that pair (a, b) is some object s where maps s -> d correspond exactly with a pair of maps a -> d, b -> d 21:23:19 thermoplyae: so i'm told that the free product is the coproduct in the category of groups, i know disjoint union is the coproduct in the category of sets, and, again, plenty of other familiar examples exist 21:24:11 thermoplyae: another important example of a (co)limit is when the index category has two objects a, b and maps id_a, id_b, f: a -> b, g: a -> b 21:25:29 thermoplyae: so functors J -> C look like pairs of objects with a pair of arrows between them. the (co)limit of such a functor is called a (co)equalizer. in slightly less formal language, the equalizer of a pair of arrows is the "largest" piece of the domain where the two arrows agree 21:25:55 thermoplyae: and the coequalizer is the least amount of work you have to do to the codomain to make the two arrows agree in the end 21:26:18 thermoplyae: the plan, again, is to explore some topologically-relevant categories, so no worries, we'll get to examples 21:28:01 thermoplyae: but, first, there's one last important kind functor i want to bring up: representable functors 21:28:43 thermoplyae: which is something _llll_ covered, so this part should be intelligible. given a category C, we can pick an object a and consider the set of arrows a -> b for each object b in C 21:29:02 thermoplyae: i'll write C(a, b) for such a set 21:29:34 thermoplyae: given an arrow f: b -> c, there's a relation between C(a, b) and C(a, c) -- specifically, there's a map C(a, b) -> C(a, c) given by post-composing all the arrows in C(a, b) with f 21:29:51 thermoplyae: pictorially: http://jjaro.net/uploads/images/math/seminar/postcomposition.png

File:Spectral-Seminar-1--postcomposition.png

21:30:13 thermoplyae: this assignment is obviously functorial (seriously; if it isn't immediately obvious, you should be able to think through it inside of a few minutes) 21:30:44 thermoplyae: and so the assignment C(a, -) is a functor, called the functor "represented by a" 21:31:29 thermoplyae: we can do something similar if a is sitting on the other side; there's a relation between C(b, a) and C(c, a) induced by a map f: b -> c given by precomposing all the arrows in C(c, a) with f to get an arrow in C(b, a) 21:31:39 thermoplyae: again, a picture may be helpful http://jjaro.net/uploads/images/math/seminar/precomposition.png 21:32:19 thermoplyae: representable functors are sweet not just because they're easy to describe, but because of the limit property i kept stating and restating earlier 21:32:32 thermoplyae: let's say c is the product of a and b 21:32:51 thermoplyae: and, by definition, an arrow d -> c corresponds to a pair of arrows d -> a, d -> b 21:33:24 thermoplyae: which describes an isomorphism of sets C(d, a * b) = C(d, a) * C(d, b), where * is the product in the relevant category 21:34:11 thermoplyae: in fact, something more general is true (and is also pretty obvious, i won't prove it): representable functors C(a, -) take limits in C to limits in Set 21:34:31 thermoplyae: similarly, representable contravariant functors C(-, a) take colimits in C to limits in Set 21:35:23 thermoplyae: not so bad, right? let's talk about topology for a bit now 21:36:34 thermoplyae: and to justify all this category discussion, we ought to apply them a bit in topology 21:37:06 thermoplyae: in case you've forgotten, a topological space (X, T) is a set X and a set of subsets of X, where T satisfies 21:37:13 thermoplyae: 1) emptyset and X are in T 21:37:29 thermoplyae: 2) given any collection of elements of T, their union will also be in T 21:37:38 thermoplyae: 3) given any finite collection of elements of T, their intersection will also be in T 21:38:03 thermoplyae: the sets in T are called the 'open' sets of X 21:38:05 thermoplyae: most of the time i'll say say 'X is a space' and omit T from the notation 21:38:53 thermoplyae: and a continuous map of spaces is a generalization of the continuous maps you may have seen in basic analysis; a map f: X -> Y is continuous if every open set in Y has a preimage that is open in X 21:39:50 thermoplyae: and so if we think of open sets as a description of how the space is glued together, "open set" meaning something loosely like "region", this is a fairly obvious restriction that says "our regions over here have (Y) to be made up of regions from over there (X)" 21:40:02 Manyfold: ! 21:40:07 thermoplyae: go ahead, manyfold [at this point temporary network issues cause a short interval] 21:40:27 Manyfold: why finite collection with intersection? 21:42:14 Manyfold: and can you give an example were the collection is not a set 21:42:46 Manyfold: i ask cause my textbook on topology defines it as set of subsets 21:48:04 ~kees_: the second is easy to answer. The collection of open sets in question is always a set. 21:48:40 ~kees_: the first question is a question of practicality. 21:49:11 ~kees_: if one tries to model the topology of R in terms of open sets then it's not true that an arbitrary intersection of opens is open. 21:49:50 ~kees_: thus in the definition of a topology one does not require opens to be stable under arbitrary intersections since this will exclude many examples. 21:49:54 Manyfold: ar as i understand collections are bigger than sets 21:52:17 ~_ar: as far as the topology here, you can safely take sets and collections to be synonymous 3:42pm thermoplyae: reasonable question, and i'm not sure i have a satisfying answer. if we want to think of intervals (a, b) in R, those aren't closed under arbitrary intersection, and maybe "we sure wish topology were representative of things we already understand" is a good reason? [3:43pm] thermoplyae: yeah, i don't know if a more solid answer exists; axioms are there because they describe other things we're familiar with that we want to generalize [3:44pm] thermoplyae: an important thing you should immediately recognize is that the composition of two continuous maps is continuous and that the identity function is continuous [3:45pm] thermoplyae: and so, tada, we have the first category we care about, where the objects are topological spaces and the arrows are continuous functions. we'll call it Top, short for Topology [3:46pm] thermoplyae: so, in an effort to feel out this category, we ought to look at what some of those limits look like [3:47pm] thermoplyae: the coproduct of two spaces A, B is given by the disjoint union of the point sets underlying A and B and taking the open sets of the coproduct to be sets whose intersection with A is open and whose intersection with B is open [3:47pm] thermoplyae: i don't have pretty pictures, but you ought to think of the two spaces just being set down next to each other. the coproduct of two circles looks like... two circles [3:48pm] thermoplyae: and the exact same definition works for infinite coproducts; open sets are ones whose restrictions to the components are open [3:49pm] thermoplyae: products are mildly more difficult to describe; the product of two spaces A, B has point set given by cartesian product of the point sets of A and B [3:50pm] thermoplyae: if we pick an open set U n A and an open set V in B, we'll say U x V to be open in A x B 21:56:00 thermoplyae: it's not enough that U x V be open in A x B; that collection isn't closed under union 21:56:24 thermoplyae: and so we fix it by (surprise) closing it under union. turns out that what we get is the (binary) product topology 21:57:16 thermoplyae: for infinite products, we must be somewhat more careful; for the product \prod_\alpha X_\alpha, we have finitely many U_\alpha be not all of X_\alpha and the rest be their entire component spaces X_\alpha (hopefully that's intelligible) 21:58:44 thermoplyae: we should also talk about quotient topologies, something those of you who took undergrad topology likely have not seen, since that underlies much of the rest of these constructions 21:59:26 thermoplyae: given a space X and a surjective map of sets f: X -> Y, we can construct a "largest" topology on Y where V a subset of Y is open exactly when V's preimage by f is open in X 22:00:14 thermoplyae: what does this mean, you ask? well, let's take the interval [0, 1] with the topology inherited from R (sets of the form [0, a), (a, 1], and (a, b) are open for a < b in (0, 1)) 22:00:47 thermoplyae: our equivalence relation will be the trivial equivalence relation (a ~ a) augmented by the relation that 0 ~ 1 22:01:34 thermoplyae: and so everything sits in its own equivalence class except for one class, which contains both 0 and 1 22:02:40 shminux: ! 22:02:45 thermoplyae: yes 22:02:56 shminux: doesn't it turn [0,1] into a circle? 22:03:14 thermoplyae: it does, i was just writing that out as slowly as possible 22:04:04 thermoplyae: an explicit homeomorphism (fancy word for invertible continuous map) is given by x |-> (cos (2 pi x), sin (2 pi x)), where the codomain is the subspace of R^2 given by unit-length vectors 22:05:12 ~kees_: may I just remark that that is just one of many possible homeomorphisms 22:05:28 thermoplyae: oh, sure 22:05:38 ~kees_: the 'the' in the beginning of the sentence might imply there is just one. 22:05:52 thermoplyae: yes, sorry, good point 22:06:16 ~kees_: and you also have to demand that the inverse is cont as well, right? 22:06:32 thermoplyae: yeah, i mean "inverse in Top" 22:07:00 thermoplyae: so i did a sort of sleight of hand and identified surjective maps with projections to equivalence classes while no one was looking 22:07:07 thermoplyae: this is also a profitable way to look at things 22:07:41 thermoplyae: given an equivalence relation on X, continuous maps out of X whose values agree on the equivalence classes of ~ are exactly the same as continuous maps out of X/~ 22:07:53 thermoplyae: where X/~ has the quotient topology given by X -> X/~ 22:09:04 thermoplyae: so back to categories, let's try to describe coequalizers 22:09:34 thermoplyae: we have two maps f, g: X -> Y, and we want a third map h: Y -> Z such that hf = hg and it satisfies a universal property 22:10:18 thermoplyae: one obvious thing to do, now that we have this quotient topology, is to quotient Y in such a way that f and g send points to the same equivalence class 22:10:22 thermoplyae: i.e. f(x) ~ g(x) 22:10:54 thermoplyae: and the map Y -> Y/~ given by this equivalence relation is, in fact, the pushout in Top (once again, proof is yours to handle) 22:11:44 thermoplyae: we can mix'n'match these constructions to form what are called pushouts, another common form of limit 22:12:55 thermoplyae: we pick a pair of arrows f: X -> Y, g: X -> Z that share a common domain, and we want to pick an object P with maps Y -> P, Z -> P such that the square commutes and is universal (all other ways to fill out the lower right corner factor through P and its arrows) 22:13:45 thermoplyae: the case we'll typically be interested in is the case that X is actually a subspace of Y, and in this case P is written Y \cup_f Z 22:13:53 thermoplyae: another picture: http://jjaro.net/uploads/images/math/seminar/pushout.png

File:Spectral-Seminar-1--pushout.png

22:14:56 thermoplyae: and so what should we do? well, we're going to have an arrow out of Y in to P and out of Z into P, so we ought to start by taking the coproduct of the two 22:15:11 thermoplyae: but that won't be enough; we'll have too many possible maps out of P 22:16:03 thermoplyae: in addition, we have to coequalize and fix it, effectively quotienting by the relation f(x) ~ g(x), where f(x) lies in Y included into the coproduct, g(x) lies in Z included into the coproduct 22:16:20 thermoplyae: so, what is this doing? and why the notation Y \cup_f Z? 22:17:02 thermoplyae: let's pick some spaces to work with as examples; for instance, Y can be a hemisphere, Z can be a plane, and X can be the boundary of Y, sort of the equator 22:17:23 thermoplyae: the map X -> Z should just select some circle in the plane, not terribly important 22:17:46 thermoplyae: we take the coproduct and then we quotient, stitching the points along the equator of the hemisphere onto where we mapped them in the plane with f 22:18:06 thermoplyae: and we ought to end up with a plane with a bubble sitting on top 22:18:22 thermoplyae: "Y \cup_f Z" should be read as "Y glued to Z along f" 22:19:21 thermoplyae: okay, so we have two more categories; we'll do Top^* because it's easy, and Toph if there's time; i'll take a poll or something 22:19:23 thermoplyae: this is getting kind of long 22:20:07 thermoplyae: Top* is sort of a twist on Top; to each space X we associate a point x_0 in X called the "basepoint" of X 22:20:25 thermoplyae: maps between spaces are still continuous maps, but we require that f: (X, x_0) -> (Y, y_0) act as f(x_0) = y_0 22:20:39 thermoplyae: these spaces-with-basepoint are called "pointed spaces", and the maps "pointed maps" 22:21:12 thermoplyae: the product looks exactly the same, where the basepoint of (X, x_0) * (Y, y_0) is (x_0, y_0) 22:21:52 thermoplyae: the coproduct looks slightly different; we can no longer just take the disjoint union of X and Y, since how would we know where our basepoint went? 22:22:21 thermoplyae: indeed, we need maps out of X + Y to correspond to maps out of X and Y separately, which maps the map out of X+Y has to determine the action for both of their basepoints 22:22:37 thermoplyae: and so the right thing to do is (X disjoint union Y) / (x_0 ~ y_0) 22:23:57 thermoplyae: if we denote the set of all continuous maps X -> Y by Y^X, i'm going to make the somewhat ridiculous-sound claim that, in Top, we can find a topology on Y^Z such that Top(X x Y, Z) = Top(X, Z^Y) for "nice" spaces X, Y, Z (something about being paracompact and hausdorff, don't think about it too hard, we won't be focusing on pathologies) 22:24:37 thermoplyae: sadly, we can't transfer this fact directly to Top* 22:25:09 thermoplyae: in Top*, Z^Y has a basepoint given by the map that takes all of Y to the basepoint of Z -- the constant map 22:25:49 thermoplyae: and so a pointed map X -> Z^Y will have to take the basepoint of x to this constant map, in effect partially determining what ought to be a map X x Y -> Z 22:26:10 thermoplyae: (specifically the part that shares a component with x_0) 22:26:36 thermoplyae: you can observe something similar going on with points in X x Y that share a component with y_0 -- they also all have to get sent to the basepoint in Z 22:27:13 thermoplyae: and so the right thing to do, obviously, is to take X x Y and quotient by (X v Y), where X v Y is the coproduct of X and Y and the implicit inclusion is along the subspace sharing a coordinate with the basepoint of X x Y 22:27:45 thermoplyae: this operation is called the smash product, and it enjoys the property that Top*(X smash Y, Z) = Top*(X, Z^Y), recovering the property that we want 22:28:54 thermoplyae: alright, exhale. are you guys up for homotopy and the homotopy category? 22:29:09 thermoplyae: if not, no worries, this is a reasonable place to stop 22:29:31 _llll_: i think people who are still following will still be following if you explain that stuff 22:29:36 Cale: Adjunctions away! (sorry ;) 22:29:45 thermoplyae: excellent 22:30:12 thermoplyae: we won't do much because the moment we get done defining homotopy is the moment we start doing algebraic topology, and that's too much for one day 22:31:18 thermoplyae: okay, so basically everything we'll ever do from this point on (including the future seminars) will be in the context of Top*, with a few exceptions 22:31:57 thermoplyae: so, to start, when i write "I", i'll mean the unit interval [0, 1] where the basepoint is 0, and when i write "X_+" i'll mean the space X + pt with basepoint taken to be the point living in pt. 22:32:42 thermoplyae: we have two pointed maps f, g: X -> Y, and the most basic idea of homotopy is that we can "slide" one over to the other 22:33:13 thermoplyae: what do we mean by that? we mean there's a map H: X * I_+ -> Y such that H(x, 0) = f(x) and H(x, 1) = g(x) for all x 22:33:42 thermoplyae: using the exponential law described above, we can think of this as a(n unpointed) map I_+ -> Y^X, which is a path in the function space 22:35:15 thermoplyae: the relation "f is homotopic to g" is an equivalence relation on Top*(X, Y), and composition of two representatives of two homotopy classes Top*(X, Y) and Top*(Y, Z) all give elements of the same homotopy class Top*(X, Z) 22:35:37 thermoplyae: and so we can consider "pointed spaces with maps distinguished up to homotopy", a category denoted Toph 22:36:17 thermoplyae: an invertible morphism f: X -> Y in Toph is a homotopy class with another homotopy class g: Y -> X such that fg is homotopic to id_Y and gf is homotopic to id_X 22:37:04 thermoplyae: some more vocabulary includes maps that are homotopic to the constant map X -> Y (i.e. lie in the same path component of Y^X), such maps are said to be "null-homotopic" 22:38:04 thermoplyae: and, on a related note, if there's a homotopy equivalence (i.e. an invertible homotopy class) between X and the one point space {*} (i'm lazy about notation, i may at some point write * or pt), X is said to be "contractible" 22:38:58 thermoplyae: and this leaves us on the brink of some actual work, so i think we'll leave off 22:39:03 thermoplyae: any questions? obvious mistakes? :) 22:39:52 ~kees_: I'd like to remark that you can do homotopy theory also for unpointed spaces 22:39:58 ~kees_: and for doubly pointed spaces 22:40:03 ~kees_: and for totally pointed spaces. 22:40:10 ~kees_: (and in many other categories). 22:40:17 thermoplyae: certainly 22:40:26 ~kees_: I'm not sure why you wanted to restrict to pointed spaces. 22:40:57 Cale: kees_: Possibly because he wants pi_1 to be a group valued functor later on? 22:41:07 Cale: (and not groupoid) 22:41:51 Cale: I really do like the fundamental groupoid though. The proof of the generalised Seifert-van Kampen theorem goes through more nicely, I think :) 22:41:02 thermoplyae: because it will make pi_n make sense 22:41:03 thermoplyae: yes 22:40:33 _llll_: you dont want to restrict 22:41:05 _llll_: a better approach would be to have a *set* of base-points 22:41:14 _llll_: ie E/Top not 1/Top=Top* 22:41:16 ~kees_: another remark is that Toph is actually not the thing you want to work with (in some philosophical level) since you quotient out by homotipies thereby loosing tons of information. 22:41:52 thermoplyae: well, from a strictly topological viewpoint, nothing in algebraic topology is really what you "want" to be working with 22:41:54 ~kees_: Cale: could be, but the more modern approach of considering the fundamental category seems better suited. 22:42:21 thermoplyae: but topology is so hard :( and we reduce to less complicated settings where we can get things done 22:42:26 thermoplyae: "we" being "the people in #mathematics" 22:42:46 _llll_: i think the point is that the basepoint stuff doesnt make anything easier 22:42:49 ~kees_: thermoplyae: Joyal has a thing he calls HOT. It's a simplicial set (which is a quasi cateogory) which is (so he claims) what you want to work with when doing homotopy. 22:43:07 ~kees_: the point is that categories are too strict to handle such things. You wanna weaken the notion of a cateogory. 22:43:37 Cale: _llll_: well, surely groups are a bit nicer things to have than groupoids. 22:43:47 _llll_: i dont think they are 22:43:48 ~kees_: not always Cale 22:43:52 ~kees_: in fact many times it's not. 22:44:04 _llll_: the coproduct of groups is one example 22:44:31 ~kees_: as categories Grpoid is much nicer and simpler than Grp (for example) 22:44:51 _llll_: there's some slogan that you want categories with nice properties, not categories with objects with nice properties 22:45:15 FunctorSalad_: _llll_: yeah read that too recently. by Grothendieck IIRC? 22:45:21 Cale: _llll_: Coproducts for groups are okay, aren't they? 22:45:38 _llll_: depends what you mean by "ok" 22:45:47 ~kees_: right 22:46:02 _llll_: you can read "from groups to groupoids" by ronnie brown for more info 22:46:21 thermoplyae: anyway, cale guessed correctly that pointed spaces will be used in my construction of the homotopy groups and reduced homology, and i wanted to sweep basepoint notation under the rug 22:47:02 thermoplyae: it is certainly worth noting that homotopy makes sense elsewhere, and if you're not going to do what i'm doing other things may be more appropriate 23:32:08 _llll_: thermoplyae: what's next week's title? 23:33:42 thermoplyae: _llll_: homotopy and cell complexes? i think that would work, and it sounds so unassuming we may get as large a crowd as we did this week 23:34:03 _llll_: cool 23:35:01 |Steve|: Sounds good to me. 23:39:01 ChanServ changed the topic of #mathematics to: NEXT SEMINAR: Sunday 7 September 20:00 UTC: Toward Spectral Sequences 2: Homotopy and Cell Complexes | Log of previous seminar will be up later | Future seminars and logs of past seminars: http://freenode-math.com/index.php/Seminars | Join #math for help with your homework