Up until grad school, my main method for learning math was imitation and pattern recognition (and as far as I’m concerned, I haven’t learned much math since this stopped being possible/effective). I learned calculus without any deep understanding just because I could reliably replicate the techniques. In school we are taught that we have to *learn* and that we should be *original*. We learn that “copying” and “imitating” are bad, but nobody really takes the time to explore the fact that imitation is a fundamental learning technique.

Peli reminds us that when artists create imitations of worldly objects, we consider these to be interpretations of those objects, or of the world itself.

And furthermore, if you were able to faithfully recreate the artist’s rendering of these objects, surely you have learned something of the artist’s worldview, and in turn something of the world. In what follows we will delve into the machine learning side of things, looking at how “autoencoders” learn to imitate the world they are presented with, and how the process they undergo naturally produces a set of “privileged objects” and a sort of “worldview.” This gives us more than an analogy to the relationship between a work of art, the privileged objects in the work, and an artist’s worldview. What we get for our troubles is in fact a formal mathematical basis for this relationship.

Peli has some great explanations of how autoencoders work (with a fun analogy using Greek pottery experts!). I will not recreate those here. I will just give you the final image I have in my mind.

Okay so an autoencoder is a computer-program-thingy (sorry, y’all) which has been set loose on a very large set of inputs (of the same general type) with the goal of learning how to reproduce them (as accurately and efficiently as possible, subject to predetermined constraints). As such, you start with an “untrained autoencoder” which “trains” (learns) on a “training set” and then you end with an older and wiser “trained autoencoder” which you can run on “test data.”

The untrained autoencoder is two functions in a row (I think of a function as a box, an arrow in, and an arrow out) with a third function, uh, on the side (you’ll see). The first function accepts an input (like a digital image) and outputs some sort of code. The second function accepts that code and outputs a digital image based only on that code (remember, the ultimate goal is to reproduce the image). It is useful (I admit begrudgingly) to think of these two functions as one (really the composition of the two) which takes an input and attempts to replicate it. Do this for the entire training set, then give all the input images and attempted replicas to the third function which analyzes how wrong the replicas were and makes a tiny adjustment to the other functions, with the goal of minimizing wrongness. In other words: input images → short codes → attempted replicas → tiny adjustment. Or, inaccurately, in pictures:

The process terminates when the third function stops suggesting adjustments. (Exercise: How do I know the process will terminate?) Now you turn off the optimizer and declare yourself to have a trained autoencoder. You should think of a trained autoencoder as having internalized a particular way of seeing things. You can learn about this way of seeing by running it on “test data” (which was not part of the training set).

For the next while, we’re going to throw away our optimizer and think only of a trained autoencoder which has already internalized a way of summarizing and reconstructing that is the best in terms of accuracy and efficiency.

Okay I am going to state some definitions/facts, but I’m not going to super explain them. If you aren’t a mathematician, don’t freak out, I’ll recap in non-math afterwards. (I mean, freak out if that’s your jam. You do you.)

1.) The **feature function** of a trained autoencoder turns a concrete object into a vector (the code).

2.) The **decoder function** of a trained autoencoder turns a vector into a concrete object.

3.) The **projection function** of a trained autoencoder turns a concrete object into a stand-in concrete object (an approximation or else, itself); it is the composition of the feature function and the decoder function.

4.) The **input-space** is the set of all (theoretically) possible concrete objects which could be input into the feature function. For instance, all possible collections of images of a certain size. We view this as a solid “cube” (in more than three dimensions, though) in a vector space by arranging the set in terms of the most naive understanding of the independent characteristics. In the case of grayscale images of the same size, for example, each pixel-spot would be a dimension.

5.) The **feature space** is the “cube” (inside a real vector space) that the feature function maps onto. The dimension of this space is chosen in advance, the more dimensions the more accurate the reproductions will be, but it will have fewer dimensions than the input-space. You can think of each dimension as an aspect of the objects at hand, in which case each vector is a list of numbers which express how much of each aspect an object is. So if the allowed values for each dimension are 0 through 9, then could mean not at all red, neutral on the brightness, and extremely goth.

We thus see that the feature function maps elements of the input-space to vectors in the (lower-dimensional) feature space, the decoder function maps vectors from the feature space to elements in (a subset of) input-space. And the projection function maps elements of input-space back to (neither “into” nor “onto”) input-space.

6.) Peli calls the set of elements in input-space which remain unchanged under the projection function the **canon** of the trained autoencoder. **This is more important than it sounds!!!** The existence of a canon follows from the optimization process (though the canon need not be part of the training set), and in fact, the canon is actually the **image** of the trained autoencoder’s decoder (or projection) function. This means that the canon is *all possible replicas the autoencoder could make*. The canon, which is just a set of concrete objects, turns out to be logically and/or functionally equivalent to both the feature function and the projection function.

7.) The canon forms a “**lower-dimensional submanifold**” inside input-space. What’s more, given a point of input-space close enough to the canon, the projection function is literally the orthogonal projection of that point onto this manifold. The manifold structure thus implies a logical and inextricable relationship between a canon, a feature function, and a projection function that allows us to bring this structure to other realms.

8.) From this manifold perspective, we now have a new notion of distance or comparability.

**Manifold interlude.** I have avoided learning about manifolds thus far and I’m not going to break that now. So we’re going to stick with what little I know which is that “locally they look like ” which means whatever that means. We don’t have to know the details now, but I do want to give a brief motivation for the different notions of distance.

Imagine you are walking up one side of an isosceles triangle and down the other. How far did you walk? You could measure the horizontal distance traveled (the length of the base of the triangle), or you could measure what you actually walked (the two sides of the triangle). Additionally, your perception might be that walking up was twice as hard as walking down, so maybe you want to account for that. I don’t know. Either way, these are different metrics you might use when trying to tell someone how far you went, or how far you felt like you went.

