# Computation

Computing is central to our methods as we are primarily interested in methods and approaches that are computationally feasible and finite time. Developing a strong computational background and a willingness to learn new techniques in R, MATLAB, C, or other necessary programming languages plays a central role in our research group. All members of the research group learn basic and advanced programming techniques for data analysis as a fundamental part of their education. This education complements, not replaces, the theoretical, methodological, and scientific education.

Defining computing as a major component of Statistical methods may be controversial in some circles. For us it makes perfect sense, as we struggle to solve real scientific questions and the boundaries between approaches and implementation become non-existent. For example, developments in modeling high dimensional structural data, longitudinal imaging studies, or high density sensor data often require: 1) data slicing, sampling and/or streaming; 2) advanced matrix manipulation techniques; and 3) innvovative search and matching techniques. Efficient methods and implementations cannot be developed in the absence of knowledge of such computational techniques. Often the scientific problem raises a host of computational requirements that have to be invented or adapted from other areas of scientific computing.

Our group is continuingly developing computational approaches to respond to the needs of the data and problems. Structured population level ICA (factor analysis), singular value decompositions, population value decompositions, blocking, sampling, and streaming are just a few approaches that have been developed. This area is a continuous and highly promising area of active research for us, one that is highly integrated with our scientific goals and perspectives.