The goal of our research is to uncover general principles of representation and computation in neural circuits. Most computations of interest, such as recognizing an object or making a decision, are performed in the presence of high uncertainty. Recent behavioral work in humans and animals has shown that the nervous system handles this uncertainty near optimally, which is to say that the brain represents probability distributions over variables of interest and combine these distributions according to the laws of statistical inference. Our current work focuses on understanding how these inferences are performed at the neuronal level using a type of neural code known as population code. We apply our theory to a variety of domains, including decision making, multisensory integration, number representation, early visual processing and perceptual learning.