As we saw above, in our situation, you can picture input-space as being three-dimensional and picture the canon-submanifold as a two-dimensional object (like a sheet of paper or a wide ribbon) that curves through space. From the external perspective we can measure distance in the usual way, but the submanifold also has its own perspective. So if you have, say, a sphere (an empty ball) in space, you can measure the distance between two points on the sphere by using the straight line that connects them by going through the sphere. This is how you measure distance in the ambient space, but of course if you must be restricted to staying on the sphere (like when we travel to other parts of the world), distance will be measured by the shortest path *around* the sphere.

Anyway, the point is that the **canon** of a trained autoencoder has its own notion of distance, which we interpret as its own notion of similarity and difference. Who cares? Remember that points were close in input-space if they represented objects which were naively similar (for instance, two images which are close on a pixel-by-pixel basis), whereas being close in **feature space** meant being similar in more meaningful ways (for example, close in redness, brightness, and gothness). The manifold perspective allows us to see both types of similarity/difference inside of input-space. We also get that the **projection function** keeps track of the *least input-space distance* between an object not in the canon (but sufficiently close) and the canon itself. Being able to see all this just from the canon alone will become particularly important when dealing with art, since all we have access to in terms of an artist’s worldview, is their renderings or interpretations of the world.

Suppose you start with a large set of worldly objects and you want an algorithm to learn the essence of what these objects are about. Well, I don’t know how you’d do this or what it would mean, but whatever it means, I would agree you had succeeded if the algorithm was able to approximately replicate these objects by decoding its own interpretations. If you give these objects to an untrained autoencoder, how it learns to approximate/replicate this world forces it to create a **worldview** (assessments of how similar or dissimilar the objects of that world are to each other with respect to aspects that are meaningful to them) and a **canon** (the privileged objects its worldview sees most accurately). Now, a trained autoencoder has already internalized a worldview and can be considered logically and functionally equivalent to its canon. Importantly, this is a consequence of the nature of replication and doesn’t rely on the training process, and furthermore we will see that training an untrained autoencoder on a sample of the *canon* (the sample being considerably smaller than the original training set) is the most efficient way to pass on a worldview.

A work of art (the objects/phenomena it recreates), Peli argues, can be considered to be a sample from the canon of a trained autoencoder. If the meaning of a work of art is to be found in an artist’s worldview, then it turns out that this meaning is logically equivalent to the objects the artist chose to present. Reading a work of literature, then, is equivalent to an untrained autoencoder training on samples of a trained autoencoder’s canon. And in fact this is the most efficient way to learn an artist’s worldview.

Next installation shall be more about the things!

**Relevant writings of Peli Grietzer**

Theory of Vibe: a recent article in Glass Bead (a good summary of everything)

Deep Learning, Literature, and Aesthetic Meaning, With Applications to Modernist Studies: Précis of May ’17 HUJI Einstein Institute of Mathematics talk (a lecture aimed at math people)

From ‘A Literary Theorist’s Guide to Autoencoding’ (an excerpt from the first chapter of his PhD thesis, introducing autoencoders)

Ambient Meaning: Mood, Vibe, System (the Phd thesis)

Peli’s work, for me, is like my mother-in-law’s blue cheese gnocchi. I despise blue cheese and I despise gnocchi. Yet somehow what she made was delicious. So, if you like blue cheese, great! If you like gnocchi, even better! (If you like both, uh, you shouldn’t be here, because you should be reading the source materials.) But if you hate them both, I’m here to show you why you should please try it anyway, because it is delicious.

Machine learning. Artificial intelligence. Neural networks. Oh my, do I hate this stuff (sorry, Peli!). I mean okay, it’s not that I *hate it* hate it. It’s that I am disinterested in (and overwhelmed by) the details and terrified of the implications. I have a complete distrust of artificial intelligence and an old-school fear of the inevitable robot takeover. (Okay actually what I distrust is humanity. I do not trust humans not to make some great technological advance that will kill us all. It could be robots. It could be capitalism. Whatever.) Peli’s work relies on the ideas and mathematics of autoencoders which are machine learning thingies (more later) and it turns out that what they do (when talked about gently, without what I assume is a daunting amount of detail) is actually quite interesting as long as I pretend that they don’t actually exist.

Literary criticism. Okay, so I don’t know if I’m supposed to say this, but Peli was in the comparative literature department. (Hey, funny story, it turns out that “comparative literature” means more than “comparing literature.”) So while the part that makes the most sense to me is the mathematics of autoencoders (I’m looking at you, submanifolds), all of that is actually applied to the discussion of literary aesthetics. Fair warning: I HAVE NO IDEA WHAT I’M TALKING ABOUT. He builds his ideas of aesthetics in reference to other things I’ve obviously never heard of and haven’t bothered to learn about, so I’m probably not going to talk about those things. And honestly what interests me is not really where his ideas fit in with other people’s ideas about the meaning or value (or ?) of various works of literature. I am interested more as a reader of words. As someone whose brain struggles to turn individual words into concepts and who fights with concepts to communicate them as individual words. Like I said, everything I write is ultimately about myself.

Peli’s PhD thesis and subsequent writings use the mathematics of a specific type of machine learning dohickey to explain how when we learn the-way-that-a-work-of-literature-is (through its aesthetics) we are learning something about the world, and we are learning it in a provably most-efficient way. Peli calls this way of learning “ambient meaning,” and the things we learn “vibes.”

Here’s where I break my analogy. I have no clue why my mother-in-law’s blue cheese gnocchi was delicious. It was not some kind of turning point in my life. I continue to think that blue cheese tastes like crumbly life mistakes, and I still feel like gnocchi is like if pasta decided to be an oral adhesive for Halloween. But I can tell you exactly why I love Peli’s work:

