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.
- How do I ensure invertibility for such a matrix or test it for invertibility to know if I need to regenerate?
- Is there a good way to calculate an inverse matrix to this?
- 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