MIDAPACK - MIcrowave Data Analysis PACKage  1.1b
Parallel software tools for high performance CMB DA analysis
 All Data Structures Files Functions Variables Typedefs Groups Pages
Introduction

The purpose of the Toeplitz algebra package of the MIDAPACK libary is to provide efficient massively, parallel routines, performing products of some special structured matrices and an arbitrary matrix. The special matrices considered here are related to Toeplitz matrices.

Toeplitz matrices are ubiquitous in the CMB data analysis as they describe correlation properties of stationary time-domain processes (usually instrumental noise). The matrices relevant are therefore symmetric and non-negative definite. They are also band-diagonal as the noise correlation length, i.e., the band-width in the parlance of Toeplitz algebra, is typically much shorter than length of the data. A useful and important generalization of those include :

  • symmetric, Toeplitz block-diagonal matrices - describing piece-wise stationary processes, each of the blocks is in turn a symmetric, band-diagonal Toeplitz matrix, which can be different for the different blocks. The performance of the routines included in the package is expected to be the best, whenever the bandwidth of each block is much smaller than its size.
  • symmetric, Toeplitz block-diagonal, gappy matrices - which are just symmetric, Toeplitz block-diagonal matrices but with some of their rows (and corresponding columns) removed. Such matrices describe piece-wise stationary processes, which have some short sequences of samples, referred hereafter as gaps, removed. The gaps are common in the analysis of any real CMB data sets and can arise due to cosmic rays hits or some short-term instrumental transients. If a gap happens to be longer than the matrix correlation length accounting on it, i.e., removing relevant rows and columns of the initial matrix, will result in a new block of the matrix, which remains symmetric, block-diagonal.

The library provides distributed (MPI) and sequential/multithreaded (openMP) routines, which are based on common low level sequential/openMP functions. The Fourier Transforms are performed with help of the FFTW library http://www.fftw.org/.

The overall structure of the library is as follows:

diag_toeplitz_structure.png
Overall structure of the Toeplitz package of the MIDAPACK library.