1. **It’s cool.** Okay don’t fact-check this, but I’m pretty sure that putting ideas from completely different worlds together to make something new is basically the definition of cool.

2. **OMG I LOVE ANALOGIES!!!**

something else and this is how you can trap me forever.

The practice of using one scenario to understand a completely unrelated scenario, mapping framework to framework, brings me pure joy. And if you can actually produce new knowledge as a result?

I’m going to be way explicit with the analogies because you can’t tell me how to live my life.

3. **I’ve got a thing for vibes.**

This is personal to me. I love things. Not stuff, not junk, and not consumerism. But I love things. Objects. The set of items loved by someone. The set of things that make someone irrationally angry. The shoes and jackets and books you absolutely will not be parting with. I love how a table setting can tell you about a person’s priorities. Or how walking down a narrow street on a rainy day might instantly remind you of Paris. Of course, it’s not really the objects I love. It’s the words I imbue them with. I have a long and complicated relationship with words or, really, with meaning. I taught myself to read in or by pre-school, but I was always “bad at reading comprehension.” I excelled at French and Italian grammar but never became fluent in them. Growing up, the patterns of doing math basically fell into my brain effortlessly, but when I showed up unprepared at graduate school, I found that there was something profound and seemingly unidentifiable that I was missing. I would have the requisite knowledge, and I’d have the accurate definitions, but there would be no meaning.

When Peli talks about the vibe of a work of literature, he’s talking about that (real world) meaning that is extra from the things in the work itself. And the interesting thing about autoencoders is how they turn a set of inputs into a system of meaning that is better (more efficiently computed) than the initial data-set. This, of course, is not going to make me fluent in French or math, but these ideas are just very dear to my heart. (Also, when somebody asks me why I don’t like such-and-such-book-whose-content-I-am-obviously-interested-in I can confidently report “Sorry, I’m a vibe-snob, and this just doesn’t cut it for me.” That was something I have desperately needed, as anyone who knows what kind of books I do read will attest to.)

My plan here is to explain *my* understanding of Peli’s work which is going to be different from the work itself because I am a weirdo. His dissertation was split into three parts, and that’s what I’ll do: **Autoencoding**, **Things**, **Meaning**.

**Relevant writings of Peli Grietzer**

Theory of Vibe: a recent article in Glass Bead (a good summary of everything)

Deep Learning, Literature, and Aesthetic Meaning, With Applications to Modernist Studies: Précis of May ’17 HUJI Einstein Institute of Mathematics talk (a lecture aimed at math people)

From ‘A Literary Theorist’s Guide to Autoencoding’ (an excerpt from the first chapter of his PhD thesis, introducing autoencoders)

Ambient Meaning: Mood, Vibe, System (the Phd thesis)

Box o’ Numbers

is a matrix. It could be the matrix of the row vectors and . It could be the matrix of the column vectors and . It could be the matrix of the coefficients of the left-hand side of the linear equation . We can say is an element of the set of 2×2 matrices, or an element of the set of invertible linear transformations from the plane to itself.

Initially, I wanted to motivate all that is The Matrix, but that turned out to be a super huge ordeal that I decided was ultimately not worth it.

**Vectors revisited**

Okay, so last time we saw that vectors were arrows, but I didn’t say how to write them down. If you understand what the coordinate (1,2) is, then replace the ( ) with and you’ve got the vector which starts at the origin and ends at the point (1, 2). Since a vector is just the arrow, not attached to any particular location, you can move it around (without changing length or direction) and still call it the same thing, so could also be the vector that starts at (1, 1) and goes up 1 and over 2 to the point (2, 3).

**Canoes and Waterfalls**

Given two vectors **u** and **v**, there’s this thing called the dot product that you can do. You can’t just multiply vectors together (our intuition of multiplying numbers together sort of fails us when we’re dealing with numbers that have direction), but there are two natural(ish) sorts of products you can do. If and , then , and we get the nice property that the length of **u** is .

Since we can write any vector in the plane as a column vector , this gives us a first hint at how we might multiply boxes of numbers together. If **u** and **v** are two column vectors, then is defined to be , where is the row vector obtained by taking the “transpose” of **u**.

How I picture the dot product operation is by seeing the row vector as a canoe and the column vector as a waterfall. Seriously. You multiply the entries that line up and then add those products together.

We can extend this to matrix multiplication by viewing the left-hand matrix as a box of canoes (rows) and the right-hand matrix as a box of waterfalls (columns). If R and C are matrices such that RC makes sense, then the entry of the resulting product matrix which is in the *i*th row and *j*th column is the dot product of the *i*th canoe with the *j*th waterfall:

For matrix multiplication to work, the length of the canoes must equal the length of the waterfalls, in which case the product will have the same number of canoes as your canoe matrix and the same number of waterfalls as your waterfall matrix. We also have that matrix multiplication does not “commute,” which is to say that in general for two matrices *A* and *B*, . If you consider matrix multiplication “on the left,” which is to say that “*A* acts on *B*” in the product *AB*, then we have that the rows of *A* act on the **rows** of *B* (meaning that each row in the product is just a linear combination of the rows in *B*). On the other hand if you consider the product *AB* to be *B* acting on *A* “on the right,” then we have that the columns of *B* act on the **columns** of *A*.

**About that dot product**

Now that we see that matrix multiplication can fill our world with dot products, let’s say a bit more about what the dot product gives us. For two vectors **u** and **v**, it turns out that , where |vector| means its length, and is the angle between the two vectors. (From here we can confirm what I said earlier about being its length squared (since the angle between a vector and itself is 0 and the cosine of 0 is 1).) So what? This means that our product of canoes and waterfalls above is actually a bunch of lengths and angles:

where is the angle between and .

