My Research

I now work in two areas:

You can see a list of of my publications, with abstracts.

What is [group] representation theory?

The appropriate answer depends on how much mathematics you already know. Here are three brief answers, in order of increasing sophistication:
  1. [For everyone:] the study of symmetry;
  2. [For science and engineering types:] glorified linear algebra;
  3. [For mathematicians:] the study of how groups act on vector spaces.
By ``symmetry'', I don't just mean the fact that snowflakes, butterflies, and pine cones exhibit various patterns (though this is the starting point for the subject). The term also refers to analogous phenomena that are not always directly tied to physical objects. Symmetries can have more than three (and in fact can have infinitely many) dimensions.

Representation theory is useful in physics, physical chemistry, the study of certain differential equations, group theory, number theory, and elsewhere.

What are p-adic groups?

I strongly believe that if one understands a subject well enough, then one should be able to explain its essence to any intelligent person. Unfortunately, I don't understand this subject well enough, and am not sure that anyone does yet. Thus, this explanation is aimed at math types only. Sorry about that.

The set Q of rational numbers is incomplete, which is a technical way of saying that it contains gaps. But what does it mean to have a gap?

Consider the sequence 1, 1.4, 1.41, 1.414, 1.4142, 1.41421, 1.414213,..., which appears to converge to $ \sqrt{{2}}$ . But $ \sqrt{{2}}$ is not rational, as the Pythagoreans knew, so we have to say that the sequence has no limit in Q . However, the sequence is a Cauchy sequence, which is a technical way of saying that the terms get closer and closer together fast enough that there really ought to be a limit. This is how we detect a gap in Q .

The topological process of completion fills in all of the gaps, and we end up with the real line R .

Notice that our notion of ``gap'' depended on our notion of Cauchy sequence, which in turn depended on our notion of ``distance'' between rational numbers. For example, we implicitly assumed that the distance between 1.414 and 1.4142 is | 1.414 - 1.4142| = .0002 , which is pretty small. This depends on our knowledge of the absolute value function | . | .

However, there is more than one way to define an absolute value function on Q . For example, here's another absolute value function (called the 2 -adic absolute value), denoted | . |2 : Given a nonzero rational number r , we can always write it in the form 2m(a/b) , where a and b are odd, and m is an integer. Then | r|2 = 2-m . We also let | 0|2 = 0 . Thus, the more divisible a number is by 2 , the smaller its 2 -adic absolute value.

If we replace 2 above by any prime number p , we can similarly define a p -adic absolute value | . |p . Fixing a prime p and thus an absolute value | . |p , we obtain a new notion of what it means for a sequence to be Cauchy. Thus, if we complete the space Q with respect to this absolute value, we get a new space. This space, like R , is field. It is called the field of p -adic numbers, and is denoted Qp .

In some ways, Qp resembles R . For example, it is a domain where calculus makes sense. But in other ways, Qp is nothing like R . For example, in Qp , a series converges if and only if its terms converge to zero. Isn't that nice?

A p -adic group is essentially a matrix group, but where the entries of the matrix live in Qp or in one of its finite extensions.

Some of the motivation for studying p -adic groups comes from number theory. For example, the Langlands program, a far-reaching sequence of conjectures in number theory and arithmetic geometry, depends on an understanding of p -adic groups (and much else).

What is discrete optimization?

This is a huge subject, and I am only working in a small part of it. Here are several problems that you might want to solve:

These problems (and many others) can be formulated as mixed-integer programming problems.

Linear (or quadratic) programming problems ask us to maximize (or minimize) a function of many variables over a domain defined by a series of linear equations and inequalities. Good methods exist for solving such problems, even when the variables number in the thousands.

But mixed-integer problems add a further constraint: certain variables can only take on integer values. This is a major complication.

A standard solution method, known as Branch and Bound (BAB), is marvelous in its simplicity. However, it is not guaranteed to terminate in a reasonable amount of time. And if time is short, BAB might fail not only to find an optimal solution, but even to find a non-optimal solution.

I am part of a team that has developed a new method, that we are presently calling NCH, that overcomes some of the limitations of BAB. (The other team members are Tony Sterns, Doug Kline, and Scott Collins. Initial development was funded by the Office of Naval Research, and we are now pursuing further funding from public and private sources.

Because it is difficult and expensive to formulate large, real-world problems, we have so far only been able to test NCH on randomly generated problems. We don't try to find an optimal solution, only a feasible solution (that is, one that satisfies all of the constraints). In practice, the solutions we get are very close to optimal. Here is a scatter plot that compares the performance of NCH and BAB on thousands of problems.

A real keen scatter plot

Impressive, no? And the pattern continues for problems with at least 700 integer and binary variables. Beyond that, I haven't yet checked.

Here's another feature of NCH that should make it attractive for real-world use: In the real world, it's not possible to know all of the parameters of your problem in advance. For example, suppose your computer gives you a near-optimal solution to your logistics problem. According to this solution, Bob the Truck Driver should drive to Duluth tomorrow. However, you (unlike your computer) happen to know that Bob doesn't want to stray too far from home this week. You never formulated this constraint explicitly, because you didn't even think about it until your computer asked you to violate it. So what you really want is for your computer to give you lots of different, near-optimal solutions. Then you can choose one that best fits the criteria that you never formulated explicitly.

We can (and will) re-tool NCH to do this.