Rybicki Press algorithm


The Rybicki–Press algorithm is a fast algorithm for inverting a matrix whose entries are given by, where and where the are sorted in order. The key observation behind the Rybicki-Press observation is that the matrix inverse of such a matrix is always a tridiagonal matrix, and tridiagonal systems of equations can be solved efficiently. It is a computational optimization of a general set of statistical methods developed to determine whether two noisy, irregularly sampled data sets are, in fact, dimensionally shifted representations of the same underlying function. The most common use of the algorithm is in the detection of periodicity in astronomical observations, such as for detecting quasars.
The method has been extended to the Generalized Rybicki-Press algorithm for inverting matrices with entries of the form. The key observation in the Generalized Rybicki-Press algorithm is that the matrix is a semi-separable matrix with rank and so can be embedded into a larger band matrix, whose sparsity structure can be leveraged to reduce the computational complexity. As the matrix has a semi-separable rank of, the computational complexity of solving the linear system or of calculating the determinant of the matrix scales as, thereby making it attractive for large matrices.
The fact that matrix is a semi-separable matrix also forms the basis for library, which is a library for fast and scalable Gaussian process regression in one dimension with implementations in C++, Python, and Julia. The method also provides an algorithm for generating samples from a high-dimensional distribution. The method has found attractive applications in a wide range of fields, especially in astronomical data analysis.