So, remember early on I said we could turn a column vector into a row vector by taking its “transpose”? Let’s look at this now for matrices. The transpose of a matrix *R* is the matrix whose *i*th column is the *i*th row of *R*:

And you might ask yourself what happens when you multiply a matrix by its transpose.

This is the **Gram matrix** of the vectors and and it encodes the lengths of the vectors and all the angles between them. Uhhhhh, hold that thought.

**Matrix groups!**

Okay, so we have boxes of numbers and we have a way to multiply two matrices together. This means we might be able to form a “group.” In math, a group is a set *G* equipped with an operation such that operating on any two elements in the set keeps you in the set, there is an identity element *e* such that for all *g* in *G*, and every element *g* has an inverse such that . If that seems super random and abstract, you can think of , the set of non-zero rational numbers (fractions, including (non-zero) integers, which are just secret fractions) with respect to multiplication. The identity is 1, and every element of is invertible (take the reciprocal).

I’m just going to stick to 2×2 matrices, but aside from explicit formulas, nothing I say is dependent on the size of the matrix. That it needs to be “square” (same number of rows as columns) will become clear.

Given two 2×2 matrices, we know how to multiply them together and we saw that we would get a 2×2 matrix back. Now we need an identity element. You can find the identity by setting up two arbitrary matrices

Now we need to find the inverse of an arbitrary 2×2 matrix . First, let’s define a new matrix . Now find and .

(Please.)

You should get that which we also can write as . This means that whenever , we have that and thus all matrices *A* for which are invertible. Furthermore, if * ad-bc = 0 *, then we’ve found a non-zero matrix *B* such that *AB*=0. If *A* is in fact invertible, then we get that which implies that *B*=0, but we already said *B* was non-zero, therefore *A* cannot be invertible.

So, no the set of 2×2 matrices is not a group, but the set of 2×2 invertible matrices is. When the allowable entries are real numbers, we call this group . And *ad-bc* is the **determinant** of *A* written det(*A*).

(To see why an invertible matrix must be square, remember what we said about the number of rows and columns in the product matrix and the fact that has to equal .)

**Lattice as a box o’ numbers**

Back to lattices! For any 2-dimensional lattice *L*in the plane, pick two basis vectors **u** and **v** (which determine the fundamental parallelogram) and put them as rows of a 2×2 matrix: .

Fun fact! The (absolute value of the) determinant of gives the area of the fundamental parallelogram!

**Two examples**

I grabbed two images from the previous post. They aren’t labeled, but I’ve assumed that one basis vector is length 1 on the positive *x*-axis.

This lattice could be represented by , and the area of its fundamental parallelogram is 1.

This lattice, on the other hand, could be represented by , and the area of its fundamental parallelogram is .

Last time, we mentioned that certain actions don’t affect the shape. Namely, change of basis, scaling, and rotating and/or reflecting. Let’s now see how we can represent these actions in terms of matrix multiplication.

**Change of basis.** What does it mean for **u** and **v** to be a basis for a lattice *L*? It means that *L* is the set of all linear combinations of **u** and **v**. So and notice that the whole plane is the set of *x***u**+*y***v** where *x* and *y* are real numbers. The first thing we could do to a lattice that doesn’t change its shape is do absolutely nothing to the lattice. When we pick a new basis for a lattice, we aren’t touching the lattice at all, though we do end up with a different matrix representation for it. Picking a new basis means we take two new (“linearly independent”) vectors from our lattice and use those as a basis instead. That means that these new basis elements have to be integer linear combinations of our old basis elements. Now, since we put our original basis vectors as the rows of our matrix , what we want is an action that takes integer linear combinations of the rows. To get this we act on the left by a matrix with integer entries.

So far, so good. The condition that our new vectors be linearly independent (in two dimensions, this is just that one is not a scalar multiple of the other) means that we must act by an invertible matrix (because the new basis elements are linearly dependent if, and only if, the area of the fundamental parallelogram (which will just be a line) is zero). Okay, so take an element *g* of with integer entries. Then represents a sublattice of *L* (a subset of *L* which is itself a lattice). If also has integer entries (i.e., *g* is an element of , the set of 2×2 matrices invertible “over the integers”), then represents a sublattice of . If two lattices are sublattices of each other (or if two sets are subsets of each other) then they are actually equal to each other. Thus, acting on the left by is how we get a change of basis.

**Scaling.** To see how we can scale our lattice using matrices let’s start with the the square lattice whose points are all points (*m*, *n*) where *m* and *n* are integers. This lattice is generated by the vectors and , and so we can define its matrix representation as . Scaling this lattice by 2 means forming the lattice generated by and , and we have that . In general, scaling a matrix by , by which I mean the shape preserving scaling of each generator by , is acting by , and we say this is acting by .

**Rotations and Reflections.** Let *O* be an element of such that . This means that the Gram matrix of the rows of *O* is the identity. In other words the rows are orthogonal to each other (thus the cosine of the angle between them is 0) and they are all of length 1 (and the same is true of the columns). Such matrices form the orthogonal group which we write as . We want to see that acting on the right by such a matrix is just a rotation or reflection of our lattice. When two lattices differ only by rotations and/or reflections, it means that vector lengths and angles are preserved. In other words, the Gram matrix of the basis vectors is preserved, and in fact if two lattices have the same Gram matrix they can only differ by a product of rotations and reflections.

To see the relationship between Gram matrices and the orthogonal group, let and be two lattices such that their matrix representations differ by an orthogonal matrix acting on the right: . Then we have that meaning that lattices that differ by the orthogonal group acting on the right have the same Gram matrix. (If you’re wondering why two lattices that have the same Gram matrix necessarily differ only by an element of the orthogonal group, I’m told that you should look into Cholesky decomposition.)

**Shapes revisited**

