Mathematical Writing - Vivaldi Franco 2014
Choosing Symbols
Writing Well
Choosing mathematical notation is difficult. Mathematicians are notoriously reluctant to accept standardisation of notation, to a degree unknown in other disciplines. Indeed, the ability to adjust quickly to new notation is regarded as one of the skills of the trade. The reality is somewhat different: absorbing new notation requires effort, and most people would gladly avoid it. So if we intend to communicate mathematics without confusing or alienating our audience, the notation must be simple, logical, and consistent.
Two golden rules should inform the use of symbols:
· DO NOT INTRODUCE UNNECESSARY SYMBOLS.
· DEFINE EVERY SYMBOL BEFORE USING IT.
Once defined, a symbol should be used consistently. Never use the same symbol for two different things or two symbols for the same thing, even in instances appearing far apart in the document. Don’t write ’
, for
’ in one place and ’
, for
’ in another, unless there is a good reason to do so. Such small inconsistencies produce some ’notational pollution’. As the pollution piles up, reading becomes tiresome.
In this section we offer guidelines on how to choose symbols. These are not laws, and may be adapted to one’s taste or rejected. What’s important is to develop awareness of notation, and to make conscious decisions about it.
SETS. Represent sets by capital letters, Roman or Greek, such as
![]()
The large variety of fonts available in modern typesetting systems increases our choice. When dealing with generic sets, then
or
are good symbols. For specific sets, choose a symbol that will remind the reader of the nature of the set. So, for an alphabet
, the symbols
are obvious choices; likewise,
is appropriate for a set of functions, etc.
Lower-case symbols like
represent the elements of a set. So
is a good notation,
is bad, and
is very bad. If more than one set is involved, consider using matching symbols. Thus
![]()
is more coherent than
![]()
Some thought may be required for sets of sets. Consider the expressions
![]()
The left expression will be interpreted as the image of the intersection of two sets under a function. In this case
represents a subset of the domain of
. However, suppose that the domain of
is a set of sets (e.g., a power set, see Sect. 2.3). Then the argument of
is a set, and this expression becomes dangerously ambiguous. The notation in the right expression removes this ambiguity. The combination of standard symbols
for variables and a set operator makes it clear that the argument
of the function is an element, rather than a subset, of the domain.
INTEGERS. When choosing a symbol for an integer, begin from the middle region of the Roman alphabet
![]()
(6.1)
particularly if an integer is used as subscript or superscript.2 However, use
for a prime number, and
if there is a prime different from
. The list of adjacent letters (6.1) cannot be extended; the preceding symbols,
, are typical function names (see below), while the symbol that follows,
, is rarely used, not only for its resemblance to 0 (zero), but also because it has an established meaning in asymptotic analysis (it appears in expressions of the form
). A capital letter in the list (6.1) may be used to represent a large integer, or combined with lower-case letters to denote an integer range:
. This combination of symbols is much used in connection with sums and products (Sect. 3.2).
RATIONALS. For rational numbers, use lower-case Roman letters in the ranges
—
, or
—
. The notation
![]()
is good, because ’
’ reminds us of ’rational’, while numerator and denominator conform to the convention for integers. If there is more than one rational, use adjacent symbols,
in this case.
REAL NUMBERS. For real numbers, use the same part of the Roman alphabet as for rationals, or the Greek alphabet:
![]()
If there are both rational and real numbers and if the distinction between them is important, then use Roman for the rationals and Greek for the reals.
Some Greek symbols have preferential meaning: small quantities are usually represented by
, while for angles one uses
. Famous real constants have dedicated symbols:

(6.2)
These constants are typeset with the ’upright’ typeface, to highlight their distinguished status. Upright fonts are known as roman (even for Greek letters), as opposed to italic, which are slanted fonts:
.
COMPLEX NUMBERS. Complex numbers tend to occupy the end of the Roman alphabet, and your first choice should be
or
. On the complex plane, we write
, where
and
are the real and imaginary parts of
, and
is the imaginary unit, again typeset in roman font. (However, number theorists use
, not
.) The standard notation for a complex number in polar coordinates is
, which also combines roman and italic fonts.
UNKNOWNS. The quintessential symbol for an equation’s unknown is
, invariably followed by
and
if there are more unknowns. For a large number of unknowns it is necessary to use sequence notation
. This notation is also appropriate for the indeterminates of a polynomial and for the arguments of a function.
COMPOSITE OBJECTS. Objects which have constituent elements (groups, graphs, matrices) are best represented with capital letters, Roman or Greek. So use
or
for a group or a graph, and
for a matrix. If you have two groups, use adjacent symbols, like
and
. As with sets, for these objects’ components consider using matching symbols, e.g.,
. A notable exception are graphs, where
and
are invariably used for vertices and edges, respectively.
FUNCTIONS. The default choice for a function’s name is, of course,
, and if there is more than one function, use the adjacent symbols
. Lower-case symbols work well with any number of variables:
. But if the co-domain of a function is a cartesian product, then the function is a vector, and capital letters are preferable. So a real function of two variables may be specified as
![]()
Greek symbols, either capital or lower-case, are also commonly used for functions’ names. The contrast between Roman and Greek symbols may be exploited to separate out the symbols’ roles, as in
or
.
Some famous functions are named after, and represented by, a symbol (often a Greek one), thereby creating a strong bond between object and notation. The best known are Euler’s gamma function ![]()

