Documentation for the Random Matrix Library

Similar documents
Applications and fundamental results on random Vandermon

Free deconvolution for signal processing applications

Random Matrices: Beyond Wigner and Marchenko-Pastur Laws

Random Matrix Theory Lecture 3 Free Probability Theory. Symeon Chatzinotas March 4, 2013 Luxembourg

Channel capacity estimation using free probability theory

and A I L j T O S O L O LOWELL, MICHIGAN, THURSDAY, AUG. 1, 1935

Distribution of Eigenvalues of Weighted, Structured Matrix Ensembles

Random Matrix Theory Lecture 1 Introduction, Ensembles and Basic Laws. Symeon Chatzinotas February 11, 2013 Luxembourg

Free Probability, Sample Covariance Matrices and Stochastic Eigen-Inference

Regression #4: Properties of OLS Estimator (Part 2)

Free Probability Theory and Random Matrices. Roland Speicher Queen s University Kingston, Canada

Non white sample covariance matrices.

Subquadratic Space Complexity Multiplication over Binary Fields with Dickson Polynomial Representation

arxiv:math/ v1 [math.pr] 12 Feb 2007

Painlevé Representations for Distribution Functions for Next-Largest, Next-Next-Largest, etc., Eigenvalues of GOE, GUE and GSE

On the distinguishability of random quantum states

The norm of polynomials in large random matrices

Selfadjoint Polynomials in Independent Random Matrices. Roland Speicher Universität des Saarlandes Saarbrücken

Supelec Randomness in Wireless Networks: how to deal with it?

Operator norm convergence for sequence of matrices and application to QIT

Lessons in Estimation Theory for Signal Processing, Communications, and Control

Two-dimensional Random Vectors

Freeness and the Transpose

Chapter 1 Statistical Reasoning Why statistics? Section 1.1 Basics of Probability Theory

From random matrices to free groups, through non-crossing partitions. Michael Anshelevich

Free Probability Theory and Random Matrices. Roland Speicher Queen s University Kingston, Canada

Review of Probability

Random matrices: Distribution of the least singular value (via Property Testing)

FREE PROBABILITY THEORY AND RANDOM MATRICES

Adaptive Filtering. Squares. Alexander D. Poularikas. Fundamentals of. Least Mean. with MATLABR. University of Alabama, Huntsville, AL.

Open Issues on the Statistical Spectrum Characterization of Random Vandermonde Matrices

Kinetic Theory 1 / Probabilities