Last time, we saw the shape of a two-dimensional lattice as a point in the plane. For any given lattice *L*, we rotated, reflected, scaled, and changed basis until we had that one generator was and the other generator was a point in a specific fundamental domain. Equivalently, we could start with , and act on the left by and on the right by until we get a matrix whose rows are and **v** where **v** lies in the fundamental domain (its *x* coordinate is between 0 and 1/2, and its length is at least 1). That gives you a representative shape matrix.

On the other hand, the Semi-Super* Mathy way to define shape is to use “double cosets.” Which is to say that the shape of the lattice is the set of all lattices with the same shape. Or, in terms of matrices, we can define which is the set of all matrices which represent *L*. It is this perspective that allows us to define the **space of shapes** of two-dimensional lattices to be . (And people familiar with such things can look at this and say “Ah, that space has finite volume!”)

*The actual Super Mathy way to define shape is something something quadratic form, but I have never enjoyed that view.

Alternatively, you could look at the Gram matrix of the lattice instead of its shape matrix.

AND MAYBE NEXT TIME I’LL KNOW WHY YOU WOULD DO THAT…

]]>I am a mathematician, and a pure mathematician at that. I am a black woman who studies the structures of abstractified numbers. And why do I do this? Because it’s effing interesting to me and blessedly someone is willing to pay me for it. Mostly white dudes.

So here I am, thinking about things that don’t exist, for the sheer joy of it, and getting paid, and talking to others about how we can get more marginalized people to have access to this wonderful world of logic-driven make-believe, when my friend sends me this:

Although derided by many white and white-affiliated critics as trivial and naive, discussions of appropriation and representation go to the heart of the question of how we might seek to live in a reparative mode, with humility, clarity, humour and hope, given the barbaric realities of racial and gendered violence on which our lives are founded. I see no more important foundational consideration for art than this question, which otherwise dissolves into empty formalism or irony, into a pastime or a therapy.

I applaud this paragraph in the context in which it was written, as pushback against racist art. Furthermore, I completely support any non-white person who says that the most important questions in art revolve around freeing us from the psychological terror that is whiteness.

Yet, if I allow myself to take in this paragraph as an attempt at some bigger truth, not just a weapon against racism, I do take exception to its final words.

I see no more important foundational consideration for art than this question [of how we might seek to live in a reparative mode… given the barbaric realities of racial and gendered violence on which our lives are founded],

which otherwise dissolves into empty formalism or irony, into a pastime or a therapy.

While I grant and support the author’s opinion, of course, I can’t agree that the most important foundational consideration for art is anything that presumes white supremacy. And in fact, if we’re not in a battle over racist art, if we’re merely putting forth our ideas of the world, I would not even agree that there is “a” most important foundational consideration for art.

Admittedly I’m a big fan of the idea that in times of war (i.e. oppression), certain “nice” considerations must be set aside (like respectability and white dudes’ feelings). In that vein, it makes sense for marginalized people to decide for themselves that they are definitely not interested in questions that don’t address their own liberation. But I don’t consider it a moral imperative. I do believe that dominant people are morally obligated to dismantle their privileges, but let’s not pretend that “what questions we seek to answer” are the only domains of privilege. A white pure mathematician has plenty of room to unpack and dismantle without switching over into social justice driven applied math, for instance.

I’m not an artist! I’m not in the humanities. I do, however, enjoy thinking. I am a black woman who enjoys thinking, and I don’t appreciate being told that I may only ponder questions that start with my own oppression. If you deny me my passions, if you take away from me that which is simply pleasing, you have not liberated me. Many things must slide in times of war, but not all things. Not pure ideas, not pleasing harmonies, not sentences so delicately crafted you accidentally hold your breath as you read them.

Yes, there is a lot of work to be done. We must stop teaching racist points of view, and we must definitely ask the questions of “how we might seek to live in a reparative mode” in light of the oppressive forces that try to erase us. Just don’t tell me those are the only questions I am allowed to think about.

Don’t tell me that my interests are “empty” “pastime” or “therapy.”

We should be striving for a world without white supremacy, but in a world without white supremacy there are still questions about art, and questions about number theory. White people don’t get to own abstraction and formalism.

White people have taken so much already. Don’t let them take ideas, too.

I sent my friend the following riff, in defense of non-racist aesthetic pursuits. It could not replace the original in its original context, but I would like to add it to the universe:

Although derided by many justice-minded scholars as trivial and naive, discussions of aesthetics, when not weaponized against discussions of appropriation and representation, go to the heart of the question of how we might seek to thrive as beings whose needs will always go beyond the basic necessities. Given the devastating realities of racial, gendered, and capitalistic violence on which our lives are founded, we absolutely must be committed to pursuits of justice and reparation. Yet, I take no pride in seeking a liberation which abandons the heart and soul, and I would not trust anyone who forces that choice upon me.

]]>I will tell you about her, but only with the understanding that you will not hold her against me. I am offering you this portrait as a gift, that is all.

I built this woman out of love, out of my own love for my future children, out of all the hopes I had for them, out of the promises I would offer them, out of my readiness to impart life lessons and good health.

To start, tiredness is not a core character trait. Presumably she tires at the end of a long day, and in the newborn days she may even be tired most of the time, but it never becomes a part of who she is. She is always herself, no matter what.

Her life’s energy is made of love and warmth and generosity and patience. She looks at her babies with compassion. She weathers their storms. She understands how hard babyhood, toddlerhood, childhood are. Her tone of voice is never affected by her children’s tantrums.

She wakes up early. She cooks breakfast. This does not take up all of her energy.

She creates perfect environments for her children, encouraging them to play independently, but joining in when they like. She smiles and laughs. She is not bored. She is present. She does not wish she were somewhere else anywhere else. She does not need her smartphone or a book to keep her from rushing them along.

