Invertibility, inverse, and line weight of big circulant matrices

205 Views Asked by At

I am generating a random square sparse binary circulant matrix, defined by its first row. The length of the matrix is 9857 bits, and each line contains 71 ones, the rest are zeroes.

I need to ensure that the generated matrix is invertible, because I need to invert it later.

  1. How do I ensure invertibility for such a matrix or test it for invertibility to know if I need to regenerate?
  2. Is there a good way to calculate an inverse matrix to this?
  3. Is there any way to calculate/predict the line weight of this inverse matrix? Is there a way to calculate/predict the line weight of the result of multiplication of such matrices?

I am not really good at this, if you can go basic on me I'll be grateful. I'll do this in MatLab at first. I would like to port it to C later, but if I can't, MatLab will be fine. Thanks