Joint ] X 5) P[ 6) P[ (, ) = y 2. x 1. , y. , ( x, y ) 2, (

Review of some mathematical tools

Stat260: Bayesian Modeling and Inference Lecture Date: February 10th, Jeffreys priors. exp 1 ) p 2

Linear Algebra review Powers of a diagonalizable matrix Spectral decomposition

Free Probability Theory and Non-crossing Partitions. Roland Speicher Queen s University Kingston, Canada

On the Optimum Asymptotic Multiuser Efficiency of Randomly Spread CDMA

In manycomputationaleconomicapplications, one must compute thede nite n

Discretization of SDEs: Euler Methods and Beyond

Ergodic and Outage Capacity of Narrowband MIMO Gaussian Channels

arxiv: v1 [math-ph] 19 Oct 2018

L3: Review of linear algebra and MATLAB

Vector spaces. DS-GA 1013 / MATH-GA 2824 Optimization-based Data Analysis.

1: PROBABILITY REVIEW

Multiple Antennas for MIMO Communications - Basic Theory

Parallel Additive Gaussian Channels

Eigenvalues and Singular Values of Random Matrices: A Tutorial Introduction

Math 1314 Week #14 Notes

Applications of Random Matrix Theory in Wireless Underwater Communication

Truncations of Haar distributed matrices and bivariate Brownian bridge

Decomposable and Directed Graphical Gaussian Models

Gaussian Random Variables Why we Care

Exponential tail inequalities for eigenvalues of random matrices

Fluctuations of Random Matrices and Second Order Freeness

the robot in its current estimated position and orientation (also include a point at the reference point of the robot)

Linear Algebra review Powers of a diagonalizable matrix Spectral decomposition

Introduction to Matrix Algebra and the Multivariate Normal Distribution

11 a 12 a 21 a 11 a 22 a 12 a 21. (C.11) A = The determinant of a product of two matrices is given by AB = A B 1 1 = (C.13) and similarly.

The concentration of a drug in blood. Exponential decay. Different realizations. Exponential decay with noise. dc(t) dt.

Mathematical methods in communication June 16th, Lecture 12

Minimization of Quadratic Forms in Wireless Communications

EEL 5544 Noise in Linear Systems Lecture 30. X (s) = E [ e sx] f X (x)e sx dx. Moments can be found from the Laplace transform as

3. Array and Matrix Operations

. a m1 a mn. a 1 a 2 a = a n

A note on a Marčenko-Pastur type theorem for time series. Jianfeng. Yao

A Generalization of Wigner s Law

Toeplitz matrices. Niranjan U N. May 12, NITK, Surathkal. Definition Toeplitz theory Computational aspects References

Multivariate Gaussian Analysis

User Guide for Hermir version 0.9: Toolbox for Synthesis of Multivariate Stationary Gaussian and non-gaussian Series

Second Order Freeness and Random Orthogonal Matrices

On corrections of classical multivariate tests for high-dimensional data. Jian-feng. Yao Université de Rennes 1, IRMAR

( nonlinear constraints)

x. Figure 1: Examples of univariate Gaussian pdfs N (x; µ, σ 2 ).

Valerio Cappellini. References

DISTRIBUTION OF EIGENVALUES OF REAL SYMMETRIC PALINDROMIC TOEPLITZ MATRICES AND CIRCULANT MATRICES

Density Modeling and Clustering Using Dirichlet Diffusion Trees

Kinetic Theory 1 / Probabilities

Stochastic Optimization One-stage problem

Gaussian Models (9/9/13)

14 - Gaussian Stochastic Processes

Recap. Probability, stochastic processes, Markov chains. ELEC-C7210 Modeling and analysis of communication networks

Lecture 2. Spring Quarter Statistical Optics. Lecture 2. Characteristic Functions. Transformation of RVs. Sums of RVs

Example 1 describes the results from analyzing these data for three groups and two variables contained in test file manova1.tf3.

TP computing lab - Integrating the 1D stationary Schrödinger eq

Eigenvalue Statistics for Toeplitz and Circulant Ensembles

Statistical methods. Mean value and standard deviations Standard statistical distributions Linear systems Matrix algebra

Large sample covariance matrices and the T 2 statistic

Lecture 1: Systems of linear equations and their solutions

Lecture 5 Channel Coding over Continuous Channels

Concentration Inequalities for Random Matrices

Math 110 HW 3 solutions

Understanding the Differences between LS Algorithms and Sequential Filters

Degrees of Freedom Region of the Gaussian MIMO Broadcast Channel with Common and Private Messages

Random Matrix: From Wigner to Quantum Chaos

Lectures 6 7 : Marchenko-Pastur Law

PDEs in Image Processing, Tutorials

Covariance function estimation in Gaussian process regression

CHAPTER 8: Matrices and Determinants

Free Probability Theory and Random Matrices

Transcription:

Documentation for the Random Matrix Library Øyvind Ryan September 25, 2009 This is the official documentation for the Random Matrix Library. The library contains functionality for computing the asymptotic and exact moments for many types of random matrices, such as Gaussian, Vandermonde, Hankel, Toeplitz, and Wishart matrices. The library also contains functionality for summing or multiplying such matrices with deterministic matrices, or similarly combining the matrices with other matrices of the same type, independent from it. Second order results are also included where applicable, i.e. expressions for covariances of traces are supported. Also, channel capacity estimation involving the mentioned matrices is supported. In the following, many formulas span across several lines, containing many terms. In such cases, one term is written for each line in order to avoid overflow on each line. Authors should change the formulas manually so that the full page width is utilized. The functions described here can be naturally split into several classes: Functions which generate latex code for the formulas in question. All these functions have names starting with latex. Functions which perfom numeric computations of the moments. All these functions have names starting with numeric. Some of the numeric routines perform convolution, some perform deconvolution. Those performing deconvolution end with deconv. The library also contains many functions not described here, but necessary in executing the functions described here. Only the functions described in this document should be considered public. 1 Moments involving finite Gaussian matrices 1.1 Product of a deterministic matrix and a Wishart matrix 1

thisfile=fopen( exfinitemultwishart.tex, w ); latexfinitemultwishart(4,thisfile); Produces the moments M p = E [ tr (( D 1 N XXH) p)] from the moments Dp = tr (D p ), where X is n N complex, standard, Gaussian, and D is n n. The output is stored in the file exfinitemultwishart.tex, and looks like this: M 1 = D 1 M 2 = D 2 M 3 = M 4 = +cd1 2 ( 1 + 1 N 2 +3cD 2 D 1 +c 2 D1 3 ( 1 + 5 N ( 2 + 2c + + ) D 3 ) D 4 c ) N 2 ( 4c + 4c N 2 D 2 2 ) D 3 D 1 +6c 2 D 2 D 2 1 +c 3 D 4 1 Here, c = n N. The corresponding numeric function is moms=numericfinitemultwishart(dmoms,n,n) where dmoms are the moments D p, moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericfinitemultwishartdeconv(moms,n,n) 1.2 Product of a deterministic matrix and many independent Wishart matrices The numeric function moms=numericfinitemultwishartn(dmoms,n,nvector) computes the moments [ M p = E tr (( D 1 N 1 X 1 X H 1 1 N 2 X 2 X H 2 ) p )] 1 X k X H k N k 2

from the moments D p = tr(d p ) when D is n n and determinsitic, and X 1, X 2, X 3,..., X k are independent complex standard Gaussian n N 1, n,..., n N k, and where Nvector= [N 1 N 2 N 3 ], and k is the length of Nvector. 1.3 Product of a square deterministic matrix and a selfadjoint Gaussian matrix thisfile=fopen( exfinitemultgaussiansa.tex, w ); latexfinitemultgaussiansa(4,thisfile); Produces the moments M p [ (( = E tr 1 N DX ) p )] from the moments D p = tr (D p ), where X is N N selfadjoint, standard, Gaussian, and D is N N. The output is stored in the file exfinitemultgaussiansa.tex, and looks like 3

this: M 2 = 1 2 D2 1 M 4 = 1 4 N 2 D 4 + 1 2 D 2D 2 1 M 6 = 1 8 N 2 D 2 3 + 3 8 N 2 D 4 D 2 + 3 4 N 2 D 5 D 1 + 3 8 D2 2D 2 1 + 1 4 D 3D 3 1 M 8 = 21 16 N 4 D 8 + 1 4 N 2 D 2 3D 2 + 3 8 N 2 D 4 D 2 2 +N 2 D 4 D 3 D 1 + 3 2 N 2 D 5 D 2 D 1 + 5 4 N 2 D 6 D 2 1 + 1 4 D3 2D 2 1 + 1 2 D 3D 2 D 3 1 + 1 8 D 4D 4 1 The corresponding numeric function is moms=numericfinitemultgaussiansa(dmoms,n) where dmoms are the moments D p, moms are the moments M p. Deconvolution is impossible in this case (unless it is assumed also that the odd moments of D vanish), so there is no corresponding function for it. 4

1.4 Product of a square deterministic matrix and many independent selfadjoint Gaussian matrices The numeric function moms=numericfinitemultgaussiansan(dmoms,n,k) computes the moments M p = E [ (( tr D 1 1 X 1 X 2 1 ) p )] N N N X k from the moments D p = tr(d p ) when D is N N and determinsitic, and X 1, X 2, X 3,..., X k are independent selfadjoint standard Gaussian N N matrices. 1.5 Sum of a deterministic matrix and a Gaussian matrix thisfile=fopen( exfiniteaddgaussian.tex, w ); latexfiniteaddgaussian(4,thisfile); Produces the moments M p = E [ tr (( 1 N (D + X)(D + X)H) p)] from the moments D p = tr (( 1 N DDH) p), where X is n N complex, standard, Gaussian, and D is n N The output is stored in the file exfiniteaddgaussian.tex, and 5

looks like this: M 1 = D 1 +1 M 2 = D 2 + (2 + 2c) D 1 + (1 + c) M 3 = D 3 + (3 + 3c) D 2 +3cD1 2 ( + 3 + 9c + 3c 2 + 3 ) N ( 2 + 1 + 3c + c 2 + 1 ) N 2 M 4 = D 4 + (4 + 4c) D 3 D 1 +8cD 2 D ( 1 + 6 + 16c + 6c 2 + 16 ) N 2 D 2 + ( 14c + 14c 2) D1 2 ( ) + 4 + 24c + 24c 2 + 4c 3 20 + 20c + N 2 D 1 ( + 1 + 6c + 6c 2 + c 3 + 5 + 5c ) N 2 Here, c = n N. The corresponding numeric function is moms=numericfiniteaddgaussian(dmoms,n,n,sigma) where dmoms are the moments D p, moms are the moments M p. The parameter sigma represents noise variance, and is optional. If present, the moments of M p = E [ tr (( 1 N (D + σx)(d + σx)h) p)] are computed. If sigma is not present, sigma=1 as above is assumed. The corresponding numeric function for performing deconvolution is dmoms=numericfiniteaddgaussiandeconv(moms,n,n,sigma) sigma is optional in the same way as for numeric convolution. Note that the noise variance is dropped in the latex expression above, since it can be applied outside the actual deconvolution step through an additional rescaling of the moments. 6

1.6 Sum of a square deterministic matrix and a selfadjoint Gaussian matrix thisfile=fopen( exfiniteaddgaussiansa.tex, w ); latexfiniteaddgaussiansa(4,thisfile); [ (( ) p )] 1 Produces the moments M p = E tr N (D + X) from the moments D p = (( ) p ) 1 tr N D, where X is N N selfadjoint, standard, Gaussian, and D is N N and deterministic. The output is stored in the file exfiniteaddgaussiansa.tex, and looks like this: M 1 = D 1 M 2 = D 2 + 1 2 M 3 = D 3 + 3 2 D 1 M 4 = D 4 +2D 2 +D 2 1 + ( 1 2 + 1 ) 4 N 2 The corresponding numeric function is moms=numericfiniteaddgaussiansa(dmoms,n) where dmoms are the moments D p, moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericfiniteaddgaussiandeconvsa(moms,n) 1.7 The combination 1 N X 1 DX 2 + X of independent Gaussian matrices thisfile=fopen( exfiniteaddgaussian3.tex, w ); latexfiniteaddgaussian3(4,thisfile); 7

Produces the moments [ (( 1 M p = E tr M ( 1 X 1 DX 2 + X)( 1 ) p )] X 1 DX 2 + X) H N N from the moments D p = tr (( DD H) p), where X is N M complex, standard, Gaussian, X 1 is N K complex, standard, Gaussian, X 2 is K M complex, standard, Gaussian, X, X 1, X 2 are independent, and D is K K and deterministic. The output is stored in the file exfiniteaddgaussian3.tex, and looks like this: M 1 = N 1 KD 1 +1 M 2 = ( N 2 M 1 K + N 1 K ) D 2 + ( N 2 K 2 + N 1 M 1 K 2) D 2 1 + ( 2N 1 K + 2M 1 K ) D 1 + ( 1 + NM 1) M 3 = ( 3N 3 M 2 K + N 3 K + 6N 2 M 1 K + N 1 M 2 K + N 1 K ) D 3 + ( 6N 3 M 1 K 2 + 6N 2 M 2 K 2 + 3N 2 K 2 + 3N 1 M 1 K 2) D 2 D 1 + ( N 3 M 2 K 3 + N 3 K 3 + 3N 2 M 1 K 3 + N 1 M 2 K 3) D 3 1 + ( 6N 2 M 1 K + 6N 1 M 2 K + 3N 1 K + 3M 1 K ) D 2 + ( 3N 2 M 2 K 2 + 3N 2 K 2 + 9N 1 M 1 K 2 + 3M 2 K 2) D 2 1 + ( 3N 1 M 2 K + 3N 1 K + 9M 1 K + 3NM 2 K ) D 1 + ( M 2 + 1 + 3NM 1 + N 2 M 2) M 4 = ( 20N 4 M 3 K + 16N 4 M 1 K + 61N 3 M 2 K + 5N 3 K + 16N 2 M 3 K + 20N 2 M 1 K + 5N 1 + ( 17N 4 M 2 K 2 + N 4 K 2 + 17N 3 M 3 K 2 + 16N 3 M 1 K 2 + 16N 2 M 2 K 2 + 2N 2 K 2 + N 1 + ( 44N 4 M 2 K 2 + 4N 4 K 2 + 44N 3 M 3 K 2 + 44N 3 M 1 K 2 + 44N 2 M 2 K 2 + 4N 2 K 2 + 4N + ( 16N 4 M 3 K 3 + 20N 4 M 1 K 3 + 60N 3 M 2 K 3 + 6N 3 K 3 + 20N 2 M 3 K 3 + 16N 2 M 1 K 3 + ( 5N 4 M 2 K 4 + N 4 K 4 + 5N 3 M 3 K 4 + 6N 3 M 1 K 4 + 6N 2 M 2 K 4 + N 1 M 3 K 4) D 4 1 + ( 44N 3 M 2 K + 4N 3 K + 44N 2 M 3 K + 44N 2 M 1 K + 44N 1 M 2 K + 4N 1 K + 4M 3 K + + ( 32N 3 M 3 K 2 + 40N 3 M 1 K 2 + 120N 2 M 2 K 2 + 12N 2 K 2 + 40N 1 M 3 K 2 + 32N 1 M 1 K + ( 20N 3 M 2 K 3 + 4N 3 K 3 + 20N 2 M 3 K 3 + 24N 2 M 1 K 3 + 24N 1 M 2 K 3 + 4M 3 K 3) D 3 1 + ( 16N 2 M 3 K + 20N 2 M 1 K + 60N 1 M 2 K + 6N 1 K + 20M 3 K + 16M 1 K + 6NM 2 K ) D + ( 30N 2 M 2 K 2 + 6N 2 K 2 + 30N 1 M 3 K 2 + 36N 1 M 1 K 2 + 36M 2 K 2 + 6NM 3 K 2) D 2 1 + ( 20N 1 M 2 K + 4N 1 K + 20M 3 K + 24M 1 K + 24NM 2 K + 4N 2 M 3 K ) D 1 + ( 5M 2 + 1 + 5NM 3 + 6NM 1 + 6N 2 M 2 + N 3 M 3) The corresponding numeric function is moms=numericfiniteaddgaussian3(dmoms,k,m,n,sigma) 8

where dmoms are the moments D p, moms are the moments M p. The parameter sigma represents noise variance, and is optional. If present, the moments of [ (( 1 M p = E tr M ( 1 X 1 DX 2 + σx)( 1 ) p )] X 1 DX 2 + σx) H N N are computed. If sigma is not present, sigma=1 as above is assumed. The corresponding numeric function for performing deconvolution is dmoms=numericfiniteaddgaussian3deconv(moms,k,m,n,sigma) sigma is optional in the same way as for numeric convolution. Note that the noise variance is dropped in the latex expression above, since it can be applied outside the actual deconvolution step through an additional rescaling of the moments. 2 The moments of many types of random matrices thisfile=fopen( exmoments.tex, w ); latexmoments(4, V,thisfile); Produces the limit moments M p = c lim N tr (( V H V ) p) when V is an N L L Vandermonde matrix with uniform phase distribution and c = lim N N. The output is stored in the file exmoments.tex, and looks like this: The corresponding numeric routine is M 1 = 1 M 2 = 2 M 3 = 5 M 4 = 44 3 moms=numericmoments(nummoments, V ) where moms are the moments M p. This function can also compute the moments of many other types of random matrices. Simply replace V with H : Hankel matrices T : Toeplitz matrices VV : Product of two independent Vandermonde matrices with uniform phase distribution MP : The Mar chenko Pastur law. 9

3 The second order moments of random matrices thisfile=fopen( ex2moments.tex, w ); latex2moments(6, V,thisfile); ( Produces the second order limit moments M i,j = c lim N LC i,j V H V ) when V is an N L Vandermonde matrix with uniform phase distribution and c = L lim N N. The output is stored in the file ex2moments.tex, and looks like this: M 2,2 = 4 3 M 2,3 = 8 The corresponding numeric routine is M 2,4 = 1213 30 M 3,3 = 51 moms=numeric2moments(nummoments, V ) where moms are the moments M p. Currently, uniform Vandermonde is the only matrix type which supports second order moments. 4 Moments involving Vandermonde matrices 4.1 Product of a deterministic matrix and a Vandermonde matrix with uniform phase distribution thisfile=fopen( exmultvanduniform.tex, w ); latexmultvanduniform(4,thisfile); Prouces the limit moments M p = c lim N tr (( V H VD ) p) from the moments D p = ctr (D p ) when V is an N L Vandermonde matrix with uniform phase L distribution, D is L L and c = lim N N. The output is stored in the file 10

exmultvanduniform.tex, and looks like this: M 1 = D 1 M 2 = D 2 +D1 2 M 3 = D 3 +3D 2 D 1 +D 3 1 M 4 = D 4 The corresponding numeric routine is moms=numericmultvanduniform(dmoms) + 8 3 D2 2 +4D 3 D 1 +6D 2 D 2 1 +D 4 1 where dmoms are the moments D p, moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericmultvanduniformdeconv(moms) 4.2 Sum of a deterministic matrix and a Vandermonde matrix with uniform phase distribution thisfile=fopen( exaddvanduniform.tex, w ); latexaddvanduniform(4,thisfile); Produces the limit moments M p = c lim N tr (( V H V + D ) p) from the moments D p = tr (( 1 N DDH) p) when V is an N L Vandermonde matrix with L uniform phase distribution, D is L L and c = lim N The output is N. 11

stored in the file exaddvanduniform.tex, and looks like this: The corresponding numeric routine is M 1 = D 1 +1 moms=numericaddvanduniform(dmoms) M 2 = D 2 +2D 1 +2 M 3 = D 3 +3D 2 +6D 1 +5 M 4 = D 4 +4D 3 +10D 2 +2D 2 1 +20D 1 where dmoms are the moments D p, moms are the moments M p. The corresponding numeric function for performing deconvolution is + 44 3 dmoms=numericaddvanduniformdeconv(moms) 4.3 Product of a deterministic matrix and a Vandermonde matrix with general phase distribution thisfile=fopen( exmultvand.tex, w ); latexmultvand(4,thisfile); Prouces the limit moments M p = c lim N tr (( V H VD ) p) from the moments D p = ctr (D p ) when V is an N L Vandermonde matrix with general phase L distribution, D is L L and c = lim N N. The output is stored in the file 12

exmultvand.tex, and looks like this: M 1 = D 1 M 2 = D 2 D1 2 +D1V 2 2 M 3 = D 3 3D 2 D 1 M 4 = D 4 +3D 2 D 1 V 2 +2D 3 1 3D 3 1V 2 +D 3 1V 3 8 3 D2 2 + 8 3 D2 2V 2 4D 3 D 1 +4D 3 D 1 V 2 +12D 2 D1 2 18D 2 D1V 2 2 +6D 2 D1V 2 3 19 3 D4 1 The corresponding numeric routine is moms=numericmultvand(vmoms,dmoms) + 34 3 D4 1V 2 6D 4 1V 3 +D 4 1V 4 where vmoms are the moments V p, dmoms are the moments D p, and moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericmultvanddeconv(vmoms,moms) Note that this function performs deconvolution in terms of dmoms. It is possible to rewrite this function so that it instead performs deconvolution in terms of vmoms. 13

4.4 Sum of a deterministic matrix and a Vandermonde matrix with general phase distribution thisfile=fopen( exaddvand.tex, w ); latexaddvand(4,thisfile); Produces the limit moments M p = c lim N tr (( V H V + D ) p) from the moments D p = tr (( 1 N DDH) p) when V is an N L Vandermonde matrix with general phase distribution with limit moments V p, D is L L and c = lim N N. L The output is stored in the file exaddvand.tex, and looks like this: M 1 = D 1 +1 The corresponding numeric routine is moms=numericaddvand(vmoms,dmoms) M 2 = D 2 +2D 1 +V 2 M 3 = D 3 +3D 2 +3D 1 V 2 +V 3 M 4 = D 4 +4D 3 +2D 2 +4D 2 V 2 2D 2 1 +2D 2 1V 2 +4D 1 V 3 +V 4 where vmoms are the moments V p, dmoms are the moments D p, and moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericaddvanddeconv(vmoms,moms) Note that this function performs deconvolution in terms of dmoms. It is possible to rewrite this function so that it instead performs deconvolution in terms of vmoms. 14

4.5 Product of two independent Vandermonde matrices with equal phase distribution thisfile=fopen( exindmom.tex, w ); latexindmom(4,thisfile); Produces the limit moments M p = c lim N tr (( ) V1 H V 2 V2 H p ) V 1 when V is an N L Vandermonde matrix with general phase distribution with limit moments L V p, and c = lim N N. The output is stored in the file exindmom.tex, and looks like this: M 1 = 1 +V 2 M 2 = 3 +6V 2 4V 3 +V 4 M 3 = 58 The corresponding numeric routine is moms=numericindmom(vmoms,dmoms) +123V 2 96V 3 +39V 4 9V 5 +V 6 M 4 = 21532 5 + 410726 V 2 45 321191 V 3 45 + 44516 15 V 4 772V 5 +136V 6 16V 7 +V 8 where vmoms are the moments V p. It is not possible to perform deconvolution in this case. 15

4.6 Product of two independent Vandermonde matrices with general phase distributions The command moms=numericmult2vand(vmoms1,vmoms2,c1,c2) produces the moments from the moments M p = lim N tr ( (V H 1 V 1 V H 2 V 2 ) p ) ( (V V p (1) = lim tr ) H p ) 1 V 1 N ( (V V p (2) = lim tr ) H p ) 2 V 2 N V 1 is assumed N 1 L with lim N lim N L N 1 (which are vmoms1), (which are vmoms2). = c 1, V 2 is assumed N 2 L with L N 2 = c 2. The lengths of vmoms1 and vmoms2 should be equal, and the number of output moments will be equal to this length. This method only exists as a numeric routine. The corresponding numeric function for performing deconvolution is vmoms2=numericmult2vanddeconv(vmoms1,moms) 4.7 Sum of two independent Vandermonde matrices with general phase distributions The command moms=numericadd2vand(vmoms1,vmoms2) produces the moments from the moments M p = lim N tr ( (V H 1 V 1 + V H 2 V 2 ) p ) ( (V V p (1) = lim tr ) H p ) 1 V 1 N ( (V V p (2) = lim tr ) H p ) 2 V 2 N V 1 is assumed N 1 L with lim N lim N L N 1 (which are vmoms1), (which are vmoms2). = c 1, V 2 is assumed N 2 L with L N 2 = c 2. The lengths of vmoms1 and vmoms2 should be equal, and the number of output moments will be equal to this length. This method only exists as a numeric routine. The corresponding numeric function for performing deconvolution is vmoms2=numericadd2vanddeconv(vmoms1,moms) 16

4.8 The second order moments of a product of a deterministic matrix and a Vandermonde matrix with uniform phase distribution thisfile=fopen( ex2multvanduniform.tex, w ); latex2multvanduniform(6,thisfile); ( Produces the second order limit moments M p = c lim N LC i,j D(N)V H V ) from the limit moments D p = c lim N tr (D p ) when V is an N L Vandermonde matrix with uniform phase distribution, D is L L and c = lim N N. L The output is stored in the file ex2multvanduniform.tex, and looks like this: M 2,2 = 4 3 D2 2 M 2,3 = 4D 3 D 2 +4D2D 2 1 M 2,4 = 113 30 D2 3 + 16 3 D 4D 2 The corresponding numeric routine is + 22 3 D3 2 +16D 3 D 2 D 1 +8D 2 2D 2 1 M 3,3 = 6D3 2 +6D 4 D 2 moms=numeric2multvanduniform(dmoms) +3D 3 2 +24D 3 D 2 D 1 +12D 2 2D 2 1 where dmoms are the moments D p, moms are the moments M p. 5 Moments involving free random variables Note that the following formulas can be obtained from the finite Gaussian/Wishart counterparts by dropping the trailing O(N 2 )-terms. When these terms are dropped, one has a numerically more efficient implementation used in the following. The following form for the latex output is therefore rarely used in computations. 17

5.1 Product of a deterministic matrix and the Mar chenko Pastur law thisfile=fopen( exmultmp.tex, w ); latexmultmp(4,thisfile); Produces the limit moments M p = c lim N E [ tr (( D 1 N XXH) p)] from the limit moments c lim N D p = tr (D p n ), where c = lim N N, D is n n and X is n N complex, standard, Gaussian. The output is stored in the file exmultmp.tex, and looks like this: M 1 = D 1 The corresponding numeric routine is moms=numericmultmp(dmoms) M 2 = D 2 +D1 2 M 3 = D 3 +3D 2 D 1 +D 3 1 M 4 = D 4 +2D2 2 +4D 3 D 1 +6D 2 D 2 1 +D 4 1 where dmoms are the moments D p, moms are the moments M p. The corresponding numeric function for performing deconvolution is dmoms=numericmultmpdeconv(moms) Note that this operation is nothing but the moment-cumulant formula. 5.2 Rectangular free convolution thisfile=fopen( exaddgaussian.tex, w ); latexaddgaussian(4,thisfile); Produces the limit moments [ tr M p = c lim N E (( 1 (D + X)(D + X)H N 18 ) p )]

from the limit moments c lim N D p = tr ( ( 1 N DD)p), where c = lim N n N, D is n N and X is n N complex, standard, Gaussian. The output is stored in the file exaddgaussian.tex, and looks like this: M 1 = D 1 +1 M 2 = D 2 + (2 + 2c) D 1 + (1 + c) M 3 = D 3 + (3 + 3c) D 2 +3cD 2 1 + ( 3 + 9c + 3c 2) D 1 + ( 1 + 3c + c 2) M 4 = D 4 + (4 + 4c) D 3 +8cD 2 D 1 + ( 6 + 16c + 6c 2) D 2 + ( 14c + 14c 2) D 2 1 + ( 4 + 24c + 24c 2 + 4c 3) D 1 + ( 1 + 6c + 6c 2 + c 3) Note that this operation actually uses a rewriting to a product of a deterministic matrix and the Mar chenko Pastur law. The corresponding numeric routine is moms=numericaddgaussian(dmoms,c,sigma) where dmoms are the moments D p, moms are the moments M p. The parameter sigma represents noise variance, and is optional. If present, the moments of [ (( ) p )] 1 M p = c lim E tr (D + σx)(d + σx)h N N are computed. If sigma is not present, sigma=1 as above is assumed. The corresponding numeric function for performing deconvolution is dmoms=numericaddgaussiandeconv(moms,c,sigma) sigma is optional in the same way as for numeric convolution. Note that the noise variance is dropped in the latex expression above, since it can be applied outside the actual deconvolution step through an additional rescaling of the moments. 19

Index latex2moments, 10 latex2multvanduniform, 17 latexaddgaussian, 18 latexaddvand, 14 latexaddvanduniform, 11 latexfiniteaddgaussian, 5 latexfiniteaddgaussian3, 7 latexfiniteaddgaussiansa, 7 latexfinitemultgaussiansa, 3 latexfinitemultwishart, 1 latexindmom, 15 latexmoments, 9 latexmultmp, 18 latexmultvand, 12 latexmultvanduniform, 10 numericmultvand, 13 numericmultvanddeconv, 13 numericmultvanduniform, 11 numericmultvanduniformdeconv, 11 numeric2moments, 10 numeric2multvanduniform, 17 numericadd2vand, 16 numericadd2vanddeconv, 16 numericaddgaussian, 19 numericaddgaussiandeconv, 19 numericaddvand, 14 numericaddvanddeconv, 14 numericaddvanduniform, 12 numericaddvanduniformdeconv, 12 numericfiniteaddgaussian, 6 numericfiniteaddgaussian3, 8 numericfiniteaddgaussian3deconv, 9 numericfiniteaddgaussiandeconv, 6 numericfiniteaddgaussiandeconvsa, 7 numericfiniteaddgaussiansa, 7 numericfinitemultgaussiansa, 4 numericfinitemultgaussiansan, 5 numericfinitemultwishart, 2 numericfinitemultwishartdeconv, 2 numericfinitemultwishartn, 2 numericindmom, 15 numericmoments, 9 numericmult2vand, 16 numericmult2vanddeconv, 16 numericmultmp, 18 numericmultmpdeconv, 18 20