The mother I wanted to be relishes time at home with her children, of course, but she is also an extrovert who takes on the outside world as any good adventurer might. She is a proud pusher of strollers, juggler of societal pressures, navigator of in-store tantrums, dole-out-er of The Parenting In Public voice. She does not accumulate a list of places she can no longer bring herself to suggest to her kids. She does not have anxiety.

She plays with her children outside every day, because she knows how important that is. Her children run, and chase, and explore. They dig, they climb, feel the sun and the rain on their skin and in their hair. She is not overwhelmed at the prospect of getting two children dressed at the same time, she is committed to an easily implementable Sunblock Routine, and she has a Healthy Snack Plan she can count on. The sun does not make her tired. Running does not make her sleepy. Bugs and dirt and yesterday’s puddles do not make her uncomfortable. Other people’s children do not make her nervous.

She manages to feed herself before irritability sets in. This may be her greatest feat.

She rose to the challenge of having a second child. She became more. She became more than one person. She divides her comforts effortlessly, offering immediate physical comfort to the baby while focusing her conscious attention and emotional support on the toddler. As the baby grew up she was able to negotiate competing needs without feeling like she was being ripped apart. When they talk to her at the same time, she patiently assesses urgency and responds in kind. She does not want to yell. She does not lose patience simply because she is being asked to do the impossible. She understands they have no choice but to ask. She understands the joys of siblings and does not feel like she is failing both children because she can never truly meet their needs. She doesn’t worry that she can’t even pretend to guarantee to protect them both.

She speaks French to her husband, and mixes languages with her children.

Her home is the perfect balance of Order and DIsorder. There is enough disorder to say We Love Life and We Value Childhood and We Recognize The Importance Of Having Ex-Things For Children To Discover And Repurpose And Destroy. And yet it is not a burden. The disorder is contained and accessible.

She is not afraid to have people over. She is not afraid of birthday parties.

She is love. She is bigger than life. She is pure. Her weight doesn’t change. Her posture is excellent. She is an ocean of patience. She is a mountain of stability. She doesn’t mind standing up even when she just sat down. She thinks that if one time is fun, one hundred times in a row is still fun. She parents through the night and still gets enough sleep. She is happiness.

She doesn’t judge me, of course. It’s not in her nature.

But her children. They must be so happy.

]]>I don’t mean to say that I was aware at every step how unhappy I was with a society that centered white cis men, just that it took a lot of sacrifice, and left me feeling less than fully human.

It was a journey coming out of that. A journey that led to my PhD thesis and this blog. A journey that I describe in a talk I’ve given in various universities around the country. In my thesis, here in my personal blog, and in my talk, I give voice to all those thoughts and feelings I was never allowed to express. When you’re marginalized and someone hurts your feelings, it’s very possible that they A) didn’t mean to B) had no idea it was hurtful C) have been taught explicitly that it is okay and D) will get offended if you tell them otherwise.

In all of my non-math writings (and some of my math writings), my goal is to express myself and in doing that, to give voice to all of those people who are not saying what they feel or are not feeling what they actually feel because there is so much pressure not to.

But I don’t speak for everyone, or really anyone. I speak only for myself. My life has been unique. Yet when I talk about my own pain, I am always surprised by how much it resonates across boundaries.

The talk that I give about my journey to “liberation” is always well-received and always produces a lot of conversation afterwards. People thank me for saying out loud things they thought only they went through. People open up about situations they’ve been in and where they’ve been let down by academia. It’s really quite wonderful. And then someone will ask me, “What can white men do to make things better?” And I will look at this person who seems genuinely interested, but ultimately human, and I wonder what can this person do? I am not a solutions person. I am a naming of the unnamed person. But I feel obligated to say something useful, so I will search my mind for some kind of practical advice, and then I’ll open it up to other suggestions from the audience. This always works well, but is ultimately unsatisfying for me, because practical things that white people can do will not set me free. White supremacy is pretty adaptable; taking easy and practical steps to increase diversity is not in itself dismantling privilege, and often privilege will find a way to prevail. As important as progress and practical solutions are, what I want to talk about is ending oppression. What I want to do is upset the status quo.

So one day I sat down and thought, what is my real, completely impractical, unfeasible, non-starter answer to what white men can do? It’s they can get out the way; they can quit. Not just increase the number of seats I have at the table, but actually leave the table all together.

Why bother advising the impossible? To get people to think. I expected people to understand I offered no practical solutions, but to challenge themselves to reevaluate their current practices.

On a more plausible and yet ultimately unrealistic level, I also suggested we stop hiring white cis men, and I asked people evaluate their knee-jerk negative reaction to such a call. Why? Because if you’re comfortable with only hiring men (as long as they’re “the best”) but you can’t fathom hiring only women, that is a problem.

Who is my audience anyway? Generally speaking, when I write it is for and about myself. By extension, I am writing for and about all those people who feel the way I do. These people are disproportionately marginalized and othered members or affiliates of academia, but it’s definitely not only marginalized people and it’s definitely not all marginalized people. When I am writing something “thought-provoking” I am aiming at academics who consider themselves to be advocates for marginalized people. I expected people to understand that I am just saying my opinions on the internet with no power, and to understand I don’t speak for the AMS.

Since it needs to be said, I will say it. Yes, I want all of us to consider whether we are entitled to what we have (probably not) — that includes myself and my husband. No, I don’t want us all to be jobless. We are all people with needs, but we all need to be vigilant against an oppressive dominant culture.

Since it needs to be said, I will say it. I do not represent anyone but myself. I have the opportunity to blog for the AMS because I give voice to things that aren’t said in academia regarding inclusion and exclusion, which was one of the goals of the blog.

