Running out of Algebraic Symbols

Running out of symbols is a fairly common scenario, and it is usually caused by assigning symbols too early without due consideration to the amount of work yet to come. As such, the main thing to do is to

Restructure

Think about the entire set of symbols you're using.

  • For which ones is the specific symbol in use crucial for the clarity of the text? There will usually be a core of symbols that you really don't want to reassign, but this is probably smaller than you think. Earmark those symbols for these concepts, and disregard other occurrences (even if they happen earlier in the text).

  • Keep this core small. Use variations on the symbols (upper/lower case, primes, subscripts) to fit as many variations of the concepts into the key symbols.

  • Serialize. If you have some sequence of objects which you initially called a, b, c, d, ..., use an appropriate subscript or parenthesis notation to collapse them into a single symbol. Over-expansive naming of sequences of this sort is probably the number-one reason for running out of symbols in the first place.

The other thing you should do is

Encapsulate

It is perfectly OK to have the same symbol appear twice, with different meanings, in the same extended piece of work, as long as there is no confusion between them. This is particularly easy to do if the symbols appear, for example, inside the proof of a theorem. Thus, if at some point you use the symbol x in a context like

Proof. Let x be ... ... ... . ▮

then it is probably OK to re-use the same symbol in a similar encapsulated environment, as long as (i) you clearly define the symbol on its first appearance in each environment, and (ii) you don't (excessively) reference the symbol once you're outside of the encapsulated environments.

Similarly, it is usually OK to reuse symbols in different chapters as long as the topic of the two chapters is sufficiently different compared to the similarity of the symbols and the amount of weight you put into the choice of symbol. This is a very common practice: look at any linear algebra textbook and you'll see the symbol v used a number of times, to refer to vectors that are not necessarily compatible. The techniques they use to avoid confusion are forms of encapsulation.

From the phrasing of your question, it seems that this is partly the problem with your supervisor. One way to go about this is to step up the encapsulation, either by being more clear with the text, by introducing formal environments, or even using graphical means like boxes around examples to make it clear that the symbol choice is local to that environment.

If all else fails

Some amount of creativity is OK

This includes things like multi-letter symbols for important context, though you should be careful with how you typeset them (usually in upright script). However, you should avoid using letters from non-standard alphabets, as they will only further the confusion: few of your readers will know how to pronounce them (which then extends into how they internally vocalize them while reading, and makes it harder for your readers to discuss the paper with each other), and it makes it harder for others to adapt and extend your notation.


First of all, consider using indices for related objects. E.g., in your example:

Take two vectors X_1 and X_2 with lengths m_1 and m_2 respectively.

(I use _ to indicate a subscript as in TeX).

On a related note, you can employ boldface and italics to distinguish among the symbols for different objects.

Also, as you are in computer science and probably use some flavor of TeX or LaTeX for writing your thesis you can use nonstandard alphabets and symbols it permits (see e.g. this list or this one).

Second, in the unlikely case the above advice does not completely solve your problem, you fairly safely can redefine the meaning of a symbol once you begin a new chapter (assuming that your average chapter is more than just a few pages).

Third, as a truly last resort, you can use nonstandard alphabets like Hebrew or Cyrillic.


A symbol used before can certainly be reused, in particular when it's meant to represent something very generic. For example, a length n on page 15 and a length n on page 21 may both refer to an arbitrary length, without any implied or otherwise statement that both lengths are the same.

The issue in your case is: Your supervisor doesn't like this.

There are, however, ways around this. A common way is to distinguish your symbols by subscript texts:

  • For generic symbols, you can use running indices, e.g. n1, n2, etc.
  • Alternatively, as that might mean quite high (and arbitrary-seeming) numbers in later pages (x34 = y198 * z12 might look a bit weird), you can add something specific to the chapter, the formula, or the figure (whatever the maximum scope of the symbols is supposed to be), and just a running number within that context. This would mean that symbols based on n in chapter 3.4 are named something like n3.4,1, n3.4,2, etc.
  • As soon as your symbols are not meant to be entirely generic, but have a certain particular meaning or significance, a good way to name them is to use explicit indices that state the purpose of the symbol. So, you start working with nMethodX-input, nJohnDoesCoefficient and nresult(algorithm1).

Depending on future plans for your text, you may even want to consider preferring such subscripts over any Greek characters or formatting variations (cursive, ...) in the first place, as the subscript variant can be flawlessly transformed/represented in contexts where little or no formatting is available (plain text files, unformatted e-mails, instant messages, hand-written paper or boardwriting, ...), and possibly (depending lastly on how you name your symbols) even with only ASCII characters that can be processed and recognized almost everywhere.