The Numerical Recipes books cover a range of topics that include both classical numerical analysis (interpolation, integration, linear algebra, differential equations, and so on), signal processing (Fourier methods, filtering), statistical treatment of data, and a few topics in machine learning (hidden Markov model, support vector machines).
The writing style is accessible and has an informal tone. The
emphasis is on understanding the underlying basics of techniques, not on
the refinements that may, in practice, be needed to achieve optimal
performance and reliability. Few results are proved with any degree of
rigor, although the ideas behind proofs are often sketched, and
references are given. Importantly, virtually all methods that are
discussed are also implemented in a programming language, with the code printed in the book. Each version is keyed to a specific language.
According to the publisher, Cambridge University Press, the Numerical Recipes books are historically the all-time best-selling books on scientific programming methods. In recent years, Numerical Recipes books have been cited in the scientific literature more than 3000 times per year according to ISI Web of Knowledge (e.g., 3962 times in the year 2008). And as of the end of 2017, the book had over 44000 citations on Google Scholar.
History
The
first publication was in 1986 with the title,”Numerical Recipes, The Art
of Scientific Computing”, containing code in both Fortran and Pascal;
an accompanying book, “Numerical Recipes Example Book (Pascal)” was
first published in 1985. (A preface note in “Examples" mentions that the
main book was also published in 1985, but the official note in that
book says 1986.) Supplemental editions followed with code in Pascal,
BASIC, and C. Numerical Recipes took, from the start, an
opinionated editorial position at odds with the conventional wisdom of
the numerical analysis community:
If there is a single dominant theme
in this book, it is that practical methods of numerical computation can
be simultaneously efficient, clever, and — important — clear. The
alternative viewpoint, that efficient computational methods must
necessarily be so arcane and complex as to be useful only in "black box"
form, we firmly reject.
However, as it turned out, the 1980s were fertile years for the "black box" side, yielding important libraries such as BLAS and LAPACK, and integrated environments like MATLAB and Mathematica. By the early 1990s, when Second Edition versions of Numerical Recipes (with code in C, Fortran-77, and Fortran-90) were published, it was clear that the constituency for Numerical Recipes was by no means the majority of scientists doing computation, but only that slice that lived between
the more mathematical numerical analysts and the larger community using
integrated environments. The Second Edition versions occupied a stable
role in this niche environment.
By the mid-2000s, the practice of scientific computing had been
radically altered by the mature Internet and Web. Recognizing that their
Numerical Recipes books were increasingly valued more for their
explanatory text than for their code examples, the authors significantly
expanded the scope of the book, and significantly rewrote a large part
of the text. They continued to include code, still printed in the book,
now in C++, for every method discussed. The Third Edition was also released as an electronic book,
eventually made available on the Web for free (with nags) or by paid or
institutional subscription (with faster, full access and no nags).
In 2015 Numerical Recipes sold its historic two-letter domain name nr.com and became numerical.recipes instead.
Reception
Content
Numerical
Recipes is a single volume that covers very broad range of algorithms.
Unfortunately that format skewed the choice of algorithms towards
simpler and shorter early algorithms which were not as accurate,
efficient or stable as later more complex algorithms.
The first edition had also some minor bugs, which were fixed in later
editions; however according to the authors for years they were
encountering on the internet rumors that Numerical Recipes is "full of bugs".
They attributed this to people using outdated versions of the code,
bugs in other parts of the code and misuse of routines which require
some understanding to use correctly.
The rebuttal does not, however, cover criticisms regarding lack
of mentions to code limitations, boundary conditions, and more modern
algorithms, another theme in Snyder's comment compilation. A precision issue in Bessel functions has persisted to the third edition according to Pavel Holoborodko.
Despite criticism by numerical analysts, engineers and scientists generally find the book conveniently broad in scope. Norman Gray concurs in the following quote:
Numerical Recipes [nr] does not claim to be a numerical
analysis textbook, and it makes a point of noting that its authors are
(astro-)physicists and engineers rather than analysts, and so share the
motivations and impatience of the book's intended audience. The declared
premise of the NR authors is that you will come to grief one way or the
other if you use numerical routines you do not understand. They attempt
to give you enough mathematical detail that you understand the routines
they present, in enough depth that you can diagnose problems when they
occur, and make more sophisticated choices about replacements when the
NR routines run out of steam. Problems will occur because [...]
License
The code listings are copyrighted and commercially licensed by the Numerical Recipes authors. A license to use the code is given with the purchase of a book, but the terms of use are highly restrictive.
For example, programmers need to make sure NR code cannot be extracted
from their finished programs and used – a difficult requirement with
dubious enforceability.
However, Numerical Recipes does include the following statement regarding copyrights on computer programs:
Copyright
does not protect ideas, but only the expression of those ideas in a
particular form. In the case of a computer program, the ideas consist of
the program's methodology and algorithm, including the necessary
sequence of steps adopted by the programmer. The expression of those
ideas is the program source code... If you
analyze the ideas contained in a program, and then express those ideas
in your own completely different implementation, then that new program
implementation belongs to you.
One early motivation for the GNU Scientific Library was that a free library was needed as a substitute for Numerical Recipes.
Style
Another
line of criticism centers on the coding style of the books, which strike
some modern readers as "Fortran-ish", though written in contemporary,
object-oriented C++.
The authors have defended their very terse coding style as necessary to
the format of the book because of space limitations and for
readability.
Titles in the series (partial list)
The books differ by edition (1st, 2nd, and 3rd) and by the computer language in which the code is given.
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics).
It is the study of numerical methods that attempt at finding
approximate solutions of problems rather than the exact ones. Numerical
analysis finds application in all fields of engineering and the physical
sciences, and in the 21st century also the life and social sciences,
medicine, business and even the arts. Current growth in computing power
has enabled the use of more complex numerical analysis, providing
detailed and realistic mathematical models in science and engineering.
Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics (predicting the motions of planets, stars and galaxies), numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.
Before modern computers, numerical methods often relied on hand interpolation
formulas, using data from large printed tables. Since the mid 20th
century, computers calculate the required functions instead, but many of
the same formulas continue to be used in software algorithms.
Numerical analysis continues this long tradition: rather than
giving exact symbolic answers translated into digits and applicable only
to real-world measurements, approximate solutions within specified
error bounds are used.
General introduction
The
overall goal of the field of numerical analysis is the design and
analysis of techniques to give approximate but accurate solutions to
hard problems, the variety of which is suggested by the following:
Computing the trajectory of a spacecraft requires the accurate
numerical solution of a system of ordinary differential equations.
Car companies can improve the crash safety of their vehicles by
using computer simulations of car crashes. Such simulations essentially
consist of solving partial differential equations numerically.
Hedge funds (private investment funds) use quantitative finance tools from numerical analysis to attempt to calculate the value of stocks and derivatives more precisely than other market participants.
Airlines use sophisticated optimization algorithms to decide ticket
prices, airplane and crew assignments and fuel needs. Historically, such
algorithms were developed within the overlapping field of operations research.
Insurance companies use numerical programs for actuarial analysis.
The rest of this section outlines several important themes of numerical analysis.
History
The field of numerical analysis predates the invention of modern computers by many centuries. Linear interpolation was already in use more than 2000 years ago. Many great mathematicians of the past were preoccupied by numerical analysis, as is obvious from the names of important algorithms like Newton's method, Lagrange interpolation polynomial, Gaussian elimination, or Euler's method. The origins of modern numerical analysis are often linked to a 1947 paper by John von Neumann and Herman Goldstine,
but others consider modern numerical analysis to go back to work by E. T. Whittaker in 1912.
To facilitate computations by hand, large books were produced
with formulas and tables of data such as interpolation points and
function coefficients. Using these tables, often calculated out to 16
decimal places or more for some functions, one could look up values to
plug into the formulas given and achieve very good numerical estimates
of some functions. The canonical work in the field is the NIST publication edited by Abramowitz and Stegun,
a 1000-plus page book of a very large number of commonly used formulas
and functions and their values at many points. The function values are
no longer very useful when a computer is available, but the large
listing of formulas can still be very handy.
The mechanical calculator
was also developed as a tool for hand computation. These calculators
evolved into electronic computers in the 1940s, and it was then found
that these computers were also useful for administrative purposes. But
the invention of the computer also influenced the field of numerical
analysis, since now longer and more complicated calculations could be done.
For the iterative method, apply the bisection method to f(x) = 3x3 − 24. The initial values are a = 0, b = 3, f(a) = −24, f(b) = 57.
Iterative method
a
b
mid
f(mid)
0
3
1.5
−13.875
1.5
3
2.25
10.17...
1.5
2.25
1.875
−4.22...
1.875
2.25
2.0625
2.32...
From this table it can be concluded that the solution is between
1.875 and 2.0625. The algorithm might return any number in that range
with an error less than 0.2.
Discretization and numerical integration
In a two-hour race, the speed of the car is measured at three instants and recorded in the following table.
Time
0:20
1:00
1:40
km/h
140
150
180
A discretization would be to say that the speed of the car was
constant from 0:00 to 0:40, then from 0:40 to 1:20 and finally from
1:20 to 2:00. For instance, the total distance traveled in the first 40
minutes is approximately (2/3 h × 140 km/h) = 93.3 km. This would allow us to estimate the total distance traveled as 93.3 km + 100 km + 120 km = 313.3 km, which is an example of numerical integration (see below) using a Riemann sum, because displacement is the integral of velocity.
Ill-conditioned problem: Take the function f(x) = 1/(x − 1). Note that f(1.1) = 10 and f(1.001) = 1000: a change in x of less than 0.1 turns into a change in f(x) of nearly 1000. Evaluating f(x) near x = 1 is an ill-conditioned problem.
Well-conditioned problem: By contrast, evaluating the same function f(x) = 1/(x − 1) near x = 10 is a well-conditioned problem. For instance, f(10) = 1/9 ≈ 0.111 and f(11) = 0.1: a modest change in x leads to a modest change in f(x).
In contrast to direct methods, iterative methods
are not expected to terminate in a finite number of steps. Starting
from an initial guess, iterative methods form successive approximations
that converge to the exact solution only in the limit. A convergence test, often involving the residual,
is specified in order to decide when a sufficiently accurate solution
has (hopefully) been found. Even using infinite precision arithmetic
these methods would not reach the solution within a finite number of
steps (in general). Examples include Newton's method, the bisection method, and Jacobi iteration. In computational matrix algebra, iterative methods are generally needed for large problems.
Iterative methods are more common than direct methods in
numerical analysis. Some methods are direct in principle but are usually
used as though they were not, e.g. GMRES and the conjugate gradient method.
For these methods the number of steps needed to obtain the exact
solution is so large that an approximation is accepted in the same
manner as for an iterative method.
Discretization
Furthermore,
continuous problems must sometimes be replaced by a discrete problem
whose solution is known to approximate that of the continuous problem;
this process is called 'discretization'. For example, the solution of a differential equation is a function.
This function must be represented by a finite amount of data, for
instance by its value at a finite number of points at its domain, even
though this domain is a continuum.
Generation and propagation of errors
The
study of errors forms an important part of numerical analysis. There
are several ways in which error can be introduced in the solution of the
problem.
Truncation errors
are committed when an iterative method is terminated or a mathematical
procedure is approximated and the approximate solution differs from the
exact solution. Similarly, discretization induces a discretization error
because the solution of the discrete problem does not coincide with the
solution of the continuous problem. In the example above to compute the
solution of , after ten iterations, the calculated root is roughly 1.99. Therefore, the truncation error is roughly 0.01.
Once an error is generated, it propagates through the
calculation. For example, the operation + on a computer is inexact. A
calculation of the type is even more inexact.
A truncation error is created when a mathematical procedure is
approximated. To integrate a function exactly, an infinite sum of
regions must be found, but numerically only a finite sum of regions can
be found, and hence the approximation of the exact solution. Similarly,
to differentiate a function, the differential element approaches zero,
but numerically only a nonzero value of the differential element can be
chosen.
Numerical stability and well-posed problems
Numerical stability
is a notion in numerical analysis. An algorithm is called 'numerically
stable' if an error, whatever its cause, does not grow to be much larger
during the calculation. This happens if the problem is 'well-conditioned', meaning that the solution changes by only a small amount if the problem data are changed by a small amount. To the contrary, if a problem is 'ill-conditioned', then any small error in the data will grow to be a large error.
Both the original problem and the algorithm used to solve that
problem can be 'well-conditioned' or 'ill-conditioned', and any
combination is possible.
So an algorithm that solves a well-conditioned problem may be
either numerically stable or numerically unstable. An art of numerical
analysis is to find a stable algorithm for solving a well-posed
mathematical problem. For instance, computing the square root of 2
(which is roughly 1.41421) is a well-posed problem. Many algorithms
solve this problem by starting with an initial approximation x0 to , for instance x0 = 1.4, and then computing improved guesses x1, x2, etc. One such method is the famous Babylonian method, which is given by xk+1 = xk/2 + 1/xk. Another method, called 'method X', is given by xk+1 = (xk2 − 2)2 + xk. A few iterations of each scheme are calculated in table form below, with initial guesses x0 = 1.4 and x0 = 1.42.
Babylonian
Babylonian
Method X
Method X
x0 = 1.4
x0 = 1.42
x0 = 1.4
x0 = 1.42
x1 = 1.4142857...
x1 = 1.41422535...
x1 = 1.4016
x1 = 1.42026896
x2 = 1.414213564...
x2 = 1.41421356242...
x2 = 1.4028614...
x2 = 1.42056...
...
...
x1000000 = 1.41421...
x27 = 7280.2284...
Observe that the Babylonian method converges quickly regardless of
the initial guess, whereas Method X converges extremely slowly with
initial guess x0 = 1.4 and diverges for initial guess x0 = 1.42. Hence, the Babylonian method is numerically stable, while Method X is numerically unstable.
Numerical stability is affected by the number of the
significant digits the machine keeps. If a machine is used that keeps
only the four most significant decimal digits, a good example on loss of
significance can be given by the two equivalent functions
and
Comparing the results of
and
by comparing the two results above, it is clear that loss of significance (caused here by catastrophic cancellation from subtracting approximations to the nearby numbers and ,
despite the subtraction being computed exactly) has a huge effect on
the results, even though both functions are equivalent, as shown below
The desired value, computed using infinite precision, is 11.174755...
The example is a modification of one taken from Mathew; Numerical methods using MATLAB, 3rd ed.
Areas of study
The field of numerical analysis includes many sub-disciplines. Some of the major ones are:
Computing values of functions
Interpolation: Observing that the temperature varies from 20 degrees
Celsius at 1:00 to 14 degrees at 3:00, a linear interpolation of this
data would conclude that it was 17 degrees at 2:00 and 18.5 degrees at
1:30pm.
Extrapolation: If the gross domestic product
of a country has been growing an average of 5% per year and was 100
billion last year, it might extrapolated that it will be 105 billion
this year.
Regression: In linear regression, given n points, a line is computed that passes as close as possible to those n points.
Optimization: Suppose lemonade is sold at a lemonade stand,
at $1.00 per glass, that 197 glasses of lemonade can be sold per day,
and that for each increase of $0.01, one less glass of lemonade will be
sold per day. If $1.485 could be charged, profit would be maximized, but
due to the constraint of having to charge a whole-cent amount, charging
$1.48 or $1.49 per glass will both yield the maximum income of $220.52
per day.
Differential equation: If 100 fans are set up to blow air from one
end of the room to the other and then a feather is dropped into the
wind, what happens? The feather will follow the air currents, which may
be very complex. One approximation is to measure the speed at which the
air is blowing near the feather every second, and advance the simulated
feather as if it were moving in a straight line at that same speed for
one second, before measuring the wind speed again. This is called the Euler method for solving an ordinary differential equation.
One of the simplest problems is the evaluation of a function at a
given point. The most straightforward approach, of just plugging in the
number in the formula is sometimes not very efficient. For polynomials, a
better approach is using the Horner scheme, since it reduces the necessary number of multiplications and additions. Generally, it is important to estimate and control round-off errors arising from the use of floating-point arithmetic.
Interpolation, extrapolation, and regression
Interpolation
solves the following problem: given the value of some unknown function
at a number of points, what value does that function have at some other
point between the given points?
Extrapolation
is very similar to interpolation, except that now the value of the
unknown function at a point which is outside the given points must be
found.
Regression
is also similar, but it takes into account that the data are imprecise.
Given some points, and a measurement of the value of some function at
these points (with an error), the unknown function can be found. The least squares-method is one way to achieve this.
Solving equations and systems of equations
Another
fundamental problem is computing the solution of some given equation.
Two cases are commonly distinguished, depending on whether the equation
is linear or not. For instance, the equation is linear while is not.
Root-finding algorithms
are used to solve nonlinear equations (they are so named since a root
of a function is an argument for which the function yields zero). If the
function is differentiable and the derivative is known, then Newton's method is a popular choice. Linearization is another technique for solving nonlinear equations.
Optimization problems ask for the point at which a given function is
maximized (or minimized). Often, the point also has to satisfy some constraints.
The field of optimization is further split in several subfields, depending on the form of the objective function and the constraint. For instance, linear programming
deals with the case that both the objective function and the
constraints are linear. A famous method in linear programming is the
simplex method.
The method of Lagrange multipliers can be used to reduce optimization problems with constraints to unconstrained optimization problems.
Numerical integration, in some instances also known as numerical quadrature, asks for the value of a definite integral. Popular methods use one of the Newton–Cotes formulas (like the midpoint rule or Simpson's rule) or Gaussian quadrature.
These methods rely on a "divide and conquer" strategy, whereby an
integral on a relatively large set is broken down into integrals on
smaller sets. In higher dimensions, where these methods become
prohibitively expensive in terms of computational effort, one may use Monte Carlo or quasi-Monte Carlo methods (see Monte Carlo integration), or, in modestly large dimensions, the method of sparse grids.
Numerical analysis is also concerned with computing (in an
approximate way) the solution of differential equations, both ordinary
differential equations and partial differential equations.
Partial differential equations are solved by first discretizing the equation, bringing it into a finite-dimensional subspace. This can be done by a finite element method, a finite difference method, or (particularly in engineering) a finite volume method. The theoretical justification of these methods often involves theorems from functional analysis. This reduces the problem to the solution of an algebraic equation.
Since the late twentieth century, most algorithms are implemented in a variety of programming languages. The Netlib repository contains various collections of software routines for numerical problems, mostly in Fortran and C. Commercial products implementing many different numerical algorithms include the IMSL and NAG libraries; a free-software alternative is the GNU Scientific Library.
There are several popular numerical computing applications such as MATLAB, TK Solver, S-PLUS, and IDL as well as free and open source alternatives such as FreeMat, Scilab, GNU Octave (similar to Matlab), and IT++ (a C++ library). There are also programming languages such as R (similar to S-PLUS), Julia, and Python with libraries such as NumPy, SciPy and SymPy.
Performance varies widely: while vector and matrix operations are
usually fast, scalar loops may vary in speed by more than an order of
magnitude.
Also, any spreadsheetsoftware can be used to solve simple problems relating to numerical analysis.
Excel, for example, has hundreds of available functions, including for matrices, which may be used in conjunction with its built in "solver".
Representation theory is a branch of mathematics that studies abstractalgebraic structures by representing their elements as linear transformations of vector spaces, and studies modules over these abstract algebraic structures. In essence, a representation makes an abstract algebraic object more concrete by describing its elements by matrices and their algebraic operations (for example, matrix addition, matrix multiplication).
The theory of matrices and linear operators is well-understood, so
representations of more abstract objects in terms of familiar linear
algebra objects helps glean properties and sometimes simplify
calculations on more abstract theories.
The algebraic objects amenable to such a description include groups, associative algebras and Lie algebras. The most prominent of these (and historically the first) is the representation theory of groups, in which elements of a group are represented by invertible matrices such that the group operation is matrix multiplication.
Representation theory is a useful method because it reduces problems in abstract algebra to problems in linear algebra, a subject that is well understood. For instance, representing a group by an infinite-dimensional Hilbert space allows methods of analysis to be applied to the theory of groups.Furthermore, representation theory is important in physics because it can describe how the symmetry group of a physical system affects the solutions of equations describing that system.
Representation theory is pervasive across fields of mathematics. The applications of representation theory are diverse. In addition to its impact on algebra, representation theory
The success of representation theory has led to numerous generalizations. One of the most general is in category theory.
The algebraic objects to which representation theory applies can be
viewed as particular kinds of categories, and the representations as functors from the object category to the category of vector spaces.
This description points to two obvious generalizations: first, the
algebraic objects can be replaced by more general categories; second,
the target category of vector spaces can be replaced by other
well-understood categories.
Definitions and concepts
Let V be a vector space over a fieldF. For instance, suppose V is Rn or Cn, the standard n-dimensional space of column vectors over the real or complex numbers, respectively. In this case, the idea of representation theory is to do abstract algebra concretely by using n × nmatrices of real or complex numbers.
This generalizes to any field F and any vector space V over F, with linear maps replacing matrices and composition replacing matrix multiplication: there is a group GL(V,F) of automorphisms of V, an associative algebra EndF(V) of all endomorphisms of V, and a corresponding Lie algebra gl(V,F).
There are two ways to define a representation. The first uses the idea of an action, generalizing the way that matrices act on column vectors by matrix multiplication.
A representation of a groupG or (associative or Lie) algebra A on a vector space V is a map
with two properties.
For any g in G (or a in A), the map
is linear (over F).
If we introduce the notation g · v for (g, v), then for any g1, g2 in G and v in V:
where e is the identity element of G and g1g2 is the group product in G.
The definition for associative algebras is analogous, except that
associative algebras do not always have an identity element, in which
case equation (2.1) is omitted. Equation (2.2) is an abstract expression
of the associativity of matrix multiplication. This doesn't hold for
the matrix commutator and also there is no identity element for the
commutator. Hence for Lie algebras, the only requirement is that for any
x1, x2 in A and v in V:
where [x1, x2] is the Lie bracket, which generalizes the matrix commutator MN − NM.
Mapping
The second way to define a representation focuses on the map φ sending g in G to a linear map φ(g): V → V, which satisfies
and similarly in the other cases. This approach is both more concise and more abstract.
From this point of view:
a representation of a group G on a vector space V is a group homomorphismφ: G → GL(V,F);
a representation of an associative algebra A on a vector space V is an algebra homomorphismφ: A → EndF(V);
a representation of a Lie algebra 𝖆 on a vector space V is a Lie algebra homomorphismφ: 𝖆 → gl(V,F).
Terminology
The vector space V is called the representation space of φ and its dimension (if finite) is called the dimension of the representation (sometimes degree, as in ). It is also common practice to refer to V itself as the representation when the homomorphism φ is clear from the context; otherwise the notation (V,φ) can be used to denote a representation.
When V is of finite dimension n, one can choose a basis for V to identify V with Fn, and hence recover a matrix representation with entries in the field F.
If V and W are vector spaces over F, equipped with representations φ and ψ of a group G, then an equivariant map from V to W is a linear map α: V → W such that
for all g in G and v in V. In terms of φ: G → GL(V) and ψ: G → GL(W), this means
Equivariant maps for representations of an associative or Lie algebra are defined similarly. If α is invertible, then it is said to be an isomorphism, in which case V and W (or, more precisely, φ and ψ) are isomorphic representations, also phrased as equivalent representations. An equivariant map is often called an intertwining map of representations. Also, in the case of a group G, it is on occasion called a G-map.
Isomorphic representations are, for practical purposes, "the
same"; they provide the same information about the group or algebra
being represented. Representation theory therefore seeks to classify
representations up to isomorphism.
Subrepresentations, quotients, and irreducible representations
If is a representation of (say) a group , and is a linear subspace of that is preserved by the action of in the sense that for all and , (Serre calls these stable under), then is called a subrepresentation: by defining
where is the restriction of to , is a representation of and the inclusion of is an equivariant map. The quotient space can also be made into a representation of . If has exactly two subrepresentations, namely the trivial subspace {0} and itself, then the representation is said to be irreducible; if has a proper nontrivial subrepresentation, the representation is said to be reducible.
The definition of an irreducible representation implies Schur's lemma: an equivariant map
between irreducible representations is either the zero map or an isomorphism, since its kernel and image are subrepresentations. In particular, when , this shows that the equivariant endomorphisms of form an associative division algebra over the underlying field F. If F is algebraically closed, the only equivariant endomorphisms of an irreducible representation are the scalar multiples of the identity.
Irreducible representations are the building blocks of representation theory for many groups: if a representation
is not irreducible then it is built from a subrepresentation and a
quotient that are both "simpler" in some sense; for instance, if
is finite-dimensional, then both the subrepresentation and the quotient
have smaller dimension. There are counterexamples where a
representation has a subrepresentation, but only has one non-trivial
irreducible component. For example, the additive group has a two dimensional representation
This group has the vector fixed by this homomorphism, but the complement subspace maps to
giving only one irreducible subrepresentation. This is true for all unipotent groups.
If (V,φ) and (W,ψ) are representations of (say) a group G, then the direct sum of V and W is a representation, in a canonical way, via the equation
The direct sum of two representations carries no more information about the group G
than the two representations do individually. If a representation is
the direct sum of two proper nontrivial subrepresentations, it is said
to be decomposable. Otherwise, it is said to be indecomposable.
Complete reducibility
In
favorable circumstances, every finite-dimensional representation is a
direct sum of irreducible representations: such representations are said
to be semisimple. In this case, it suffices to understand only the irreducible representations. Examples where this "complete reducibility" phenomenon occur include finite groups (see Maschke's theorem), compact groups, and semisimple Lie algebras.
In cases where complete reducibility does not hold, one must
understand how indecomposable representations can be built from
irreducible representations as extensions of a quotient by a
subrepresentation.
Suppose and are representations of a group . Then we can form a representation of G acting on the tensor product vector space as follows:
.
If and are representations of a Lie algebra, then the correct formula to use is
.
This product can be recognized as the coproduct on a coalgebra. In general, the tensor product of irreducible representations is not irreducible; the process of decomposing a tensor product as a direct sum of irreducible representations is known as Clebsch–Gordan theory.
In the case of the representation theory of the group SU(2) (or equivalently, of its complexified Lie algebra ), the decomposition is easy to work out. The irreducible representations are labeled by a parameter that is a non-negative integer or half integer; the representation then has dimension . Suppose we take the tensor product of the representation of two representations, with labels and where we assume . Then the tensor product decomposes as a direct sum of one copy of each representation with label , where ranges from to in increments of 1. If, for example, , then the values of that occur are 0, 1, and 2. Thus, the tensor product representation of dimension decomposes as a direct sum of a 1-dimensional representation a 3-dimensional representation and a 5-dimensional representation .
Representation theory is notable for the number of branches it has,
and the diversity of the approaches to studying representations of
groups and algebras. Although, all the theories have in common the basic
concepts discussed already, they differ considerably in detail. The
differences are at least 3-fold:
Representation theory depends upon the type of algebraic object
being represented. There are several different classes of groups,
associative algebras and Lie algebras, and their representation theories
all have an individual flavour.
Representation theory depends upon the nature of the vector space on
which the algebraic object is represented. The most important
distinction is between finite-dimensional
representations and infinite-dimensional ones. In the
infinite-dimensional case, additional structures are important (for
example, whether or not the space is a Hilbert space, Banach space, etc.). Additional algebraic structures can also be imposed in the finite-dimensional case.
Representation theory depends upon the type of field over which the vector space is defined. The most important cases are the field of complex numbers, the field of real numbers, finite fields, and fields of p-adic numbers. Additional difficulties arise for fields of positive characteristic and for fields that are not algebraically closed.
Group representations are a very important tool in the study of finite groups. They also arise in the applications of finite group theory to geometry and crystallography.
Representations of finite groups exhibit many of the features of the
general theory and point the way to other branches and topics in
representation theory.
Over a field of characteristic zero, the representation of a finite group G has a number of convenient properties. First, the representations of G are semisimple (completely reducible). This is a consequence of Maschke's theorem, which states that any subrepresentation V of a G-representation W has a G-invariant complement. One proof is to choose any projectionπ from W to V and replace it by its average πG defined by
πG is equivariant, and its kernel is the required complement.
The finite-dimensional G-representations can be understood using character theory: the character of a representation φ: G → GL(V) is the class function χφ: G → F defined by
where is the trace. An irreducible representation of G is completely determined by its character.
Averaging techniques also show that if F is the real or complex numbers, then any G-representation preserves an inner product on V in the sense that
for all g in G and v, w in W. Hence any G-representation is unitary.
Unitary representations are automatically semisimple, since Maschke's result can be proven by taking the orthogonal complement
of a subrepresentation. When studying representations of groups that
are not finite, the unitary representations provide a good
generalization of the real and complex representations of a finite
group.
Results such as Maschke's theorem and the unitary property that
rely on averaging can be generalized to more general groups by replacing
the average with an integral, provided that a suitable notion of
integral can be defined. This can be done for compact topological groups (including compact Lie groups), using Haar measure, and the resulting theory is known as abstract harmonic analysis.
Over arbitrary fields, another class of finite groups that have a good representation theory are the finite groups of Lie type. Important examples are linear algebraic groups over finite fields. The representation theory of linear algebraic groups and Lie groups extends these examples to infinite-dimensional groups, the latter being intimately related to Lie algebra representations. The importance of character theory for finite groups has an analogue in the theory of weights for representations of Lie groups and Lie algebras.
Representations of a finite group G are also linked directly to algebra representations via the group algebraF[G], which is a vector space over F with the elements of G
as a basis, equipped with the multiplication operation defined by the
group operation, linearity, and the requirement that the group operation
and scalar multiplication commute.
Modular representations of a finite group G are representations over a field whose characteristic is not coprime to |G|, so that Maschke's theorem no longer holds (because |G| is not invertible in F and so one cannot divide by it). Nevertheless, Richard Brauer
extended much of character theory to modular representations, and this
theory played an important role in early progress towards the classification of finite simple groups, especially for simple groups whose characterization was not amenable to purely group-theoretic methods because their Sylow 2-subgroups were "too small".
A unitary representation of a group G is a linear representation φ of G on a real or (usually) complex Hilbert spaceV such that φ(g) is a unitary operator for every g ∈ G. Such representations have been widely applied in quantum mechanics since the 1920s, thanks in particular to the influence of Hermann Weyl, and this has inspired the development of the theory, most notably through the analysis of representations of the Poincaré group by Eugene Wigner. One of the pioneers in constructing a general theory of unitary representations (for any group G rather than just for particular groups useful in applications) was George Mackey, and an extensive theory was developed by Harish-Chandra and others in the 1950s and 1960s.
A major goal is to describe the "unitary dual", the space of irreducible unitary representations of G. The theory is most well-developed in the case that G is a locally compact (Hausdorff) topological group and the representations are strongly continuous. For G abelian, the unitary dual is just the space of characters, while for G compact, the Peter–Weyl theorem shows that the irreducible unitary representations are finite-dimensional and the unitary dual is discrete. For example, if G is the circle group S1, then the characters are given by integers, and the unitary dual is Z.
For non-compact G, the question of which representations
are unitary is a subtle one. Although irreducible unitary
representations must be "admissible" (as Harish-Chandra modules) and it is easy to detect which admissible representations have a nondegenerate invariant sesquilinear form,
it is hard to determine when this form is positive definite. An
effective description of the unitary dual, even for relatively
well-behaved groups such as real reductiveLie groups
(discussed below), remains an important open problem in representation
theory. It has been solved for many particular groups, such as SL(2,R) and the Lorentz group.
The duality between the circle group S1 and the integers Z, or more generally, between a torus Tn and Zn is well known in analysis as the theory of Fourier series, and the Fourier transform similarly expresses the fact that the space of characters on a real vector space is the dual vector space. Thus unitary representation theory and harmonic analysis are intimately related, and abstract harmonic analysis exploits this relationship, by developing the analysis of functions on locally compact topological groups and related spaces.
Another approach involves considering all unitary representations, not just the irreducible ones. These form a category, and Tannaka–Krein duality provides a way to recover a compact group from its category of unitary representations.
If the group is neither abelian nor compact, no general theory is
known with an analogue of the Plancherel theorem or Fourier inversion,
although Alexander Grothendieck extended Tannaka–Krein duality to a relationship between linear algebraic groups and tannakian categories.
Harmonic analysis has also been extended from the analysis of functions on a group G to functions on homogeneous spaces for G. The theory is particularly well developed for symmetric spaces and provides a theory of automorphic forms (discussed below).
A Lie group is a group that is also a smooth manifold. Many classical groups of matrices over the real or complex numbers are Lie groups.
Many of the groups important in physics and chemistry are Lie groups,
and their representation theory is crucial to the application of group
theory in those fields.
The representation theory of Lie groups can be developed first by
considering the compact groups, to which results of compact
representation theory apply. This theory can be extended to finite-dimensional representations of semisimple Lie groups using Weyl's unitary trick: each semisimple real Lie group G has a complexification, which is a complex Lie group Gc, and this complex Lie group has a maximal compact subgroup K. The finite-dimensional representations of G closely correspond to those of K.
A general Lie group is a semidirect product of a solvable Lie group and a semisimple Lie group (the Levi decomposition).
The classification of representations of solvable Lie groups is
intractable in general, but often easy in practical cases.
Representations of semidirect products can then be analysed by means of
general results called Mackey theory, which is a generalization of the methods used in Wigner's classification of representations of the Poincaré group.
A Lie algebra over a field F is a vector space over F equipped with a skew-symmetricbilinear operation called the Lie bracket, which satisfies the Jacobi identity. Lie algebras arise in particular as tangent spaces to Lie groups at the identity element, leading to their interpretation as "infinitesimal symmetries".
An important approach to the representation theory of Lie groups is to
study the corresponding representation theory of Lie algebras, but
representations of Lie algebras also have an intrinsic interest.
Lie algebras, like Lie groups, have a Levi decomposition into
semisimple and solvable parts, with the representation theory of
solvable Lie algebras being intractable in general. In contrast, the
finite-dimensional representations of semisimple Lie algebras are
completely understood, after work of Élie Cartan. A representation of a semisimple Lie algebra 𝖌 is analysed by choosing a Cartan subalgebra,
which is essentially a generic maximal subalgebra 𝖍 of 𝖌 on which the
Lie bracket is zero ("abelian"). The representation of 𝖌 can be
decomposed into weight spaces that are eigenspaces
for the action of 𝖍 and the infinitesimal analogue of characters. The
structure of semisimple Lie algebras then reduces the analysis of
representations to easily understood combinatorics of the possible
weights that can occur.
There are many classes of infinite-dimensional Lie algebras whose
representations have been studied. Among these, an important class are
the Kac–Moody algebras. They are named after Victor Kac and Robert Moody, who independently discovered them. These algebras form a generalization of finite-dimensional semisimple Lie algebras,
and share many of their combinatorial properties. This means that they
have a class of representations that can be understood in the same way
as representations of semisimple Lie algebras.
Affine Lie algebras are a special case of Kac–Moody algebras, which have particular importance in mathematics and theoretical physics, especially conformal field theory and the theory of exactly solvable models. Kac discovered an elegant proof of certain combinatorial identities, Macdonald identities, which is based on the representation theory of affine Kac–Moody algebras.
Lie superalgebras are generalizations of Lie algebras in which the underlying vector space has a Z2-grading,
and skew-symmetry and Jacobi identity properties of the Lie bracket are
modified by signs. Their representation theory is similar to the
representation theory of Lie algebras.
Linear algebraic groups (or more generally, affine group schemes) are analogues in algebraic geometry of Lie groups, but over more general fields than just R or C. In particular, over finite fields, they give rise to finite groups of Lie type.
Although linear algebraic groups have a classification that is very
similar to that of Lie groups, their representation theory is rather
different (and much less well understood) and requires different
techniques, since the Zariski topology is relatively weak, and techniques from analysis are no longer available.
Invariant theory studies actions on algebraic varieties
from the point of view of their effect on functions, which form
representations of the group. Classically, the theory dealt with the
question of explicit description of polynomial functions that do not change, or are invariant, under the transformations from a given linear group. The modern approach analyses the decomposition of these representations into irreducibles.
The representation theory of semisimple Lie groups has its roots in invariant theory
and the strong links between representation theory and algebraic
geometry have many parallels in differential geometry, beginning with Felix Klein's Erlangen program and Élie Cartan's connections, which place groups and symmetry at the heart of geometry. Modern developments link representation theory and invariant theory to areas as diverse as holonomy, differential operators and the theory of several complex variables.
Automorphic forms are a generalization of modular forms to more general analytic functions, perhaps of several complex variables, with similar transformation properties. The generalization involves replacing the modular group PSL2 (R) and a chosen congruence subgroup by a semisimple Lie group G and a discrete subgroupΓ. Just as modular forms can be viewed as differential forms on a quotient of the upper half spaceH = PSL2 (R)/SO(2), automorphic forms can be viewed as differential forms (or similar objects) on Γ\G/K, where K is (typically) a maximal compact subgroup of G.
Some care is required, however, as the quotient typically has
singularities. The quotient of a semisimple Lie group by a compact
subgroup is a symmetric space and so the theory of automorphic forms is intimately related to harmonic analysis on symmetric spaces.
Before the development of the general theory, many important special cases were worked out in detail, including the Hilbert modular forms and Siegel modular forms. Important results in the theory include the Selberg trace formula and the realization by Robert Langlands that the Riemann–Roch theorem
could be applied to calculate the dimension of the space of automorphic
forms. The subsequent notion of "automorphic representation" has proved
of great technical value for dealing with the case that G is an algebraic group, treated as an adelic algebraic group. As a result, an entire philosophy, the Langlands program has developed around the relation between representation and number theoretic properties of automorphic forms.
In one sense, associative algebra
representations generalize both representations of groups and Lie
algebras. A representation of a group induces a representation of a
corresponding group ring or group algebra, while representations of a Lie algebra correspond bijectively to representations of its universal enveloping algebra.
However, the representation theory of general associative algebras does
not have all of the nice properties of the representation theory of
groups and Lie algebras.
When considering representations of an associative algebra, one can
forget the underlying field, and simply regard the associative algebra
as a ring, and its representations as modules. This approach is
surprisingly fruitful: many results in representation theory can be
interpreted as special cases of results about modules over a ring.
Hopf algebras
provide a way to improve the representation theory of associative
algebras, while retaining the representation theory of groups and Lie
algebras as special cases. In particular, the tensor product of two
representations is a representation, as is the dual vector space.
The Hopf algebras associated to groups have a commutative algebra structure, and so general Hopf algebras are known as quantum groups,
although this term is often restricted to certain Hopf algebras arising
as deformations of groups or their universal enveloping algebras. The
representation theory of quantum groups has added surprising insights to
the representation theory of Lie groups and Lie algebras, for instance
through the crystal basis of Kashiwara.
A set-theoretic representation (also known as a group action or permutation representation) of a groupG on a setX is given by a functionρ from G to XX, the set of functions from X to X, such that for all g1, g2 in G and all x in X:
This condition and the axioms for a group imply that ρ(g) is a bijection (or permutation) for all g in G. Thus we may equivalently define a permutation representation to be a group homomorphism from G to the symmetric group SX of X.
Every group G can be viewed as a category with a single object; morphisms in this category are just the elements of G. Given an arbitrary category C, a representation of G in C is a functor from G to C. Such a functor selects an object X in C and a group homomorphism from G to Aut(X), the automorphism group of X.
In the case where C is VectF, the category of vector spaces over a field F,
this definition is equivalent to a linear representation. Likewise, a
set-theoretic representation is just a representation of G in the category of sets.
Since groups are categories, one can also consider representation of other categories. The simplest generalization is to monoids,
which are categories with one object. Groups are monoids for which
every morphism is invertible. General monoids have representations in
any category. In the category of sets, these are monoid actions, but monoid representations on vector spaces and other objects can be studied.
More generally, one can relax the assumption that the category
being represented has only one object. In full generality, this is
simply the theory of functors between categories, and little can be said.
One special case has had a significant impact on representation theory, namely the representation theory of quivers. A quiver is simply a directed graph
(with loops and multiple arrows allowed), but it can be made into a
category (and also an algebra) by considering paths in the graph.
Representations of such categories/algebras have illuminated several
aspects of representation theory, for instance by allowing
non-semisimple representation theory questions about a group to be
reduced in some cases to semisimple representation theory questions
about a quiver.