Anyone interested in practical initiatives should subscribe to the AMS blog “inclusion/exclusion,” which covers a wide variety of topics related to marginalized and underrepresented groups in mathematics.

]]>Every time I respond to “how are you?” with anything other than screaming, I feel guilty. Complicit.

But how can I scream? How can I ruin everyone’s day? How can I ruin my family and my life? You can’t keep your job while reacting rationally to the world around you, unless you identify with the protected elite. The rest of us have to choose between social order and social justice.

Order is winning.

**It’s morning in America, and Barack Obama was wrong.**

I have expressed and repressed a large number of feelings since Election Day. I am scared of a Trump presidency, but if liberation is my aim, I should not have been satisfied with a Clinton presidency. The machine of death that is the United States of America should never be satisfying to anyone who supports the people. Still, I am scared of a Trump presidency. There will be domestic violations that could have been avoided. There will be violence that could have been avoided. There will be families put in harm’s way that could have been relatively safe, or at least hopeful for the future.

But that’s not what keeps me on edge.

What keeps me on edge is the miraculous capacity humans have not to scream when they ought to.

Was there ever a day during slavery when black people did not deserve to scream? You think there has been a day since? Was there ever a day, after Europeans arrived, when native people did not deserve to scream? You think there has been a day since?

We tend to throw out words like oppressed and marginalized as though you should be able to have theoretical, emotionally detached conversations about those who ought scream but don’t. As though being marginalized is mostly okay but just annoying, you know, statistically. As though it’s not worth saving a life if the technique can’t be applied broadly and mindlessly to All Conceivable Situations. Who told these people that abstraction was the highest form of thought? Who told these people that context was vulgar? Who told these people it was acceptable to take our current state of oppression as a given? Who told these people that it was pro-justice to do nothing because the options seem too risky to those not already at risk?

Marginalized people deserve to scream, to cry, to break things, to escape however they choose. I’m not talking about what is or is not a good idea. I’m not talking about what is legal or healthy. I’m saying that when you are pushed and pushed and pushed and pushed, your mind and body change, your needs change, you may cease to act “reasonably.” This is a human reaction and it is something we normally empathize with. We respond more compassionately to the child who hits the bully back than to the child who is the bully (though perhaps all people deserve compassion!). Yet we have no compassion for the reactions of the marginalized when we are the ones doing the pushing.

The human spirit is resilient; that’s what they say. It’s certainly true, but is it a good thing? **The human spirit can endure great pain, but sometimes that endurance is seen as a sign that the pain isn’t there.** The human spirit is capable of not screaming when it ought, if screaming would be counter-productive. But sometimes the absence of those screams is taken for complacency and complicity. The non-screaming oppressed have already made a Huge Compromise, do not ask for more. Do not take that as a starting point. Remember, we’re not really free to scream, are we?

Progress is the softening of that which keeps us from screaming. Progress does not change the fundamental need to scream.

———-

The election of Donald Trump was a declaration of civil war from modern white supremacist people who felt war had already been declared on them. We need to **scream**. We need to **obstruct**. We need to **fight**. We need to **resist**. We should feel no obligation to “compromise” where we have already compromised.

What has me on edge is the human spirit, is Clinton’s concession, Obama’s call for a peaceful transition, The Huffington Post’s self-censorship, talk of “waiting and seeing” of “giving him a chance,” the seeming correlation between wanting justice and wanting to be indiscriminately fair.

There are always so many distinct paths to inaction. When I was preparing for a Clinton presidency, I worried that people would be so satisfied, they would fail to push for more. I was worried about complacency. Now that we’re facing a Trump presidency, I’m worried that people will get burned out feeling like they can’t possibly do enough.

I have read good posts on what we should do now. The list includes writing Congress, supporting responsible media, donating to organizations which fight for the marginalized, educating oneself on how we got here, and keeping safe spaces. These are all good things, but they are also things we should have already been doing, things we should have done if Clinton had won, and things that simply don’t feel up to the task.

Many people think one vote doesn’t matter, how do we convince them one dollar does? How do we keep people motivated to make seemingly small efforts and to keep it up over time, if we can’t prove it’s “working”?

What has me on edge is the scenario where you have oppressed people unable to risk screaming, you have pro-justice dominant people fretting over logical and moral consistency, you have regular liberals feeling like there is nothing they can do, and you have Trump’s America establishing its “greatness” all over our rights.

For a while now, people have talked about staying woke. Well, woke don’t matter if you don’t act. We need to stay more than woke.

If we want justice, we must stop being reasonable. We must throw out all our notions of the right way to do things. (Academics, purge your belief in meritocracy.) **This is an emergency**.

**Do not negotiate with racists. Do not negotiate with bigots. Do not compromise on justice.**

Stay woke.

Stay unreasonable.

Stay screaming.

Many of us have been informally enrolled in at least one Ally Education course. Maybe it was a Facebook group. Maybe it was questioning your Token Marginalized Friend. We have been wrestling with the failings of our good intentions. We have asked and answered questions on cultural appropriation and default pronouns. We have pushed buttons; we have hurt feelings; we have gotten our feelings hurt.

The best way to learn, they say, is through one-on-one interactions, through conversation, through feedback.

The premise of Ally Education is that society trains each of us to be an oppressor, and this can only be undone with hard work. We are trained to be ignorant, and to feel deserving of unearned privilege. For most of us, our standard education and consumption of popular culture leaves us unable to truly value and honor the humanity of marginalized groups. Our society leaves us feeling insecure, so that we can’t risk being wrong and giving up a privilege that maybe was truly ours. Ally Education, then, is the purported antidote. It is supposed to bring us out of our oppressive views, to show us the impact of our innocence. We learn that our words do matter; we learn that our clothes do matter; we learn how we alienate others by not knowing their stories and their struggles. It is said (not by me) that we *need* allies, that waking people up is necessary to fight oppression. And so we justify the endless exhaustion of precious human resources.

