Rice University logo
 
 

RandCirc Discussions

Please post your questions and comments below. Thank you.

2 Responses to “RandCirc Discussions”

  1. wy1 says:

    A partial random circulant matrix can be formed as [Downsample]*[Circulant Matrix], where in code both the downsample and circulant matrices are formed implicitly. Below are some types of circulant matrices and downsampling schemes.

    [Circulant Matrix] Types:

    1. Random 1st row: Gaussian, Bernoulli, …

    2. F*DF where F is a Fourier matrix and D is a diagonal matrix.
    2A: diag(D) is random
    2B: diag(D) has a uniform amplitude and random phases

    diag(D) can be conjugate symmetric (yielding real F*DF) or not (yielding complex F*DF).

    [Downsample] Types:

    1. First m rows
    2. Equally-spaced m rows
    3. Randomly picked m rows

    They can give different performances. See Rice CAAM TR10-01 for a comparison.

  2. wy1 says:

    If the circulant matrix is generated of Type 2 above and all the entries of diag(D) have amplitude 1, then the circulant ensember A = P*C satisfies A*A’ = I. So, the rows of A are orthogonal each other, and one should set

    opts.nonorth = 0

    to take the full advantage of YALL1.

Leave a Reply