(the extension of the factorial function to complex arguments), and Riemann’s zeta-function 3 ![]()

(6.3)
There is a peculiar notation for this function: its complex argument
is commonly written as
, with
and
real numbers. Other functions with dedicated notation are Euler’s
-function (Eq. 3.8), Dedekind’s
-function, Kroneker’s
-function, Weierstrass’
-function, Lambert’s
-function, etc.
SEQUENCES AND VECTORS. Sequences pose specific notational problems due to the presence of indices. Consider the various possibilities listed in (3.2): which one should we choose? Be guided by the principle of economy: a symbol should be introduced only if it’s strictly necessary. So the notation
is quite adequate for a generic sequence, or if the specific properties of the sequence (the initial value of the index, its finiteness) are not relevant. When more information is needed, the notation
is more economical than
, but the latter may be a better choice if it is to be contrasted with
. In turn, the latter is not as friendly as
, although it is more concise.
If a sequence is referred to often, even the stripped down notation
could become heavy, and it may be advisable to allocate a symbol for the sequence:
![]()
As usual, we have employed matching symbols, using, respectively, a minimalist lower-case Roman character and a lower-case boldface character which is common for vectors. When using ellipses, two or three terms of the sequence usually suffice, but there are circumstances where more terms or a different arrangement of terms is needed.
For example, in the expression
![]()
the insertion of the general term removes any ambiguity, while the ellipsis on the right suggests that the sequence is infinite—cf. (3.1). The notation
![]()
denotes a sub-sequence of a finite sequence obtained by deleting the
-th term, for an unspecified value of
.
Things get complicated with sequences of sequences. This situation is not at all unusual; for instance, we may have a sequence of vectors whose components must be referred to explicitly. We write
![]()
Let
(or
) be the general term of our sequence. How are we to represent its components? As usual, we choose the matching symbol
, with a subscript indicating the component. However, the integer
has to appear somewhere, and its range must be specified. It is advisable to keep
out of the way as much as possible:
![]()
In this expression we have used ellipses to specify the ranges of the indices; we could have used inequalities as well:
![]()
The parentheses are obviously needed for the superscript, for otherwise
would be interpreted as
raised to the
-th power. However, it may just happen that we need to raise the vector components to some power. Clearly we can’t use adjacent superscripts
, so parentheses are needed, but the straightforward notation
is awkward. For a more elegant solution, we represent
as an additional subscript, adopting, in effect, matrix notation:
![]()
As a side note, one should keep in mind that with vectors the multiplication symbols ’
’ and ’
’ are reserved for the scalar and vector products, respectively—cf. (2.10). Hence for scalar multiplication we must use juxtaposition:
![]()
DERIVED SYMBOLS. Closely related objects require closely related notation. Proximity in the alphabet, e.g.,
may be used for this purpose. For a stronger bond, the meaning of a symbol may be modified using subscripts, superscripts and other decorations:
![]()
The derived symbol
is often found in the literature. Many symbols derived from
are in use:
![]()
These sentences illustrate the use of derived symbols:
Let
be a function, and let
be a fixed point of
.
We consider the endpoints
and
of an interval containing
.
Let
be a real function, and let

It must be noted that there is no general agreement on the meaning of decorations. Thus for a set the over-bar denotes the so-called closure—adjoining to a set all its boundary points, see Sect. 5.4.1(the transformation from
to
is essentially a closure operation). However, for complex numbers the over-bar denotes complex conjugation. If
is a function, then
is the derivative of
, but for sets a prime indicates taking the complement.
EXAMPLE. We illustrate notational problems raised by the coexistence of variables and parameters. For a fixed value of
, the bivariate polynomial
![]()
becomes a polynomial in
, and we wish to adopt a notation that reflects the different roles played by the symbols
and
. We replace
with
, to keep it far apart from
in the alphabet, and we rewrite the expression above as
![]()
(6.4)
We now have a one-parameter family of linear polynomials in
. For fixed
, the equation
is the cartesian equation of a line, so we also have a one-parameter family of lines in the plane. Plotting some of these lines reveals a hidden structure: they form the envelope of a parabola (Fig. 6.1). Likewise, if we fix
we obtain a one-parameter family of quadratic polynomials
.

Fig. 6.1
The one-parameter family of lines
, where
is given by (6.4). These lines are tangent to the parabola ![]()