**Those days are over.**

Maybe you didn’t see it on the syllabus, but the United States had a pretty major exam on November 8th, and guess what. We failed. The exam was fairly simple. Stop a racist, xenophobic, homophobic, misogynist, transphobic, Islamaphobic, egotistical demagogue from being elected President. It was simple, yet we didn’t know it would be so hard.

Maybe it wasn’t clear on the syllabus, but this was actually the Final Exam. **The election of Donald Trump, open bigot, to the presidency means that your Ally Education class is now over.** There were no A’s. There was no curve. There will be no pats on the back for being 88th percentile anti-racist in a country that has just become even less safe for people of color. There will be no pats on the back for being 90th percentile LGBTQ+ ally in a country that may be on the verge of stripping that community of their rights and (re)validating inhumane notions of gender and sexuality.

This is how education works. You take a class, you learn relatively little, and then the class ends. Maybe you still have questions. Maybe you didn’t like the grade you got. Doesn’t matter. You will just have to work it out on your own. Learn on the job.

On January 20, 2017, we will graduate into the real world where it will be open season on basic human rights. Marginalized people of all walks of life will be wondering how long until their continued existence here is deemed “illegal.” They officially have better things to do than educate allies.

If we are truly allies, now is the time for us to work.

As it turns out, we don’t actually need to understand everything. All around you, you will find people faking some aspect of their job. Most learning comes from experience, not formal education. From now on, if you want to know “Is this oppressive?” just go ahead and assume the answer is yes. Remember, a white person who decides everything they do is racist, is still better off than if they were a person of color. From now on, if a marginalized person tells you their truth, just shut up and accept it. We should not hold our support hostage while we wait for marginalized people to prove things to our satisfaction. It was never okay, but now that class is over, there is no excuse.

The only question you should be worrying about is: What can I do to protect all of us from a Trump executive branch, from a Republican controlled Congress, and from the emboldened racists and bigots who require the open oppression of marginalized people in order to truly feel safe and at home?

**Get to work.**

So I thought it would be nice to give a quick intro to what it means for lattices to have shapes and for those shapes to live in a space of shapes.

**What is a lattice?**

Looking at the picture, I see “repeated pattern” and that repetition is easier to see if you have vectors in a vector space.

In other words, a 2-dimensional lattice is “generated” by two (“linearly independent”) vectors (here linear independence means not on the same line).

**What is the shape of a lattice?**

If you take your generating vectors and add them together in what I’ll call the natural way, you get a fundamental region. In two dimensions, your two vectors give you a parallelogram.

How many different types of parallelograms are there? Square, rectangle, and rhombus come to mind, along with general parallelogram. We will also give a special name to the rhombus made from two equilateral triangles.

parallelogram
| u|≠|v|, θ≠90° |

**Example** If I tell you **u** is the vector from (0,0) to (1,1) and **v** is the vector from (0,0) to (-1,0), what is the shape of the lattice generated by **u** and **v**?

(space for thinking)

(really, you should be drawing)

Unfortunately, drawing the parallelogram **u** and **v** determine isn’t actually the full story. You need all the dots!

We have seen that if we start with dots, we can visually see the shape by choosing the most obvious generating (basis) vectors and drawing the parallelogram they determine. We have seen that if we start with a basis, the parallelogram they determine may not obviously give the shape of the lattice they determine. And so far, we have only used words to describe shape.

If we want to study something called “shapes of lattices,” we need to be able to see shape not just as an element of a set of words, but hopefully as a point in space.

**Space of shapes**

Two lattices have the same shape if they differ only by scaling, rotating, and reflecting. And if you’ve already picked a basis of generating vectors, changing the basis means keeping the same dots but generating them differently, so this does nothing to the shape of the **lattice**. As we saw above, though, changing basis may change what kind of parallelogram your basis vectors determine. Part of finding a space of shapes, then, will be figuring out how to chose the right basis so that the generating vectors determine the parallelogram that is the same shape as the lattice. Or else, how to account for the fact that our basis might have been the wrong choice.

In two dimensions we can take what we know about which actions don’t change the shape and explicitly use this to determine a “fundamental domain” for these actions on our lattices. For any given basis, **u** and **v**, we can scale, rotate and reflect them until we have that one of the generating vectors (let’s say **u**, and maybe that required a change of basis) is the unit vector on the x-axis. The shape, then, of a two-dimensional lattice can be described in terms of the end point of **v**.

Space of shapes of 2-d lattices:

With the normalized **u**, there is only one way to have a square, thus “square” is represented by (0,1). For **v** ending on the y-axis with y>1, you get all possible non-square rectangles (do you believe that?). The curvy border gets you shapes where |**u**|=|**v**|=1 and 60° < θ < 90° which are certainly rhombi. The point at 60° is hexagonal. Everything in the middle has |**u**| ≠ |**v**| and θ ≠ 90°, so just parallelogram. Why does **v** ending on the line x = 1/2 with y > 1/2 give the other possible rhombi? (Draw the dots!)

]]>

(Image Description: A person with short hair juggles balls and poorly drawn bowling pins. Additional balls are shot from machines labeled “Teaching” and “Broader Impact” while additional bowling pins are dropped down from a person hanging from a trapeze labeled “Research.” Two people are taking money from the juggler’s pockets; they are labeled “Invite to Conference” and “Childcare.” Two chairs are set up in the audience labeled “NSF” and “Academic Jobs” and the occupants are thinking “Hmm… she doesn’t *look* like a mathematician…” There is a big sign in the top right corner which reads “Women of Color High Stakes Academic Circus Extravaganza” and beneath this is a sign that says “Rules: Drop Anything and Confirm Everyone’s Lowest Expectations!” The juggler looks… frazzled.)

Note: this juggling act is not reserved only for women of color.

]]>